自動機器學習(AutoML)
自動機器學習(后簡稱AutoML)是阿里云人工智能平臺 PAI提供的服務,它能按照策略幫助您完成最優超參組合搜索,從而大幅提升模型調優效率。
基礎概念
超參數:是訓練機器學習模型時用到的外部配置參數,在模型訓練開始前設置。超參數不同于模型內部參數,模型內部參數在學習過程中被不斷地更新和優化,超參數在學習過程開始前就設置,在模型訓練過程中保持不變。
超參調優:Hyper Parameter Optimization簡稱HPO,是指手動或者自動進行超參數調優,而本文中特指是AutoML提供的對模型參數、訓練參數等進行自動搜索調優的服務。它能幫您獲取較優參數,提升模型效果,節省算法工程師調參的時間,讓算法開發人員聚焦在建模和業務上。
搜索空間:定義了超參組合的范圍,AutoML會在此范圍內,搜索最佳的超參組合。
實驗:在PAI的AutoML服務里,一個實驗的目的是在搜索空間里,尋找模型的最佳超參組合。
Trial:在PAI的AutoML服務里,每一個trial會用一組特定的超參數值組合生成和評估模型。一個實驗通過調度運行多個trial,并比較這些trial的結果,達到找到最佳超參組合的目標。更多說明請參見AutoML工作原理。
任務類型:Trial使用哪種資源和環境進行訓練,當前可以支持使用DLC的計算資源與MaxCompute計算資源。
背景
在機器學習模型中,超參數(Hyper Parameter,簡稱超參)是用來控制模型訓練的一組參數,是訓練機器學習模型時用到的外部配置參數。超參數在模型訓練開始之前應設置好。超參數不同于模型內部參數,模型內部參數在學習過程中被不斷地更新和優化。而超參數在學習過程開始前設置,在模型訓練過程中保持不變。
可以把一個模型的n個超參理解成一個n維向量。在模型訓練的實踐中,我們需要從這個模型的所有超參向量值域里,找到一個特定的向量值,使得該模型在給定的數據集上獲得最佳效果(比如最小化損失函數loss function的結果)。尋找這個最優超參向量值的過程我們稱之為超參調優(Hyper Parameter Optimization,簡稱HPO)。
舉個簡單的例子,模型有2個超參A和B,A可能的取值有(a,b,c),B可能的取值有(d,e),那么這個超參調優過程就是從A、B值的6種排列組合里,選出一種,使得模型訓練有最佳效果。為了選出最優組合,最簡單的方式是在同一個訓練數據集上,把A,B的6種值的組合分別用于模型訓練,然后比較模型在同一組測試數據集上的效果,選出效果最好的模型所用的超參組合。
AutoML HPO介紹
受模型超參數量、每個超參的數據類型和值域范圍影響,超參調優問題很容易達到很高的復雜度。比如模型有多個超參,有些超參是整型,有些是浮點型,此時超參調優無法通過手工來完成,通過暴力搜索需要消耗非常大的計算資源,這需要引入自動化的系統來完成這項工作。AutoML服務中的HPO功能,正是幫助用戶實現自動超參調優的目標。
AutoML HPO是AutoML提供的對模型參數、訓練超參數(opt、lr)等進行自動搜索調優的服務,為您提供了易用、有效、準確的自動超參調優服務:
簡化調優工作:通過自動化工具大幅簡化算法工程師調參工作,節省算法工程師的調參時間。
訓練更優模型:集成了PAI的多種算法,能夠有效查找到最優組合以及對應的模型,幫助您訓練出精度更高、效率更高的模型。
節省計算資源:超參調優工具會通過持續的評估,決定是否有必要使用下一組超參組合。這個機制下,可能不需要評估所有組合就已經得到了最優解,能幫助您節省計算資源的使用量。
方便應用算力:與DLC、MaxCompute計算資源無縫銜接,方便您靈活配置并使用澎湃算力。
AutoML HPO應用場景
機器學習訓練過程中,需要進行模型參數調優的,都可以使用AutoML HPO,來獲得更好模型。常見的應用場景有下面幾種。
機器學習二分類任務,例如判斷用戶是否是付費用戶。
機器學習回歸類任務,例如判斷用戶7日預計付費金額。
機器學習聚類任務,例如確定某化妝品牌在某城市劃分幾個買賣點。
推薦場景:排序召回模型調優,提升AUC等指標。
深度學習:提升圖像多分類/視頻多分類等任務的精度。
相關文檔
(推薦)了解AutoML原理機制,實驗、Trial、訓練任務關系,幫助您理解后續配置項間的邏輯關系。
通過控制臺創建新實驗,以及了解其中的關鍵參數如何配置。
您可以通過實際案例,來使用AutoML,完成模型的超參調優。