日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

转载系列 |ICCV2019:ACNet:Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution

發布時間:2023/12/29 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转载系列 |ICCV2019:ACNet:Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文:ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric
Convolution Blocks
論文鏈接:https://arxiv.org/abs/1908.03930
代碼鏈接:https://github.com/DingXiaoH/ACNet

ACNet,全稱是Asymmetric Convolution Net,翻譯過來就是非對稱卷積網絡。這篇論文也是從更好的特征表達角度切入實現效果提升,不過更重要的是:沒有帶來額外的超參數,而且在推理(或者叫驗證、部署,本質上都是只執行前向計算)階段沒有增加計算量,在我看來后者更有吸引力

在開始介紹ACNet之前,先來看一個關于卷積計算的式子,式子中I表示一個二維矩陣,可以看做是卷積層的輸入,也就是輸入特征圖,K(1)和K(2)分別表示2個二維卷積核,這2個卷積核的寬和高是一樣的,那么下面這個式子的意思就是:先進行K(1)和I卷積,K(2)和I卷積后再對結果進行相加,與先進行K(1)和K(2)的逐點相加后再和I進行卷積得到的結果是一致的。這是ACNet能夠在推理階段不增加任何計算量的原因

接下來直接通過Figure1來看ACNet的思想。整體上ACNet的思想分為訓練和推理階段,訓練階段重點在于強化特征提取,實現效果提升;推理階段重點在于卷積核融合,實現0計算量增加

訓練階段:因為3 ××× 3尺寸的卷積核是目前大部分網絡的標配,所以這篇論文的實驗都是針對3 ××× 3尺寸進行的。訓練階段簡單來說就是將現有網絡(假設用Net_origin表示,比如ResNet)中每一個3 ××× 3卷積層替換成3 ××× 3+1 ××× 3+3 ××× 1共3個卷積層,如Figure1左圖所示,最后將這3個卷積層的計算結果進行融合得到卷積層輸出。因為引入的1 ××× 3和3 ××× 1卷積核尺寸是非對稱的,所以取名Asymmetric Convolution。

推理階段:這部分主要就是做3個卷積核的融合。依據就是前面我們介紹的公式:先分別對輸入進行卷積后融合結果,與先融合卷積核再對輸入進行卷積,結果是一樣的。這部分在實現上是用融合后的卷積核參數初始化現有網絡:Net_origin,因此在推理階段,網絡結構和原始網絡是一模一樣的(沒有1 ××× 3和3 ××× 1卷積層了),只不過網絡參數采用特征提取能力更強的參數(融合后的卷積核參數),因此在推理階段不會增加計算量

到此其實ACNet的內容就基本介紹完了,總結下來就是訓練階段強化特征提取能力,推理階段融合卷積核達到不增加計算量的目的,雖然訓練時間會增加一些,但推理階段不費一兵一卒就能提升效果,方便且適用于現有的分類網絡,何樂而不為。

當然,我覺得這篇論文的精彩之處不僅僅是以上這些思想,論文中關于訓練階段將1個3 ××× 3卷積層替換成3 ××× 3、1 ××× 3和3 ××× 1這3個卷積層的組合可以提升效果的討論依然言之有理。
在公開數據集上其實ACNet并沒有非常明顯的效果提升,比如Table3,對于常用的ResNet和DenseNet而言,提升不到1個百分點,只不過至少是白賺的:

但正如論文中所述,ACNet有一個特點在于提升了模型對圖像翻轉和旋轉的魯棒性
Figure4從理論上解釋這種魯棒性,當在訓練階段引入1 ××× 3卷積核時,即便在驗證階段將輸入圖像進行上下翻轉,這個訓練好的1 ××× 3卷積核仍然能夠提取正確的特征(如Figure4左圖所示,2個紅色矩形框就是圖像翻轉前后的特征提取操作,在輸入圖像的相同位置處提取出來的特征還是一樣的)。
假如訓練階段只有3 ××× 3卷積核,那么當圖像上下翻轉后,(如Figure4右圖所示,2個紅色矩形框就是圖像翻轉前后的特征提取操作,在輸入圖像的相同位置處提取出來的特征是不一樣的)。
因此,引入類似1 ××× 3這樣的水平卷積核可以提升模型對圖像上下翻轉的魯棒性,豎直方向卷積核同理

Table4從實驗上解釋這種魯棒性。需要注意的是rotate 180°和左右翻轉是不一樣的,rotate 180°實際上是上下翻轉+左右翻轉,所以個人認為Table4中加上上下翻轉的實驗會更完整一些。

有一個點比較有意思,在論文中提到具體的融合操作是和BN層一起的,如Figure3所示,注意融合操作是在BN之后。但假其實也可以把融合操作放在BN之前,也就是3個卷積層計算完之后就進行融合。論文中關于這二者的實驗可以參考Table4,在Table4中BN in branch這一列有√的話表示融合是在BN之后,可以看到效果上確實是在BN之后融合要更好一些(AlexNet的56.18% vs 57.44%,ResNet-18的70.82% vs 71.14%)。
不過論文中沒有看到這部分的原理討論,個人理解這部分效果的差異是因為增加了不同尺寸卷積核的權重導致的,統一的BN層沒有更細化的針對每個特征圖的BN來得極致

另外即便融合操作放在BN層之前,相比原始網絡仍有一定提升(AlexNet的56.18% vs 55.92%,ResNet-18的70.82% vs 70.36%%),這部分的原因個人理解是來自梯度差異化,原來只有一個3 ××× 3卷積層,梯度可以看出一份,而添加了1 ××× 3和3 ××× 1卷積層后,部分位置的梯度變為2份和3份,也是更加細化了。而且理論上可以融合無數個卷積層不斷逼近現有網絡的效果極限,融合方式不限于相加(訓練和推理階段一致即可),融合的卷積層也不限于1 ××× 3或3 ××× 1尺寸。

整體上ACNet的創新點還是很棒的,相信對很多領域都會有啟發意義,期待后面更多意思的工作。

總結

以上是生活随笔為你收集整理的转载系列 |ICCV2019:ACNet:Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。