Page 375 - 《软件学报》2025年第10期
P. 375
4772 软件学报 2025 年第 36 卷第 10 期
表 1 不同应用的脉冲发放率
SNN学习算法 SNN应用 神经元发放率 (%)
[22]
SLAYER NMNIST 0.53–6.97
SLAYER N-CARS ≤5
ANTLR [23] MNIST 0.04–0.11
(2) 以时间维度划分的计算流程
神经元膜电位的动力学方程难以直接求解, 在计算中一般使用前向欧拉方法提供数值解, 通过对连续的时间
进行离散采样, 不断迭代时间而计算膜电位值. 实际计算时一般每隔一小段物理时间 (也称作时间步) Δt 进行采样,
神经元的膜电位跟随时间步不断更新.
神经元发出的脉冲会通过突触对后续的神经元产生影响, 而突触传播的延迟使得此影响可能要在若干时间步
后才被施加. 同时, 生物突触可塑性的调节往往与时序信息相关. 比如, 被广泛接受的脉冲时序依赖可塑性规则 (简
称为 STDP 规则) 就指出, 突触会随着突触前后神经元的发放相关性来调整自身权值, 两者产生脉冲发放的时间差
影响着权值的调整幅度. 综上所述, SNN 中一般以时间维度来迭代动力学方程, 同时时间的绝对值也影响网络的
内部活动, 故一般会按照时间维度划分计算流程.
在以时间维度划分的计算流程中, 神经元需要更新自身状态, 并计算其对后续突触的影响, 这种影响一般需要
每个时间步进行同步以确保网络活动的正确性. 由于更新和交换数据量较大, 所以访存可能会占据整个计算过程
的主体. 为优化访存, 可通过合并同类型神经元/突触进行并行计算提高空间并行度, 或多个时间步后进行集体同
步以减少数据的整体交换.
DNN 中的层既作为功能主体, 又通过构造出的计算图设定了计算的先后顺序. 即使是 RNN、LSTM 这种引
入时间维度的网络, 在处理中也是沿着时间维度展开网络, 依次计算隐藏状态, 因此整体上还是遵循层级划分的逻
辑. 需要指出的是, D-SNN 的构造特性通常偏向于 DNN, 所以也可以按照层级划分的方式进行计算, 其突触间传
播延迟为 0, 时间只作为一个循环维度. 此类网络可使用针对 DNN 的优化方法, 具体策略本文不作过多讨论.
1.3 不同架构的类脑芯片
类脑芯片的架构跨度很大, 从传统冯诺依曼架构到基于新兴神经形态器件的数据流架构, 并且两端之间有各
种混合架构; 共同特征是高效支持 SNN 这一计算范式, 且通常在架构设计上体现了不同层次的存算融合特点.
属于冯诺依曼架构的类脑芯片是 SpiNNaker [24] , 主要依赖于众多的 ARM 核进行软件形式的神经元计算, 但其
脉冲信号传输是由定制硬件支持的. 此外, 类脑软件的开发与功能测试 (在部署前) 通常也是依赖于传统通用处理
器 (包括 GPGPU) 进行的.
基于新兴神经形态器件的芯片以模拟电路形式完成突触处理 (如, 针对神经元间脉冲信号与突触权重的基于
交叉开关结构的点积运算) 与/或神经元计算, 并因为具有存算合一特点, 可以将其抽象为一种数据流架构 CGRA
(tile-based coarse-grained reconfigurable array). 此外, 采用类交叉开关结构, 但基于数字电路实现的也可归为这一
类, 如 IBM 的 TrueNorth [25] .
还有混合架构, 如 Tianjic 芯片 [26] 、基于 FPGA 的 GaBAN [14] 、Intel 的 Loihi [27] 等. 比如, GaBAN 是数据流+控
制流架构, 即采用简单众核, 每核都支持其设计的类脑计算指令集以实现具体的神经基元计算, 核间任务调度与驱
动则采用数据流机制.
上述众多的类脑芯片一般都附带有自身的工具链软件, 其核心部分就是编译器. 编译器是类脑计算基础软件
的关键组成部分之一, 但目前主要是为目标芯片定制设计的.
1.4 现有类脑计算基础软件
综述文献 [28] 总结了这一领域的一些情况, 其将类脑计算基本软件主要分为 3 种: 类脑芯片的编译器、专用
的类脑神经网络开发与模拟工具, 以及在现有 DNN 开发框架基础上扩展支持 SNN 的开发与模拟工具.
需要指出的是 Intel 于 2021 年底发布的 Lava (https://lava-nc.org/) 框架. Lava 将 SNN 应用抽象为基于 CSP

