1.4 Padding
(1)卷积过程中存在的两个问题:
- 随着网络层数的加深,Feature map变得越来越小;
- 边缘像素值参与到卷积运算的次数少,边缘信息可能被忽略。例如,对于下面图中的卷积操作(步长为1),输入图像左上角第一个像素值,只会参与1次卷积运算;而第3行第3列的像素值,会参与9次运算。
(2)两种卷积操作:
- Valid:指常规的卷积操作,不对输入图像进行Pading,输出的feature map大小根据公式n-f+1(步长为1)计算得到。
- Same:指卷积后输出的feature map大小与输入一致,需要进行Padding达到该目的。
Same convolution
假设Padding长度P=1,即在输入图周围补一圈0(Padding值一般补0)。
那么,如果要使输出feature map大小等于输入大小n,则有:
n+2p-f +1= n ==>
p=(f-1)/2
所以,要实现same convolution,p=(f-1)/2。
(3)卷积核大小一般取奇数
在实际应用过程中,我们看到的卷积核大小一般取的是奇数,如3*3,5*5 等等。主要原因有两点:
- 当卷积核大小为奇数时,才会有一个中心点,方便运算;
- 如果要实现same convolution,从上面的推导我们知道p=(f-1)/2。也就是说,当f为奇数时,我们可以进行对称的padding,当f为偶数时,需要进行不对称的padding来达到same convolution的目的。