JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

序列與動力學:RNN、CTC 與 LFADS

當意圖是一段軌跡而非一張快照——手寫與腦到文字 BCI 背後的循環解碼器、連結時序分類,以及 LFADS 對潛在神經動力學的推論。

為何要對序列建模

運動與語音意圖隨時間展開,且其歷史至關重要。逐視窗的分類器把每個瞬間獨立處理,因而丟棄了這段歷史。相對地,循環解碼器帶著一個隱藏狀態 h_t,用以總結至今所見的一切,並在每個新的神經活動取樣到來時加以更新。

h_t = \phi\!\left(W_h\,h_{t-1} + W_x\,x_t + b\right), \qquad \hat y_t = g\!\left(W_y\,h_t\right)

此遞迴關係:帶閘門的變體(LSTM/GRU)以學習得到的閘門取代 phi,使梯度在長序列上不致消失。

循環網路帶著一份不斷更新的記憶 h_t,每一步都用前一刻的記憶與新輸入來更新它,再讀出一個預測。帶閘門的版本(LSTM/GRU)加上可學習的閥門,使這份記憶能在長距離上維持而不讓訓練訊號消散。

h_t
隱藏狀態——網路在第 t 步的即時記憶。
x_t,\ \hat y_t
t 步的輸入與輸出。
W_h,\ W_x,\ W_y
分別轉換記憶、輸入與讀出的權重矩陣。
\phi
壓縮用的非線性函數;在 LSTM/GRU 中由學到的閘門取代。

逐字讀一個句子時,h_t 就是你到目前為止對這句話不斷更新的理解——參見 RNN 解碼器

這裡有一個值得細品的深層對稱:完全相同的循環方程式,既用來建模運動皮質如何產生動作,也用來解碼它。大腦的動力系統觀點與解碼器的序列模型觀點,是同一段數學的兩種讀法。

手寫與腦到文字 BCI

循環解碼最鮮明的勝利是手寫 BCI:受試者嘗試手寫字母,一個 RNN 讀取皮質內活動並輸出一串字元機率,打字速率可逼近自然手寫的水準。腦到文字與語音解碼器把同一套配方延伸到整個單詞。

但這裡有個標註問題。神經時間序列很長,取樣率或許是 100 Hz;而標籤——文字——很短且未分段。你並不知道哪些時間步產生了哪個字元。逐幀監督需要一份你並不具備的人工對齊。

CTC:無需對齊的標註

連結時序分類(CTC)化解了對齊問題。它加入一個特別的空白符號,定義一個移除空白與重複的坍縮映射 \mathcal{B},然後把一個目標的機率定義為對所有坍縮到它的逐幀路徑的加總。

p(y \mid X) = \sum_{\pi \in \mathcal{B}^{-1}(y)} \prod_{t=1}^{T} p(\pi_t \mid X), \qquad \mathcal{L}_{\text{CTC}} = -\log p(y \mid X)

對所有對齊的加總,可由前向–後向動態規劃高效計算;你完全不需要人工對齊。

當你知道目標序列(例如那些字母)卻不知道每個字母對應到哪個時間點時,CTC 以「把所有可能對齊的機率相加」來為一份逐字稿評分。你完全不必人工標注時間對齊。

p(y \mid X)
給定輸入 X 時,目標標籤序列 y 的機率。
\pi \in \mathcal{B}^{-1}(y)
一種逐框對齊;此集合是所有會塌縮成 y 的對齊。
\prod_{t=1}^{T} p(\pi_t \mid X)
單一對齊的機率,即對各時間步的連乘。
\mathcal{L}_{\text{CTC}}
訓練損失,即目標機率的負對數。

目標「cat」可以被輸出成「c-a-a-t」「cc-a-t-」等許多形式;CTC 把它們全部加總起來。

CTC 在解碼時與語言模型天生契合:類聲學的神經後驗提出字元,語言模型再把它們重塑為合理的單詞,大幅降低錯誤率。同一套架構也支撐著語音軌道所涵蓋的現代語音 BCI 前沿。

LFADS:推論潛在動力學

LFADS(透過動力系統的潛在因子分析)採取生成式觀點:群體放電是由一個低維非線性動力系統生成的。它是一個序列變分自編碼器——編碼器 RNN 推論初始條件 g_0(以及任何推論得到的輸入),生成器 RNN 展開一個潛在狀態,再由 Poisson 發射把該狀態轉成放電率。

g_t = \mathrm{RNN}(g_{t-1}, u_t), \quad \lambda_t = \exp(W g_t), \quad x_t \sim \mathrm{Poisson}(\lambda_t); \qquad \max_{\theta}\ \mathbb{E}_{q}[\log p(x\mid z)] - \mathrm{KL}\!\big(q(z\mid x)\,\|\,p(z)\big)

一個以最大化證據下界(ELBO)訓練的動力生成模型:在重建放電的同時,讓潛在後驗貼近其先驗。

LFADS 假設你記錄到的雜亂放電數,是由一個平滑的低維動力系統加上卜瓦松隨機性所生成。它藉由最大化 ELBO 來學出那個隱藏系統——在良好重建放電的同時,讓推得的潛在變數貼近一個合理的先驗。

g_t
產生動力學的 RNN 潛在生成狀態。
\lambda_t
驅動卜瓦松放電模型的放電率。
x_t \sim \mathrm{Poisson}(\lambda_t)
從隨時間變化的放電率抽出的尖峰。
\mathbb{E}_{q}[\log p(x\mid z)] - \mathrm{KL}\big(q \,\|\, p\big)
ELBO:重建品質,減去偏離先驗的懲罰。

單試次的雜訊放電被去噪成一條各試次共享的乾淨潛在軌跡。

其回報是單試驗去雜訊:LFADS 把充滿雜訊的放電計數投影到神經流形上,還原出一條乾淨的潛在軌跡,往往勝過任何程度的平滑。與假設線性高斯潛在的 GPFA 相比,LFADS 是其非線性、動力學的後繼者,而它推論出的軌跡,正是現代群體動力學分析(以及部分解碼器)所倚賴的對象。

循環網路何時有用——何時無用

當時間脈絡長且標籤稀疏時,循環網路大放異彩:語音、手寫,以及任何具序列文法的問題。但對於短暫的運動想像視窗或連續的游標速度,其相對於良好調校的線性卡爾曼維納解碼器的增益可能微乎其微——而且 RNN 在閉迴路中更難保持數值穩定與低延遲。