赞
踩
在图像处理中,由于图像中存在较多冗余信息,可用某一区域子块的统计信息(如最大值或均值等)来刻画该区域中所有像素点呈现的空间分布模式,以替代区域子块中所有像素点取值,这就是卷积神经网络中池化(pooling)操作。
池化操作对卷积结果特征图进行约减,实现了下采样,同时保留了特征图中主要信息。比如:当识别一张图像是否是人脸时,我们需要知道人脸左边有一只眼睛,右边也有一只眼睛,而不需要知道眼睛的精确位置,这时候通过池化某一片区域的像素点来得到总体统计特征会显得很有用。
池化的几种常见方法包括:平均池化、最大池化、K-max池化。
1、当输入数据做出少量平移时,经过池化后的大多数输出还能保持不变,因此,池化对微小的位置变化具有鲁棒性。例如下图中,输入矩阵向右平移一个像素值,使用最大池化后,结果与平移前依旧能保持不变。
2、由于池化之后特征图会变小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。
int输入即接收一个int类型的数字n,对图片的四周包裹n行n列的0来填充图片。如果要保持图片尺寸不变,n的值和池化窗口的大小是有关的。假如 H i n 、 W i n H_{in}、W_{in} Hin、Win 为图片输入的大小, k h , k w k_h, k_w kh,kw 为池化窗口的大小, H o u t , H o u t H_{out}, H_{out} Hout,Hout 为结果图的大小的话,他们之间有着这样的关系。 H o u t = H i n + 2 p h − k h s h + 1 W o u t = W o u t + 2 p w − k w s w + 1 H_{out} = \frac{H_{in} + 2p_h - k_h}{s_h} + 1 \ W_{out} = \frac{W_{out} + 2p_w -k_w}{s_w} + 1 Hout=shHin+2ph−kh+1 Wout=swWout+2pw−kw+1 在使用3×3的池化窗口且步长为1的情况下,还要保持图片大小不变,则需要使用padding=1的填充。 那么,公式就变为了 H o u t = 6 − 3 + 21 1 + 1 W o u t = 6 − 3 + 21 1 + 1 H_{out} = \frac{6 - 3 + 21}{1} + 1 \ W_{out} = \frac{6 - 3 + 21}{1} + 1 Hout=16−3+21+1 Wout=16−3+21+1 另外,在stride不为1且不能被整除的情况下,整体结果向下取整。 关于Padding和K的公式如下 P a d d i n g = ( k − 1 ) 2 ( k % 2 ! = 0 ) Padding = \frac{(k-1)}{2} \quad \quad (k\%2 != 0) Padding=2(k−1)(k%2!=0)这是池化中不padding,stride为1的结果,可以根据公式填入, H o u t = W o u t = ( 6 + 0 − 3 ) + 1 = 4 H_{out} = W_{out} = (6 + 0 - 3) + 1 = 4 Hout=Wout=(6+0−3)+1=4,因此池化后的结果为4。如果填充呢?
正如我们上面的公式, H o u t = W o u t = ( 6 + 2 − 3 ) + 1 = 6 H_{out} = W_{out} = (6 + 2 - 3) + 1 = 6 Hout=Wout=(6+2−3)+1=6, 填充为1的时候图像保持为原大小。
因为图像有宽和高,所以list和tuple的长度应该为2,里面的两个值分别对应了高和宽,计算方式和上面int输入的一样,单独计算。一般用作输入图片宽高不一致,或者池化窗口大小不一的情况。
string输入有两个值,一个是SAME,一个是VALID。这两个的计算公式如下:
SAME: H o u t = ⌈ H i n s h ⌉ H_{out} = \lceil \frac{H_{in}}{s_h} \rceil Hout=⌈shHin⌉, W o u t = ⌈ W i n s w ⌉ W_{out} = \lceil\frac{W_{in}}{s_w}\rceil Wout=⌈swWin⌉
VALID: H o u t = H i n − k h s h + 1 H_{out} = \frac{H_{in} - k_h}{s_h} + 1 Hout=shHin−kh+1, W o u t = W i n − k w s w + 1 W_{out} = \frac{W_{in} - k_w}{s_w} + 1 Wout=swWin−kw+1
可以看到,VALID方式就是默认采用的不填充的方式,与上面不Padding的公式一样。而SAME则与池化窗口的大小无关,若 s h s_h sh和 s w s_w sw为1,无论池化窗口的大小,输出的特征图的大小都与原图保持一致。当任意一个大于1时,如果能整除,输出的尺寸就是整除的结果,如果不能整除,则通过padding的方式继续向上取整。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。