1. 程式人生 > >【深度學習】一張圖看懂Receptive Field

【深度學習】一張圖看懂Receptive Field

本文嘗試用最簡明直白的圖示,幫助理解和記憶Receptive Field的計算方法。

什麼是Receptive Field?

在CNN中,第n層特徵圖中一個畫素,對應第1層(輸入影象)的畫素數,即為該層的Receptive Field,簡稱RF。

基本思路

網路第1層輸入,第nn層輸出。  第kk層和第k+1k+1層之間的濾波器,其尺寸為fkfk,步長為sksk。

為書寫簡潔,此處用一維尺寸代替二維。

採用遞迴的思路:

  • 用rk表示第n層特徵圖中的一個畫素,對應第k層特徵圖的畫素數。
  • 從最深一層倒序向前計算,r1即為第n層的RF。

計算方法

最深一層本身的一畫素和自己一一對應:rn=1rn=1。 這裡寫圖片描述

假設已經計算出,最深一層一個畫素對應第k+1層的r_{k+1}個畫素。

現在的問題是,它對應多少個k層畫素?換言之,紅色部分有多長?

這部分由兩部分組成:

  • 藍色:每段長度為本層濾波器步長s_{k},共有r_{k+1}-1段。
  • 綠色:每段長度為濾波器一半尺寸fk/2,左右各有一段。

於是有: 

r_{k}=(r_{k+1}-1)\cdot s_k+f_k