System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于脉冲神经网络,具体涉及一种无需训练的脉冲神经网络架构优化方法和系统。
技术介绍
1、脉冲神经网络(spiking neural networks,snns)是一种模仿大脑神经元活动的神经网络模型,与传统的人工神经网络不同,它通过离散的脉冲传递信息。snn的神经元只有在其膜电位超过某个阈值时才会发出脉冲,这种方式类似于生物神经元的工作原理,因此更接近大脑的生物学行为。snn具有稀疏和时间编码的特点,能够更有效地处理时序信息,同时也因其事件驱动的计算方式具有节能的潜力,特别适合用于低功耗嵌入式系统和神经形态计算中。
2、神经网络模型剪枝算法是深度学习领域中一种重要的技术,旨在通过删除神经网络中的不必要连接或参数,以实现网络的精简和压缩,从而提高模型的效率和性能。随着深度学习模型在各种应用领域的广泛应用,模型的规模不断增大,导致模型参数数量庞大,计算和存储开销巨大,剪枝可以分为非结构化剪枝和结构化剪枝。非结构化剪枝是基于参数的大小进行剪枝,即直接剪除小于某个阈值的参数,而不考虑网络的整体结构。非结构化剪枝主要针对的是神经网络中的每一个参数。结构化剪枝是基于网络的结构进行剪枝,即剪枝后的网络仍然保持着与原始网络相同的结构,只是其中的部分连接或参数被剪除。结构化剪枝主要针对的是整个神经网络中的一些结构,比如整个神经元、一整层的连接等。
3、虽然目前研究采用上述方法得到了剪枝效果较优的ann,但上述方法应用到脉冲神经网络仍存在显著的缺点:结构化剪枝可能破坏snn的时序依赖性和生物学真实性,而非结构化剪枝
技术实现思路
1、现有方法在使用遗传算法搜索剪枝序列时大多采用内循环训练来评估每个架构的性能,这种方式不仅耗时,得到的结果也相对较差,针对这一技术问题,本专利技术的目的在于提供一种高效的脉冲神经网络剪枝方法,将预训练好的snn模型的通道剪枝问题变为最优剪枝序列的搜索问题,通过多目标优化算法搜索最优剪枝序列,在搜索过程中采用免训练方法,在较短时间内快速对子网络进行性能评估,并能够根据用户需求定制轻量化的snn模型。
2、第一方面,本专利技术公开了一种快速评分的脉冲神经网络架构优化方法,所述脉冲神经网络架构优化方法包括以下步骤:
3、s1,构建数据集t,将数据集t按一定比例分成训练集ttrain和测试集ttest;
4、s2,构建预训练脉冲神经网络模型n,将预训练snn模型n的通道结构表示为c=(c1,c2,...,cl),其中cj是网络第j层的通道数;对于剪枝snn模型n′,将其通道结构表示为c′=(c′1,c′2,...,c′l),其中c′j≤cj,c′j表示剪枝网络中第j层的通道数;
5、s3,确定多目标优化方程(c′)*=argmaxcacc(n′(c′,w′;ttrain);ttest),其中剪枝模型的通道结构满足c′j∈{0.1ci,0.2ci,...,αci},α=10%,20%,...,100%是给定的常数;
6、s4,将预训练好的snn模型的通道剪枝问题转化为最优剪枝序列的搜索问题,通过多目标优化算法搜索最优剪枝序列;其中,在搜索过程中采用免训练方法获得子网络结构评分,子网络结构评分用于反映不同子网络的精度值,将最高评分的子网络作为步骤s3中多目标优化方程的解;
7、s5,根据最优剪枝序列得到最优子网络sbest,对最优子网络sbest进行二次训练,得到训练好的最优snn剪枝模型。
8、步骤s3中,在子网络精度最大的同时,多目标优化方程满足以下条件:pchannel(c′)≥tchann,pflop(c′)≥tflops和pparams(c′)≥tparams;
9、其中tchann、tflops和tparams分别是目标通道剪枝率、目标flops剪枝率和目标参数剪枝率,pchann(c′)、pflops(c′)和pparams(c′)分别表示通道剪枝率、flops剪枝率和参数剪枝率;
10、
11、
12、
13、其中表示预训练模型的通道总数,表示剪枝后模型的通道总数,预训练网络第i层的flops为fi,剪枝后网络第i层的flops为f′i,预训练网络第i层的参数数量为pi,剪枝后网络第i层的参数数量是pi′。
14、步骤s4中,选择nsga-ii算法解决通道剪枝率和剪枝网络性能这两个冲突目标的优化问题,具体包括以下步骤:
15、s41,进行种群的初始化操作,设定种群大小为pnum,决策变量的维度是d,d的大小与脉冲神经网络待剪枝层数l有关,则初始种群可以表示为其中第i个个体表示第i个个体的第j个决策变量取值;
16、s42,采用免训练方法计算每个个体的适应度值;
17、s43,进行拥挤度分配,计算每个初始化个体的拥挤度:
18、
19、其中m表示目标函数的数量,表示个体在第m个目标函数上的值;
20、s44,进行非支配排序,得到非支配排序结果;
21、s45,在选择阶段,计算当前种群pt每个个体的拥挤度和进行非支配排序,根据非支配排序结果采用竞标赛选择策略选择出下一代种群的父代;精英保留选择策略为从排序好的前沿中依次选择解构成新的选择种群pt,直到选出的解数达到种群大小pnum;
22、s46,在交叉阶段,步骤s45选择的父代个体有一定交叉概率进行交叉操作对于选择进行交叉的两个个体和有:
23、
24、
25、其中和分别是交叉后生成的第t+1代个体,和分别是被选中的第t代个体,βqi是均匀分布因子,计算方式为:
26、
27、其中ui是属于[0,1)的随机数,η是交叉分布指数;
28、s47,在变异阶段,交叉后的个体有一定变异概率进行变异操作对于选择进行变异的个体有:
29、
30、其中是被选中的第t代个体,是经过变异得到的第t+1代个体,pmax和pmin分别是决策变量的上界和下界,δt是一个调整因子,计算方式为:
31、
32、其中rk为均匀分布的随机数,ηm为变异分布指数;
33、s48,每轮迭代后,当前种群会加入经过交叉和变异新生成的个体,得到一个临时种群;在临时种群计算非支配排序和拥挤度,选择适应度较高的pnum个个体得到新的种群;
34、s49,判断当前迭代次数是否达到itmax,若达到itmax,则进入步骤s410;若未达到itmax,则回到步骤s46继续执行;
35、s410,选择帕累托前沿中适应度最优的个体作为最优子序列,根据最本文档来自技高网...
【技术保护点】
1.一种快速评分的脉冲神经网络架构优化方法,其特征在于,所述脉冲神经网络架构优化方法包括以下步骤:
2.根据权利要求1所述的快速评分的脉冲神经网络架构优化方法,其特征在于,步骤S3中,在子网络精度最大的同时,多目标优化方程满足以下条件:Pchannel(C′)≥Tchann,PFLOPs(C′)≥TFLOPs和Pparams(C′)≥Tparams;
3.根据权利要求1所述的快速评分的脉冲神经网络架构优化方法,其特征在于,步骤S4中,选择NSGA-II算法解决通道剪枝率和剪枝网络性能这两个冲突目标的优化问题,具体包括以下步骤:
4.根据权利要求3所述的快速评分的脉冲神经网络架构优化方法,其特征在于,步骤S42进一步包括:
5.根据权利要求3所述的快速评分的脉冲神经网络架构优化方法,其特征在于,步骤S44进一步包括:
6.一种基于权利要求1-5任一项所述方法的快速评分的脉冲神经网络架构优化系统,其特征在于,所述脉冲神经网络架构优化系统包括:
【技术特征摘要】
1.一种快速评分的脉冲神经网络架构优化方法,其特征在于,所述脉冲神经网络架构优化方法包括以下步骤:
2.根据权利要求1所述的快速评分的脉冲神经网络架构优化方法,其特征在于,步骤s3中,在子网络精度最大的同时,多目标优化方程满足以下条件:pchannel(c′)≥tchann,pflops(c′)≥tflops和pparams(c′)≥tparams;
3.根据权利要求1所述的快速评分的脉冲神经网络架构优化方法,其特征在于,步骤s...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。