反卷積Deconvolution


反卷積(轉置卷積、空洞卷積(微步卷積))近幾年用得較多,本篇博客主要是介紹一下反卷積,尤其是怎么計算反卷積(選擇反卷積的相關參數)

圖1 空洞卷積(微步卷積)的例子,其中下面的圖是輸入,上面的圖是輸出,顯然這是一個upsampling的過程,我們也稱為反卷積。

首先,既然本文題名為反卷積(Deconvolution),當然就是要介紹各種反卷積,不得不說的是隨着近幾年人工智能如火如荼,大牛紛紛在各個角度開始深入研究這個深度學習,這當然就是更廣了同時也更深了,但是只要抓住深度學習的命門,其實很多工作都是順理成章的,沒有想象中的那么復雜,也許這也是我對深度學習的一點小小的感悟。反卷積,它有這幾個比較熟悉的名字,例如轉置卷積、上采樣、空洞卷積、微步卷積,但我們認為,最直接的就是反卷積=上采樣=(轉置卷積+微步卷積)⊆ 空洞卷積=一般意義上的廣義卷積(包含上采樣和下采樣)。

另外,在概念上,我們只是將其稱為反卷積,這不是通過數學意義上的嚴格證明,其實只是說恢復了特征圖的尺寸大小,數值上存在差異。

為了方便說明,對二維的離散卷積,定義如下:

  • 方形的特征輸入(i1=i2=i
  • 方形的卷積核尺寸(k1=k2=k
  • 每個維度相同的步長(s1=s2=s
  • 每個維度相同的padding (p1=p2=p)

下圖表示參數為 (i=5,k=3,s=2,p=1) 的卷積計算過程,從計算結果可以看出輸出特征的尺寸為 (o1=o2=o=3)


圖2  卷積圖示例1

下圖表示參數為 (i=6,k=3,s=2,p=1)的卷積計算過程,從計算結果可以看出輸出特征的尺寸為 (o1=o2=o=3)


圖3  卷積圖示例2

從上述兩個例子我們可以總結出卷積層輸入特征與輸出特征尺寸和卷積核相關參數的關系為:

反卷積層

同理,定義反卷積的參數為上述卷積參數后加 表示。

圖4  轉置卷積

 圖5  微步卷積

可推得計算公式為:o=s(i1)+k2p。比如10*10變成19*19,可知k=3,p=1,s=2。

另外,微步卷積新的卷積核K=dilation*(k-1)+1,顯然dilation=1就相當於一般意義上的卷積,所以說空洞卷積更具一般性,事實也證明如此,Caffe中就是實現了空洞卷積和轉置卷積。

進一步閱讀請參考:

1. 如何理解空洞卷積

2.如何理解反卷積

3.反卷積


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM