图优化方法
SpiNeMap
Mapping spiking neural networks to neuromorphic hardware.
开源代码地址: https://github.com/Jinouwen/SpiNeMap
优化指标:Global spikes,latency,energy consumptions
类脑芯片:DYNAP-SE
步骤分析:
- SNN模拟与分析:使用SNN软件模拟器(CARLSim)提取经过训练的SNN网络的拓扑结构和神经元的行为,形成无向SNN图以及脉冲行为轨迹;
○ 无向SNN图以神经元为节点、神经元与神经元之间的突触为边;
○ 脉冲行为轨迹包含源神经元以及目的神经元的编号和激发时间 - 划分:随机无向SNN图划分为多个SNN子块,使用启发式算法Kernighan-Lin graph partitioning algorithm,通过在不同子块之间交换神经元优化SNN子块之间的脉冲通信量;
○ 每个SNN子块中神经元数目不能超过单个crossbar所能容纳的神经元数
○ 每个SNN子块只会被分配给一个crossbar - 映射:使用启发式搜索算法(PSO,粒子群算法)找到一个最优的映射方案将SNN子块分配给目标硬件上的神经元核,最小化目标硬件上脉冲在crossbar之间传播的平均延迟和能量消耗(通过最小化脉冲传播的平均跳数实现)。基于拓展的Noxim平台(Noxim++)实现搜索算法中的指标函数计算。
创新点
将SNN网络的划分和SNN网络分块到物理硬件的映射一起考虑,形成完整的映射方案。
问题
没有提到神经元的扇入突触超过crossbar限制如何解决?
ISI distortion:inter-spike intervals失真,会引起模型精度的下降,定义为
$$ I_j^s\|_{distortion}=I_j^s|_{new}-I_j^s = \delta_j^s-\delta_{j-1}^s $$
,其中$ \delta_j^s $表示第j个脉冲在第s个突触上传播的延迟,当突触位于crossbar上时,可以认为$I_j^s\|_{distortion}=0$,当突触映射到NoC上时,$I_j^s\|_{distortion}\neq 0$。当输入编码方案为速率编码时,ISI distortion可能没有影响,论文中提出了另一种直觉的spike disorder的指标
$$ \sum_{j=1}^{n_i}[(F_j^i-\hat{F}_j^i)^2]/n_i $$
,$F_j^i$和$\hat{F}_j^i$分别表示神经元i中的第j个脉冲到达的频率。
评论 (0)