CN109657781A - 面向嵌入式应用的深度神经网络压缩方法、装置及终端 - Google Patents
面向嵌入式应用的深度神经网络压缩方法、装置及终端 Download PDFInfo
- Publication number
- CN109657781A CN109657781A CN201811510283.9A CN201811510283A CN109657781A CN 109657781 A CN109657781 A CN 109657781A CN 201811510283 A CN201811510283 A CN 201811510283A CN 109657781 A CN109657781 A CN 109657781A
- Authority
- CN
- China
- Prior art keywords
- network model
- network
- compressed
- deep neural
- compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 57
- 238000007906 compression Methods 0.000 title claims abstract description 56
- 230000006835 compression Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000013138 pruning Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000000354 decomposition reaction Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 description 2
- 238000003475 lamination Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 210000004218 nerve net Anatomy 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种面向嵌入式应用的深度神经网络压缩方法,包括:采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;采用第二策略压缩所述第一网络模型,得到第二网络模型;根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型。
Description
技术领域
本发明属于机载智能计算领域,提出了一种面向嵌入式应用的深度神经网络压缩方法、装置及终端。
背景技术
近年来,深度神经网络获得了很大的关注,越来越广泛地用于图像处理、目标检测等应用中。深度神经网络显著的高检测精度使其在机载领域具有极好的应用前景。但当前性能优秀的深度神经网络主要依赖于其规模庞大的参数量以及GPU的高计算能力,将深度神经网络部署到硬件资源受限的机载嵌入式设备上面临两大挑战:(1)深度神经网络模型大,如经典网络Alexnet大小有两百多兆字节,VGG16大小有五百多兆字节;(2)运行深度神经网络需要大量的点积运算,计算量大。完整的深度神经网络模型几乎无法直接部署到硬件资源受限的嵌入式设备上,因此压缩深度神经网络减少其存储和计算成本十分必要。
已有的压缩深度神经网络的方法大体分为四类:参数修剪和共享方法、低秩分解方法、迁移和压缩卷积核方法、知识精炼方法。这几类方法各有优劣,参数修剪和共享方法可以有效去除深度神经网络中的冗余参数,但得到的具有稀疏约束的神经网络硬件实现复杂;低秩分解方法很适合模型的压缩和加速,但大量的分解操作成本高昂;迁移和压缩卷积核方法在宽的神经网络上表现良好,但不适用于窄且深的神经网络;知识精炼方法可以显著地降低计算成本,但其性能比不上其他方法。因此单一地将某类方法用于深度神经网络的压缩,无法在性能、易实现和通用性等指标上达到均衡。
发明内容
本发明提出一种面向嵌入式应用的深度神经网络压缩方法、装置及终端,将低秩分解类方法中具有代表性的奇异值分解(Singular Value Decomposition,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较为合适。其次,以压缩的稀疏行(Compressed SparseRow,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,二次、三次剪枝可适当降低剪枝率。网络剪枝可迭代多次,直到在精度和压缩率之间达到理想均衡状态。
Claims (5)
1.一种面向嵌入式应用的深度神经网络压缩方法,其特征在于,包括:
采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;
根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;
采用第二策略压缩所述第一网络模型,得到第二网络模型;
根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型;
其中,所述新第一网络模型的大小达到用户要求时,将所述新第一网络模型作为目标压缩网络模型,所述第一压缩策略保持所述压缩后的网络模型的权重参数的存储格式与所述深度神经网络的存储格式相同;所述第二网络模型的权重参数以稀疏矩阵格式存储。
2.根据权利要求1所述的方法,其特征在于,所述采用第二策略压缩所述第一网络模型,得到第二网络模型,包括:
获取在所述第一网络模型的权重参数中较小的参数;所述较小参数的个数与所述权重参数的个数之比是预设剪枝率;
在所述第一网络模型中,将所述较小的参数置0;
将置0后的第一网络模型以CSR格式存储,得到所述第二网络模型。
3.根据权利要求2所述的方法,其特征在于,所述第一压缩策略是奇异值分解SVD压缩策略。
4.一种面向嵌入式应用的深度神经网络压缩装置,其特征在于,包括:
第一压缩模块,用于采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;
第一训练模块,用于根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;
第二压缩模块,用于采用第二策略压缩所述第一网络模型,得到第二网络模型;
第二训练模块,用于根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型;
其中,所述新第一网络模型的大小达到用户要求时,将所述新第一网络模型作为目标压缩网络模型,所述第一压缩策略保持所述压缩后的网络模型的权重参数的存储格式与所述深度神经网络的存储格式相同;所述第二网络模型的权重参数以稀疏矩阵格式存储。
5.一种终端,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述存储器被配置为:
采用第一策略压缩所述深度神经网络,得到压缩后的网络模型;所述压缩后的网络模型中已去除冗余的权重参数,所述深度神经网络由训练样本训练得到;
根据所述训练样本,对所述压缩后的网络模型进行训练,得到第一网络模型;
采用第二策略压缩所述第一网络模型,得到第二网络模型;
根据所述训练样本,对所述第二网络模型进行训练,得到新第一网络模型;
其中,所述新第一网络模型的大小达到用户要求时,将所述新第一网络模型作为目标压缩网络模型,所述第一压缩策略保持所述压缩后的网络模型的权重参数的存储格式与所述深度神经网络的存储格式相同;所述第二网络模型的权重参数以稀疏矩阵格式存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811510283.9A CN109657781A (zh) | 2018-12-11 | 2018-12-11 | 面向嵌入式应用的深度神经网络压缩方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811510283.9A CN109657781A (zh) | 2018-12-11 | 2018-12-11 | 面向嵌入式应用的深度神经网络压缩方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109657781A true CN109657781A (zh) | 2019-04-19 |
Family
ID=66113305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811510283.9A Pending CN109657781A (zh) | 2018-12-11 | 2018-12-11 | 面向嵌入式应用的深度神经网络压缩方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657781A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070181A (zh) * | 2019-04-30 | 2019-07-30 | 深圳朴生智能科技有限公司 | 一种用于边缘计算设备的深度学习的优化方法 |
CN110516806A (zh) * | 2019-08-30 | 2019-11-29 | 苏州思必驰信息科技有限公司 | 神经网络参数矩阵的稀疏化方法和装置 |
CN111652351A (zh) * | 2020-05-09 | 2020-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种神经网络模型的部署方法、设备及介质 |
CN112784625A (zh) * | 2019-11-04 | 2021-05-11 | 广东毓秀科技有限公司 | 一种行人重识别模型的加速与压缩的方法 |
CN113255730A (zh) * | 2021-04-27 | 2021-08-13 | 西安交通大学 | 基于拆分-融合策略的分布式深度神经网络结构转换方法 |
CN113392953A (zh) * | 2020-03-12 | 2021-09-14 | 澜起科技股份有限公司 | 用于对神经网络中卷积层进行剪枝的方法和装置 |
-
2018
- 2018-12-11 CN CN201811510283.9A patent/CN109657781A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070181A (zh) * | 2019-04-30 | 2019-07-30 | 深圳朴生智能科技有限公司 | 一种用于边缘计算设备的深度学习的优化方法 |
CN110516806A (zh) * | 2019-08-30 | 2019-11-29 | 苏州思必驰信息科技有限公司 | 神经网络参数矩阵的稀疏化方法和装置 |
CN112784625A (zh) * | 2019-11-04 | 2021-05-11 | 广东毓秀科技有限公司 | 一种行人重识别模型的加速与压缩的方法 |
CN113392953A (zh) * | 2020-03-12 | 2021-09-14 | 澜起科技股份有限公司 | 用于对神经网络中卷积层进行剪枝的方法和装置 |
CN111652351A (zh) * | 2020-05-09 | 2020-09-11 | 济南浪潮高新科技投资发展有限公司 | 一种神经网络模型的部署方法、设备及介质 |
CN113255730A (zh) * | 2021-04-27 | 2021-08-13 | 西安交通大学 | 基于拆分-融合策略的分布式深度神经网络结构转换方法 |
CN113255730B (zh) * | 2021-04-27 | 2023-04-07 | 西安交通大学 | 基于拆分-融合策略的分布式深度神经网络结构转换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657781A (zh) | 面向嵌入式应用的深度神经网络压缩方法、装置及终端 | |
CN111553484A (zh) | 联邦学习的方法、装置及系统 | |
CN104424235B (zh) | 实现用户信息聚类的方法和装置 | |
Hanif et al. | Error resilience analysis for systematically employing approximate computing in convolutional neural networks | |
CN113011581B (zh) | 神经网络模型压缩方法、装置、电子设备及可读存储介质 | |
CN102930155B (zh) | 获取电力需求的预警参数的方法及装置 | |
Xu et al. | Hybrid pruning: Thinner sparse networks for fast inference on edge devices | |
CN108334945A (zh) | 深度神经网络的加速与压缩方法及装置 | |
CN111695696A (zh) | 一种基于联邦学习的模型训练的方法及装置 | |
CN110443354A (zh) | 一种基于多组张列量分解的深度神经网络压缩方法、系统、装置及存储介质 | |
Keller et al. | Note on basic features of large time behaviour of heat kernels | |
CN111176820A (zh) | 一种基于深度神经网络的边缘计算任务的分配方法及装置 | |
CN110276451A (zh) | 一种基于权重归一化的深度神经网络压缩方法 | |
CN115022193B (zh) | 一种基于深度学习模型的局域网流量预测方法 | |
CN113595993A (zh) | 边缘计算下模型结构优化的车载感知设备联合学习方法 | |
CN111178258A (zh) | 一种图像识别的方法、系统、设备及可读存储介质 | |
CN109284761A (zh) | 一种图像特征提取方法、装置、设备及可读存储介质 | |
CN113033794A (zh) | 基于深度可分离卷积的轻量级神经网络硬件加速器 | |
CN113886460A (zh) | 低带宽分布式深度学习方法 | |
CN106297778A (zh) | 数据驱动的基于奇异值分解的神经网络声学模型裁剪方法 | |
Rong et al. | Soft Taylor pruning for accelerating deep convolutional neural networks | |
CN115759251A (zh) | 一种决策树训练方法、装置、计算机设备以及存储介质 | |
CN115936255A (zh) | 一种配电网碳排放流预测方法 | |
CN114065923A (zh) | 一种卷积神经网络的压缩方法、系统及加速装置 | |
CN113743012A (zh) | 一种多用户场景下的云-边缘协同模式任务卸载优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |
|
RJ01 | Rejection of invention patent application after publication |