空洞 擴張dilated 卷積

2021-10-03 20:35:30 字數 2029 閱讀 4815

也可以根據字面意思把dilated這個詞直接翻譯成膨脹卷積或者擴張卷積。這個概念就得重新回到感受野這個話題上,這裡補充一些感受野的知識點。感受野可以理解為乙個神經元接觸到原始特徵圖的區域範圍,感受野越大,神經網路越可以看到更加巨集觀的特徵。這個也很好理解,如果關注乙個畫素,只能看到影象的顏色資訊,但是關注更多畫素,這樣就能看到輪廓。所以增大感受野對於巨集觀語義特徵的提取是有幫助的。

我們之前談到過正常的卷積,卷積核的大小對應感受野的大小,這個3×3的卷積,感受野區域也就是這麼大。但是如果給乙個卷積加上dilated的概念,就意味著要對這個卷積核做膨脹處理,我在轉置卷積中提到了膨脹這個概念,那個時候是特徵圖做膨脹處理,這個時候是對卷積核做膨脹處理,操作是一樣的。而卷積一旦膨脹之後,雖然是通過在卷積核中填充了一些零,但是不得不說,卷積核的感受野確實變大了,是在沒有增加引數的前提上,感受野變大了。

在vgg net的文章中提出來一種理論:乙個5×5的卷積,等價於兩個3×3的卷積在不同層上的堆疊(stack),而乙個7×7的卷積等價於三個3×3的卷積在不同層上的堆疊。這個概念主要也是從感受野的角度去理解的,把乙個7×7的特徵圖(感受野區域)經過三層3×3的卷積之後,得到的結果正好是1×1的,這個1×1的小區域其實就是感受到了特徵圖中7×7的區域。使用三個3×3的卷積在不同層上的堆疊代替乙個7×7的卷積,不僅可以減少參數量(7×7

−>3×

3×37×7->3×3×3

7×7−

>3×

3×3),而且增加了網路的層數,可以引入更多的非線性單元。

神經網路中除了卷積可以逐漸的擴大神經元的感受野,還有一種方式是通過下取樣來增大影象的感受野。如常見的池化操作,通過乙個池化(最大池化、平均池化)一般都能把乙個元素的感受野擴大兩倍,因為乙個池化結果對應著上層特徵圖2×2的區域。但是使用池化層會帶來一些問題:

首先是內部資料結構的丟失,池化層對資料的丟棄理由是不充分的,這樣會丟失資訊。其次是如果在語義分割的任務中,小物體的資訊是無法重建的,假如使用了四個池化層,則感受野(的邊長)經過四個池化層擴大了16倍,此時乙個區域對應16×16個上層特徵圖區域。如果物體的尺寸小於16個畫素,顯然這個物體的的特徵就丟失了,已經再也無法對這個物體進行重建了。而且下取樣是不可學習的。

針對以上幾個問題,在語義分割的網路中,提出了擴張卷積這個概念,通過卷積來實現下取樣。如上圖,7×7的特徵圖,經過3×3的卷積核做膨脹係數為2的卷積運算,結果變成了3×3的。而且每乙個1×1的區域在原來的特徵圖上關聯區域是5×5的,直接就擴大了感受野。

膨脹係數,就是卷積核乙個1×1小區域擴張的倍數,原本兩個小區域的之間的差距是1,擴張係數是幾,擴張後的距離就是幾。所以兩個小區域之間填充0的個數=擴張係數-1。而擴張後整個卷積核的感受野的邊長=(卷積核的邊長-1)×膨脹率+1。

但是使用擴張卷積,可能會出現the gridding effect(網格效應)這個問題,假如多次疊加膨脹係數為2的卷積核(大小為3×3)的話,則我們最終得到的乙個小區域,是對應原特徵圖的5×5的感受野的。

假如這個5×5的感受野是我們通過同樣尺寸同樣方式的卷積得到的,我們可以將其對應到上層9×9的特徵圖中。

我們可以繼續往上追溯,但是每一層總會有沒有用到的一些的特徵圖資訊,造成了很嚴重的資訊丟失和不連續。事實上,不同層級的擴張係數如果不互質的話,總會存在這樣沒有用到的區域。所以一般設定的時候都需要滿足不同層的dilation rate互質的關係,至於這裡還會有更深入的分析,這裡僅給出一點點比較重要的。

轉置卷積和空洞卷積都是符合卷積的輸出大小計算公式的,轉置卷積中想要輸出的特徵圖更大,就得擴大特徵大,所以對特徵圖進行擴張,而這裡想要讓感受野更大,也就意味著要對卷積核做擴張。

空洞卷積 dilated convolution

cnn在諸如分類 識別 任務中的處理過程一般是卷積 池化 全連線。這三種操作把資料轉換成多個低維度特徵,便於分類。如把一張128x416的影象轉換成乙個1x1x100的特徵圖,就可以做成乙個100路分類器。卷積 池化都是下取樣操作。下取樣降低資料的耦合性,增加了網路的不變性 乙個畫素和它周圍的畫素相...

上取樣 以及反卷積 空洞卷積區別

一 上取樣 upsampling upsampling 上取樣 的三種方式 resize,如雙線性插值直接縮放,類似於影象縮放 反卷積 deconvolution transposed convolution 反池化 unpooling 上取樣upsampling的主要目的是放大影象,幾乎都是採用內...

骨架網路(Backbone)之 空洞卷積

空洞卷積空洞卷積最初是為解決影象分割的問題而提出的。常見的影象分割演算法通常使用池化層來增大感受野,同時也縮 小了特徵圖尺寸,然後再利用上取樣還原影象尺寸。特徵圖縮小再放大的過程造成了精度上的損失,因此需要有 一種操作可以在增加感受野的同時保持特徵圖的尺寸不變,從而替代池化與上取樣操作,在這種需求下...