本文主要是介绍Pooling layers,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
整理并翻译自吴恩达深度学习系列视频:卷积神经网络1.9
Pooling layers
Other than convolutional layers, ConvNets often use pooling layers to reduce the size of their representation to speed up computation, as well as to make some of the features it detects a bot more robust.
与卷积层不同,卷积网络通常使用池化层去减小其(图像)表示以加速计算,同时使其检测出的特征更加健壮。
这是一个最大池化的例子,使用2X2的filter在4X4block上做最大池化(即取最大值)。注意我们不仅选取 f = 2 f=2 f=2,也取了stride s = 2 s=2 s=2,因此我们最后得到了一个2X2的block,按颜色对应如上图。
计算output维度变为:
⌊ n + 2 p − f s + 1 ⌋ \lfloor \frac{n+2p-f}{s}+1\rfloor ⌊sn+2p−f+1⌋
Average Pooling
平均池化很少使用,是在filter框起来的部分里取均值。一般用来坍缩你的图像表示。
Parameters
池化层使用的hyperparameter f f f和 s s s,都不需要通过反向传播来学习,你或许是自己手动设置的,或许是通过cross-validation来设置的。它是一个固定的函数(it’s just a fixed function)。
这篇关于Pooling layers的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!