Page 365 - 《软件学报》2025年第4期
P. 365

俞诗航 等: 神经形态计算: 从脉冲神经网络到边缘部署                                                     1771


                 文献  [137] 在  Spartan-6 FPGA  上建立了一个神经形态框架, 使双足、四足和六足的机器人能够自由运动, 可以与
                 多足机器人的     CPG  运动机制相结合.
                    在图像识别领域, 基于       FPGA  实现的  SNN  得到了大量的应用. 文献       [138] 在  Xilinx SPARTAN-6 FPGA  上实
                 现了一种同时利用基于事件和基于帧的处理方式的混合神经网络, 兼具                       ANN 与  SNN  的特点, 在每帧仅需消耗     7 μJ
                 的情况下, 最终在     MNIST  数据集上获得了     97%  的准确率. 文献   [139] 在 Xilinx Zynq ZCU102 上高效部署了  SNN
                 模型. 该工作使用两种并行方法来提高数据重用率, 最终在 MNIST 数据集上达到了 98.94%                        的准确率, 功耗比
                 GPU  实现方法低   22  倍, 速度比  CPU  实现方法快   41  倍. 文献  [140] 采用事件驱动  STDP  规则进行训练, 从输入模
                 式中学习各种特征, 并以无监督方式进行分类, 在 Stratix III FPGA          平台上实现了高能效的        SNN, 最终在  MNIST  数
                 据集上的准确率为       93%.
                    表  5  统计了部分基于    FPGA  实现的  SNN  模型在  MNIST  数据集的表现.

                                     表 5 基于   FPGA  实现的  SNN  在  MNIST  数据集的表现情况

                       作者         年份      FPGA平台         SNN模型/算法     准确率 (%) 推理时间/工作频率          功耗
                                                            CSNN
                     Neil等人 [141]  2014  Xilinx Spartan-6  事件驱动SNN       92        0.53 s/张     1.2 μJ/张
                    Wang等人 [142]  2017   Xilinx Virtex-6    STDP         89.1      8.4 s/张     1.76 μJ/张
                     Mostafa [51]  2017 Xilinx Spartan6-LX150  前馈SNN    96.98       N/A          N/A
                    Zhang等人 [143]  2019  Terasic DE2-115  前馈SNN         96.26      100 MHz      293 mW
                    Zhang等人 [144]  2019  Xilinx VC707 FPGA  事件驱动SNN      98       1.1 ms/张      360 mW
                 Abderrahmane等人 [145]  2019  Altera Cyclone V  前馈SNN    98.15      50 MHz        N/A
                    Kuang等人 [140]  2019  Altera Stratix III  STDP        93         N/A          N/A
                     Guo等人 [146]  2019  Xilinx V7 690T   ANN-to-SNN     98.98      100 MHz      745 mW
                     Losh等人 [147]  2019 Xilinx Zynq XC7Z010  前馈SNN      97.70      125 MHz      161 mW
                     Ju等人 [139]   2020  Xilinx Zynq ZCU102  ANN-to-SNN  98.94      6.11 ms       4.6 W
                     Han等人 [148]  2020   Xilinx ZC706  前馈事件驱动SNN        97.06      200 MHz      477 mW
                     Fang等人 [149]  2020  Xilinx ZCU102  基于脉冲的梯度下降        99.2      7.53 ms       4.5 W
                    Wang等人 [150]  2020  Xilinx XCVU440      CSNN        99.16      200 MHz    1.562 5 TOPS
                    Aung等人 [151]  2021  UltraScale+ VCU118  CSNN        99.14      500 MHz    5.64 kFPS/W
                     Li等人 [152]   2021   Xilinx Virtex-7    STDP        92.93     3.15 ms/张    5.04 mJ/张
                    Zheng等人 [153]  2021  Xilinx ZCU102      STDP        90.53      200 MHz      782 mW
                  Gerlinghoff等人 [154]  2021  Xilinx XCKU3P  CSNN         99.1      294 μs        3.4 W
                    Zhang等人 [155]  2021  Xilinx Virtex-7  BP-STDP        95.3     0.27 ms/张    0.34 mJ/张
                  Panchapakesan等人 [53]  2022  Xilinx ZCU102  ANN-to-SNN  99.3      200 MHz    32.7 kFPS/W
                     Liu等人 [156]  2022   Xilinx Kintex-7  事件驱动SNN       97.70     4.17 ms/张    2.23 mJ/张
                     Ye等人 [157]   2022   Xilinx Kintex-7    CSNN        99.10     1.21 ms/张    1.19 mJ/张
                    Chen等人 [158]  2022  Xilinx XC7Z045      CSNN         98.5     22.6 GSOPS  19.3 GSOPS/W
                   Sommer等人 [159]  2022  Xilinx XCZU7EV                  98.3      0.04 ms       2.1 W
                     Liu等人 [160]  2023  Zynq XA7Z020        CSNN        99.00      0.27 ms      0.28 W
                    Wang等人 [161]  2023  Xilinx KCU115     前馈SNN          99.4     65.7 GSOPS  41.7 GSOPS/W
                     Li等人 [162]   2023  Xilinx XCZU3EG      CSNN        98.12     5.53 TOPS     2.55 W
                 注: GSPOS表示giga synaptic operations per second; TOPS表示tera operations per second

                    截至目前, 在    FPGA  上部署  SNN  仍存在许多的挑战与困难. 其中最大的问题出现在内存方面. 因为当部署大
                 规模  SNN  时, 它需要大量的神经元和突触来缓冲大权重矩阵. 考虑到商用                   FPGA  设备中的资源数量, 瓶颈往往出
                 现在块存储器     (block random access memory, BRAM) 上, 这导致网络中的神经元数量受到限制. 另一方面, 硬件上
                 的实现面临着准确性和成本或资源使用之间的权衡. 实现高准确率虽然性能优异, 但功耗较大, 如何在边缘环境中
   360   361   362   363   364   365   366   367   368   369   370