Spiking Deep Residual Network
近些年,SNN由於它的生物可塑性吸引了大衆注意力。理論上,SNN具有與ANN一樣的計算能力,而且在功耗方面要比ANN更加節能。但是,在目前看來,訓練一個很深的SNN依舊存在很大困難。
本篇文章,提出了一個方法來構造ResNet的脈衝版本。我們把訓練好的ResNet網絡轉化爲脈衝神經元組成的SpikingResNet。爲了解決轉化過程中的問題,文章提出了shotcut歸一化機制來縮減連續的激活值,使之近似匹配SNN中的脈衝發放率;還提出一種逐層誤差補償方法來減少由離散導致的誤差。
在MNIST, CIFAR-10, 和CIFAR-100上做了實驗,是目前SNN中性能最好的。
參考資料:
https://blog.csdn.net/Kerrwy/article/details/80330802
https://cloud.tencent.com/developer/news/208552
轉換ResNet到SpikingResNet的機制
關鍵細節
通過假定Relu單元可以近似脈衝神經元的發放率,文章用IF神經元代替Relu。輸入方式是圖片輸入,第一層卷積之後根據是否大於閾值判斷輸出脈衝。訓好的權重先進行歸一化,再根據BN縮減(論文中的2式)使用。
爲了保持單元最大脈衝發放率,文章通過block的最大激活值來標準化block的輸出。