CNN网络感受野计算

计算公式
l k = l k − 1 + [ ( f k − 1 ) ∏ i = 1 k − 1 s i ] l_{k}=l_{k-1}+[(f_{k}-1)\prod_{i=1}^{k-1}s_i] lk=lk1+[(fk1)i=1k1si]

其中 l k l_{k} lk为k层的感受野, f k f_{k} fk为k层的卷积核大小, ∏ i = 1 k − 1 s i \prod_{i=1}^{k-1}s_i i=1k1si为stride的乘积。

No. layers kernel size stride
1 conv1 3x3 2
2 pooling 2x2 2
3 conv2 3x3 1

l 0 = 1 l_0=1 l0=1
l 1 = l 0 + ( 3 − 1 ) = 3 l_1=l_0+(3-1)=3 l1=l0+(31)=3
l 2 = l 1 + ( 2 − 1 ) ∗ 2 = 5 l_2=l_1+(2-1)*2=5 l2=l1+(21)2=5
l 3 = l 2 + ( 3 − 1 ) ∗ 2 ∗ 2 = 13 l_3=l_2+(3-1)*2*2=13 l3=l2+(31)22=13

卷积/池化输出大小计算
o = i + 2 p − f s + 1 o=\frac{i+2p-f}{s}+1 o=si+2pf+1

空洞卷积:
f ′ = f + ( f − 1 ) ( d − 1 ) f^{'}=f+(f-1)(d-1) f=f+(f1)(d1)
o = i + 2 p − f ′ s + 1 o=\frac{i+2p-f^{'}}{s}+1 o=si+2pf+1
d − 1 d-1 d1为塞入的空格数, f f f原卷积核的大小, f ′ f^{'} f是塞入空格空卷积核的大小。

你可能感兴趣的:(AI)