[发明专利]基于稀疏学习与遗传算法相结合的神经网络剪枝方法在审
申请号: | 201911348985.6 | 申请日: | 2019-12-24 |
公开(公告)号: | CN111105035A | 公开(公告)日: | 2020-05-05 |
发明(设计)人: | 李甫;石光明;汪振宇;谢雪梅 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/12 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 稀疏 学习 遗传 算法 相结合 神经网络 剪枝 方法 | ||
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);
(1b3)分别计算损失函数fnew(x)中交叉熵损失fold(x)和惩罚项Rs(γ)关于神经网络中参数的偏导,再利用以下公式更新神经网络中的参数:
其中,θ表示更新前神经网络中的参数,θ'表示更新后神经网络中的参数,μ表示一个步长因子,λs表示一个缩放系数;
(1b4)重复(1b2)-(1b3),直到损失函数fnew(x)收敛。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911348985.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有杂质过滤装置的耐腐蚀泵阀管道
- 下一篇:隧道非开挖生态建造方法