簡述脈沖神經網絡SNN:下一代神經網絡

Submitted by huzhenda on Sun, 07/15/2018 - 15:19

脈沖神經網絡(SNN)屬于第三代神經網絡模型,實現了更高級的生物神經模擬水平。除了神經元和突觸狀態之外,SNN 還將時間概念納入了其操作之中。本文將簡要介紹這種神秘的神經網絡形式。

所有對目前機器學習有所了解的人都聽說過這樣一個事實:目前的人工神經網絡是第二代神經網絡。它們通常是全連接的,接收連續的值,輸出連續的值。盡管當代神經網絡已經讓我們在很多領域中實現了突破,但它們在生物學上是不精確的,其實并不能模仿生物大腦神經元的運作機制。

6.1

第三代神經網絡,脈沖神經網絡(Spiking Neural Network,SNN),旨在彌合神經科學和機器學習之間的差距,使用最擬合生物神經元機制的模型來進行計算。脈沖神經網絡與目前流行的神經網絡和機器學習方法有著根本上的不同。SNN 使用脈沖——這是一種發生在時間點上的離散事件——而非常見的連續值。每個峰值由代表生物過程的微分方程表示出來,其中最重要的是神經元的膜電位。本質上,一旦神經元達到了某一電位,脈沖就會出現,隨后達到電位的神經元會被重置。對此,最常見的模型是 Integrate-And-Fire(LIF)模型。此外,SNN 通常是稀疏連接的,并會利用特殊的網絡拓撲。

6.2

LIF 模型中膜電位的微分方程

6.3

脈沖期間的膜電位形態

6.4

網絡的脈沖訓練

6.5

脈沖神經網絡圖示

乍一看,脈沖神經網絡的方法像是一種倒退。我們從連續輸出移動至二進制輸出,這些脈沖訓練的可解釋性不強。但是,脈沖訓練增強了我們處理時空數據(或者說真實世界感官數據)的能力??臻g指神經元僅與附近的神經元連接,這樣它們可以分別處理輸入塊(類似于 CNN 使用濾波器)。時間指脈沖訓練隨著時間而發生,這樣我們在二進制編碼中丟失的信息可以在脈沖的時間信息中重新獲取。這允許我們自然地處理時間數據,無需 RNN 添加額外的復雜度。事實證明脈沖神經元是比傳統人工神經元更強大的計算單元。

既然理論上 SNN 比第二代網絡更強大,那么我們很自然會想到為什么它們沒有得到廣泛應用。主要問題在于 SNN 的訓練。盡管我們有無監督生物學習方法,如赫布學習(Hebbian learning)和 STDP,但沒有適合 SNN 的有效監督訓練方法能夠 i 通過提供優于第二代網絡的性能。由于脈沖訓練不可微,我們無法在不損失準確時間信息的前提下使用梯度下降來訓練 SNN。因此,為了正確地使用 SNN 解決真實世界任務,我們需要開發一種高效的監督學習方法。這是一項艱巨的任務,因為它涉及到,給定這些網絡的生物現實主義,確定人類大腦如何學習。

另一個問題是在正常硬件上模擬 SNN 需要耗費大量算力,因為它需要模擬微分方程。但是,神經形態硬件,如 IBM TrueNorth,旨在使用利用神經元脈沖行為的離散和稀疏本質的專門硬件模擬神經元,進而解決該問題。

今天看來,SNN 的未來依然不甚清晰。一方面,它們是我們當前神經網絡的天然繼承者;但是另一方面,對大多數任務來說它們還遠不是實踐工具。目前在實時圖像和音頻處理中有一些 SNN 實際應用,但相關文獻仍然很少。絕大多數 SNN 論文或者是理論的,或者在一個簡單的全連接第二代網絡之中展示性能。然而,很多團隊正致力于開發 SNN 監督式學習規則,并且我對 SNN 的未來充滿樂觀。

(原文鏈接:https://towardsdatascience.com/spiking-neural-networks-the-next-generation-of-machine-learning-84e167f4eb2b

(翻譯:機器之心)

冯仰妍破处门