1. 程式人生 > 其它 >Kronecker convolution 克羅內克卷積理解

Kronecker convolution 克羅內克卷積理解

在瞭解空洞卷積時候發現了Kronecker convolution是對空洞卷積的改進,於是學習了一下 ,原文連線:1812.04945v1.pdf (arxiv.org)個人理解如下:

  首先,對於一個普通卷積,假設輸入為A,A的大小為(Ha,Wa,Ca),卷積後的輸出為B,B的大小為(Hb,Wb,Cb),卷積核 K 的大小為Cb*Ca*(2k+1)(2k+1)。

  對於所提出的Kronecker卷積,引入了一個變換矩陣F,通過FK的乘積來擴充套件KK經過擴充套件後記為K‘K‘的大小為r1(2k+1)*r1(2k+1)。相應地,A中參與卷積的Patch大小也就從原來的(2k+1)(2k+1)變成了(2k+1)r1*(2k+1)r1。其中F由單位矩陣和0矩陣組成,大小為r1*r1,r1被稱為內部膨脹因子,用來控制卷積核的膨脹率。r2為

內部共享因子,控制子區域的大小。

也就是說 與單純插入0的空洞卷積相比,Kronecker卷積通過與變換矩陣F的乘積展開核,內部膨脹因子控制核的膨脹率,內部共享因子控制子區域的大小。


那麼為什麼F與K相乘後K的大小增大了呢?

  這是因為F與K的相乘方法為Kronecker product ,即克羅內克積,其定義如下:

所以我的理解是 卷積仍然是普通的卷積,但是卷積核發生了變化,卷積核的變化過程中採用了克羅內克積。