不懂,看着很高大上的样子就转了。
【为什么VGG、resnet等都是用max_pooling而不是mean_pooling?】
为什么VGG、resnet等都是用max_pooling而不是mean_pooling?
很荣幸可以用上所学知识,回答一个这样的问题。
max pooling
正向传播的时候,会在获取的子区域中,选择最大的一个作为映射结果
反向传播的时候,会将梯度反应到原先最大的位置,其余为0
average pooling 也叫mean pooling
正向传播的时候,会将获取的子区域中的值进行平均作为映射结果
反向传播的时候,会将梯度反应到所有的位置上
为什么使用max pooling
首先ResNet不是只用max_pooling,在最后的阶段也会使用average pooling,但是在identit block中,池化层都是用的max pooling.
正如AndrewNg老师所说
元素值较大可能意味着池化过程之前的卷积过程提取到了某些特定的特征,池化过程中的最大化操作使得只要在一个区域内提取到某个特征,它都会保留在最大池化的输出中。
我个人的理解是,max pooling因为只取最大的,所以,在边缘交界处,会锐化图像边缘,而average pooling因为要做平均,所以会模糊图像边缘。但是这些并没有正确的理论解释。
与其说ResNet使用max pooling不如说,max pooling的实验效果比average pooling更好,所以才采用max pooling。
转载请注明:徐自远的乱七八糟小站 » 【为什么VGG、resnet等都是用max_pooling而不是mean_pooling?】