CN109086866B - 一种适用于嵌入式设备的部分二值卷积方法 - Google Patents

一种适用于嵌入式设备的部分二值卷积方法 Download PDF

Info

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
Application number
CN201810706834.2A
Other languages
English (en)
Other versions
CN109086866A (zh
Inventor
刘铎
凌英剑
梁靓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN201810706834.2A priority Critical patent/CN109086866B/zh
Publication of CN109086866A publication Critical patent/CN109086866A/zh
Application granted granted Critical
Publication of CN109086866B publication Critical patent/CN109086866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations 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不同二值量化技术准确度比较
Figure BDA0001715596480000011
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进行前向传播,从而获得各层的输出特征图
Figure BDA0001715596480000041
L为卷积层总数,n=1,2,3,...,N,N是用于计算重要性的样本的个数,设
Figure BDA0001715596480000042
表示第l卷积层在第n个输入样本上的输出特征图,则每个输出特征图可以表示为一个三维张量,
Figure BDA0001715596480000043
表示
Figure BDA0001715596480000044
中坐标为(k,i,j)的元素,其中k为通道索引,i/j为宽/高索引。对l层的第k个卷积核,其重要性的计算式如下:
Figure BDA0001715596480000045
式中,
Figure BDA0001715596480000046
是第l层第k个卷积核的重要性。
在步骤S02,根据给定的阈值
Figure BDA0001715596480000047
对各层各卷积核进行比较,若
Figure BDA0001715596480000048
则第l层的第k个卷积核被划分为非重要卷积核,若
Figure BDA0001715596480000049
则该卷积核被划分为重要卷积核。
在步骤S03,根据步骤S02的分组结果,每个卷积层的卷积核都可被分为2组。设对于第l层,非重要卷积核构成的集合为
Figure BDA00017155964800000410
重要卷积核构成的集合为
Figure BDA00017155964800000411
其中X和Y分别为组内卷积核个数。为
Figure BDA00017155964800000412
Figure BDA00017155964800000413
构造两个新的卷积层,这两个卷积层共享相同输入、两个卷积层的输出拼接到一起作为下一层的输入。
在步骤S04,假设第l层在步骤S03前的卷积核为
Figure BDA00017155964800000414
分组后由
Figure BDA00017155964800000415
构成
Figure BDA00017155964800000416
(非重要卷积层),由
Figure BDA00017155964800000417
构成
Figure BDA00017155964800000418
在本步骤中,依次对l+1层的所有卷积核执行如下操作:
Figure BDA00017155964800000419
表示第l+1层的第k个卷积核,对该卷积核内的5个通道
Figure BDA00017155964800000420
按照第l层的卷积核重排顺序进行重排,构成
Figure BDA00017155964800000421
在步骤S05,对给定的非重要卷积层(即由第l层所有的非重要卷积核
Figure BDA0001715596480000051
构成的卷积层)进行二值量化,其计算式如下:
Figure BDA0001715596480000052
其中
Figure BDA0001715596480000053
为第l层第x个非重要卷积核。
在步骤S06,对CNN整个网络执行如下标准的前向传播算法:
Figure BDA0001715596480000054
其中X为CNN的输入,W为所有重要卷积层的卷积核
Figure BDA0001715596480000055
构成的集合,其中l=1,2,3,...,Y,y=1,2,3...,Y;
Figure BDA0001715596480000056
为所有非重要卷积层
Figure BDA0001715596480000057
经过二值量化后由
Figure BDA0001715596480000058
构成的集合,Y为网络预测的输出值。
在步骤S07,对CNN整个网络执行如下标准的反向传播算法:
Figure BDA0001715596480000059
其中
Figure BDA00017155964800000510
为损失函数C对CNN网络输出Y的梯度,
Figure BDA00017155964800000511
为损失函数对所有重要权重W的梯度,
Figure BDA00017155964800000512
为损失函数对所有非重要权重经过二值量化后的权重
Figure BDA00017155964800000513
的梯度,最后计算损失函数对所有非重要权重的梯度
Figure BDA00017155964800000514
Figure BDA00017155964800000515
式(3)中
Figure BDA00017155964800000516
为如下函数:
Figure BDA00017155964800000517
在步骤S08,更新网络参数,计算式如下:
Figure BDA00017155964800000518
Figure BDA00017155964800000519
其中η为预设的学习率。
本发明在ImageNet数据集上的准确度见表2
表2
Figure BDA0001715596480000061
从表2看出,本发明的准确度高于现有的二值量化处理方法。

Claims (1)

1.一种适用于嵌入式设备的部分二值卷积方法,其特征是:包括有以下步骤:
步骤1、对给定深度卷积神经网络的每一个卷积层,根据每个输出特征图的统计量测量出每个卷积核的重要性;并将每层的卷积核按照重要性进行排序,设定卷积核重要性阈值,把大于阈值和小于阈值的卷积核分为两组;
卷积核重要性的计算公式是:
Figure FDA0003079589500000011
式(1)中,N是用于计算重要性的样本的个数,
Figure FDA0003079589500000012
是第l层第k个卷积核的重要性,
Figure FDA0003079589500000013
表示第l卷积层在第n个输入样本上的输出特征图,
Figure FDA0003079589500000014
表示
Figure FDA0003079589500000015
中坐标为(k,i,j)的元素,其中k为通道索引,i/j为宽/高索引;
步骤2、将两组卷积核在存储空间上进行重新排列,使同组卷积核的存储位置邻近,保存重排顺序,为重排后的每组卷积核生成新的卷积层;
步骤3、根据步骤2的重排顺序改变下一个卷积层中的卷积核的通道顺序,使得每个卷积核的通道顺序与重排顺序一致;
步骤4、根据以上步骤处理后的CNN进行微调训练,对划分为重要的卷积层保留其全精度,对划分为非重要的卷积层执行二值量化,整个网络通过量化与训练的迭代操作逐步恢复准确度。
CN201810706834.2A 2018-07-02 2018-07-02 一种适用于嵌入式设备的部分二值卷积方法 Active CN109086866B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201607994D0 (en) * 2016-05-06 2016-06-22 Magic Pony Technology Ltd Encoder pre-analyser

Patent Citations (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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