![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模型压缩
蓝先生爱学习
博客是让这个世界上研究同一技术的我们不会感到孤独的存在。
展开
-
Training Shallow and Thin Networks for Acceleration via KD with Conditional Adversarial Networks
论文地址:https://arxiv.org/abs/1709.00513 这是2017年的一篇文章。在本文之前的监督学习的方法一般是通过最小化确定的损失函数来拟合学生和老师,本文通过cGANs来学习适合的loss,更好的进行知识的迁移。其训练过程如下:Discriminator的更新过程如下:但Discriminator只使用学生和老师的标签作为loss函数的输入会让训练...原创 2018-09-19 11:19:34 · 949 阅读 · 2 评论 -
Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
这是CVPR 2017年的一篇论文,研究的是:基于能量消耗导向的网络剪枝。当我们把CNN运用到嵌入式等电池驱动的设备上时,其能量消耗是个不可忽视的大问题。比如,在一个智能手机上,AlexNet不能运行超过一个小时。而以往地针对网络剪枝的关注点主要在model size和FLOPs上面,没有真正的去关注能量的问题。这篇文章提出的框架如下:其步骤如下:以能量消耗排序层 以幅度大小...原创 2019-02-27 11:13:14 · 716 阅读 · 0 评论 -
An Entropy-based Pruning Method for CNN Compression
这篇文章也是网络剪枝的早期文章,其算法是filter级别的裁剪。文章认为weights的大小不能决定一个filter的重要性,应该用熵来决定:而对于这个概率pi,其得到方法如下:简单来说,就是用全局平均池化来转化一个layer的output,得到一个向量。用验证集的一些图片进入网络,就可以得到一个矩阵,这个filter的熵就可以用这个矩阵计算出来。实验上,文章针对VGG16和R...原创 2019-02-26 12:12:24 · 1610 阅读 · 0 评论 -
Network Trimming: 数据指导的神经剪枝方法
这是模型压缩的一篇比较早的论文,论文提出的方法也很简单,对于神经网络,用训练数据来统计神经网络层的冗余度,具体公式见下:简单地解释上面的公式:输入N张图片,统计一个包含M个输出通道的神经层里激活为0的神经元占该层神经元的总数。然后根据设定的阈值,渐进地裁剪这些神经元。有两点需要注意:裁剪要一层一层地进行,且一次裁剪不能太多。不然会极大地影响精度。 合适的参数初始化会使裁剪更加充分...原创 2019-02-26 10:33:08 · 450 阅读 · 0 评论 -
2019 CVPR: A main/subsidiary network framework for simplifying binary neural networks
这是一篇2019年的CVPR,其工作十分有趣!笔者下面带大家简单地看看这篇文章:论文地址:https://arxiv.org/abs/1812.042101、摘要模型压缩研究领域中有两种热门的方法:量化和剪枝,这些都在我的博客中讲过,特别是剪枝。在量化过程中,有一种特别极端的方法,1bit的二值量化。对于一个二值网络而言,其本身就是“压缩”的。这篇文章致力于用其提出的一种bottom-...原创 2019-03-01 17:49:31 · 697 阅读 · 0 评论 -
论文笔记:Dorefa-Net
Dorefa-Net由FACE++提出,论文地址:https://arxiv.org/abs/1606.061601、背景:训练神经网络需要大量的时间,为了减少这些时间,对模型进行量化是个不错的选择。但是,以往的工作没有对梯度/激活函数进行低bit量化并取得好的结果的先例。所以,Dorefa-Net被提了出来。2、贡献:提出了可实现任意bit数的权重,激活,梯度的CNN架构 其可...原创 2019-03-05 11:20:59 · 5680 阅读 · 0 评论 -
Pruning convolutional neural networks for resource efficent inference
这是篇2017年ICLR的会议,文章提出了一种基于泰勒展开的网络剪枝方法。文章认为,这里一类的剪枝方法一般分为三类:一个已经训练好的网络 基于一定的准则在修剪和微调反复 适时地停止 所以,这个修剪的“准则”就十分的重要,文章列出了一些以往的准则:Minimun weight:训练时加入L1或L2正则化,并修剪权值小于某一阈值的权重 Activation:修剪经激活层后与sm...原创 2019-02-14 13:01:23 · 820 阅读 · 4 评论 -
Discrimination-aware Channel Pruning for Deep Neural Networks:基于鉴别力感知的深度神经网络剪枝
相比于笔者之前讲的几种剪枝方法,这篇文章的剪枝方法比较复杂。文章首先提出了一种假设:informative channel, no matter where it is, should own discrimination power, otherwise it should be delete然后,文章提出了一种基于感知力的剪枝框架和算法:该框架的主要点包括两种loss:重构l...原创 2019-02-28 10:59:28 · 1123 阅读 · 0 评论 -
Coarse pruning of convolutional neural networks with random masks
这是ICLR 2017的一篇文章,文章认为既然我们无法直观得去衡量weights,layers,kernels的重要性,那我们就用random的方式。对于N个要剪枝的对象,我们可以有2^N种组合。在给定裁剪率 α 的情况下,就有 α*2^N种组合。从这些组合中挑选在验证集上精度最大的作为局部最优剪枝。文章建议的N=50,α=40%。单纯从效果上来讲,还不错:讨论但是,读者从自己...原创 2019-02-12 09:53:58 · 513 阅读 · 0 评论 -
增量量化网络:towards lossless CNNs with low-precision weights
这篇文章的内容属于模型压缩范畴中权值的量化、共享。传统的权值量化存在两个不可忽视的问题:non-negligiable accuracy loss the increased number of training iterations for ensuring convergence这篇文章认为这些应该归结为传统的方法都试图一次性的去量化网络,俗语说“心急吃不了热豆腐”。针对这个问题,文章...原创 2019-02-10 22:09:04 · 1052 阅读 · 0 评论 -
Deep Compression:compressiong neural networks with pruning,trained quantization and huffman coding
这是关于模型压缩的一篇文章,文章提出了一个压缩深度神经网络的三步走pipline:剪枝,量.化和霍夫曼编码1、剪枝:因为这是篇2016年的文章,所以剪枝方法比较粗暴:直接删除阈值低于某一值的连接,再进行下fine-tuning,这种剪枝方法能压缩近十倍的model size,但笔者对这种剪枝方法能否胜任新近的网络(DenseNet等)的剪枝任务存疑,因为这种剪枝方法的基于的理论是:绝对...原创 2019-02-09 22:31:20 · 201 阅读 · 0 评论 -
Ternary Neural Networks with Fine-Grained Quantization
这篇文章主要针对以往三值量化一刀切的粗暴“量化”方式提出“细粒度”量化的想法。文章目的将现有的网络不经训练地转化为三值网络,且激活函数8bit/4bit的。相对于前人的工作,这篇文章的创新点在于Weight Grouping上。3.1说应该将weights分为正交的子集。3.2说3.1太麻烦了,直接按照顺序分成子集就好,真是纠结的一篇文章啊。 效果上,作者给出的字面数据...原创 2019-02-15 09:43:37 · 358 阅读 · 0 评论 -
Moonshine:Distilling with Cheap Convolutions
本文将两种成熟的方法结合在一起然后水了一片论文。先用群卷积构造一个小的网络,然后用知识蒸馏的方法训练网络。这里不介绍知识蒸馏。(1) 群卷积将上一层的输入M分为N个组分别进行卷积再最后拟合在一起。这样,参数会减少。 (2)我感觉group conv本身应该就大大减少了参数,比如当input channel为256,outp...原创 2018-09-26 17:00:27 · 874 阅读 · 0 评论 -
Accelerating CNN with Dominant Convvolutional Kernel and Knowledge Pre-regression
Accelerating Convolutional Neural Networks with Dominant Convvolutional Kernel and Knowledge Pre-regression:文章地址:https://link.springer.com/chapter/10.1007/978-3-319-46484-8_32这篇文章介绍了加速和压缩卷积神经网络...原创 2018-09-20 17:48:15 · 278 阅读 · 0 评论 -
A Gift from Knowledge Distillation:Fast Optiization,Network Minimization and Transfer Learning
A Gift from Knowledge Distillation_Fast Optiization,Network Minimization and Transfer Learning:本文提出以下观点:(1)从教师网络萃取知识不一定只从最后的softmax层这一层,还可以从多个层提取。结构如下: (2)将从教师网络学习到的知识用来对学生网络进行初始化,并在之后用主流的方法...原创 2018-09-26 09:24:22 · 2456 阅读 · 0 评论 -
Binarized Neural Networks:Training Deep Neural Networks with Weights and Activations -1,1
文章链接:Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1这是2016年的一篇关于模型量化的文章。1、背景:在网络量化中,有一种极为诱惑的量化方式:1bit量化——极致的压缩!但是1bit的网络在训练时有诸多细节需要完...原创 2019-03-04 11:04:01 · 2217 阅读 · 0 评论