深度神经网络自动择优混合剪枝的压缩方法与流程

文档序号:21729892发布日期:2020-08-05 01:23阅读:400来源:国知局
深度神经网络自动择优混合剪枝的压缩方法与流程

本发明涉及深度学习处技术领域,特别是涉及一种深度神经网络自动择优混合剪枝的压缩方法。



背景技术:

随着深度神经网络(deepneuralnetworks,dnns)的网络规模、图像数据集日趋变大,dnns的推理和训练需要巨大的算能、存储空间和功耗。即使采用图像处理单元gpu、张量处理单元tpu或者神经网络处理单元npu等进行加速,也依然无法满足实际商用需求。尽管dnns功能强大,性能优异,但由于dnns规模大、参数多和计算量大,其在时间和空间上都受到巨大约束,限制了它部署在硬件资源受限的移动端或嵌入式设备上。

相关研究表明,拥有百万级及以上参数的dnns模型本身存在大量冗余参数信息,部分参数和结构对dnns性能产生无用的信息,这为dnns模型压缩提供了理论支撑。dnns模型剪枝是解决上述问题的方法之一。

经典dnns压缩方法,包括低秩分解、量化编码、紧凑模型设计和参数剪枝等方法。低秩分解主要是使用多个低维张量运算求和逼近原始参数来减少网络推断的计算时间和存储空间。量化编码是通过降低权值参数所需要的比特数对原始网络进行压缩。紧凑模型设计是设计特殊模型或紧凑网络结构来降低存储和计算复杂度。dnns模型的冗余的神经元或权重参数可以通过剪枝剔除,从而有效地减少模型参数,降低模型运算量和存储空间。

然而,直接剪枝可能会带来准确率损失。权重剪枝按粒度分为权值剪枝、通道剪枝和滤波器剪枝,目前研究大都研究某方面,未能将其有机结合,另外,对剪枝参数的重要性评判多基于经验认定数值大小、l1或l2范数大小,不能有效地评判参数对模型性能的影响。

因此,如何实现参数重要性自动检测,以最大程度压缩简化模型,避免耗时试错式循环迭代是本领域技术人员亟需解决的问题。



技术实现要素:

本发明的目的是针对dnns参数过度冗余、计算量大和推理时延大等问题,而提供一种深度神经网络自动择优混合剪枝的压缩方法。

为实现本发明的目的所采用的技术方案是:

一种深度神经网络自动择优混合剪枝的压缩方法,包括步骤:

s1:输入预训练好的原始dnns模型φ和超参数模型压缩率ρ;

s2:对dnns模型φ中的全局滤波器执行滤波器级剪枝;

s3:对剪枝后的模型进行周期为5个epoch的微调,补偿因滤波器级剪枝导致的累加误差,获得性能恢复的滤波器级稀疏化模型φf;

s4:对获得的滤波器级稀疏化模型φf,执行权值级剪枝操作;

s5:将s4得到的更稀疏的模型进行周期为5个epoch的微调,补偿因权值剪枝导致的准确率影响,获得性能恢复的稀疏化模型φw;

s6:判断是否达到预设压缩率ρ,如果达到则表示剪枝压缩训练完成,直接执行s7;否则令φ=φw,并重复s2到s6的过程,直到满足ρ约束;

s7:混合剪枝训练得到压缩模型φw,结束训练。

其中,s2中对dnns模型φ中的全局滤波器执行滤波器级剪枝,具体步骤为:

s21:记录当前训练迭代dnns模型参数w和对应的梯度gw,将重要性评判标准计分因子表示为σ=|gw·w|假设本次迭代模型的输入为x,训练标签为y,模型所有的参数为θ和损失函数为l(x,y;θ),则

s22:将每个滤波器中参数wi对应的σ(wi)累加求和作为该滤波器的重要性评分,即其中i,k分别为当前滤波器参数的索引及总数,

s23:将全局的所有滤波器的评分σ(wi)按升序排序,选出1%对应评分较小的滤波器,将其参数置为零并在训练中停止更新。

其中,s3中对剪枝后模型的微调,具体步骤为,对滤波器剪枝后,对稀疏模型微调时,采用l2正则化,在训练过程中降低预定参数的大小,以至于在不损失模型准确率情况下,将其剪掉,如下式所示。

其中,s4中对滤波器级稀疏化模型φf执行权值级剪枝的具体步骤为:

s41:记录当前训练迭代dnns模型参数w和对应的梯度gw,将重要性评判标准计分因子表示为σ=|gw·w|假设本次迭代模型的输入为x,训练标签为y,模型所有的参数为θ和损失函数为l(x,y;θ),则

s42:将每层的参数wi对应的σ(wi)作为wi本身重要性评分;

s43:将每层参数wi的评分σ(wi)按升序排序,选出10%对应评分较小的参数,将其置为零并在训练中停止更新。

本发明利用泰勒展开近似剪枝后损失函数的变化,以此评估参数的重要性,实现自动择优。另外,结合权值级和滤波器级混合迭代剪枝方式,进一步实现模型的压缩率,降低dnns模型参数存储空间和计算复杂度,从而缩短推理时间,且剪枝压缩带来的准确率损失几乎可忽略,使模型更适用于资源限制的移动边缘设备。

附图说明

图1是深度神经网络自动择优混合剪枝的压缩方法流程框图;

图2是本发明提供深度神经网络自动择优混合剪枝压缩示意图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供的端到端的深度神经网络自动择优混合剪枝的压缩方法,利用泰勒展开近似剪枝后损失函数的变化,以此评估参数的重要性,实现自动择优。

另,结合权值级和滤波器级混合迭代剪枝方式,进一步实现模型的压缩率,降低dnns模型参数存储空间和计算复杂度,从而缩短推理时间,且剪枝压缩带来的准确率损失几乎可忽略,使模型更适用于资源限制的移动边缘设备。

如图1所示,本发明深度神经网络自动择优混合剪枝的压缩方法,包括如下步骤:

步骤s1:输入预训练好的原始dnns模型φ和超参数模型压缩率ρ;

步骤s2:对dnns模型φ中的全局滤波器进行重要性排序,选出不重要的1%剪掉使模型稀疏化,即将对应1%的滤波器权值参数置零,并停止对其参数更新;

步骤s3:对剪枝后的模型进行周期为5个epoch的微调,补偿因滤波器级剪枝导致的累加误差,获得性能恢复的滤波器级稀疏化模型φf;

步骤s4:对步骤s3的滤波器级稀疏化模型,执行权值级剪枝操作,通过对每层的单个权值进行重要性排序,选出不重要的10%,将对应的权值剪掉置零,并停止对其参数更新;

步骤s5:将步骤4得到的更稀疏的模型进行周期为5个epoch的微调,补偿因权值剪枝导致的准确率影响,获得性能恢复的稀疏化模型;

步骤s6:判断是否达到预设压缩率ρ,如果达到则表示剪枝压缩训练完成,直接执行步骤s7;否则令φ=φw,并重复步骤s2到s6的过程,直到满足ρ约束;

步骤s7:混合剪枝训练得到压缩模型φw,结束训练。

作为本发明进一步改进,步骤s2中对dnns模型进行自动择优滤波器级剪枝,具体步骤为:

步骤s21:记录当前训练迭代dnns模型参数w和对应的梯度gw,将重要性评判标准计分因子表示为σ=|gw·w|假设本次迭代模型的输入为x,训练标签为y,模型所有的参数为θ和损失函数为l(x,y;θ),则

步骤s22:将每个滤波器中参数wi对应的σ(wi)累加求和作为该滤波器的重要性评分,即其中i,k分别为当前滤波器参数的索引及总数。

步骤s23:将全局的所有滤波器的评分σ(wi)按升序排序,选出1%对应评分较小的滤波器,将其参数置为零并在训练中停止更新。以上述步骤实现自动择优选出不重要的滤波器进行剪枝剔除。

其中,步骤s21中重要性计分因子σ=|gw·w|证明如下:

假设原始的未经过剪枝压缩的模型损失函数为l(x,y;θ),剪枝剔除的不重要参数为θ-,保留的重要参数为θ+,其对应的压缩模型损失函数为l(x,y;θ+),另有θ-+=θ。则剪枝选取重要参数w*的过程变成式(1)的优化问题。由于剪掉θ-之后对应的参数被置零变为则对于只有一个变量w的损失函数可表示为l(0),而原始的损失函数为l(w),故可得式(2)。然后,根据泰勒展开可得到式(3)。

δl(w)=|l(w)-l(0)|(2)

因此,由式(2)和(3)相结合可得到式(4),证明出本发明提供的计分因子σ的有效性及合理性,从而实现所述的自动择优方法。

作为本发明进一步改进所述步骤s3中对剪枝后模型的微调,具体步骤为:

步骤s31:对滤波器剪枝后,对稀疏模型微调时,采用l2正则化,在训练过程中降低某些参数的大小,以至于在不损失模型准确率情况下,将其剪掉,如式(5)所示。

作为本发明进一步改进,步骤s4中对dnns模型进行自动择优权值级剪枝,具体步骤为:

步骤s41:记录当前训练迭代dnns模型参数w和对应的梯度gw,将重要性评判标准计分因子表示为σ=|gw·w|假设本次迭代模型的输入为x,训练标签为y,模型所有的参数为θ和损失函数为l(x,y;θ),则

步骤s42:将每层的参数wi对应的σ(wi)作为wi本身重要性评分。

步骤s43:将每层参数wi的评分σ(wi)按升序排序,选出10%对应评分较小的参数,将其置为零并在训练中停止更新。以上述步骤实现自动择优选出不重要的参数进行剪枝剔除。

需要说明的是,本发明中,步骤s5中对剪枝后模型的微调,具体步骤同步骤s3,不再详细说明。

本发明提供的新型压缩技术在具体使用时,产生的效果示意图如图2所示,给定预训练好模型,通过滤波器级和权值级迭代交替的剪枝操作,其中利用了自动择优和微调补偿技术,实现模型压缩尺度最大化且几乎不影响模型性能。

本发明提供的深度神经网络自动择优混合剪枝的压缩方法,可以基于公开图像数据集在训练中实现对模型的压缩和简化,通过自动择优技术,保证准确率损失几乎可忽略,并不需要冗长的重训练过程,加速了整体压缩过程时间,另外结合滤波器级和权值级剪枝,最大化冗余参数的剔除及模型压缩率,有效减少模型的计算量和参数量,有利于dnns模型在移动边缘设备上的部署和应用。

以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1