1. 为什么padding
如果不padding,不停地卷积下去,获得的图像越来越小。
不padding做卷积,维度是如何变化的?
原本图像是66,经过大小为33的滤波器,生成4*4的。可想而知,不做padding,后面图像会越来越小。
维度变化公式
原图是nn,滤波器大小ff,生成 (n-f+1)*(n-f+1)的图像
padding有哪些参数?
valid
也就是不做padding,输出维度就是 (n-f+1)*(n-f+1)
same ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/784d70b8ac9158e89276d1e137474ff5.png)
比如原本是6 * 6的图像,我们做p=1的padding,维度因此变成8 * 8。
(n-f+1)=(8-3+1)=6
因为加了这个padding,卷积前后大小不变。
可得公式
n = n + 2p -f + 1
f = 2p +1
因此我们使用的滤波器一般都是奇数的,padding比较好计算,不需要额外的操作。而且中心也便于寻找。
2. stride
默认情况是一格一格移动,但是如果stride=2,则跳着卷积。
最后输出的大小就是
# 3. 三维卷积
6,6,3 表示原始图像是6 * 6的,3通道。这里用红绿蓝表示三个通道。
滤波器也是3 * 3 * 3,原始图像的通道数必须等于滤波器的通道数
最后输出的大小是 4 * 4 * 1的。
因为对每个通道做卷积之后,把每个通道的值相加,得到 4 * 4左上角的数。
参数计算
比如滤波器=5 * 5 参数个数就是
(5 * 5 + 1) * 8 = 208
加一是因为有个偏置 b
乘以8 是因为channel是8