Page 359 - 《软件学报》2025年第4期
P. 359
俞诗航 等: 神经形态计算: 从脉冲神经网络到边缘部署 1765
比, 所提出的突触在能耗和面积上分别减少了 94% 和 43%. 此外, 也有工作将 STDP 与存内计算的理念相结合, 实
现了硬件友好的 SNN 和高能效 STDP 学习方法, 最终达到了 0.47 nJ/像素的学习效率和 70.38 TOPS/W 的学习能
12
效 [68] . TOPS (tera operations per second) 是处理器运算能力单位, 代表处理器每秒可进行一万亿次 (10 ) 操作.
TOPS/W 表示在功耗 1 W 的情况下, 处理器能进行多少 TOPS 操作.
1.3.2 有监督学习
有监督学习是指从带有标记的数据中识别模式的训练算法, 此时网络接收输入数据, 并根据学习到的分布对
输入进行预测, 然后将预测标签与真实标签进行比较, 以确定误差, 最终基于损失函数相对于参数的梯度更新网络
参数. 然而, 由于脉冲神经元不可微的特性, 在 SNN 中直接实现基于梯度的反向误差传播训练方法十分具有挑战性.
为了规避脉冲神经元动力方程不可微的问题, 一些研究将不连续导数近似为连续函数的代理梯度并用于训练
端到端反向传播的 SNN [49,73−75] . 代理梯度法的原理如图 5 所示, 其思想是用连续伪导数逼近脉冲函数的不连续梯
度. x 1 和 x 2 表示两个输入神经元的泊松脉冲序列, 他们以 w 1,1 和 w 1,2 的权重连接到 LIF 神经元, u 代表膜电位, λ
o 为 LIF 神经元的脉冲输出. LIF x 的导数是不连续的, 因此可由伪导数近
为泄漏系数, 神经元的输出 o 对其输入
似, 以便通过反向传播实现信用分配. 文献 [49] 使用代理梯度法来替代脉冲序列的导数, 并将权重二值化, 高效地
[79,80]
实现了支持神经形态硬件的 SNN 训练算法, 训练得到的 SNN 模型在 N-MNIST, DVS-CIFAR10, DvsGesture 和
N-TIDIGITS18 数据集上分别获得了 99.52%, 62.1%, 97.57% 和 90.35% 的识别准确率.
Poisson spike-train Leaky intergrate & fired
x 1 w 1,1
V t
t: 1 2 3 o i
u
t: 1 2 3
x 2 w 1,2
time
t: 1 2 3
t−1
t
u i = λu i +∑w ij x j t
j
t
1, if u >V
t
o i =
0, otherwise
t t t
do i do i du i
t t t
dx j du i dx j
w ij
Discontinuous Surrogate gradient/
gradient pseudo-deritative
u i =V t u i =V t
Linear
Exponential
→ →
u i u i
图 5 代理梯度训练方法 [76]
除了代理梯度法外, SNN 的有监督训练还包括反向误差传播训练法. 最早使用反向传播误差训练 SNN 的算
法之一是 SpikeProp [55] , 该模型使用 3 层结构成功地应用于分类问题. 文献 [77] 借助 SNN 中的脉冲时序来估计梯
度分量, 从而实现与传统 ANN 中采用的随机梯度下降过程类似的学习, 适合在神经形态硬件中实现.
在 SNN 的反向误差传播训练法中, 基于脉冲的梯度下降法是一种广泛被使用的方法. 该方法通过时间反向传
播 (backpropagation through time, BPTT) 执行信用分配, 结合脉冲序列中的时间信息实现更低的推理延迟 [78] . 由于
SNN 在前向传递中需要在多个时间步长上进行计算, 因此可以通过及时展开网络并执行 BPTT 来计算梯度. 如图 6
所示, BPTT 根据输入序列的长度展开 SNN, 并利用链式规则将计算出的最终误差反向传播到整个输入序列. 文
献 [79] 提出了一种使用 BPTT 进行训练的 SNN, 消除了梯度近似的需要, 最终在 MNIST 测试集上达到了 97.58%
的准确率.
尽管 BPTT 为训练 SNN 带来了新的方案 , 但其复杂的时空动态和巨大的内存消耗导致这类 SNN 在边缘
部署时的门槛很高 [81] . 同时, 这种训练方法在生物合理性方面也带来了一些问题, 且损害了 SNN 的在线处理能力.
最近, 几种受生物启发的在线训练算法 [82,83] 一定程度上解决了 BPTT 的缺陷. 这些算法将 BPTT 计算出的梯度因
t
T 1
式分解为瞬时学习信号 L 与神经元合格性轨迹 e 的时间乘积之和. 这两个信号在每个时间步长 上结合在一起,
可以得到训练参数的更新, 无需通过时间向后传播信息, 如图 7 所示.