[发明专利]动态修剪深度神经网络权重和权重共享的压缩方法在审
申请号: | 201910427397.5 | 申请日: | 2019-05-22 |
公开(公告)号: | CN110210618A | 公开(公告)日: | 2019-09-06 |
发明(设计)人: | 裴文江;徐国现;夏亦犁 | 申请(专利权)人: | 东南大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 蒋昱 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 权重 修剪 压缩 动态修剪 神经网络 剪接 神经网络模型 权重和 剪枝 共享 参数冗余 存储内存 非结构化 冗余参数 原始网络 网络 数据集 误操作 正则化 量化 保证 保留 | ||
1.动态修剪深度神经网络权重和权重共享的压缩方法,其特征在于:
所述的方法包括如下步骤:
(1)将深度神经网络模型进行预训练;
(2)根据权值重要性进行网络修剪和网络剪接;
(3)将修剪和剪接后的模型参数进行一次更新;
(4)迭代层重复步骤(2)和(3),完成网络的权重修剪操作;
(5)初始化K-Means质心;
(6)确定量化阈值;
(7)微调量化后的网络,完成网络权重共享操作。
2.根据权利要求1所述的动态修剪深度神经网络权重和权重共享的压缩方法,其特征在于:所述步骤(1)中对深度神经网络模型进行预训练,具体步骤为:
步骤2.1:对于一个特定深度神经网络模型,对选择的数据集上通过常规的训练,学习网络中的参数,保存训练后的模型。
3.根据权利要求1所述的动态修剪深度神经网络权重和权重共享的压缩方法,其特征在于:所述步骤(2)中根据权值重要性进行网络修剪和网络剪接,具体步骤为:
步骤3.1:通过权值的绝对值来衡量权重的重要性,将步骤2.1训练好的模型进行修剪和剪接,修剪相对较小的幅度的参数,保留或剪接幅度较大的参数,其中设定的阈值对最终的压缩率有着显著的影响,对于某个特定层,基于其连接权重的平均绝对值和方差来设置单个阈值,为了提高动态修剪网络方法的鲁棒性,使用两个阈值ak和bk=ak+t,其中t是一个偏置项,因此,权重度量函数可以表示为如式1所示,对于超出此范围的权值将度量函数输出设置为Tk中的相对应的值,这意味着这些权值在当前迭代中既不会被修剪也不会被剪接,另外,为了加速网络收敛,一方面使用p=σ(iter)为修剪和剪枝添加概率因子,其中σ(·)为非单调递增函数并σ(0)=1,随着网络的迭代次数iter增加,p逐渐减小甚至为0,即网络不再进行修剪和剪接,另一方面将卷积层和全连接层分开进行动态修剪;
4.根据权利要求1所述的动态修剪深度神经网络权重和权重共享的压缩方法,其特征在于:所述步骤(3)中将修剪和剪接后的模型参数进行一次更新,具体步骤为:
步骤4.1:对于第k层,网络的损失函数L由下式表示
其中Wk表示第k层连接权重矩阵,Tk是二进制矩阵,表示网络的连接状态,即它们是否被修剪,I由Wk中每个元素在矩阵中的索引组成,hk(·)是判别函数,如果参数w在当前层中是重要的,则hk(w)=1,否则hk(w)=0,然后根据拉格朗日乘法和梯度下降法,Wk由下式更新;
其中β为正学习率,公式3中的偏导数可以通过链式求导规则应用随机选择的小批量样本计算,一旦矩阵Wk和Tk被更新,它们将被应用于重新计算整个网络激活和损失函数梯度。
5.根据权利要求1所述的动态修剪深度神经网络权重和权重共享的压缩方法,其特征在于:所述步骤(4)中迭代重复权利要求3和权利要求4的操作,完成网络的权重修剪操作,具体步骤为:
步骤5.1:在网络的学习过程中需不断维护网络的结构,迭代重复进行网络修剪、剪接和参数更新,得到高精度的稀疏网络模型,对于最终的稀疏网络模型通过CSR形式来存储,用相对位置替代绝对位置存储索引值,偏移量超过最大间隔,通过补零来补齐偏移,另外,为了提高模型修剪后的精度,在模型修剪过程中添加L1正则化,如下式4所示;
其中L是正则化后的损失函数,L0是原始的损失函数,λ表示正则化因子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910427397.5/1.html,转载请声明来源钻瓜专利网。