訂閱
糾錯(cuò)
加入自媒體

一文了解padding在深度學(xué)習(xí)模型中重要嗎?

本文來(lái)自公眾號(hào)CV技術(shù)指南的技術(shù)總結(jié)系列

歡迎關(guān)注CV技術(shù)指南 ,專注于計(jì)算機(jī)視覺(jué)的技術(shù)總結(jié)、最新技術(shù)跟蹤、經(jīng)典論文解讀。

前言

本文介紹了兩個(gè)實(shí)驗(yàn),展示了padding在深度學(xué)習(xí)模型中的影響。

實(shí)驗(yàn)一

卷積是平移等變的:將輸入圖像平移 1 個(gè)像素,輸出圖像也平移 1 個(gè)像素(見(jiàn)圖 1)。如果我們對(duì)輸出應(yīng)用全局平均池化(即對(duì)所有像素值求和),我們會(huì)得到一個(gè)平移不變模型:無(wú)論我們?nèi)绾纹揭戚斎雸D像,輸出都將保持不變。

在 PyTorch 中,模型如下所示:y = torch.sum(conv(x), dim=(2, 3)) 輸入 x,輸出 y。

padding在深度學(xué)習(xí)模型中重要嗎?

圖 1:頂部:包含一個(gè)白色像素的輸入圖像(原始和 1 個(gè)像素移位版本)。中:卷積核。底部:輸出圖像及其像素總和。

是否可以使用此模型來(lái)檢測(cè)圖像中像素的絕對(duì)位置?

對(duì)于像所描述的那樣的平移不變模型,它應(yīng)該是不可能的。

讓我們訓(xùn)練這個(gè)模型對(duì)包含單個(gè)白色像素的圖像進(jìn)行分類:如果像素在左上角,它應(yīng)該輸出 1,否則輸出 0。訓(xùn)練很快收斂,在一些圖像上測(cè)試二元分類器表明它能夠完美地檢測(cè)像素位置(見(jiàn)圖 2)。

padding在深度學(xué)習(xí)模型中重要嗎?

圖 2:頂部:輸入圖像和分類結(jié)果。底部:輸出圖像和像素總和。

模型如何學(xué)習(xí)對(duì)絕對(duì)像素位置進(jìn)行分類?這僅可能由于我們使用的填充類型:

  1. 圖 3 顯示了經(jīng)過(guò)一些 epoch 訓(xùn)練后的卷積核

  2. 當(dāng)使用“same”填充(在許多模型中使用)時(shí),內(nèi)核中心在所有圖像像素上移動(dòng)(隱式假設(shè)圖像外的像素值為 0)

  3. 這意味著內(nèi)核的右列和底行永遠(yuǎn)不會(huì)“接觸”圖像中的左上像素(否則內(nèi)核中心將不得不移出圖像)

  4. 但是,當(dāng)在圖像上移動(dòng)時(shí),內(nèi)核的右列和/或底行會(huì)接觸所有其他像素

  5. 我們的模型利用了像素處理方式的差異

  6. 只有正(黃色)內(nèi)核值應(yīng)用于左上白色像素,從而只產(chǎn)生正值,這給出了正和

  7. 對(duì)于所有其他像素位置,還應(yīng)用了強(qiáng)負(fù)內(nèi)核值(藍(lán)色、綠色),這給出了負(fù)和

padding在深度學(xué)習(xí)模型中重要嗎?

圖 3:3×3 卷積核。

盡管模型應(yīng)該是平移不變的,但事實(shí)并非如此。問(wèn)題發(fā)生在由所使用的填充類型引起的圖像邊界附近。

實(shí)驗(yàn)二

輸入像素對(duì)輸出的影響是否取決于其絕對(duì)位置?

讓我們?cè)俅螄L試使用只有一個(gè)白色像素的黑色圖像。該圖像被送入由一個(gè)卷積層組成的神經(jīng)網(wǎng)絡(luò)(所有內(nèi)核權(quán)重設(shè)置為 1,偏置項(xiàng)設(shè)置為 0)。輸入像素的影響是通過(guò)對(duì)輸出圖像的像素值求和來(lái)衡量的!皏alid”填充意味著完整的內(nèi)核保持在輸入圖像的邊界內(nèi),而“same”填充已經(jīng)定義。

圖 4 顯示了每個(gè)輸入像素的影響。對(duì)于“valid”填充,結(jié)果如下所示:

  1. 內(nèi)核接觸圖像角點(diǎn)的位置只有一個(gè),角點(diǎn)像素的值為 1 反映了這一點(diǎn)

  2. 對(duì)于每個(gè)邊緣像素,3×3 內(nèi)核在 3 個(gè)位置接觸該像素

  3. 對(duì)于一般位置的像素,有 9 個(gè)核位置,像素和核接觸

padding在深度學(xué)習(xí)模型中重要嗎?

圖 4:將單個(gè)卷積層應(yīng)用于 10×10 圖像。左:“same”填充。右:“valid”填充。

邊界附近像素對(duì)輸出的影響遠(yuǎn)低于中心像素,當(dāng)相關(guān)圖像細(xì)節(jié)靠近邊界時(shí),這可能會(huì)使模型失敗。對(duì)于“same相同”填充,效果不那么嚴(yán)重,但從輸入像素到輸出的“路徑”較少。

最后的實(shí)驗(yàn)(見(jiàn)圖 5)顯示了當(dāng)從 28×28 輸入圖像(例如,來(lái)自 MNIST 數(shù)據(jù)集的圖像)開(kāi)始并將其輸入具有 5 個(gè)卷積層的神經(jīng)網(wǎng)絡(luò)(例如,一個(gè)簡(jiǎn)單的 MNIST 分類器可能看起來(lái)像這樣)。特別是對(duì)于“valid”填充,現(xiàn)在存在模型幾乎完全忽略的大圖像區(qū)域。

padding在深度學(xué)習(xí)模型中重要嗎?

圖 5:將五個(gè)卷積層應(yīng)用于 28×28 圖像。左:“same”填充。右:“valid”填充。

結(jié)論

這兩個(gè)實(shí)驗(yàn)表明,填充的選擇很重要,一些糟糕的選擇可能會(huì)導(dǎo)致模型性能低下。有關(guān)更多詳細(xì)信息,請(qǐng)參閱以下論文,其中還提出了如何解決問(wèn)題的解決方案:

1. MIND THE PAD – CNNS CAN DEVELOP BLIND SPOTS

2. On Translation Invariance in CNNs: Convolutional Layers can Exploit Absolute Spatial Location

作者:Harald Scheidl

編譯:CV技術(shù)指南

image.png

歡迎關(guān)注公眾號(hào) CV技術(shù)指南 ,專注于計(jì)算機(jī)視覺(jué)的技術(shù)總結(jié)、最新技術(shù)跟蹤、經(jīng)典論文解讀。

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)