1. 程式人生 > >TF之AutoML框架:AutoML框架的簡介、特點、使用方法詳細攻略

TF之AutoML框架:AutoML框架的簡介、特點、使用方法詳細攻略

TF之AutoML框架:AutoML框架的簡介、特點、使用方法詳細攻略

      自動化機器學習,簡單來說就是一種自動化任務的方法:預處理並清理資料、選擇並構建適當的功能、選擇合適的模型系列、優化模型超引數、後處理機器學習模型、批判性地分析所獲得的結果。

         在機器學習自動化方面,谷歌的 AutoML 無疑地位穩固。AutoML 基於谷歌最新的影象識別技術神經架構搜尋( Neural Architecture Search ,NAS)。NAS 是一種演算法,會根據特定資料集搜尋最佳神經網路架構,以在該資料集上執行特定任務。AutoML 是一套機器學習工具,可以輕鬆訓練高效能深度網路,而無需使用者掌握深度學習或 AI 知識,所有你需要的只是標記資料!

 

AutoML框架的簡介

AutoML官網:https://www.automl.org/

     AutoML是為非ML專家提供機器學習的方法和過程,以提高ML的效率,加速機器學習的研究。ML近年來取得了相當大的成就,越來越多的學科依賴於它。然而,這一成功至關重要地依賴於人類學習專家執行手動任務。由於這些任務的複雜性常常超出非ML專家,ML的應用的快速增長產生了對現成的機器學習方法的需求,這些方法可以容易地使用且無需專家知識。我們稱之為以機器學習自動化的漸進自動化為目標的研究領域。

     AutoML可以幫助選擇模型並選擇超引數。這個術語多被用來描述模型選擇和/或超引數優化的自動化方法。這些方法適用於許多型別的演算法,例如隨機森林,梯度增強機器,神經網路等,AutoML庫、研討會、研究和競賽都可以被囊括進這一領域。

理解:一般情況下,進行機器學習首先需要大量的訓練資料,再由機器學習工程師/資料科學家對資料進行分析,設計演算法形成訓練模型;這需要大量的專業知識。但是,如果使用AutoML,就像是在使用一個工具,我們只需要將訓練資料集傳入AutoML,那麼這個工具就會自動幫我們生成引數和模型,形成訓練模型,這樣即使不具備機器學習方面深入的專業知識也可以進行機器學習方面的工作。

1、AutoML庫:包括auto-sklearn(將AutoWEKA擴充套件為python)、H2O AutoML和TPOT。 AutoML.org(以前稱為ML4AAD,用於自動演算法設計的機器學習)自2014年以來,一直被用在ICML等機器學習學術會議上。
(1)、在谷歌釋出AutoML之前,業內已經存在不少AutoML庫。其中最早的是2013年釋出的AutoWEKA,其可以自動選擇模型並選擇超引數。
2、Cost:AutoML價格也並不算親民,每小時收費20美元。
(1)、此外,一旦你開始訓練,則無法匯出模型,並且得用谷歌提供的API在雲上執行你的網路,這些限制看起來都不是很方便

 

AutoML框架的特點

1、機器學習(Machine Learning, ML)近年來取得了相當大的成功,越來越多的學科需要依賴它。然而,這個成功的關鍵是需要人類機器學習工程師完成以下的工作:

  • 預處理資料
  • 選擇適當的功能
  • 選擇一個適當的模型選擇系列
  • 優化模型超引數
  • 後處理機器學習模型
  • 嚴格分析所得的結果

2、AutoML借鑑了機器學習的許多學科,主要是:

  • 貝葉斯優化
  • 結構化資料和大資料的迴歸模型
  • Meta 學習
  • 轉移學習
  • 組合優化

AutoML框架的使用方法

1、AutoML的主要問題可以由三部分構成:特徵工程、模型選擇、演算法選擇。

(1)、特徵工程

特徵工程在機器學習中有著舉足輕重的作用。在AutoML中,自動特徵工程的目的是自動地發掘並構造相關的特徵,使得模型可以有最優的表現。除此之外,還包含一些特定的特徵增強方法,例如特徵選擇、特徵降維、特徵生成、以及特徵編碼等。這些步驟目前來說都沒有達到自動化的階段。

上述這些步驟也伴隨著一定的引數搜尋空間。第一種搜尋空間是方法自帶的,例如PCA自帶降維引數需要調整。第二種是特徵生成時會將搜尋空間擴大。

(2)、模型選擇

模型選擇包括兩個步驟:選擇一個模型,設定它的引數。相應地,AutoML的目的就是自動選擇出一個最合適的模型,並且能夠設定好它的最優引數。

(3)、演算法選擇

對於演算法選擇,AutoML的目的是自動地選擇出一個優化演算法,以便能夠達到效率和精度的平衡。常用的優化方法有SGD、L-BFGS、GD等。使用哪個優化演算法、對應優化演算法的配置,也需要一組搜尋空間。

 

AutoML VS AutoKeras 框架

  AutoML AutoKeras
家長 谷歌的TensorFlow Keras
花費 20 dollar/h free
開源 No Yes
基於雲 yes(訓練和評價) No
支援的模型 用於分類的卷積神經網路(CNN)、迴圈神經網路(RNN)、長短期記憶網路(LSTM) 用於分類的卷積神經網路(CNN)、迴圈神經網路(RNN)、長短期記憶網路(LSTM)
核心技術 帶梯度策略更新的強化學習 高效神經架構搜尋(參見《Efficient NeuralArchitecture Search via Parameter Sharing》

 

 

 

 

參考文章
分享一篇比較全面的AutoML綜述