Google AutoML最新技术解析:AutoML-Zero,从0构建模型
AutoML是我一直很關(guān)注的領(lǐng)域,也實際設(shè)計過相關(guān)的很多功能,但是目前AutoML在商業(yè)化層面落地的還不多。一個關(guān)鍵因素是AutoML現(xiàn)在在Feature生成或者調(diào)參方面有一些應(yīng)用,但是這些應(yīng)用更多地是建模的輔助。目前的AutoML技術(shù)很難實現(xiàn)從0構(gòu)建一個算法。如果AutoML希望大規(guī)模的應(yīng)用,一定要在NAS,也就是網(wǎng)絡(luò)探索上有建樹。這也是Google最新發(fā)表的這篇文章的原因,他提出AutoML-Zero,從零起步去構(gòu)建算法。接下來作者會給大家分享下一些看法。
定義算法生成的流程
這篇論文比較有意思的一點是Google很好地定義了AutoML的一個流程。它把機(jī)器學(xué)習(xí)算法生成的流程拆分成了,Setup、Predict、Learn。如下圖所示:
?
Setup:算法結(jié)構(gòu)的初始化
Predict:模型的預(yù)測和驗證
Learn:算法的訓(xùn)練
NAS結(jié)構(gòu)搜索
?
定義好流程之后就要看如何做網(wǎng)絡(luò)結(jié)構(gòu)的探索。這里面巧妙地運用了RandomSearch和進(jìn)化式搜索。
在Setup階段首先要構(gòu)建一個海量的模型庫,通過RandomSearch隨機(jī)找一個模型作為初始。接著進(jìn)入Predict階段,在Predict階段內(nèi)置了一個預(yù)測數(shù)據(jù)集,可能是Cifar10之類的。然后用初始模型做預(yù)測,看效果。
將其中比較好的效果的模型保留,剩下的刪除。接著在比較好的模型基礎(chǔ)上增添一些op,比如增加一些正弦因子,如下圖所示:
然后在Learn階段去按照這個NAS結(jié)構(gòu)構(gòu)建新模型。
這樣就構(gòu)成了一個進(jìn)化式的搜索體系,不斷地生成新的網(wǎng)絡(luò)結(jié)構(gòu),然后基于效果好的網(wǎng)絡(luò)結(jié)構(gòu)向上進(jìn)化,不斷遞歸這個流程,如下圖所示:
整體流程大概是上面介紹的這樣。
個人看法
這篇論文還是比較偏學(xué)術(shù),其實是給大家構(gòu)建了一套NAS的流程體系,但是這個流程其實要依賴海量計算能力才可能實現(xiàn)。雖然論文在后面花了十幾頁的篇幅證明可行性,但是我個人還是覺得這個方案流程是沒問題的,但是實際落地可能有很多問題要解決。比如隨機(jī)增加算子,會不會造成大量的報錯,會不會浪費大量計算資源,所以真正的效果還需要觀望。
?
總結(jié)
以上是生活随笔為你收集整理的Google AutoML最新技术解析:AutoML-Zero,从0构建模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网男士穿搭推荐-2020年新版
- 下一篇: 详解TF-Ranking:Google开