随着训练可用数据量的增长与计算平台处理能力的增强,基于深度学习的智能模型能够完成越来越复杂的任务,其在计算机视觉、自然语言处理等人工智能领域已经取得重大的突破.然而,这些深度模型具有庞大的参数规模,与此相伴的可畏的计算开销与内存需求使其在计算能力受限平台(例如移动嵌入式设备)的部署中遇到了巨大的困难与挑战.因此,如何在不影响深度学习模型性能的情况下进行模型压缩与加速成为研究热点.首先对国内外学者提出的经典深度学习模型压缩与加速方法进行分析,从参数剪枝、参数量化、紧凑网络、知识蒸馏、低秩分解、参数共享和混合方式这7个方面分类总结;其次,总结对比几种主流技术的代表性方法在多个公开模型上的压缩与加速效果;最后,对于模型压缩与加速领域的未来研究方向加以展望.
With the development of the amount of data available for training and the processing power of new computing platform, the intelligent model based on deep learning can accomplish more and more complex tasks, and it has made major breakthroughs in the field of AI such as computer vision and natural language processing. However, the large number of parameters of these deep models bring awesome computational overhead and memory requirements, which makes the big models must face great difficulties and challenges in the deployment of computing-capable platforms (such as mobile embedded devices). Therefore, model compression and acceleration without affecting the performance have become a research hotspot. This study first analyzes the classical deep learning model compression and acceleration methods proposed by domestic and international scholars, and summarize seven aspects:Parameter pruning, parameter quantization, compact network, knowledge distillation, low-rank decomposition, parameter sharing, and hybrid methods. Secondly, the compression and acceleration performance of several mainstream representative methods is compared on multiple public models. Finally, the future research directions in the field of model compression and acceleration are discussed.
深度学习模型的压缩和加速是指利用神经网络参数的冗余性和网络结构的冗余性精简模型, 在不影响任务完成度的情况下, 得到参数量更少、结构更精简的模型.被压缩后的模型计算资源需求和内存需求更小, 相比原始模型能够满足更加广泛的应用需求.
本文系统地介绍模型压缩与加速方面的进展.第1节主要介绍深度学习模型压缩与加速技术提出的研究背景和研究动机, 以及本文的主要贡献.第2节主要对目前主流的模型压缩与加速方法进行分类总结, 从参数剪枝、参数量化、紧凑网络、知识蒸馏、低秩分解、参数共享、混合方式这7个方面探究相关技术的发展历程, 并分析其特点.第3节主要比较各类压缩与加速技术中一些代表性方法的压缩效果.第4节探讨模型压缩与加速领域未来的发展方向.第5节对全文进行总结.
神经网络的概念在20世纪40年代提出后, 发展一直不温不火.直到1989年, LeCun教授提出应用于手写字体识别的卷积神经网络[
卷积计算
Convolutional operator
深度学习模型性能提高的同时, 计算也越来越复杂, 计算开销和内存需求逐渐增加.仅8层的AlexNet[
不同深度模型的推理时间[
Inference time of different deep models[
Samsung Galaxy S6 | Titan X | |
AlexNet | 117 | 0.54 |
GoogleNet | 273 | 1.83 |
VGG-16 | 1 926 | 10.67 |
在深度学习技术日益火爆的背景下, 对深度学习模型强烈的应用需求使得人们对内存占用少、计算资源要求低、同时依旧保证相当高的正确率的“小模型”格外关注.利用神经网络的冗余性进行深度学习的模型压缩和加速引起了学术界和工业界的广泛兴趣, 各种工作层出不穷.
综述能为读者省去大量阅读时间, 以高屋建瓴的视角对该领域技术进行了解.然而截止到目前, 在技术不断推陈出新的背景下, 关于模型压缩的综述文章数量不多且年代久远, 分类简单, 难以展示新的趋势和方法.
综述的文献分类与数量
Literature classification and quantity of the reviews
文献[ |
文献[ |
文献[ |
文献[ |
文献[ |
本文 | |
参数剪枝 | 19 | 14 | 2 | 11 | 12 | |
参数量化 | 7 | 13 | 2 | 10 | 27 | |
低秩分解 | 3 | 10 | 6 | 7 | 8 | |
参数共享 | - | 3 | 2 | 6 | / | |
紧凑网络 | - | 4 | 4 | 5 | 7 | |
知识蒸馏 | 12 | 7 | - | 8 | 3 | |
混合方式 | - | - | - | - | - |
根据
综述的文章发表时间与数量
Article publication time and quantity of the reviews
根据我们的最新整理, 2018年之后, 发表在各大顶级会议上的文章达到64篇, 占本文统计文章总数的大约40%, 其中, 文献[
对比模型压缩与加速领域已有的综述文章, 本文提出的技术分类更加齐全, 收录的文章更新颖、热门, 对于主流研究方向进行了重点介绍和分析.本文调研了近年来发表在国际顶级会议上的近200篇文章, 对主流模型压缩与加速方法分类进行了总结和详细分析; 同时对一些具有代表性的方法在公开模型上进行了性能对比, 探讨了模型压缩与加速领域未来的研究方向.希望本文能给研究者对模型压缩与加速领域有一个全面的了解, 抓住热门研究方向, 推动未来模型压缩与加速的研究, 促进深度学习模型的实际应用.
本节主要介绍目前主流的模型压缩与加速方法, 见
深度学习模型压缩与加速方法总结
Summarization of methods for deep learning models compression and acceleration
类别 | 技术 | 描述 |
压缩参数 | 参数剪枝 | 设计关于参数重要性的评价准则, 基于该准则判断网络参数的重要程度, 删除冗余参数 |
参数量化 | 将网络参数从32位全精度浮点数量化到更低位数 | |
低秩分解 | 将高维参数向量降维分解为稀疏的低维向量 | |
参数共享 | 利用结构化矩阵或聚类等方法映射网络内部参数 | |
压缩结构 | 紧凑网络 | 从卷积核、特殊层和网络结构这3个级别设计新型网络 |
知识蒸馏 | 将较大的教师模型的信息提炼到较小的学生模型 | |
混合方式 | 混合方式 | 组合使用前述几种方法 |
参数剪枝是指在预训练好的大型模型的基础上, 设计对网络参数的评价准则, 以此为根据删除“冗余”参数.根据剪枝粒度粗细, 参数剪枝可分为非结构化剪枝和结构化剪枝.非结构化剪枝的粒度比较细, 可以无限制地去掉网络中期望比例的任何“冗余”参数, 但这样会带来裁剪后网络结构不规整、难以有效加速的问题.结构化剪枝的粒度比较粗, 剪枝的最小单位是filter内参数的组合, 通过对filter或者feature map设置评价因子, 甚至可以删除整个filter或者某几个channel, 使网络“变窄”, 从而可以直接在现有软/硬件上获得有效加速, 但可能会带来预测精度(accuracy)的下降, 需要通过对模型微调(fine-tuning)以恢复性能.
LeCun在20世纪80年代末提出的OBD(optimal brain damage)算法[
如
裁剪连接
Pruning connections
除了对神经元之间的连接进行评估以外, 也可以如
参数剪枝
Parameter pruning
(1) group级别剪枝
如
(2) filter级别剪枝
filter级别剪枝也可以看作channel级别剪枝.如
● 基于filter范数大小
Li等人[
● 自定义filter评分因子
Hu等人[
● 最小化重建误差
设神经网络中某一卷积层权重为
令:
则有:
令
Luo等人[
● 其他方法
Molchanov等人[
参数量化是指用较低位宽表示典型的32位浮点网络参数, 网络参数包括权重、激活值、梯度和误差等等, 可以使用统一的位宽(如16-bit、8-bit、2-bit和1-bit等), 也可以根据经验或一定策略自由组合不同的位宽.参数量化的优点是:(1)能够显著减少参数存储空间与内存占用空间, 将参数从32位浮点型量化到8位整型, 从而缩小75%的存储空间, 这对于计算资源有限的边缘设备和嵌入式设备进行深度学习模型的部署和使用都有很大的帮助; (2)能够加快运算速度, 降低设备能耗, 读取32位浮点数所需的带宽可以同时读入4个8位整数, 并且整型运算相比浮点型运算更快, 自然能够降低设备功耗.但其仍存在一定的局限性, 网络参数的位宽减少损失了一部分信息量, 会造成推理精度的下降, 虽然能够通过微调恢复部分精确度, 但也带来时间成本的增加; 量化到特殊位宽时, 很多现有的训练方法和硬件平台不再适用, 需要设计专用的系统架构, 灵活性不高.
二值化是指限制网络参数取值为1或-1, 极大地降低了模型对存储空间和内存空间的需求, 并且将原来的乘法操作转化成加法或者移位操作, 显著提高了运算速度, 但同时也带来训练难度和精度下降的问题.
(1) 二值化权重
由于权重占据网络参数的大部分, 一些研究者提出对网络权重进行二值化, 以达到压缩网络的目的. Courbariaux等人[
(2) 二值化权重和激活值
在二值化网络权重的基础上, 研究人员提出可以同时二值化权重和激活值, 以加快推理速度.Courbariaux等人[
三值化是指在二值化的基础上引入0作为第3阈值, 减少量化误差.Li等人[
当参数数量庞大时, 可利用聚类方式进行权重量化.Gong等人[
聚类量化流程图
Flow chart of clustering quantization
(1) 手工固定
由于二值网络会降低模型的表达能力, 研究人员提出, 可以根据经验手工选定最优的网络参数位宽组合. Lin等人[
几种混合位宽量化法对比
Comparison of several mixed bit-width quantization methods
方法 | 特点 | ||||
Ref.[ |
16 | 32 | 32 | 32 | 引入随机舍入技术 |
Ref.[ |
32 | 8 | 8 | 32 | 加速数据传输, 提高并行训练的性能 |
Ref.[ |
8 | 8 | 32 | 32 | 仅测试时使用整数运算 |
Ref.[ |
8 | 8 | 8 | 32 | 计算梯度的最后一个步骤保留更高精度 |
Ref.[ |
2 | 8 | 8 | 8 | 离散训练和推理 |
(2) 自主确定
由于手工确定网络参数位宽存在一定的局限性, 可以设计一定的策略, 以帮助网络选择合适的位宽组合. Khoram等人[
由于量化网络的网络参数不是连续的数值, 所以不能像普通的卷积神经网络那样直接使用梯度下降方法进行训练, 而需要特殊的方法对这些离散的参数值进行处理, 使其不断优化, 最终实现训练目标.Zhou等人[
神经网络的filter可以看作是四维张量:宽度
Jaderberg等人[
对filter的二元分解会引入
参数共享是指利用结构化矩阵或聚类等方法映射网络参数, 减少参数数量.参数共享方法的原理与参数剪枝类似, 都是利用参数存在大量冗余的特点, 目的都是为了减少参数数量.但与参数剪枝直接裁剪不重要的参数不同, 参数共享设计一种映射形式, 将全部参数映射到少量数据上, 减少对存储空间的需求.由于全连接层参数数量较多, 参数存储占据整个网络模型的大部分, 所以参数共享对于去除全连接层冗余性能够发挥较好的效果; 也由于其操作简便, 适合与其他方法组合使用.但其缺点在于不易泛化, 如何应用于去除卷积层的冗余性仍是一个挑战.同时, 对于结构化矩阵这一常用映射形式, 很难为权值矩阵找到合适的结构化矩阵, 并且其理论依据不够充足.
如果一个大小为
循环矩阵的每一行都是由上一行的各元素依次右移一个位置得到, 即:
Cheng等人[
Chen等人[
Reagen等人[
以上4种利用参数冗余性减少参数数量或者降低参数精度的方法虽然能够精简网络结构, 但往往需要庞大的预训练模型, 在此基础上进行参数压缩, 并且这些方法大都存在精确度下降的问题, 需要微调来提升网络性能.设计更紧凑的新型网络结构, 是一种新兴的网络压缩与加速理念, 构造特殊结构的filter、网络层甚至网络, 从头训练, 获得适宜部署到移动平台等资源有限设备的网络性能, 不再需要像参数压缩类方法那样专门存储预训练模型, 也不需要通过微调来提升性能, 降低了时间成本, 具有存储量小、计算量低和网络性能好的特点.但其缺点在于:由于其特殊结构很难与其他的压缩与加速方法组合使用, 并且泛化性较差, 不适合作为预训练模型帮助其他模型训练.
(1) 新型卷积核
Iandola等人[
(2) 简单filter组合
Ioannou等人[
Huang等人[
Kim等人[
知识蒸馏最早由Buciluǎ等人[
知识蒸馏流程图
Flow chart of knowledge distillation
知识蒸馏法的研究方向之一就是如何为学生模型选择合适的网络结构, 帮助学生模型更好地学习教师模型的知识.Ba等人[
除了使用softmax层输出作为教师模型的学习信息以外, 有研究者认为, 可以使用教师模型中的其他信息帮助知识迁移.Hinton等人[
Czarnecki等人[
由于softmax层的限制, 知识蒸馏法被局限于分类任务的使用场景.但近年来, 研究人员提出多种策略使其能够应用于其他深度学习场景.在目标检测任务中, Li等人[
以上这些压缩与加速方法单独使用时能够获得很好的效果, 但也都存在各自的局限性, 组合使用可使它们互为补充.研究人员通过组合使用不同的压缩与加速方法或者针对不同网络层选取不同的压缩与加速方法, 设计了一体化的压缩与加速框架, 能够获得更好的压缩比与加速效果.参数剪枝、参数量化、低秩分解和参数共享经常组合使用, 极大地降低了模型的内存需求和存储需求, 方便模型部署到计算资源有限的移动平台[
Ullrich等人[
Deep Compression[
Flow chart of Deep Compression[
Louizos等人[
Polino等人[
我们从以上介绍的7种主流网络压缩技术中选出其中一些具有代表性的方法, 按照文献中声明的压缩与加速效果进行对比.通过对相关文献中使用较多的数据集和模型的统计, 我们使用MNIST[
不同压缩方法在LeNet-5 on MNIST上的压缩效果
Compression effects of different compression methods on LeNet-5 on MNIST
分类 | 方法 | Δ |
# |
参数剪枝 | Ref.[ |
+0.03 | 12x |
DNS[ |
0 | 108x | |
Ref.[ |
-0.1 | 63x | |
FDNP[ |
0 | 130x | |
紧凑网络 | Versatile[ |
+0.02 | 1.97x |
参数共享 | Circulant projections[ |
-0.03 | 5.8x |
Adaptive fastfood[ |
+0.16 | 11.1x | |
知识蒸馏 | Ref.[ |
-6.18 | 2x |
混合方式 | Soft weight sharing[ |
-0.09 | 162x |
Deep Compression[ |
+0.06 | 39x | |
Ref.[ |
-0.01 | 193x | |
Ref.[ |
-0.1 | 156x | |
Ref.[ |
0 | 10x |
不同压缩方法在VGG-16 on CIFAR-10上的压缩效果
Compression effects of different compression methods on VGG-16 on CIFAR-10
分类 | 方法 | Δ |
# |
# |
参数剪枝 | Ref.[ |
+0.15 | 2.78x | 1.52x |
紧凑网络 | Ref.[ |
-1.0 | 13x | - |
参数共享 | Ref.[ |
-0.8 | 13.7x | 7.63x |
MIRACLE[ |
-0.07 | 159x | - | |
混合方式 | Ref.[ |
-0.2 | 14x | - |
Ref.[ |
-0.8 | 14.5x | - |
不同压缩方法在AlexNet on ImageNet上的压缩效果
Compression effects of different compression methods on AlexNet on ImageNet
分类 | 方法 | Top-1 Δ |
Top-5 Δ |
# |
# |
参数剪枝 | Ref.[ |
+0.01 | +0.06 | 9x | - |
Ref.[ |
-0.31 | - | 17.7x | - | |
FDNP[ |
+0.26 | +0.14 | 20.9x | - | |
PerforatedCNNs[ |
- | -3.2 | 2.0x | 2.6x | |
Ref.[ |
-1.78 | -1.15 | - | 2.77x | |
紧凑网络 | LCNN[ |
-1.5 | -2.1 | - | 3.2x |
Versatile[ |
-1.2 | -0.9 | 3.15x | - | |
Ref.[ |
-2.0 | - | 8.03x | - | |
SplitNet[ |
-1.3 | - | 2.28x | 1.03x | |
低秩分解 | Ref.[ |
- | -0.37 | 5x | 1.82x |
Ref.[ |
- | -1.71 | - | 4.05x | |
Tucker[ |
- | -1.70 | 5.46x | 2.67x | |
参数共享 | Ref.[ |
-0.4 | -0.7 | 11.27x | |
RedCNN[ |
-0.3 | -0.1 | - | 4.31x | |
Adaptive fastfood[ |
-0.12 | - | 3.7x | - | |
混合方式 | CLIP-Q [ |
+0.7 | - | 51x | - |
Deep compression[ |
0 | +0.03 | 35x | - | |
Ref.[ |
-0.84 | - | 19.1x | - |
不同压缩方法在VGG-16 on ImageNet上的压缩效果
Compression effects of different compression methods on VGG-16 on ImageNet
分类 | 方法 | Top-1 Δ |
Top-5 Δ |
# |
# |
参数剪枝 | Ref.[ |
+0.16 | +0.44 | 13x | - |
PerforatedCNNs[ |
- | -6.8 | 2.4x | 2.8x | |
Trimming[ |
+2.08 | +1.35 | 2.59x | - | |
Thinet[ |
-1.0 | +1.35 | 16.6x | 3.3x | |
GDP[ |
-2.81 | -1.47 | - | 4.08x | |
低秩分解 | Ref.[ |
- | -0.29 | 2.75x | 2.05x |
Tucker[ |
- | -0.5 | 1.09x | 4.93x | |
参数共享 | RedCNN[ |
-0.3 | -0.1 | - | 9.63x |
混合方式 | Deep compression[ |
+0.43 | +0.41 | 49x | - |
Ref.[ |
-0.98 | - | 17x | - | |
Ref.[ |
-2.356 | - | 2.35x | - |
不同压缩方法在ResNet-50 on ImageNet上的压缩效果
Compression effects of different compression methods on ResNet-50 on ImageNet
分类 | 方法 | Top-1 Δ |
Top-5 Δ |
# |
# |
参数剪枝 | Ref.[ |
-0.01 | - | 6.2x | - |
Ref.[ |
-0.62 | +0.6 | 4.34x | - | |
Thinet[ |
-4.46 | -2.84 | 2.95x | 3.51x | |
DCP[ |
-1.06 | -0.61 | 2.06x | 2.25x | |
GDP[ |
-4.21 | -2.16 | - | 2.46x | |
紧凑网络 | Versatile[ |
-0.8 | -0.4 | 2.33x | - |
Ref.[ |
-1.61 | - | 2x | - | |
参数共享 | RedCNN[ |
-1.1 | -0.5 | - | 5.82x |
混合方式 | CLIP-Q[ |
+0.6 | - | 15x | - |
Ref.[ |
-0.01 | - | 15.8x | - |
不同量化方法在AlexNet on ImageNet上的压缩效果
Compression effects of different quantization methods on AlexNet on ImageNet
方法 | Top-1 Δ |
Top-5 Δ |
Weight bits | Activation bits |
XNOR-net[ |
-12.4 | -11.0 | 1 | 1 |
SYQ[ |
0 | -0.8 | 1 | 8 |
+1.5 | +0.6 | 2 | 8 | |
Ref.[ |
-3.0 | -2.7 | 1 | 32 |
-1.8 | -1.8 | 2 | 32 | |
-0.8 | -0.6 | 3{±2} | 32 | |
0 | -0.2 | 3{±2 ±4} | 32 | |
TTQ[ |
+0.3 | -0.6 | 2 | 32 |
SLQ[ |
+0.46 | +0.3 | 5 | 32 |
INQ[ |
+0.15 | +0.23 | 5 | 32 |
不同量化方法在ResNet-18 on ImageNet上的压缩效果
Compression effects of different quantization methods on ResNet-18 on ImageNet
方法 | Top-1 Δ |
Top-5 Δ |
Weight bits | Activation bits |
XNOR-net[ |
-18.1 | -16.0 | 1 | 1 |
Bi-real net[ |
-12.9 | -9.7 | 2 | 2 |
ABC-net[ |
-4.3 | -3.3 | 5 | 5 |
SYQ[ |
-6.2 | -4.4 | 1 | 8 |
-1.4 | -1.2 | 2 | 8 | |
TTQ[ |
-3.0 | -2.0 | 2 | 32 |
SLQ[ |
+0.82 | +0.46 | 5 | 32 |
INQ[ |
+0.71 | +0.41 | 5 | 32 |
Ref.[ |
-4.3 | -2.8 | 1 | 32 |
-2.1 | -1.5 | 2 | 32 | |
-1.6 | -1.1 | 3{±2} | 32 | |
-1.1 | -0.7 | 3{±2 ±4} | 32 |
不同知识蒸馏方法的压缩效果
Compression effects of different knowledge distillation methods
数据集 | 方法 | Δ |
# |
||||
MNIST | Fitnets[ |
99.45 | 99.49 | +0.04 | 361k | 30k | 12x |
CIFAR-10 | Ref.[ |
88 | 85.8 | -2.2 | 35k | 70M | -/ |
Fitnets[ |
90.18 | 91.61 | +1.43 | 9M | 2.5M | 3.6x | |
Ref.[ |
95.21 | 94.08 | -1.13 | 2243.5k | 542.5k | 4.13x | |
CIFAR-100 | Fitnets[ |
63.54 | 64.96 | +1.42 | 9M | 2.5M | 3.6x |
Ref.[ |
76.15 | 72.92 | -3.23 | 2243.5k | 641.3k | 3.5x | |
ImageNet | Ref.[ |
73.27/91.43 | 73.39/91.38 | +0.12/-0.05 | 21.8M | 8.1M | 2.7x |
结论:我们总结的7类压缩与加速方法各有利弊, 由于实验使用的硬件平台不同, 并不能量化地确定孰优孰劣.依据不同的应用场景和现实需要, 可以进行方法的选取.例如:对于存储有限的嵌入式设备, 可以使用非结构化剪枝或者二值、三值量化, 以大幅度地减少模型占用的内存大小.对于没有预训练模型的情况, 可以考虑紧凑网络法, 直接训练网络.对于期望较高压缩比与加速比的应用场景, 可以使用混合方式, 组合使用几种压缩与加速方法.
截止到目前, 深度学习模型压缩与加速技术尚未发展成熟, 在实际部署和产品化水平上还有很大的进步空间.下面介绍几个值得关注与讨论的研究方向.
(1) 知识蒸馏作为一种迁移学习的形式, 可使小模型尽可能多地学习到大模型的知识, 具有方法灵活、不依赖硬件平台的特点, 但目前, 其压缩比和蒸馏后性能都有待提高.未来知识蒸馏可从以下几个方向展开研究:打破softmax函数的限制, 结合中间特征层, 使用不同形式的知识; 在选择学生模型的结构时, 可以与其他方法集成; 打破任务的限制, 例如将图片分类领域的知识迁移到其他领域;
(2) 将模型压缩技术与硬件架构设计相结合.目前的压缩与加速方法大多仅从软件层面对模型进行优化, 并且不同方法由于使用的硬件平台不同, 也很难比较其加速效果的好坏.未来可针对主流的压缩与加速方法专门设计硬件架构, 既能在现有基础上加速模型, 又方便不同方法的比较;
(3) 制定更智能的模型结构选择策略.目前, 无论是参数剪枝方法还是设计更紧凑的网络结构, 都是基于现有模型作为主干网络, 手动选择或使用启发式策略进行结构缩减, 缩小了模型搜索空间.未来可以利用强化学习等策略进行自动网络结构搜索, 得到更优的网络结构;
(4) 将模型压缩技术推广到更多任务和更多平台.目前的压缩与加速方法多是为图片分类任务的卷积神经网络模型设计, 然而实际应用中, 还有大量其他模型应用于人工智能领域, 例如语音识别和机器翻译领域常使用的递归神经网络(RNN)、知识图谱领域的图神经网络(GNN).为卷积神经网络模型设计的压缩与加速方法能否直接用于RNN与GNN, 还需要探索.同时, 小型移动平台(如智能手机、机器人、无人驾驶汽车等)的硬件限制及其有限的计算资源阻碍了深度学习模型的直接部署, 如何为这些平台设计独有的压缩方法, 仍是一个巨大的挑战;
(5) 模型压缩后的安全问题.由于当前压缩与加速方法更注重压缩完成后的任务完成度(例如分类任务
本文首先介绍深度学习模型压缩与加速技术的研究背景; 其次, 对目前主流的方法进行分析, 从参数剪枝、参数量化、紧凑网络、知识蒸馏、低秩分解、参数共享、混合方式这7个方面进行分类总结; 然后, 对各类压缩技术中的一些代表性方法进行压缩效果比较; 最后, 探讨了模型压缩领域未来的发展方向.希望本文能够给研究者带来关于模型压缩与加速技术的更多了解, 促进和推动模型压缩与加速技术的未来发展.
LeCun Y. Generalization and network design strategies. Connectionism in Perspective, 1989, 19:143-155.
Deng J, Dong W, Socher R,
Russakovsky O, Deng J, Su H,
Krizhevsky A, Sutskever I, Hinton GE. Imagenet classification with deep convolutional neural networks. In: Advances in Neural Information Processing Systems. 2012.1097-1105.
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition. arXiv Preprint arXiv: 1409.1556, 2014.
He K, Zhang X, Ren S,
Kim YD, Park E, Yoo S,
Lei J, Gao X, Song J, Wang XL, Song ML. Survey of deep neural network model compression. Ruan Jian Xue Bao/Journal of Software, 2018, 29(2):251-266(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5428.htm [doi:10.13328/j.cnki.jos.005428]
雷杰, 高鑫, 宋杰, 王兴路, 宋明黎.深度网络模型压缩综述.软件学报, 2018, 29(2):251-266. http://www.jos.org.cn/1000-9825/5428.htm [doi:10.13328/j.cnki.jos.005428]
Ji RZ, Lin SH, Chao F, Wu YJ, Huang FY. Deep neural network compression and acceleration. Computer Research and Development, 2018, 55(9):1871-1888(in Chinese with English abstract). http://crad.ict.ac.cn/CN/10.7544/issn1000-1239.2018.20180129 [doi:10.7544/issn1000-1239.2018.20180129]
纪荣嵘, 林绍辉, 晁飞, 吴永坚, 黄飞跃.深度神经网络压缩与加速综述.计算机研究与发展, 2018, 55(9):1871-1888. http://crad.ict.ac.cn/CN/10.7544/issn1000-1239.2018.20180129[doi:10.7544/issn1000-1239.2018.20180129]
Cao WL, Rui JW, Li M. Survey of neural network model compression methods. Computer Application Research, 2019, 36(3):649-656(in Chinese with English abstract). http://www.arocmag.com/article/01-2019-03-002.html [doi:10.19734/j.issn.1001-3695.2018.01.0061]
曹文龙, 芮建武, 李敏.神经网络模型压缩方法综述.计算机应用研究, 2019, 36(3):649-656. http://www.arocmag.com/article/01-2019-03-002.html [doi:10.19734/j.issn.1001-3695.2018.01.0061]
Cheng Y, Wang D, Zhou P,
Cheng J, Wang P, Li G,
Chen C, Tung F, Vedula N,
Yang H, Zhu Y, Liu J. Energy-constrained compression for deep neural networks via weighted sparse projection and layer input masking. arXiv Preprint arXiv: 1806.04321, 2018.
Yang TJ, Chen YH, Sze V. Designing energy-efficient convolutional neural networks using energy-aware pruning. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.5687-5695.
Yang H, Zhu Y, Liu J. Ecc: Platform-independent energy-constrained deep neural network compression via a bilinear regression model. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2019.11206-11215.
Hu H, Peng R, Tai YW,
Khoram S, Li J. Adaptive quantization of neural networks. In: Proc. of the ICLR 2018.2018.
LeCun Y, Denker JS, Solla SA. Optimal brain damage. In: Advances in Neural Information Processing Systems. 1990.598-605.
Hassibi B, Stork DG. Second order derivatives for network pruning: Optimal brain surgeon. In: Advances in Neural Information Processing Systems. 1993.164-171.
Srinivas S, Babu RV. Data-free parameter pruning for deep neural networks. arXiv Preprint arXiv: 1507.06149, 2015.
Dong X, Chen S, Pan S. Learning to prune deep neural networks via layer-wise optimal brain surgeon. In: Advances in Neural Information Processing Systems. 2017.4857-4867.
Han S, Pool J, Tran J,
Guo Y, Yao A, Chen Y. Dynamic network surgery for efficient DNNs. In: Advances in Neural Information Processing Systems. 2016.1379-1387.
Lin C, Zhong Z, Wei W,
Lee N, Ajanthan T, Torr PHS. Snip: Single-shot network pruning based on connection sensitivity. arXiv Preprint arXiv: 1810.02340, 2018.
Macchi O. The coincidence approach to stochastic point processes. Advances in Applied Probability, 1975, 7(1):83-122.
Mariet Z, Sra S. Diversity networks: Neural network compression using determinantal point processes. arXiv Preprint arXiv: 1511.05077, 2015.
Kingma DP, Salimans T, Welling M. Variational dropout and the local reparameterization trick. In: Advances in Neural Information Processing Systems. 2015.2575-2583.
Molchanov D, Ashukha A, Vetrov D. Variational dropout sparsifies deep neural networks. In: Proc. of the 34th Int'l Conf. on Machine Learning, Vol.70. JMLR.org, 2017.2498-2507.
Louizos C, Welling M, Kingma DP. Learning sparse neural networks through $ L_0$ regularization. arXiv Preprint arXiv: 1712.01312, 2017.
Tartaglione E, Lepsøy S, Fiandrotti A,
Carreira-Perpinán MA, Idelbayev Y. "Learning-Compression" algorithms for neural net pruning. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2018.8532-8541.
Liu Z, Xu J, Peng X,
Wen W, Wu C, Wang Y,
Alvarez JM, Salzmann M. Learning the number of neurons in deep networks. In: Advances in Neural Information Processing Systems. 2016.2270-2278.
Figurnov M, Ibraimova A, Vetrov DP,
Lebedev V, Lempitsky V. Fast convnets using group-wise brain damage. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2016.2554-2564.
Zhou H, Alvarez JM, Porikli F. Less is more: Towards compact cnns. In: Proc. of the European Conf. on Computer Vision. Cham: Springer-Verlag, 2016.662-677.
Li H, Kadav A, Durdanovic I,
Chen YH, Emer J, Sze V. Eyeriss:A spatial architecture for energy-efficient dataflow for convolutional neural networks. ACM SIGARCH Computer Architecture News, 2016, 44(3):367-379.
Yang TJ, Howard A, Chen B,
He Y, Kang G, Dong X,
Liu Z, Li J, Shen Z,
Huang Z, Wang N. Data-driven sparse structure selection for deep neural networks. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018.304-320.
Ye J, Lu X, Lin Z,
Dai B, Zhu C, Wipf D. Compressing neural networks using the variational information bottleneck. arXiv Preprint arXiv: 1802.10399, 2018.
He Y, Lin J, Liu Z,
Luo JH, Wu J, Lin W. Thinet: A filter level pruning method for deep neural network compression. In: Proc. of the IEEE Int'l Conf. on Computer Vision. 2017.5058-5066.
He Y, Zhang X, Sun J. Channel pruning for accelerating very deep neural networks. In: Proc. of the IEEE Int'l Conf. on Computer Vision. 2017.1389-1397.
Yu R, Li A, Chen CF,
Zhuang Z, Tan M, Zhuang B,
Molchanov P, Tyree S, Karras T,
Lin S, Ji R, Li Y,
Zhang T, Ye S, Zhang K,
Courbariaux M, Bengio Y, David JP. Binaryconnect: Training deep neural networks with binary weights during propagations. In: Advances in Neural Information Processing Systems. 2015.3123-3131.
Hou L, Yao Q, Kwok JT. Loss-aware binarization of deep networks. arXiv Preprint arXiv: 1611.01600, 2016.
Juefei-Xu F, Naresh Boddeti V, Savvides M. Local binary convolutional neural networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.19-28.
Guo Y, Yao A, Zhao H,
McDonnell MD. Training wide residual networks for deployment using a single bit for each weight. arXiv Preprint arXiv: 1802.08530, 2018.
Hu Q, Wang P, Cheng J. From hashing to CNNs: Training binary weight networks via hashing. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. 2018.
Courbariaux M, Hubara I, Soudry D,
Rastegari M, Ordonez V, Redmon J,
Li Z, Ni B, Zhang W,
Liu Z, Wu B, Luo W,
Lin X, Zhao C, Pan W. Towards accurate binary convolutional neural network. In: Advances in Neural Information Processing Systems. 2017.345-353.
Li F, Zhang B, Liu B. Ternary weight networks. arXiv Preprint arXiv: 1605.04711, 2016.
Zhu C, Han S, Mao H,
Achterhold J, Koehler J M, Schmeink A,
Gong Y, Liu L, Yang M,
Wu J, Leng C, Wang Y,
Choi Y, El-Khamy M, Lee J. Towards the limit of network quantization. arXiv Preprint arXiv: 1612.01543, 2016.
Xu Y, Wang Y, Zhou A,
Lin Z, Courbariaux M, Memisevic R,
Zhou S, Wu Y, Ni Z,
Mishra A, Nurvitadhi E, Cook JJ,
Köster U, Webb T, Wang X,
Wang N, Choi J, Brand D,
Gupta S, Agrawal A, Gopalakrishnan K,
Dettmers T. 8-bit approximations for parallelism in deep learning. arXiv Preprint arXiv: 1511.04561, 2015.
Jacob B, Kligys S, Chen B,
Banner R, Hubara I, Hoffer E,
Wu S, Li G, Chen F,
Wang P, Hu Q, Zhang Y,
Faraone J, Fraser N, Blott M,
Zhang D, Yang J, Ye D,
Zhou A, Yao A, Guo Y,
Cai Z, He X, Sun J,
Leng C, Dou Z, Li H,
Boyd S, Parikh N, Chu E, et al. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends® in Machine Learning, 2011, 3(1):1-122.
Zhuang B, Shen C, Tan M,
Zhou A, Yao A, Wang K,
Park E, Yoo S, Vajda P. Value-Aware quantization for training and inference of neural networks. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018.580-595.
Shayer O, Levi D, Fetaya E. Learning discrete weights using the local reparameterization trick. arXiv Preprint arXiv: 1710.07739, 2017.
Louizos C, Reisser M, Blankevoort T,
Jaderberg M, Vedaldi A, Zisserman A. Speeding up convolutional neural networks with low rank expansions. arXiv Preprint arXiv: 1405.3866, 2014.
Liu B, Wang M, Foroosh H,
Tai C, Xiao T, Zhang Y,
Masana M, van de Weijer J, Herranz L,
Wen W, Xu C, Wu C,
Wang P, Cheng J. Fixed-Point factorized networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.4012-4020.
Peng B, Tan W, Li Z,
Qiu Q, Cheng X, Calderbank R,
Novikov A, Podoprikhin D, Osokin A,
Garipov T, Podoprikhin D, Novikov A,
Wang W, Sun Y, Eriksson B,
Kim YD, Park E, Yoo S,
Wang P, Cheng J. Accelerating convolutional neural networks for mobile applications. In: Proc. of the 24th ACM Int'l Conf. on Multimedia. 2016.541-545.
Lebedev V, Ganin Y, Rakhuba M,
Cheng Y, Yu FX, Feris RS,
Wang Y, Xu C, Xu C,
Sindhwani V, Sainath T, Kumar S. Structured transforms for small-footprint deep learning. In: Advances in Neural Information Processing Systems. 2015.3088-3096.
Zhao L, Liao S, Wang Y,
Le Q, Sarlós T, Smola A. Fastfood-approximating kernel expansions in loglinear time. In: Proc. of the Int'l Conf. on Machine Learning. 2013.85.
Yang Z, Moczulski M, Denil M,
Chen W, Wilson J, Tyree S,
Chen W, Wilson J, Tyree S,
Wu J, Wang Y, Wu Z,
Son S, Nah S, Mu Lee K. Clustering convolutional kernels to compress deep neural networks. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018.216-232.
Reagen B, Gupta U, Adolf R,
Havasi M, Peharz R, Hernández-Lobato JM. Minimal random code learning: Getting bits back from compressed model parameters. arXiv Preprint arXiv: 1810.00440, 2018.
Jin X, Yang Y, Xu N,
Kossaifi J, Bulat A, Tzimiropoulos G,
Iandola FN, Han S, Moskewicz MW,
Howard AG, Zhu M, Chen B,
Sandler M, Howard A, Zhu M,
Zhang X, Zhou X, Lin M,
Ma N, Zhang X, Zheng HT,
Zhang T, Qi GJ, Xiao B,
Xie G, Wang J, Zhang T,
Wang X, Kan M, Shan S,
Park J, Li S, Wen W,
Zhang J, Franchetti F, Low TM. High performance zero-memory overhead direct convolutions. arXiv Preprint arXiv: 1809.10170, 2018.
Ioannou Y, Robertson D, Shotton J,
Bagherinezhad H, Rastegari M, Farhadi A. LCNN: Lookup-based convolutional neural network. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.7120-7129.
Wang Y, Xu C, Chunjing XU,
Huang G, Sun Y, Liu Z,
Dong X, Huang J, Yang Y,
Li D, Wang X, Kong D. Deeprebirth: Accelerating deep neural network execution on mobile devices. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. 2018.
Prabhu A, Varma G, Namboodiri A. Deep expander networks: Efficient deep networks from graph theory. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018.20-35.
Wu B, Wan A, Yue X,
Chen W, Xie D, Zhang Y,
Kim J, Park Y, Kim G,
Gordon A, Eban E, Nachum O,
Kim E, Ahn C, Oh S. Nestednet: Learning nested sparse structures in deep neural networks. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2018.8669-8678.
Buciluă C, Caruana R, Niculescu-Mizil A. Model compression. In: Proc. of the 12th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2006.535-541.
Ba J, Caruana R. Do deep nets really need to be deep? In: Advances in Neural Information Processing Systems. 2014.2654-2662.
Romero A, Ballas N, Kahou SE,
Chen T, Goodfellow I, Shlens J. Net2net: Accelerating learning via knowledge transfer. arXiv Preprint arXiv: 1511.05641, 2015.
Li Z, Hoiem D. Learning without forgetting. IEEE Trans. on Pattern Analysis And Machine Intelligence, 2017, 40(12):2935-2947.
Crowley EJ, Gray G, Storkey AJ. Moonshine: Distilling with cheap convolutions. In: Advances in Neural Information Processing Systems. 2018.2888-2898.
Zhu X, Gong S. Knowledge distillation by on-the-fly native ensemble. In: Advances in Neural Information Processing Systems. 2018.7517-7527.
Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network. arXiv Preprint arXiv: 1503.02531, 2015.
Yim J, Joo D, Bae J,
Chen Y, Wang N, Zhang Z. Darkrank: Accelerating deep metric learning via cross sample similarities transfer. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. 2018.
Czarnecki WM, Osindero S, Jaderberg M,
Lopes RG, Fenu S, Starner T. Data-free knowledge distillation for deep neural networks. arXiv Preprint arXiv: 1710.07535, 2017.
Zhou G, Fan Y, Cui R,
Li Q, Jin S, Yan J. Mimicking very efficient network for object detection. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2017.6356-6364.
Chen G, Choi W, Yu X,
Luo P, Zhu Z, Liu Z,
Gupta S, Hoffman J, Malik J. Cross modal distillation for supervision transfer. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2016.2827-2836.
Xu D, Ouyang W, Wang X,
Hu Q, Li G, Wang P,
Ullrich K, Meeds E, Welling M. Soft weight-sharing for neural network compression. arXiv Preprint arXiv: 1702.04008, 2017.
Tung F, Mori G. Clip-q: Deep network compression learning by in-parallel pruning-quantization. In: Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition. 2018.7873-7882.
Han S, Mao H, Dally WJ. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv Preprint arXiv: 1510.00149, 2015.
Han S, Liu X, Mao H, et al. EIE:Efficient inference engine on compressed deep neural network. ACM SIGARCH Computer Architecture News, 2016, 44(3):243-254.
Dubey A, Chatterjee M, Ahuja N. Coreset-based neural network compression. In: Proc. of the European Conf. on Computer Vision (ECCV). 2018.454-470.
Louizos C, Ullrich K, Welling M. Bayesian compression for deep learning. In: Advances in Neural Information Processing Systems. 2017.3288-3298.
Ji Y, Liang L, Deng L,
Zhang D, Wang H, Figueiredo M,
Polino A, Pascanu R, Alistarh D. Model compression via distillation and quantization. arXiv Preprint arXiv: 1802.05668, 2018.
Mishra A, Marr D. Apprentice: Using knowledge distillation techniques to improve low-precision network accuracy. arXiv Preprint arXiv: 1711.05852, 2017.
LeCun Y, Bottou L, Bengio Y,
Krizhevsky A. Learning multiple layers of features from tiny images[MS. Thesis]. University of Toronto, 2009.
Deng J, Dong W, Socher R,