基于稀疏学习与遗传算法相结合的神经网络剪枝方法技术

技术编号:24036801 阅读:29 留言:0更新日期:2020-05-07 02:08
本发明专利技术公开了一种基于稀疏学习与遗传算法相结合的神经网络剪枝方法,主要解决神经网络对存储资源和计算资源消耗大的问题。其实现方案是;通过稀疏学习的方式训练神经网络,得到稀疏化的网络结构;利用遗传算法以及一种动态可调节的评价因子对训练好的神经网络中潜在的子网络进行启发式搜索,并在适应度函数的引导下自动搜索出符合需求的最佳子网络;将得到的最佳子网络进行再训练得到最终剪枝结果。本发明专利技术减少了神经网络对存储资源和计算资源消耗,保证了剪枝后网络的精度,能实现可调节剪枝,可用于神经网络的压缩。

Neural network pruning method based on the combination of sparse learning and genetic algorithm

【技术实现步骤摘要】
基于稀疏学习与遗传算法相结合的神经网络剪枝方法
本专利技术属于计算机
,主要涉及一种神经网络的剪枝方法,可用于神经网络的压缩。
技术介绍
随着深度学习的发展,神经网络在科研以及工业应用领域都取得了较好的成果,但是相较于传统算法,实施神经网络需要消耗大量的存储资源和计算资源,因此神经网络在设备上使用时将产生较大的能耗,这不符合节能理念,同时也限制了神经网络在功耗有限的移动端设备上的使用。神经网络剪枝作为一种压缩神经网络的方法,通过去除神经网络中的冗余成分减少神经网络的存储消耗及计算消耗,从而达到降低运行神经网络时的功耗的目的。目前,神经网络剪枝方法主要分为两大类,即非结构化剪枝与结构化剪枝。其中:非结构化剪枝,是通过去除神经网络中的非重要权重达到压缩神经网络的目的,但这类方法中所去除权重的位置是无序的,因此破环了神经网络原有的数据结构,使得剪枝结果在目前的通用设备上无法获得实际效果。结构化剪枝方法,是通过去除神经网络中的非重要通道达到压缩神经网络的目的,由于去除通道不会破坏神经网络的数据结构,因此这类方法能够很好的运本文档来自技高网...

【技术保护点】
1.一种基于稀疏学习与遗传算法相结合的神经网络剪枝方法,其特征在于,包括如下:/n(1)利用稀疏学习的方式训练神经网络:/n(1a)将神经网络各通道中缩放因子的正则作为惩罚项添加到训练的损失函数中,得到新的损失函数f

【技术特征摘要】
1.一种基于稀疏学习与遗传算法相结合的神经网络剪枝方法,其特征在于,包括如下:
(1)利用稀疏学习的方式训练神经网络:
(1a)将神经网络各通道中缩放因子的正则作为惩罚项添加到训练的损失函数中,得到新的损失函数fnew(x);
(1b)利用训练数据集和随机梯度下降算法训练神经网络,直到(1a)中新的损失函数收敛;
(2)利用遗传算法搜索最佳子网络:
(2a)设置最大迭代次数,设置通道压缩率为R%,计算训练后神经网络的总参数量p0和计算量c0;
(2b)设置10组权重,每组包括两个比值不同的权重;
(2c)将10组权重编码为10条二进制码,对这些二进制码进行交叉和变异操作产生若干条新的二进制码;
(2d)对(2c)中所有二进制码进行解码,将每条二进制码解码为一组权重;
(2e)对(2d)中的每组权重,利用该组权重计算一组评价因子,每组评价因子中评价因子的个数等于神经网络的通道总数,且评价因子与神经网络中的通道是一一对应的关系;
(2f)将(2e)中的每组评价因子按照从小到大的顺序重新排列,挑选排序后排名前R%的评价因子,并将其所对应的通道从神经网络中删除,从而获得每个子网络;
(2g)测试(2f)中的每个子网络的准确率ηj,纪录每个子网络的参数量pj和计算量cj,并利用ηj,pj和cj算出每个子网络的适应度fj;
(2h)根据(2g)中的适应度,从对所有子网络中筛选出10个子网络,保留这些子网络在(2d)中对应的10组权重,并判断当前迭代次数是否达到(2a)中所设置的最大迭代次数,若达到最大迭代次数,则将具有最大适应度的子网络作为最佳子网络输出,否则,返回(2c);
(3)利用训练数据集和随机梯度下降算法对(2h)中的最佳子网络进行训练,得到训练好的最佳子网络,完成对神经网络的剪枝。


2.根据权利要求1所述的方法,其特征在于:(1a)中新的损失函数,其表达式如下:
fnew(x)=fold(x)+λs·Rs(γ),
其中,fold(x)表示原始的交叉熵损失函数,x表示输入的训练数据,λs表示一个缩放系数,Rs(γ)表示惩罚项,该惩罚项的具体表达式如下:



其中,N表示神经网络的总层数,nl表示神经网络中第l层的总通道数,γl,i表示神经网络中第l层第i个通道的缩放因子,|γl,i|表示γl,i的绝对值,ε表示一个常数约束项。


3.根据权利要求1所述的方法,其特征在于:(1b)利用训练数据集和随机梯度下降算法训练神经网络,其实现如下:
(1b1)从公开数据网站分别下载训练数据集和测试数据集,并将下载的数据转换为张量格式;
(1b2)将张量格式的数据x输入到神经网络,并计算损失函数fnew(x);
(1b...

【专利技术属性】
技术研发人员:李甫石光明汪振宇谢雪梅
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1