乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      徹底搞懂感受野的含義與計(jì)算

       taotao_2016 2020-10-12
      作者丨shine-lee
      來(lái)源丨h(huán)ttps://www.cnblogs.com/shine-lee/p/12069176.html

      什么是感受野


      The receptive field is defined as the region in the input space that a particular CNN’s feature is looking at (i.e. be affected by).
      —— A guide to receptive field arithmetic for Convolutional Neural Networks
      感受野(Receptive Field),指的是神經(jīng)網(wǎng)絡(luò)中神經(jīng)元“看到的”輸入?yún)^(qū)域,在卷積神經(jīng)網(wǎng)絡(luò)中,feature map上某個(gè)元素的計(jì)算受輸入圖像上某個(gè)區(qū)域的影響,這個(gè)區(qū)域即該元素的感受野。
      卷積神經(jīng)網(wǎng)絡(luò)中,越深層的神經(jīng)元看到的輸入?yún)^(qū)域越大,如下圖所示,kernel size 均為3×3,stride均為1,綠色標(biāo)記的是Layer2每個(gè)神經(jīng)元看到的區(qū)域,黃色標(biāo)記的是Layer3 看到的區(qū)域,具體地,Layer2每個(gè)神經(jīng)元可看到Layer1上3×3 大小的區(qū)域,Layer3 每個(gè)神經(jīng)元看到Layer2 上3×3 大小的區(qū)域,該區(qū)域可以又看到Layer1上5×5 大小的區(qū)域。

      https://www./publication/316950618_Maritime_Semantic_Labeling_of_Optical_Remote_Sens

      所以,感受野是個(gè)相對(duì)概念,某層feature map上的元素看到前面不同層上的區(qū)域范圍是不同的,通常在不特殊指定的情況下,感受野指的是看到輸入圖像上的區(qū)域。
      為了具體計(jì)算感受野,這里借鑒視覺(jué)系統(tǒng)中的概念:
      receptive field=center+surround
      準(zhǔn)確計(jì)算感受野,需要回答兩個(gè)子問(wèn),即視野中心在哪和視野范圍多大。
      只有看到”合適范圍的信息”才可能做出正確的判斷,否則就可能“盲人摸象”或者“一覽眾山小”;
      目標(biāo)識(shí)別問(wèn)題中,我們需要知道神經(jīng)元看到是哪個(gè)區(qū)域,才能合理推斷物體在哪以及判斷是什么物體。
      但是,網(wǎng)絡(luò)架構(gòu)多種多樣,每層的參數(shù)配置也不盡相同,感受野具體該怎么計(jì)算?

      約定

      在正式計(jì)算之前,先對(duì)數(shù)學(xué)符號(hào)做如下約定:

      https:///mlreview/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807
      k:kernel size
      p:padding size
      s:stride size
      Layer:用Layer表示feature map,特別地,Layer0為輸入圖像;
      Conv:用Conv表示卷積,k、p、s為卷積層的超參數(shù),Convl的輸入和輸出分別為L(zhǎng)ayerl?1和Layerl+1;
      n:feature map size為n×n,這里假定height=width;
      r:receptive field size為r×r,這里假定感受野為方形;
      j:feature map上相鄰元素間的像素距離,即將feature map上的元素與輸入圖像Layer0 上感受野的中心對(duì)齊后,相鄰元素在輸入圖像上的像素距離,也可以理解為 feature map上前進(jìn)1步相當(dāng)于輸入圖像上前進(jìn)多少個(gè)像素,如下圖所示,feature map上前進(jìn)1步,相當(dāng)于輸入圖像上前進(jìn)2個(gè)像素,j=2;

      https://github.com/vdumoulin/conv_arithmetic/blob/master/gif/padding_strides.gif

      start:feature map左上角元素在輸入圖像上的感受野中心坐標(biāo)(start,start),即視野中心的坐標(biāo),在上圖中,左上角綠色塊感受野中心坐標(biāo)為(0.5,0.5),即左上角藍(lán)色塊中心的坐標(biāo),左上角白色虛線塊中心的坐標(biāo)為(?0.5,?0.5);
      l:l表示層,卷積層為Convl,其輸入feature map為L(zhǎng)ayerl?1,輸出為L(zhǎng)ayerl。
      下面假定所有層均為卷積層。

      感受野大小

      感受野大小的計(jì)算是個(gè)遞推公式。
      再看上面的動(dòng)圖,如果feature map  上的一個(gè)元素A看到feature map Layer1 上的范圍為3×3(圖中綠色塊),其大小等于kernel size k2,所以,A看到的感受野范圍r2等價(jià)于Layer1上3×3窗口看到的Layer0 范圍,據(jù)此可以建立起相鄰Layer感受野的關(guān)系,如下所示,其中rl為L(zhǎng)ayerl的感受野,rl?1為 Layerl?1 的感受野,
      Layerl 一個(gè)元素的感受野rl等價(jià)于Layerl?1 上k×k個(gè)感受野的疊加;
      Layerl?1 上一個(gè)元素的感受野為rl?1;
      Layerl?1 上連續(xù)k個(gè)元素的感受野可以看成是,第1個(gè)元素看到的感受野加上剩余k?1步掃過(guò)的范圍,Layerl?1 上每前進(jìn)1個(gè)元素相當(dāng)于在輸入圖像上前進(jìn)jl?1個(gè)像素,結(jié)果等于rl?1+(k?1)×jl?1
      可視化如下圖所示,
      receptive field size
      下面的問(wèn)題是,jin怎么求?
      Layerl 上前進(jìn)1個(gè)元素相當(dāng)于Layerl?1上前進(jìn)sl個(gè)元素,轉(zhuǎn)換成像素單位為
      其中,sl為Convl的kernel在 Layerl?1 上滑動(dòng)的步長(zhǎng),輸入圖像的s0=1。
      根據(jù)遞推公式可知,
      Layerl上前進(jìn)1個(gè)元素,相當(dāng)于在輸入圖像前進(jìn)了個(gè)像素,即前面所有層stride的連乘。
      進(jìn)一步可得,Layerl的感受野大小為:

      感受野中心

      感受野中心的計(jì)算也是個(gè)遞推公式。
      在上一節(jié)中計(jì)算得,表示feature map Layerl上前進(jìn)1個(gè)元素相當(dāng)于在輸入圖像上前進(jìn)的像素?cái)?shù)目,如果將feature map上元素與感受野中心對(duì)齊,則jl為感受野中心之間的像素距離。如下圖所示,

      receptive field center
      其中,各層的kernel size、padding、stride超參數(shù)已在圖中標(biāo)出,右側(cè)圖為feature map和感受野中心對(duì)齊后的結(jié)果。
      相鄰Layer間,感受野中心的關(guān)系為:
      所有的start坐標(biāo)均相對(duì)于輸入圖像坐標(biāo)系。其中,start0=(0.5,0.5),為輸入圖像左上角像素的中心坐標(biāo),startl?1表示Layerl?1左上角元素的感受野中心坐標(biāo),(2kl?1?pl)為L(zhǎng)ayerl與Layerl?1感受野中心相對(duì)于Layerl?1坐標(biāo)系的偏差,該偏差需折算到輸入圖像坐標(biāo)系,其值需要乘上jl?1,即Layerl?1相鄰元素間的像素距離,相乘的結(jié)果為(2kl?1?pl)?jl?1,即感受野中心間的像素距離——相對(duì)輸入圖像坐標(biāo)系。至此,相鄰Layer間感受野中心坐標(biāo)間的關(guān)系就不難得出了,這個(gè)過(guò)程可視化如下。
      receptive field center calculation
      知道了Layerl左上角元素的感受野中心坐標(biāo)(startl,startl),通過(guò)該層相鄰元素間的像素距離jl可以推算其他元素的感受野中心坐標(biāo)。

      小結(jié)


      將感受野的相關(guān)計(jì)算小結(jié)一下:

      由上面的遞推公式,就可以從前向后逐層計(jì)算感受野了,代碼可參見(jiàn)computeReceptiveField.py,在線可視化計(jì)算可參見(jiàn)Receptive Field Calculator。
      最后,還有幾點(diǎn)需要注意:
      Layerl的感受野大小與sl、pl無(wú)關(guān),即當(dāng)前feature map元素的感受野大小與該層相鄰元素間的像素距離無(wú)關(guān);
      為了簡(jiǎn)化,通常將padding size設(shè)置為kernel的半徑,即p=2k?1,可得startl=startl?1,使得feature map Layerl 上(x,y)位置的元素,其感受野中心坐標(biāo)為(xjl,yjl);
      對(duì)于空洞卷積dilated convolution,相當(dāng)于改變了卷積核的尺寸,若含有 dilation rate參數(shù),只需將kl替換為dilation rate?(kl?1)+1 ,dilation rate=1時(shí)為正常卷積;
      對(duì)于pooling層,可將其當(dāng)成特殊的卷積層,同樣存在kernel size、padding、stride參數(shù);
      非線性激活層為逐元素操作,不改變感受野。
      以上。

      參考資料


      wiki-Receptive field
      wiki-Receptive Field Calculator
      arXiv-Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
      medium-A guide to receptive field arithmetic for Convolutional Neural Networks
      medium-Topic DL03: Receptive Field in CNN and the Math behind it
      ppt-Convolutional Feature Maps: Elements of Efficient (and Accurate) CNN-based Object Detection
      SIGAI-關(guān)于感受野的總結(jié)
      Calculating Receptive Field of CNN

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多