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 倍) 的提升, 并且在能耗上