沈陽靖,沈君成,葉 俊,馬 琪
(1.杭州電子科技大學 微電子CAD研究所,浙江 杭州 310018;2.浙江大學 超大規模集成電路研究所,浙江 杭州 310007;3.杭州士蘭微電子股份有限公司,浙江 杭州 310007)
基于FPGA的脈沖神經網絡加速器設計
沈陽靖1,沈君成2,葉 俊3,馬 琪1
(1.杭州電子科技大學 微電子CAD研究所,浙江 杭州 310018;2.浙江大學 超大規模集成電路研究所,浙江 杭州 310007;3.杭州士蘭微電子股份有限公司,浙江 杭州 310007)
脈沖神經網絡是一種基于離散神經脈沖原理進行信息處理的人工神經網絡,文中提出了一種基于FPGA的靈活可配的脈沖神經網絡加速器架構,能夠支持神經網絡拓撲結構、連接權值的靈活配置。該設計首先在算法層對LIF神經元模型進行公式分解和浮點轉定點兩個層次的優化,并在硬件實現中采用時分復用技術將硬件中實現的8個物理神經元復用為256個邏輯神經元。神經元模電壓計算采用三級流水線架構,以提高神經元數據處理效率。通過采用Xilinx XC6SLX45 FPGA實現整個神經網絡加速器,工作頻率可達50 MHz,并基于該加速器構建手寫數字識別網絡架構,實驗結果表明,采用MNIST數據集作為測試樣例,該網絡架構準確率可達93%。
脈沖神經網絡;LIF模型;時分復用;分類
AbstractSpiking neural network is a kind of biologically-inspired neural networks that perform information processing based on discrete-time spikes. This paper proposes a FPGA based hardware accelerator, which supports the flexible configuration of topology and synapse weights. First, LIF(Leaky Integrate-and- Fire, LIF) model is optimized for hardware implementation, and then 8 physical LIF neurons are implemented, which could be extended to 256 neurons by using time-multiplexing technology. To improve the data processing efficiency of the spiking neuron, the design adopts three-stage pipeline architecture to calculate the neuron voltage. At last, the design is implemented on XC6SLX45 FPGA running over 50 MHz operation frequency. MINST database is used as an application example to demonstrate the configurability and efficiency of the proposed implementation. The experimental results show the accuracy of handwritten number classification could be achieved as high as 93%.
Keywordsspiking neuron network; LIF model; time-multiplexing technology; classification.
脈沖神經網絡[1](Spiking Neuron Network,SNN)是一種基于離散神經脈沖進行信息處理的人工神經網絡,采用可塑的突觸和基于脈沖模式的編碼,能夠同時模擬神經網絡的時空特性,具有更高的生物真實性, 可達到更好的性能功耗比,被稱為第三代人工神經網絡[3]。
目前脈沖神經網絡以軟件的實現方式為主,具有靈活性強、精度高的特點,但無法充分利用神經網絡高并行性的特點,處理速度慢、功耗高[4]。……