AutoML 前瞻与实践 ---- AutoML 简介
文章大綱
- 00 -- 簡介
- 研究動機
- 意義和作用
- 現有AutoML 平臺產品
- autoML 前景展望
- AutoML OpenSource Tool 趨勢與排名
- 參考文獻
- autoML系列文章目錄
- 論文合集
- 書籍
00 – 簡介
機器學習的應用需要大量的人工干預,這些人工干預表現在:特征提取、模型選擇、參數調節等機器學習的各個方面。AutoML視圖將這些與特征、模型、優化、評價有關的重要步驟進行自動化地學習,使得機器學習模型無需人工干預即可被應用。
2012年,AlexNet為了充分利用多個GPU的算力,創新性地將深度神經網絡設計成兩部分,使網絡可以在兩個GPU上進行訓練。2013年,ZFNet又進一步解決了Feature Map可視化的問題,將深度神經網絡的理解推進了一大步。2014年,VGGNet通過進一步增加網絡的深度而獲得了更高的準確率;同年,GoogLeNet的發明引入了重復模塊Inception Model,使得準確率進一步提升。而2015年ResNet將重復模塊的思想更深層次地發展,從而獲得了超越人類水平的分辨能力。這時,由于深度神經網絡層數的不斷加深,需要訓練的參數過于龐大,為了在不犧牲精度的同時減少需要訓練的參數個數,2017年DenceNet應運而生。
隨著深度神經網絡的不斷發展,各種模型和新穎模塊的不斷發明利用,人們逐漸意識到開發一種新的神經網絡結構越來越費時費力,為什么不讓機器自己在不斷的學習過程中創造出新的神經網絡呢?出于這個構思,2017年Google推出了AutoML—一個能自主設計深度神經網絡的AI網絡,緊接著在2018年1月發布第一個產品,并將它作為云服務開放出來,稱為Cloud AutoML。自此,人工智能又有了更進一步的發展,人們開始探索如何利用已有的機器學習知識和神經網絡框架來讓人工智能自主搭建適合業務場景的網絡,人工智能的另一扇大門被打開。
研究動機
(1)傳統機器學習是一個煩瑣且耗時的過程
傳統的AI模型訓練往往要經歷特征分析、模型選擇、調參、評估等步驟,這些步驟需要經歷數月的時間,如果完全沒經驗,時間會更長。AutoML雖然也需要經歷這些步驟,但是通過自動化的方式,可以減少這些步驟的時間。選擇怎樣的參數,被選擇的參數是否有價值或者模型有沒有問題,如何優化模型,這些步驟在從前是需要依靠個人的經驗、知識或者數學方法來判斷的。而AutoML可以完全不用依賴經驗,而是靠數學方法,由完整的數學推理的方式來證明。通過數據的分布和模型的性能,AutoML會不斷評估最優解的分布區間并對這個區間再次采樣。所以可以在整個模型訓練的過程中縮短時間,提升模型訓練過程的效率。
(2)傳統機器學習有一定難度,準入門檻高
模型訓練的難度使得很多初學者望而卻步,即使是數據專家也經常抱怨訓練過程是多么令人沮喪和變化無常。沒有經過一定時間的學習,用戶很難掌握模型選擇、參數調整等步驟。
AutoML可以降低使用機器學習的門檻,它作為一個新的AI研究方法,將機器學習封裝成云端產品,用戶只需提供數據,系統即可完成深度學習模型的自動構建,從而實現自動化機器學習。
AutoML將會成為機器學習發展的最終形態,即機器自己完成學習任務,這樣基于計算機強大計算能力所獲得的模型將優于人類對它定義的模型。從使用的角度來講,必定會有更多非專業領域的人受益于AutoML的發展。
意義和作用
21世紀是一個信息的時代,各行各業都面臨著一個同樣的問題,那就是需要從大量的信息中篩選出有用的信息并將其轉化為價值。隨著機器學習2.0的提出,自動化成為了未來機器學習發展的一個方向。各行各業都涉及機器學習,機器學習已經融入我們生活的方方面面,比如金融、教育、醫療、信息產業等領域。
AutoML帶來的不僅僅是自動化的算法選擇、超參數優化和神經網絡架構搜索,它還涉及機器學習過程的每一步。從數據預處理方面,如數據轉換、數據校驗、數據分割,到模型方面,如超參數優化、模型選擇、集成學習、自動化特征工程等,都可以通過AutoML來完成,從而減少算法工程師的工作量,使他們的工作效率得到進一步提升。
(1)AutoML解決了人工智能行業人才缺口的瓶頸
對于急速發展的人工智能領域來說,人才的培養顯得有些不足。人工智能的發展時時刻刻都在變化,而培養一批該行業的專業人員通常需要幾年的時間。以青年人群為例,從上大學開始,學校才會根據專業對他們進行培養。如果選擇計算機專業,本科教育通常只會讓他們了解到計算機的基礎知識,使其具備基本的編程能力;通常到研究生階段,才會接觸到機器學習等復雜的人工智能。這就需要至少6年的時間才能培養出一批機器學習領域的從業人員。 這樣長的人才培養周期是無法跟上人工智能行業快速發展的腳步的,而AutoML就很好地解決了這一問題。AutoML可以提供自動化的服務,對于曾經需要人工參與的數據處理、特征處理、特征選擇、模型選擇、模型參數的配置、模型訓練和評估等方面,實現了全自動,僅憑機器就可以獨立完成這一系列工作,不需要人工干預,從而減少了人力資源的浪費,解決了人才緊缺的問題。
但是,這就涉及另一個問題了,既然機器可以完成大部分的工作,是否會造成相關專業人員的失業問題呢?其實,這個答案必然是否定的,AutoML可以解決人才緊缺的狀況,但是并不代表它能取代專業人士。現有的AutoML平臺雖然可以完成這些步驟的自動化處理,但是其中的規則仍然需要人工設定,也就是說,專業人士并不會面臨失業的困境,而是要做更高端的工作。
(2)AutoML可以降低機器學習的門檻,使AI平民化
前文已經提到過很多次,機器學習的自動化可以降低機器學習的入門門檻。無論是機器學習新人、機器學習行業從業者,還是機器學習行業專家,都可以很好地適應AutoML,并使用它提供的服務。
(3)AutoML可以擴大AI應用普及率,促進傳統行業變革
AutoML作為這類問題的解決方案,使得越來越多的科技企業開始研發AutoML平臺,目的就是為不懂技術的傳統企業提供使用AutoML技術的捷徑,從而達到人人皆可用AI的局面。AutoML作為一個新的AI研究方法,擴展了AI研究能夠到達的邊界,然后又在其上構建了AutoML的應用平臺及產品,讓AI的應用得到了較為有效的擴展,讓更多行業都可以用AI解決現實世界中的問題。
現有AutoML 平臺產品
- Cloud AutoML(https://cloud.google.com/automl)
- 百度EasyDL
寫 這篇文章的主要動因也是因為發現了,百度目前全方位對autoML 的轉型
- 探智立方DarwinML
- 第四范式AI Prophet AutoML
- 智易科技
- 阿里云PAI
當然,作為autoML 的初級產品,很多產品的形態是拖拽式建模,或者叫可視化建模,這里本人曾經做過一個整體的調研對比:
- 可視化與拖拽式建模
autoML 前景展望
為了解決上述問題而誕生了AutoML,AutoML試圖將這些特征工程、模型選擇以及參數優化等重要步驟進行自動化學習,使得機器學習模型無需人工參與即可被應用。
從前節可見,機器學習的泛化受到了諸多條件的制約,此時急需一種更加通用的方案來解決上述問題,這就產生了AutoML。AutoML是一個將從根本上改變基于機器學習解決方案現狀的方案。
AutoML是一個控制神經網絡提出一個可以在特定任務上訓練和評測性能的子模型架構,測試的結果會反饋給控制器,讓控制器知道下一輪如何改進自己的模型。自動機器學習集中在以下兩個方面:數據采集和模型預測。在這兩個階段之間所有發生的步驟將被自動機器學習抽象出來。實際上,用戶只需要提供自己的數據集、標簽并按下一個按鈕來生成一個經過全面訓練的和優化預測的模型。大多數平臺都提示用戶來上傳數據集,然后對類別進行標記。之后,在數據預處理、模型選擇、特征工程和超參數優化中涉及的大部分步驟將在后臺進行處理。這種方法極大地改變了在訓練機器學習模型中涉及的傳統工作流。
AutoML完全改變了整個機器學習領域的游戲規則,因為對于許多應用程序,不需要專業技能和知識。許多公司只需要深度網絡來完成更簡單的任務,例如圖像分類。那么他們并不需要雇用一些人工智能專家,他們只需要能夠數據組織好,然后交由AutoML來完成即可。
AutoML OpenSource Tool 趨勢與排名
小技巧:使用一下兩個方式進行搜索:
- https://github.com/topics/automl
- https://awesomeopensource.com/
當使用github 時候可以在鏈接 topics 后面輸入相對應的關鍵詞,從而得到這個領域關鍵詞下面opensource 組件的排名
-
Ray ? 16,874
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library. -
Nni ? 10,085
An open source AutoML toolkit for automate machine learning lifecycle, including feature engineering, neural architecture search, model compression and hyper-parameter tuning. -
Tpot ? 8,168
A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming. -
Autokeras ? 8,077
AutoML library for deep learning -
Featuretools ? 5,666
An open source python library for automated feature engineering -
Auto Sklearn ? 5,579
Automated Machine Learning with scikit-learn -
H2o 3 ? 5,474
H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc. -
Automl ? 4,477
Google Brain AutoML
參考文獻
-
https://github.com/MachineLP/CodeFun/blob/master/05-auto_ml_dl/01-auto_ml/01-%E8%87%AA%E5%8A%A8%E5%8C%96%E7%89%B9%E5%BE%81%E5%B7%A5%E7%A8%8B.md
-
https://bbs.huaweicloud.com/blogs/134113
-
https://www.jiqizhixin.com/articles/2018-11-07-18
-
一文盤點AutoML庫(附PPT等鏈接)
autoML系列文章目錄
- 可視化與拖拽式建模
- 如何做基于spark 的 自動化機器學習?
- H2O Sparkling Water簡介
論文合集
- https://github.com/hibayesian/awesome-automl-papers
書籍
《深入理解AutoML和AutoDL:構建自動化機器學習與深度學習平臺》
-
自動機器學習(AutoML):方法、系統與挑戰
參考網站: -
https://www.automl.org/
-
https://www.automl.org/wp-content/uploads/2019/05/AutoML_Book.pdf
總結
以上是生活随笔為你收集整理的AutoML 前瞻与实践 ---- AutoML 简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pms输变电状态监测_输变电设备状态监测
- 下一篇: 【优化求解-单目标求解】基于黑猩猩算法求