类型划分
2 维卷积的计算分为了 3 类:1.full 2.same 3. valid
1、full
蓝色为原图像,白色为对应卷积所增加的
padding
,通常全部为
0
,绿色是卷积后图片。图中的卷积的滑动是从卷积核右下角与图片左上角重叠开始进行卷积,滑动步长为
1
,卷积核的中心元素对应卷积后图像的像素点。可以看到卷积后的图像是 4X4
,比原图
2X2
大了,我们还记 1
维卷积大小是
n1+n2-1
,这里原图是
2X2
,卷积核
3X3
,卷积后结果是
4X4
,与一维完全对应起来了。其实这才是完整的卷积计算,其他比它小的卷积结果都是省去了部分像素的卷积。
2、same
3、valid
计算公式
这里,我们可以总结出
full
,
same
,
valid
三种卷积后图像大小的计算公式:
1
、
full:
滑动步长为
1
,图片大小为
N1xN1
,卷积核大小为
N2xN2
,卷积后图像大小: N1+N2-1 x N1+N2-1。
2
、
same:
滑动步长为
1
,图片大小为
N1xN1
,卷积核大小为
N2xN2
,卷积后图像大小:N1xN1。
3
、
valid:
滑动步长为
S
,图片大小为
N1xN1
,卷积核大小为
N2xN2
,卷积后图像大小:(N1-N2)/S+1 x (N1-N2)/S+1。
步长、填充大小与输入输出关系总结
在设计深度学习网络的时候,需要计算输入尺寸和输出尺寸,那么就要设计卷积层的的各种参数。这里有一些设计时候的计算公式,方便得到各层的参数。
这里简化下,约定:
没有 0 填充,单位步长
零填充,单位步长
<1> 半填充
<2> 全填充
参考图如下图所示;
不填充,非单位步长
零填充,非单位步长
更详细内容参见:https://arxiv.org/pdf/1603.07285.pdf