Page 374 - 《软件学报》2025年第10期
P. 374
杨乐 等: BIVM: 类脑计算编译框架及其原型研究 4771
∑
V i (t) = V i (t−1)+λ[V i (t−1)−V leak ]+ w ji S j (t),
j
if V i (t)>V threshold then S i (t)= 1, V i (t) = V reset else S i (t)= 0.
针对这些模型, 多数类脑计算软硬件使用了前向欧拉方法 [20] 来提供数值解. 该方法相对简单, 精度也在可接
受范围内. 一些软件模拟器则使用更复杂的方法, 例如后向欧拉和 Crank-Nicholson 方法 [20] 来提供更准确和稳定的
数值解. 与深度神经网络 (DNN) 的神经元计算相比, 求解膜电位的动态方程 (包括计算输入电流) 计算过程相对复
杂且耗时.
1.2 SNN 的计算特点
图 1 展示了 SNN 的计算形式. SNN 的神经元组代表类型与功能相似的一组神经元, 类似于 DNN 的层 (layer);
神经元的状态会根据膜电位方程进行不断迭代更新; SNN 的突触组代表功能类似的一组突触, 单向连接两个神经元组.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
图 1 SNN 计算过程伪代码
与 DNN 相比, SNN 的不同计算特征体现在以下两部分.
(1) 脉冲传播的稀疏性
对于目标神经元而言, 脉冲传播过程需要累加其每一个突触前发放神经元对其自身的状态影响 (见图 1 中
spike_prop 函数), 该计算过程中的两个输入, 发放状态和连接矩阵都具有稀疏特性. 具体而言, 发放状态由 0/1 构
成, 指示神经元是否发放. 生物神经网络神经元的放电速率通常低于 100 Hz, 甚至只有几赫兹或更低 [21] , 而数值模
拟方法内的一个时间步通常为 0.1 ms, 故平均一个时间步内产生脉冲的神经元不超过 1% (稀疏度大于 99%, 见
表 1, 其中 SLAYER 与 ANTLR 是两种典型的基于误差反向传播的 SNN 训练方法; NMNIST 或 MNIST 是其对应
的手写数字分类任务及 MLP 网络, 而 N-CARS 是对应的汽车分类任务及卷积网络, 均是 SNN 训练算法研究中经
常被作为应用示例的图像分类任务). 发放状态的非零元数量和位置会根据输入和网络的情况随时间步而变化, 可
以视作随机分布. D-SNN 的构造特性偏向于 DNN (不论是其网络拓扑还是训练方法), 因此整体发放率会高些, 一
般在 10% 以下, 且由 ANN 转化而来的发放率要比经过训练直接得到的发放率更高.
连接矩阵代表着神经元组之间的突触连接, 生物网络的稀疏性会带来连接矩阵的稀疏性. 连接矩阵的非零元
不会随计算过程发生变化, 故一般以稀疏格式进行存储; 稀疏格式会使计算过程的访存变得不规则. 计算神经学应
用中生物突触连接密集程度一般在 20% 以下, 连接矩阵较稀疏, 而 D-SNN 应用往往使用全连接或卷积层, 密集程
度较高或者连接较为规则.

