在卷積神經網絡中,感受野定義:CNN每一層輸出的特征圖上的像素點在原始圖像
上的映射的區域大小。
RF (receptive field)描述了兩個特征映射(Feature Maps)上神經元的關系,在進行 CNN 可視化的過程中非常有用。他也可以從側面讓我們了解,
為什么神經網絡偏向於選擇小的 Filter 和 Stride。假設,A 經過一系列的操作之后得到 B,那么 B 上的一個區域就只和 A 上的一個區域相關。
一個輸入大小為 11×11的A, 經過一個過濾器大小為 3×3,步長為 1 的卷積核卷積之后,得到一個大為9×9的特征映射。
可以看到在 B 中一個 3×3 的區域,在 A 中的感受視野為 5×5。B 經過一個大小為 3×3 ,步長為 1 的卷積核卷積之后,得到一個 7×7 的特征映射。
因此在 A 中的一個 5×5 的區域在 B 中的視野就為 3×3。因此,C 中一個 1×1 的區域在 A 的視野就為 5×5。
計算公式為:
其中 表示第 i 層輸入的一個區域,
表示第 i 層的步長,
表示第 i 層卷積核的大小(filter size)。此計算不需要考慮 padding size。
高層在低層中的視野
計算 C 在 B 中的視野
如我們想計算 C 的一個 1×1 的區域在 B 上的接受視野,從上圖可以知道一共三層(兩個卷基層一個輸入層,此處將輸入層的 i 當做0處理),此時我們求的是 在
上的感受視野。
由上圖可以知道, 的值為 1 因為第一層的步長為 1 ;
的值為 3 ,因為卷積核的大小為 3×3;此時選擇的
區域大小為 1×1,因此它的值為 1 。
通過上述公式計算可得:
即 在
的接受視野為 3×3 的區域。
計算 B 在 A 中的視野
計算 B 中一個 3×3 的區域在 A 中接受視野。可知 為 1;
為 3,因為我們選擇的 B 的區域為 3×3;
為 3。
因此 B 在 A 中的接受視野為:
計算 C 在 A 中的視野
計算 C 中一個1×1的區域在 A 中的接受視野。
通過以上的計算,我們可以通過如下過程推斷:
- 計算 C 在 B 中的接受視野
2.計算 B 在 A 中的接受視野
此階段需要將上面計算出來的結果當做 B 中需要計算的區域,因此就有:
因此可以得到 C 中一個 1×1 的區域在 A 中的接受視野為 5×5
注:以上的計算適用於卷積層和池化層,在激活層中
conv5:
conv4:
conv3:
pool2:
conv2:
pool1:
conv1:
因此第5層卷積在輸入層的感受視野為 163。