如果你聽說過深度學習中不同種類的捲積(比如 2D / 3D / 1x1 /轉置/擴張(Atrous)/空間可分/深度可分/平展/分組/混洗分組卷積),並且搞不清楚它們究竟是什麼意思,那麼這篇文章就是為你寫的,能幫你理解它們實際的工作方式。
在這篇文章中,我會歸納總結深度學習中常用的幾種捲積,並會試圖用一種每個人都能理解的方式解釋它們。 除了本文之外,還有一些關於這一主題的好文章,請參看原文。
希望本文能説明你構建起對卷積的直觀認知,並成為你研究或學習的有用參考。
本文目錄 1.卷積與互相關 與 2D 卷積(編碼了 2D 域中目標的空間關係)類似,3D 卷積可以描述 3D 空間中目標的空間關係。 對某些應用(比如生物醫學影像中的 3D 分割/重構)而言,這樣的 3D 關係很重要,比如在 CT 和 MRI 中,血管之類的目標會在 3D 空間中蜿蜒曲折
對於很多網路架構的很多應用而言,我們往往需要進行與普通卷積方向相反的轉換,即我們希望執行上採樣。 例子包括生成高解析度圖像以及將低維特徵圖映射到高維空間,比如在自動編碼器或形義分割中。 (在後者的例子中,形義分割首先會提取編碼器中的特徵圖,然後在解碼器中恢復原來的圖像大小,使其可以分類原始圖像中的每個圖元。 )
實現上採樣的傳統方法是應用插值方案或人工創建規則。 而神經網路等現代架構則傾向於讓網路自己自動學習合適的變換,無需人類干預。 為了做到這一點,我們可以使用轉置卷積。
轉置卷積在文獻中也被稱為去卷積或fractionally strided convolution。 但是,需要指出「去卷積(deconvolution)」這個名稱並不是很合適,因為轉置卷積並非信號/圖像處理領域定義的那種真正的去卷積。 從技術上講,信號處理中的去卷積是卷積運算的逆運算。 但這裡卻不是這種運算。 因此,某些作者強烈反對將轉置卷積稱為去卷積。 人們稱之為去卷積主要是因為這樣說很簡單。 後面我們會介紹為什麼將這種運算稱為轉置卷積更自然且更合適。
我們一直都可以使用直接的捲積實現轉置卷積。 對於下圖的例子,我們在一個 2×2 的輸入(周圍加了 2×2 的單位步長的零填充)上應用一個 3×3 核的轉置卷積。 上採樣輸出的大小是 4×4。
|