• ICML 2019

    • Making Convolutional Networks Shift-Invariant Again

ICML 2019

Making Convolutional Networks Shift-Invariant Again

什么是平移等方差(Shift-equivariance)?

答:\(Shift _{\Delta h, \Delta w}(\widetilde{\mathcal{F}}(X))=\widetilde{\mathcal{F}}\left(\text { Shift }_{\Delta h, \Delta w}(X)\right) \quad \forall(\Delta h, \Delta w)\),可以看到输入在\((\Delta h, \Delta w)\)变化,输出对应的输出在\((\Delta h, \Delta w)\)变化。

什么是平移不变性(Shift-invariance)?

答:\(\widetilde{\mathcal{F}}(X)=\widetilde{\mathcal{F}}\left(\text { Shift }_{\Delta h, \Delta w}(X)\right) \quad \forall(\Delta h, \Delta w)\), 输入在\((\Delta h, \Delta w)\)变化,不改变最后的结果。

大多数现代的卷积网络是不具有平移不变性的(如上所示,右边是作者提出的方法BlurPool),而不具有平移不变性的原因是因为maxpooling,strided-convolution以及average-pooling这些下采样方法忽略了抽样定理,在信号处理方法中,通过在下采样前会通过一个低通滤波来消除混叠(这里的混叠是指高频分量会混叠成低频分量),然而,简单地将此模块插入深度网络会降低性能。早期确实是使用模糊下采样(average-pooling算低通滤波),但随着maxpooling的提出并表现出很大的性能,就用得不多了,通常认为模糊下采样和最大池化是相互竞争的方法,作者则展示了将两者有效地结合起来,作者把最大池化看为两步,如下所示:

最大池化第一步是先计算区域的最大值,然后进行采样,而BlurPool则将低通滤波的操作嵌入到中间,在采样前先经过一个模糊低通滤波的作用,然后采样,如下所示:

这样就将模糊下采样和最大池化相结合起来,减小了混叠效应,提升了网络的平移不变性能力。相应地,其他下采样的方法也需要变化。如下所示:

论文中举了一个事例帮助我们理解,如下图所示:

原信号是\([0,0,1,1,0,0,1,1]\),经过最大池化将得到\([0, 1, 0, 1]\)(对应蓝色的小方块),但如果简单移动输入一个单位,将导致非常不同的结果(如红色的小方块所示),结果为\([1, 1, 1, 1]\),相反如果是MaxBlurPool,则不一样,原先得到的是\([.5,1, .5,1]\),平移后,得到的是\([.75, .75, .75, .75]\),它们之间的距离更近,中间信号的表示也更好。

论文中还给出了可视化的平移等方差热力图,如下所示:

蓝色表示完全平移等方差;红色表示偏差较大。原先的VGG在经过最大池化后,方差越来越大,混叠得越来越厉害,而作者提出来的方法更好地维持了平移等方差,输出结果也将更加平移不变性。

最后来看看作者最后的实验结果:

可以看到使用BlurPool,精度还上升了不少,更别说对物体平移有很强的鲁棒性了,很好的结果。上面的Rect-2,Tri-3,Bin-5是不同的卷积核,分别对应于[1, 1],[1, 2, 1]和[1, 4, 6, 4, 1](这里只是一维卷积,需要对自身卷积,形成二维卷积核)

更多结果:

在image-to-image任务中,对于baseline方法(顶部),输入偏移会导致出现不同的窗口模式,而作者的方法平稳了输出,生成相同的窗口模式,对输入平移不敏感,更好。

如何使用作者方法,参考https://github.com/adobe/antialiased-cnns#2-antialias-your-own-architecture

Shift-Invariant论文笔记的更多相关文章

  1. 论文笔记:CNN经典结构1(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)

    前言 本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2. 在论文笔记:CNN经典结构2 ...

  2. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  3. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  4. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  5. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  6. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  7. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

  8. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  9. 论文笔记(2):A fast learning algorithm for deep belief nets.

    论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...

  10. 论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN

    论文笔记:Towards Diverse and Natural Image Descriptions via a Conditional GAN ICCV 2017 Paper: http://op ...

随机推荐

  1. HDU - 3345 War Chess 广搜+优先队列

    War chess is hh's favorite game: In this game, there is an N * M battle map, and every player has hi ...

  2. JsonCpp——json文件的解析

    定义: 官网: http://json.org/ 在线解析器:http://json.cn/ http://www.bejson.com/ JSON(JavaScript Object Notatio ...

  3. 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)

    目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...

  4. 最新apple邓白氏码申请地址

    时间:2015-11-04 https://developer.apple.com/program/enroll/dunsLookupForm.action

  5. Java - 怎么通过环境变量来切换jdk版本

    问题与分析 我在本地安装了1.7和1.8两个版本的jdk,此时我的JAVA_HOME环境变量配置的是jdk1.8,在cmd窗口输入java -version发现报错如下: C:\Users\Lewis ...

  6. C# 面向对象之面向接口

    接口的定义 与类不同的是接口用interface关键字 (1)接口中所有成员不能添加任何修饰符,默认为public,如果显示指定修饰符将会出现编译错误; (2)接口中不能包含字段.运算符重载.实例构造 ...

  7. 24 使用Maven 或 Gradle构建groovy

    1       使用Maven 或 Gradle构建groovy 1.1  使用maven构建groovy pom.xml file. <dependencies>     ... oth ...

  8. NUP2201MR

    NUP2201MR:双总线保护IC(瞬态抑制二极管),常用于USB总线的保护.

  9. [已读]javascript语言精粹

    又是一本广为赞颂的好书,当时才刚开始学,啃这本书的时候于是比较困难.记得是有介绍一些js中的“精华”与“糟粕”.

  10. Nodejs 文件修改自动重启扩展

    使用 supervisor: 安装: # 全局安装 npm -g install supervisor 启动: supervisor app.js