Neural-Networks
什麼阻礙了脈衝神經網絡在應用中的使用?
脈衝或尖峰神經網絡包含更多生物神經元的膜動力學,其中脈衝將信息傳遞到下一層。例如,神經元不必像在反向傳播中那樣同時“激發”所有神經元。
然而,將這些模型用於機器學習問題似乎存在障礙。哪些具體問題阻礙了機器學習從業者使用更符合生物學的模型?
主要問題是沒有人知道大腦是如何工作的:)
理論
據我所知,神經網絡研究分為三大步驟:
- 感知器(或閾值門)模型,其中任何布爾函數都可以由一些具有單個隱藏層的多層感知器計算。
- 神經元模型 - 前一個模型的改進版本,其中網絡元素使用 sigmoid 激活函數(可能的輸入和輸出的連續集)。它們還可以計算任何布爾函數(在應用閾值之後),此外,還可以逼近任何連續函數。
- 尖峰神經元模型,它使用“時間編碼”在網絡元素之間傳遞信息。它可以做之前模型所做的一切,而且通常可以用更少的神經元來做。
基本上,這裡的進化是為了更接近人腦的工作方式,最後一個模型具有最好的保真度。
實踐
SNN 看起來很有前途,甚至還有基於它構建的商業產品SpikeNET(在“SpikeNET 可以做什麼”和“SpikeNET 還不能做什麼”下,您可以看到他們面臨的問題)。
我無法說出尖峰網絡的具體問題——但總的來說,我的印像是,這些問題的出現是因為人們希望 SNN 越來越像人腦一樣工作:
- 他們想選擇如何對信息進行編碼——這可以通過延遲編碼(受到更高刺激的神經元傾向於更頻繁和更快地產生尖峰)、二進制編碼(信息由給定時間間隔內的尖峰數量表示)、時間編碼來完成(信息是可區分時間間隔的粒度的倒數),等級順序編碼(神經元接收到的第一個尖峰受到影響,後面的尖峰被抑制)等等。
- 它們模仿赫布可塑性,當兩個神經元同時“開啟”(或同時“關閉”)時,神經元之間的權重會增加。
- 他們應用自組織,其中一組神經元與獲勝的神經元競爭,抑制其他神經元的反應。使用尖峰神經元,可以僅基於單個觸發事件快速計算獲勝者。
維基百科有一個鏈接到*“脈衝神經網絡”*一書,其中有“脈衝編碼神經網絡的實施問題”部分,但我沒有受過足夠的教育來對此發表評論。
至於主題介紹,我推薦這篇論文:脈衝神經網絡及其應用(pdf)