當前位置:
首頁 > 知識 > 韓松、李佳等人提出AMC:用於移動端模型自動壓縮與加速的AutoML

韓松、李佳等人提出AMC:用於移動端模型自動壓縮與加速的AutoML

選自arXiv

作者:Yihui He、Ji Lin、Zhijian Liu、Hanrui Wang、Li-Jia Li、Song Han

機器之心編譯

參與:王淑婷、張倩

移動設備的計算資源和能耗預算都很有限,因此模型壓縮對於在移動設備上部署神經網路模型至關重要。傳統的模型壓縮技術依賴手工設計的啟發式和基於規則的策略,需要領域專家探索較大的設計空間,在模型大小、速度和準確率之間作出權衡。本論文提出了適用於模型壓縮的 AutoML(AMC),利用強化學習提供模型壓縮策略,優化傳統的基於規則的壓縮策略。

在許多機器學習應用(如機器人學、自動駕駛及廣告排名)中,深度神經網路受到延遲、能耗及模型大小等因素的限制。人們提出了很多模型壓縮方法來提高神經網路的硬體效率 [26 ,19 ,22]。模型壓縮技術的核心是決定每一層的壓縮策略,因為各層的冗餘情況不同,通常需要手工設計的啟發方法和領域專業技術來探索模型尺寸、速度及準確率之間的大型設計空間權衡。設計空間如此之大,以至於手工設計的方法通常不是最優解,手動模型壓縮也非常耗時。為了解決這一問題,本文旨在為任意網路自動尋找壓縮策略,以達到優於基於規則的手工模型壓縮方法的性能。

當前已有許多基於規則的模型壓縮啟發方法 [20,16]。例如,在抽取低級特徵且參數最少的第一層中剪掉更少的參數;在 FC 層中剪掉更多的參數,因為 FC 層參數最多;在對剪枝敏感的層中減掉更少的參數等。然而,由於深度神經網路中的層不是孤立的,這些基於規則的剪枝策略並不是最優的,也不能從一個模型遷移到另一個模型。神經網路架構發展迅速,因此需要一種自動方法對其進行壓縮,以提高工程效率。隨著神經網路逐漸加深,設計空間的複雜度可達指數級,因此利用貪婪、基於規則的方法解決這一問題並不可行。所以,本文提出了針對模型壓縮的 AutoML(AutoML for Model Compression,AMC),該方法利用強化學習自動採樣設計空間並提高模型壓縮的質量。圖 1 展示了 AMC 引擎。壓縮網路時,AMC 引擎通過基於學習的策略將此過程自動化,而不是依賴基於規則的策略和經驗豐富的工程師。

圖 1:AMC 引擎圖示。左:AMC 取代人類,使模型壓縮完全自動化,而且表現優於人類。右:將 AMC 構造成強化學習問題。作者逐層處理了一個預訓練網路(即 MobileNet)。強化學習智能體(DDPG)從 t 層接收嵌入 s_t,輸出稀疏比率 a_t。用 a_t 對層進行壓縮後,智能體移動到下一層 L_t+1。評估所有層都被壓縮的修剪後模型的準確率。最後,獎勵 R 作為準確率和 FLOP 的函數被返回到強化學習智能體。

在本文中,壓縮模型的準確率對每一層的稀疏性非常敏感,需要細粒度的動作空間。因此,作者沒有在離散空間中搜索,而是提出了一種帶有 DDPG[32] 智能體的連續壓縮比控制策略,通過試驗和誤差來學習:在鼓勵模型收縮和加速的同時懲罰準確率損失。行為-評判結構也有助於減少差異,促進更穩定的訓練。具體來說,該 DDPG 智能體逐層處理網路。對於每層 L_t,智能體接收一層嵌入 s_t,s_t 編碼該層的有用特性,然後輸出精確的壓縮比 a_t。用 a_t 壓縮 L_t 層後,智能體移動到下一層 L_t+1。所有壓縮層修剪模型的驗證準確率是在沒有微調的情況下進行評估的,該準確率可有效代表微調準確率。這種簡單的近似可以減少搜索時間,而不必重新訓練模型,並提供高質量的搜索結果。策略搜索完成後,對最佳探索模型進行微調,以獲得最佳性能。

本文針對不同的場景提出了兩種壓縮策略搜索協議。針對受延遲影響較大的人工智慧應用(如移動 APP、自動駕駛汽車和廣告排名),本文提出了資源受限的壓縮,以便在給定最大量硬體資源(如 FLOP、延遲和模型大小)的情況下實現最佳準確率;對於質量至上的人工智慧應用(如 Google Photos),本文提出了保證準確率的壓縮,以便在不損失準確率的情況下得到最小的模型。

作者通過限制搜索空間來實現資源受限的壓縮,在搜索空間中,動作空間(剪枝率)受到限制,使得被智能體壓縮的模型總是低於資源預算。對於保證準確率的壓縮,作者定義了一個獎勵,它是準確率和硬體資源的函數。有了這個獎勵函數,作者能夠在不損害模型準確率的前提下探索壓縮的極限。

為了證明其廣泛的適用性,作者在多個神經網路上評估了該 AMC 引擎,包括 VGG [45], ResNet [21], and MobileNet [23],並測試了壓縮模型從分類到目標檢測的泛化能力。大量實驗表明,AMC 提供了比手工設計的啟發式策略更好的性能。對於 ResNet-50,作者把專家調優的壓縮比 [16] 從 3.4 倍提高到了 5 倍而不損失準確率。此外,該研究將 MobileNet 的 FLOP 減少了 2 倍,使最高準確率達到了 70.2%,這一數字的曲線比 0.75 MobileNet 的帕累托曲線(Pareto curve)更好。在 Titan XP 和安卓手機上,分別實現了 1.53 倍和 1.95 倍的加速。

論文:AMC: AutoML for Model Compression and Acceleration on Mobile Devices

論文鏈接:https://arxiv.org/pdf/1802.03494.pdf

摘要:移動設備的計算資源和能耗預算都很有限,因此模型壓縮對於在移動設備上部署神經網路模型至關重要。傳統的模型壓縮技術依賴手工設計的啟發式和基於規則的策略,需要領域專家探索較大的設計空間,在模型大小、速度和準確率之間作出權衡,而這通常是次優且耗時的。本論文提出了適用於模型壓縮的 AutoML(AMC),利用強化學習提供模型壓縮策略。這一基於學習的壓縮策略優化傳統的基於規則的壓縮策略,因其具備更高的壓縮率,能夠更好地維持準確率,免除人類的手工勞動。在 4 倍每秒浮點運算次數縮減的情況下,在 ImageNet 上對 VGG-16 進行壓縮時,使用我們的壓縮方法達到的準確率比使用手工設計的模型壓縮策略的準確率高 2.7%。我們將該自動、一鍵式壓縮流程應用到 MobileNet,在安卓手機上得到了 1.81 倍的推斷延遲速度提升,在 Titan XP GPU 上實現了 1.43 倍的速度提升,而 ImageNet Top-1 準確率僅損失了 0.1%。

表 1:模型搜索強化學習方法對比(NAS:神經架構搜索 [57]、NT:網路變換(Network Transformation)[6]、N2N:Network to Network [2] 和 AMC:AutoML for Model Compression。AMC 與其他方法的區別在於它無需微調和連續搜索空間控制即可獲取獎勵,且能夠生成兼具準確率和適應有限硬體資源的模型。

3.3 搜索協議

資源受限的壓縮。通過限制動作空間(每一層的稀疏率(sparsity ratio)),我們能夠準確達到目標壓縮率。我們使用下列獎勵函數:

通過調整獎勵函數獲得保證準確率的壓縮,我們可以準確找到壓縮的極限而不損失準確率。我們憑經驗觀察到誤差與 log(FLOP s) 或 log(#Param) [7] 成反比。受此啟發,我們設計了以下獎勵函數:

4 實驗

表 2:Plain-20、ResNet [21] 在 CIFAR-10 [28] 上的剪枝策略對比。R_Err 指使用通道剪枝的限制 FLOP 壓縮,R_Param 指使用微調剪枝的保證準確率壓縮。對於淺層網路 Plain-20 和較深層的網路 ResNet,AMC 顯著優於手動設計的策略。這說明無需微調也能實現高效壓縮。儘管 AMC 在模型架構上做了很多嘗試,但本文使用的是單獨的驗證集和測試集。實驗中未觀察到過擬合現象。

圖 2:在 2 倍每秒浮點運算次數的情況下,Plain-20 的剪枝策略對比。統一策略為每個層統一設置相同的壓縮率。淺層和深層策略分別大幅修剪較淺和較深的層。AMC 給出的策略看起來像鋸齒,類似於瓶頸結構 [21]。AMC 給出的準確率優於手工策略。

圖 4:本文中的強化學習智能體(AMC)可以在不損失準確率的前提下將模型修剪為與人類專家相比密度較低的模型(人類專家:在 ResNet50 上壓縮 3.4 倍。AMC:在 ResNet50 上壓縮 5 倍)。

表 3:基於學習的模型壓縮(AMC)優於基於規則的模型壓縮。基於規則的啟發方法不是最優方法。(參考信息:VGG-16 的基線 top-1 準確率是 70.5%,MobileNet 是 70.6%,MobileNet-V2 是 71.8%)。

圖 5:(a)比較 AMC、人類專家、未修剪的 MobileNet 之間的準確率和 MAC 權衡。在帕累托最優曲線中,AMC 遙遙領先人類專家。(b)比較 AMC、NetAdapt、未修剪 MobileNet 之間的準確率和延遲權衡。AMC 大幅改善了 MobileNet 的帕累托曲線。基於 AMC 的強化學習在帕累托曲線上超越了基於啟發方法的 NetAdapt(推斷時間都是在谷歌 Pixel 1 上測量的)。

表 4:AMC 加速 MobileNet。之前利用基於規則的策略修剪 MobileNet 導致準確率大幅下降 [31],但 AMC 利用基於學習的修剪就能保持較高的準確率。在谷歌 Pixel-1 CPU 上,AMC 實現了 1.95 倍的加速,批大小為 1,同時節省了 34 % 的內存。在英偉達 Titan XP GPU 上,AMC 實現了 1.53 倍的加速,批大小為 50。所有實驗中的輸入圖像大小為 224×224,蘋果與蘋果的比較不採用量化。

表 5:在 PASCAL VOC 2007 上用 VGG16 壓縮 Faster R-CNN。與分類任務一致,AMC 在相同壓縮比的情況下,在目標檢測任務上也能獲得更好的性能。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

ROTK!OpenAI對戰中國Dota2大神再次慘敗
蘋果華人自動駕駛工程師跳槽小鵬汽車前,竊取商業機密被FBI逮捕

TAG:機器之心 |