Page 358 - 《软件学报》2025年第4期
P. 358
1764 软件学报 2025 年第 36 卷第 4 期
信息进行编码, 不依赖于每个脉冲事件的精确时间, 也不需要额外的训练信息, 方法相对简单, 有更好的鲁棒性和
抗扰性. 时间编码通过神经元发出脉冲的精确定时进行编码, 可以提供更大的信息容量、更快的反应时间和更高
的传输速度, 有更低的功耗和更快的计算速度, 但是结构更为复杂, 且拥有更高的训练门槛.
表 2 速率编码和时间编码在硬件实现中的性能比较
编码方案 复杂度 鲁棒性 信息量 功耗 速度 反应时间 训练难度
速率编码 低 高 少 高 慢 长 低
时间编码 高 低 多 低 快 短 高
值得一提的是, 速率编码和时间编码拥有各自的独特优势, 组合这些方案可能对系统性能产生巨大影响, 这种
组合方案被称为混合编码. 混合方式可以是神经编码方案在网络层之间变化 [58] , 也可以是神经元在编码方案之间
切换 [59] , 文献 [60] 提出了一种多层编码方案, 脉冲序列根据时间尺度在不同编码方案的不同通道中表示信息. 目
前为止, 脉冲编码的混合方案还没有明确的主题定义, 也没有成体系的硬件实现, 未来还需要进一步的研究.
另一方面, 由于没有一种适用于所有神经形态应用的通用编码方法, 因此在实际环境下所使用的编码方案也
视情况而定. 为了解决多种编码方法的兼容问题, 文献 [61] 提出了第 1 个基于硬件的脉冲编码器, 支持多种脉冲
编码方案和运行时配置, 并允许集成到各类神经形态硬件中, 为 SNN 在边缘部署时的脉冲编码方案选择提供了新
的思路.
1.3 脉冲神经网络的训练
在深度学习领域, 基于梯度的误差反向传播训练算法 [16] 是当前 DNN 优化理论的核心, 在实际场景中得到了
广泛应用. 然而, 在 SNN 中, 学习是一项艰巨的任务, 由于脉冲事件的不可微性, SNN 无法直接应用传统的 BP 训
练算法进行学习, 也没有公认的核心训练算法. 目前, 训练 SNN 主要有 3 种策略: 无监督学习、监督学习和 ANN-
to-SNN 转换法.
1.3.1 无监督学习
无监督学习是指从未标记数据中识别模式的训练算法, 此时输入数据没有相应的标签, 需要训练算法自行学
[62]
的无监督学习基于
Hebb 规则
, 该规则会使网络的突触连接适应
习无标签数据中隐藏的规律或分布关系. SNN [66−71]
神经元接收到的数据. 脉冲时间相关的可塑性 (spike-timing dependent plasticity, STDP) 算法 [63] 是 Hebb 规则的一
种实现, 基于 STDP 的学习规则根据各自脉冲时间的相关程度, 修改连接一对突触前和突触后神经元的突触权重 [64] .
其中, 对神经元发射脉冲有贡献的突触应该得到加强, 对那些没有贡献或以消极方式贡献的突触应该被削弱 [65] .
最常见的 STDP 规则由公式 (13) 描述.
( −∆t )
+A + exp
, ∆t > 0
τ
∆ω = ( )
+∆t (13)
−A − exp , ∆t ⩽ 0
τ
∆t = t post −t pre
其中, ω 为突触权重, τ 为时间常数, A + 和 A − 为表示增强和抑制强度的参数.
近年来, 由于 STDP 的生物启发特性不仅适合离线学习和推理, 还能以无监督方式学习输入模式的结构, 所以
有非常多的工作将 STDP 规则用于片上学习 . 文献 [66] 提出了一种具有生物合理性的基于在线 STDP 学习
规则的 SNN 模型, 其神经元和突触活动被数字化, 更利于硬件实现, 所提出的模型在 55 nm CMOS 工艺下, 硬件资
源和功耗分别减少了 40.7% 和 36.3%.
然而值得注意的是, SNN 的权重需要大量的片上存储空间进行保存, 同时, STDP 规则的实现过程中涉及大量
耗时耗能的内存访问, 这些限制都是亟需解决的问题, 需要提高硬件面积利用率和能效. 为了解决 STDP 硬件实现
的存储问题, 目前已经提出了一些方法, 如查找表、分段线性和以 2 为底的指数近似 [72] . 文献 [67] 提出了一种专
用于 SNN 的 CMOS 突触和神经元, 以生物启发的方式执行 STDP 学习, 性能评估结果表明, 与传统 CMOS 突触相