當前位置:
首頁 > 新聞 > 讓演算法解放演算法工程師——NAS 綜述

讓演算法解放演算法工程師——NAS 綜述

1. NAS 綜述

AutoML(automated machine learning)是模型選擇、特徵抽取和超參數調優的一系列自動化方法,可以實現自動訓練有價值的模型。AutoML 適用於許多類型的演算法,例如隨機森林,gradient boosting machines,神經網路等。 機器學習最耗費人力的是數據清洗和模型調參,而一般在模型設計時超參數的取值無規律可言,而將這部分過程自動化可以使機器學習變得更加容易。即使是對經驗豐富的機器學習從業者而言,這一自動化過程也可以加快速度。

Deep learning 實現端到端的的特徵提取,相對於手工提取特徵是一個巨大的進步,同時人工設計的神經網路架構提高了神經網路的複雜度。

隨著技術的發展,Neural Architecture Search (NAS) 實現神經網路可以設計神經網路,代表機器學習的未來方向。NAS 是 AutoML 的子領域,在超參數優化和元學習等領域高度重疊。NAS 根據維度可分為三類:搜索空間、搜索策略和性能評估策略。(本文僅總結 NAS 在 CV 領域的應用,NLP 的應用將另寫綜述)。

搜索空間

搜索空間原則上定義了網路架構。對於一個任務,結合相關屬性的先驗知識可以縮小搜索空間的大小並簡化搜索。但是同時也引入了人類偏見,這可能妨礙發現超越當前人類知識的新穎架構模塊。

搜索策略

搜索策略定義了使用怎樣的演算法可以快速、準確找到最優的網路結構參數配置。

性能評估策略

因為深度學習模型的效果非常依賴於訓練數據的規模,通常意義上的訓練集、測試集和驗證集規模實現驗證模型的性能會非常耗時,所以需要一些策略去做近似的評估。

圖 1 網路架構搜索方法

1.1 搜索空間

搜索空間,顧名思義,代表一組可供搜索的神經網路架構。

搜索空間根據網路類型可以劃分為鏈式架構空間、多分支架構空間、cell/block 構建的搜索空間。根據搜索空間覆蓋範圍可分為 macro(對整個網路架構進行搜索)和 micro(僅搜索 cell,根據 cell 擴展搜索空間)。

1. 第一種搜索空間是鏈式架構空間(圖 2 左圖所示)。鏈式架構空間的每一層輸出都是下一層的輸入。搜索空間包括以下參數:

(1)網路最大層數 n。(2)每一層的運算類型:池化、連接、卷積(depthwise separable convolutions,dilated convolutions、deconvolution)等類型。(3)運算相關的超參數:濾波器的大小、個數、 strides 等。(4)激活函數:tanh,relu,identity,sigmoid 等。

圖 2 鏈式架構空間(左圖)與多分支架構空間(有圖)

2. VGG19 等模型已經證明直筒的鏈式結構容易造成梯度彌散,卷積網路無法使層數更深。ResNet 和 DenseNet 等引入的跳躍連接和密集連接,使得更深的網路成為可能。目前很多論文的實驗數據也證實多分支架構空間可以實現更高精度(代價是搜索空間呈指數級別增加)。圖 2 右圖所示為多分支架構空間連接示意圖。

3. 基於基本的 cell/block 構建的搜索空間。

很多神經網路結構雖然很深,但會有基本的 cell/block,通過改變 cell/block 堆疊結構,一方面可以減少優化變數數目,另一方面相同的 cell/ block 可以在不同任務之間進行遷移。BlockQNN[2] 結合 Inception blocks 和 residue blocks,設計 block 模塊,通過堆疊 block 設計搜索空間。Zoph et al[3] 設計兩類 cells:normal cell 和 reduction cell (normal cell 不改變輸入 feature map 的大小的卷積,而 reduction cell 將輸入 feature map 的長寬各減少為原來的一半的卷積,通過增加 stride 的大小來降低 size),通過構建重複模塊(cells)的深度堆疊結構。這個堆疊結構是固定的,但其中各個模塊的結構可以改變。

圖 3 基於 cell/block 構建的搜索空間

Cell 作為基本單元,也可以固定不變。PNAS[9] 學習的是單一一種 cell 類型,而沒有區分 Normal cell 和 Reduction cell.

1.2 搜索策略

搜索演算法通常是一個迭代過程,定義了使用怎樣的演算法可以快速、準確找到最優的網路結構參數配置。常見的搜索方法包括:隨機搜索、貝葉斯優化、進化演算法、強化學習、基於梯度的演算法。其中強化學習和進化學習是主流演算法,也是本章節重點介紹對象。

在搜索過程的每個步驟或迭代中,從搜索空間產生「樣本」形成一個神經網路,稱為「子網路」。所有子網路都在訓練數據集上進行訓練,然後將它們在驗證數據集上的準確性視為目標(或作為強化學習中的獎勵)進行優化。搜索演算法的目標是找到優化目標的最佳子網路,例如最小化驗證損失或最大化獎勵。

基於強化學習的搜索方法

基於強化學習(reinforcement learning ,RL)的方法已經成為 NAS 的主流方法[4]。RL 有四個基元:agent, action,environment 和 reward. 強化學習是通過獎勵或懲罰(reward)來學習怎樣選擇能產生最大積累獎勵的行動(action)的演算法。

NAS 的核心思想是通過一個 controller RNN 在搜索空間(search space)中得到一個子網路結構(child network),然後用這個子網路結構在數據集上訓練,在驗證集上測試得到準確率,再將這個準確率回傳給 controller,controller 繼續優化得到另一個網路結構,如此反覆進行直到得到最佳結果,整個過程稱為 Neural Architecture Search。

基於 NAS 的 RL 演算法主要區別在於:

(a) 如何定義行動空間(在新的空間選擇配置還是在修訂已經存在的網路)

(b) 如何更新行動策略。Zoph et al 首先使用梯度策略更新策略 [4],並在其後的工作中使用 proximal policy optimization。Baker et al. 使用 Q-learning 更新行動策略。

在探索高維搜索空間時,基於 RL 的搜索成本非常高。NAS[4] 在使用 800 塊 GPU 情況下耗時 28 天。其後續工作 [3] 使用 450 塊 GPU 耗時 4 天生成簡單的搜索空間。

基於進化學習的搜索方法

進化學習(Evolutionary algorithms ,EA)為了達到自動尋找高性能的神經網路結構,需要進化一個模型簇(population)。每一個模型,也就是個體(individual),都是一個訓練過的結構。模型在單個校驗數據集(validation dataset)上的準確度就是度量個體質量或適應性的指標。

在一個進化過程中[7],工作者(worker)隨機從模型簇中選出兩個個體模型;根據優勝劣汰對模型進行識別,不合適的模型會立刻從模型簇中被剔除,即代表該模型在此次進化中的消亡;而更優的模型則成為母體(parent model),進行繁殖;通過這一過程,工作者實際上是創造了一個母體的副本,並讓該副本隨機發生變異。研究人員把這一修改過的副本稱為子代(child);子代創造出來後,經過訓練並在校驗集上對它進行評估之後,把子代放回到模型簇中。此時,該子代則成為母體繼續進行上述幾個步驟的進化。

簡言之,該進化演算法就是在隨機選出的個體中擇其優,因此該方法也屬於聯賽選擇演算法(tournament selection)的一種。

另外,如無其他說明,模型簇一般能容納 1000 個個體,工作者的數量一般是個體數量的 1/4,而消亡個體的目錄會被刪除,以保證整個演算法能長時間在有限空間中運行。

進化學習的一個缺點是進化過程通常不穩定,最終的模型簇質量取決於隨機變異。Chen et al[8] 提出通過 RL 控制器確定變異替代隨機變異,穩定搜索過程。

Chenxi Liu et al.[9] 使用了基於序列模型的優化(SMBO)策略,按複雜度逐漸增大順序搜索架構,同時學習一個用於引導該搜索的代理函數(surrogate function),類似於 A* 搜索。

1.3 性能評估策略

性能評估策略是實現搜索加速的過程。基於強化學習、進化學習等搜索策略,為了引導搜索空間,每個子網路都需要訓練和評估。但是訓練每個子網路需要巨大的資源消耗(比如 NAS[4] 需要 2000 GPU*天)。通常加速 NAS 的方法是通過訓練後再查找近似度量的方式(例如減少訓練 epochs,簡化評估數據集 [3][4]、使用低解析度圖像、每一卷積層使用更少的濾波器)。本章節介紹兩種更優的類型:(a) 代理度量 improved proxy;(b) 權值共享 weight-sharing。

1. 使用代理度量時,子網路之間的相對排名需要保持與最終模型準確率相關。Zhong et al.[10] 提出 FLOPS、子模型的 model size 與最終模型準確率負相關,介紹一種應用於獎勵計算的修正函數,子網路的準確性可以通過提前訓練停止獲得,彌合代理度量和真實準確率的差距。有些演算法提出通過預測神經網路模型的準確率、學習曲線、驗證曲線等來改進代理度量,預測準確率低/學習曲線差的子網路暫停訓練或直接放棄。

2. 權值共享。

子網路直接繼承已經訓練好的模型權重參數,可以顯著降低模型的運算量 [7]。One-Shot 架構搜索 [11] 將所有架構視作一個 one-shot 模型(超圖)的子圖,子圖之間通過超圖的邊來共享權重。一些論文直接在模型基礎上添加卷積層或插入跳躍連接,參數權重可以直接復用,減少模型的運算量。

1.4  Multi-Objective NAS

以 Google 的 NAS 為基礎,很多模型專註於優化模型的準確率而忽視底層硬體和設備,例如工作站,嵌入式設備和移動終端具有不同的計算資源和環境,僅考慮準確率高的模型難以在移動終端部署。

圖 4 基於單目標 VS 多目標神經網路架構搜索演算法對比

MONAS/ MnasNet/DPP-Net[12][13][14] 等模型提出基於移動端的多目標神經網路搜索演算法,評價指標從準確率擴展到功耗、推斷延時、計算強度、內存佔用、FLOPs 等指標。如圖 4 所示單目標和多目標神經網路架構搜索演算法對比。

多目標神經網路架構搜索採用帕雷托最優尋找最佳解決方案。帕雷托最優來源於經濟學的概念,指資源分配的一種理想狀態。延伸到工程,解決方案在不降低其他目標的前提下,任何目標都能不能得到改善,則認為是帕雷托最優的。

NAS 局限性:

NAS 的搜索空間有很大的局限性,目前 NAS 演算法仍然使用手工設計的結構和 blocks,NAS 僅僅是將這些 blocks 堆疊。NAS 還不能自行設計網路架構。NAS 的一個發展方向是更廣泛的搜索空間,尋找真正有效率的架構,當然這也對搜索策略和性能評估策略提出更高的要求。

2. AutoML概述

構建一個典型的機器學習項目,一般分成以下步驟:收集原始數據(標註數據)、清洗數據、特徵工程、模型構建、超參數調優、模型驗證和模型部署。整個過程中,模型構建最能體現創造力,而最耗時的,要數特徵工程和超參數調優。

圖 5 AutoML 開源框架全景圖

AutoML 框架能幫助演算法工程師減輕負擔,降低特徵工程和超參數調優的工作量,NAS 可以完成模型的構建,基於 AutoML 的一攬子解決方案(如圖 5 包含 AutoML 開源框架)。

AutoML 抽象所有 deep learning 的複雜過程,所需要的僅僅是數據。目前互聯網巨頭已經在很多行業提供 AutoML 服務,如微軟的 CustomVision.AI、谷歌 Cloud AutoML、中科院的 BDA 系統、阿里 PAI 等。這些平台僅僅需要上傳數據,AutoML 實現深度學習的訓練、調優、雲服務等,如圖 6 所示(當然現在還是半自動化的人工參與狀態,全自動化的 AutoML 是未來發展方向)。

圖 6 AutoML 工作流程圖

阿里的 PAI Studio 彙集了阿里集團大量優質分散式演算法,包括數據處理、特徵工程、機器學習演算法、文本演算法等,可高效完成海量、億級維度數據的複雜計算,給集團業務帶來更為精準的洞察力。

AutoML Vision 是 Cloud AutoML 這個大項目推出的第一項服務,提供自定義圖像識別系統自動開發服務。根據谷歌介紹,即使是沒有機器學習專業知識的的小白,只需了解模型基本概念,就能藉助這項服務輕鬆搭建定製化的圖像識別模型。只需在系統中上傳自己的標籤數據,就能得到一個訓練好的機器學習模型。整個過程,從導入數據到標記到模型訓練,都可以通過拖放式界面完成。除了圖像識別,谷歌未來還計劃將 AutoML 服務拓展到翻譯、視頻和自然語言處理等領域。目前 Cloud AutoML 的費用是 20 美金/小時,相當於國內演算法工程師的時薪。

機器學習的平台化降低了 AI 產品的使用成本,最終會降低機器學習的准入門檻,但提高了個人的職業門檻。隨著谷歌、亞馬遜、微軟、BAT 等大廠對 AI 的持續投入,調參效果和業務範圍會越來越廣。筆者所在的項目組經過 6 個月努力發版上線一個應用,降低了 60% 的人力成本,自動化效率提高到 80%。工業時間業務不止模型調參那麼簡單,需要結合很多圖像數據的先驗知識,隨著 NAS 的發展,也許不能取代 100% 的人力成本,但是在項目團隊中解放 50% 以上的演算法工程師還是可行的。

以上僅為個人閱讀論文後的理解、總結和思考。觀點難免偏差,望讀者以懷疑批判態度閱讀,歡迎交流指正。

3. 參考文獻

[1] Thomas. Elsken,Jan Hendrik.Metzen: Neural Architecture Search: A Survey .arXiv preprint arXiv: 1808.05377 (2018)

[2] Zhao Zhong, Zichen Yang, Boyang Deng:BlockQNN: Efficient Block-wise Neural Network Architecture Generation .arXiv preprint arXiv: 1808.05584 (2018)

[3] Zoph B, Vasudevan V, Shlens J, Le QV .Learning Transferable Architectures for Scalable Image Recognition.arXiv preprint arXiv: 1707.07012 (2017)

[4] Barret Zoph and Quoc V Le. Neural architecture search with reinforcement learning. ICLR』17,2016.

[5] Han Cai, Tianyao Chen, Weinan Zhang, Yong Yu, and Jun Wang. Efficient architecture search by network transformation. AAAI』18, 2017.

[6] Chenxi Liu, Barret Zoph, Jonathon Shlens, Wei Hua, Li-Jia Li, Li Fei-Fei, Alan Yuille, Jonathan Huang, and Kevin Murphy. Progressive neural architecture search. arXiv preprint arXiv:1712.00559, 2017.

[7] Esteban Real ,Sherry Moore,Andrew Selle , Saurabh Saxena .Large-Scale Evolution of Image Classifiers .arXiv preprint arXiv:1703.01041

[8] Yukang Chen, Qian Zhang, Chang Huang, Lisen Mu, Gaofeng Meng, and Xinggang Wang. Reinforced evolutionary neural architecture search. arXiv preprint arXiv:1808.00193, 2018.

[9] Chenxi Liu, Barret Zoph, Jonathon Shlens, Wei Hua, Li-Jia Li, Li Fei-Fei, Alan Yuille, Jonathan Huang, and Kevin Murphy. Progressive neural architecture search. arXiv preprint arXiv:1712.00559, 2017.

[10] Zhao Zhong, Junjie Yan, and Cheng-Lin Liu. Practical network blocks design with q-learning. AAAI』18, 2017.

[11] Andrew Brock, Theodore Lim, James M Ritchie, and Nick Weston. Smash: one-shot model architecture search through hypernetworks. ICLR』18, 2017.

[12] Chi-Hung Hsu, Shu-Huan Chang, Da-Cheng Juan, Jia-Yu Pan, Yu-Ting Chen, Wei Wei, and Shih-Chieh Chang. Monas: Multi-objective neural architecture search using reinforcement learning. arXiv preprint arXiv:1806.10332,2018.

[13] Jin-Dong Dong, An-Chieh Cheng, Da-Cheng Juan, Wei Wei, and Min Sun. Dpp-net: Device-aware progressive search for pareto-optimal neural architectures. arXiv preprint arXiv:1806.08198, 2018.

[14] Mingxing Tan, Bo Chen, Ruoming Pang, Vijay Vasudevan, and Quoc V Le. Mnasnet: Platform-aware neural architecture search for mobile. arXiv preprint arXiv:1807.11626, 2018.

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

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


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

IMF Fintech負責人:金融科技監管體制設計的五原則
「三匹馬的比賽」不再?微軟Azure強勢增長 「亞馬遜的威脅」已提前到來

TAG:雷鋒網 |