37、池化与卷积的区别

池化(Pooling)和卷积(Convolution)在某些情况下非常相似,但又有不少区别。其中一个比较大的区别在于两者虽然都有一个核函数,但是卷积核和池化核却相差很多,两者的作用也有很大的差别。

下面分析两者的区别,便于理解两者算法上的差异。

计算不同

对卷积运算而言,卷积核在输入数据上滑动,将每次滑动时的局部区域与卷积核进行卷积操作(也就是乘累加计算),从而生成输出特征图。

而对池化而言,也是一个池化核在数据上滑动,但他不是将池化核与局部区域进行某些运算,池化核所起到的作用,仅仅是框出一个池化区域,仅此而已,根据是最大池化和平均池化来计算框出的池化区域的最大值或者平均值。

参数不同

虽然都是核函数,但是卷积核中的参数是可学习的,在对模型进行训练时,通过反向传播算法来调整这些参数,使得网络能够学到数据中的特征。

扫描二维码关注公众号,回复: 17197808 查看本文章

而池化操作中的核函数是没有参数的,也就说,它仅仅是一个2x2 或者3x3的池化范围,也就不存在在训练过程中学习池化参数。因此,池化操作的结果就是对输入数据进行降维,减小空间尺寸。

两者在算法上还有一个最明显的地方在于,池化操作时仅仅有一个输入,也就是输入tensor,但是卷积操作至少有两个输入,一个是输入tensor,另一个是卷积核。

因为池化核的作用仅仅是用来标记出一个池化范围,并且核函数中也没有需要学习的参数,因此池化核不需要作为一个输入tensor来对待,反而仅仅当做池化的一个参数来对待即可,和padding、stride这种参数一样。

因此,池化不存在通道间的累加操作,各通道间是独立的,这与卷积大不一样。

猜你喜欢

转载自blog.csdn.net/dongtuoc/article/details/135025311