CNN中感受野的理解



本文摘自看完還不懂卷積神經網絡“感受野”?那你來找我

作者:程序_小白
鏈接:https://www.jianshu.com/p/9305d31962d8

 


 

 

 

一、到底什么是“感受野”(接受野Receptive Field)

感受野是一個神經元對原始圖像的連接

通常說:第幾層對輸入數據(即原始圖像)的感受野

 

二、圖解說明

為了更好地說明整個卷積神經網絡的工作過程,下面以一個例子說明,原始圖像的大小為10x10,一共設計了5個網絡層,前面4個是卷積層,卷積核的大小為3x3,最后一個是池化層,大小為2x2,為了較簡單的說明,本次所有的步幅stride均為1.

注意:感受野在計算的時候不考慮“邊界填充”,因為填充的邊界已經不是原始圖像本身的內容了,感受野描述的是輸出特征到原始圖像的映射關系,故而不考慮padding 。實際建模過程中可能需要填充邊界,原理一樣,只是計算稍微復雜點。

1、第一次卷積運算

 

 

 

從上面可以看出:第一層網絡輸出的圖像中,輸出結果為8x8,output1輸出的每一個特征(即每一個像素)受到原始圖像的3x3區域內的影響,故而第一層的感受野為3,用字母表示為

                          RF1=3   (每一個像素值與原始圖像的3x3區域有關)

2、第二次卷積運算

 

 

 

從上圖可以看出,經歷兩次卷積運算之后,最終的輸出圖像為6x6,output2輸出的每一個特征(即每一個像素)受到output1的范圍影響為3x3,而output1中的這個3x3又收到原始圖像的5x5的范圍的影響,故而第二層的感受野為5,即

                                  RF2=5   (每一個像素值與原始圖像的5x5區域有關)

3、第三次卷積運算

 

 

 

從上圖可以看出,經歷三次卷積運算之后,最終的輸出圖像為4x4,output3輸出的每一個特征(即每一個像素)受到output2的范圍影響為3x3,而output2中的這個3x3又受到output1的5x5的范圍的影響,而output1中的這個5x5又受到原始圖像的7x7的范圍的影響,故而第三層的感受野為7,即

                           RF3=7   (每一個像素值與原始圖像的7x7區域有關)

4、第四次卷積運算

 

 

 

從上圖可以看出,經歷四次卷積運算之后,最終的輸出圖像為2x2,output4輸出的每一個特征(即每一個像素)受到output3的范圍影響為3x3,而output3中的這個3x3又受到output2的5x5的范圍的影響,而output2中的這個5x5又受到output1的7x7的范圍的影響,而output1中的這個7x7又受到原始圖形的9x9的范圍的影響,故而第四層的感受野為9,即

                           RF4=9   (每一個像素值與原始圖像的9x9區域有關)

5、第五次池化運算

 
 

從上圖可以看出,經歷四次卷積運算和一次池化運算之后,最終的輸出圖像為1x1,output5輸出的每一個特征(即每一個像素)受到output4的范圍影響為2x2,而output4中的這個2x2又受到output3的4x4的范圍的影響,而output3中的這個4x4又受到output2的6x6的范圍的影響,而output2中的這個6x6受到output1的8x8的范圍的影響,而output1中的這個8x8受到原始圖像的10x10的范圍的影響,故而第五層的感受野為10,即

                           RF5=10  (每一個像素值與原始圖像的10x10區域有關)

三、遞推公式推導

從上面的過程可以看出,感受野的推導是一個遞推的過程,下面將展示這一過程。

RF1=3            k1(第一層的感受野,永遠等於第一個卷積核的尺寸大小)k表示第幾個卷積層

RF2=5            k1 + (k2-1)                                                            RF1+ (k2-1)

RF3=7            k1 + (k2-1) + (k3-1)                                            RF2+ (k3-1)

RF4=9            k1 + (k2-1) + (k3-1)   + (k4-1)                             RF3+ (k4-1)

RF4=10          k1 + (k2-1) + (k3-1)   + (k4-1)    + (k5-1)             RF4+ (k5-1)

總結:從上面可以看出,感受野的大小的求解是一個不斷第一的過程,因為第一層的每一個像素的感受野始終是第一個卷積核的大小,故而RF1總是最先確定,然后以此類推,逐步求出RF2、RF3、RF4、RF5……

但是上面的所有步長均為 1 ,如果每一次卷積運算的步長 stride 不為1呢,同理,這里直接給出遞推公式:

          RFn=RFn-1 + (kn-1)*stride_n

其中stride_n表示的是第n次卷積的移動步幅stride。

求解過程是從RF1開始的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM