金字塔卷積:Pyramidal Convolution


論文地址:https://arxiv.org/pdf/2006.11538.pdf

github:https://github.com/iduta/pyconv

作者認為,當前CNN主要存在兩個不足:(1)實際的感受野不足;(2)在下采樣中,很多的細節信息會丟失。

從圖中可以看出,有的物體尺寸較大(建築、沙發),有的物體尺寸較小(行人,書本)。這種尺寸的變化是標准卷積級經捕獲的。為此,作者提出了金字塔卷積(Pyramid Convolution, PyConv),包含不同尺度的卷積核,可以提取多尺度信息,在多個任務上均取得了較好的性能

PyConv 的示意如圖所示,直觀來看,就是從上往下卷積核的大小依次減小,同時,在通道維度上,通道的數目依次增加。最后將得到的 feature map 拼接起來。

在圖像分類任務中的 PyConv 示意所圖所示,首先是9X9的卷積,16個卷積核,分為16組,因此生成16X16=256個 feature map;然后是7X7的卷積,16個卷積核,分為8組,因此生成16X8=128個 feature map;接着是5X5的卷積,16個卷積核,分為4組,因此生成16X4=64個 feature map;最后是3X3的卷積,16個卷積核,只有1組,因此生成16X1=16個 feature map。然后,會用1X1的卷積來使輸出的維度都為 256。

備汪:關於分組卷積,網上有一個比較形象的圖示。對於普通卷積,如果輸入的 feature map 尺寸為CHW, 卷積核的數量為N,每個卷積核的尺寸為CxKxK,那么輸出的 feature map 尺寸為 CHN,總的參數量為:NxCxKxK 。

如果進行分組卷積,假定要分成 G 組,每組輸入的 feature map 數量為 \(\frac{C}{G}\),每組輸出的 feature map 數量為 \(\frac{N}{G}\),每個卷積核的尺寸為\(\frac{C}{G}\times K\times K\), 每組的卷積核數量為 \(\frac{N}{G}\),卷積核只與同組的輸入進行卷積,則總的參數量為 \(N\times \frac{C}{G} \times K \times K\),則總的參數量減少為以前的 \(\frac{1}{G}\)

當分組數量等於輸入map數量,輸出map數量也等於輸入map的數量,即 G=N=C,每個卷積核尺寸為\(1\times K \times K\)時,就成了 Depthwise convolution。

金字塔卷積 PyConv,通過集成不同尺度的卷積核,提升了多個視覺任務的性能,同時,該模塊是一種“即插即用”的模塊,可以較好的嵌入不同的網絡架構中。


免責聲明!

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



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