深度网络近年来在计算机视觉任务上不断刷新传统模型的性能,已逐渐成为研究热点.深度模型尽管性能强大,然而由于参数数量庞大、存储和计算代价高,依然难以部署在受限的硬件平台上(如移动设备).模型的参数在一定程度上能够表达其复杂性,相关研究表明,并不是所有的参数都在模型中发挥作用,部分参数作用有限、表达冗余,甚至会降低模型的性能.首先,对国内外学者在深度模型压缩上取得的成果进行了分类整理,依此归纳了基于网络剪枝、网络精馏和网络分解的方法;随后,总结了相关方法在多种公开深度模型上的压缩效果;最后,对未来的研究可能的方向和挑战进行了展望.
Deep neural networks have continually surpassed traditional methods on a variety of computer vision tasks. Though deep neural networks are very powerful, the large number of weights consumes considerable storage and calculation time, making it hard to deploy on resource-constrained hardware platforms such as mobile system. The number of weights in deep neural networks represents the complexity to an extent, but not all the weights contribute to the performance according to recent researches. Specifically, some weights are redundant and even decrease the performance. This survey offers a systematic summarization of existing research achievements of the domestic and foreign researchers in recent years in the aspects of network pruning, network distillation, and network decomposition. Furthermore, comparisons of compression performance are provided on several public deep neural networks. Finally, a perspective of future work and challenges in this research area are discussed.
深度网络压缩是指利用数据集对已经训练好的深度模型进行精简操作, 进而得到一个轻量且准确率相当的网络.压缩后的网络具有更小的结构和更少的参数, 可以降低计算和存储开销, 因而可以被部署在受限的硬件环境中(如移动设备等).
本文尽可能全面地整理了近年在深度网络压缩方面的研究工作, 系统地评价和比较了它们在公开模型上的压缩效用.第1节介绍深度网络压缩提出的背景和合理性.第2节~第4节分别从网络剪枝、网络精馏和网络分解这3个角度归纳相关研究方法的演变和主要思想, 并讨论各方法中的核心步骤.第5节从多种压缩指标上比较各类压缩方式在公开深度模型上的效用.第6节探讨深度网络压缩的进一步发展方向.第7节对全文进行总结.
深度学习[
尽管深度网络模型在许多问题的实验中表现优越, 但在实际应用中依然受到时间和空间上的制约.大而深的深度网络模型运算量大, 即使借助图形处理器(graphics processing unit, 简称GPU)加速[
传统的深度网络模型主要由卷积层、非线性激活层、下采样层以及全连接层等模块堆叠起来组成.卷积层具有局部连接、权重共享的特点, 虽然需要训练的参数不多, 但一次前向的耗时较大; 相比之下, 全连接层虽然参数可达到网络全部参数的80%以上, 但占用前向推断的时间不多.经典的深度网络模型可以参考最初用于图像识别的AlexNet[
模型的运算时间成本并不仅仅依赖模型的参数数量, 也依赖于模型的深度.以残差网络[
网络剪枝(network pruning)[
网络剪枝按剪枝粒度(pruning granularities)可分为4类, 如
4种剪枝粒度[
Four possible pruning granularities [
早期Le Cun[
由此, Le Cun提出利用二阶导来近似参数的显著性.
Hassibi等人[
Srinivas等人[
这种方法的主要思路是:将剪枝看作是将小权重置零的操作, 手术恢复则相当于找到相似权重补偿被置零的权重造成的激活值损失.两个权重的相似程度定义如下:
其中,
●
●
整体剪枝步骤为:对所有可能权重矢量的组合, 初始化时计算
最后, 通过实验观察, Srinivas提出了完全只依赖于权重的参数的自动化剪枝方法[
依赖于权重的参数的自动化剪枝方法
Automatic pruning method based on weights
在第2.1节中, 网络中的任意权重被看作是单个参数并进行随机非结构化剪枝, 该粒度的剪枝导致网络连接不规整, 需要通过稀疏表达来减少内存占用, 进而导致在前向传播预测时, 需要大量的条件判断和额外空间来标明零或非零参数的位置, 因此不适用于并行计算.Han虽然在文献[
Anwar等人[
该方法首先随机初始化步长
除了使用之前提到的定义显著性度量, 并进行贪婪剪枝的方法以外, Anwar还提出了一种使用进化粒子滤波器决定网络连接重要性的方法[
其中, 观测过程具体为:通过一次前向测试误分类率(misclassification rate, 简称MCR),
剩下的步骤, 如权重重采样(sequential importance resampling, 简称SIR)仍采用传统方法.文献[
卷积核粒度与通道粒度属于粗粒度剪枝, 不依赖任何稀疏卷积计算库及专用硬件; 同时, 能够在获得高压缩率的同时大量减小测试阶段的计算时间.由于减去一个特征图意味着相连的卷积核将被一同减去, 因此, 本节将卷积核粒度与通道粒度放在一起叙述.
设第
减去第
Effect on the
按照如
Kernel粒度的显著性度量可以简单地采用Kernel的权重和来判断, 也可以采用Polyak[
使用通道贡献方差
其中, ||·||
FeatureMap粒度的显著性度量也可以简单地选取Filter权重和作为显著性度量, 关键在于如何确定剪枝数量以及如何对网络整体剪枝[
文献[
早期的相关研究集中于在神经网络进行二次学习.Zhou在文献[
二次学习的思想也逐渐扩展到深度网络上, 其中, Bucila等人[
网络精馏框架
Framework of network distillation
大模型作为教师模型(teacher model)是预先训练好的, 小模型作为学生模型(student model), 由教师模型指导, 步骤①首先由数据生成器生成大量的迁移数据(transfer data), 分别送入教师模型和学生模型中.步骤②将教师模型的输出作为真实值, 衡量学生模型的输出与它之间的损失.步骤③通过梯度下降等方法更新学生模型的权重, 使得学生模型的输出和教师模型的输出更加接近, 从而达到利用小模型拟合大模型的效果.
Bucila等人的工作中[
当训练数据是海量的时候, 考虑到教师模型不会过拟合, 可以使用训练数据集作为迁移数据集.例如, Google的JFT数据集包含了1亿张图片和15 000个分类.利用网络精馏的方法, Hinton等人在JFT数据集上进行实验[
相对于教师模型, 学生模型的网络参数更少, 运行时间更快.但是学生模型的网络结构没有一个固定的选择方案, 通常都是人为经验设定.
在Ba等人[
与上述工作提出的结论相反, Romero等人则认为, 一个越深的网络可以带来更高的分类准确率.他们提出并设计了FitNets[
使用hints来训练学生模型[
Training the student model with hints [
由于学生模型中间层的输出和教师模型中间层的输出维度可能不一致, 所以需要增加一个回归器来让两者的维度保持一致.训练过程中, 首先采用Hints方式(如
Chen等人在文献[
Net2Net工作流与传统方法的对比[
Comparing Net2Net workflow with traditional method [
在Bucila等人提出的模型压缩方法中, 采用学生模型的标签与教师模型的标签尽量接近的方法来拟合教师模型的函数映射.Ba等人提出:与其将标签作为输出的监督信息, 不如将Softmax层的输入Logits值作为监督信息, 让学生模型输出的Logits去拟合教师模型的Logits[
Hinton等人在上述工作的基础上做了进一步的改善.首先, Hinton等人指出:通过加入一个温度变量
该公式在标准Softmax的基础上增加了温度变量
神经网络中的计算代价为卷积操作所主导, 模型大小为全连接层参数所主导.针对这一现状, 网络分解的目的是将矩阵二维张量的奇异值分解(singular value decomposition, 简称SVD)[
对于二维张量, 可以简单地使用SVD进行低秩表达, 将原始矩阵分解为上三角矩阵、对角矩阵、下三角矩阵的乘积后, 取对角矩阵中最显著的几个特征值保留, 达到减小参数数量的目的.对于更高阶的张量, 一方面可以铺展成二维张量, 使用标准SVD方法; 另一方面, 也可以使用多个一维张量外积求和逼近的方法, 即, 使用3个一维张量外积求和进行
训练好的CNN通常在3个颜色通道间的冗余度较大, 因此可以将颜色维度投射到一维单色子空间, 这样, 卷积只需在一维空间中进行即可得到输出特征图.对于后续的卷积层, 使用双聚类估计[
文献[
文献[
在ILSVR2012数据集上的实验显示, 这个过程在精确度损失小于1%的情况下消减了超过90%的参数.该方案首先在通道上进行稀疏分解, 然后将高计算代价的卷积操作转换成矩阵相乘, 随后再将矩阵稀疏化, 接着在微调继续训练整个网络的过程中引入了在网络参数上的稀疏约束, 相对于原始网络的训练过程, 能够获得极大的稀疏性.整个网络使用上一步稀疏化的权重作为初始值, 然后使用包含稀疏约束、低秩约束、重建约束的目标损失函数联合优化, 使得权重参数中的零元素比例不断增加(如
卷积核分解方法[
Decomposition of convolution kernels[
为了能够有效利用低秩表达获得的稀疏性, 文献[
在完全训练后的网络中, 卷积核是常数, 而中间生成的特征图会随着输入图像变化.卷积核参数为稀疏矩阵, 特征图为稠密矩阵.卷积核稀疏矩阵中非零元素的位置是已知的, 因而能够在编译后的乘法代码中直接编码.文献[
既然卷积核矩阵在训练完成后是固定已知的, 那么其中的权重就可以被固化到代码空间中, 生成串向量操作的指令.指令的源操作数和目的操作数根据非零元素所在位置确定.以如
稀疏矩阵与稠密矩阵相乘[
Multiplying a sparse matrix with a dense matrix[
文献[
文献[
进一步地, 为了减小量化对模型准确率的影响, 文献[
该方法包含3种独立的操作:权重划分、分组量化、再训练.
● 首先进行权重划分, 该策略受到剪枝策略的启发, 选取幅值较大的权重, 认为它们对准确率的贡献最大, 将它们划入训练组, 将剩余幅值较小的权重划入量化组; 同时, 针对不同程度(比特数)的量化, 应当采取不同增长率的量化比例.比如, 对于2比特量化, 可以采取{0.2, 0.4, 0.6, 0.7, 0.8, 0.85, 0.9, 0.95, 0.975, 1}的量化比例顺序.
● 然后进行分组量化, 本文通过变量长度编码量化权重, 当然也可以采用文献[
● 最后, 通过再训练恢复准确率.
由于量化比例是增量式增加的, 该方法也称为增量式权重量化方法.相对于全局量化的方法, 该方法在一次量化操作之后通过立即重训练恢复准确率, 最终达到了不损失准确率而极大地减小网络权重的目标.
方法的总览如
增量式网络量化方法[
Incremental network quantization [
自从2012年AlexNet在ImageNet图像分类竞赛中取得突破以来, 准确率更高的深度模型层出不穷, 其中, 最具代表性的有VGG-16, GoogLeNet, ResNet-101.
AlexNet的突出贡献在于总结了一些深度网络设计的经验, 比如使用ReLU替换非线性单元、使用Dropout避免过拟合、使用MaxPooling.VGG的贡献在于使用更小的感受野, 即3×3的卷积核.VGG的前几层卷积核均采用较大的通道数, 为的是增大网络宽度, 导致前向推断非常耗时.GoogLeNet使用Inception结构来增大网络宽度, 不仅减小了计算代价, 更提高了准确率.ResNet使用简单的旁路(bypass)促进信息的流动, 降低了梯度消失的可能性, 最终使得网络达到152层的深度, 极大地提升了准确率.
基于Keras的开源深度模型在ImageNet分类数据集上的准确率及参数数量统计信息见
Keras框架下深度模型在ImageNet上的性能及参数数量
Performance and numbers of parameters on ImageNet in typical deep models on Keras
深度模型 | Top-5错误率(%) | 可训练参数数量(M) |
AlexNet | 18.90 | 60.9 |
VGG_CNN_F | 16.70 | 60 |
VGG-16 | 7.32 | 138.4 |
GoogLeNet | 6.60 | 23.6 |
ResNet-50 | 6.71 | 23.7 |
ResNet-101 | 6.05 | 42.7 |
ResNet-152 | 4.49 | 58.5 |
一些使用多个模型聚合的结果[
网络压缩评价指标包括运行效率、参数压缩率、准确率.与基准模型比较衡量性能提升时, 可以使用提升倍数(speedup)或提升比例(ratio), 两者可以相互转换, 本文统一使用提升比例.
目前, 大部分研究工作均会测量Top-1准确率, 只有在ImageNet这类大型数据集上才会只用Top-5准确率.为方便比较, 本文在后续的效果对比表中使用Top-1准确率.参数压缩率的评价指标较为统一, 统计网络中所有可训练的参数, 根据机器浮点精度转换为字节(byte)量纲, 通常保留两位有效数字以作近似估计.在网络运行效率方面, 可以从网络所含浮点运算次数(FLOP)、网络所含乘法运算次数(MULTS)或随机实验测得的网络平均前向传播所需时间这3个角度来评价.虽然3种指标都反映了网络运行效率的提升, 但是相互之间不可比较, 因此
总体压缩效果
Overall compression performance
参考文献 | 模型 | Top-1准确率(%) | 参数(byte) | 压缩率(%) | 运行效率提升 |
Ref.[ |
VGG-16基准 | 93.25 | 1.50E+07 | - | 使用FLOP评价指标, 对不同深度模型, 分别获得34.20%, 13.70%, 38.60%, 15.5%的加速 |
VGG-16压缩 | 93.4 | 5.40E+06 | 64.00 | ||
ResNet-56基准 | 93.04 | 8.60E+05 | - | ||
ResNet-56压缩 | 93.06 | 7.30E+05 | 15.12 | ||
ResNet-110基准 | 93.53 | 1.72E+06 | - | ||
ResNet-110压缩 | 93.3 | 1.16E+06 | 32.56 | ||
ResNet-34基准 | 73.23 | 2.16E+07 | - | ||
ResNet-34压缩 | 72.56 | 1.99E+07 | 7.87 | ||
Ref.[ |
LeNet基准 | 99.06 | 1.96E+07 | - | 由于全连接层对网络运行时间影响不大, 所以对其剪枝不能显著提升运行效率 |
基于幅度剪枝 | 96.5 | 1.65E+07 | 16.01 | ||
随机剪枝 | 91.37 | 1.65E+07 | 16.01 | ||
数据无关剪枝 | 98.35 | 1.65E+07 | 16.01 | ||
AlexNet基准 | 57.84 | 6.09E+07 | - | ||
对FC6数据无关剪枝 | 56.08 | 4.23E+07 | 30.57 | ||
对FC7数据无关剪枝 | 56 | 5.37E+07 | 11.80 | ||
对FC6和FC7数据无关剪枝 | 55.6 | 3.97E+07 | 34.89 | ||
Ref.[ |
基于CASIA数据的基准模型 | 86.04 | 1.30E+04 | - | 使用实验测得平均前向传播所需时间作为评价指标, 对于不同深度模型, 分别获得59.51%, 25.93%, 37.11%, 57.81%, 62.26%的加速 |
Fitnet | 82.08 | 8.64E+03 | 33.33 | ||
低秩分解 | 84.79 | 1.17E+04 | 9.91 | ||
Inbound Prune | 84.74 | 1.16E+04 | 10.71 | ||
RR Prune | 85.08 | 6.14E+03 | 52.61 | ||
Hyb. Prunne | 85.32 | 6.06E+03 | 53.27 | ||
Ref.[ |
LeNet-5基准 | 80 | 4.31E+05 | - | - |
剪枝+量化 | 77 | 3.60E+04 | 91.67 | ||
AlexNet基准 | 57.22 | 6.10E+07 | - | ||
剪枝+量化 | 57.22 | 6.70E+06 | 88.89 | ||
VGG-16基准 | 31.5 | 1.38E+08 | - | ||
剪枝+量化 | 31.34 | 1.03E+07 | 92.31 | ||
Ref.[ |
AlexNet | 57.22 | 2.40E+08 | - | 引入了非结构化的稀疏性, 需要专门的软件计算库或者未来的硬件获得运行效率的提升 |
Fastfood-32-AD | 58.07 | 1.31E+02 | 50.00 | ||
Fastfood-16-AD | 57.1 | 6.40E+07 | 72.97 | ||
Collins & Kohli | 55.6 | 6.10E+07 | 75.00 | ||
SVD | 55.98 | 4.78E+07 | 80.00 | ||
剪枝 | 57.22 | 8.90E+06 | 88.89 | ||
剪枝+量化 | 57.22 | 6.90E+06 | 96.30 | ||
剪枝+量化+编码 | 57.22 | 6.90E+06 | 98.97 | ||
VGG-16基准 | 68.5 | 5.52E+08 | - | ||
VGG-16压缩 | 68.83 | 1.13E+07 | 97.95 | ||
Ref.[ |
Teacher | 90.18 | 9.00E+06 | - | 使用MULT评价指标, 对FitNet1, FitNet2, FitNet3, FitNet4, 分别获得了92.51%, 78.45%, 27.01%, 34.21%的加速(FitNet1~ FitNet4采用不同的人工设计的网络架构) |
FitNet1 | 89.01 | 2.50E+05 | 97 | ||
FitNet2 | 91.06 | 8.62E+05 | 90.42 | ||
FitNet3 | 91.1 | 1.60E+06 | 82.22 | ||
FitNet4 | 91.61 | 2.50E+06 | 72.22 | ||
Mimic single | 84.6 | 5.40E+07 | - | ||
Mimic ensemble | 85.8 | 7.00E+07 | - |
此外, 在网络蒸馏中有一类研究方案比较特别.这类研究通过使用庞大的模型蒸馏出多个专家模型并且作并行预测, 最终将投票结果聚合, 不仅提高准确率, 同时提高运行效率.对于单个专家模型而言, 模型权重数目是下降的, 但是权重数目对于所有模型的总和相对于单个庞大的原始模型是增加的.文献[
在网络分解的研究中, 针对深度网络中的卷积层和全连接层通常采用不同的方法.因而, 逐层分析可以帮助我们获得一些经验性的规律.逐层分析实验包含两种方法:(1)逐层对照实验:固定其余所有层, 每次对一层进行压缩.从而可以对压缩率、效率提升进行全面的评价, 见
卷积层和全连接层逐层压缩对照实验
Performance evaluations of compressing single convolutional layer or fully-connected layer
参考文献 | 压缩层类别 | 压缩方法 | 压缩率(%) | 准确率下降比(%) | 运行加速比(%) |
Ref.[ |
Conv | Monochromatic, |
87.90 | 1.90 | 66.33 |
Conv | Monochromatic, |
84.52 | 0.43 | 66.10 | |
Conv | Monochromatic, |
81.13 | 0.20 | 65.99 | |
Conv | Monochromatic, |
74.36 | 0 | 65.64 | |
Conv | 双聚类+外积分解 | 92.54 | 0.68 | 23.07 | |
Conv | 双聚类+SVD, | 71.42 | 0.90 | 37.50 | |
FC | SVD, |
92.54 | 0.84 | 20.19 | |
FC | SVD, |
71.42 | 0.09 | 17.31 | |
Ref.[ |
Conv | Sparse CNN, kernel size=11 | 92.70 | 0.62 | 61.69 |
Conv | Sparse CNN, kernel size=5 | 95.00 | 1.43 | 85.99 | |
Conv | Low rank, kernel size=5 | 89.00 | 0.61 | 60.00 |
卷积层和全连接层的压缩率
Compression rate of convolutional layers and fully-connected layers
参考文献 | 压缩层类别 | 压缩方法 | 压缩率(%) | 总体压缩率(%) |
Ref.[ |
AlexNet, Conv | 剪枝+量化 | 67.40 | 88.89 |
AlexNet, Conv | 剪枝+量化+编码 | 79.47 | ||
AlexNet, FC | 剪枝+量化 | 97.00 | ||
AlexNet, FC | 剪枝+量化+编码 | 97.61 | ||
VGGNet, Conv | 剪枝+量化 | 60.00 | 92.31 | |
VGGNet, Conv | 剪枝+量化+编码 | 70.03 | ||
VGGNet, FC | 剪枝+量化 | 98.40 | ||
VGGNet, FC | 剪枝+量化+编码 | 98.90 | ||
Ref.[ |
VGGNet, Conv | 剪枝 | 76.20 | 98.97 |
VGGNet, FC | 剪枝 | 89.80 | 97.95 |
在网络分解的逐层对照实验中, 对卷积层的压缩率在不断的改进中不断提升, 但是总体上小于对全连接层的SVD分解.稀疏卷积操作采用固定卷积核矩阵的方法, 对训练好的卷积核矩阵的稀疏性具有一定的依赖性, 但总体上更好地利用了卷积核的稀疏性, 提升了运行效率.
在权重数量上, Han进行了系统的实验, 从中可以总结出一些经验性的结论.全连接层参数密集, 不仅参数数量比卷积层高出一个数量级, 而且对最终压缩率的贡献也远超过卷积层.同时, 文献[
网络剪枝、网络精馏和网络分解都能在一定程度上实现网络压缩的目的.回归到深度网络压缩的本质目的上, 即提取网络中的有用信息, 以下是一些值得研究和探寻的方向.
(1) 权重参数对结果的影响度量.深度网络的最终结果是由全部的权重参数共同作用形成的, 目前, 关于单个卷积核/卷积核权重的重要性的度量仍然是比较简单的方式, 尽管文献[
(2) 学生网络结构的构造.学生网络的结构构造目前仍然是由人工指定的, 然而, 不同的学生网络结构的训练难度不同, 最终能够达到的效果也有差异.因此, 如何根据教师网络结构设计合理的网络结构在精简模型的条件下获取较高的模型性能, 是未来的一个研究重点.
(3) 参数重建的硬件架构支持.通过分解网络可以无损地获取压缩模型, 在一些对性能要求高的场景中是非常重要的.然而, 参数的重建步骤会拖累预测阶段的时间开销, 如何通过硬件的支持加速这一重建过程, 将是未来的一个研究方向.
(4) 任务或使用场景层面的压缩.大型网络通常是在量级较大的数据集上训练完成的, 比如, 在ImageNet上训练的模型具备对1 000类物体的分类, 但在一些具体场景的应用中, 可能仅需要一个能识别其中几类的小型模型.因此, 如何从一个全功能的网络压缩得到部分功能的子网络, 能够适应很多实际应用场景的需求.
(5) 网络压缩效用的评价.目前, 对各类深度网络压缩算法的评价是比较零碎的, 侧重于和被压缩的大型网络在参数量和运行时间上的比较.未来的研究可以从提出更加泛化的压缩评价标准出发, 一方面平衡运行速度和模型大小在不同应用场景下的影响; 另一方面, 可以从模型本身的结构性出发, 对压缩后的模型进行评价.
网络压缩旨在减少模型参数、降低存储空间和减少运算开销, 在深度网络的实际应用中发挥着越来越重要的作用.本文总结了网络剪枝、网络精馏和网络分解这3个方向的压缩方法, 并在压缩性能上提供了相应指标评价.其中, 网络剪枝关注于去掉模型中影响较小的卷积结构; 网络精馏侧重于训练一个较小的学生网络结构去模拟较大的教师网络的性能; 网络分解强调从数据存储方式和结构以及运算优化的角度来降低开销.希望通过以上介绍, 读者能够对深度网络压缩有一个较为全面的了解, 并在相关基于深度模型的实际任务中加以利用.
Le Cun Y, Bengio Y, Hinton G. Deep learning. Nature, 2015, 521(7553):436-444.[doi:10.1038/nature14539]
Plamondon R, Srihari SN. Online and off-line handwriting recognition:A comprehensive survey. IEEE Trans. on Pattern Analysis and Machine Intelligence, 2000, 22(1):63-84.[doi:10.1109/34.824821]
10.1145/2647868.2654948]]]>
10.1109/iccv.2015.169]]]>
Wang N, Yeung DY. Learning a deep compact image representation for visual tracking. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Tahoe: IEEE, 2013. 809-817.
10.1145/2766462.2767738]]]>
Ngiam J, Coates A, Lahiri A, Prochnow B, Ng AY. On optimization methods for deep learning. In: Proc. of the 28th Int'l Conf. on Machine Learning (ICML). Bellevue: ACM Press, 2011. 265-272.
Krizhevsky A, Sutskever I, Hinton GE. Imagenet classification with deep convolutional neural networks. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Tahoe: IEEE, 2012. 1097-1105.
10.1109/icassp.2016.7472620]]]>
10.1109/cvpr.2016.90]]]>
Setiono R, Liu H. Neural-Network feature selector. IEEE Trans. on Neural Networks, 1997, 8(3):654-662.[doi:10.1109/72. 572104]
Hanson SJ, Pratt LY. Comparing biases for minimal network construction with back-propagation. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Denver: IEEE, 1989. 177-185.
Whitley D, Starkweather T, Bogart C. Genetic algorithms and neural networks:Optimizing connections and connectivity. Parallel Computing, 1990, 14(3):347-361.[doi:10.1016/0167-8191(90)90086-o]
Oberman SF, Flynn MJ. Design issues in division and other floating-point operations. IEEE Trans. on Computers, 1997, 46(2):154-161.[doi:10.1109/12.565590]
Anwar S, Sung WY. Coarse pruning of convolutional neural networks with random masks. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). IEEE, 2017. 134-145.
Le Cun Y, Denker JS, Solla SA. Optimal brain damage. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Denver: IEEE, 1989. 598-605.
Rosenblueth E. Point estimates for probability moments. Proc. of the National Academy of Sciences, 1975, 72(10):3812-3814.[doi:10.1073/pnas.72.10.3812]
10.1109/icnn.1993.298572]]]>
Hassibi B, Stork DG. Second order derivatives for network pruning: Optimal brain surgeon. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Denver: IEEE, 1993. 164-171.
10.5244/c.29.31]]]>
Han S, Mao H, Dally WJ. Deep compression: Compressing deep neural networks with pruning, trained quantization and Huffman coding. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). San Juan: IEEE, 2016. 233-242.
Han S, Pool J, Tran J, Dally WJ. Learning both weights and connections for efficient neural network. In: Proc. of the Advances in Neural Information Processing Systems. Montreal: IEEE, 2015. 1135-1143.
Anwar S, Hwang K, Sung W. Structured pruning of deep convolutional neural networks. ACM Journal on Emerging Technologies in Computing Systems (JETC), 2017, 13(3):Article No.32.[doi:10.1145/3005348]
Li H, Kadav A, Durdanovic I, Samet H, Graf HP. Pruning filters for efficient ConvNets. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). IEEE, 2017. 34-42.
Polyak A, Wolf L. Channel-Level acceleration of deep face representations. IEEE Access, 2015, 3:2163-2175.[doi:10.1109/access. 2015.2494536]
Figurnov M, Ibraimova A, Vetrov DP, Kohli P. PerforatedCNNs: Acceleration through elimination of redundant convolutions. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Barcelona: IEEE, 2016. 947-955.
Hu H, Peng R, Tai YW, Tang CK. Network trimming: A data-driven neuron pruning approach towards efficient deep architectures. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). IEEE, 2017. 214-222.
Molchanov P, Tyree S, Karras T, Aila T, Kautz J. Pruning convolutional neural networks for resource efficient transfer learning. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). IEEE, 2017. 324-332.
10.1007/978-3-319-66709-6_15]]]>
Zhou ZH. Rule extraction:Using neural networks or for neural networks? Journal of Computer Science and Technology, 2004, 19(2):249-253.[doi:10.1007/BF02944803]
Zhou ZH, Jiang Y. NeC4.5:Neural ensemble based C4.5. IEEE Trans. on Knowledge and Data Engineering, 2004, 16(6):770-773.
10.1145/1150402.1150464]]]>
Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Montrea: IEEE, 2014. 2644-2652.
Pan SJ, Yang Q. A survey on transfer learning. IEEE Trans. on Knowledge and Data Engineering, 2010, 22(10):1345-1359.[doi:10. 1109/TKDE.2009.191]
10.1145/1102351.1102418]]]>
Ba J, Caruana R. Do deep nets really need to be deep? In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Montrea: IEEE, 2014. 2654-2662.
Romero A, Ballas N, Kahou SE, Chassang A, Gatta C, Bengio Y. Fitnets: Hints for thin deep nets. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). IEEE, 2017. 124-133.
10.1109/cvpr.2015.7298594]]]>
Chen T, Goodfellow I, Shlens J. Net2net: Accelerating learning via knowledge transfer. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). San Juan: IEEE, 2016. 27-35.
10.1007/978-3-319-46493-0_37]]]>
He ZF, Yang M, Liu HD. Joint learning of multi-label classification and label correlations. Ruan Jian Xue Bao/Journal of Software, 2014, 25(9):1967-1981(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4634.htm[doi:10.13328/j.cnki.jos.004634]
何志芬, 杨明, 刘会东.多标记分类和标记相关性的联合学习.软件学报, 2014, 25(9):1967-1981. http://www.jos.org.cn/1000-9825/4634.htm[doi:10.13328/j.cnki.jos.004634]
Golub GH, Reinsch C. Singular value decomposition and least squares solutions. Numerische Mathematik, 1970, 14(5):403-420.[doi:10.1007/BF02163027]
Zhang M, Ge WH. Overlap bicuster algorithm based on probability. Computer Engineering and Design, 2012, 33(9):3579-3583(in Chinese with English abstract).[doi:10.16208/j.issn1000-7024.2012.09.046]
张敏, 戈文航.基于概率计算的重叠双聚类算法.计算机工程与设计, 2012, 33(9):3579-3583.[doi:10.16208/j.issn1000-7024.2012. 09.046]
10.5244/c.28.88]]]>
Denton EL, Zaremba W, Bruna J, Le Cun Y, Fergus R. Exploiting linear structure within convolutional networks for efficient evaluation. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Montrea: IEEE, 2014. 1269-1277.
10.1109/cvpr.2015.7298681]]]>
Courbariaux M, Bengio Y, David JP. Binaryconnect: Training deep neural networks with binary weights during propagations. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). Montreal: IEEE, 2015. 3123-3131.
Gong Y, Liu L, Yang M, Bourdev L. Compressing deep convolutional networks using vector quantization. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). Toronto: IEEE, 2015. 102-110.
Lee H, Battle A, Raina R, Ng AY. Efficient sparse coding algorithms. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). IEEE, 2007. 789-801.
10.1145/1553374.1553463]]]>
Zhou A, Yao A, Guo Y, Xu L, Chen Y. Incremental network quantization: Towards lossless cnns with low-precision weights. In: Proc. of the Int'l Conf. on Learning and Representation (ICLR). IEEE, 2017. 154-162.
Monmasson E, Cirstea MN. FPGA design methodology for industrial control systems-A review. IEEE Trans. on Industrial Electronics, 2007, 54(4):1824-1842.[doi:10.1109/tie.2007.898281]
Gupta S, Agrawal A, Gopalakrishnan K, Narayanan P. Deep learning with limited numerical precision. In: Proc. of the Int'l Conf. on Machine Learning (ICML). Lille: ACM Press, 2015. 1737-1746.
Antipov G, Berrani SA, Dugelay JL. Minimalistic CNN-based ensemble model for gender prediction from face images. Pattern Recognition Letters, 2016, 70:59-65.[doi:10.1016/j.patrec.2015.11.011]