是因为目前计算机算力不够吗?


1) 池化层可以减少feature map的尺寸, 进而减少计算量. 当然stride大于1的卷积层也可以减少feature map的尺寸.

2) 池化层可以增加感受野. 不过卷积核尺寸大于1的卷积层同样也可以增加感受野.

3) 池化层可以带来特征的平移, 旋转等不变性.

4) (最大值等)池化层一般是非线性操作, 可以增强网路的表达能力. 激活层一般也是非线性的.

从1), 2), 4) 来看, 池化层在CNN中并不是必须的. 至于 3) 有没有其他层也可以实现, 并替代池化层, 则不好说.


1.提特征

2.提高模型的非线性

3.减少计算量(特征图变小了)


我觉得,使用池化层的原因主要是:1、减少大量的计算量。2、引入空间过滤器的层级结构,从而让连续卷积层的观察窗口变大,这样可以更加充分地获得信息。


池化层一方面是为了减少特征图的解析度,减少大量的计算量。另一方面平均池化和最大池化也能提取到一定的特征,这跟传统图像处理有一定关系。不过现在大部分使用stride=2的卷积来减少解析度,只有最后到全连接层前才使用一层全局池化


max pooling扩大感受野,增加非线性提高模型表达能力,但同时会导致特征丢失平移不变性


池化层进行的是下采样操作。主要是进行特征提取工作,使数据特征更加明显。同时也减少了计算量。


1.池化可以降低参数量。

2.池化(max-pooling、avg-pooling)可以一定程度做到旋转不变、仿射不变。

3.有池化操作,确实效果不错。

4.池化不是必须的,用stride替代pooling也是一个趋势。


实际上池化层也能加大感受域,有一定的仿射不变性。


一方面是池化层可以降低参数量,我觉得更重要的是可以获得高层次特征。


减少计算量,降低维度,提取更多有用的特征


为了增加感受野,不然基本维持不变


空域上稀疏

识别,分类等任务确实很有用

但你在生成模型引入,模型立马崩掉

还有relu的的作用也一样,引入稀疏,毕竟又不是生成得将各种信息都转换

去掉与识别无关的噪音,节省算力,并允许网路冗余更多识别相关的特征


对特征图降采样,提升计算速度


推荐阅读:
相关文章