deep learning中的pooling是什么意思?

  统计/机器学习 深度学习 人工神经网络    浏览次数:7237        分享
4

一些neural net里有所谓的pooling layer,请问这里的pooling是什么意思?

谢谢!


 

ZackLi   2017-09-12 07:50



   6个回答 
12

pooling中文叫做池化,常用的pooling方法有最大值法和均值法。

pooling的作用就是对图片中的每个小块(而不是每个点)提取信息。


比如有个4 x 4的矩阵,

如果我们用2 x 2的max pooling,也就是对上面原矩阵中2 x 2的小分块矩阵求最大值,就可以得到如下结果。

如果我们用2 x 2的average pooling,也就是对上面原矩阵中2 x 2的小分块矩阵求均值,就可以得到如下结果。


SofaSofa数据科学社区DS面试题库 DS面经

染盘   2017-10-27 08:36

7

池化实际上是使图片变小来突出特征,节省运算量。

比如2X2池化是把相邻4个点变成一个点,怎么处理呢?

上面说的比较清楚了,一般取最大值,或者平均值。

CNN就是为了图像处理设置的,图像中我们进行池化并不会对图像造成很大损失。

SofaSofa数据科学社区DS面试题库 DS面经

年轻人   2017-11-20 12:24

如果是用CNN做nlp文本的话,还需要pooling吗 - TheOne   2017-12-04 15:22
如果用cnn做nlp的问题,那也是需要pooling的 - 染盘   2017-12-05 09:57
5

手册里有

池化

SofaSofa数据科学社区DS面试题库 DS面经

数据科学小K   2018-09-24 09:58

4

pooling是池化的意思,一般在神经网络中有常见的两种池化方式

池化层

在通过卷积层获得输入的特征时,我们需要做的利用这么特征继续做分类运算。但是针对多个卷积核下的输出特征,依旧会面临着超庞大的参数运算,为了解决这个问题,我们依旧需要减少参数量。在使用卷积层时,是因为卷积运算可以有效的从输入中提取特征,我们可以对特征做再统计。这一再统计既要能够反映原输入的特征,又要能够降低数据量,我们很自然的想到了取平均值、最大值。这也是池化操作。


池化层原理

从CNN的总体结构上来看,在卷积层之间往往会加入一个池化层(pooling layer).池化层可以非常有效地缩小图片的尺寸。从而减少最后全连接层的参数,在加快计算速度的同时也防止了过拟合的产生。

池化层前向传播过程类似于卷积层的操作一样,也是通过移动一个类似滤波器的结构完成的,不同于卷积层的是,池化层的滤波器计算不是加权求和,而且求区域内的极大值或者平均值。 

一 使用最多的是最大值操作的池化层,又称最大池化层(max pooling),计算图像区域内最大值,提取纹理效果较好.