卷积层输出尺寸计算
输入图像a*a, 卷积核大小b*b, stride = c, padding = d
输出图像的尺寸:[(a - b + 2d) // c] + 1
(a - b + 2d) 表示在输入图像两侧填充 d 个像素后,窗口在输入图像上最多能移动的距离,再加上 1 表示最后一个窗口的右侧边界与输出图像的右侧边界对齐
感受野尺寸计算
深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系
计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小
其计算公式为:
* 用k, s, r分别表示第n层的kernel_size,stride,receptive_field
从感受野大到感受野小
对于Conv2层,假如没有重叠,其输出特征单元最大感受野为:k2 * s 1 = 2 * 3 = 6
但由于Conv1层对输入图片卷积时存在重叠部分,所以Conv2层的特征单元感受野小于6,该重叠部分为:
k1 * r0 - s1 * r0 = 1
所以conv3的感受野为 6 - 1 = 5, 所以r2 = 5
对conv3,若不重叠,k3 * r2 = 2 * 5 = 10
conv3重叠部分为:k2 * r1 - s2 * r1 = 3
所以conv3下一层的感受野为 10- 3 = 7
(32条消息) CNN感受野最全计算公式_感受野计算公式_骚年,你渴望力量嘛?的博客-CSDN博客
代码实现:感受野(receptive file)计算 · xingkongliang (starlg.cn)
Q
假如图像尺寸和步长不能整除,比如输入5*5,卷积核2*2,步长2,padding=0,会发生什么?
最后一次移动时,滑动窗口只剩下一列无法继续移动,因此输出宽度为2*2。这时候最右边一列的信息就没用了,造成信息损失