相关工作:
两种主要的训练深层SNNs的方法:
1、ANN to SNN的方法:
先训练一个有ReLU激活函数的有替代梯度的bp,然后把ANN转换到SNN,通过把ReLU激活函数转换成一个脉冲神经元,和增加一些比例缩放操作,类似权重归一化和阈值平衡。一些最近的转换方法已经达到了损失更少的VGG16。然而,这些被转换的SNNs需要一个更长的时间去在精度上与原始的ANN竞争因为这些转换方法是基于比率编码的,这也提高了SNN的延时和约束了务实的应用。
2、BP的方法可以分成两类:
第一类是通过仿真时间步数上打开的网络计算梯度,类似于BPTT。作为与阈值引发的发放有关的梯度是不可区别的,替代的梯度被经常使用。
第二类是计算在脉冲时间,存在的与细胞膜电势有关的脉冲的时间的梯度
脉冲残差结构:
先前的ANN to SNN方法注意到了朴素前馈ANN和残差ANN之间的区别,并且做了特殊的归一化给转换方法。Sengupta等人提出了Spike-Norm方法去平衡SNN的阈值和通过转换VGG和ResNet到SNN上。已经存在的基于BP的方法用在用几乎相同的结构和ResNet。Lee等人评估他们的定制的替换的方法在浅层ResNets,它们的深度不超过11层,郑等人提出了依赖阈值的批归一化算法去替换前期的批归一化算法并且成功地直接用替换的梯度通过增加依赖阈值的批归一化发放,训练了34层的脉冲残差网络额50层的脉冲残差网络。
3、方法
脉冲神经元是SNNs的基本计算单元。我们用一个被整合的模型去描述所有种类脉冲神经元的动态特性,包括了下面这些离散时间公式

X[t]是在时间步骤t的输入电流,H[t]和V[t]分别指的是在神经元动态特性之后的细胞膜电势和在时间t的一个脉冲引发之后的细胞膜电势。Vth是发放阈值,函数f描述神经元的动态特性和对于不同的脉冲神经元模型有不同的形式。比如说,IF和LIF神经元模型的函数f分别如下。
解决脉冲神经网络中的梯度消失和爆炸:SEWResNet

该文探讨了训练深层脉冲神经网络(SNNs)的挑战,尤其是脉冲ResNet中的身份映射问题和梯度消失与爆炸。提出了SEWResNet,一种新的残差块结构,能够实现残差学习并克服这些问题。SEWResNet利用脉冲的二元特性,通过智能元素函数实现在不同神经元模型上的身份映射,同时防止梯度消失和爆炸。此外,它解决了在复杂神经元模型中实现精确身份映射的难题。
最低0.47元/天 解锁文章
1807

被折叠的 条评论
为什么被折叠?



