Dilated Convolution膨脹卷積感受野詳解

重溫Dilated Convolution膨脹卷積,對論文《MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS》中採用Dilation後的感受野計算示意圖產生了迷惑,於是自己重新畫圖琢磨了一番。
論文中感受野計算示意圖
可以看到作者的感受野計算是遞進式的,即F1在F0的基礎上經3x3,dilation=1卷積得到,即F2在F1的基礎上經3x3,dilation=2卷積得到,即F3在F2的基礎上經3x3,dilation=4卷積得到,最終F1、F2、F3各自的感受野分別是3x3、7x7、15x15。

這幾個數字如果按圖示來看無法直觀感受到感受野變化的過程,很容易產生迷惑。

在研究變化過程前,需要清楚一個概念,就是每一層的最終感受野是指相對原始圖像而言的,在圖示中指F0。在清楚這一概念後,則可以開始研究採用dilation後的感受野變化情況。

(1)對原始圖F0,採用3x3,dilation=1(即普通卷積)卷積核卷積得到特徵圖,特徵圖的每一個單元的感受野則是3x3。這個很好理解。
膨脹卷積1
(2)進一步,對原始圖F0,採用3x3,dilation=2卷積核卷積得到特徵圖,特徵圖的每一個單元的感受野則是5x5。
膨脹卷積2
(3)再進一步,對原始圖F0,採用3x3,dilation=4卷積核卷積得到特徵圖,特徵圖的每一個單元的感受野則是9x9。
膨脹卷積3

請注意,以上的計算都是卷積直接在原始圖F0上進行,因此可以直觀看出特徵圖單個元素對應的感受野。而在原論文中則是遞進式的,採用dilation=2/4的卷積核不再是在原始圖F0上進行卷積的,這是主要差異。因此感受野計算需要進一步映射。

(4)對原始圖F0,先採用3x3,dilation=1(即普通卷積)卷積核卷積得到特徵圖F1。再採用3x3,dilation=2卷積核卷積得到特徵圖F2,特徵圖F2的每一個單元映射回F1後(臨時)感受野是5×5,再從F1映射回原始圖F0的感受野是[3×3]+(5-1)=[7×7]。則F2每一個單元的最終感受野是7x7,和論文中的F2感受野一致。

注1:(臨時)感受野指的是對應前一層特徵圖的感受野,非對應原始圖,不是最終的感受野。
注2:[3×3]是因爲F1中的每一個方格對應F0中的3×3個方格,(5-1)是因爲需要將3×3卷積核繼續平滑4次來生成F1的剩餘部分。

膨脹卷積4
(5)對原始圖F0,先採用3x3,dilation=1(即普通卷積)卷積核卷積得到特徵圖F1。再採用3x3,dilation=2卷積核卷積得到特徵圖F2,最後採用3x3,dilation=4卷積核卷積得到特徵圖F3。特徵圖F3的每一個單元映射回F2後(臨時)感受野是9×9,再從F2映射回F1的(臨時)感受野是[5×5]+(9-1)=[13×13],最後從F1映射回原始圖F0的感受野是[3×3]+(13-1)=[15×15]。則F3每一個單元的最終感受野是15x15,和論文中的F3感受野一致。

注1:(X-1)是因爲需要將3×3卷積核繼續平滑X-1次來生成特徵圖的剩餘部分,
注2:從F2映射回F1的過程可以直接用F1已映射回F0的感受野來計算,不用再進一步回推。即利用F1對應的原始圖感受野[7×7],直接得到F2映射回F0的感受野[7×7]+(9-1)=[15×15]。

膨脹卷積5
結論:
根據以上圖示,能夠更加清楚採用Dilated Convolution膨脹卷積後感受野變化的情況,再次強調需要注意的是感受野指的是相對於原始圖而言的,因此對於經過多層卷積後得到的特徵圖的感受野計算,需要層層回退到原始圖,最終求得的感受野大小則爲所得特徵圖單個元素的真正感受野。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章