五、卷积神经网络CNN8(不同卷积后图像大小计算)

类型划分

2 维卷积的计算分为了 3 类:1.full  2.same  3. valid

1full

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第1张图片

蓝色为原图像,白色为对应卷积所增加的 padding ,通常全部为 0 ,绿色是卷积后图片。图中的卷积的滑动是从卷积核右下角与图片左上角重叠开始进行卷积,滑动步长为 1 ,卷积核的中心元素对应卷积后图像的像素点。可以看到卷积后的图像是 4X4 ,比原图 2X2 大了,我们还记 1 维卷积大小是 n1+n2-1 ,这里原图是 2X2 ,卷积核 3X3 ,卷积后结果是 4X4 ,与一维完全对应起来了。其实这才是完整的卷积计算,其他比它小的卷积结果都是省去了部分像素的卷积。
2same

 

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第2张图片

 3valid

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第3张图片

 计算公式

这里,我们可以总结出 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。

步长、填充大小与输入输出关系总结

在设计深度学习网络的时候,需要计算输入尺寸和输出尺寸,那么就要设计卷积层的的各种参数。这里有一些设计时候的计算公式,方便得到各层的参数。
这里简化下,约定:

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第4张图片

没有 0 填充,单位步长

零填充,单位步长

<1> 半填充

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第5张图片

<2> 全填充

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第6张图片

参考图如下图所示;

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第7张图片

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第8张图片

不填充,非单位步长

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第9张图片

 零填充,非单位步长

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第10张图片

 

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第11张图片

 

五、卷积神经网络CNN8(不同卷积后图像大小计算)_第12张图片

更详细内容参见:https://arxiv.org/pdf/1603.07285.pdf 

 

 

 

 

 

 

 

你可能感兴趣的:(深度学习(上),cnn,深度学习,人工智能)