卷积操作
假设输入大小为**(H,W),卷积核(滤波器)大小为(FH,FW)**,输出大小 为(OH,OW),填充为P,步幅为S。则输出大小可以通过下式计算。
O
H
=
H
+
2
P
−
F
H
S
+
1
OH = \frac{H + 2P - FH}{S} + 1
OH=SH+2P−FH+1
O
W
=
W
+
2
P
−
F
W
S
+
1
OW = \frac{W + 2P - FW}{S} + 1
OW=SW+2P−FW+1
例1: 输入大小:(7,7);填充:1;步幅:2;卷积核大小:(3,3)
O
H
=
7
+
2
×
1
−
3
2
+
1
=
4
OH = \frac{7 + 2×1 - 3}{2} + 1=4
OH=27+2×1−3+1=4
O
W
=
7
+
2
×
1
−
F
W
2
+
1
=
4
OW = \frac{7 + 2×1 - FW}{2} + 1=4
OW=27+2×1−FW+1=4
所以输出大小(4,4)。
通过上述式子就可以计算输出大小。但是所设定的值必须使
H
+
2
P
−
F
H
S
\frac{H + 2P - FH}{S}
SH+2P−FH和
W
+
2
P
−
F
W
S
\frac{W + 2P - FW}{S}
SW+2P−FW分别可以除尽。当输出大小无法除尽时(就算结果为小数),需要采取报错等对策。
注:有的深度学习框架会选择四舍五入而不进行报错处理。
池化操作
假设输入大小为**(H,W),卷积核(滤波器)大小为(F,F)**,输出大小 为(OH,OW),填充为P,步幅为S。则输出大小可以通过下式计算。
注:一般情况下,步幅S等于卷积核大小F,即 S = F
公式如下:
O
H
=
H
−
F
S
+
1
OH = \frac{H - F}{S} + 1
OH=SH−F+1
O
W
=
W
−
F
S
+
1
OW = \frac{W - F}{S} + 1
OW=SW−F+1
例2: 输入大小:(28,28);步幅:2;卷积核大小:(2,2)
O
H
=
28
−
2
2
+
1
=
14
OH = \frac{28 - 2}{2} + 1=14
OH=228−2+1=14
O
W
=
28
−
2
2
+
1
=
14
OW = \frac{28 - 2}{2} + 1=14
OW=228−2+1=14
所以输出大小(4,4)。