脈衝神經網路SNN的簡介

2021-10-07 14:52:00 字數 1186 閱讀 6160

神經網路經歷漫長的發展,目前總共有三代,它們分別是:

第一代神經網路

mcculloch–pitt感知機,它執行閾值運算並輸出數字(1,0)。

第二代神經網路

基於sigmoid單元或修正線性單元(relu)增加了連續非線性,使其能夠計算一組連續的輸出值。第二代神經網路也是目前使用的最廣泛的網路演算法,例如vgg16,resnet等等的dnn都是第二代網路。

第三代神經網路:『

主要使用「整合放電」(integrate-and-fire)型尖峰神經元,通過脈衝交換資訊,因此稱為脈衝神經網路(snn)。第二代和第三代神經網路之間最大的區別在於資訊處理性質。第二代神經網路使用了實值計算(real-value)(例如,訊號振幅),而snn則使用訊號的時間(脈衝)處理資訊。snns中的神經元單元只有在接收或發出尖峰訊號時才處於活躍狀態,因此它是事件驅動型的,因此可以使其節省能耗。

同傳統的人工神經網路一樣,脈衝神經網路同樣分為三種拓撲結構。它們分別是前饋型脈衝神經網路、遞迴型脈衝神經網路,和混合型脈衝神經網路。

snns最大的優勢在於其能夠充分利用基於時空事件的資訊。今天,我們有相當成熟的神經形態感測器,來記錄環境實時的動態改變。這些動態感官資料可以與snns的時間處理能力相結合,以實現超低能耗的計算。實際上,與傳統上dlns使用的幀驅動(frame-driven)的方法相比,snns將時間作為附加的輸入維度,以稀疏的方式記錄了有價值的資訊,從而實現高效的snns框架,並通過計算視覺光流或立體視覺來實現深度感知。

但是,snns目前主要受限於缺乏適當的訓練、學習的演算法。脈衝神經網路的學習方式主要包括無監督學習(unsupervised learning)、監督學習(supervised learning)和強化學習(reinforcement learning)等,這些方式在下一次具體介紹。

此外,snn還受限於基於脈衝的資料可用性,雖然理想情況要求snns的輸入是帶有時間資訊的序列,但snns訓練演算法的識別效能是在現有靜態影象的資料集上進行評估的,例如cifar或imagenet,缺乏動態的資料集。

snn是廣闊的藍海領域,擁有很大的潛力與價值,相信在今後不斷的研究中,snn會不斷在實際應用中嶄露頭角。

脈衝神經網路SNN學習

由於事件相機原理的非同步性,同樣時空性的脈衝神經網路可能更適合基於事件相機的一系列處理。本人對神經網路了解的較少,此部落格僅作為自己學習記錄所用。目前常用的cnn rnn等神經網路是第二代神經網路,而脈衝神經網路snn屬於第三代神經網路模型,為了減小神經科學與機器學習之間的差距,snn使用最擬合生物...

脈衝神經網路

1 神經資訊的編碼與解碼方法 由於脈衝神經網路的輸入輸出是脈衝序列,不能直接進行模擬量的計算,首先要考慮的問題是神經資訊的編碼與解碼機制 編碼是指將樣本資料或刺激訊號轉換為脈衝序列,而解碼是編碼的逆向過程,是將脈衝序列對映為輸出結果或特定反應 目前,研究者借鑑生物神經元對特定刺激訊號的編碼機制,除了...

脈衝神經網路 光晶元上的全光脈衝神經網路

nature昨天刊登了德國明斯特大學的一篇最新進展,研究人員在光晶元上實現了脈衝神經網路 spike neural network 先睹為快,這篇筆記主要介紹下這篇進展。研究人員將氮化矽波導與相變材料結合,實現了監督式和非監督式的機器學習,並演示了對15個畫素的模式識別。關於相變材料 phase c...