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

1766                                                       软件学报  2025  年第  36  卷第  4  期



                       y 1       y 2             y T
                       z 1       z 2             z T
                                      …
                       x 1       x 2             x T
                                                                  y *, 1  L 1  y *, 2  L 2    y *, 3  L T
                    y *, 1    y *, 2          y *,  T                y 1        y 2               y T
                       y 1       y 2             y T
                       z 1       z 2             z T                 z 1  1     z 2  2            z T
                                                                        e          e                e T
                                      …                                                …
                       x 1       x 2             x T                 x 1        x 2               x T
                          图 6    时间反向传播训练方法                           图 7    生物启发式  BPTT  训练方法
                    需要指出的是, 与     ANN  相比, 只有少数算法可以直接训练大规模的深度               SNN. 同时, DNN  训练中存在的梯度
                 消失、资源开销大、甚至不收敛等问题一样会出现在                   SNN  的训练中. 最后, 对   SNN  直接训练时需要额外参考的
                 时间维度带来的巨大内存开销也是在边缘部署时不可忽略的问题.

                 1.3.3    将  ANN  转化为  SNN
                 别是在资源严格受限的边缘硬件设备中. 因此, ANN-to-SNN
                    尽管有许多研究完成了         SNN  的无监督学习或者有监督学习, 但一些事实表明, 采用无监督学习得到的                       SNN
                 在复杂数据集上存在次优精度问题            [84,85] , 而监督学习也因为脉冲序列的不连续性和不可微性, 很难扩展到更深层
                 的  SNN, 当网络规模更大时, 也存在误差反向传播训练时的梯度消失或爆炸问题.
                    ANN-to-SNN 转换法从拥有成熟训练方法的           ANN  中学习, 快速得到性能良好的         SNN  [86−89] . 在  ANN-to-SNN
                 转换法中, 因为    ReLU  神经元在功能上等同于没有任何泄漏和折射期的                IF  脉冲神经元   [90] , 所以通常会选择  ReLU
                 神经元作为待转换       ANN  的基本神经元. 在转换过程中, 首先训练             ReLU  神经元组成的     ANN, 训练完成后, 用
                 ANN  的权重初始化具有      IF  神经元和等结构的     SNN, 图  8  展示了转换过程中     ReLU  神经元映射为    IF  脉冲神经元
                 的原理. 为了确保在      ANN-to-SNN  转换法的过程中分类准确性损失尽可能小, 就必须适当选择神经元阈值与突触
                 权重的比率. 因此, 该方法的大部分研究工作都集中在选择阈值平衡的合适算法, 或者对网络的不同层进行权重归
                 一化, 以实现近乎无损失的        ANN-to-SNN 转换  [91] . 文献  [92] 采用  ANN-to-SNN  转换法, 在  FPGA  平台上实现了
                 SNN  模型. 该模型在几乎没有精度损失的情况下, 具有每瓦               8 841.7  帧的高能效.

                                              x                         E[X(t)]

                                                         需要适当的
                                          ReLU 神经元  参数  阈值促使平衡     参数  IF ઝԊപࣜჭ
                                          y=max(0, Σw.x)  w       f(w/v th )  V mem (t+1)
                                                                      =V mem (t)+Σw.X(t)


                                             y                          E[Y(t)]
                                            图 8 将   ANN  神经元转化为    SNN  神经元

                    采用  ANN-to-SNN  转换法有几个好处. 第一, 在大规模网络中模拟精确的脉冲动作可能会在计算上很昂贵, 特
                                                                转换法可以让     SNN  避免高代价的大规模训练, 同时
                 与转换前的    ANN  相比, 得到的   SNN  精度损失很小    [93] . 第二, 神经网络的训练过程可以在       ANN  上进行, 从而使用
                 算力资源更充足的       GPU  等设备, 无需在线学习, 降低边缘部署的硬件要求. 最后, 对              ANN  进行训练的方法已经经
                 过了长久的发展, 技术方面更成熟, 这能为转换得到的                SNN  提供更高的性能上限.
                    当然, 这种转换训练法也存在一些缺陷, 比如可能会忽略                  SNN  特有的一些生物合理性, 以及在转换过程中或
                 多或少地损失一些精度        [38] , 此外, 现有的  ANN-to-SNN  转换法也存在模拟周期长的问题       [94] .
                    最新工作表明, 生物学上合理的           SNN  的性能在很大程度上取决于模型参数和神经动态. 文献                 [95] 探讨了生
                 物时间常数对     SNN  中信息传输的影响, 并通过适当选择时间常数, 提高了               SNN  训练的收敛速度. 与之前的工作相
                 比, 该工作采用欧拉数值方法的并行实现, 达到了在训练                (推理) 速度上超过     300  倍 (240  倍) 的提升, 并且在能耗上
   355   356   357   358   359   360   361   362   363   364   365