「AutoML」如何使用強化學習進行模型剪枝?

AIBigbull2050發表於2019-11-15
2019-11-13 11:43:44

大家好,歡迎來到專欄《AutoML》,在這個專欄中我們會講述AutoML技術在深度學習中的應用,這一期講述在模型剪枝中的應用。

作者&編輯 | 言有三

我們往期的文章中介紹了各種各樣的模型壓縮技巧,那麼是否也可以使用AutoML技術來用於模型壓縮,比如剪枝呢。

1 AMC

AutoML for Model Compression(AMC)是一個利用強化學習自動搜尋並提高模型剪枝演算法質量的框架,其完整的流程如下:

「AutoML」如何使用強化學習進行模型剪枝?

在一般的剪枝演算法中,我們通常遵循一些基本策略:比如在提取低階特徵的引數較少的第一層中剪掉更少的引數,對冗餘性更高的FC層剪掉更多的引數。然而,由於深度神經網路中的層不是孤立的,這些基於規則的剪枝策略並不是最優的,也不能從一個模型遷移到另一個模型。

AMC方法便是在該背景下,利用強化學習自動搜尋並提高模型壓縮的質量,該框架是每一層進行獨立壓縮,前一層壓縮完之後再往後層進行傳播,t層接受該層的輸入特徵s_t,輸出稀疏比率a_t,按照a_t對該層進行壓縮後,智慧體移動到下一層L_t+1,使用驗證集精度作為評估,虛擬碼如下:

「AutoML」如何使用強化學習進行模型剪枝?

作者們對兩類場景進行了實驗,第一類是受延遲影響較大的應用如移動APP,使用的是資源受限的壓縮,這樣就可以在滿足低FLOP和延遲,小模型的情況下實現最好的準確率;這一類場景作者透過限制搜尋空間來實現,在搜尋空間中,動作空間(剪枝率)受到限制,使得被智慧體壓縮的模型總是低於資源預算。

另一類是追求精度的應用如Google Photos,就需要在保證準確率的情況下壓縮得到更小的模型。對於這一類場景,作者定義了一個獎勵,它是準確率和硬體資源的函式。基於這個獎勵函式,智慧體在不損害模型準確率的前提下探索壓縮極限。

每一層的狀態空間為(t, n, c, h, w, stride, k, FLOP s[t], reduced, rest, at−1),t是層指數,輸入維度是n×c×k×k,輸入大小是c×h×w,reduces就是前一層減掉的flops,rest是剩下的flops。

因為剪枝對通道數特別敏感,所以這裡不再是使用離散的空間,如{128,256},而是使用連續的空間,使用deep deterministic policy gradient (DDPG)來控制壓縮比率,完整的演算法流程如下:

「AutoML」如何使用強化學習進行模型剪枝?

對於細粒度的剪枝,可以使用權重的最小幅度作為閾值,對於通道級別的壓縮,可以使用最大響應值。

在谷歌Pixel-1 CPU和MobileNet模型上,AMC實現了1.95 倍的加速,批大小為1,節省了34%的記憶體。在英偉達Titan XP GPU 上,AMC實現了1.53 倍的加速,批大小為50。

2 關於模型最佳化的推薦資料

如果說要我在深度學習這麼多方向裡選擇一個的話,我會毫不猶豫地選擇模型最佳化,這也是我一直在做的事情。

公眾號寫過很多的模型解讀了,如下是一些總結:

「完結」總結12大CNN主流模型架構設計思想

「AI不惑境」移動端高效網路,卷積拆分和分組的精髓
「AI不惑境」殘差網路的前世今生與原理

知識星球也有一個模型結構1000變板塊,是比公眾號的內容更深更廣。如果感興趣的話這周加入最合適,雙十一優惠還在。

「雜談」為什麼要在雙十一這一週邀請大家加入有三AI知識星球

「AutoML」如何使用強化學習進行模型剪枝?

「AutoML」如何使用強化學習進行模型剪枝?

「AutoML」如何使用強化學習進行模型剪枝?

之前在阿里天池也做了幾場直播,往期影片如下:

「直播」深度卷積神經網路模型設計技術

「直播」如何設計效能更強大的深度卷積神經網路

「直播」如何獲得更加高效的深度卷積神經網路

模型的最佳化技術包括設計更高效的模型結構,模型剪枝,量化技術等,如今隨著AutoML技術的發展,也有了更廣闊的空間,下面提供了一些參考資料大家可有閱讀。

[1] He Y, Lin J, Liu Z, et al. Amc: Automl for model compression and acceleration on mobile devices[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 784-800.

[2] Luo J H, Wu J. Autopruner: An end-to-end trainable filter pruning method for efficient deep model inference[J]. arXiv preprint arXiv:1805.08941, 2018.

[3] Zhou D, Jin X, Wang K, et al. Deep Model Compression via Filter Auto-sampling[J]. arXiv preprint arXiv:1907.05642, 2019.

[4] Carreira-Perpinán M A, Idelbayev Y. “Learning-Compression” Algorithms for Neural Net Pruning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8532-8541.

總結

這次我們介紹了AutoML在模型剪枝中的一個經典案例






來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2664397/,如需轉載,請註明出處,否則將追究法律責任。

相關文章