Computer Science

类脑_导读 | AAAI_Direct Training for

2019-09-30  本文已影响0人  Janeshurmin

Title:AAAI_Direct Training for Spiking Neural Networks: Faster, Larger, Better

作者:Yujie Wu, Lei Deng, Guoqi Li, Jun Zhu,Yuan Xie and Luping Shi

关键词:类脑、SNN、LIF、STBP、NeuNorm、rate coding、pytorch


1. 研究动机

SNN与ANN的差别很大程度体现在SNN具备了丰富的时空动态特性和事件驱动范式。但由于缺乏有效的训练算法高效的编程框架,SNN目前还没有表现出与ANNs相当的性能,这极大地限制了网络的规模和应用范围。

(1) SNN训练算法的三大挑战:

(2) 编程框架困境:

PyNN、Brain2、NEST、Neuron、BindsNET

2. 研究目标

针对训练算法和编程框架两方面提出一套全栈解决方案,以实现更快、更大、更好的SNN。

解决方案:

3. 研究内容

3.1 Explicity iterative LIF

LIF模型通常用来描述神经元活动的行为, 包括细胞膜电位的更新和脉冲发放,公式表达如下:

[图片上传失败...(image-896a73-1569827068379)]


等效电路如下:

[图片上传失败...(image-1da663-1569827068379)]
[图片上传失败...(image-71ce73-1569827068379)]

其中\tau为膜时间常数;

[图片上传失败...(image-763521-1569827068379)]

通过欧拉方程转为显示迭代表达式,并将突触前输入展开为线性求和形式,并将微分的缩放效果纳入权重W,即

[图片上传失败...(image-f101ea-1569827068379)]

[图片上传失败...(image-a5f2d6-1569827068379)]


证明如下:

[图片上传失败...(image-52c74d-1569827068379)]

合并公式4和2,即在4中加入2的发放重置功能,规避公式1和2的分段问题,得到<font color = FireBrick>公式5(非常重要)</font>:

[图片上传失败...(image-836f8-1569827068379)]

其中,t表示时间,n和l(n)分别表示第n层及其神经元数量,w_{ij}为从n层的第j个神经元到n+1层的第i个神经元的突触权重,这里假设u_{reset} = 0o^{t+1,n+1}(i),即得到<font color = FireBrick>公式6</font>:

[图片上传失败...(image-40d220-1569827068379)]

其中,f(.)为阶跃函数;


下图为个人理解,也就是说,

u(t+1,n+1) = u(t,n+1) + u(t+1,n)

[图片上传失败...(image-27a002-1569827068379)]

所以,LIF神经元的膜电位更新流程如下表所示:

[图片上传失败...(image-c2a117-1569827068379)]

3.2 NeuNorm

考虑两个卷积层之间的信号通信,神经元在n层的第f个特征图的位置(i,j)处,接收卷积输入I,则膜电位更新的公式5改写为:

[图片上传失败...(image-e87c5-1569827068379)]

其中,W_{c,f}^n表示第n层的第c个卷积核与第n+1层的第f个卷积核之间的权重, *为卷积操作,R(i,j)表示位置(i,j)的局部
接收域;

为了保证刺激强度保持在一个相对稳定的范围内,以避免活动随着网络的深化而消失或爆炸,用神经学理解就是,保证突触前刺激的及时性和可选择性,避免出现可能损害有效信息表达的过多脉冲,引入辅助神经元,对n层不同FMs(s个卷积核——>s个FM)在相同空间位置的输入强度进行归一化(feature map,卷积特征图),辅助神经元状态x的更新公式如下:

[图片上传失败...(image-3ad3c8-1569827068379)]

其中,k_{\tau2}表示衰减因子, v代表恒定的比例因子,F代表第n层网络的特征图数量,公式前半部分表示对输入发放速率的平均响应,令k_{\tau2} + vF = 1(个人理解这里应该是v/F)

[图片上传失败...(image-631a19-1569827068379)]

假设辅助神经元接收来自同一层的横向输入,并通过可训练的权重U_c^n传递信号,控制向下一层发射的刺激强度,它的大小与特征图FM尺寸相同。因此,下一层神经元的输入I可以被修改为:

[图片上传失败...(image-afd1bb-1569827068379)]

NeuNorm方法本质上是通过输入统计量(移动平均发放速率)使神经元活动标准化,基本操作类似于批处理归一化中的零均值操作,但NeuNorm是沿着通道维度而不是批处理维度对数据进行标准化。

3.3 Rate coding

速率编码


为了降低对长时窗口的需求,分别从编码层和解码层扩展了SNN的表达能力。无论内部精度如何降低,保持第一层和最后一层较高的精度对收敛性和性能很重要。

编码

解码

3.5 Overall training(STBP)

给定损失函数L,表示在给定时间窗T内,平均投票结果和标签向量的MSE:

[图片上传失败...(image-975aef-1569827068379)]

脉冲信号不仅通过层与层之间的空间域传播, 也通过时域影响神经元的状
态,通过STBP训练网络

[图片上传失败...(image-499f69-1569827068379)]
[图片上传失败...(image-42d9de-1569827068379)]

由于,

[图片上传失败...(image-1050c9-1569827068379)]

其中,宽度参数a表示h(u)的形状shape,因此可用矩形函数h(u)来近似脉冲活
动的导数,以避免二值脉冲不可微的情况;

[图片上传失败...(image-e2c50d-1569827068379)]

如下为SNN整体训练的伪代码:

[图片上传失败...(image-84b3c-1569827068379)]

4. 实验/评估

数据集

实验结果

[图片上传失败...(image-63aec0-1569827068379)]

[图片上传失败...(image-46bc7-1569827068379)]

[图片上传失败...(image-dc0503-1569827068379)]

[图片上传失败...(image-779667-1569827068379)]

[图片上传失败...(image-39fa04-1569827068379)]

[图片上传失败...(image-3093c0-1569827068379)]

[图片上传失败...(image-419a7-1569827068379)]

5. 问题归纳

6. 参考文献

上一篇下一篇

猜你喜欢

热点阅读