CN109086866B - 一种适用于嵌入式设备的部分二值卷积方法 - Google Patents
一种适用于嵌入式设备的部分二值卷积方法 Download PDFInfo
- Publication number
- CN109086866B CN109086866B CN201810706834.2A CN201810706834A CN109086866B CN 109086866 B CN109086866 B CN 109086866B CN 201810706834 A CN201810706834 A CN 201810706834A CN 109086866 B CN109086866 B CN 109086866B
- Authority
- CN
- China
- Prior art keywords
- convolution
- layer
- cnn
- convolution kernels
- importance
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种适用于嵌入式设备的部分二值化卷积方法,属于深度学习的模型压缩方法,它包括步骤1、对给定CNN的每一个卷积层,根据每个输出特征图的统计量测量出每个卷积核的重要性;将每层的卷积核分别构成两组;步骤2、将两组卷积核在存储空间上进行重新排列使同组卷积核的存储位置邻近,记录重排顺序,生成新的卷积层;步骤3、根据步骤2的重排顺序改变下一个卷积层卷积核的通道顺序;步骤4、根据以上步骤处理后的CNN进行微调训练,对划分为非重要的卷积层执行二值量化,整个网络通过量化与训练的迭代操作逐步恢复准确率。本发明确保了给定CNN在大数据集上的准确度的同时,减少了卷积神经网络在嵌入式设备上的计算、存储开销。
Description
技术领域
本发明属于深度学习的模型压缩领域,具体涉及一种适用于嵌入式设备的部分二值卷积方法。
背景技术
随着深度卷积神经网络(CNNs)的快速发展,CNN已经在许多任务领域,如图像分类、物体识别、语义分割中成为了顶尖的技术。传统上,搭载有高端图像处理器(GPU)的数据中心是部署CNN应用的最佳选择,但是这种以云为中心的应用框架通常会引起一些问题,比如用户隐私性问题、响应时间长,在没有互联网的情况下这些应用甚至无法被使用。因此,人们开始采用直接在嵌入式设备上部署CNN。
CNN模型往往需要大量的计算资源和存储资源,比如拥有5个卷积层的AlexNet需要722M的浮点数操作次数(FLOPs)和240MB的存储空间;VGG-16则需要15.8G的FLOPs和552MB的存储空间,这会极大的资源需求会导致系统负载问题,尤其是对于资源受限的嵌入式系统而言。
为了在嵌入式系统上的应用CNN,现有的处理方法大致分为以下几种:网络剪枝、定点数量化、结构优化。在这些处理方法中基于二值量化技术因其良好的网络性能改善能力而备受关注。但是,这些二值量化技术在大规模数据集如ImageNet上降低了CNN基准网络的准确度,表1列出了以AlexNet为基础模型的几种二值量化技术在ImageNet数据集上的准确度对比。
表1不同二值量化技术准确度比较
BWN和XNOR-Net的准确度依据文献:Rastegari M,Ordonez V,and Redmon J,“Xnor-net:Imagenet classification using binary convolutional neuralnetworks,”in European Conference on Computer Vision,2016,pp.525-542.(作者:Rastegari M,Ordonez V,Redmon J,论文题目:Xnor-net:使用二值卷积神经网络进行Imagenet分类,会议名称:欧洲计算机视觉会议,2016,论文集页码:525-542);
BinaryConnect的准确度依据文献:Courbariaux M,Bengio Y,and David J P,“Binaryconnect:Training deep neural networks with binary weights duringpropagations,”in Advances in neural information processing systems,2015,pp.3123-3131.(作者:Courbariaux M,Bengio Y,David J P,论文题目:Binaryconnect:在传播期间训练二值权重深度神经网络,会议名称:神经信息处理系统进展会议,2015,论文集页码:3123-3131);
BNN的准确度依据文献:Hubara I,Courbariaux M,and Soudry D,“Binarizedneural networks,”in Advances in neural information processing systems,2016,pp.4107-4115.(作者:Hubara I,Courbariaux M,Soudry D,论文题目:二值化的神经网络,会议名称:神经信息处理系统进展会议,2016,论文集页码:4107-4115)。
从表1可以看到,相比于基准网络,现有的二值量化技术都较大地降低了CNN基准网络的准确度。这主要是因为:统一对所有卷积核执行二值量化而未考虑不同的卷积核拥有不同的重要性,如果重要的卷积核被二值量化则有可能导致准确度的下降。所以,二值量化处理方法应该能够考虑卷积核的不同重要性,针对不同重要性的卷积核执行差异化的操作。
发明内容
本发明所要解决的技术问题就是提供一种适用于嵌入式设备的部分二值卷积方法,它能充分利用卷积核的差异性,对不同重要性的卷积核执行差异化的量化操作,减少CNN在嵌入式设备上的计算、存储消耗,还能够尽可能高地维持CNN在大数据集上的准确度。
本发明所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:
步骤1、对给定深度卷积神经网络的每一个卷积层,根据每个输出特征图的统计量测量出每个卷积核的重要性;并将每层的卷积核按照重要性进行排序,设定卷积核重要性阈值,把大于阈值和小于阈值的卷积核分为两组;
步骤2、将两组卷积核在存储空间上进行重新排列,使同组卷积核的存储位置邻近,保存重排顺序,为重排后的每组卷积核生成新的卷积层;
步骤3、根据步骤2的重排顺序改变下一个卷积层卷积核的通道顺序,使得每个卷积核的通道顺序与重排顺序一致;
步骤4、根据以上步骤处理后的CNN进行微调训练,对划分为重要的卷积层保留其全精度,对划分为非重要的卷积层执行二值量化,整个网络通过量化与训练的迭代操作逐步恢复准确度。
本发明的技术效果是:
本发明针对卷积核的不同重要性执行不同的量化策略,确保了给定CNN在大数据集上的准确度的同时,减少了深度卷积神经网络在嵌入式设备上的计算、存储开销。
附图说明
本发明的附图说明如下:
图1为本发明的信息处理过程图;
图2为本发明的流程简图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
本发明的信息处理过程如图1所示,图1中包含有4个子图:卷积核分组、卷积核重排、通道重排和模型微调。
1、卷积核分组子图为本发明步骤1,即:对给定深度卷积神经网络的每一个卷积层,根据卷积核重要性计算公式计算出每个卷积核的重要性;并将每层的卷积核按照重要性进行排序,设定卷积核重要性阈值,把大于阈值和小于阈值的卷积核分为两组。图中Nc为输入特征图的通道数,hi/wi为输入特征图的高和宽,k为卷积核的高和宽,Nk为卷积核的个数,ho/wo为输出特征图的高和宽,黑色和白色卷积核分别代表被划分后的两组。
2、卷积核重排子图为本发明步骤2,即:将两组卷积核在存储空间上进行重新排列,使同组卷积核的存储位置邻近,保存重排顺序,为重排后的每组卷积核生成新的卷积层。
3、通道重排子图为本发明步骤3,即:根据步骤2的重排顺序改变下一个卷积层卷积核的通道顺序,使得每个卷积核的通道顺序与重排顺序一致。
4、模型微调子图为本发明步骤4,即:根据以上步骤处理后的CNN进行微调训练,对划分为重要的卷积层保留其全精度,对划分为非重要的卷积层执行二值量化,CNN整个网络通过量化与训练的迭代操作逐步恢复准确度。
本发明的运行环境是:一台电脑设备,它包含CPU等必要的硬件设备,能够运行基于Linux kernel的操作系统,caffe深度学习框架。
同时需要ImageNet数据集,预训练好的AlexNet Caffe Model。
在得到预训练好的AlexNet Caffe Moel(也可以是其他预训练好的模型,这里使用AlexNet作为实例)后,执行图2所示的流程:
该流程开始于步骤S00,输入预训练好的CNN;
在步骤S01,从ImageNet数据集采样N张图片,用给定的AlexNet进行前向传播,从而获得各层的输出特征图L为卷积层总数,n=1,2,3,...,N,N是用于计算重要性的样本的个数,设表示第l卷积层在第n个输入样本上的输出特征图,则每个输出特征图可以表示为一个三维张量,表示中坐标为(k,i,j)的元素,其中k为通道索引,i/j为宽/高索引。对l层的第k个卷积核,其重要性的计算式如下:
在步骤S03,根据步骤S02的分组结果,每个卷积层的卷积核都可被分为2组。设对于第l层,非重要卷积核构成的集合为重要卷积核构成的集合为其中X和Y分别为组内卷积核个数。为和构造两个新的卷积层,这两个卷积层共享相同输入、两个卷积层的输出拼接到一起作为下一层的输入。
在步骤S06,对CNN整个网络执行如下标准的前向传播算法:
在步骤S07,对CNN整个网络执行如下标准的反向传播算法:
在步骤S08,更新网络参数,计算式如下:
其中η为预设的学习率。
本发明在ImageNet数据集上的准确度见表2
表2
从表2看出,本发明的准确度高于现有的二值量化处理方法。
Claims (1)
1.一种适用于嵌入式设备的部分二值卷积方法,其特征是:包括有以下步骤:
步骤1、对给定深度卷积神经网络的每一个卷积层,根据每个输出特征图的统计量测量出每个卷积核的重要性;并将每层的卷积核按照重要性进行排序,设定卷积核重要性阈值,把大于阈值和小于阈值的卷积核分为两组;
卷积核重要性的计算公式是:
步骤2、将两组卷积核在存储空间上进行重新排列,使同组卷积核的存储位置邻近,保存重排顺序,为重排后的每组卷积核生成新的卷积层;
步骤3、根据步骤2的重排顺序改变下一个卷积层中的卷积核的通道顺序,使得每个卷积核的通道顺序与重排顺序一致;
步骤4、根据以上步骤处理后的CNN进行微调训练,对划分为重要的卷积层保留其全精度,对划分为非重要的卷积层执行二值量化,整个网络通过量化与训练的迭代操作逐步恢复准确度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810706834.2A CN109086866B (zh) | 2018-07-02 | 2018-07-02 | 一种适用于嵌入式设备的部分二值卷积方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810706834.2A CN109086866B (zh) | 2018-07-02 | 2018-07-02 | 一种适用于嵌入式设备的部分二值卷积方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086866A CN109086866A (zh) | 2018-12-25 |
CN109086866B true CN109086866B (zh) | 2021-07-30 |
Family
ID=64836865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810706834.2A Active CN109086866B (zh) | 2018-07-02 | 2018-07-02 | 一种适用于嵌入式设备的部分二值卷积方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086866B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784488B (zh) * | 2019-01-15 | 2022-08-12 | 福州大学 | 一种适用于嵌入式平台的二值化卷积神经网络的构建方法 |
CN110033766A (zh) * | 2019-04-17 | 2019-07-19 | 重庆大学 | 一种基于二值化递归神经网络的语音识别方法 |
CN110309847B (zh) * | 2019-04-26 | 2021-09-17 | 深圳前海微众银行股份有限公司 | 一种模型压缩方法及装置 |
CN110598438B (zh) * | 2019-07-19 | 2023-05-30 | 福州大学 | 基于深度卷积神经网络的云中保护外包数据隐私保护系统 |
CN111091184B (zh) * | 2019-12-19 | 2022-03-22 | 浪潮(北京)电子信息产业有限公司 | 一种深度神经网络的量化方法、装置、电子设备及介质 |
CN111382788B (zh) * | 2020-03-06 | 2022-03-04 | 西安电子科技大学 | 基于二值量化网络的高光谱图像分类方法 |
CN113411583B (zh) * | 2021-05-24 | 2022-09-02 | 西北工业大学 | 基于维度拆分的图像压缩方法 |
CN113393368B (zh) * | 2021-06-11 | 2023-08-18 | 安谋科技(中国)有限公司 | 基于神经网络模型的图像处理方法、介质和电子设备 |
CN113762101A (zh) * | 2021-08-19 | 2021-12-07 | 深圳壹秘科技有限公司 | 人形检测方法、系统、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636755A (zh) * | 2015-01-31 | 2015-05-20 | 华南理工大学 | 一种基于深度学习的人脸美丽评价方法 |
CN105469062A (zh) * | 2015-12-04 | 2016-04-06 | 电子科技大学 | 一种基于主成分分析网框架的车型识别方法 |
CN106503106A (zh) * | 2016-10-17 | 2017-03-15 | 北京工业大学 | 一种基于深度学习的图像哈希索引构建方法 |
CN106548234A (zh) * | 2016-11-17 | 2017-03-29 | 北京图森互联科技有限责任公司 | 一种神经网络剪枝方法及装置 |
CN107169106A (zh) * | 2017-05-18 | 2017-09-15 | 珠海习悦信息技术有限公司 | 视频检索方法、装置、存储介质及处理器 |
CN107481295A (zh) * | 2017-08-14 | 2017-12-15 | 哈尔滨工业大学 | 基于动态字节长度分配的卷积神经网络的图像压缩系统 |
WO2018000309A1 (en) * | 2016-06-30 | 2018-01-04 | Intel Corporation | Importance-aware model pruning and re-training for efficient convolutional neural networks |
CN107563495A (zh) * | 2017-08-04 | 2018-01-09 | 深圳互连科技有限公司 | 面向嵌入式低功耗卷积神经网络方法 |
CN107704509A (zh) * | 2017-08-31 | 2018-02-16 | 北京联合大学 | 一种联合稳定区域与深度学习的重排序方法 |
CN107784360A (zh) * | 2017-10-27 | 2018-03-09 | 江苏环实科技有限公司 | 步进式卷积神经网络剪枝压缩方法 |
CN107885764A (zh) * | 2017-09-21 | 2018-04-06 | 银江股份有限公司 | 基于多任务深度学习快速哈希车辆检索方法 |
CN108108657A (zh) * | 2017-11-16 | 2018-06-01 | 浙江工业大学 | 一种基于多任务深度学习的修正局部敏感哈希车辆检索方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201607994D0 (en) * | 2016-05-06 | 2016-06-22 | Magic Pony Technology Ltd | Encoder pre-analyser |
-
2018
- 2018-07-02 CN CN201810706834.2A patent/CN109086866B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636755A (zh) * | 2015-01-31 | 2015-05-20 | 华南理工大学 | 一种基于深度学习的人脸美丽评价方法 |
CN105469062A (zh) * | 2015-12-04 | 2016-04-06 | 电子科技大学 | 一种基于主成分分析网框架的车型识别方法 |
WO2018000309A1 (en) * | 2016-06-30 | 2018-01-04 | Intel Corporation | Importance-aware model pruning and re-training for efficient convolutional neural networks |
CN106503106A (zh) * | 2016-10-17 | 2017-03-15 | 北京工业大学 | 一种基于深度学习的图像哈希索引构建方法 |
CN106548234A (zh) * | 2016-11-17 | 2017-03-29 | 北京图森互联科技有限责任公司 | 一种神经网络剪枝方法及装置 |
CN107169106A (zh) * | 2017-05-18 | 2017-09-15 | 珠海习悦信息技术有限公司 | 视频检索方法、装置、存储介质及处理器 |
CN107563495A (zh) * | 2017-08-04 | 2018-01-09 | 深圳互连科技有限公司 | 面向嵌入式低功耗卷积神经网络方法 |
CN107481295A (zh) * | 2017-08-14 | 2017-12-15 | 哈尔滨工业大学 | 基于动态字节长度分配的卷积神经网络的图像压缩系统 |
CN107704509A (zh) * | 2017-08-31 | 2018-02-16 | 北京联合大学 | 一种联合稳定区域与深度学习的重排序方法 |
CN107885764A (zh) * | 2017-09-21 | 2018-04-06 | 银江股份有限公司 | 基于多任务深度学习快速哈希车辆检索方法 |
CN107784360A (zh) * | 2017-10-27 | 2018-03-09 | 江苏环实科技有限公司 | 步进式卷积神经网络剪枝压缩方法 |
CN108108657A (zh) * | 2017-11-16 | 2018-06-01 | 浙江工业大学 | 一种基于多任务深度学习的修正局部敏感哈希车辆检索方法 |
Non-Patent Citations (5)
Title |
---|
NISP: Pruning Networks using Neuron Importance Score Propagation;Ruichi Yu等;《arXiv:1711.05908v3》;20180321;1-15 * |
PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE;Pavlo Molchanov等;《arXiv:1611.06440v2》;20170608;1-17 * |
Structured Pruning of Deep Convolutional Neural Networks;Sajid Anwar等;《ACM Journal on Emerging Technologies in Computing Systems》;20170228;1-11 * |
ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression;Jian-Hao Luo等;《2017 IEEE International Conference on Computer Vision (ICCV)》;20171225;5068-5076 * |
深度网络模型压缩综述;雷杰等;《软件学报》;20171204;251-266 * |
Also Published As
Publication number | Publication date |
---|---|
CN109086866A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086866B (zh) | 一种适用于嵌入式设备的部分二值卷积方法 | |
US20190278600A1 (en) | Tiled compressed sparse matrix format | |
CN105912611B (zh) | 一种基于cnn的快速图像检索方法 | |
US11392829B1 (en) | Managing data sparsity for neural networks | |
CN111242180B (zh) | 一种基于轻量化卷积神经网络的图像识别方法及系统 | |
CN113168559A (zh) | 机器学习模型的自动化生成 | |
US20170344822A1 (en) | Semantic representation of the content of an image | |
EP3620982B1 (en) | Sample processing method and device | |
JP2023523029A (ja) | 画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体 | |
US20200125960A1 (en) | Small-world nets for fast neural network training and execution | |
US20240061889A1 (en) | Systems and Methods for Weighted Quantization | |
CN113420651B (zh) | 深度卷积神经网络的轻量化方法、系统及目标检测方法 | |
CN111935487A (zh) | 一种基于视频流检测的图像压缩方法及系统 | |
KR20210111677A (ko) | 뉴럴 네트워크의 클리핑 방법, 뉴럴 네트워크의 컨벌루션 계산 방법 및 그 방법을 수행하기 위한 전자 장치 | |
CN105740916B (zh) | 图像特征编码方法及装置 | |
Niennattrakul et al. | Learning DTW global constraint for time series classification | |
CN113839799A (zh) | 一种告警关联规则挖掘方法及装置 | |
KR102097724B1 (ko) | 영상 인식용 cnn에서의 최악망각현상의 완화 방법 및 장치 | |
CN117113174A (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN116151323A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN117999560A (zh) | 机器学习模型的硬件感知渐进训练 | |
CN112200275B (zh) | 人工神经网络的量化方法及装置 | |
CN114118411A (zh) | 图像识别网络的训练方法、图像识别方法及装置 | |
CN113052309A (zh) | 压缩神经网络模型的方法、计算机系统以及存储介质 | |
CN111930883A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |