https://www.toutiao.com/a6694763453334159880/

这是专栏《AI初识境》的第8篇文章。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。

今天来说说深度学习中的池化问题,包含池化的种类,作用机制以及最新的思考。

作者&编辑 | 言有三

1 池化还要不要了

这一次咱们反着来,说说学术界对池化的最新观点。通常我们认为,池化可以增加网络对于平移的不变性,对于网络的泛化能力的提升是非常关键的。不过,到底能起到多大的正向作用,却是被很多人怀疑的。

首先是Hinton,还记得Hinton提出的Capsule Module吧。他认为池化的使用就是一个大错误,而它有效又反而是一个大灾难。池化固然可以提供一些平移和旋转不变性,但是也破坏了图像中的姿态和空间等信息,对检测分割等高级任务有影响,所以才提出胶囊网络(CapsuleNetwork)。至于这个发展的怎么样了,笔者没有关注,但是从大佬敢于革自己的“本命”这一点,就说明这个问题确实有点严重。

Hinton虽然指出了pooling的坏影响,但是无法否定其好处,那么池化是不是真的能够提升网络的泛化能力呢?

首先站出来好好回答这个问题的是斯坦福大学Eric Kauderer-Abrams的研究【1】,它们通过一个平移敏感图来进行研究。

这个平移敏感图长下面这样,它评估的就是一个网络的输出对于输入的平移的敏感度。

上面这个图是这么算的,首先用原图计算预测特征分数,然后用平移过的图计算预测特征分数,最后计算两者的归一化分数,越亮说明越相关。x和y分别就是偏移量,可以看到x,y都接近0的时候越亮,说明越相关,然后就随着距离的增强而降低。

这就是说平移越大之后,对性能的影响越大,毕竟一个网络不可能拥有完全的平移不变性。

在这个基础上,他们就做实验了,结果如下,c表示卷积,p表示pooling,aug表示数据增强,所以这里就是比较pooling和aug对性能的影响,结果表明池化不池化的,好像没有什么用,而数据增强做不做得好,才是关键。结果说明CNN本身没什么平移不变性,是靠数据学来的。

上面做了实验,但是没有更深层次地分析,为什么池化就没有用了呢,这可是违反我们的常识的。

DeepMind的研究【2】给出了一个比较有说服力的解答,实验的设置差不多,使用非池化和各种池化的网络结构。

总之结论就是:看上面的4个图。(a) 刚开始的时候池化确实有利于提高抗变形能力。(b) 不管池化不池化,模型最后学习完都能获得同样的抗变形能力。(c) 初始化的时候不同的池化方法是有差异的。(d) 学习完之后不管什么池化方法效果都差不多。

那总得有个理由吧?他们给出的理由是卷积核本身参数越平滑才越能提高对平移的稳定性,文中在卷积操作后面串接平滑操作,实验对比如下。

这也没毛病对吧,卷积核都平滑了,当然就没有那么敏感了。

暂且先总结一下吧:池化什么的不重要了,搞数据增强才是正道。

2 什么是池化

上面都这么说了,接下来说池化略有点尴尬,但是作为知识体系的重要一环,还是有必要讲述。

pooling,小名池化,思想来自于视觉机制,是对信息进行抽象的过程。

上图就是一个池化的示意图,用了一个10*10的卷积核,对20*20的图像分块不重叠的进行了池化,池化之后featuremap为2*2的大小。

pooling有什么用呢?或者说为什么需要pooling呢?原因有几个:

1、增大感受野

所谓感受野,即一个像素对应回原图的区域大小,假如没有pooling,一个3*3,步长为1的卷积,那么输出的一个像素的感受野就是3*3的区域,再加一个stride=1的3*3卷积,则感受野为5*5。

假如我们在每一个卷积中间加上3*3的pooling呢?很明显感受野迅速增大,这就是pooling的一大用处。感受野的增加对于模型的能力的提升是必要的,正所谓“一叶障目则不见泰山也”。

2、平移不变性

我们希望目标的些许位置的移动,能得到相同的结果。因为pooling不断地抽象了区域的特征而不关心位置,所以pooling一定程度上增加了平移不变性。

3、降低优化难度和参数

我们可以用步长大于1的卷积来替代池化,但是池化每个特征通道单独做降采样,与基于卷积的降采样相比,不需要参数,更容易优化。全局池化更是可以大大降低模型的参数量和优化工作量。

3 池化方法有哪些

1、平均池化和最大池化

这是我们最熟悉的,通常认为如果选取区域均值(mean pooling),往往能保留整体数据的特征,较好的突出背景信息;如果选取区域最大值(max pooling),则能更好保留纹理特征。

2、stochastic pooling/mixed pooling

stochastic pooling对feature map中的元素按照其概率值大小随机选择,元素被选中的概率与其数值大小正相关,这就是一种正则化的操作了。mixed pooling就是在max/average pooling中进行随机选择。

3、Data Driven/Detail-Preserving Pooling

上面的这些方法都是手动设计,而现在深度学习各个领域其实都是往自动化的方向发展。

我们前面也说过,从激活函数到归一化都开始研究数据驱动的方案,池化也是如此,每一张图片都可以学习到最适合自己的池化方式。

此外还有一些变种如weighted max pooling,Lp pooling,generalization max pooling就不再提了,还有global pooling。

4 总结

带步长的卷积虽然不需要池化,却没有了灵活的激活机制。平均池化稳扎稳打,却丢失了细节。最大池化克服了平均池化的缺点,却打断了梯度回传。

最终发现,池化也还是要学的好,所谓随机应变,盖莫如此。另外,如何选择好用于池化的区域,也是一门学问。

参考文献

[1] Kaudererabrams E. Quantifying Translation-Invariance in Convolutional Neural Networks.[J]. arXiv: Computer Vision and Pattern Recognition, 2018.

[2] Ruderman A, Rabinowitz N C, Morcos A S, et al. Pooling is neither necessary nor sufficient for appropriate deformation stability in CNNs[J]. arXiv: Computer Vision and Pattern Recognition, 2018.

「AI初识境」被Hinton,DeepMind和斯坦福嫌弃的池化到底是什么?相关推荐

  1. 【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?​​​​​​​

    文章首发于微信公众号<有三AI> [AI初识境]被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么? 这是专栏<AI初识境>的第8篇文章.所谓初识,就是对相关技术有 ...

  2. 「AI初识境」近20年深度学习在图像领域的重要进展节点

    https://www.toutiao.com/i6694432730714735117/ 这是专栏<AI初识境>的第3篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

  3. 【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

    这是专栏<AI初识境>的第8篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. 今天来说说深度学习中的池化问题,包含池化的种类,作用机制以及最新的思考. 作者&编辑 ...

  4. 「AI初识境」为了围剿SGD大家这些年想过的那十几招

    https://www.toutiao.com/i6694762854970556935/ 这是<AI初识境>第7篇,这次我们说说常用的优化算法.所谓初识,就是对相关技术有基本了解,掌握了 ...

  5. 「AI初识境」什么是深度学习成功的开始?参数初始化

    https://www.toutiao.com/a6694435439375286797/ 这是<AI初识境>第5篇,这次我们说说初始化.所谓初识,就是对相关技术有基本了解,掌握了基本的使 ...

  6. 「AI初识境」从头理解神经网络-内行与外行的分水岭

    https://www.toutiao.com/i6694431849566962184/ 这是专栏<AI初识境>的第2篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

  7. 「AI初识境」深度学习模型中的Normalization,你懂了多少?

    https://www.toutiao.com/a6694436118189834765/ 这是<AI初识境>第6篇,这次我们说说Normalization.所谓初识,就是对相关技术有基本 ...

  8. 「AI初识境」激活函数:从人工设计到自动搜索

    https://www.toutiao.com/a6694433329048977927/ 这是专栏<AI初识境>的第4篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

  9. 「AI初识境」深度学习中常用的损失函数有哪些?

    https://www.toutiao.com/a6695152940425937411/ 这是专栏<AI初识境>的第11篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法. ...

最新文章

  1. KNN分类器、最近邻分类、KD树、KNN分类的最佳K值、基于半径的最近邻分类器、KNN多分类、KNN多标签分类、KNN多输出分类、KNN分类的优缺点
  2. Linux下SENDMAIL+OPENWEBMAIL(2)
  3. 如何开启/关闭SMTP路由调试
  4. 腾讯视频app怎么允许腾讯视频访问位置信息
  5. 2016中国国际大数据大会邀请函
  6. Composer帮你轻松管理PHP包 autoload
  7. 跨年了,来玩儿个Database Crossword Puzzle吧!
  8. python三天简单学习Day2
  9. Office 2010 安装程序包的语言不受系统支持
  10. 计算机网络:非持久HTTP连接 VS 持久性HTTP 连接
  11. 【IoT】从马斯克造火箭到产品开发,快速失败很重要
  12. FZU-2268 Cutting Game
  13. 阿里移动安全陈树华:安全的最高境界是无感知
  14. js-4 代理Proxy,object原型链, prototype, 继承,
  15. RAAVPPSPSLSRHSSPHQSEDEEE
  16. 【微信小程序】WXS 脚本
  17. 2021-2027全球与中国电子礼品卡市场现状及未来发展趋势
  18. React 高阶组件示例
  19. 微信小程序详解 php,微信小程序列表开发详解
  20. [18调剂]复旦大学2018年软件工程专业学位(非全日制)硕士研究生校内调剂细则...

热门文章

  1. 保存Java程序状态及设置Properties文件
  2. 微软亚洲研究院副院长刘铁岩:以计算之矛攻新冠之盾
  3. Hinton:我终于想明白大脑怎么工作了!神经学家花三十年,寻找反向传播的生物机制...
  4. 免费开放!清华、智源、协和联合开发乳腺癌AI诊断工具,可预测分子亚型,准确率高达76%...
  5. SQL——以面向集合的思维方式来思考
  6. 加权平均融合消除图像拼接的拼缝(Python 代码)
  7. 抓取了1400家科技公司的招聘信息,我发现数据工程师比数据科学家更有市场
  8. 外卖平台涉嫌大数据杀熟,处理不能“自说自话”
  9. 独家 | 基于数据预测的解释真的能增加用户对人工智能的信任吗?(附链接)...
  10. 独家 | 用于数据清理的顶级R包(附资源)