Page 46 - 112-2小論文
P. 46
第三代人工智慧 SNN 模型原理解析與前景
圖二:基於幀的輸入和基於事件的輸入比較圖
圖二資料來源:Khodamoradi, A., Denolf, K., & Kastner, R. (2021). S2N2: A FPGA Accelerator for
Streaming Spiking Neural Networks. Guo, L., Chi, Y., Wang, J., Lau, J., Qiao, W., Ustun, E., Zhang, Z.,
& Cong, J. FPGA '21: The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate
Arrays (pp. 1-12). Association for Computing Machinery.
回顧 Khodamoradi, A., Denolf, K., & Kastner, R. (2021)的文獻便可得知非脈衝神經
元 (ANN)與脈衝神經元 (SNN)的操作所需輸入計算。表達式中 是輸入值、 是
權重。非脈衝神經元如下:
(一) = ∑
=0
脈衝神經元的輸入因為只有 0 和 1,故可以直接調用權重進行累加、省略輸
入 。脈衝神經元如下:
(二) = ∑ ∈
根據(1)、(2)兩式,有幾項結果可以從中推斷。就以人工智慧最常見的單精
度浮點數(占 4 個 bytes)與半精度浮點數(占 2 個 bytes)舉例。首先,非脈衝
神經元就需要 及 各 N 個浮點數、I 一個浮點數,又忽略單層神經存在大量
神經元而 N 值大時 I 的一個浮點數消耗位元組數太小,即一個神經元單次就要
消耗約 4N 或 8N 個位元組。其二,脈衝神經元因為尖峰多用只占一個位元組的
布林結構 (Boolean),因此便可以判斷 true 或 false 來選擇調用記憶體中對應的
,從而使單次的消耗只等於約 為 true 數量乘 4 或 8 個位元組。這便形成了
SNN 模型在記憶體調用上的優勢。
另外,從上方算式中可以得知(1)的計算包含乘法和加法、(2)中只包含加法。
乘法的的運算步數、電路複雜度是加法的數倍,又(2)的加法只需要進行 Boolean
為 true 的權重,所以可以得知脈衝神經網路的計算能耗、電晶體需求上具有優
勢。不止如此,在其計算能耗等消耗極少的情況下, SNN 模型的精確度也並沒
有被捨棄。表一為筆者根據 Roy, K.,et al. (2020)上對 ANN 和 SNN 模型的準確
度測試,可以得知 SNN 圖像識別上相差 ANN 僅約 2%,卻可以換得高能耗比,
故言其具有計算優勢。更不用說在部分場景 SNN 準確度表現更佳了。
3