基于自动编码器压缩卷积神经网络的方法及装置制造方法及图纸

技术编号:19594081 阅读:28 留言:0更新日期:2018-11-28 05:07
本发明专利技术公开了一种基于自动编码器压缩卷积神经网络的方法,包括:在压缩第i个网络层时,将第i‑1层与第i+1层的激活值提取出来,其中ai‑1与ai+1分别代表第i‑1层与第i+1层在测试集上的输出;使用比第i个网络层少的卷积核或神经元的替换模型拟合ai‑1与ai+1之间的映射关系,将拟合完成的替换模型替换原卷积神经网络的第i层;对剩余参数进行调整,使压缩后的卷积神经网络模型精度不小于原卷积神经网络模型精度。该算法在降低网络规模的同时还能加快计算速度。

【技术实现步骤摘要】
基于自动编码器压缩卷积神经网络的方法及装置
本专利技术涉及卷积神经网络
,具体地涉及一种基于自动编码器压缩卷积神经网络的方法及装置。
技术介绍
经过近几年的发展,卷积神经网络已经成为许多计算机视觉任务中的主要模型。然而,由于移动设备的硬件资源有限,无论在时间还是空间上都无法满足大型网络的计算需求。为此,研究人员提出了一系列优化策略。DeepCompression是模型压缩的一个代表性工作,它通过删除冗余连接来降低模型尺寸。然而,连接剪枝会导致网络结构变得稀疏,稀疏模型的计算不规则性使其无法有效利用密集型线性代数库,计算速度也就没有得到相应提升。
技术实现思路
针对上述连接剪枝所带来的技术问题,本专利技术目的是:提供了一种基于自动编码器压缩卷积神经网络的方法及装置,该算法在降低网络规模的同时还能加快计算速度。本专利技术的技术方案是:一种基于自动编码器压缩卷积神经网络的方法,包括以下步骤:S01:在压缩第i个网络层时,将第i-1层与第i+1层的激活值提取出来,其中ai-1与ai+1分别代表第i-1层与第i+1层在测试集上的输出;S02:使用比第i个网络层少的卷积核或神经元的替换模型拟合ai-1与ai+1之间的映射关系,将拟合完成的替换模型替换原卷积神经网络的第i层;S03:对剩余参数进行调整,使压缩后的卷积神经网络模型精度不小于原卷积神经网络模型精度。优选的技术方案中,若压缩后的卷积神经网络模型精度小于原卷积神经网络模型精度,使用比替换模型多的卷积核或神经元的第二替换模型进一步拟合。本专利技术还公开了一种基于自动编码器压缩卷积神经网络的装置,包括:一提取模块,在压缩第i个网络层时,将第i-1层与第i+1层的激活值提取出来,其中ai-1与ai+1分别代表第i-1层与第i+1层在测试集上的输出;一拟合替换模块,使用比第i个网络层少的卷积核或神经元的替换模型拟合ai-1与ai+1之间的映射关系;一微调模块,对剩余参数进行调整,使压缩后的卷积神经网络模型精度不少于原卷积神经网络模型精度。与现有技术相比,本专利技术的优点是:该算法不会破坏网络结构原有的密集属性,在降低网络规模的同时还能加快计算速度。附图说明下面结合附图及实施例对本专利技术作进一步描述:图1为基于自动编码器压缩卷积神经网络的方法的流程图;图2为基于自动编码器压缩卷积神经网络的方法的示意图。具体实施方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本专利技术而不限于限制本专利技术的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。实施例:如图1所示,在压缩第i个网络层时,首先将其前后两层的激活值提取出来,其中ai-1与ai+1分别代表第i-1层与第i+1层在测试集上的输出。接着,使用比第i层更少的卷积核或神经元去拟合ai-1与ai+1之间的映射关系。拟合完成后,为了让剩余参数补偿被移除的参数,需要在训练集和测试集上微调新的网络结构。倘若模型精度没有发生变化,说明本次压缩成功减少了部分参数,否则,增加替换模型的卷积核或神经元数量,重新拟合ai-1与ai+1之间的映射关系。当把第i个网络层压缩到极限后,再以相同的方法继续压缩其他网络层。相比于连接剪枝,该算法不会破坏网络结构原有的密集属性。换句话说,模型被压缩的越小,计算速度也就越快。如图2所示,压缩流程总共包含三个阶段,分别是提取、替换和微调。第一阶段负责提取局部网络的泛化能力,第二阶段负责替换目标压缩层,第三阶段负责微调压缩后的模型。若要压缩模型Mo的第i层,首先要将虚线框内的泛化能力提取到模型Mt上。在这里,局部网络的泛化能力指ai-1到ai+1的映射关系。提取过程以ai-1为输入,ai+1为输出,以欧式距离损失函数的误差值进行表征,训练模型Mt去拟合映射关系f:ai-1→ai+1。误差值越小,说明Mt的输出与ai+1的误差就越小,拟合效果也就越好。当训练过程趋于收敛时,接下来用模型Mt的中间层替换模型Mc的第i层(算法1在一开始已经将Mo赋值给Mc)。在替换过程中,保持其他网络层不变,只替换第i层的输入输出连接,并得到临时模型Mtmp。值得注意的是,无论Mt的拟合效果有多好,都不可能完全拟合虚线框内原有的映射关系,因此要对模型Mtmp进行微调。微调的目的是为了让剩余的参数补偿被移除的参数,恰当的微调可以在一定程度上提高模型精度。如果Mtmp的精度大于Mo的精度,将Mtmp赋值给Mc,否则,进入下一次压缩。当把第i层神经元压缩到极限后,可以用同样的方法处理其它网络层。更形式化的压缩步骤可以参看算法1。算法1压缩流程Input:训练集(Xi,Yi),测试集(xi,yi),压缩率r,衰减因子d,原始模型MoOutput:压缩后的模型Mc1:Mc←Mo;2:L←Mc的所有隐藏层;3:fori∈Ldo4:numi←第i个网络层的神经元或卷积核个数;5:ri←r;6:whileri*numi>5do7:ai–1←第i–1个网络层在测试集上的激活值;8:ai+1←第i+1个网络层在测试集上的激活值;9:训练Mt拟合映射关系f:ai–1→ai+1;10:Mtmp←将Mc中的第i层替换成Mt中的隐藏层;11:使用训练集和测试集微调Mtmp;12:ifMtmp的精度>Mo的精度then13:Mc←Mtmp;14:else15:ri←ri*d;16:endif17:numi←第i个网络层的神经元或卷积核个数;18:endwhile19:endfor为测试压缩算法的有效性,本文总共设置了3个实验,压缩对象分别是LeNet-5、LeNet-300-100和Cifar10-quick。实验环境包括Ubuntu14.04.5LTS,Intel(R)Core(TM)i7-5930KCPU@3.50GHz以及深度学习框架Caffe。表1展示了压缩前后的预测精度、压缩率以及加速比。预测精度在压缩后不仅没有下降,反而有小幅度上升,可以认为压缩网络结构能够在一定程度上避免过拟合现象。压缩率是可学习参数在压缩前后的数量比。令人意外的是,LeNet-5的压缩率竟高达21.21倍。由于实时系统每次只能处理一个输入,而批处理系统可以同时处理多个输出,因此下述实验总共设置了两个BatchSize。当BatchSize等于1时,加速比为2.18到4.89倍。当BatchSize等于64时,加速比为2.27到3.39倍。表1模型在压缩前后的预测精度、压缩率以及加速比本实验在MNIST上压缩LeNet-300-100。MNIST是一个手写数字数据集,包含60000个训练样本和10000个测试样本。每个样本都是一张28x28的灰度图,图像标签从0到9。LeNet-300-100是一个全连接网络,包含3个全连接层。如表2所示,虚线两边分别是压缩前后的模型参数,其中Num表示神经元个数,Weights表示可学习参数的数量,FLOPs表示浮点乘加运算量。经过压缩,Ip1中的神经元数量由300个减少到80个,Ip2中的神经元数量由100个减少到10个,Ip3保持不变。最终,模型参数总共减少了4.18倍。当BatchSize等于1时,加速比为4.89倍。当BatchSize等于本文档来自技高网...

【技术保护点】
1.一种基于自动编码器压缩卷积神经网络的方法,其特征在于,包括以下步骤:S01:在压缩第i个网络层时,将第i‑1层与第i+1层的激活值提取出来,其中ai‑1与ai+1分别代表第i‑1层与第i+1层在测试集上的输出;S02:使用比第i个网络层少的卷积核或神经元的替换模型拟合ai‑1与ai+1之间的映射关系,将拟合完成的替换模型替换原卷积神经网络的第i层;S03:对剩余参数进行调整,使压缩后的卷积神经网络模型精度不小于原卷积神经网络模型精度。

【技术特征摘要】
1.一种基于自动编码器压缩卷积神经网络的方法,其特征在于,包括以下步骤:S01:在压缩第i个网络层时,将第i-1层与第i+1层的激活值提取出来,其中ai-1与ai+1分别代表第i-1层与第i+1层在测试集上的输出;S02:使用比第i个网络层少的卷积核或神经元的替换模型拟合ai-1与ai+1之间的映射关系,将拟合完成的替换模型替换原卷积神经网络的第i层;S03:对剩余参数进行调整,使压缩后的卷积神经网络模型精度不小于原卷积神经网络模型精度。2.根据权利要求1所述的基于自动编码器压缩卷积神经网络的方法,其特征在于,...

【专利技术属性】
技术研发人员:吴俊敏吴焕丁杰
申请(专利权)人:中国科学技术大学苏州研究院
类型:发明
国别省市:江苏,32

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

1