面向嵌入式应用的深度神经网络压缩方法、装置及终端与流程

文档序号:17466460发布日期:2019-04-20 05:32阅读:425来源:国知局
面向嵌入式应用的深度神经网络压缩方法、装置及终端与流程

本发明属于机载智能计算领域,提出了一种面向嵌入式应用的深度神经网络压缩方法、装置及终端。



背景技术:

近年来,深度神经网络获得了很大的关注,越来越广泛地用于图像处理、目标检测等应用中。深度神经网络显著的高检测精度使其在机载领域具有极好的应用前景。但当前性能优秀的深度神经网络主要依赖于其规模庞大的参数量以及gpu的高计算能力,将深度神经网络部署到硬件资源受限的机载嵌入式设备上面临两大挑战:(1)深度神经网络模型大,如经典网络alexnet大小有两百多兆字节,vgg16大小有五百多兆字节;(2)运行深度神经网络需要大量的点积运算,计算量大。完整的深度神经网络模型几乎无法直接部署到硬件资源受限的嵌入式设备上,因此压缩深度神经网络减少其存储和计算成本十分必要。

已有的压缩深度神经网络的方法大体分为四类:参数修剪和共享方法、低秩分解方法、迁移和压缩卷积核方法、知识精炼方法。这几类方法各有优劣,参数修剪和共享方法可以有效去除深度神经网络中的冗余参数,但得到的具有稀疏约束的神经网络硬件实现复杂;低秩分解方法很适合模型的压缩和加速,但大量的分解操作成本高昂;迁移和压缩卷积核方法在宽的神经网络上表现良好,但不适用于窄且深的神经网络;知识精炼方法可以显著地降低计算成本,但其性能比不上其他方法。因此单一地将某类方法用于深度神经网络的压缩,无法在性能、易实现和通用性等指标上达到均衡。



技术实现要素:

本发明提出一种面向嵌入式应用的深度神经网络压缩方法、装置及终端,将低秩分解类方法中具有代表性的奇异值分解(singularvaluedecomposition,svd)方法和网络剪枝方法两者相结合进行深度神经网络的压缩。该方法可压缩各种结构的深度神经网络,具有通用性,用此方法压缩后模型大小可大大减小,为深度神经网络移植到嵌入式设备提供了一种可行的解决方案。

第一方面,本发明提供一种面向嵌入式应用的深度神经网络压缩方法,包括:

采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;

根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;

采用第二策略压缩所述第一网络模型,得到第二网络模型;

根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型;

其中,所述新第一网络模型的大小达到用户要求时,将所述新第一网络模型作为目标压缩网络模型,所述第一压缩策略保持所述压缩后的网络模型的权重参数的存储格式与所述深度神经网络的存储格式相同;所述第二网络模型的权重参数以稀疏矩阵格式存储。

可选的,所述采用第二策略压缩所述第一网络模型,得到第二网络模型,包括:

获取在所述第一网络模型的权重参数中较小的参数;所述较小参数的个数与所述权重参数的个数之比是预设剪枝率;

在所述第一网络模型中,将所述较小的参数置0;

将置0后的第一网络模型以csr格式存储,得到所述第二网络模型。

可选的,所述第一压缩策略是奇异值分解svd压缩策略。

第二方面,本发明提供一种面向嵌入式应用的深度神经网络压缩装置,包括:

第一压缩模块,用于采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;

第一训练模块,用于根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;

第二压缩模块,用于采用第二策略压缩所述第一网络模型,得到第二网络模型;

第二训练模块,用于根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型;

其中,所述新第一网络模型的大小达到用户要求时,将所述新第一网络模型作为目标压缩网络模型,所述第一压缩策略保持所述压缩后的网络模型的权重参数的存储格式与所述深度神经网络的存储格式相同;所述第二网络模型的权重参数以稀疏矩阵格式存储。

第三方面,本发明提供一种终端,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述存储器被配置为:

采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;

根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;

采用第二策略压缩所述第一网络模型,得到第二网络模型;

根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型;

其中,所述新第一网络模型的大小达到用户要求时,将所述新第一网络模型作为目标压缩网络模型,所述第一压缩策略保持所述压缩后的网络模型的权重参数的存储格式与所述深度神经网络的存储格式相同;所述第二网络模型的权重参数以稀疏矩阵格式存储。

本发明将两类深度神经网络压缩方法相结合,提出一种先用svd策略初步压缩全连接层再用网络剪枝法进一步压缩卷积层和全连接层的深度神经网络压缩方法、装置、终端及存储介质。本发明吸收了这两类网络压缩方法的优点,可压缩各种结构的深度神经网络,具有通用性,规避了现有的网络压缩方法无法在性能和适用性上取得均衡的缺陷;而且本发明中的方法通过前后两个步骤,对深度神经网络压缩效果明显,大大降低了深度神经网络的存储和计算成本,使它可部署在硬件资源受限的机载嵌入式硬件平台上。

附图说明

图1为面向嵌入式应用的深度神经网络压缩方法流程示意图。

具体实施方式

本发明属于机载智能计算领域,提出了一种面向嵌入式应用的深度神经网络压缩方法、装置及终端。深度神经网络在图像处理、目标检测等任务中取得了显著的成果,在机载领域同样具有极好的应用前景。但当前性能优秀的深度神经网络主要依赖于其规模庞大的参数量以及gpu的高计算能力,深度神经网络高昂的存储、计算成本使其几乎无法直接部署到硬件资源受限的嵌入式设备上,因此压缩深度神经网络是十分必要的。本发明在已有的压缩深度神经网络方法的基础上,提出了一种将svd(奇异值分解)策略和网络剪枝方法相结合的深度神经网络压缩方法、装置、终端及存储介质,可以显著地减少网络参数量,压缩后模型大小可大大减小,为深度神经网络移植到嵌入式设备提供了一种可行的解决方案。

对本发明做进一步详细说明。

本发明提出的将svd策略和网络剪枝相结合压缩深度神经网络的方法、装置、终端及存储介质可基于卷积神经网络框架caffe实现,如图1所示。因为全连接层的参数量占了网络参数总量的大部分,而svd策略实现简单、低秩近似全连接层能取得很好的效果,因此对于预训练好的网络模型,先用svd策略减少全连接层的冗余参数,再用网络剪枝方法进一步压缩网络。

第一步包括:步骤1、svd策略去除冗余参数。步骤2、微调压缩后的网络模型。

先采用svd策略初步压缩深度神经网络,去除全连接层中的冗余参数。基于svd法压缩全连接层就是引入一个中间层l’,该中间层包含p个神经元。对相邻两个全连接层的m×n维的权重矩阵w执行svd运算,即选择最大的p个值来近似w,这样w可以分解为两个权重矩阵相乘,权重规模便由m×n减小到(m+n)×p。一般而言,设置的参数p要远小于m和n的值,一般设置为m、n中较小值的1/10。经svd策略压缩全连接层后,网络的精度会有所下降,通过固定卷积层,微调全连接层以恢复损失的精度。由于经过压缩已减少了全连接层的参数量,因此微调时全连接层的丢弃率(dropout_ratio)需设置为较小的值,通过实验证明设为原丢弃吕的1/4到1/5较为合适。

第二步包括:步骤1、权重值从小到大排序。步骤2、设定剪枝率将较小的值置为0。步骤3、以csr格式存储剪枝后的稀疏矩阵。步骤4、微调稀疏存储的网络模型。

对于svd法初步压缩后的网络模型,用网络剪枝法进一步压缩网络的卷积层和全连接层。首先,将权重值从小到大排序,设定剪枝率,将权重较小部分的权重值置为0,即减去网络中不重要的连接。对于全连接层,可将剪枝率设为0.8或0.9等;对于卷积层,由于其对剪枝更敏感,剪枝率设为0.5或0.6较为合适。其次,以压缩的稀疏行(compressedsparserow,csr)格式来存储剪枝后的稀疏矩阵。最后交替微调卷积层和全连接层中的剩余非零权重值以保证精度基本无损失,即先固定卷积层微调全连接层参数,再固定全连接层微调卷积层参数。已做的实验证明,交替微调参数比整体调参能获得更高的测试准确度。网络剪枝步骤可多次迭代,直到在精度和目标模型大小之间取得折中。

以通用深度神经网络vgg16为例,vgg16网络有13个卷积层和3个全连接层,其中卷积层权重值约为13m,而全连接层权重值约为124m,超过总参数量的90%。首先用svd方法压缩vgg16的全连接层,vgg16的3个全连接层fc1、fc2、fc3的输出通道数为4096,对每个全连接层将引入的中间层的输出通道数可设为512来低秩近似权重值,这样每一个全连接层的权重规模由4096×4096减小到(4096+4096)×512。压缩后精度会有所下降,固定卷积层,微调全连接层的参数以提升压缩后的网络模型的性能。对初步压缩后的网络,再剪枝它的13个卷积层和3个全连接层,为了有效的减去权重值低于某阈值的无用的连接,先将所有权重值从小到大排序,设定一个剪枝率ratio,将占全部权重值数目比率为ratio的较小值设为0。然后将稀疏矩阵的非零值存为csr格式,交替微调卷积层和全连接层的参数以保证精度基本上无损失。初次剪枝可先将剪枝率设的高一些如0.85、0.9,二次、三次剪枝可适当降低剪枝率。网络剪枝可迭代多次,直到在精度和压缩率之间达到理想均衡状态。

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