前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shift-Invariant论文笔记

Shift-Invariant论文笔记

作者头像
努力努力再努力F
发布2019-07-01 18:12:45
1.4K0
发布2019-07-01 18:12:45
举报
文章被收录于专栏:fangyangcoderfangyangcoder
  • 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的提出并表现出很大的性能,就用得不多了,通常认为模糊下采样和最大池化是相互竞争的方法,作者则展示了将两者有效地结合起来,作者把最大池化看为两步,如下所示:

1561447396174
1561447396174

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

1561447552262
1561447552262

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

1561447756701
1561447756701

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

1561448431170
1561448431170

原信号是\([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]\),它们之间的距离更近,中间信号的表示也更好。

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

1561449356729
1561449356729

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

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

1561450234396
1561450234396

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

更多结果:

1561450685174
1561450685174

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ICML 2019
    • Making Convolutional Networks Shift-Invariant Again
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档