Google Brain 用強化學習為行動裝置量身訂做最好最快的 CNN 模型

作者 | 發布日期 2018 年 08 月 13 日 9:00 | 分類 AI 人工智慧 , Google , 行動裝置 follow us in feedly

卷積神經網路(CNN)廣泛用於影像分類、人臉辨識、物體偵測及其他工作。然而,為行動裝置設計 CNN 模型是個大挑戰,因行動模型需要又小又快,同時還要保持足夠的準確率。雖然研究人員花了非常多時間精力在行動模型的設計和改良,做出 MobileNet MobileNetV2 這類成果,但人工設計高效模型始終很有難度,其中有許多可能性需要考慮。



受 AutoML 神經網路架構搜尋研究的啟發,Google Brain 團隊開始考慮能否透過 AutoML 的力量讓行動裝置 CNN 模型設計也更進一步。Google AI 部落格的新文章,介紹了用 AutoML 思路為行動裝置找到更好網路架構的研究成果,以下為文章編譯。

Google 論文MnasNet: Platform-Aware Neural Architecture Search for Mobile中,嘗試了一種基於強化學習範式的自動神經網路架構搜尋方法來設計行動模型。為了應付行動裝置的執行速度限制,Google Brain 研究人員專門把執行速度資訊也加入搜尋演算法的主回饋函數,這樣搜到的模型就是可在執行速度和辨識準確率之間取得良好平衡的模型。透過這種方法,MnasNet 找到的模型比目前頂級人工設計模型 MobileNetV2 1.5 倍,比 NASNet 2.4 倍,同時還保持同樣的 ImageNet 首位準確率。

以往的網路架構搜尋方法中,模型的執行速度通常借助另一種指標參考(比如考慮裝置的每秒運算數目),而 Google Brain 此次透過在給定的裝置上執行模型,直接測量模型的執行時間長短;研究使用的就是自家 Pixel 手機,可直接測量模型在真實環境執行時的具體表現,尤其不同型號的行動裝置有不同的軟硬體屬性,僅憑運算速度這項指標無法概括全部情況;為了達到準確率和執行速度之間的最佳平衡,所需的模型架構也有不同。

Google Brain 方法的總體流程主要由 3 個部分組成:一個基於 RNN 的控制器用於學習模型架構並取樣,一個訓練器用於構建模型並訓練模型得到準確率,還有一個推理引擎,會在真實手機上透過 TensorFlow Lite 執行模型、測量模型的執行速度。他們把工作公式化為一個多目標最佳化問題,最佳化過程中得以兼顧高準確率和高執行速度;使用的強化學習演算法有個自訂回饋函數,可在不斷探索時找到帕累托最優的解決方案(如不斷提升模型準確率,同時不讓執行速度降低)。

▲ 為行動裝置自動搜尋神經網路架構的總體流程圖。

對網路架構搜尋過程,為了在搜尋彈性和空間大小之間取得平衡,Google Brain 研究人員提出一種新的因子分解層級化搜尋空間,設計是把一整個卷積網路分解為一系列按順序連線的模組,然後用一個層級化搜尋空間決定每個模組的層架構,這樣設計的搜尋流程可允許不同層使用不同作業和連線方式。同時也強制要求同個模組的所有層都共用同種架構,相比普通的每層獨立搜尋架構,這樣就把搜尋空間顯著減小數個等級。

▲ 從新因子分解層級化搜尋空間取樣得到的 MnasNet 網路,整個網路架構可有多種不同層。

Google Brain 研究人員在 ImageNet 影像分類和 COCO 物體偵測工作測試這種方法的效果。實驗中,這種方法找到的網路在典型行動裝置計算速度限制下達到準確率新高紀錄。下圖展示了 ImageNet 的結果。

▲ ImageNet 的首位準確率與推理延遲對比。論文新方法找到的模型記號為 MnasNet。

在 ImageNet,如果要達到同樣準確率,MnasNet 模型可比目前頂級人工設計的模型 MobileNetV2 1.5 倍,比 NASNet 2.4 倍,其中 NASNet 也是用網路架構搜尋找到的。採用「壓縮─激勵」squeeze-and-excitation)最佳化後,Google 新的 MnasNet + SE 模型首位準確率可達 76.1%,這已達 ResNet-50 水準,但卻比 ResNet-50 的參數少了 19 倍,乘─加的計算運算目也減少了 10 倍。在 COCOGoogle 的模型系列可同時在準確率和執行速度領先 MobileNet,準確率與 SSD300 模型相當,但所需計算量少了 35 倍。

Google Brain 研究人員很高興看到自動搜尋得到的模型可在多個複雜的行動電腦視覺工作取得頂級成績。未來他們計劃在搜尋空間整合更多作業和最佳化方法供用戶選擇,也嘗試應用到語義分割等更多行動電腦視覺工作。

(本文由 雷鋒網 授權轉載;首圖來源:Google AI