Rethinking the Value of Network Pruning_ICLR2019

近期本小白在公司实习,组内有写paper reading的优良传统,一来自己总结,二来便于大家交流。感觉这个习惯非常好,于是乎想了想干脆同步发到自己博客上来,便于以后自己整理。

 

URL: https://arxiv.org/abs/1810.05270

code:https://github.com/Eric-mingjie/rethinking-network-pruning

TL;DR
这篇文章不同于大多数提出新方法的模型压缩文章,作者对先前众多论文中用到的先修剪再微调的channel pruning方法进行深入研究之后,提出了一些重要的发现。
1)训练一个较大的、过参数化的模型对于得到一个最终的高效模型不是必须的;
2)学习大模型中的重要weights对于所得到的轻量化模型并没有作用;
3)修剪所得到的模型架构才是至关重要的,而不是所保留的原始参数,这在某种程度上可以视为一种隐式模型架构搜索。

Method
为了验证自己的结论,作者设计了一系列的验证策略,另外针对不同的模型修剪方法制定了对应的策略,主要针对预定于目标架构的修剪方法、自动架构修剪和非结构化的架构修剪。
为了对比的严谨性,作者尽量按照原论文中公布的参数配置进行实验;同时对于从头开始训练的模型,由于模型变得更加轻量化,作者制定了保留原有epoch数和epoch数加倍这两种策略。

Experiment Detail
作者进行了大量的验证实验,并且专门写了一章和同时间段提出的模型修剪方法“Lottery Ticket Hypothesis”进行了对比,这一波着实有点刚,后来“Lottery Ticket Hypothesis”获得了best paper,看来是没刚过,不过这两篇论文同时都中了ICLR2019。 

作者在论文中对比了之前很多论文中提出来的方法,几乎把原有的模型修剪方法怼了个遍,其中还包括作者自己在ICCV17上提出的方法,果然大佬狠起来,连自己都害怕。

以下是对比实验结果。

作者通过对比实验得出结论:
1)对于有预定义的目标网络架构的结构化修剪方法,直接训练一个小网络可以达到先修剪再微调后相同甚至更好的效果(只是可能需要训练更多的epoch来实现收敛); 对于自动发现目标架构的结构化修剪方法结论同样成立
2) 从大模型继承权重不一定是最优的,并且可能会使得模型陷入不良的局部最小值,即使这些权重是被修剪标准视为是重要的。自动化结构修剪算法的价值在于识别有效结构并进行隐式架构搜索。对于大多数的结构搜索方法而言,这个相当于搜索每一层的channel数

Thoughts
这篇论文的作者实验过程中发现了模型修剪过后,微调得到的效果和重新从头训练几乎相同,于是便做了多组实验证明这一结论,推翻了包括自己的方法在内的很多方法,提出对参数修剪的一个新的认识:参数修剪的实际作用在于得到架构而非权值。这一观点确实令人眼前一亮,有利于大家后续更好地设计压缩方法。另外作者也承认小模型不像大模型那样容易收敛,从头开始训练可能需要更多的epoch或者其他的训练条件,如果已经有训练好的大模型的话,还是直接压缩来的快。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Inception 架构是一种用于计算机视觉的神经网络架构,它通过使用不同尺寸的卷积核来捕捉图像中的不同级别特征。近年来,研究者们对 Inception 架构进行了重新思考,提出了许多改进版本,如 Inception-v2 和 Inception-v3。这些改进版本通过更深层次的网络结构、更高效的卷积层、更强大的正则化方法等来增强模型的性能。 ### 回答2: "重新思考计算机视觉中的Inception架构"是指对计算机视觉中的Inception架构进行反思和重新设计的过程。 在计算机视觉中,深度学习网络被广泛应用于图像分类、物体检测和语义分割等任务。Inception架构是一种流行的深度学习架构之一,它的特点是使用了一系列不同尺寸的卷积核和Inception模块,以提取不同尺度下的图像特征。 然而,随着计算机视觉任务的不断发展和挑战的出现,人们开始重新思考和改进Inception架构。对Inception架构的重新思考主要包括以下几个方面: 首先,针对Inception架构中的参数数量过多和计算复杂度高的问题,人们提出了一些改进方法。例如,通过降低Inception模块中卷积核的维度和参数数量,可以减少计算量,提高网络的训练和推理效率。 其次,人们提出了一些新的模块和网络结构,以解决Inception架构在某些任务上的性能限制。例如,ResNet和DenseNet等网络结构通过引入残差连接和稠密连接,解决了深度网络中的梯度消失和信息丢失问题。 此外,人们还关注如何将Inception架构与其他架构进行融合,以进一步提升计算机视觉任务的性能。例如,人们将Inception架构与注意力机制相结合,以提高目标检测和图像分割的准确性。 总之,"重新思考计算机视觉中的Inception架构"是一个不断演进的过程。通过反思和优化Inception架构,人们可以提高计算机视觉任务的性能、准确性和效率,推动计算机视觉领域的发展。 ### 回答3: 重新思考计算机视觉中的初始架构(rethinking the inception architecture for computer vision)是指对计算机视觉模型中的初始网络架构进行重新思考和改进。 计算机视觉是人工智能领域中的一个重要分支,它致力于让计算机能够像人一样理解和处理图像和视频。而计算机视觉模型的架构对于模型的性能和效果具有很大的影响。 Inception架构是一种经典的计算机视觉模型架构,最早由谷歌在2014年提出。它通过使用多尺度的卷积层和并行结构来提高模型的性能和效果。然而,随着技术的发展和需求的变化,原始的Inception架构可能存在一些限制和缺陷。 重新思考Inception架构意味着我们需要针对当前的计算机视觉任务和要求,重新设计和改进Inception架构。有几个方面可以考虑: 首先,我们可以通过引入更先进的卷积技术和结构来改善模型的性能。例如,可以使用Dilated Convolution(空洞卷积)来增加感受野,或者使用Depthwise Separable Convolution(分离卷积)来减少参数量和计算量。 其次,我们可以将其他经典和有效的架构和思想与Inception架构相结合,以进一步提升性能。例如,可以引入残差连接(Residual Connection)来加快训练速度和提高模型的泛化能力。 此外,我们还可以针对具体的计算机视觉任务,对Inception架构进行特定的优化。例如,对于目标检测任务,可以加入适应性池化层(Adaptive Pooling Layer)来获得更好的位置和尺度信息。 总之,重新思考Inception架构是一个不断改进和优化计算机视觉模型的过程。通过结合新的技术、思想和任务需求,我们可以进一步提高计算机视觉模型的性能和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值