Shift-Invariant论文笔记
- 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论文笔记的更多相关文章
- 论文笔记:CNN经典结构1(AlexNet,ZFNet,OverFeat,VGG,GoogleNet,ResNet)
前言 本文主要介绍2012-2015年的一些经典CNN结构,从AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1-v4,ResNetv1-v2. 在论文笔记:CNN经典结构2 ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- Twitter 新一代流处理利器——Heron 论文笔记之Heron架构
Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...
- Deep Learning论文笔记之(六)Multi-Stage多级架构分析
Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些 ...
- Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型
看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...
- 论文笔记(1):Deep Learning.
论文笔记1:Deep Learning 2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...
- 论文笔记(2):A fast learning algorithm for deep belief nets.
论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...
- 论文笔记: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 ...
随机推荐
- 线程通讯--BlockingQueue
Producer线程 package com.thread.communication.blockingqueue; import java.util.concurrent.BlockingQueue ...
- TP5之数据库备份
1.效果图 2.下载扩展类( \extands\org\Baksql.php) 3.在 \public\static 里新建一个data 文件夹用来存放 .sql 的文件 4.使用方法 con ...
- 洛谷 P4704 太极剑【贪心】
首先考虑分割线能分割一条线当且仅当分割线一个端点在这条线的ab中间,另一端点在外面,也就是分割线对应的一条弧不能同时有这条线的两个端点 每条线的两端点都染同色,然后分段,一段里面颜色互不相同,分割线就 ...
- nginx 的启动、停止与重启
详解 ./nginx #打开 nginx nginx -s reload|reopen|stop|quit #重新加载配置|重启|停止|退出 nginx nginx -t #测试配置是否有语法错误 n ...
- Ruby测试小代码[计算50以内的素数]
算法思想 判断某一个数,能不能被比他平方根小的素数整除. 首先看看代码 $arr = [] $arr[0] = 2 def add_prime(n) 3.step(n,2){|num| $arr &l ...
- Python 学习 Part1
1. 斐波那契数序列 >>> a,b=0,1 >>> a 0 >>> b 1 >>> while b<10: print( ...
- 分布式通信-tcp/ip 广播
服务端 /** * 广播 */ public class MulticastServer { public static void main(String[] args) { try { //地址是2 ...
- [題解](最短路/二分)luogu_P1462通往奧格瑞瑪的道路
看到最大的最小值應該想到二分答案,這樣就解決了最小點權的問題,判血量就很好說,直接比較就行, 一個點是二分點權數組,複製一份然後排序,二分下標,速度較快 這麼簡單的題我竟然寫了這麼長時間 #inclu ...
- Ubuntu下安装webstorm
需要下载 WebStorm和 JDK # tar xvf WebStorm-10.0.1.tar.gz # tar xvf jdk-8u20-linux-x64.tar.gz 配置 /etc/prof ...
- python 基础(十三) time模块
日期和时间 一.time模块 import time 时间戳: 时间戳是指格林威治时间1970年1月1日0时0分0秒至现在的秒数 s(秒).ms(毫秒).μs(微秒).ns(纳秒), 其中:1 ...