文档章节

论文阅读:“快把卷积神经网络中的平移不变性带回来” - 知乎

o
 osc_r9yyhhqz
发布于 07/08 08:54
字数 923
阅读 54
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

老规矩,文章以我自己的Blog的最新版为准。

论文阅读:“快把卷积神经网络中的平移不变性带回来”blog.tsingjyujing.com图标

简介

这篇博客主要是我读论文Making Convolutional Networks Shift-Invariant Again的读书笔记,夹杂了自己直白和幼稚的理解。因为我相信所有的创意无论最后的结果多么复杂,最初的想法一定都是直观的。

卷积

其实说清楚这件事情,我们需要从卷积开始。 其实卷积(或者说滤波吧,两者差个卷积核的Flip,这里姑且混为一谈)操作本身是一个平移两个信号并且积分的操作,从定义本身就是可以做到平移不变的。 真正让卷积做不到平移不变的,是MaxPool。

计算资源的制约让我们一定要做Pool操作(准确的说是降采样),但是降采样的时候一定会丢失信息,例如步长为2的降采样就是丢掉一半的信息?

如果仅仅是丢掉一半的信息似乎还没有这么严重,因为图片中一些纹理的信息本身就是冗余的,丢了一半,还有一半,问题不大。

但是事实上是,我只是给图片稍稍平移了一下,我的模型就尼玛疯了。





邪恶的MaxPool

其实AvgPool都没有这个问题,为啥偏偏MaxPool有?既然有问题,为啥我们还偏偏要用MaxPool?



可以看到,仅仅是平移了一个像素,MaxPool的结果就有可能完全不同。

既然MaxPool这么不好,我们为什么还要用呢?因为我们需要。举个简单的例子:



我们需要的是这张图片分类,那么应该返回的是1(有猫),而不是猫占图片的面积比例。

一个频域上的解释是:MaxPool倾向于保留中高频信息,而网络的卷积核中,大多数是提取中高频信息的, 我尝试提取了VGG和MobileNet的部分卷积核,并且绘制了傅立叶变换以后的结果(仅保留幅度)。

解决方案

那我么你怎么解决这个问题呢?



作者提出了,MaxPool可以看成Max+Pool(subsample)的组合,我在中间插入一个Blur Kernel(我感觉长得有点像高斯核)可以有效的抑制这个情况的发生。

从测试结果可以看出,加了Blur核的MaxPool情绪稳定多了:



而且最神奇的是,按照道理说,这样的处理可以增强平移不变性,但是会损失精度。 但是测试的结果居然是:精度也提升了。


Hack

作者测试了MaxPool和MaxBlurPool在不同的层的情况,可以看到,随着层数变深,平移引起的变化越发严重,而使用了MaxBlurPool以后,虽然不能完全消除印象,但是能减轻很多了。


作者的改动是,MaxPool的中间加入了一个Blur Kernel,而卷积的另外一个解释,则是加权平均。我们可以理解为,Max之后,在做了一个加权平均(Weighted-Avg)之后再做Pool。 我个人对此的理解是:我们需要高频数据,但是不需要那么高频的数据也可以。所以可以作出一个介于AvgPool和MaxPool之间的Pool来,在这个上面作出的模型,效果要好于单纯的使用MaxPool。

参考

o
粉丝 0
博文 69
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.7K
8
SQLServer实现split分割字符串到列

网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题。 先贴上某大牛写的s...

cwalet
2014/05/21
9.7K
0
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
8K
8
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.3K
1

没有更多内容

加载失败,请刷新页面

加载更多

【实用技巧】MAC苹果电脑怎么远程?

一般电脑远程包括三方面: 1、如果从外部windows或者linux终端连接到mac苹果电脑; 2、从苹果电脑内如何远程外面的windows、linux和mac等; 3、苹果和安卓手机怎么远程连接苹果/Windows电脑。...

osc_doeya1ck
10分钟前
0
0
虚拟主机和VPS主机有哪些不同点呢

虚拟主机是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。vps主机是将一台服务器分割成多个虚拟专享服务器的服务。实现VPS的技术分为容器技术和虚拟机技术...

osc_b88oux8w
11分钟前
0
0
合理的使用MySQL乐观锁与悲观锁

针对 MySQL的乐观锁与悲观锁的使用,基本都是按照业务场景针对性使用的。针对每个业务场景,对应的使用锁。 但是两种锁无非都是解决并发所产生的问题。下面我们来看看如何合理的使用乐观锁与...

php开源社区
12分钟前
0
0
fusionpbx 中文 汉化

  自己以前有从事过呼叫中心的工作经验,然而由于自己是从事后端开发,对于前端界面的开发还是有些吃力,但是自己却又想自己搭建一套呼叫中心,所以购买了一台云服务器并克隆了FusionPBX的...

osc_ydeb2o99
13分钟前
7
0
关于大O表示法和小O表示法

上节课老师讲了一下各种表示法,当时没咋听懂,后来查了一些资料弄懂了,记录一下。 主要是从维基百科上看的。http://en.wikipedia.org/wiki/Big_O_notation 大O表示法: f(x) = O(g(x)) 表示...

osc_3mzamgkq
14分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部