可解釋的生成模型:從預測編碼到 SNN
Predictive Coding(預測編碼,註)提供了一個具啟發性的學習理論。大腦的主要任務是持續預測來自感官的輸入,並依據預測誤差調整內部模型。與常見的反向傳播不同,預測編碼透過局部運算、無需全局權重共享的機制,讓學習與推論更貼近大腦的實作方式。
預測編碼的SNN實作:SNN-PC 模型解析
最近閱讀了 Lee 等人發表的論文 Predictive Coding with Spiking Neurons and Feedforward Gist Signaling(Lee et al. 2024),這個模型(簡稱 SNN-PC)將預測編碼架構實現在脈衝神經網路(Spiking Neural Networks, SNN)中。它不僅保留預測編碼的核心概念,也將其落實於具生物可行性的細節中,像是SNN、突觸電流積分與Hebbian 式學習。
整體而言,SNN-PC 架構包括多層神經元,每層皆由三類神經元組成:表徵神經元(Representation Units)與兩類誤差神經元(正誤差 E+ 與負誤差 E-)。這種三重結構讓系統能夠表示有符號的預測誤差,儘管每個神經元本身只能產生非負脈衝。
誤差訊號以正負分流的形式傳遞,例如當實際輸入大於預測時,E+ 神經元活躍;反之則是 E-。這種策略避免了使用 baseline firing rate 來表示負值的問題,符合皮質中低自發活性的特性。
資訊/誤差最小化機制
在 SNN-PC 中,感官輸入(如 MNIST 數字影像)會作為恆定電流注入最底層 Area 0 的表徵神經元中。這些神經元的活動是被固定住的,也就是說,在整個推論過程中它們不會改變。預測誤差則由來自上層的 top-down 預測訊號與實際輸入比較而產生,透過誤差神經元向上傳遞,引導高層神經元調整表徵。
模型進行的是一種迭代式的誤差最小化過程:表徵神經元會根據來自誤差神經元的訊號更新活動,使整個網路趨向於平衡狀態,也就是所有層的預測誤差最小化的狀態。
引入「Gist」通道:快速預先推論
SNN-PC 引入一個特殊的前饋通道,稱為 Feedforward Gist (FFG)。這是一種稀疏的快速通道,直接從輸入投射到高層(如 Area 1 和 Area 2)的表徵神經元。Gist 的角色不是參與學習,而是作為一個粗略的先驗提示,幫助高層快速對輸入有一個大致判斷。
這模仿了生物視覺系統中「快速掃描」的現象,例如初期的 feedforward sweep 傳遞到視覺皮質高層。實驗顯示 Gist 通道在遮蔽或雜訊輸入情境下能提升分類強健性,即使對重建表現幫助不大,卻讓高層特徵更具判別力。
模型任務與測試方式
SNN-PC 的訓練目標是生成模型,即從 MNIST 輸入中學習如何用潛在表徵來重建原始影像。訓練是完全無監督的,未使用任何標籤。訓練後,研究者使用線性分類器對高層(Area 1)神經元的活動進行分類測試,以驗證其所學特徵是否具備語義區分能力。
![]() |
圖三:SNN-PC 的影像重建能力展示。左側為輸入的 MNIST 手寫數字原始影像,右側為模型從 Area 1 預測並重建的結果(透過 W^{0,1}X_R^1 計算)。模型成功學習到數字的統計規律,能夠準確重建未曾見過的測試影像,顯示其具備良好的生成模型能力。 |
此外,模型還接受遮蔽與高斯雜訊測試。雖然輸入層無法「補完」遮蔽區域,但高層仍可推論出正確的類別,顯示其潛在表徵具備容錯能力。
使用的尖峰神經元模型:為何選擇 AdEx?
該模型使用 AdEx(Adaptive Exponential Integrate-and-Fire)神經元而非簡單的 LIF 或 IF。這是因為 AdEx 能夠模擬尖峰適應、非線性起始、不同類型細胞的發放特性(如 bursting 或 tonic firing)。這些特性有助於系統穩定推論、產生稀疏表徵,並在不增加太多運算成本的前提下提高生物合理性。
值得注意的是,所有神經元皆使用相同的 AdEx 模型與參數,並未模擬不同細胞型態(如興奮性與抑制性神經元)的生理差異。模型中的神經元功能差異完全來自於其在網路中的位置與連接方式,而非其本身的生物物理特性。
學習與突觸更新機制
SNN-PC 沒有定義顯式的發放率(firing rate)變數。取而代之的是,使用指數濾波的spike 記錄(trace) 作為突觸電流與學習的基礎。這些 trace 行為類似發放率,且生物學上可解釋為 NMDA 或 calcium-dependent eligibility traces。
突觸學習依據這些 trace 採用 Hebbian 式本地更新,不需反向傳播,也不需全局同步,符合神經生理三因子學習規則的設計。
延伸思考:加入監督訊號?
若要讓 SNN-PC 執行分類任務,我們可以在高層(如 Area 1)加入十個代表類別的神經元,並在訓練時以 one-hot 編碼進行 clamp。這樣模型就能學會從標籤產生輸入,進而形成分類器,過程中仍維持 predictive coding 的基本推論與學習架構。
這種做法在傳統 predictive coding 模型中已有應用,未來若將其整合進spiking架構,將更接近可訓練、可執行的神經元級分類系統。
總結
SNN-PC 是一個優雅的模型,融合了 predictive coding 的層級式誤差最小化原則與SNN的動態特性。在不依賴向後傳播的情況下,它透過本地學習規則、合理的神經元模型與創新的 gist 通道,成功實現了生成式、具生物解釋力的學習與推論系統。
未來若將其擴展至多模態輸入、時間序列建模或強化學習場景,或將其實作於 neuromorphic 硬體上,將具有極大的發展潛力。
註:想快速理解 Predictive Coding 的基本概念請參考這部影片:
AI 使用聲明:本文使用 ChatGPT 與 Claude AI 協助中文撰寫與編輯,將學術論文內容轉化為科普文章。所有科學內容來自原論文(Lee et al. 2024)。
撰寫:葉宸甫
參考資料
Lee, K., Dora, S., Mejias, J. F., Bohte, S. M., & Pennartz, C. M. (2024). Predictive coding with spiking neurons and feedforward gist signaling. Frontiers in Computational Neuroscience, 18, 1338280.
留言
張貼留言