膨脹卷積學習筆記

2020-12-04 NLP學習筆記

膨脹卷積 (Dilated Convolution,也稱為空洞卷積),與標準的卷積核不同,膨脹卷積在 kernel 中增加了一些空洞,從而可以擴大模型的感受野。

1.膨脹卷積和標準卷積區別

我們先通過下圖看一下膨脹卷積和標準卷積的區別,採用的卷積核都是 3×3 的。膨脹卷積有一個超參數 dilation rate,表示卷積核的間隔,標準卷積的 dilation rate 為 1,下圖的膨脹卷積 dilation rate 為 2。

2.為什麼需要膨脹卷積

用 CNN 進行圖像處理時,通常需要經過多次卷積和 pooling 操作增大模型的感受野。pooling 可以減少圖像的尺寸,再使用卷積核可以增大感受野;多個卷積核堆疊也可以增大感受野。經過卷積和 pooling 的 feature map 會比較小,這時可以傳到全連接網絡進行分類。

但是在進行圖像分割時,需要針對每個像素點進行預測,因此還要把減小尺寸後的 feature map 通過 up sampling 的方法 (如 deconv 反卷積) 轉回原始圖像尺寸再進行預測。如下圖所示:

這一過程的主要問題:

信息丟失,pooling 操作是不可逆轉的,通過對 feature map 進行 up sampling 還原圖像尺寸時丟失信息。無法重構小的物體圖像,如果一個物體佔 4×4 的像素,則經過 4 次 pooling 操作之後,物體的信息就無法重構了。為了避免使用 pooling 等操作擴大感受野,《MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS》中提出了膨脹卷積 (dilated convolution)。膨脹卷積會在卷積的過程中增加一些空洞,略過空洞的點,如下圖所示。

上圖中的三個卷積核尺寸都是 3×3。

(a) 中的卷積為標準的卷積,即 dilation rate = 1,此時這個卷積核的感受野大小為 3×3。

(b) 中的卷積核跟在 (a) 的卷積操作後面,但是採用膨脹卷積,dilation rate = 2,即卷積的空洞為 1,此時每個卷積操作的點的感受野為 3×3,整個卷積核的感受野為 7×7。

(c) 中的卷積核跟在 (b) 的卷積操作後面,dilation rate = 4,即卷積空洞為 3,此時每個卷積點對應的感受野為 7×7,整個卷積核的感受野為 15×15。

在 NLP 中也可以利用膨脹卷積,使模型獲得更大的上下文信息,如下圖所示。

第一層卷積層使用尺寸為 3 的標準卷積核,第二層使用尺寸為 3 的膨脹卷積核 (dilation rate 為 2)。這樣第二層的每一個點感受野變成了 7。

3.膨脹卷積的一些問題

膨脹卷積替代了傳統的 max-pooling 和 strided convolution,能夠增大感受野並保持 feature map 的尺寸和原始圖片一致。但是膨脹卷積仍然存在一些問題,在論文《Understanding Convolution for Semantic Segmentation》中提到:

gridding problem,如果我們疊加多個相同的膨脹卷積,會發現感受野中有很多像素沒有利用上,出現大量空洞。此時,會丟失數據之間的連續性及完整性,不利於學習。下圖展示了連續進行 3 次相同膨脹卷積的效果 (卷積核大小為 3×3,dilation rate = 2)。

長距離的信息有時是不相關的,膨脹卷積擴大了感受野,因此可以取得長距離信息,但是有些長距離信息和當前點是完全不相關的,會影響數據的一致性。為了解決上述問題,論文中提出了混合膨脹卷積 HDC (hybrid dilated convolution)。HDC 主要措施:

使多個膨脹卷積後的感受野內不存在空洞,假設有 n 個膨脹卷積核,dilation rate 分別是 [r1, r2, ..., rn]。如果 [r1, r2, ..., rn] 能使下式滿足,則說明感受野不會存在空洞,下式中的 Mi 指第 i 層可以使用的最大的 dilation rate,K 使卷積核尺寸。

不同的卷積層使用不同的 dilation rate,對於一組膨脹卷積,設置不同的 dilation rate,dilation rate 逐漸增大。例如 3 個卷積核可以分別設置 dilation rate 為 [1, 2, 5]。這樣最後一層有比較大的感受野,同時不會丟失大量的局部信息,如下圖所示。

4.參考文獻

MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS

Convolutional Sequence to Sequence Learning

Understanding Convolution for Semantic Segmentation

相關焦點

  • 形象理解深度學習中八大類型卷積
    本文總結了深度學習中常用的八大類型的卷積,以非常形象的方式幫助你建立直覺理解,為你的深度學習提供有益的參考。分別是單通道卷積、多通道卷積、3D卷積、1 x 1卷積、轉置卷積、擴張卷積、可分離卷積、分組卷積。
  • 深度| 理解深度學習中的卷積
    有太多的公開課、教程在反覆傳頌卷積神經網絡的好,卻都沒有講什麼是「卷積」,似乎默認所有讀者都有相關基礎。這篇外文既友好又深入,所以翻譯了過來。文章高級部分通過流體力學量子力學等解釋卷積的做法在我看來有點激進,這些領域恐怕比卷積更深奧,所以只需簡略看看即可。以下是正文:卷積現在可能是深度學習中最重要的概念。正是靠著卷積和卷積神經網絡,深度學習才超越了幾乎其他所有的機器學習手段。
  • 從全卷積網絡到大型卷積核:深度學習的語義分割全指南
    By路雪 2017年7月14日  語義分割一直是計算機視覺中十分重要的領域,隨著深度學習的流行,語義分割任務也得到了大量的進步。本文首先闡釋何為語義分割,然後再從論文出發概述多種解決方案。本文由淺層模型到深度模型,簡要介紹了語義分割各種技術,雖然本文並沒有深入講解語義分割的具體實現,但本文簡要地概述了每一篇重要論文的精要和亮點,希望能給讀者一些指南。
  • 深度學習之卷積神經網絡經典模型
    隨著ReLU與dropout的提出,以及GPU帶來算力突破和網際網路時代大數據的爆發,卷積神經網絡帶來歷史的突破,AlexNet的提出讓深度學習走上人工智慧的最前端。這就會出現飽和的現象,飽和現象中神經元的梯度會變得特別小,這樣必然會使得網絡的學習更加困難。此外,sigmoid的output的值並不是0為均值,因為這會導致上一層輸出的非0均值信號會直接輸入到後一層的神經元上。所以AlexNet模型提出了ReLU函數,公式:f(x)=max(0,x)f(x)=max(0,x)。
  • 深入理解卷積網絡的卷積
    但由於其複雜的無監督學習算法,即無監督學習,該模型並不受歡迎。1989年,Yann LeCun利用反向傳播和Neocognitron的概念提出了一種名為LeNet的架構,該架構被美國和歐洲用於手寫的郵政編碼識別。郵政服務。Yann LeCun進一步研究了這個項目,最終在1998年發布了LeNet-5——第一個引入了我們今天在CNN仍然使用的一些基本概念的現代卷積神經網絡。
  • 乾貨貼|CNN中常用的四種卷積
    卷積是深度學習中最重要的概念之一。深度學習超越了其他機器學習手段的核心就在於卷積和卷積神經網絡。這就很有必要了解常見的卷積: 一般卷積、 擴張卷積、轉置卷積、可分離卷積。
  • 萬字長文帶你看盡深度學習中的各種卷積網絡(上篇)
    如果你曾聽過深度學習的各種卷積網絡(例如 2D/3D/ 1x1 / 轉置 /空洞(擴張)/ 空間可分離 / 深度可分離 /扁平化 / 分組 / 混洗分組卷積)並疑惑它們到底都是什麼的話,你可以通過這篇文章了解它們實際的工作原理。在文中,我概括性地介紹了在深度學習中常見的幾種卷積,並採用了大家都能夠明白的方式來解釋它們。
  • 總結 | 「卷積」其實沒那麼難以理解
    連續不停地打,這時可憐的無賴只能祈求上帝了:這就是卷積公式,它本質上說系統(人)在連續激勵下(挨板子)所的得到的結果(疼)。翻譯的學術一點:卷積將是過去所有連續信號經過系統的響應之後得到的在觀察那一刻的加權疊加。而現實生活中,我們就是要解大量的這種問題,這也就是為啥卷積這麼常見這麼重要的原因。三、卷積定理又是個什麼玩意?
  • 德克薩斯A&M大學在讀博士遊宇寧:自監督學習在圖卷積網絡中的研究...
    為了有效利用大量的無標籤數據,自監督學習通過設置合理的學習目標和定義前置任務,從數據本身中得到了監督信號。當前自監督學習已經被廣泛用於訓練卷積神經網絡(CNNs),有效地提高了圖像表示學習可傳遞性、泛化能力和魯棒性,並且已在語義分割、目標檢測、圖像分類、人體動作識別等實戰場景中展現出卓越效果。現在更多無需人工標註的前置任務訓練也被提出,如前景對象分割、圖像修補、圖像著色等。
  • CVPR2017精彩論文解讀:結合序列學習和交叉形態卷積的3D生物醫學...
    下文是宜遠智能的首席科學家劉凱對此次大會收錄的《結合序列學習和交叉形態卷積的3D生物醫學圖像分割》(Joint Sequence Learning and Cross-Modality Convolution for 3D Biomedical Segmentation)一文進行的解讀。
  • 圓周卷積與直接卷積
    我們都知道在模擬域對於連續信號,時域卷積等於頻域乘積,時域乘積等於頻域卷積,因此對於在時域求兩個信號的卷積,我們可以先對兩個信號做FFT後,然後做乘法,然後求IFFT得到信號在時域的卷積結果。但在數字域對於離散信號是沒有這個性質的,兩個序列的直接卷積不能通過兩個序列的FFT的乘積然後做IFFT得到時域的卷積結果,matlab仿真如下,直接卷積matab代碼,需要對兩個序列分別做7點FFT,然後求IFFT的結果才與時域卷積結果一致。
  • MIT 6.S094· 計算機視覺 | 學霸的課程筆記,我們都替你整理好了
    ,提煉出每一講的要點精華,推薦結合課程筆記觀看視頻內容,學習效果更佳。深度學習對於計算機視覺來說比較難。無監督學習強化學習。,進行不同的卷積和連接。- 在轉化之前傳遞輸入數據,並具有學習權重的能力。- 每一層使用前一層的輸入,原始數據和未轉換的數據學習新的參數。
  • 深度學習技術和卷積神經網絡(CNN)讓機器視覺識別更智能
    隨著人工智慧技術的進步,深度學習技術(DL)和卷積神經網絡技術(CNN)領域的人工智慧(AI)被引入到機器視覺圖像處理系統的應用中來,從而幫助機器學習和機器檢測缺陷更加高效,使機器視覺識別的過程更加精確。也讓使用這些技術的企業可以從智能化中獲得更高的生產經營效益。
  • CNN 中千奇百怪的卷積方式大匯總
    膨脹卷積 --Multi-scale context aggregation by dilated convolutions 我在博客裡面又做了一個空洞卷積小 demo 方便大家理解 【Tensorflow】tf.nn.atrous_conv2d 如何實現空洞卷積?
  • 10分鐘弄懂深度學習3:卷積可以這麼理解
    機器學習、信號處理、通信、或自動控制相關專業的學生,無一例外都會碰到一個概念叫,卷積(convolution)。當前最熱門的人工智慧中的卷積神經網絡,也都含有卷積這個詞。那麼,卷積到底是個什麼東西呢?有什麼用呢?卷積的定義卷積實際上是兩個信號的操作。
  • 初一學習方法:做筆記
    做筆記是門很少有人研究的學問。會做筆記的同學可能上課時記得並不多,但很有成效。有些同學的筆記只有自己看得懂,但也很有效。相反,有的同學筆記記得很多,上課時幾乎一直在記筆記,不僅效果差,甚至會影響聽課效果。所以學會有效地做筆記對於每一個同學來說都是很重要的。   1.如何記課堂筆記?
  • AI入門:卷積神經網絡
    講到AI不得不講深度學習,而講到深度學習,又不能不講卷積神經網絡。如果把深度學習比作中國的網際網路界,那捲積神經網絡和循環神經網絡就是騰訊和阿里級別的地位。今天我們主要討論的卷積神經網絡,到底卷積神經網絡能解決什麼問題,它的結構是怎樣的?是怎麼學習的?應用在哪些具體的產品上?本文將為大家一一解答。
  • 302頁吳恩達Deeplearning.ai課程筆記,詳記基礎知識與作業代碼
    近日,來自重慶大學的 Wan Zhen 製作了一份深度學習專項課程筆記,該筆記從神經網絡與深度學習基礎、提升深度神經網絡性能和卷積神經網絡三門課程出發詳細解釋了關鍵概念與作業代碼。本文概括性地介紹了這三課的主要內容,並選擇每個課程主題比較有意思的知識點進行介紹。
  • 可分離卷積基本介紹
    不幸的是,空間可分離卷積具有一些顯著的局限性,這意味著它在深度學習中沒有被大量使用。 空間可分卷積之所以如此命名,是因為它主要處理圖像和卷積核(kernel)的空間維度:寬度和高度。 (另一個維度,「深度」維度,是每個圖像的通道數)。 空間可分離卷積簡單地將卷積核劃分為兩個較小的卷積核。
  • 卷積神經網絡的卷積到底是什麼
    但由於其複雜的無監督學習算法,即無監督學習,該模型並不受歡迎。1989年,Yann LeCun利用反向傳播和Neocognitron的概念提出了一種名為LeNet的架構,該架構被美國和歐洲用於手寫的郵政編碼識別。郵政服務。Yann LeCun進一步研究了這個項目,最終在1998年發布了LeNet-5——第一個引入了我們今天在CNN仍然使用的一些基本概念的現代卷積神經網絡。