Kronecker convolution 克羅內克卷積理解
阿新 • • 發佈:2021-08-20
在瞭解空洞卷積時候發現了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,通過F與K的乘積來擴充套件K,K經過擴充套件後記為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 ,即克羅內克積,其定義如下:
所以我的理解是 卷積仍然是普通的卷積,但是卷積核發生了變化,卷積核的變化過程中採用了克羅內克積。