iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0

第一代類神經網路是感知器Perceptron,這是一種最為簡單的類神經元,只能學習線性可分的資料,後來發展出第二代多層神經元網路multi layer perceptron,藉由結合多個perceptron學習非線性可分資料,透過back propagationz方法反傳遞錯誤來更新參數,類神經的預測正確率得到大幅提升,目前大部分類神經應用都是以這種方法訓練,而受到大家推崇的第三代網路是脈衝神經網絡(Spiking Neural Networks),以下說明它的特性與缺點。

脈衝時序

脈衝神經網絡是以二進位資料傳遞的網路,只有當神經元接收到脈衝訊號產生超出閥值的電位後,才會產生脈衝傳輸到下一層神經元,反之如果沒有脈衝過來,神經元則處於休眠狀態。而目前多層神經元是所有神經元皆會收到訊號並傳遞訊號,與脈衝傳遞方式有明顯不同。

時間訊息
二進位訊號相較於多層神經元傳遞的連續值,在資料自由度上大幅減少,因此必須透過其他方式來紀錄資料。而脈衝神經網路所用來記錄其他資料方式是基於脈衝訊號的時間差與頻率,相當於引入時間概念於神經網路中,讓電腦自動學習出脈衝的時間頻率模式,其時間建模能力被研究者相信比RNN還要來的強大。

訓練方法

脈衝神經網路因為是離散型資料傳遞,因此無法透過目前廣泛使用的梯度下降方法進行模型訓練,所以自1952年第一個脈衝神經網路被提出來後,一直處於無大幅進展狀況,在工業上幾乎都還是使用第二代神經網路來開發應用,不過脈衝神經網路已經被證明其學習模式更像人類神經元學習模式,如何研究出一套適合的訓練方法,是一個很有價值的問題。

效能優化

由於脈衝神經網路的神經元在非活化狀態下是不進行資料計算,因此相較於目前使用的多層神經網路,更能節省訓練模型時的電力消耗。

Reference

1. 脉冲神经网络
2. 專題|腦芯編:擺脫馮·諾依曼的深度學習硬體
3. 脈衝神經網絡(SNN)—— 概念、以及挑戰


上一篇
AI+BlockChain
下一篇
文本分析
系列文
資料分析之路的雜談30

尚未有邦友留言

立即登入留言