如何理解空洞卷積(dilated convolution)?

時間 2021-05-06 18:25:06

1樓:妙才

空洞卷積和Pooling最大的區別在於,空洞卷積保持了特徵圖相對的空間位置,而pooling會引入平移不變性,這就是抽象和具體之間的矛盾。分類模型需要平移不變性來保證抽象不因空間位置的改變而發生改變,但分割則要求畫素精確保持空間相對位置不變,屬於具體精細的任務。

Pooling 以2*2 MaxPooling為例,會選取4個相鄰元素中最大的作為輸出,不考慮空間相對位置。而空洞卷積則不同,以rate=2為例,感受野與2*2、stride=2的maxpooling類似(相似但不相等),但卻保持了原特徵圖各元素相對位置不變,在此基礎上滑動帶孔卷積核,可以很好地保留空間位置,同時還能提高感受野照顧到分割任務的上下文資訊,所以空洞卷積在分割領域比較有效。

2樓:曾冠奇

空洞卷積,直白地說,讓每個畫素被卷積的次數變薄到一層,這樣可以有效關注區域性畫素塊的語義資訊,而不會讓每個畫素都跟周邊的畫素塊揉合在一起,影響分割的細緻度。仔細的講,前面也有人放了卷積和空洞卷積的動畫圖,你仔細看看,如果是傳統的3*3卷積,每乙個上一層的feature map的點,都會被卷積3次:第一次,作為最右邊的畫素(feature map)被卷積,第二次,作為中間的畫素被卷積,第三次,被當成最左邊的畫素被卷積。

這樣累積卷積,那麼,如果這個畫素點正好是分割的邊界點,則它會跟周邊的畫素揉合在一起,如果揉合了更多A物品的畫素,則會判斷為A的畫素塊;如果揉合了更多的B物品,則判斷成了B物品。推而廣之,會導致整個語義分割的邊界不清晰:CNN做語義分割本來是有缺陷的,因為CNN卷積得到的都是方塊,物品的語義資訊在稜角位置肯定不會是方塊的。

而空洞卷積雖然不能解決語義分割的方塊缺陷,但是,讓卷積次數變薄,降低了語義資訊的複雜性。

表達的有些費力,畫畫圖應該會清楚一些。

3樓:

使用atrous convolution的好處

atrous convolution 其實是一種特徵圖上資料取樣的方式,從資料的密集取樣到稀疏取樣,不會改變學習到的引數,改變的是輸入資料的取樣方式,因此在預訓練好的模型中可以無縫地使用,不需要改變模型的結構, 不會增加額外的引數

如果kernel_size=k,空洞卷積的步長為r, 相當於用於計算卷積的k*k個數值,分別從特徵圖中相隔r-1的位置獲取,使得感受野從k*k變為 k + (r-1) *(k-1) , 後面部分表示需要插入的0的個數

不同步長r的atrous convolution會改變輸出特徵圖的大小,需要做些其他操作

對於kernel_size=3時,將dilation == padding, 可以保證對於任意的r, 輸出的特徵圖大小相同

4樓:0玉公尺娃娃0

我的理解是作者想把卷積核減小,但卷積核減小會導致感受野縮小,從而有一系列問題(比如用pre-train的model效果沒有那麼好之類的),所以用打洞卷積保證感受野相同

5樓:ke1th

感謝@朱軍 的指正,之前說的dilated conv 也叫input stride是錯誤的,dilated conv 從表面上看,就是把卷積核膨脹了,增大了感受野,又沒有增加引數數量。把它看做乙個區域性下取樣的過程倒是可以的,我之前理解的全域性下取樣是錯誤的。

我們熟悉的stride也叫 output stride,是對卷積計算後的結果進行下取樣。這裡提到的卷積計算就是沒加任何特效的傳統stride為1的計算。 對output進行下取樣,就會得到dil stride=n的效果。

今天看到了一句話,就貼在這吧

Dilated convolutional layer (also called as atrous convolution in DeepLab) allows for exponential increase in field of view without decrease of spatial dimensions.

如何理解卷積與傅利葉變換的關係?

閔希豪森男爵 額,回覆一下樓上的roger,CNN中卷積層拿輸入和卷積核做卷積和計算其實就是二維離散卷積的分段卷積和計算法。之所以採用這種演算法是因為把輸入看多f n 卷積核看作g m m 另外本題中有一位選手推薦讀 訊號與系統 是個好建議,其實你看完這個書,拿奧本海默的訊號與系統第二版這本書的目錄...

如何理解「函式卷積的傅利葉變換等於傅利葉變換的乘積」所代表的實際意義?

青柳立夏 搬運我在另乙個問題下的回答 Richard Yan 時域的卷積傅利葉變化後變為相乘應該怎樣理解?起初,我們有度量兩個訊號相似程度的相關運算 首先相關運算不是交換的,i.e.與 的相似程度一般來說不等於 與 的相似程度 類似的,相關運算也不結合 因此,用相關運算作為 相似性 的度量顯然是不夠...

自相關函式怎麼理解,為什麼定義中有共軛,卷積呢。定義中的卷積,共軛有什麼意義?尤其是在訊號處理方面

比特曼 最近在讀 Linear Algebra Done Right 看到這個問題真是excited!首先,注意到自相關函式是這麼定義的 嗯,很熟悉的感覺。內積的定義 int f x overline textx.eeimg 1 噓 你們看,我發現了什麼?這裡有乙隻落單的公式,我們可以嘗試捕捉它,乙...