CVPR2019 | 专门为卷积神经网络设计的训练方法:RePr

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~

CVPR2019 accepted list已经放出,极市已将目前收集到的公开论文总结到github上(包括本文及pdf下载),后续会不断更新,欢迎关注,也欢迎大家提交自己的论文:

https://github.com/extreme-assistant/cvpr2019 。今天介绍的CVPR论文是针对卷积神经网络的训练方法。

作者 | ywsun

论文链接 | https://arxiv.org/abs/1811.07275

原文地址 | https://zhuanlan.zhihu.com/p/58095683

这篇文章初看abstract和introduction,差点以为是model pruning,看到后面发现是针对卷积神经网络的训练方法,而且这个方法比较简单,但文章通过大量的分析和实验,验证了提出的训练方法非常有效,在cifar、ImageNet、VQA、object detection上涨点很多,个人觉得paper writing/representation做的非常好,ablation study做的非常充分,是我目前看过的CVPR2019中最好的一篇文章。

先来看效果图,用新的训练方法,测试准确率远远超过了标准的训练方法,是不是amazing?

下面看看在object detection上的测试结果,RePr在ResNet50-FPN上有4.1个点的提升,在ResNet101-FPN有2.8个点的提升,可以说是非常明显了。

Introduction

卷积神经网络在视觉任务中取得了SOTA性能,我们会为不同的任务单独设计不同的网络结构,虽然网络结构不同,但使用的优化方法都是一样的,而且这些优化方法将网络权重视为单独的个体,没有考虑彼此之前的相关性。而事实上,网络权重之间是有很大联系的。为了获取最好的性能,网络经常过参数化(over-parameterized)。然而即使是过参数化的网络,也会存在很多冗余的参数。model pruning证明了一个大的网络可以通过丢弃一部分参数权重得到一个性能损失不大的小网络,从而实现网络压缩和加速。

因此文章提出了一个新的训练方法。既然网络中有些参数权重是多余,那我们训练的时候把他们丢弃(pruning),接着训练剩下的网络,为了不损失模型的capacity,然后再把丢弃的参数拿回来,效果是不是会好一点呢?基于这个想法,文章作者任务有几个重要的点:一是pruning哪些权重,而是如何再把丢弃的权重拿回来让他们发挥更大的作用。本文的一个贡献在于提出了一个metric,用于选择哪些filters丢弃。同时作者指出,即使是一个参数很少( under-parameterized )的网络,也会出现学到冗余的参数的情况,这不仅仅在多参数的网络中存在,原因就在于训练过程低效。

Motivation

特征之间的相关性越高,其泛化性能越差。为了降低特征之间的相关性,有人提出了各种方法,比如在损失函数中加入特征相关性的项,在优化目标函数的时候使的模型自动学习出低相关的特征,然而并没有什么效果。还有通过分析不同层的特征并进行聚类,这种方法在实际中不可行因为计算量巨大。还有人尝试过loss添加正则项让模型学习到相互正交的权重,最后也发现收效甚微。实验发现,仅仅通过正则化项让网络自动学习到正交的权重是不够的,文章提出的训练方法其实已经隐式地起到了正则化效果,并且对模型的收敛没有任何影响。

为了说明即使是参数少的模型,由于训练的低效,也会存在大量冗余的卷积核,通过一个比较小的卷积神经网络,作者可视化了不同层的卷积核对性能的影响,如下图右,layer2的大部分卷积核对性能的影响仅仅只有1%,即使是浅层的layer1,也存在大量不重要的权重。

新的训练方法:RePr

训练过程如下:方式比较简单,先训练整个网络,根据metric drop掉30%的filter,再训练剩下的网络,再把drop的filter拿回来,用于现有filters正交的方式初始化。迭代这个过程N次。

算法中最重要的其实这个metric,即如何选出需要drop的filters。

文章写的很明白,一个layer的多个卷积核可以用一个matrix表示,也就是

,先对

归一化,再与自己的转置相乘得到

,这是一个

大小的matrix,第i行表示其他filter对第i个filter的projection,可以看成是相关性,如果是正交性的越大,那么这个值就越小,一行的数值之和越小,说明其他filter与这个filter相关性越低。因此可以通过这个sum来对filter进行rank。

同时文章还说明了,计算这个metric是在一个layer内,但rank是在所有layer进行的,目的是为了不让layer这个因数影响filter的rank,避开layer的差异性,同时也不引入过多的超参。

文章一个值得称赞的点就是ablation study部分做的非常详细而充分。文章做了大量的对比实验,对该方法涉及的参数进行了讨论,并对比了不同的optimization的影响,同时也比较了dropout、knowledge distillation,指出该方法不仅和他们有很大区别,与他们结合还能得到更好的结果。

Results

作者做了大量实验,验证该方法在cifar10,cifar100,imagenets上都能取得很好的性能。

这是RePr早其他task上的表现,VQA上有不同程度的涨点,效果明显。

object detection上涨点达到了ResNet50 4.1个点,ResNet101 2.8个点,可是说是非常明显了。

总的来说,这是一篇看起来真正做work的paper,做法简单有效,实验充分合理,相信很多人会去复现这篇paper,有些超参还是需要调一调的,具体效果如何还需要看实际情况,特别是detection部分,如果真的work,未来会成为刷SOTA的一个标配。

几个疑问的点:

  1. 为何文章中说ResNet、Inception的设计是为了减低feature之间的相关性?

  2. 对detection部分work比较感兴趣,希望知道更多的细节。

欢迎留言区评论交流~

(0)

相关推荐

  • 如何步入深度学习刷榜第一重境界

    实际上笔者也没多少刷榜经验,毕竟不擅长,之前老大也没有任务指派,今年10月份得闲了个把月,没那么多事就参加了一个场景分类的比赛,链接如下,https://challenger.ai/competiti ...

  • C3F:首个开源人群计数算法框架

    导读:52CV曾经报道多篇拥挤人群计数相关的技术,比如最近的: CVPR 2019 | 西北工业大学开源拥挤人群数据集生成工具,大幅提升算法精度 视频监控的普及,需求推动技术的快速进步. 本文为首个P ...

  • Python常用魔术方法

    什么是魔术方法? 在Python中,所有以双下划线__包起来的方法,统称为Magic Method(魔术方法),它是一种的特殊方法,普通方法需要调用,而魔术方法不需要调用就可以自动执行. 魔术方法在类 ...

  • 68个Python内置函数最全总结

    原创 菜鸟哥 菜鸟学Python 菜鸟哥是个资深Python爱好者,今天帮大家从10个方面总结了Python3.9版本下的68个内置函数,让大家一网打尽Python内置函数,一起来看看吧. 01.运算 ...

  • 【骚操作】折叠Batch Normalization加速模型推理

    ! 作者丨Nathan Hubens 来源丨AI公园 介绍 Batch Normalization是将各层的输入进行归一化,使训练过程更快.更稳定的一种技术.在实践中,它是一个额外的层,我们通常添加在 ...

  • 基于深度学习的钢轨伤损超声检测与分类

    随着铁路运营里程.速度.密度的不断增加,为保障铁路交通运输的安全性,对钢轨的检测要求也进一步提高.钢轨作为铁路运输系统的重要组成部件,在长期循环列车荷载作用及外部环境影响下,易产生轨头核伤.轨腰斜裂缝 ...

  • 【学习笔记】航空航天(11):基于卷积神经网络的空中目标战术机动模式分类器设计

    摘  要: 针对现有空中目标机动模式识别算法鲁棒性和抗噪性差的问题,提出了利用卷积神经网络直接对航迹数据进行非人工特征提取,从而实现机动模式识别的算法.针对目标机动段难以分割的现实情况,提出了滑动时间 ...

  • 带动画效果的卷积神经网络的讲解.pptx

    刚在学习深度学习的时候,对卷积神经网络还比较模糊,后来发现一位黄海广老师的卷积神经网络课件,带很多动画,把卷积神经网络讲得很清楚.值得推荐. 文末提供原版的ppt的下载方式,ppt效果见下图: 下载方 ...

  • 卷积神经网络是如何实现不变性特征提取的?

    转载于 :OpenCV学堂 图像特征 传统的图像特征提取(特征工程)主要是基于各种先验模型,通过提取图像关键点.生成描述子特征数据.进行数据匹配或者机器学习方法对特征数据二分类/多分类实现图像的对象检 ...

  • 深度信号处理:利用卷积神经网络测量距离

    在信号处理中,有时需要测量信号某些特征(例如峰)之间的水平距离. 一个很好的例子就是解释心电图(ECG),这在很大程度上取决于测量距离. 我们将考虑下图中只有两个峰的平滑信号的一个样例. 解决这个问题 ...

  • 【时间序列】时间卷积神经网络

    在深度学习的知识宝库中,除了前面文章中介绍的RNN,还有一个重要的分支:卷积神经网络(CNN),其广泛应用于视觉,视频等二维或者多维的图像领域.卷积网络具有深度,可并行等多种特性,这种技术是否可以应用 ...

  • 总结 | 卷积神经网络必读的40篇经典论文,包含检测/识别/分类/分割多个领域

    转载于 :极市平台 作为深度学习的代表算法之一,卷积神经网络(Convolutional Neural Networks,CNN)在计算机视觉等领域上取得了当前最好的效果. 1998 年,Yann L ...

  • 【隐创118期】基于卷积神经网络的海面目标检测方法研究(节选二)

    编者按: 深度学习算法已被证明是图像与视频处理的强大工具,广泛应用于国防安全之中.在海洋环境中,光电传感器数据与人类智能技术的融合对于应对安全问题具有重要作用.例如,态势感知可以通过一个自动系统来增强 ...

  • 个性化癌症治疗再进一步!科学家通过图卷积神经网络技术发现165个新的致癌基因

    作者:刘芳 编审:王新凯.寇建超 排版:王落尘 作为对人类健康造成最重大威胁的疾病之一,癌症一直是各国科学家们重点研究的对象.据世界卫生组织国际癌症研究署(IAR)发布的全球最新癌症预估数据显示,20 ...

  • 深度学习其实并不难:卷积神经网络的简单介绍

    关于CNN, 第1部分:卷积神经网络的介绍 CNN是什么?:它们如何工作,以及如何在Python中从头开始构建一个CNN. 在过去的几年里,卷积神经网络(CNN)引起了人们的广泛关注,尤其是因为它彻底 ...