1.什么是感受野?
卷積神經網絡
各輸出層每個像素點在原始圖像上的映射區域大小
下圖是感受野示意圖

- 如果對這個5x5的原始輸入圖片,用黃色的3x3卷積核作用,會輸出一個3x3的輸出特征圖,這個輸出特征圖上的每個像素點映射到原始的圖片是3x3的區域,所以它(輸出特征圖)的感受野是3,如果再對這個3x3的特征圖,用這個綠色的3x3卷積核作用,會輸出一個1x1的輸出特征圖,這個輸出特征圖上的像素點映射到原始的圖片是5*5的區域,所以這個輸出特征圖的感受野是5
- 如果對這個5x5的原始輸入圖片,用藍色的5x5卷積核作用,會輸出一個1x1的輸出特征圖,這個輸出特征圖上的像素點映射到原始的圖片是5*5的區域,所以這個輸出特征圖的感受野也是5
同樣一個5x5的原始輸入圖片,經過兩層3x3的卷積核作用和經過一層5x5的卷積核作用都得到一個感受野是5的輸出特征圖,所以這兩種方法的特征提取能力是一樣的,那么是選擇兩層3x3的卷積核還是選擇一層5x5的卷積核呢?
當我們采用尺寸不同的卷積核時,最大的區別就是感受野的大小不同,所以
經常會采用多層小卷積核來替換一層大卷積核,在保持感受野相同的情況下減少參數量和計算量,例如十分常見的用 2 層 3 * 3 卷積核來替換 1 層 5 * 5 卷積核的方法
這里給出詳細推導:
不妨設輸入特征圖的寬、高均為 x,卷積計算的步長為 1,顯然,兩個 3 * 3 卷積核的參數量為 9 + 9 = 18,小於 5 * 5 卷積核的 25,前者的參數量更少。
在計算量上,根據圖 5-8 所示的輸出特征尺寸計算公式,對於 5 * 5 卷積核來說,輸出特征圖共有(x – 5 + 1)^2 個像素點,每個像素點需要進行 5 * 5 = 25 次乘加運算,則總計算量為 25 * (x – 5 + 1)^2 = 25x^2 – 200x + 400;
對於兩個 3 * 3 卷積核來說,第一個 3 * 3 卷積核輸出特征圖共有(x – 3 + 1)^2 個像素點,每個像素點需要進行 3 * 3 = 9 次乘加運算,第二個 3 * 3 卷積核輸出特征圖共有(x – 3 + 1 – 3+ 1)^2 個像素點,每個像素點同樣需要進行 9 次乘加運算,則總計算量為 9 * (x – 3 + 1)^2 +9 * (x – 3 + 1 – 3 + 1)^2 = 18 x^2 – 108x + 180;
對二者的總計算量(乘加運算的次數)進行對比,18 x^2 – 200x + 400 < 25x^2 – 200x +400,經過簡單數學運算可得 x < 22/7 or x > 10,x 作為特征圖的邊長,在大多數情況下顯然會是一個大於 10 的值(非常簡單的 MNIST 數據集的尺寸也達到了 28 * 28),
所以兩層 3 *3 卷積核的參數量和計算量,在通常情況下都優於一層 5 * 5 卷積核,尤其是當特征圖尺寸比較大的情況下,兩層 3 * 3 卷積核在計算量上的優勢會更加明顯。