Learning Filter Pruning Criteria for Deep Convolutional Neural Networks Acceleration
https://openaccess.thecvf.com/content_ECCV_2018/papers/Zehao_Huang_Data-Driven_Sparse_Structure_ECCV_2018_paper.pdf
background
NN部署balabala~~~。
related work and the limit
經(jīng)典的三段式(training-pruning-finetune)裁剪方法,很重要的一個步驟就是如何選擇合適的重要性評判標(biāo)準(zhǔn)(select an appropriate pruning criterion is the key ingredient)?,F(xiàn)有方法存在兩個問題:1、對所有層采用相同的criterion,沒有考慮到不同層特征的不同分布;2、現(xiàn)有方法大多貪心地逐層獨(dú)立裁剪,沒有考慮到各層對最終精度的協(xié)作作用。
novel points
提出了加入criterion采樣器的方法,通過學(xué)習(xí)來為每一層選擇合適的criterion,同時該采樣器是在學(xué)習(xí)中通過Loss來同步更新的,所有能夠同時考慮所有層。
本質(zhì)上,就是對SFP等方法加入了可微NAS的模塊,搜索空間為criterion (對每一層有L1 / L2 / GM 三種選擇, 所以搜索復(fù)雜度只有 3N)
methodology
采用基于可微梯度的NAS搜索方法(Darts系列)來實(shí)現(xiàn)采樣器Sampler(就是對每一層的每一種待選criterion加一個結(jié)構(gòu)參數(shù)α)。對每一個卷積層,首先分別采用不同的criterion來進(jìn)行評估得到裁剪方案,然后根據(jù)概率P來對每一種方案的輸出進(jìn)行加權(quán)并對齊求和。這里的對齊是因?yàn)楦鞣N裁剪方案下所裁剪掉的filter可能是不同的,只對各個criterion下保留的filter結(jié)果進(jìn)行組合。這里的概率P由α通過softmax獲得,為實(shí)現(xiàn)離散采樣的梯度傳播,采用Gumble-Softmax。


具體算法流程如下,從算法來看,這里給出的是針對預(yù)訓(xùn)練模型的裁剪,只進(jìn)行結(jié)構(gòu)參數(shù)α的搜索,尋找到該pretrained模型下的最優(yōu)criterion組合,再進(jìn)行裁剪后模型的finetune。

evaluation(benchmark, experiments design)
ResNet系列在 Cifar10/Cifar100/ImageNet上的結(jié)果,最終結(jié)果是很優(yōu)秀的,在Cifar10上壓縮Res56,在裁剪掉53%FLOPs的同時可以保留93.24%的精度,在ImageNet上,裁剪掉61%的FLOPs可以達(dá)到94.46%的精度。但是只給出了幾個最終結(jié)果,沒有多個裁剪量級上的結(jié)果展示,也沒有更多網(wǎng)絡(luò)或不同任務(wù)上的泛化性結(jié)果。例如ImageNet上只給出裁剪掉61%的FLOPs的結(jié)果,比較的對象卻是其它方法裁剪掉50%的結(jié)果,精度沒有現(xiàn)有方法高,無法有效證明該方法的有效性。
更多試驗(yàn),證明了 large-norm-more-importance,有點(diǎn)意義不大。。。對于訓(xùn)練過程中,criterion逐漸趨于收斂的現(xiàn)象也沒有更充分的解釋或進(jìn)一步試驗(yàn)。。。。
Thoughts:
1、 Describe what the authors of the paper aim to accomplish, or perhaps did achieve.
? ? 采用NAS來自動搜索各層的裁剪criterion,代替人工選擇。
2、 If a new approach/ technique/ method was introduced in a paper, what are the key elements of the newly proposed approach?
? ? 套用了基于梯度的NAS模式,進(jìn)行了一個較小搜索空間上的搜索。最終結(jié)果還較為可觀,但是沒有進(jìn)一步的解釋說明,只是歸結(jié)于了NAS的大力出奇跡。。。
3、 What content within the paper is useful to you?
? ? 將搜索空間擴(kuò)展到criterion,確實(shí)是比較新穎的一個方向
4、 Which parts are not perfect, or need to be improved or researched further?
? ? a、 實(shí)驗(yàn)結(jié)果不完善不充分。。。評審居然沒有提出意見???
? ? b、 搜索空間較少,只有三種待選criterion,且L1/L2相似度較高
? ? c、 這里的實(shí)現(xiàn)只適用于weights-based評估策略,可以考慮更進(jìn)一步加入基于激活值的策略,擴(kuò)大搜索空間
? ? d、 很重要的一個問題:前文說不同層有著不同粒度的特征提取,但后文基本再無提及。這里只是將NAS套用,沒有更多地討論分析
? ? e、 不同層采用criterion是否真的有用???搜索更好的criterion是很好的方向,但是否應(yīng)該是在不同層實(shí)現(xiàn)異構(gòu)搜索?該搜索結(jié)果對于CNN的特征解釋是否能帶來一些啟示?
5、 What other references do you want to follow?
? ? 本篇參考文獻(xiàn)中應(yīng)該有一些filter特征的分析。[52] J. Yosinski, J. Clune, A. Nguyen, T. Fuchs, and H. Lipson. Understanding neural networks through deep visualization. ICML Deep Learning Workshop, 2015. 2