當前位置:
首頁 > 最新 > 自動選模型+調參:谷歌AutoML背後的技術解析

自動選模型+調參:谷歌AutoML背後的技術解析

機器之心專欄

作者:huichan chen

AutoML 是 Google 最新的產品,能夠根據問題自動確定最優參數和網路結構。本文章就關註解析 AutoML 背後的技術,由於 AutoML 缺乏技術文檔,我們的解析有不到之處,還請多多更正。

羅馬不是一天建成的。AutoML 並非一蹴而就,而是 Google 的研究者在過去幾年不斷思考中產生的理論與實踐結合的完美產物。下圖是 Google 的 AutoML 探索之路。

人工網路結構搜索(Inception-ResNet 與 Inception V4)

Alexnet 在 IMAGENET 取得冠軍之後,Google 意識到了深度學習是未來的趨勢,於是投入巨資進行神經網路的研究。從 Deepmind 被收購,Hinton 加入 Google,Tensorflow 的開源中可見 Google 對於 Deep Learning 的重視與遠見。Google 在不斷的調參數中發現了著名的 Inception 網路,並且結合 ReNet,發現了 Inception-ResNet,V4 和 Xception。這些發現讓 Google 注意到了神經網路結構會對結構產生巨大影響,但是找到最優的結構需要耗費大量的人力和物力,並且對於一個新的數據集還需要投入同樣的資源搜索合適的結構,這樣的人工搜索是不能夠 scalable 的。Inception-ResNet 的網路結構請參考論文:https://arxiv.org/pdf/1602.07261.pdf。Inception 系列網路跟 ResNet 的結果比較。

神經網路搜索初探:Neural Architecture Search with Reinforcement Learning(ICLR 2017 Best Paper)

為了增加網路結構搜索的 scalability,Google Residency Program 的成員 Barrret Zoph 在 Quoc Le 的帶領下開始了神經網路自動調參的嘗試,Neural Architecture Search with Reinforcement Learning 就是對這一工作的總結。該論文獲得了 ICLR 2017 的 Best Paper。Barret Zoph 的工作成功在 CIFAR 和 PTB 上面搜索到了 state-of-the-art 的 CNN 和 LSTM 結構,最優 CNN 與 LSTM 結構對比如下:

Barret Zoph 使用強化學習進行網路結構搜索,網路框架圖如下圖:

Controller 是由 RNN 構成能夠產生每層網路的 Kernel 大小和 skip connection 的連接,產生了網路結構之後,使用網路結構的準確率作為 Reward function。Controller 會根據 reward function 的反饋進行網路結構調節,最後會得到最優的網路結構。Controller 生成網路結構預測如下圖:

本篇論文會對 controller 預測的網路進行 SGD 學習,網路收斂之後的準確率為 Reward,然後使用 reinforcement learning 的 policy gradient 進行 controller 權值更新,policy gradient 公式如下:

期望值用下面的公式進行近似:

為了保證訓練穩定,引入了 baseline,公式如下:

為了保證收斂速度,作者引入了 asynchronous 權值更新,在每個 GPU 中分配多個網路結構進行訓練,跟 asynchronous reinforcement learning 的 idea 類似。該論文的 distribution 結構如下圖:

本篇論文能夠避免手動調參數,但是得到網路搜索需要 800GPU 搜索幾個月的時間,最近 Google 使用 P100 可以在一周左右訓練出模型,本論文僅僅在 CIFAR 上面進行實驗,在大規模數據集 IMAGENET 上面的使用受限。

Large Scale Evolution of Image Classifiers(ICML 2017)

本篇論文通過 large scale evolution 的辦法來搜索最優的神經網路,由於本人能力有限,我們不對這篇論文進行技術解析。該論文的結構搜索過程如下圖:

有趣的現象是,evolution 搜索偏向於沒有 skip connection 的神經網路。通過 evolution 辦法搜索到的神經網路比 ResNet 結果好,但是低於 DenseNet,如下圖:

神經網路搜索技術實用之路探索

為了讓結構搜索的工作能夠實用,Google 的研究者從 progressive Search,Transferable architecture 和 Bayesian 的角度進行探索,並且取得了進展。

Progressive Neural Architecture Search(PNAS)

本篇論文提出了通過 progressive 的辦法進行網路搜索,會比 RL 方法快 2 倍,比 evolution 方法快 5 倍。

與之前的方法不同,本篇論文是在一個網路的基礎上面加上新的 cell,然後使用類似與 A*搜索(Branch and Bound)的辦法,搜索到最優的網路結構。Progressive 方法示意圖如下:

PNAS 所使用的 Cell 結構如下:

Learning Transferable Architecture for Scalable Image Recognition

本篇論文是集大成者,Barret Zoph 在之前全部技術的基礎上面,成功地將自動結構搜索在 IMAEGNET,COCO 等實用性的物體分類和檢測任務上面成功運用。結果太 AMAZING 啦。竟然超過了 ResNet-FPN,COCO 物體檢測結果如下:

Barret Zoph 首先在 CIFAR 上面使用之前的方法搜索出最優 cell,然後將 cell 重複的運用在 IMAGENET 上面(真的就是這麼簡單有效 >_

可能 AutoML 用的就是這種技術吧。

總結

Google 在大規模的調參中發現了手動調參不能夠適應大數據時代的需求。於是進行從 reinforcement learning 和 evolution 兩個角度進行了自動調參的初探。為了改進網路結構搜索的時間,Google 提出了 Progressive Search 和 Transferable Architecture 的辦法。從中我們可以感受到 Google 一步一個腳印的做事方法,希望 AI 公司和個人都能夠從中獲得一些收益 >_

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

?------------------------------------------------

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

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


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

一次搞定多種語言:Facebook展示全新多語言嵌入系統
Jeff Dean撰文回顧谷歌大腦2017:從基礎研究到新硬體

TAG:機器之心 |