deep learning中的pooling是什么意思?

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

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

谢谢!


 

ZackLi   2017-09-12 07:50



   6个回答 
13

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),计算图像区域内最大值,提取纹理效果较好. 


二  使用平均值操作的池化层,又称平均池化层(mean pooling),计算图像区域的平均值,保留背景更好  



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

evan   2018-09-27 21:05

2

以图片的二维pooling为例,它是用于降低二维向量的维度。常用的pooling方法有max pooling, average pooling等。以2乘2的max pooling为例,它就是仅仅保留每个2乘2的窗口中数值最大的那个元素。

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

machine learner   2017-09-15 04:33

1

max pooling可以看做是2x2的非线性filtering(取max)再1/2下采样(down sample),用于提取一个2x2块的信息。最主要目的是

1.在空间上减小数据量,减少计算量

2加入空间平移不变性,减少过拟合。平移小于1个像素,不影响结果。

pooling只能用在Image/Region classification这类以区域为单位的任务。对于以像素为单位的任务(regression / restoration/ deconvolution)最好不用pool,因为在空间上的信息被压缩(down sample)后很难恢复,或者是能靠训练数据得到先验知识中去猜。

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

Zealing   2018-10-02 02:57



  相关讨论

神经网络中的dense和sparse是什么意思?

训练神经网络中经常提到的epoch是什么意思

关于神经网络的性能

反向传播和梯度算法概念???反向传播是指反向传播算法,还是反向传播算法中的一个过程?

请问深度学习算法中的梯度消失的原理是什么?如何能通俗理解

epoch和batch之间有什么关系?

深度学习和人工神经网络是一回事吗?

前馈神经网络如何选择隐藏层的数量

wide-deep模型里的wide和deep分别是指什么意思?

神经网络里为什么隐藏层越多越好?

  随便看看

pandas DataFrame中经常出现SettingWithCopyWarning

keras里sparse_categorical_crossentropy和categorical_crossentropy什么不同?

怎么给plt.subplot加一个主标题?

roc auc小于0.5是什么情况?

dataframe每行或者每列中缺失值(na, nan, null)的个数