骨架和分類網絡論文雜讀

一些backbone的圖解傳送門

未看或未總結:

[201906-arxiv]Stand-Alone Self-Attention in Vision Models[paper]

Res2Net: A New Multi-scale Backbone Architecture

MobileNetV2

 

[201906-arxiv] Does Object RecognitionWork for Everyone?

探討了一個嚴肅的問題,收入對物體識別的影響有多大

[201905-arxiv] EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

傳統的改善backbone的思路是分別做深,寬,或者用高分辨率的輸入。作者實驗發現如果僅僅只用其中一個因子來改善backbone所帶來的性能提升很快就飽和

作者認爲需要同時改變這三個,並提出了一個經驗的公式

[2019-CVPR]MnasNet Platform-Aware Neural Architecture Search for Mobile

利用強化學習搜索網絡架構,對作者的Factorized Hierarchical Search Space的創新點不是很理解

[2019-ICLR]Approximating CNNs with Bag-Of-Loca-Features Models Works Surprisingly Well on Imagenet [paper]

看完這個之後更加堅定了以後要多看這類論文的想法。因爲這個論文網上宣傳得挺多的,所以對它的結論已經不是那麼震驚。不過在摘要裏看到了這句話 Furthermore, the BagNets behave similar to state-of-the art deep neural networks such as VGG-16, ResNet-152 or DenseNet-169 in terms of feature sensitivity, error distribution and interactions between image parts,我就在想如果自己去做,這個該怎麼設計實驗去說明,想了挺久也沒有答案。

這篇論文的結論就是利用 BAG-OF-LOCAL FEATURES 就可以取得跟Alexnet類似的效果。

局部特徵是通過限制網絡的感受野得到的,比如把resnet裏面大量的3*3卷積換成1成1卷積,那麼到了最後一層的feature map,每一個點對應的感受野非常小,然後通過fc去得到最後的結果

下面重點關注他怎麼設計實驗去說明BagNets在某些方面的表現形式跟主流的骨架網絡表現一致的

1 bags of features這樣設計本質上已經對特徵的空間順序不再有要求,所以打亂這種順序應該不影響最終的結果。

One core component of the bag-of-feature networks is the neglect of the spatial relationships between image parts. In other words, scrambling the parts across the image while keeping their counts constant does not change the model decision. Unfortunately, due to the overlapping receptive fields

it is generally not straight-forward to scramble an image in a way that leaves the feature histograms invariant. For VGG-16 an algorithm that comes close to this objective is the popular texture synthesis algorithm based on the Gram features of the hidden layer activations

所以平時無關的論文也要多看看

這個雖然對人的判斷影響很大,但是對BagNet和VGG影響比較小

2 Spatially distinct image manipulations do not interact

這個高大上的詞彙組起來我竟然沒看懂,不過看這幅圖會比較清楚一些

發現VGG也呈現類似的效果

The results (Figure 6C) show that VGG-16 exhibits few interactions between image parts spaced by more than 30 pixels. The interactions increase for deeper and more performant architectures.

[2018-arxiv]ShuffleNet V2: Practical Guidelines for efficient CNN Architecture Design

 提出了一些設計輕量級網絡的指導意見

標準上不提倡使用FLOPs,因爲同樣Flops的不同網絡在速度上也有明顯的差別。

具體原因主要有兩種內存讀取需要花時間,還有網絡可以被並行計算的度,像inception加很多不同的分支的設計並行度就比較低。另外有些平臺會對特殊的操作比如3*3的卷積做特殊的優化,所以3*3卷積的速度可能不會比1*1的慢9倍。

G1:Equal channel width minimizes memory access cost(MAC)

假設卷積核是1*1,那麼flops數F=hwcico, MAC爲兩個feature map還有權重,分別爲

hw(ci+co)+cico

>=hw*sqrt(2cico)+cico

=sqrt(2Fhw) + F/HW

可知在固定的flops下,MAC能在cico相等時取的最小值,當然現實中內存系統比較複雜,跟理論分析有些差距,比如有可能不足以存儲所有的fature map等之類。不過作者做了實際的實驗,驗證了上面的結論。

G2:Excessive group convolution increases MAC.

在與G1類似的分析手段下,作者得出在同樣的Flops下分組越多增加MAC

G3: Network fragmentation reduces degree of parallelism.

這個實驗有點違反我的潛意識 ,我之前以爲d要比b,e要比c快.

G4) Element-wise operations are non-negligible.

最後作者提出了自己的架構

爲了符合G1,在c圖中的上部加了一個channel split(默認1/2),並且不像V1版本中右邊的分路有bottleneck

爲了符合G2,砍了兩個 group conv,在V1中group一般爲3,在V2中由於有channel split中已經分了兩組

G3不是太明顯,不太理解作者的解釋

爲了符合G4,沒有了add,並且concat,shuffle,和split可以融合在一起,具體的實現未

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章