4.1卷积神经网络
1.4Padding
- 一张 6 ∗ 6 6*6 6∗6大小的图片,使用 3 ∗ 3 3*3 3∗3的卷积核设定步长为1,经过卷积操作后得到一个 4 ∗ 4 4*4 4∗4的图像。
特征图大小公式
- 设定原始图像大小为 n ∗ n n*n n∗n,卷积核大小为 f ∗ f f*f f∗f,则经过卷积操作后特征图大小为 ( n − f + 1 ) ∗ ( n − f + 1 ) (n-f+1)*(n-f+1) (n−f+1)∗(n−f+1)
不使用Padding的缺点
- 经过卷积操作后图像会缩小.
- 如果你注意角落边的像素,则此像素点只会被卷积核触碰一次。即只会在第一次卷积操作时被卷积核扫描.这意味着会丢失图像边缘的很多信息.
- 但是对于原始图像中心的像素点,在每次卷积操作时都会被扫描。卷积核的感受野会扫描此位置多次.
使用Padding进行维度的填充
- 为了使每次卷积操作后大小不会丢失,使用0填充在原始图像的外围。
- 假设p作为填充在原始图像外围的Padding大小,则经过卷积操作后的特征图大小为 ( n + 2 p − f + 1 ) ∗ ( n + 2 p − f + 1 ) (n+2p-f+1)*(n+2p-f+1) (n+2p−f+1)∗(n+2p−f+1)
Padding填充大小公式
- 如果需要使经过卷积后的特征图大小保持不变,则填充大小需要满足公式 n + 2 p − f + 1 = n n+2p-f+1=n n+2p−f+1=n即 p = ( f − 1 ) 2 p=\frac{(f-1)}{2} p=2(f−1)
- 所以只要f即卷积核的边长是奇数,则能保证输出的特征图大小与原图像大小相等。
通常使用奇数维度的过滤器大小
- 通常使用奇数维度的过滤器大小,这样可以使SAME Padding后的图像有自然的填充而不是出现小数维度。
- 奇数维度的卷积核具有中心点,便于指出过滤器的位置。
1.5卷积步长
示例
- 在此例子中选择
7
∗
7
7*7
7∗7的图像,2作为步长,使用
3
∗
3
3*3
3∗3的卷积核,最终得到一个
3
∗
3
3*3
3∗3的特征图。
特征图大小公式
⌊ ( n + 2 p − f ) s + 1 ⌋ ∗ ⌊ ( n + 2 p − f ) s + 1 ⌋ \lfloor\frac{(n+2p-f)}{s}+1\rfloor*\lfloor\frac{(n+2p-f)}{s}+1\rfloor ⌊s(n+2p−f)+1⌋∗⌊s(n+2p−f)+1⌋
- 其中n为原始图像大小,p为Padding填充维度,f为卷积核维度,s为步长
- 当出现得到的结果不是整数时,可以采用向下取整的方式使其维度为整数