本发明专利技术公开一种基于联合动态剪枝的深度神经网络压缩方法,包括以下步骤:步骤1:获得卷积核动态剪枝率β和通道动态压缩率α两个超参数;步骤2:利用卷积核动态剪枝方法,剪除卷积层中M
【技术实现步骤摘要】
一种基于联合动态剪枝的深度神经网络压缩方法
本专利技术涉及一种神经网络压缩方法,尤其涉及一种基于联合动态剪枝的深度神经网络压缩方法。
技术介绍
深度学习推动了计算机视觉、自然语言处理等方面的进步同时,其模型的复杂度、高额的存储空间以及计算资源消耗使其难以被应用在各种硬件平台上。例如经典的图像分类网络VGG16,参数数量多达1.3亿,占用存储空间500MB,需要进行309亿次浮点运算才能完成一次图像识别任务。实际上深度学习的神经网络中存在很大程度的冗余,仅使用很少一部分权值就可以预测剩余的权值。因而,模型压缩在理论上存在可行性,在现实中也存在着必要性。网络剪枝是模型压缩领域中较为热门的一个方向,其原理是移除网络中较为不重要的权重,再重新微调网络使之收敛。因而,如何衡量权重的重要性成为了网络剪枝的核心问题。静态剪枝方法,无论参数选择标准、剪枝训练过程有何差别,有一点是共通的:被剪枝的参数被永久移除模型,后续不再参与推理和训练。尽管网络中大部分参数是多余的,静态剪枝方法仍然会永久性地移除一部分关键性参数,无论采取何种评判标准都难以避免误剪枝,这样必然导致网络容量的损失。相比于静态剪枝方法,动态剪枝的目的是保留被剪枝部分的能力,避免永久性的剪枝导致模型的容量降低。思想与深度学习防止过拟合的dropout方法类似,只不过动态剪枝设计某种标准用来衡量输入图像与卷积核的关系,而非简单的随机丢弃。对于特定的输入图像,能够被激活的卷积核是存在并有限的。然而,动态剪枝算法的独特之处是动态选择,但也恰恰制约了其压缩网络的能力。理论上来说,对于某一特定的输入图像,被激活的卷积核是固定的。但是对于不确定的输入图像,被激活的卷积核也不能被确定。由于神经网络构建和训练的过程中难以得知输入图像的特征分布,因而如果永久性移除部分卷积核,那么一旦这些卷积核被特定的输入图像激活,对于模型容量仍然是不小的损失。因而,动态剪枝算法很难永久性地移除卷积核,导致网络压缩比明显小于静态剪枝算法。
技术实现思路
专利技术目的:本专利技术旨在解决现有技术的上述不足,提供一种基于联合动态剪枝的深度神经网络压缩方法,解决静态剪枝方法导致网络容量的损失和动态剪枝方法网络压缩比明显小于静态剪枝算法的问题。技术方案:本专利技术所述的基于联合动态剪枝的深度神经网络压缩方法,其特征在于:包括以下步骤:步骤1:获得卷积核动态剪枝率β和通道动态压缩率α两个超参数;步骤2:利用卷积核动态剪枝方法,;剪除卷积层中Mi(1-β)个卷积核,其中Mi为第i层卷积核个数;步骤3:利用通道动态压缩方法,选择Niα个通道参与训练,其中Ni为第i层输入通道数;步骤4:训练过程中更新模型参数,使得卷积核动态剪枝收敛为通道动态压缩的子集。步骤2包括以下步骤:步骤21:获得同一卷积层中每一个卷积核的L1范数;步骤22:将该卷积层中L1范数最小的Mi(1-β)个卷积核进行置零;步骤23:反向传播中更新模型参数,然后返回步骤(21),进行模型下一轮迭代;步骤24:迭代完成时剪除为零的卷积核。步骤2根据删除模型参数以降低复杂度的原则移除迭代收敛后对卷积运算影响较小的卷积核。步骤3包括以下步骤:步骤31:利用全局平均池化方法,采样输入特征图;步骤32:将输入特征图的采样作为预测网络的输入,计算通道重要性函数;步骤33:基于胜者通吃原则,将通道重要性函数权值最小的Ni(1-α)个通道置零;步骤34:将该卷积层对应BN层的缩放因子γ替换为通道重要性函数权值;步骤35:在反向传播中更新模型参数。步骤32中所述预测网络采用全连接神经网络,并与训练网络独立。步骤3中根据在不删除模型参数的同时,降低复杂度的原则,选择Niα个通道参与训练。。有益效果:与现有技术相比,本专利技术的显著优点为加速了训练和推理,保持模型的容量同时有效地减少了模型的浮点运算次数以及参数规模。附图说明图1为本专利技术原理图;图2为本专利技术卷积核动态剪枝的示意图;图3为本专利技术通道动态压缩的示意图。具体实施方式下面结合附图对本专利技术的技术方案作进一步说明。图1是本专利技术的原理图,主要包括卷积核动态剪枝模块和通道动态压缩模块。本专利技术所述的基于联合动态剪枝的深度神经网络压缩方法包括以下步骤:步骤1:获得卷积核动态剪枝率β和通道动态压缩率α两个超参数;步骤2:利用卷积核动态剪枝方法,剪除卷积层中Mi(1-β)个卷积核,其中Mi为第i层卷积核数;步骤3:利用通道动态压缩方法,选择Niα个通道参与训练,其中Ni为第i层输入通道数;步骤4:训练过程中更新模型参数,使得卷积核动态剪枝收敛为通道动态压缩的子集。步骤2根据删除模型参数以降低复杂度的原则剪除迭代收敛后对卷积运算影响最小的卷积核。步骤2包括以下步骤:步骤21:获得同一卷积层中每一个卷积核的L1范数;步骤22:将该卷积层中L1范数最小的Mi(1-β)个卷积核置零;步骤23:反向传播中更新模型参数,然后返回步骤(21),进行模型下一轮迭代;步骤24:迭代完成时剪除为零的卷积核。步骤3中根据不删除模型参数的同时降低复杂度的原则,选择Niα个通道参与训练。步骤3包括以下步骤:步骤31:利用全局平均池化方法,采样输入特征图;全局平均池化方法指把特征图同一通道的所有元素求平均值,也就是把W*H*N的特征图转化为1*1*N的张量,并进一步降维成为1*N的特征向量,其中W为图像宽,H为图像高,N为通道数。步骤32:将输入特征图的采样作为预测网络的输入,计算其通道重要性函数;步骤33:基于胜者通吃原则,将通道重要性函数中权值最小的Ni(1-α)个的通道置零;胜者通吃原则为竞争的最后胜利者获得所有的或者绝大部分份额,而失败者被淘汰。步骤34:将该卷积层对应BN层的缩放因子γ替换为通道重要性函数权值;步骤35:在反向传播中更新模型参数。步骤32中所述预测网络采用全连接神经网络,并与训练网络独立。本实施例中用一个简单的卷积神经网络,第i个卷积层,对各步骤进行说明。第i个卷积层的输入特征图为Xi,输入通道数Ni=4;第i个卷积层的输出特征图为Xi+1,输出通道数Ni+1=4。第i个卷积层的卷积核个数Mi等于输出通道数Ni+1,也就等于4。令卷积核动态剪枝率β=0.75,通道动态压缩率α=0.5。步骤2中,卷积核动态剪枝的示意图如图2。首先计算第i个卷积层中,每一个卷积核的L1范数。L1范数也即卷积核张量中权值的绝对值之和。权值较小的卷积核,对应的输出特征图数值也较小,即影响力不如同一层其他的特征图。该层卷积核的L1范数为[0.457,0.813,0.345,0.136],第4个卷积核属于L1范数最小的25%比例。对于这一部分卷积核,进行置零操作,但并不把它们从网络中剪除。如果存在被误剪枝的卷积核,本文档来自技高网...
【技术保护点】
1.一种基于联合动态剪枝的深度神经网络压缩方法,其特征在于:包括以下步骤:/n步骤1:获得卷积核动态剪枝率β和通道动态压缩率α两个超参数;/n步骤2:利用卷积核动态剪枝方法,剪除卷积层中M
【技术特征摘要】
1.一种基于联合动态剪枝的深度神经网络压缩方法,其特征在于:包括以下步骤:
步骤1:获得卷积核动态剪枝率β和通道动态压缩率α两个超参数;
步骤2:利用卷积核动态剪枝方法,剪除卷积层中Mi(1-β)个卷积核,其中Mi为第i层卷积核个数;
步骤3:利用通道动态压缩方法,选择Niα个通道参与训练,其中Ni为第i层输入通道数;
步骤4:训练过程中更新模型参数,使得卷积核动态剪枝收敛为通道动态压缩的子集。
2.根据权利要求1所述基于联合动态剪枝的深度神经网络压缩方法,其特征在于:步骤2包括以下步骤:
步骤21:获得同一卷积层中每一个卷积核的L1范数;
步骤22:将该卷积层中L1范数最小的Mi(1-β)个卷积核进行置零;
步骤23:反向传播中更新模型参数,然后返回步骤(21),进行模型下一轮迭代;
步骤24:迭代完成时剪除为零的卷积核。
3.根据权利要求1所述基于联合动态剪枝的深度神经网络压缩方法,其特...
【专利技术属性】
技术研发人员:张明明,宋浒,卢庆宁,俞俊,温磊,刘文盼,范江,查易艺,
申请(专利权)人:国网江苏省电力有限公司信息通信分公司,南瑞集团有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。