CN106557812A - 基于dct变换的深度卷积神经网络压缩与加速方案 - Google Patents
基于dct变换的深度卷积神经网络压缩与加速方案 Download PDFInfo
- Publication number
- CN106557812A CN106557812A CN201611047864.4A CN201611047864A CN106557812A CN 106557812 A CN106557812 A CN 106557812A CN 201611047864 A CN201611047864 A CN 201611047864A CN 106557812 A CN106557812 A CN 106557812A
- Authority
- CN
- China
- Prior art keywords
- dct
- convolution
- data
- network
- 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
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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
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
本发明公开了一种有效的卷积神经网络压缩方法(CNNpack)。深度卷积神经网络作为一种基本的深度学习结构在许多计算机视觉任务上得到了广泛的使用。然而,目前大多数的卷积神经网络由于其本身的大存储以及高计算量使得在移动设备上的应用得到了限制。本发明针对这个问题,在频域上对网络进行了压缩;通过将卷积核看做图像,将在频域上的表示分解为共同部分(聚类中心)与私人部分(残差),然后将低能量的系数抛掉而不影响网络精度。此外,通过线性组合DCT基的卷积响应,可以使得网络计算成本降低。本发明具有压缩比高、加速比高的特点,可以用于压缩一般的深度卷积网络。
Description
技术领域
本发明属于人工智能领域,涉及机器学习与深度学习,旨在压缩与加速目前常用的深度卷积神经网络,适应于移动端等计算设备。
背景技术
由于大规模数据量与高性能的图像处理单元(GPU)的普及,深度学习模型(特别是卷积神经网络)已经在计算机视觉上得到了广泛的应用,例如图像分类、人脸验证、物体识别等等。然而因为本身的高存储以及计算要求,目前大多数的卷积神经网络(CNN)模型仅仅在个人电脑或者大型工作站上运行。例如,AlexNet和VGG-Net需要占用超过232MB的存储以及7.24*10^8的乘法计算;这使得它们在智能手机(如IPhone 7、华为MATE等)难以得到应用。因此,如何压缩并且加速这些复杂的网络是非常重要的一个问题。
虽然CNN拥有百万量级的神经元与权重,但其已被证实超过85%的权重是无用的并可被重置为0。因此,目前大多数的工作主要利用矢量量化技巧、低秩矩阵分解、哈希技巧等;常用的剪枝策略主要是基于小权重对于网络的影响小的假设。然而这些方法都忽略了对于大权重的讨论,所以如何更科学的讨论网络的权重是很有必要的。
为了解决上述问题,本发明提出利用离散余弦变换(DCT)在频域上操作网络的压缩与加速。特别地,卷积核被看做小尺度的光滑图像块,因此在频域上对于卷积核的DCT系数的操作相当于在时域上同时操作所有的权重。进一步,每个卷积核在频域上的表示被分解为共有部分和私有部分的和;共有部分用来指代每个卷积核与其他卷积核相似的方面,而私有部分用来指代其独特的信息。这两个部分都可以通过舍弃大量微弱系数来实现压缩的目的。在标准数据集上的实验证实了本发明要优于目前的比较算法,并且实现了更高的压缩比与加速比。
发明阐述(具体实施方式)
本发明的压缩部分主要分为三个模块:卷积核提取与变换、聚类与残差编码以及微调与霍夫曼压缩;每一个模块采用顺序结构执行。
(1)卷积核提取与变换
对于每一个卷积层将所有的卷积核向量化形成矩阵然后将此矩阵进行DCT变换得到其频域表示给定一个尺度将内的所有重置到矩阵其中
(2)聚类与残差编码
将频域表示进行Kmeans聚类:
得到K个聚类中心U=[μ1,...,μK],对每个卷积层的每个卷积核进行残差编码
其中为其相应的聚类中心。利用稀疏编码,得到残差向量的最佳稀疏表示
对得到的稀疏表示进行进一步量化具体操作为:
其中Clip(x,-b,b)=max(-b,min(b,x)),b为参数,Ω为压缩参数。
(3)网络微调与霍夫曼压缩
保持丢失的部分不动,对网络进行反向微调。其中,每次微调后对于网络重新进行量化并对于量化后的残差表示进行CSR和霍夫曼编码。
进过上述三个模块后,本发明可以实现将一个大规模的深度卷积神经网络进行压缩,可实现的压缩比有以下计算公式:
其中CNNpack主要有五个重要参数:λ,K,b,Ω。p为卷积层数,H为存储霍夫曼字典的位数。可以看出λ的增大会更侧重共有部分的表示,因此相应的会使得压缩比增大;而b,Ω的增大会使得压缩比降低。参数K直接与最后压缩数据有关,大的K会使得数据的稀疏度增大,但是这会增加相应的存储成本。
由上述阐述可以看出本发明通过将卷积核转换到频域上,利用它们的聚类中心与残差进行表示可以达到很好的压缩效果。同时本发明又提出利用压缩后的网络可以进一步对网络运行进行加速,从而达到实用的标准。本发明的做法是将压缩好的网络直接在频域上运行,省去了频域和时域相互转化的过程。
给定一个卷积层以及其d×d卷积核记输入数据为和相应的H′×W′输出特征地图为Y={Y1,Y2,...,YN},其中Yq=Fq*X为卷积操作。对DCT矩阵C=[c1,...,cd]来说,d×d的卷积核Fq可以由其DCT系数矩阵通过DCT基表示出来,即和因此X的特征地图可由计算可得,其中M=d2为DCT基数。进一步,由于DCT基都是秩为1的矩阵,基于因此特征地图Yq等价于
注意上式在卷积数相对较小的时候,即M≈N,计算成本不会太低。然而,由于特征地图恰好等于输入的DCT变换系数,因此上述计算可以进一步降低。对一个d×d的矩阵X和其DCT变换矩阵有以下等式成立:
因此只需要实施DCT一次就可以得到M个DCT基的特征地图。于是,本发明理论上的计算复杂度为
其中δ为矩阵里的非零元比例,η为实际应用聚类中心的非零元比例。因此可以看出由CNNpack生成的压缩网络同样可以在频域上得到加速;具体来说,相对于其他传统方法,可以达到的加速比为:
本发明具有以下优点:
(a)本发明针对目前最主流的大型卷积神经网络进行了压缩,使得压缩后的网络可以在低端计算设备上得到存储与运行,且操作可执行性强、理论严谨,符合当前移动互联网与智能生活的趋势。
(b)针对目前绝大多数网络压缩方法无法共同考虑神经元与权重的缺点,本发明将网络压缩在频域上进行操作,因此压缩方法更为全局化;同时,本发明运用DCT变换,将卷积核看做图像,创新性强。
(c)本发明在压缩网络基础上,提出了一种可以加速网络计算的技巧,使得网络可以直接无缝在频域上运行,增强了方法的实用性。
(d)实验证明,本发明可以实现目前最好的压缩效果,并在高压缩比的基础上保持网络性能与实现网络加速。
附图说明
图1是本发明所提CNNpack压缩方法的流程图;
图2是本发明在MNIST数据集上对于卷积核压缩前后的效果可视化图,从左至右分别为原始网络、剪枝后网络以及CNNpack压缩后网络;
图3是本发明在AlexNet上压缩的结果统计表;
图4是本发明在VGGNet上压缩的结果统计表;
图5是本发明在ResNet-50上压缩的结果统计图;
图6是本发明在AlexNet和VGGNet上与其他方法的压缩效果比较表。
Claims (7)
1.一种利用DCT变换表示的深度卷积神经网络压缩方案,包括下列步骤:
1)提取所有卷积层的卷积核,并将它们变换到DCT频域上;
2)将所有卷积核进行聚类,并分解成公共部分和独立部分;
3)去掉独立部分中较小的数值,并对剩余的所有数据进行量化;
4)对压缩后的网络进行微调,提升精度;
5)利用霍夫曼编码,对量化后的数据进行压缩;
6)在DCT频域上进行卷积计算。
2.如权利要求1所述的方法,其特征在于,我们将所有层的卷积一起考虑,把它们先利用DCT转换到频域上,然后将它们修整到同样的大小。
3.如权利要求1所述的方法,其特征在于,我们先利用聚类中心保存了卷积的共有部分,然后将残差数据做为独立数据,两组数据分别存储。
4.如权利要求1所述的方法,其特征在于,我们去掉卷积核在DCT频域中较小的数据,然后将所有数据都进行量化。
5.如权利要求1所述的方法,其特征在于,压缩后的网络可以直接在DCT频域上进行卷积计算,而不需要进行逆DCT变换。
6.如权利要求1所述的方法,其特征在于,我们将空域的卷积分解为输入数据和DCT基的卷积响应的线性组合。
7.如权利要求1所述的方法,其特征在于,我们利用输入数据的DCT系数直接计算出所有DCT基对其的一系列卷积相应,减少了计算复杂度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611047864.4A CN106557812A (zh) | 2016-11-21 | 2016-11-21 | 基于dct变换的深度卷积神经网络压缩与加速方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611047864.4A CN106557812A (zh) | 2016-11-21 | 2016-11-21 | 基于dct变换的深度卷积神经网络压缩与加速方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106557812A true CN106557812A (zh) | 2017-04-05 |
Family
ID=58444656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611047864.4A Pending CN106557812A (zh) | 2016-11-21 | 2016-11-21 | 基于dct变换的深度卷积神经网络压缩与加速方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106557812A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107316079A (zh) * | 2017-08-08 | 2017-11-03 | 珠海习悦信息技术有限公司 | 终端卷积神经网络的处理方法、装置、存储介质及处理器 |
CN107748895A (zh) * | 2017-10-29 | 2018-03-02 | 北京工业大学 | 基于dct‑cnn模型的无人机着陆地貌图像分类方法 |
CN107820085A (zh) * | 2017-10-31 | 2018-03-20 | 杭州电子科技大学 | 一种基于深度学习的提高视频压缩编码效率的方法 |
CN107846599A (zh) * | 2017-11-03 | 2018-03-27 | 北京奇艺世纪科技有限公司 | 一种解码方法及装置 |
CN107944555A (zh) * | 2017-12-07 | 2018-04-20 | 广州华多网络科技有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
CN108229681A (zh) * | 2017-12-28 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种神经网络模型压缩方法、系统、装置及可读存储介质 |
CN108665067A (zh) * | 2018-05-29 | 2018-10-16 | 北京大学 | 用于深度神经网络频繁传输的压缩方法及系统 |
WO2018232615A1 (zh) * | 2017-06-21 | 2018-12-27 | 华为技术有限公司 | 一种信号处理方法及装置 |
CN109376856A (zh) * | 2017-08-09 | 2019-02-22 | 上海寒武纪信息科技有限公司 | 数据处理方法及处理装置 |
CN109409518A (zh) * | 2018-10-11 | 2019-03-01 | 北京旷视科技有限公司 | 神经网络模型处理方法、装置及终端 |
WO2019041833A1 (zh) * | 2017-08-29 | 2019-03-07 | 中国科学院计算技术研究所 | 一种用于深度神经网络的压缩装置 |
CN109886406A (zh) * | 2019-02-25 | 2019-06-14 | 东南大学 | 一种基于深度压缩的复数卷积神经网络压缩方法 |
CN109978137A (zh) * | 2019-03-20 | 2019-07-05 | 厦门美图之家科技有限公司 | 一种卷积神经网络的处理方法 |
CN109993298A (zh) * | 2017-12-29 | 2019-07-09 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
CN110378466A (zh) * | 2019-06-03 | 2019-10-25 | 北京大学 | 基于神经网络差分的量化方法及系统 |
CN110472614A (zh) * | 2019-08-22 | 2019-11-19 | 四川自由健信息科技有限公司 | 一种晕倒行为的识别方法 |
CN110517329A (zh) * | 2019-08-12 | 2019-11-29 | 北京邮电大学 | 一种基于语义分析的深度学习图像压缩方法 |
CN110832507A (zh) * | 2017-07-07 | 2020-02-21 | 三菱电机株式会社 | 数据处理装置、数据处理方法以及压缩数据 |
CN111242196A (zh) * | 2020-01-06 | 2020-06-05 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
WO2021082851A1 (zh) * | 2019-10-31 | 2021-05-06 | 嘉楠明芯(北京)科技有限公司 | 一种神经网络模型的量化方法、装置及计算机可读存储介质 |
CN107832837B (zh) * | 2017-11-28 | 2021-09-28 | 南京大学 | 一种基于压缩感知原理的卷积神经网络压缩方法及解压缩方法 |
CN114554225A (zh) * | 2020-11-26 | 2022-05-27 | 珠海格力电器股份有限公司 | 图像编码方法、装置、设备及计算机可读介质 |
-
2016
- 2016-11-21 CN CN201611047864.4A patent/CN106557812A/zh active Pending
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018232615A1 (zh) * | 2017-06-21 | 2018-12-27 | 华为技术有限公司 | 一种信号处理方法及装置 |
CN110832507A (zh) * | 2017-07-07 | 2020-02-21 | 三菱电机株式会社 | 数据处理装置、数据处理方法以及压缩数据 |
CN107316079A (zh) * | 2017-08-08 | 2017-11-03 | 珠海习悦信息技术有限公司 | 终端卷积神经网络的处理方法、装置、存储介质及处理器 |
CN109376856A (zh) * | 2017-08-09 | 2019-02-22 | 上海寒武纪信息科技有限公司 | 数据处理方法及处理装置 |
CN109376856B (zh) * | 2017-08-09 | 2022-07-08 | 上海寒武纪信息科技有限公司 | 数据处理方法及处理装置 |
WO2019041833A1 (zh) * | 2017-08-29 | 2019-03-07 | 中国科学院计算技术研究所 | 一种用于深度神经网络的压缩装置 |
CN107748895A (zh) * | 2017-10-29 | 2018-03-02 | 北京工业大学 | 基于dct‑cnn模型的无人机着陆地貌图像分类方法 |
CN107748895B (zh) * | 2017-10-29 | 2021-06-25 | 北京工业大学 | 基于dct-cnn模型的无人机着陆地貌图像分类方法 |
CN107820085B (zh) * | 2017-10-31 | 2021-02-26 | 杭州电子科技大学 | 一种基于深度学习的提高视频压缩编码效率的方法 |
CN107820085A (zh) * | 2017-10-31 | 2018-03-20 | 杭州电子科技大学 | 一种基于深度学习的提高视频压缩编码效率的方法 |
CN107846599B (zh) * | 2017-11-03 | 2019-12-10 | 北京奇艺世纪科技有限公司 | 一种解码方法及装置 |
CN107846599A (zh) * | 2017-11-03 | 2018-03-27 | 北京奇艺世纪科技有限公司 | 一种解码方法及装置 |
CN107832837B (zh) * | 2017-11-28 | 2021-09-28 | 南京大学 | 一种基于压缩感知原理的卷积神经网络压缩方法及解压缩方法 |
CN107944555B (zh) * | 2017-12-07 | 2021-09-17 | 广州方硅信息技术有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
CN107944555A (zh) * | 2017-12-07 | 2018-04-20 | 广州华多网络科技有限公司 | 神经网络压缩和加速的方法、存储设备和终端 |
CN108229681A (zh) * | 2017-12-28 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种神经网络模型压缩方法、系统、装置及可读存储介质 |
CN109993298A (zh) * | 2017-12-29 | 2019-07-09 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
CN109993298B (zh) * | 2017-12-29 | 2023-08-08 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
CN108665067A (zh) * | 2018-05-29 | 2018-10-16 | 北京大学 | 用于深度神经网络频繁传输的压缩方法及系统 |
WO2019228082A1 (zh) * | 2018-05-29 | 2019-12-05 | 北京大学 | 用于深度神经网络频繁传输的压缩方法及系统 |
CN108665067B (zh) * | 2018-05-29 | 2020-05-29 | 北京大学 | 用于深度神经网络频繁传输的压缩方法及系统 |
CN109409518A (zh) * | 2018-10-11 | 2019-03-01 | 北京旷视科技有限公司 | 神经网络模型处理方法、装置及终端 |
CN109886406A (zh) * | 2019-02-25 | 2019-06-14 | 东南大学 | 一种基于深度压缩的复数卷积神经网络压缩方法 |
CN109978137A (zh) * | 2019-03-20 | 2019-07-05 | 厦门美图之家科技有限公司 | 一种卷积神经网络的处理方法 |
CN109978137B (zh) * | 2019-03-20 | 2021-03-16 | 厦门美图之家科技有限公司 | 一种卷积神经网络的处理方法 |
CN110378466A (zh) * | 2019-06-03 | 2019-10-25 | 北京大学 | 基于神经网络差分的量化方法及系统 |
CN110517329A (zh) * | 2019-08-12 | 2019-11-29 | 北京邮电大学 | 一种基于语义分析的深度学习图像压缩方法 |
CN110517329B (zh) * | 2019-08-12 | 2021-05-14 | 北京邮电大学 | 一种基于语义分析的深度学习图像压缩方法 |
CN110472614B (zh) * | 2019-08-22 | 2023-06-30 | 四川自由健信息科技有限公司 | 一种晕倒行为的识别方法 |
CN110472614A (zh) * | 2019-08-22 | 2019-11-19 | 四川自由健信息科技有限公司 | 一种晕倒行为的识别方法 |
WO2021082851A1 (zh) * | 2019-10-31 | 2021-05-06 | 嘉楠明芯(北京)科技有限公司 | 一种神经网络模型的量化方法、装置及计算机可读存储介质 |
CN111242196B (zh) * | 2020-01-06 | 2022-06-21 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN111242196A (zh) * | 2020-01-06 | 2020-06-05 | 广西师范大学 | 可解释性深度学习的差分隐私保护方法 |
CN114554225A (zh) * | 2020-11-26 | 2022-05-27 | 珠海格力电器股份有限公司 | 图像编码方法、装置、设备及计算机可读介质 |
CN114554225B (zh) * | 2020-11-26 | 2023-05-12 | 珠海格力电器股份有限公司 | 图像编码方法、装置、设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557812A (zh) | 基于dct变换的深度卷积神经网络压缩与加速方案 | |
Liu et al. | More convnets in the 2020s: Scaling up kernels beyond 51x51 using sparsity | |
Liu et al. | Frequency-domain dynamic pruning for convolutional neural networks | |
CN107516129B (zh) | 基于维度自适应的Tucker分解的深度网络压缩方法 | |
Chen et al. | Compressing convolutional neural networks | |
CN110263913A (zh) | 一种深度神经网络压缩方法及相关设备 | |
Lu et al. | A nonconvex splitting method for symmetric nonnegative matrix factorization: Convergence analysis and optimality | |
CN108304928A (zh) | 基于改进聚类的深度神经网络的压缩方法 | |
CN110443354A (zh) | 一种基于多组张列量分解的深度神经网络压缩方法、系统、装置及存储介质 | |
CN103686177B (zh) | 一种图像压缩、解压的方法、装置及图像系统 | |
CN110751265A (zh) | 一种轻量型神经网络构建方法、系统及电子设备 | |
CN101354788B (zh) | 三维网格模型的一维化无损几何压缩方法 | |
CN111178258B (zh) | 一种图像识别的方法、系统、设备及可读存储介质 | |
CN113595993A (zh) | 边缘计算下模型结构优化的车载感知设备联合学习方法 | |
CN112906874B (zh) | 卷积神经网络特征图数据压缩方法及装置 | |
CN114077885A (zh) | 基于张量分解的模型压缩方法、装置和服务器 | |
CN115660070A (zh) | 一种对抗生成神经网络压缩方法 | |
CN116976428A (zh) | 模型训练方法、装置、设备及存储介质 | |
CN107105245A (zh) | 基于tms320c6678芯片的高速jpeg图像压缩方法 | |
CN106066941A (zh) | 一种基于cbfm和smw算法的电磁散射快速分析方法 | |
CN115913245A (zh) | 数据编码方法、数据解码方法以及数据处理装置 | |
Hussain et al. | The impact of cascaded optimizations in CNN models and end-device deployment | |
Okubo et al. | A Cost-Efficient FPGA Implementation of Tiny Transformer Model using Neural ODE | |
Yang et al. | CDF‐net: A convolutional neural network fusing frequency domain and spatial domain features | |
CN115564043A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170405 |