AutoML大提速,谷歌开源自动化寻找最优ML模型新平台Model Search
作者|魔王、杜偉
?來源|機器之心
為了幫助研究者自動、高效地開發(fā)最佳機器學(xué)習(xí)模型,谷歌開源了一個不針對特定領(lǐng)域的 AutoML 平臺。該平臺基于 TensorFlow 構(gòu)建,非常靈活,既可以找出最適合給定數(shù)據(jù)集和問題的架構(gòu),也能夠最小化編程時間和計算資源。
神經(jīng)網(wǎng)絡(luò)的成功通常取決于在多種任務(wù)上的泛化性能。然而,設(shè)計此類神經(jīng)網(wǎng)絡(luò)很有難度,因為研究社區(qū)對神經(jīng)網(wǎng)絡(luò)如何泛化仍沒有充分的了解:對于給定問題,什么樣的神經(jīng)網(wǎng)絡(luò)是適合的?深度如何?應(yīng)該使用哪種層?LSTM 層就可以了,還是使用 Transformer 更好一些?抑或?qū)⒍呓Y(jié)合?集成或蒸餾會提升模型性能嗎?
近年來出現(xiàn)的 AutoML 算法可以幫助研究者自動找出合適的神經(jīng)網(wǎng)絡(luò),無需手動試驗。神經(jīng)架構(gòu)搜索 (NAS) 等技術(shù)利用強化學(xué)習(xí)、進化算法和組合搜索等算法,基于給定搜索空間構(gòu)建神經(jīng)網(wǎng)絡(luò)。在恰當?shù)脑O(shè)置下,這些技術(shù)找到的神經(jīng)網(wǎng)絡(luò)架構(gòu)優(yōu)于手動設(shè)計的網(wǎng)絡(luò)架構(gòu)。不過,這些算法計算量較大,在收斂前需要訓(xùn)練數(shù)千個模型。而且,它們探索的搜索空間是域特定的,包括大量先驗人類知識,無法很好地實現(xiàn)跨域遷移。例如,在圖像分類領(lǐng)域中,傳統(tǒng) NAS 技術(shù)搜索兩個不錯的構(gòu)造塊(卷積和下采樣),然后遵循慣例創(chuàng)建完整的網(wǎng)絡(luò)。
為了克服這些缺陷,并將 AutoML 解決方案擴展到更廣泛的研究社區(qū),最近谷歌開源了一個自動、高效構(gòu)建最優(yōu) ML 模型的平臺 Model Search。該平臺不針對某個特定域,因而足夠靈活,并且能夠找出最適合給定數(shù)據(jù)集和問題的架構(gòu),同時最小化編程時間和計算資源。該平臺基于 TensorFlow 框架構(gòu)建,既可以單機運行,也可以在分布式機器設(shè)置上運行。
GitHub 地址:https://github.com/google/model_search
Model Search 平臺概述
Model Search 系統(tǒng)包含多個訓(xùn)練器、一種搜索算法、一種遷移學(xué)習(xí)算法和一個存儲多種評估模型的數(shù)據(jù)庫。該系統(tǒng)能夠以自適應(yīng)和異步的方式運行多種機器學(xué)習(xí)模型(采用不同架構(gòu)和訓(xùn)練方法)的訓(xùn)練和評估實驗。當每個訓(xùn)練器單獨執(zhí)行訓(xùn)練時,所有訓(xùn)練器共享從實驗中獲得的知識。
在每個輪次開始時,搜索算法查找所有已完成的試驗,并使用集束搜索(beam search)來決定接下來要嘗試的部分。之后,該搜索算法在目前發(fā)現(xiàn)的最佳架構(gòu)之一上調(diào)用突變,并將生成的模型分配回訓(xùn)練器。
Model Search 示意圖,展示了分布式搜索和集成過程。
該系統(tǒng)使用一組預(yù)定義的塊來構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,其中每個塊代表了一種已知的微架構(gòu),如 LSTM、ResNet 或 Transformer 層。通過使用這些預(yù)先存在的架構(gòu)組件,Model Search 可以利用跨領(lǐng)域 NAS 研究中現(xiàn)有的最佳知識。這種方法更加高效,因為它探索的是結(jié)構(gòu),而非更基礎(chǔ)和更細化的組件,從而降低了搜索空間的規(guī)模。
各種神經(jīng)網(wǎng)絡(luò)微架構(gòu)塊都能運行良好,如 ResNet 塊。
此外,由于 Model Search 框架基于 TensorFlow 構(gòu)建,因而各個塊可以實現(xiàn)任意以張量作為輸入的函數(shù)。例如,如果我們想要提出一種基于一系列微架構(gòu)構(gòu)建的新搜索空間,那么 Model Search 框架會吸收新定義的塊并將它們合并至搜索過程,從而確保算法可以根據(jù)所提供的組件構(gòu)建最佳的神經(jīng)網(wǎng)絡(luò)。這里的構(gòu)建塊甚至可以是能夠解決某些特定問題的完全定義神經(jīng)網(wǎng)絡(luò)。在這種情況下,Model Search 可以作為一種強大的集成機器。
Model Search 中實現(xiàn)的搜索算法具有自適應(yīng)性、貪婪性和增量性,因此這些算法的收斂速度快于強化學(xué)習(xí)算法。但是,這些算法也會模擬強化學(xué)習(xí)算法中的「探索與利用」(explore and exploit)特性,具體操作是首先分離搜索找出優(yōu)秀的候選對象(即探索步驟),然后通過集成這些發(fā)現(xiàn)的候選對象來提升準確率(即利用步驟)。
在對架構(gòu)或訓(xùn)練方法做出隨機變更之后(如增加架構(gòu)的深度),主搜索算法做出自適應(yīng)修改,執(zhí)行效果最好的 k 項實驗之一(其中 k 由用戶指定)。
網(wǎng)絡(luò)在多個實驗中不斷演化的動態(tài)展示圖。
為了進一步提升效率與準確率,不同內(nèi)部實驗之間也可以使用遷移學(xué)習(xí)。Model Search 以兩種方式實現(xiàn)遷移學(xué)習(xí),分別是知識蒸餾和權(quán)重共享。知識蒸餾通過添加一個與高效模型的預(yù)測相匹配的損失項,提升候選對象的準確率。權(quán)重共享則通過復(fù)制先前訓(xùn)練模型中的適當權(quán)重并隨機初始化其余權(quán)重,從先前訓(xùn)練的候選對象中(經(jīng)過突變)bootstrap 一些參數(shù)。這種方式不僅可以加速訓(xùn)練過程,還有可能發(fā)現(xiàn)更多更好的架構(gòu)。
實驗結(jié)果
Model Search 用最少的迭代次數(shù)來改進生產(chǎn)模型。谷歌研究者在近期一篇論文《Improving Keyword Spotting and Language Identification via Neural Architecture Search at Scale》中展示了 Model Search 在語音領(lǐng)域的性能,它能夠發(fā)現(xiàn)關(guān)鍵詞檢測與語言識別模型。只用了不到 200 次的迭代,Model Search 得到的模型就優(yōu)于專家設(shè)計的內(nèi)部 SOTA 生產(chǎn)模型,并且前者的訓(xùn)練參數(shù)少了大約 13 萬個(184K 參數(shù) vs. 315K 參數(shù))。
Model Search 經(jīng)過給定迭代次數(shù)后得到的模型準確率與之前的關(guān)鍵詞檢測生產(chǎn)模型性能對比。
谷歌研究者還使用 Model Search,在 CIFAR-10 圖像數(shù)據(jù)集上尋找適合的圖像分類架構(gòu)。使用一組已知卷積塊(包括卷積、resnet 模塊、NAS-A 單元、全連接層等)后,Model Search 能夠在 209 次試驗(即只探索了 209 個模型)后快速實現(xiàn)基準準確率——91.83。而之前的頂級架構(gòu)達到相同準確率需要的試驗次數(shù)要多得多,例如 NASNet 算法需要 5807 次試驗,PNAS 需要 1160 次試驗。
目前,Model Search 的代碼已開源,研究者可以使用這個靈活、不受領(lǐng)域限制的框架發(fā)現(xiàn) ML 模型。
原文鏈接:https://ai.googleblog.com/2021/02/introducing-model-search-open-source.html
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的AutoML大提速,谷歌开源自动化寻找最优ML模型新平台Model Search的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于知识图谱的问答系统(以医疗行业为例)
- 下一篇: 加拿大皇后大学朱晓丹教授课题组招收NLP