1. 程式人生 > >Rewiew: Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity(IEEE)

Rewiew: Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity(IEEE)

閱讀時間:2017年12月
更新時間:2018年6月,合併了在《Frontiers in computational neuroscience》上發表的同名文章

文章資訊

  • 題目:基於STDP非監督學習的數字識別
    刊物:IEEE Transactions on Neural Networks and Learning Systems;Frontiers in Computational Neuroscience
    年份:2015
    作者:Peter U. Diehl and Matthew Cook
    機構: the Institute of Neuroinformatics, ETH Zurich and University Zurich

文章內容

背景

  1. the recent development of neuromorphic hardware and rely on mechanisms commonly implemented on neuromorphic hardware;
  2. 因為是仿生物神經網路的,SNN在低功耗智慧應用上具有廣闊的前景(unmatched pattern recognition performance given a power consumption of 10-20 Watts),尤其是當應用的學習階段功耗佔主要部分時,以及應用需要不斷學習已適應或提高效能時。
  3. the task of designing SNN-based pattern recognition system is still challenging; large scale function systems.
  4. 理解並運用在生物神經網路中發現的神經元、突觸等生物結構,以及認知運作的機理

簡介

  • neuromorphic hardware可以實現低功耗神經網路,比如傳送一個Spike只需要pJ~nJ,一個突觸的功耗是幾個pW(接近生物的功耗)。
  • SNN在演算法上還不足以應對機器學習應用。
  • SNN的兩種實現路徑:spike-based learning,學習方法主要是STDP,和rate-based learning,學習方法主要是BP。
  • 本文設計了一種基於能夠在neuromorphic chips 上部署的生物神經系統的結構和機制(LIF神經元,電導突觸,指數型動態特性,橫向抑制,可調節發射閾值)的STDP無監督學習SNN神經網路演算法,6400個神經元實現對MNIST資料集95%的分類精度。

主要工作及特點:

設計了一種基於STDP的SNN無監督學習演算法,特點:unsupervised, neuromorphic hardware compatibility, scalability, state-of-art accuracy, and no domain specific knowledge
- 強調所設計的SNN是有可實現的硬體基礎的,或者說是 relies on mechanisms commonly used by neruromorphic hardware,例如LIF神經元,電導突觸,指數型動態特性,橫向抑制(lateral inhibition),可調節發射閾值(adaptive threshold)。
- 非監督學習,學習時不需要標籤,訓練結束後對神經元歸類即可,不需要SVM或者線性層。
- 良好的規模伸縮性,scalability,網路的準確度是可以隨規模增大提升的(但是有一定上限),100/400/1600/6400個啟用型神經元對應的預測精度分別為82.9%/87.0%/91.9%/95.0%。
- - 不需要對輸入資料做預處理(除了從畫素點到尖峰序列的轉化)
- 所提出的學習機制與k-means和competitive learning algorithm有相似之處,每個神經元會學習到輸入的一小部分模式(pattern)
- 在非監督和沒有領域知識的情況下取得了很好的準確度95%,具有發掘通用智慧的潛力。

實驗結果

6400個神經元可以實現95%的手寫字元識別率。

設計細節

  1. 神經元和突觸模型
    神經元模型:integrated -and-fire model
    τ d V d t = ( E r e s t V ) + g i n h ( E i n h V ) + g e x c ( E e x c V )
    V 是薄膜電壓, v r e s t 是神經元的resting potential(應該是一種靜息電壓) τ 是啟用/抑制型神經元薄膜的時間常數, g e g i 分別是啟用型和抑制型突觸的電導, E e x c E i n h 分別是啟用型和抑制型突觸的等效電勢。當薄膜電壓超過了閾值 v t h r e s 神經元就向外發射尖峰脈衝訊號,然後薄膜電壓會復位到 v r e s e t
    突觸模型:通過電導的改變來模擬,如果有前神經元的尖峰訊號到達突觸,突觸的電導就瞬間增強至權值,如果沒有就呈指數方式衰減,如果前神經元是啟用型的,突觸電導的更新公式如下。
    τ g e d g e d t = g e
    如果前神經元是抑制型的,就將相應的常數換成抑制型的。
    τ g i d g i d t = g i
    模型中運用的全部引數都是來自於生物神經元,除了啟用型神經元薄膜的時間常數從10-20ms增加到100ms,這樣可以提高精度。具體的原因是作者對輸入的編碼是一種畫素強度-尖峰頻率的poisson分佈,而且頻率控制在生物神經元的發射頻率範圍內(~60Hz),如果時間常數太短則接收的的資訊很小,而且容易受到噪聲的影響。
  2. 網路結構
    輸入層和啟用層前向全連線,啟用層和抑制層一對一前向連線,抑制層與啟用層反向全連線(recurrent)(除了與已經前向連線的啟用單元)
    這裡寫圖片描述
  3. 學習機制
    突觸除了儲存權值還記錄一個Spike Trace值 x t r a ,一個presynaptic spike到了之後 x t r a 就加1,同時 x t r a 還遵循一個指數衰減規律。
    τ x p r e d x p r e d t = x p r e
    τ x p r e 是衰減的時間常數。另外, x p r e 在每次前神經元訊號到達後加1。
    當postsynaptic spike產生後,權值啟動更新計算,更新的數值依賴於兩個部分,一個部分是當前權值與最大權值的差,另外一部分是 x t r a x t a r (猜測是後期確定的一個參變數)的差,具體計算公式如下:
    δ w = η ( x p r e x t a r ) ( w m a x w ) μ
  4. 學習平衡(homoeostasis)
    輸入訊號的不均勻性以及lateral inhibition的加強會導致少數神經元一直佔據著某個pattern,從而抑制了其他神經元,降低了學習效率。為了充分發揮每個神經元的學習能力(學習到不同的pattern),在訓練過程中需要保持神經元發射頻率的平衡(homoeostasis)。Homoeostasis helps to give each neuron a fair chance to compete。具體的方法是動態閾值調整,調高發射頻率高的神經元的閾值(由於薄膜電壓是通過電導型突觸連線的,薄膜電壓達到啟用型神經元的等效電壓後就將一直不可能啟用),從而讓它的發射頻率不至於過高。動態閾值調整的計算方法如下: