一种增强脉冲神经网络表达能力的方法
未命名
08-14
阅读:98
评论:0

1.本发明涉及脉冲神经网络技术领域,特别涉及一种增强脉冲神经网络表达能力的方法。
背景技术:
2.脉冲神经网络(snn)作为第三代神经网络,具有异步计算、低功耗和时域动态性等特点,特别适用于当前一些有功耗限制的移动端设备。相较于传统的人工神经网络(ann),snn更符合生物神经网络的规则,更接近人脑信息处理结构与机制,因而具有更好的生物合理性以及更加丰富的时空信息处理能力。snn利用的是二值脉冲进行信息传输,所以在计算突触电流与突触权重的乘积时,只需要使用加法,避免了乘法的巨大能耗开销,同时也能降低推理阶段的时间消耗。
3.然而,也正是由于snn传输的信息是二值的,所以导致其表达能力受到了较大的限制。虽然可以通过扩展时域维度来补充脉冲神经网络受损的表达能力,使其在仿真时间步数足够时能够有较好的性能,但是大规模snn的性能仍然与传统人工神经网络具有一定的差距。
4.基于此,一些技术手段从snn的训练算法入手,通过改变损失函数或者是调节膜电位分布的方式来提升snn的分类精度。但是脉冲神经网络的时域特性目前还尚待挖掘,特别是脉冲神经网络不同时刻之间脉冲神经网络内部的信息交流。目前的技术手段仅仅是在神经元模型中通过将前一时刻的膜电位信息累积到下一个时刻的形式传递时序信息,这种形式受限于其局部性,无法在全局的视角上充分利用snn的时域特性,因而仍然未能很好地提升snn的表达能力。
技术实现要素:
5.针对上述现有技术的不足,本发明提供了一种增强脉冲神经网络表达能力的方法。
6.为实现上述目的,本发明采用的技术方案如下:
7.一种增强脉冲神经网络表达能力的方法,其是在脉冲神经网络中添加若干全局时域反向连接,用于在时域上拓展脉冲神经网络的拓扑结构;同时采用基于分数选择初始化的搜索框架,寻找脉冲神经网络空间中的最优全局时域反向连接;所述全局时域反向连接的表达式为:
8.i(i)(t)=w(i)s
(i-1)
(t)+w
(*)
γ(s
(j)
(t-1))#
9.其中,w(i)表示脉冲神经网络中第(i-1)层到第i层的前向连接权重,w
(*)
表示全局时域反向连接权重,s
(i-1)
(t)表示t时刻第(i-1)层神经元的输出脉冲,γ(
·
)表示最邻近插值操作;
10.所述搜索框架中的输入包括:训练好的超网络f,验证集d
val
,以及用于计算n-score的数据集dn和用于计算e-score的数据集de;参数包括:算法迭代周期i、突变概率α、交
叉概率β、因突变产生的最大网络架构数目p
mu
、因交叉产生的最大网络架构数目p
cr
、初始化种群大小p
init
、top-k的种群p
top
、迭代种群大小p
temp
;输出包括:最好的全局时域反向连接组合。
11.进一步地,所述搜索框中,i=20,α=0.2,β=0.5,p
mu
=10,p
cr
=10,p
init
=2000,top-k的种群大小k=10,p
temp
=20。
12.具体地,寻找脉冲神经网络空间中的最优全局时域反向连接的过程如下:
13.(1)从搜索空间中随机选取2000个网络架构作为p
init
;
14.(2)在p
init
中通过数据集dn和de分别计算出每个网络架构的n-score和e-score,根据分数情况从大到小排序,分别选出top-10网络结构,共同组成进化算法的初始种群p
temp
;
15.(3)进入迭代过程,每次迭代如下:
16.(301)根据训练好的超网络f和验证集d
val
,测试出p
temp
中网络架构在验证集上分类精度;
17.(302)比较p
temp
种群,然后更新p
top
;
18.(303)通过突变和交叉生成新的p
temp
;
19.(4)选出p
top
中的前五,然后将这些全局时域反向连接组合分别接入标准脉冲神经网络中,从头开始训练,根据在测试集上的结果选出最好的全局时域反向连接组合。
20.进一步地,所述步骤(303)中,若生成的p
temp
数量不够,则用随机采样的方法补全数量。
21.具体地,所述脉冲神经网络采用lif模型,其中的损失函数采用时间高效训练损失函数。
22.再进一步地,所述脉冲神经网络中采用如下三角形的代理梯度函数:
[0023][0024]
其中,b是超参数,决定了三角形的尖锐程度;v(t)是神经元膜电位;v
th
是膜电位阈值,大小为1。
[0025]
与现有技术相比,本发明具有以下有益效果:
[0026]
(1)本发明通过对标准的脉冲神经网络添加若干全局时域反向连接,添加的反向路径会将后续层的某一个时刻的信息输入到下一个时刻前面层,在全局层面上扩展snn的时域特性,如此便能对模型在分类任务上的精度有很大的提升,即全局时域反向连接的加入使得脉冲神经网络对其时域信息的利用率增加,从而提升了snn模型的表达能力。
[0027]
并且,本发明添加的全局时域反向连接对脉冲神经网络的结构改变不大,硬件上实现容易;同时,本发明没有增加任何浮点数运算,在推理阶段几乎没有额外的时间和显存的开销,很好地实现了技术、效率以及成本之间的相对平衡。
[0028]
(2)以训练好的超网络为依据,根据验证集上的精度来预测各个子网络的性能,结合进化算法不断进行迭代以找到更好的网络架构是神经架构搜索领域常用的方法。但是这种方法常常由于没有很好的初始化种群而导致需要迭代大量的周期,时间开销很大。对此,本发明设计了一个高效的反向连接架构搜索框架,这个搜索框架根据snn全局时域连接的概念定义了全新的纯拓扑搜索空间,可以对脉冲神经网络全局时域反向连接的搜索迅速收敛,快速找到最优全局时域反向连接,从而有效缩短搜索时间,节约了开销。
[0029]
(3)针对脉冲神经网络模型的训练,本发明采用了一个三角形的代理梯度函数来
近似模型中的阶跃函数的梯度,如此一来,可以在网络的最后一层直接统计i(t)的输出结果均值,然后将其作为最终的分类目标,并特别设置o(t)来代表最后一层在t时刻的输出,从而为snn的训练提供非常好的便利。
[0030]
(4)相比于目前最好的脉冲神经网络所报告的性能,本发明通过添加全局时域反向连接,并结合基于分数选择初始化的搜索框架,不仅时间开销小、寻找最优全局时域反向连接的效率高,而且实验表明,在具有挑战性的数据集tiny-imagenet上,本发明取得了约8.83%的性能提升(与现有技术相比较)。
附图说明
[0031]
图1为本发明-实施例中采用的搜索框架对全局时域反向连接的搜索收敛流程图。
[0032]
图2为本发明-实施例中不带有时域反向连接的resnet18、resnet19和带有搜索出的时域反向连接的resnet18、resnet19在cifar100测试集上的准确率对比示意图。
具体实施方式
[0033]
下面结合附图说明和实施例对本发明作进一步说明,本发明的方式包括但不仅限于以下实施例。
[0034]
实施例
[0035]
本实施例提供了一种增强脉冲神经网络表达能力的方法,可以从全局的角度来提升snn的表达能力。
[0036]
本实施例的主要创新点如下:
[0037]
1、在snn中构建全局反向连接;
[0038]
2、采用基于分数选择初始化的搜索框架,用于寻找脉冲神经网络空间中的最优全局时域反向连接。
[0039]
下面分别对本实施例中的脉冲神经网络、全局反向连接以及基于分数选择初始化的搜索框架进行介绍。
[0040]
1、脉冲神经网络
[0041]
(1)脉冲神经元模型
[0042]
本实施例采用lif脉冲神经元,其数学模型如下:
[0043]
v(t+1)=τv(t)+i(t)#
[0044]
其中,v(t)是神经元膜电位;τ是膜电位的衰减常数;i(t)是突触前电流输入,由突触权重w与脉冲输入x(t)的乘积得到。
[0045]
设置一个膜电位阈值v
th
,当膜电位v(t)超过阈值时,神经元发射一个脉冲,膜电位v(t)将重置为0:
[0046]
s(t+1)=θ(v(t+1)-v
th
)#
[0047]
v(t+1)=v(t+1)
·
(1-s(t+1))#
[0048]
其中,θ是阶跃函数,输出脉冲s(t+1)将变成后突触脉冲并传播到下一层。本实施例中,设置膜电位阈值v
th
为1,膜电位衰减常数为0.5。
[0049]
(2)损失函数
[0050]
本实施例采用时间高效训练(tet)损失函数,数学表达式如下:
[0051][0052]
其中,o(t)表示输出层的前突触输入,y表示分类任务的目标标签,t表示网络采用的仿真时间步,表示交叉熵损失函数。
[0053]
(3)代理梯度函数
[0054]
上述脉冲神经元模型中,阶跃函数θ在输入大于0的时候输出为1,其他时候输出为0;其梯度在除了输入等于0以外的地方均为0,在输入等于0处的梯度不存在。对此,本实施例采用一个三角形的代理梯度函数来近似阶跃函数θ的梯度,其具体数学形式如下:
[0055][0056]
其中,b是超参数,决定了三角形的尖锐程度,本实施例中设置为1。
[0057]
通过采用上述形式的代理梯度函数来近似阶跃函数θ的梯度,可以在网络的最后一层直接统计i(t)的输出结果均值,然后将其作为最终的分类目标,并特别设置o(t)来代表最后一层在t时刻的输出,从而为snn的训练提供了非常好的便利。
[0058]
2、脉冲神经网络的全局时域反向连接
[0059]
假设在脉冲神经网络中,一条全局时域反向连接从第j层连接到了前面的第i层(j≥i),这将对第i层神经元上的膜电位补充电流输入,这时第i层的总突触电流输入为:
[0060]
i(i)(t)=w(i)s
(i-1)
(t)+w
(*)
γ(s
(j)
(t-1))#
[0061]
其中,w(i)表示脉冲神经网络中第(i-1)层到第i层的前向连接权重,w
(*)
表示全局时域反向连接权重,s
(i-1)
(t)表示t时刻第(i-1)层神经元的输出脉冲,γ(
·
)表示最邻近插值操作。
[0062]
通过全局时域反向连接,可以在时域上拓展脉冲神经网络的拓扑结构,从而实现模型表达能力的增强。
[0063]
3、基于分数选择初始化的搜索框架
[0064]
本实施例提出了一种分数选择初始化的方法,具体而言,根据各个子网络的初始化状态,通入一个批量的数据并分别计算e-score和n-score,根据这两个分数进行一个预筛选,得到进化算法的初始化种群,从而加快搜索过程的收敛。
[0065]
本实施例中,整个搜索框架如下:
[0066]
输入:训练好的超网络f,验证集d
val
,计算n-score的数据集dn和计算e-score的数据集de。
[0067]
参数:算法迭代周期i=20、突变概率α=0.2、交叉概率β=0.5、因突变产生的最大网络架构数目p
mu
=10、因交叉产生的最大网络架构数目p
cr
=10、初始化种群大小p
init
=2000、top-k的种群为p
top
,种群大小k=10、迭代种群大小p
temp
=20。
[0068]
输出:最好的全局时域反向连接组合。
[0069]
具体流程如下(图1):
[0070]
(1)从搜索空间中随机选取2000个网络架构作为p
init
;
[0071]
(2)在p
init
中通过数据集dn和de分别计算出每个网络架构的n-score和e-score,根据分数情况从大到小排序,分别选出top-10网络结构,共同组成进化算法的初始种群p
temp
;
[0072]
(3)进入迭代过程,每次迭代如下:
[0073]
(301)根据训练好的超网络f和验证集d
val
,测试出p
temp
中网络架构在验证集上分
类精度;
[0074]
(302)比较p
temp
种群,然后更新p
top
;
[0075]
(303)通过突变和交叉生成新的p
temp
;如果生成的数量不够,用随机采样的方法补全数量,补全速度快、且不影响p
temp
的分类精度;
[0076]
(4)选出p
top
中的前五,然后将这些全局时域反向连接组合分别接入标准脉冲神经网络中,从头开始训练,根据在测试集上的结果选出最好的全局时域反向连接组合。
[0077]
验证:
[0078]
图2对比了不带有时域反向连接的resnet18、resnet19和带有搜索出的时域反向连接(本实施例)的resnet18、resnet19在cifar100测试集上的准确率,根据图2可以看出,本实施例在不同仿真时间步(4、6)的测试集精度上都有明显的提升,证明了本实施例的方案是有效的。
[0079]
上述实施例仅为本发明的优选实施方式之一,不应当用于限制本发明的保护范围,凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内。
技术特征:
1.一种增强脉冲神经网络表达能力的方法,其特征在于,在脉冲神经网络中添加若干全局时域反向连接,用于在时域上拓展脉冲神经网络的拓扑结构;同时采用基于分数选择初始化的搜索框架,用于寻找脉冲神经网络空间中的最优全局时域反向连接;所述全局时域反向连接的表达式为:i
(i)
(t)=w
(i)
s
(i-1)
(t)+w
(*)
γ(s
(j)
(t-1))#其中,w
(i)
表示脉冲神经网络中第(i-1)层到第i层的前向连接权重,w
(*)
表示全局时域反向连接权重,s
(i-1)
(t)表示t时刻第(i-1)层神经元的输出脉冲,γ(
·
)表示最邻近插值操作;所述搜索框架中的输入包括:训练好的超网络f,验证集d
val
,以及用于计算n-score的数据集d
n
和用于计算e-score的数据集d
e
;参数包括:算法迭代周期i、突变概率α、交叉概率β、因突变产生的最大网络架构数目p
mu
、因交叉产生的最大网络架构数目p
cr
、初始化种群大小p
init
、top-k的种群p
top
、迭代种群大小p
temp
;输出包括:最好的全局时域反向连接组合。2.根据权利要求1所述的一种增强脉冲神经网络表达能力的方法,其特征在于,所述搜索框中,i=20,α=0.2,β=0.5,p
mu
=10,p
cr
=10,p
init
=2000,top-k的种群大小k=10,p
temp
=20。3.根据权利要求2所述的一种增强脉冲神经网络表达能力的方法,其特征在于,寻找脉冲神经网络空间中的最优全局时域反向连接的过程如下:(1)从搜索空间中随机选取2000个网络架构作为p
init
;(2)在p
init
中通过数据集d
n
和d
e
分别计算出每个网络架构的n-score和e-score,根据分数情况从大到小排序,分别选出top-10网络结构,共同组成进化算法的初始种群p
temp
;(3)进入迭代过程,每次迭代如下:(301)根据训练好的超网络f和验证集d
val
,测试出p
temp
中网络架构在验证集上分类精度;(302)比较p
temp
种群,然后更新p
top
;(303)通过突变和交叉生成新的p
temp
;(4)选出p
top
中的前五,然后将这些全局时域反向连接组合分别接入标准脉冲神经网络中,从头开始训练,根据在测试集上的结果选出最好的全局时域反向连接组合。4.根据权利要求3所述的一种增强脉冲神经网络表达能力的方法,其特征在于,所述步骤(303)中,若生成的p
temp
数量不够,则用随机采样的方法补全数量。5.根据权利要求3或4所述的一种增强脉冲神经网络表达能力的方法,其特征在于,所述脉冲神经网络采用lif模型,其中的损失函数采用时间高效训练损失函数。6.根据权利要求5所述的一种增强脉冲神经网络表达能力的方法,其特征在于,所述脉冲神经网络中采用如下三角形的代理梯度函数:其中,b是超参数,决定了三角形的尖锐程度;v(t)是神经元膜电位;v
th
是膜电位阈值,大小为1。
技术总结
本发明公开了一种增强脉冲神经网络表达能力的方法,其是在脉冲神经网络中添加若干全局时域反向连接,用于在时域上拓展脉冲神经网络的拓扑结构;同时采用基于分数选择初始化的搜索框架,用于寻找脉冲神经网络空间中的最优全局时域反向连接。本发明通过对标准的脉冲神经网络添加若干全局时域反向连接,就能对模型在分类任务上的精度有很大的提升,提升了模型的表达能力;并且本发明通过设计基于分数选择初始化的搜索框架,还降低了搜索算法的时间开销。因此,本发明从全局角度上很好地提升了脉冲神经网络的性能。冲神经网络的性能。冲神经网络的性能。
技术研发人员:顾实 邓师旷 李巍
受保护的技术使用者:电子科技大学
技术研发日:2023.05.09
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/