谷歌大腦AutoML最新進展:不斷進化的阿米巴網路
原作 Esteban Real(高級軟體工程師)
Root 編譯自 Google Research Blog量子位 出品 | 公眾號 QbitAI
自然界用了5億年時間。
才把神經系統從最原始的雛形——阿米巴(Amoeba)變形蟲分化出可對外界環境刺激做出響應的內漿,進化到現在的高度複雜的人腦。
如今我們人腦,相對目前階段的機器來說,可以輕而易舉完成各種複雜的任務。
而機器的演算法模型要做到同樣表現(能力範圍還非常局限),必須得靠大量的在AI領域裡深耕多年的專家才行。
像認貓、識圖、辨別基因突變、或者是診斷疾病這些專項的任務,每一個有效的模型的搭建和調試都必須重度依賴AI專家的經驗。
有沒有什麼方法,可以訓練出一個根據外界環境的變化,像阿米巴變形蟲那樣即時調整出最優的生存策略,不斷自我進化獲取最優結果的演算法呢?
自進化的AmoebaNet
還真的有。
谷歌大腦今日就在研究博客更新,他們已經研究出了一種擁有很強的自我進化能力的神經網路,AmoebaNet。
這個工作的研究基礎是2002年Stanley和Miikkulainen的神經進化拓撲學。而其他研究機構,OpenAI,Uber實驗室,還有DeepMind他們也有在研究自進化的演算法。
谷歌本身有強大的算力優勢。所以谷歌大腦團隊在琢磨,除了採用強化學習這種方法,怎麼樣才能能讓圖像分類器的迭代速度加快。
迭代速度快還不夠,出來的效果也必須好,最好還不需要重度依賴專家。畢竟現在問題那麼多,AI專家根本不夠用。
快、好、省。這就是谷歌大腦要AmoebaNet滿足的三個點。
做到快、好、省的思考路徑
2017年ICML(國際機器學習大會),谷歌大腦發表了一篇論文Large-Scale Evolution of Image Classifiers。這個工作採用了非常簡單的神經網路,以及簡單的初始設定,讓演算法自己去進化出網路架構。當時這個演算法的效果就已經可以媲美人工手調的模型了。
這項工作出來之後,大家還是挺激動的。因為這意味著越來越多的AI應用可以一定程度上減少模型人工搭建調試的壓力。
這下,對沒有時間進階成一個AI專家的用戶來說,也能獲得一個效果越來越好的模型了。
谷歌大腦思考的下一個問題是,人工手調和自我進化結合的模型,效果會不會比單獨的要好?
(人機結合療效好?)
所以,谷歌大腦最近的一篇論文Regularized Evolution for Image Classifier Architecture Search就開始採用更為複雜些的網路以及優化過的初始設定,還用上了谷歌最新的TPUv2晶元。
這一次,谷歌大腦把最高配的硬體,AI專家的經驗,以及自我進化的演算法全砌上,就看在CIFAR-10和ImageNet上跑的效果怎麼樣了。
先看演算法自我迭代的過程&效果
下圖出自谷歌大腦的第一篇論文,每一個點代表用CIFAR-10訓練後得到的神經網路。
剛開始,整個神經網路群都沒有隱藏層,組成架構都是上千個一樣的簡單種子模型。
一開始用的種子模型(這一步還沒有結合AI專家的經驗),每次自我迭代之後,評估神經網路的分類表現。
把表現最好的,也就是分類結果最準確的神經網路挑出來,當作母代模型,用於下一次迭代。
然後在母代模型的基礎上,做微調,進化生成更多的子代模型,歸進整個神經網路群中(相當於進化生物學裡的種群的概念)。
表現不是最好的模型就沒有變異進化的機會。
谷歌大腦第一篇論文的工作涉及到的變異都很簡單。
比方說,隨機移除一個卷積層,或者在隨意兩層之間加一個連接,或者是改變學習的速率等等。
該工作的結果可以看出來自我進化演算法的巨大潛力,雖然搜索空間的質量可能麻麻地(dei)。
舉個栗子。
如果把其中一個種子模型改成Inception-ResNet分類器的話,那麼可能會得到一個錯誤的結論:現在這個演算法表現還不錯,得到一個比較滿意的結果了。
但是這樣操作的話,我們就把這次的變異操作硬編碼了(把這次行為固定下來了,以後不好改),這樣的話就變成以最終結果數值為導向,而不是終極效果目標為導向了。
把其他可能性滅掉後,就達不到進化的目的了。
在這個工作里,谷歌大腦把人工操作的部分壓縮到最小範圍,包含對ReLUs和批標準化層的干預。
再看人機結合後的模型效果
在上一次工作之後,谷歌大腦想減少模型進化過程中的試錯成本。採用2017年Zoph的類inception模塊,有效地把搜索空間縮小,並固定了神經網路的架構,其中網路上節點的模塊是可以替換掉的。
最左邊的那個圖,指的是整個神經網路的外部架構,輸入的數據從底部往上處理。
最右邊的圖,是神經網路節點上的模塊內部框架。
整個網路的目標是產出精確性最高的輸出結果。
人機結合後模型的變異,是隨機重連輸出,或者隨機替換模塊。最後進化出來的模型是高質量的。
不同方法得到的模型效果對比
從圖可以看出,在訓練的早期,自我進化的模型用最少的算力就獲得了最好的效果。
另外,自我進化模型很重要的一個特徵是,最舊的、很久沒獲得變異機會的模型會被棄掉。這樣整個神經網路群的進化速度會越來越快。更多細節可以參考論文。
最後,附阿米巴網路AmoebaNet論文地址:
https://arxiv.org/abs/1802.01548& 編譯來源:
https://research.googleblog.com/2018/03/using-evolutionary-automl-to-discover.html你可能感興趣
別翻牆了,谷歌機器學習速成課25講視頻全集在此
谷歌開源語義圖像分割模型DeepLab-v3+ | 附代碼
首個72量子比特的量子計算機問世,谷歌出品
破解AI大腦黑盒邁出新一步!谷歌現在更懂機器,還開源了研究工具
DIY發現新行星操作指南 | 谷歌開源了行星發現代碼
綠幕通通扔掉 ??? | 谷歌AI實時「摳」背景
— 完 —
歡迎大家關注我們的專欄:量子位 - 知乎專欄
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。
量子位 QbitAI · 頭條號簽約作者
?? ? 追蹤AI技術和產品新動態
推薦閱讀:
※台灣李宏毅老師機器學習ML 第一課 回歸Regression
※Deep Metric Learning via Lifted Structured Feature Embedding(CVPR,2016)
※【用Sklearn進行機器學習】第一篇 - 介紹Scikit-Learn
※機器學習基礎與實踐(二)----數據轉換
※生成對抗網路
TAG:機器學習 | 強化學習ReinforcementLearning | 人工智慧演算法 |