核心概念
本文提出了一種基於洩漏積分與發放 (LIF) 神經元的脈衝神經網路 (SNN) 架構,並在 FPGA 平台上實現,展現出比傳統二元卷積神經網路更高的能效,尤其適用於資源受限的 TinyML 應用。
摘要
基於能量感知的洩漏積分與發放 (LIF) 神經元脈衝神經網路 FPGA 實現
本研究論文介紹了一種基於洩漏積分與發放 (LIF) 神經元的脈衝神經網路 (SNN) 架構,旨在為 TinyML 系統(如微型無人機和無人地面載具)提供高效的視覺機器學習演算法部署方案。
研究目標:
- 開發一種針對微型無人機和無人地面載具優化的基於視覺的 TinyML 框架。
- 調整廣泛認可的一階 LIF 模型,使其適用於 TinyML 應用中的設備端處理,並使用具有挑戰性的數據集進行測試。
- 設計一種強大的硬體解決方案,專為在 FPGA 平台上高效部署此 SNN 模型而定制。
方法:
- 使用 snntorch 庫構建 SNN 模型,並利用 PyTorch 生態系統進行基於 GPU 的訓練和測試加速。
- 採用包含約 32K 標註圖像的數據集,每個圖像都標記為碰撞或未碰撞,用於監督學習過程中的網路訓練。
- 使用 Verilog HDL 對 LIF 神經元模型進行編碼,並使用 Xilinx ISE 進行編譯,以確保針對硬體應用的優化。
- 將生成的 SNN 部署到 Xilinx Artix-7 FPGA 板上。
主要發現:
- LIF 模型在不同圖像大小下表現出不同的訓練和測試精度,在 64×64 圖像大小下達到最高的 85% 測試精度。
- 與傳統的二元卷積神經網路 (BCNN) 相比,SNN 模型的功耗顯著降低,同時實現了更高的每秒運算次數 (GOPS)。
- SNN 的能效高達 1093 GOPS/W,比 BCNN 高 86%,證明了其在資源受限環境中的優勢。
- 與其他神經元模型相比,所提出的 LIF 模型在資源利用率、工作頻率和功耗之間取得了良好的平衡。
主要結論:
- 基於一階 LIF 的 SNN 方法為 TinyML 系統中的視覺機器學習任務提供了高效且節能的解決方案。
- 該方法在障礙物檢測任務中表現出良好的準確性和能效,證明了其在自動駕駛等實際應用中的潛力。
- 未來的工作可以集中於探索更複雜的 SNN 架構,並針對特定 TinyML 應用優化硬體設計。
意義:
本研究強調了神經形態運算向實用化、日常應用發展的趨勢,為該領域的未來發展樹立了新的標竿。
局限性和未來研究方向:
- 未來的研究可以探索更複雜的 SNN 架構,以進一步提高性能。
- 應進一步努力優化硬體設計,以減少資源利用並提高工作頻率。
- 研究 SNN 在其他 TinyML 應用中的適用性將是有價值的。
統計資料
SNN 模型的功耗為 495 毫瓦。
SNN 的性能為 541 GOPS。
SNN 的能效為 1093 GOPS/W。
BCNN 的功耗為 2300 毫瓦。
BCNN 的性能為 329 GOPS。
BCNN 的能效為 143 GOPS/W。
LIF 模型在 64×64 圖像大小下達到最高的 85% 測試精度。
引述
"This paper presents a novel SNN architecture based on the 1st Order Leaky Integrate-and-Fire (LIF) neuron model to efficiently deploy vision-based ML algorithms on TinyML systems."
"The results show the proposed approach is 86% more energy efficient than the baseline."