在卷积神经网络中,卷积层和池化层有何区别?

16

池化可以看作是卷积,无论它是最大值/平均值,对吗?

区别在于卷积有参数进行优化,但池化没有,对吗?例如,池化中的过滤器权重在学习过程中不会改变。

我还想知道卷积和池化的目的有什么区别。

我们为什么要使用每个图层?如果我们不使用每个图层会发生什么?

3个回答

19

卷积层

卷积层通过使用感受野在输入区域中检测(多个)模式以及多个子区域的模式。

池化层

池化层逐渐降低表示的空间大小,减少网络中的参数和计算量,并控制过拟合。这种直觉基于一个特征的确切位置相对于其他特征的粗略位置不那么重要。

此外,你说'weights that filter in pooling has are not changed during learning',但是并不总是需要权重。例如,在MAX_POOLING层中,不需要权重:

enter image description here


谢谢。我懂了! - hrsma2i

11
一个卷积层拥有需要学习的参数(也就是每步更新的权重),而池化层则没有,它只是应用某个给定函数,比如最大值函数。

4
区别可以概括为(1)如何计算它们和(2)用于什么。
1. 如何计算它们: 例如,考虑一个输入数据是一个矩阵(5x5) - 想象一个5x5像素的图像。池化层和卷积层是应用于每个输入像素的操作。让我们取中心像素(为避免讨论角落发生的情况,稍后详细介绍),并为池化层和卷积层定义一个(3x3)的“核”。
- 池化层: 将池化核叠加在输入像素上,在图中将蓝色矩阵的中心放在黑色X_00上,并取最大值。 - 卷积层: 将卷积核叠加在输入像素上,在图中将橙色矩阵的中心放在黑色X_00上,然后按图中所示进行元素乘法,再求和。
卷积系数F_..从哪里获取? 它们是在训练网络时学习的。对于maxpooling,您不需要学习任何内容,只需取最大值即可。您可以认为maxpooling类似于卷积,但具有固定系数,而不是求和,而是取最大值。
对于每个输入元素执行此操作。在输入图像的角落发生了什么取决于您的选择:丢弃边/角处的输入元素,填充等。您也不能连续移动,逐像素,跳跃等...
2. 用于什么: maxpooling减小了输入的大小,并执行了一定程度的数据概括,同时还提供了一些平移变换不变性(例如,如果对象向左右、上下移动)。卷积,根据过滤器系数的条件(例如,一列必须为负,而其他为正),可以被看作是允许提取一些模式的过滤器,例如垂直线、水平线等。
图片链接:input image, max_pool_kernel, conv_kernel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接