当前位置: 首页 > 专利查询>清华大学专利>正文

一种基于剪枝顺序主动学习的模型压缩方法技术

技术编号:20918650 阅读:28 留言:0更新日期:2019-04-20 10:08
本发明专利技术提供了一种基于剪枝顺序主动学习的模型压缩方法,提出了一个端到端的基于顺序主动学习的剪枝框架,可以主动学习网络各层的重要性,生成剪枝优先级,做出合理的剪枝决策,解决了已有简单顺序剪枝方法的不合理问题,优先在影响力最小的网络层剪枝,从简到难逐步剪枝,最小化剪枝过程的模型精度损失;同时以模型最终损失为导向,多角度、高效、灵活快速地评估卷积核重要性,以保证全流程模型压缩的正确性和有效性,为后续的大模型移植到便携设备提供技术支撑。实验结果表明,本发明专利技术提供的基于剪枝顺序主动学习的模型压缩方法在多个数据集、多模型结构下表现领先,可以在保证模型精度的情况下,极大压缩模型体积,具有很强的实际应用前景。

A Model Compression Method Based on Pruning Order Active Learning

The invention provides a model compression method based on pruning sequential active learning, and proposes an end-to-end pruning framework based on sequential active learning, which can actively learn the importance of network layers, generate pruning priority, make reasonable pruning decisions, solve the unreasonable problem of existing simple sequential pruning methods, and give priority to pruning at the network layer with the least influence. At the same time, based on the ultimate loss of model, the importance of convolution core can be evaluated from multiple angles, efficiently, flexibly and quickly to ensure the correctness and validity of the whole process model compression, and provide technical support for subsequent large model transplantation to portable devices. The experimental results show that the model compression method based on pruning sequential active learning provided by the invention is in the lead under multiple data sets and multi-model structures, can maximize the model volume under the condition of ensuring model accuracy, and has strong practical application prospects.

【技术实现步骤摘要】
一种基于剪枝顺序主动学习的模型压缩方法
本专利技术属于神经网络模型
,尤其涉及一种基于剪枝顺序主动学习的模型压缩方法。
技术介绍
近年来,随着深度神经网络的蓬勃发展,学术圈和工业界共同目睹了深度学习在计算机视觉、自然语言处理等众多领域的重大突破。卷积神经网络(CNN)在某些视觉领域的表现力,甚至超过了人类的视觉处理能力。尽管深度网络在视觉领域取得重大的突破,但模型的大小和计算量却成为其在实际应用中的瓶颈。深度网络应用在现实场景,需要依附硬件的快速计算能力、大量存储空间和电池容量。大规模神经网络可以高效地运行在机房的服务器中,由GPU快速计算,却难以应用在资源有限的移动设备和低频CPU,比如智能手机、可穿戴装备等。受此限制,深度学习的众多科研成果难以转化到实际可应用的场景。为了解决这个难题,近年来研究人员提出了很多模型压缩的方法,旨在压缩模型大小,提高模型运行速度,且尽量保持模型精度不变,从而实现将压缩后的模型移植到小型设备中使用。模型压缩的本质,是产生一个小型模型,使它和大规模网络有着同样的表现力。这对研究人员来说是一个极大的挑战,大规模网络是经过专家学者精心设计并验证有效的网络结构,学习到的每一个参数都对网络整体的表现做出贡献,不恰当的舍弃某些参数势必会损害模型效果。实际场景如果需要一个极其小的模型,则需要平衡模型复杂度和模型效果之间的关系,适当做出某方面舍弃主流的模型压缩方法分为几个分支,第一类是“神经网络修剪”,包括稀疏化剪枝和结构化剪枝两个方法。剪枝方法的重点在评估网络连接权重,剪掉对网络影响较小的权重,并且通过重训练来恢复模型的精度。稀疏化剪枝零散地剪掉网络中低重要性连接,可以很大程度上压缩模型大小,减小内存开销;但受限于底层库的实现,在网络加速上仍存在困难。而结构化剪枝可以很好地保持卷积核结构的规则形状,通常以卷积核作为剪枝基本单位;结构化剪枝后的网络模型,结构规则且完整,可以直接按照传统卷积方法进行加速处理。另一类是“神经网络参数转移和共享”,即通过参数量化、低阶估计或者知识萃取等方式压缩网络模型。神经网络参数转移和共享的方法通常作为模型剪枝的后续压缩步骤,可以进一步压缩网络模型;单独使用无法在保持模型精度的情况下大规模压缩网络体积。第三类是“神经网络结构设计”,通过人为设计新的网络结构,或者机器自动搜索设计网络结构的方法,直接设计一款小型神经网络。自动设计网络可以释放人工劳动,给特定场景,特定数据的任务量身定做最合适的网络结构,但是该方法的复杂度非常高,需要消耗大量的计算资源,否则无法达到既定目标。从目前的情况来看,结构化剪枝是在压缩网络体积和提高模型运行速度两方面最有效的方法。现有的结构化剪枝技术主要包括采用顺序剪枝或者全局剪枝两种方式。顺序剪枝预先设定了剪枝顺序,按照从前到后、从后到前的方式逐层剪枝,在每一层按照一定比例减去相对不重要的卷积核。全局剪枝方式设定一个重要性阈值,在每一轮剪枝过程中,小于该阈值的该网络所有卷积核被同时剪掉。实际上,深度模型压缩是一个系统级别的任务,需要根据全局模型做出剪枝决策。现有方法将研究重点放在评估卷积核重要性上,但剪枝策略过于简单,导致效果并不理想。然而,有一个重要的现象被忽视,每个卷积层有着不同的重要性:如果在一个重要的卷积层上减去极少数卷积核,整体模型的精度也可能会大幅下降;反之,如果在一个不重要的卷积层上,即使剪去大量卷积核,也可几乎不对精度造成影响,按照顺序剪枝或者全局剪枝的方式显然没有考虑到各个卷积层的重要性对剪枝结果产生的影响。
技术实现思路
为了解决上述技术问题,本专利技术提供一种基于剪枝顺序主动学习的模型压缩方法,包括:S1.利用LSTM学习网络时序特征,做出每一网络层是否需要剪枝的决策;S2.在选定的网络层对该网络层的网络层参数进行评估和裁剪,并提出恢复机制对剪枝后模型精度进行即刻恢复;S3.对剪枝后的模型利用导师网络进行加速重训练;S4.根据剪枝后重训练的模型的表现力和复杂度,得到反馈激励R,用增强学习方法更新LSTM;S5.选取反馈激励最高的5个模型作为新一轮LSTM的输入,重复步骤1-步骤4,直至LSTM不再产生更优的剪枝决策时终止训练过程,得到最优的剪枝后模型。进一步的,所述步骤S1包括:(1)首先将神经网络模型用字符串表示出来,作为LSTM的输入,具体方式为:用(mi,ni)表示神经网络的第i个节点ξi,其中,m表示节点类型,取值于{0,1,2},分别代表卷积,池化和全连接操作;n表示节点属性值,当该节点为卷积时,n代表该层卷积核数量;当该节点为池化时,n代表池化步长;当该节点为全连接时,n代表该层神经元数量;(2)获取LSTM剪枝决策,具体包括:在每个时刻,一个主节点和它的下一个节点作为多层LSTM的输入,该输入可表示为[mi,ni,mi+1.ni+1];LSTM利用softmax函数对当前输入的主节点做出是否剪枝的决策,辅助节点只提供辅助信息,不对其进行剪枝预测。进一步的,所述网络层包括卷积层和/或全连接层;卷积层的网络层参数为卷积核,全连接层的网络层参数为全连接参数。进一步的,在步骤S2中,在卷积层对卷积核进行评估和裁剪的方法包括:通过计算第i+1个卷积层中每个通道集的L2范数,得到重要性分数sj,具体如以下公式:sj=||Ci+1,j||2,s.t.j∈[1,xi]其中,Ci+1,j表示第i+1个卷积层的第j个通道集,s.t.代表subjectto的缩写,xi表示在第i个卷积层的卷积核数量;根据压缩率,选择并裁剪第i+1个卷积层中重要性分数sj最小的通道集和它们对应的第i个卷积层中的卷积核。进一步的,所述恢复机制包括:选择第i+1个卷积层的一部分卷积核并按照一定比例放大卷积核参数,具体如以下公式:其中,Fi+1,j表示第i+1个卷积层的第j个卷积核;表示剪枝过的第i+1个卷积层的第j个卷积核;a是一个超参数,用来选择偏差值较大的卷积核。进一步的,在步骤S3中,采用知识萃取的方法加速重训练过程,将LSTM的输入模型作为老师网络,剪枝后的模型作为学生网络,学生网络学习老师网络输出的各类别分类概率z,z相比于训练标签包含丰富的知识,包含类别间相似性和差异性。进一步的,在步骤S4中,反馈激励R由如下公式计算得到:R=performance-λ×complexity其中,表现力performance由模型在验证集的准确率或者训练集的损失表示;复杂度complexity由模型FLOPs或者参数量大小表示;λ是一个超参数,需要通过实验的交叉验证来选择最优值。与现有技术相比,本专利技术的有益效果在于:本专利技术提供的基于剪枝顺序主动学习的模型压缩方法提出了一个端到端的基于顺序主动学习的剪枝框架,可以主动学习网络各层的重要性,生成剪枝优先级,做出合理的剪枝决策,解决了已有简单顺序剪枝方法的不合理问题,优先在影响力最小的网络层剪枝,从简到难逐步剪枝,最小化剪枝过程的模型精度损失;同时以模型最终损失为导向,多角度、高效、灵活快速地评估卷积核重要性,以保证全流程模型压缩的正确性和有效性,为后续的大模型移植到便携设备提供技术支撑。实验结果表明,本专利技术提供的基于剪枝顺序主动学习的模型压缩方法在多个数据集、多模型结构下表现领先,可以在保证模型本文档来自技高网
...

【技术保护点】
1.一种基于剪枝顺序主动学习的模型压缩方法,其特征在于,所述方法包括:S1.利用LSTM学习网络时序特征,做出每一网络层是否需要剪枝的决策;S2.在选定的网络层对该网络层的网络层参数进行评估和裁剪,并提出恢复机制对剪枝后模型精度进行即刻恢复;S3.对剪枝后的模型利用导师网络进行加速重训练;S4.根据剪枝后重训练的模型的表现力和复杂度,得到反馈激励R,用增强学习方法更新LSTM;S5.选取反馈激励最高的5个模型作为新一轮LSTM的输入,重复步骤1‑步骤4,直至LSTM不再产生更优的剪枝决策时终止训练过程,得到最优的剪枝后模型。

【技术特征摘要】
2018.06.15 CN 20181061639941.一种基于剪枝顺序主动学习的模型压缩方法,其特征在于,所述方法包括:S1.利用LSTM学习网络时序特征,做出每一网络层是否需要剪枝的决策;S2.在选定的网络层对该网络层的网络层参数进行评估和裁剪,并提出恢复机制对剪枝后模型精度进行即刻恢复;S3.对剪枝后的模型利用导师网络进行加速重训练;S4.根据剪枝后重训练的模型的表现力和复杂度,得到反馈激励R,用增强学习方法更新LSTM;S5.选取反馈激励最高的5个模型作为新一轮LSTM的输入,重复步骤1-步骤4,直至LSTM不再产生更优的剪枝决策时终止训练过程,得到最优的剪枝后模型。2.根据权利要求1所述的方法,其特征在于,所述步骤S1包括:(1)首先将神经网络模型用字符串表示出来,作为LSTM的输入,具体方式为:用(mi,ni)表示神经网络的第i个节点ξi,其中,m表示节点类型,取值于{0,1,2},分别代表卷积,池化和全连接操作;n表示节点属性值,当该节点为卷积时,n代表该层卷积核数量;当该节点为池化时,n代表池化步长;当该节点为全连接时,n代表该层神经元数量;(2)获取LSTM剪枝决策,具体包括:在每个时刻,一个主节点和它的下一个节点作为多层LSTM的输入,该输入可表示为[mi,ni,mi+1.ni+1];LSTM利用softmax函数对当前输入的主节点做出是否剪枝的决策,辅助节点只提供辅助信息,不对其进行剪枝预测。3.根据权利要求1或2所述的方法,其特征在于,所述网络层包括卷积层和/或全连接层;卷积层的网...

【专利技术属性】
技术研发人员:丁贵广钟婧
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1