池化层(Pooling layer)同样是收到了视觉神经科学的启发。在初级视觉皮层V1(Primary visual cortex)中,包含了许多复杂细胞(Complex cells),这些细胞对于图像中物体微小的变化具有不变性(invariance to small shifts and distortions). 这种不变性也是Pooling layer的核心,我们首先来看Pooling layer如何工作,然后具体分析这种不变性。

我们举例说明Pooling layer的工作过程,在下图中的Max pooling操作中,其filter大小是2x2,stride是2,padding是0

根据CNN(4)中的公式:

我们可以得出pooling后的feature map是2x2的。

在开头提到的不变性(invariance),包含三个方面,即位移(translation),旋转(rotation)及缩放(scale)。首先来看位移:

再看旋转(rotation):

再来看缩放(Scale):

我们可以得出结论如下:

首先,pooling layer使得CNN拥有了一定的识别失真后的pattern的功能,增加了神经网络的generalization,降低了overfitting。

第二,很明显的,因为池化后的feature map变小,数据在保留主要特征的情况下,降维了。

附注:我从下面这篇知乎文章获得的启发很大,表示感谢。

https://www.zhihu.com/question/36686900

Convolutional Neural Networks(5):Pooling Layer的更多相关文章

  1. [转] Understanding Convolutional Neural Networks for NLP

    http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/ 讲CNN以及其在NLP的应用,非常 ...

  2. Understanding Convolutional Neural Networks for NLP

    When we hear about Convolutional Neural Network (CNNs), we typically think of Computer Vision. CNNs ...

  3. [C6] Andrew Ng - Convolutional Neural Networks

    About this Course This course will teach you how to build convolutional neural networks and apply it ...

  4. 卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现

    零.说明: 本文的所有代码均可在 DML 找到,欢迎点星星. 注.CNN的这份代码非常慢,基本上没有实际使用的可能,所以我只是发出来,代表我还是实践过而已 一.引入: CNN这个模型实在是有些年份了, ...

  5. A Beginner's Guide To Understanding Convolutional Neural Networks(转)

    A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural ...

  6. (转)A Beginner's Guide To Understanding Convolutional Neural Networks Part 2

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...

  7. (转)A Beginner's Guide To Understanding Convolutional Neural Networks

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...

  8. 卷积神经网络Convolutional Neural Networks

    Convolutional Neural Networks NOTE: This tutorial is intended for advanced users of TensorFlow and a ...

  9. 深度卷积神经网络用于图像缩放Image Scaling using Deep Convolutional Neural Networks

    This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning base ...

随机推荐

  1. 小白学Python(12)——pyecharts ,生成词云图 WordCloud

    WordCloud(词云图) from pyecharts import options as opts from pyecharts.charts import Page, WordCloud fr ...

  2. Kotlin学习(2)函数

    函数声明: fun plus(a:Int,b:String):Boolean{ //fun 函数名(参数名:参数类型,参数名:参数类型):返回值类型 println(a) return true // ...

  3. Cocos2d-x的Android配置以及相关參考文档

    版权声明:版权声明:本文为博主原创文章.转载请附上博文链接! https://blog.csdn.net/ccf19881030/article/details/24141181     关于Win7 ...

  4. nginx入门(一)

    什么是nginx? nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5 ...

  5. java 进销存管理 商户管理 库存管理 springmvc SSM 项目源码

    统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM 普 ...

  6. 2018-9-1-win10-17025-触摸bug

    title author date CreateTime categories win10 17025 触摸bug lindexi 2018-09-01 09:50:18 +0800 2018-2-1 ...

  7. iOS10、Chrome、微信7.0无法定位

    问题 ​ 在做一个项目的时候,需要使用高德地图进行定位,测试的时候没有问题,在微信中打开的时候,无法进行定位,进过查询资料,得知微信升级7.0做了安全限制,然后使用http的定位不能正常使用,有这种限 ...

  8. Final修饰的字段是否可以通过反射设置值

    案发现场 经常听说final修饰的字段是常量不能改变的他的值,但是以外发现 Integer.java源码中的字段“value”是final,但是可以通过反射改变他的值. public final cl ...

  9. java 小数精确计算

    小数精确计算 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数.问题在于1.1这个数字不能被精确 ...

  10. yield与gen.coroutine

    def d(): for i in range(2): yield i def b(): yield d() print("b") yield "bb" def ...