CN109685205A - 一种基于稀疏矩阵的深度网络模型加速方法 - Google Patents
一种基于稀疏矩阵的深度网络模型加速方法 Download PDFInfo
- Publication number
- CN109685205A CN109685205A CN201811596658.8A CN201811596658A CN109685205A CN 109685205 A CN109685205 A CN 109685205A CN 201811596658 A CN201811596658 A CN 201811596658A CN 109685205 A CN109685205 A CN 109685205A
- Authority
- CN
- China
- Prior art keywords
- layer
- beta pruning
- model
- network model
- layers
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 239000011159 matrix material Substances 0.000 title claims abstract description 12
- 238000013138 pruning Methods 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 8
- 238000004321 preservation Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 2
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000003475 lamination Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization 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
- G06N3/045—Combinations of networks
-
- 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/08—Learning methods
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)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于稀疏矩阵的深度网络模型加速方法。其具体步骤是:(1)、调用深度网络模型和训练集;(2)、首先根据模型参数求得L1范数与L2范数的比值,然后进行归一化获得稀疏度计算公式,利用稀疏度计算公式求得上一层通道上的稀疏度;(3)、根据上一层通道上的稀疏度,然后利用依据浮点运算数得到的剪枝度计算公式获取相应的剪枝力度;(4)、根据剪枝度计算公式得到的剪枝力度,对深度网络模型的每一层进行逐层剪枝并微调深度网络模型参数;(5)、输出微调后的结构化剪枝的稀疏模型。本发明能降低深度网络模型的计算量和提高深度网络模型的运算速度。本发明便于移植到移动设备上。
Description
技术领域
本发明涉及模型压缩,神经网络技术领域,具体涉及一种基于稀疏矩阵的深度网络模型加速方法,是利用基于卷积核稀疏度的剪枝方法来降低深度网络模型的计算量。
背景技术
现阶段,人工智能的发展以深度网络模型,大数据为研究方向。在图像识别,检测等方面取得的卓越成果,也被应用于社交媒体和图像视频处理等领域,从而发展出自动驾驶,人脸识别,安防监控等多方面的应用。同时信息社会的发展,每天产生的图像数据量也不断增加,所以对于深度网络模型来说,不仅要提高深度网络模型对于目标识别的精确度,而且要提高深度网络模型的运算速度。
目前,计算机视觉是应用最广泛的人工智能技术。基于深度网络模型的计算机视觉研究,首先在大规模的数据集上训练得到深度网络模型,然后再通过L1或L2范数正则化,提高模型的泛化能力,将深度网络模型应用到实际场景中。现阶段,各种深度网络模型在物体识别领域都取得了不错的效果,如在ILSVRC-2012数据集上,vgg16深度网络模型在测试集的top-1准确率可以达到68.34%,top-5准确率可以达到88.45%,resnet50网络在测试集的top-1准确率可以达到72.88%,top-5准确率可以达到91.16%。
相比较于现有成果,深度网络模型的复杂度却不断增加。由卷积神经网络发展来的深度网络模型,在原始的卷积层,激活层和全连接层的架构下,可以设计出各种不同类型的深度网络模型。在深度网络模型中,对应卷积层,全连接层,可以将模型分为多个层,每一层都会输出多张特征图,对应每张特征图,可以将一层模型参数分为多个通道。现在,网络的发展趋势是减少全连接层,通过稀疏连接和权值共享减少参数量,从而降低模型参数规模,但是卷积层对于图像数据的处理的运算复杂度仍然很大,如vgg16深度网络模型处理一张分辨率为224×224的三通道彩色图片的浮点运算次数达到15GFLOPS,所以深度网络模型的运算规模仍然没有减少。
从2016年开始,一些人采用设计规模更小的模型或者采用对训练好的模型进行压缩的方法来降低卷积层的运算复杂度,但是这些方法对于降低卷积层的运算复杂度的效果并不明显。在模型压缩过程中,利用剪枝技术可以降低模型参数的数量与浮点数的运算量,但是目前的技术,在模型精度下降不多的情况下,一般的剪枝技术对于浮点运算量的降低较少,更多的集中在减少模型参数的方面。本专利提出一种基于稀疏矩阵的深度网络模型剪枝方法,能够显著降低浮点运算量,提高深度网络模型的运算速度。
发明内容
本发明的目的在于针对复杂度和规模不断增加的深度网络模型在训练和使用上耗费大量时间的问题,提出一种基于稀疏矩阵的深度网络模型加速方法,该方法能够提高深度网络模型的运算速度。
为了达到上述目的,本发明采用的技术方案如下:
一种基于稀疏矩阵的深度网络加速方法,具体步骤如下:
(1)、调用深度网络模型和训练集;
(2)、在深度网络模型中,利用L1范数与L2范数约束深度网络模型参数,L1范数表达式为式①,L2范数表达式为式②。首先根据模型参数求得L1范数与L2范数的比值,然后进行归一化获得稀疏度计算公式如式③,利用公式③能够提高深度网络模型在其他样本上的精确度;
其中Nl为第l层输入通道数,wj为一个通道内第j个卷积核的参数,n为每层卷积核的个数,S为稀疏度计算公式;
(3)、根据公式③得到的上一层通道上的稀疏度,然后利用依据浮点运算数得到的剪枝度Gi,l计算公式如式④获取相应的剪枝力度,Gi,l对应第l层第i通道的剪枝力度;
其中Si′,l-1是上一层对应这一层输入通道的卷积核的稀疏度,由式③计算得出,l是这一层的层深,与输入图片直接相连的是第1层,最后一层卷积层是第L层,Fl是第l层卷积层的浮点运算数占总浮点运算数的比例,k是系数,Fsum是卷积层总的浮点运算数,Floapsl为第l层浮点运算次数,Xl是第l层输入特征图的宽度,Yl是第l层输入特征图的高度,Nl为第l层输出特征图数量,Ml为第l层输入的特征图数量,Sl为第l层卷积核的长度,Tl为第l层卷积核的宽度;
(4)、根据公式④得到的剪枝力度,对深度网络模型的每一层进行逐层剪枝,如果一个深度网络模型的卷积层为l∈{1,2,...,L},则固定除第l层以外的层,对l层进行剪枝操作;
(5)、输出微调后的结构化剪枝的稀疏模型;
上述第(4)步的具体步骤如下:
(4-1)、令l∈{1,2,...,L},固定其他层参数,对输入的深度模型,取出第l层参数进行剪枝操作,输出剪枝后的稀疏模型并保存剪枝前的模型;
(4-2)、对剪枝后的稀疏模型进行微调,如果与第(1)步输入的深度网络模型的精度差大于5%,则返回第(3)步,减小系数k,重新计算第l层每个通道的剪枝力度Gi,l,调用(4-1)保存的剪枝前的模型作为输入模型,再执行第(4-1)、(4-2)步骤。如果与第(1)步输入的深度模型的精度差小于5%,则输出对该层剪枝后的稀疏模型,并将l的值加1,如果l的值大于L,则所有层剪枝完成。反之将输出的稀疏模型作为输入模型,执行(4-1),(4-2)步骤;
本发明利用一种基于卷积核稀疏度的剪枝操作方法与现有的技术相比,具有如下显而易见的突出实质性特点和显著技术进步:
本发明使用结构化剪枝的方法,在使用时,硬件结构容易实现,便于移植到移动设备上。
本发明利用剪枝技术,能够保证原有模型精度的情况下,降低深度网络模型的计算量。
本发明利用基于稀疏矩阵的剪枝技术,能够提高深度网络模型的运算速度。
附图说明
图1是本发明的流程图。
图2是本发明的卷积层结构。
具体实施方式
下面结合说明书附图对本发明的实施例作进一步详细说明。
本发明进行的仿真实验是采用python代码在caffe平台上运行,在微调和训练时采用ILSVRC-2012的训练集,压缩的深度网络模型是vgg-16用于物体识别的caffemodel,可以实现一千个类别的物体识别。
本发明基于稀疏矩阵的深度网络模型加速方法,整个流程如图1所示,其具体步骤如下:
(1)、在caffe平台上,读入相关路径下的caffemodel和相关路径下的训练集。采用的vgg-16深度网络模型的卷积层如图2所示,卷积核的大小为3×3,输入特征图的大小是4×4;
(2)、利用vgg-16深度网络模型读出卷积核的参数和每层卷积核的个数,然后根据公式⑤得到上一层输出通道的稀疏度;
其中Nl为第l层输入通道数,wj为一个通道内第j个卷积核的参数,n为每层卷积核的个数,S为稀疏度计算公式;
(3)、根据公式⑤得到的上一层通道上的稀疏度,然后利用依据浮点运算数得到的剪枝度Gi,l公式如式⑥获取相应的剪枝力度,Gi,l对应第l层第i通道的剪枝力度;
其中Si′,l-1是上一层对应这一层输入通道的卷积核的稀疏度,由公式⑤计算得出,l是这一层的层深,与输入图片直接相连的是第1层,最后一层卷积层是第L层,Fl是第l层卷积层的浮点运算数占总浮点运算数的比例,k是系数此时取值为0.22,Fsum是卷积层总的浮点运算数,Floapsl为第l层浮点运算次数,Xl是第l层输入特征图的宽度,Yl是第l层输入特征图的高度,Nl为第l层输出特征图数量,Ml为第l层输入的特征图数量,Sl为第l层卷积核的长度,Tl为第l层卷积核的宽度;
(4)、根据公式⑥得到的剪枝力度,对深度网络模型的每一层进行逐层剪枝,如果一个深度网络模型的卷积层为l∈{1,2,...,L},则固定除第l层以外的层,对l层进行剪枝操作;
(5)、输出微调后的结构化剪枝的稀疏模型;
上述第(4)步的具体步骤如下:
(4-1)、令l∈{1,2,...,L},其中L是从vgg-16深度网络模型中获取到且值为13,固定其他层参数,对输入的深度模型,取出第l层参数进行剪枝操作,输出剪枝后的稀疏模型并保存剪枝前的模型;
(4-2)、对剪枝后的稀疏模型进行微调,如果与第(1)步输入的深度网络模型的精度差大于5%,则返回第(3)步,减小系数k,重新计算第l层每个通道的剪枝力度Gi,l,调用(4-1)保存的剪枝前的模型作为输入模型,再执行第(4-1)、(4-2)步骤。如果与第(1)步输入的深度模型的精度差小于5%,则输出对该层剪枝后的稀疏模型,并将l的值加1,如果l的值大于L,则所有层剪枝完成。反之将输出的稀疏模型作为输入模型,执行(4-1)、(4-2)步骤。
从上述实验结果可以看出,利用基于稀疏矩阵的结构化剪枝技术,能够提高深度网络模型的运算速度。
Claims (2)
1.一种基于稀疏矩阵的深度网络模型加速方法,其特征在于,具体步骤如下:
(1)、调用深度网络模型和训练集;
(2)、在深度网络模型中,利用L1范数与L2范数约束深度网络模型参数,L1范数表达式为式①,L2范数表达式为式②;首先根据模型参数求得L1范数与L2范数的比值,然后进行归一化获得稀疏度计算公式如式③,利用公式③能够提高深度网络模型在其他样本上的精确度;
其中Nl为第l层输入通道数,wj为一个通道内第j个卷积核的参数,n为每层卷积核的个数,S为稀疏度计算公式;
(3)、根据公式③得到上一层通道上的稀疏度,然后利用依据浮点运算数得到的剪枝度Gi,l计算公式如式④获取相应的剪枝力度,Gi,l对应第l层第i通道的剪枝力度;
其中Si′,l-1是上一层对应这一层输入通道的卷积核的稀疏度,由式③计算得出,l是这一层的层深,与输入图片直接相连的是第1层,最后一层卷积层是第L层,Fl是第l层卷积层的浮点运算数占总浮点运算数的比例,k是系数,Fsum是卷积层总的浮点运算数,Floapsl为第l层浮点运算次数,Xl是第l层输入特征图的宽度,Yl是第l层输入特征图的高度,Nl为第l层输出特征图数量,Ml为第l层输入的特征图数量,Sl为第l层卷积核的长度,Tl为第l层卷积核的宽度;
(4)、根据公式④得到的剪枝力度,对深度网络模型的每一层进行逐层剪枝,如果一个深度网络模型的卷积层为l∈{1,2,...,L},则固定除第l层以外的层,对l层进行剪枝操作;
(5)、输出微调后的结构化剪枝的稀疏模型。
2.根据权利要求1所述的基于稀疏矩阵的深度网络加速方法,其特征在于,上述步骤(4)剪枝过程的具体步骤如下:
(4-1)、令l∈{1,2,...,L},固定其他层参数,对输入的深度模型,取出第l层参数进行剪枝操作,输出剪枝后的稀疏模型并保存剪枝前的模型;
(4-2)、对剪枝后的稀疏模型进行微调,如果与第(1)步输入的深度网络模型的精度差大于5%,则返回第(3)步,减小系数k,重新计算第l层每个通道的剪枝力度Gi,l,调用(4-1)保存的剪枝前的模型作为输入模型,再执行第(4-1)、(4-2)步骤;如果与第(1)步输入的深度模型的精度差小于5%,则输出对该层剪枝后的稀疏模型,并将l的值加1,如果l的值大于L,则所有层剪枝完成;反之将输出的稀疏模型作为输入模型,执行(4-1),(4-2)步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811596658.8A CN109685205A (zh) | 2018-12-26 | 2018-12-26 | 一种基于稀疏矩阵的深度网络模型加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811596658.8A CN109685205A (zh) | 2018-12-26 | 2018-12-26 | 一种基于稀疏矩阵的深度网络模型加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109685205A true CN109685205A (zh) | 2019-04-26 |
Family
ID=66189615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811596658.8A Pending CN109685205A (zh) | 2018-12-26 | 2018-12-26 | 一种基于稀疏矩阵的深度网络模型加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109685205A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766131A (zh) * | 2019-05-14 | 2020-02-07 | 北京嘀嘀无限科技发展有限公司 | 数据处理装置、方法和电子设备 |
CN111026700A (zh) * | 2019-11-21 | 2020-04-17 | 清华大学 | 实现加速的存内计算架构及其加速方法 |
CN112734036A (zh) * | 2021-01-14 | 2021-04-30 | 西安电子科技大学 | 基于剪枝卷积神经网络的目标检测方法 |
CN114936078A (zh) * | 2022-05-20 | 2022-08-23 | 天津大学 | 一种微网群边缘调度与智能体轻量化裁剪方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106066994A (zh) * | 2016-05-24 | 2016-11-02 | 北京工业大学 | 一种基于Fisher判别的稀疏表示的人脸识别方法 |
CN107316079A (zh) * | 2017-08-08 | 2017-11-03 | 珠海习悦信息技术有限公司 | 终端卷积神经网络的处理方法、装置、存储介质及处理器 |
CN107944555A (zh) * | 2017-12-07 | 2018-04-20 | 广州华多网络科技有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
CN108764471A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 基于特征冗余分析的神经网络跨层剪枝方法 |
CN108932548A (zh) * | 2018-05-22 | 2018-12-04 | 中国科学技术大学苏州研究院 | 一种基于fpga的稀疏度神经网络加速系统 |
-
2018
- 2018-12-26 CN CN201811596658.8A patent/CN109685205A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106066994A (zh) * | 2016-05-24 | 2016-11-02 | 北京工业大学 | 一种基于Fisher判别的稀疏表示的人脸识别方法 |
CN107316079A (zh) * | 2017-08-08 | 2017-11-03 | 珠海习悦信息技术有限公司 | 终端卷积神经网络的处理方法、装置、存储介质及处理器 |
CN107944555A (zh) * | 2017-12-07 | 2018-04-20 | 广州华多网络科技有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
CN108764471A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 基于特征冗余分析的神经网络跨层剪枝方法 |
CN108932548A (zh) * | 2018-05-22 | 2018-12-04 | 中国科学技术大学苏州研究院 | 一种基于fpga的稀疏度神经网络加速系统 |
Non-Patent Citations (1)
Title |
---|
鲁云涛: "《基于FPGA的稀疏神经网络加速器》", 《信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766131A (zh) * | 2019-05-14 | 2020-02-07 | 北京嘀嘀无限科技发展有限公司 | 数据处理装置、方法和电子设备 |
CN111026700A (zh) * | 2019-11-21 | 2020-04-17 | 清华大学 | 实现加速的存内计算架构及其加速方法 |
CN111026700B (zh) * | 2019-11-21 | 2022-02-01 | 清华大学 | 实现加速的存内计算架构及其加速方法 |
CN112734036A (zh) * | 2021-01-14 | 2021-04-30 | 西安电子科技大学 | 基于剪枝卷积神经网络的目标检测方法 |
CN114936078A (zh) * | 2022-05-20 | 2022-08-23 | 天津大学 | 一种微网群边缘调度与智能体轻量化裁剪方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685205A (zh) | 一种基于稀疏矩阵的深度网络模型加速方法 | |
CN110084221B (zh) | 一种基于深度学习的带中继监督的序列化人脸关键点检测方法 | |
Qiumei et al. | Improved convolutional neural network based on fast exponentially linear unit activation function | |
CN111160269A (zh) | 一种人脸关键点检测方法及装置 | |
CN109242092B (zh) | 图像处理方法和装置、电子设备、存储介质 | |
CN109299716A (zh) | 神经网络的训练方法、图像分割方法、装置、设备及介质 | |
CN113537305A (zh) | 一种基于匹配网络少样本学习的图像分类方法 | |
US20240257356A1 (en) | Three-dimensional medical image segmentation method and system based on short-term and long-term memory self-attention model | |
CN110929836B (zh) | 神经网络训练及图像处理方法和装置、电子设备、介质 | |
Zhang et al. | An improved YOLOv3 model based on skipping connections and spatial pyramid pooling | |
CN109118487A (zh) | 基于非下采样轮廓波变换和卷积神经网络的骨龄评估方法 | |
Li et al. | A deep learning method for material performance recognition in laser additive manufacturing | |
CN112668486A (zh) | 一种预激活残差深度可分离卷积网络面部表情识别方法、装置和载体 | |
CN114021603A (zh) | 一种基于模型重参数化的雷达信号调制方式识别方法 | |
CN114972753A (zh) | 基于上下文信息聚合和辅助学习的轻量级语义分割方法及系统 | |
Li et al. | A multiscale dilated residual network for image denoising | |
CN112863650A (zh) | 一种基于卷积与长短期记忆神经网络的心肌病识别系统 | |
CN114091648A (zh) | 基于卷积神经网络的图像分类方法、装置及卷积神经网络 | |
CN116757255A (zh) | 一种改进MobileNetV2的分心驾驶行为检测模型轻量化方法 | |
CN109558819A (zh) | 一种用于遥感图像目标检测的深度网络轻量化方法 | |
US11934954B2 (en) | Pure integer quantization method for lightweight neural network (LNN) | |
CN116301914A (zh) | 基于gap8微处理器的卷积神经网络部署方法 | |
CN111369503B (zh) | 一种基于卷积神经网络对图像中的铅笔进行精确计数的方法 | |
CN111178174B (zh) | 基于深度卷积神经网络的尿液有形成分图像识别方法 | |
CN113907710A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |