本篇是和Kabuto_hui(ISN國家重點實驗室成員)合做修改生成的,感謝Kabuto_hui。更多技術文章請訪問,Kabuto_hui的csdn博客()連接:http://blog.csdn.net/kabuto_huipython
Google在AI First的戰略下,陸續發佈AI相關的產品,技術。據最新的報道:Google AutoML 系統自主編寫機器學習代碼,其效率在某種程度上居然超過了專業的研發工程師。AutoML的目標並非要將人類從開發過程當中剝離出去,也不是要開發全新的人工智能,而是讓人工智能繼續維持某種速度來改變世界。筆者認爲,機器編程即將取代程序員,純屬無稽之談。git
如下是一個學習指南。程序員
今年在 ICML 2017International Conference on Machine Learning, ICML)國際機器學習大會和ECMLPKDD 2017(European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases, ECMLPKDD)歐洲機器學習會議和數據庫知識發現的原理與實踐上將會舉行關於AutoML
的研討會。那麼什麼是AutoML呢?github
機器學習(Machine Learning, ML)近年來取得了至關大的成功,愈來愈多的學科須要依賴它。然而,這個成功的關鍵是須要人類機器學習工程師完成如下的工做:算法
因爲這些任務的複雜性一般超過了非機器學習專家的能力,機器學習應用的快速增加產生了對於現成的機器學習方法的需求,並且這些現成的機器學習方法簡單易使用且不須要專業的知識。咱們稱以機器學習的漸進自動化爲目標的研究領域爲AutoML(Automatic Machine Learning, AutoML)。數據庫
雖然它的最終用戶面向那些沒有專業機器學習知識的人,但AutoML依然向機器學習專業人士提供了一些新的工具,如:編程
執行深層表示的架構搜索網絡
分析超參數的重要性架構
遵循「優化編程」的範例,AutoML主張開發能夠用數據驅動的方式自動實例化的靈活軟件包。框架
AutoML網絡的設計從卷積架構的初始版本進行多年的仔細實驗和細化完成的。
在AutoML中,一種控制器神經網絡可以提議一個「子」模型架構,而後針對特定任務進行訓練與質量評估;而反饋給控制器的信息則會被用來改進下一輪的提議。咱們重複這個過程數千次——從而生成新的架構,而後通過測試和反饋,讓控制器進行學習。最終,控制器將學會爲好的架構分配高的機率,以便在延續的驗證數據集上實現更高的準確性,而且對於架構空間的差別很小。以下圖所示:
若是AutoML取得成功的話,這能夠啓發新型的神經網絡,不只專家能夠根據本身的特定需求建立神經網絡,機器學習可讓每一個人都從中獲益。
AutoML旨在建立能夠由ML新手」開箱即用「的軟件。最近可能展現的一些實例:
AutoML借鑑了機器學習的許多學科,主要是:
用於貝葉斯優化的機器學習超參數系統能夠促進AutoML,主要包括:
此外,還提供了兩個可用於超參數優化的軟件包:
通常狀況下,進行機器學習首先須要大量的訓練數據,再由機器學習工程師/數據科學家對數據進行分析,設計算法造成訓練模型;這須要大量的專業知識。可是,若是使用AutoML,就像是在使用一個工具,咱們只須要將訓練數據集傳入AutoML,那麼這個工具就會自動幫咱們生成參數和模型,造成訓練模型,這樣即便不具有機器學習方面深刻的專業知識也能夠進行機器學習方面的工做。
目前還須要人類去使用AutoML,配置參數;在將來就是經過大量的人工智能來生成AutoML Box,再將數據傳遞到AutoML Box中生產訓練模型,以下圖所示:
http://www.ml4aad.org/automl/
http://www.ml4aad.org/automl/workshops/
http://slides.com/streguer/automl/fullscreen#/