第四範式塗威威:AutoML 回顧與展望

  • 2019 年 10 月 31 日
  • 筆記

AI 科技評論按,本文作者第四範式塗威威,該文首發於《中國電腦學會通訊》第15卷第3期,AI 科技評論獲中國電腦學會授權轉載。

自動機器學習的研究動機

機器學習在推薦系統、在線廣告、金融市場分析、電腦視覺、語言學、生物資訊學等諸多領域都取得了成功,在這些成功的應用範例中,也少不了人類專家的參與。Google、 Facebook、百度、阿里巴巴、騰訊等科技公司依靠其頂尖的機器學習專家團隊來支撐機器學習在企業內部的各種應用,各類科研機構也在花費大量經費,維護著機器學習科學家團隊。然而,對於很多傳統企業、中小型企業和一般的科研機構,就很難組建出這樣的機器學習專家團隊,其原因是機器學習專家的缺口太大,人才短缺,人才搶奪激烈,專家團隊的管理成本高昂和專家經驗不可複製,等等。

為了機器學習能為更多的企業賦能,在更加廣泛的場景得到應用,有沒有低門檻甚至零門檻的機器學習方法,讓更多的人可以在很少甚至幾乎沒有專業知識的情況下輕鬆使用,並減少機器學習應用落地對專家人才的依賴?自動機器學習(Automatic/Automated Machine Learning, AutoML)應運而生。其研究目的就是為了使機器學習過程自動化,減少、甚至完全規避人類專家在這個過程中的參與度。

理論出發點

設計機器學習演算法是一件困難重重的事情,能否找到一種通用的機器學習演算法來解決所有的機器學習問題呢?這個問題在 20 多年前就被解答過,對於所有可能的問題,可以證明的是,如果所有問題同等重要,所有的演算法,包括完全隨機的演算法,它們的期望性能是一樣的,所有的演算法沒有優劣之分,這是著名的沒有免費的午餐 (No Free Lunch, NFL)定理的一個不太嚴謹的直觀闡述。

這個定理意味著尋求一種完全通用的機器學習演算法是行不通的。於是,研究人員就開始針對不同的問題展開對應的機器學習研究,這導致了機器學習技術廣泛應用不可複製的問題。在解決某個特例問題的機器學習演算法和針對所有問題完全通用的機器學習演算法之間,有一種可能性是存在可以解決某一類而不只是某一個特例的相對通用的機器學習演算法。自動機器學習就是從這樣的理論考慮出發,試圖去尋找更加通用的機器學習演算法。

目前自動機器學習研究的主要場景

靜態閉環自動機器學習

靜態閉環自動機器學習考慮的是靜態機器學習問題,即給定固定的訓練集,不利用外部知識,尋找在測試集上期望表現最好的機器學習模型。經典的機器學習流程包括數據預處理、特徵處理和模型訓練。自動機器學習在這三個流程中都有廣泛的研究 :

(1) 數據預處理中,研究數據的自動清洗、樣本的自動選擇、數據的自動增強、數據類型的自動推斷等,以達到理解原始數據和提升數據品質的目標。

(2) 對特徵處理方法的研究主要包括自動特徵生成和自動特徵選擇。自動特徵生成的研究包括單特徵變換、多特徵組合、深度特徵生成、特徵學習等。自動特徵選擇一般會配合自動特徵生成使用,先自動生成特徵,再進行自動特徵選擇,對於複雜的特徵處理,一般兩者交替迭代進行。

(3) 模型訓練的研究一般包括自動演算法選擇和自動演算法配置。自動演算法試圖從廣泛的機器學習演算法中選擇適合問題的某一個或者某幾個演算法,這些演算法又有很多的超參數需要配置,自動演算法配置則研究如何進行超參數選擇配置,比如如何配置神經網路結構,實際應用中這兩者也會配合使用。

外部知識輔助的靜態自動機器學習

外部知識輔助的靜態自動機器學習試圖借鑒人類專家選擇數據處理方法、特徵處理方法、模型訓練演算法等的方式進行自動機器學習。人類專家會從以往處理過的機器學習問題中積累經驗,並將此推廣到之後的機器學習問題中。

動態環境的自動機器學習

動態環境下的自動機器學習研究試圖解決的是數據不斷積累、概念發生漂移時的問題。

核心技術

自動機器學習的研究核心是如何更好地對數據處理方法、特徵處理方法、模型訓練方法等基礎部件進行選擇、組合以及優化,以使學習到的模型的期望性能達到最優(見圖 1)。

目前該項研究主要面臨三個難點 :

(1) 超參配置與效果之間的函數無法顯式表達,屬於「黑盒」函數;

(2) 搜索空間巨大,可能的處理方法和組合是指數級,同時不同處理方法擁有各自的超參數,當特徵維度超過 20 時,其多目特徵組合可能的搜索空間都將遠超圍棋可能的狀態空間 ;

(3) 函數值的每次計算大多涉及數據預處理、特徵處理、模型訓練的全流程,函數值的計算代價極其昂貴。為了解決這些問題,採用的核心技術是基礎搜索方法、基於取樣的方法和基於梯度的方法。

圖1 自動機器學習的框架

基礎搜索方法

搜索方法中最常見的是格搜索方法。該方法通過遍歷多維參數組合構成了網格尋求最優化,容易實現,應用廣泛,但是,搜索複雜度隨參數維度呈指數增長,並且會將搜索浪費在不太重要的參數維度上。隨機搜索方法則是對參數空間進行隨機取樣,各個維度相互獨立,克服了維度災難和浪費資源搜索的問題。在實際應用中,隨機搜索方法往往表現得比格搜索要優秀。

基於取樣的方法

基於取樣的方法是被研究得最多的方法,大多也是具有理論基礎的方法,往往比基礎搜索方法表現更優。這類方法一般會生成一個或者多個對樣本空間的取樣點,之後再對這些取樣點進行評估,根據評估的回饋結果進行下一步取樣,最後尋找到相對較優的參數點(見圖 2)。基於取樣的方法分為以下四類:

圖2 基於取樣的方法

  • 基於模型的零階優化方法

該方法試圖建立關於配置參數和最終效果的模型,並依據模型來尋求最優化。這類方法一般先基於已經取樣到的點的效果評估建立模型,然後基於學習到的模型採用某種取樣策略來生成下一個或者下一組取樣點,根據新的取樣點得到的效果進一步更新模型,再取樣迭代,如此尋求對黑盒函數的最優化。由於待優化的函數是「黑盒」函數,在求解過程中只能獲得函數值而不能直接計算函數梯度,因此也被稱為零階優化方法(零階是相對於傳統計算一階或者二階梯度的優化方法)或者非梯度方法。

這類方法有兩個主要的關注點 : 模型和取樣策略。構建的模型一般用來預測配置參數對應的效果。由於取樣依據的模型僅僅是依據之前取樣得到的點的回饋學習,對函數空間未探索區域的估計一般是不太準確的,取樣策略需要在函數最優化和空間探索之間做出權衡,即在開發利用 (exploitation) 和探索 (exploration) 之間做出權衡,簡稱 E&E。

貝葉斯優化是一種基於概率模型的方法,一般採用高斯過程、貝葉斯神經網路、隨機森林等作為模型,然後採用提升概率、提升期望、交叉熵、GP-UCB 等作為取樣策略,這些策略都在顯式或者隱式地進行 E&E。最常見的是基於高斯過程的貝葉斯優化方法,這類方法在參數維度較低、取樣點較少時表現較優,但是在高維、取樣點較多時就很難被使用,因此有學者嘗試使用貝葉斯神經網路解決這樣的問題。

基於分類方法的隨機坐標收縮方法 (RAndom COordinate Shrinking, RACOS) 和基於隨機坐標收縮分類模型來進行基於模型的零階優化,有效地解決了貝葉斯優化方法的計算複雜度高、參數類型受限的問題,它一般採用最簡單的 ε-greedy 方法來進行 E&E。隨機坐標收縮方法被證明在高維度場景下顯著優於基於高斯過程的貝葉斯優化方法。

  • 局部搜索方法

局部搜索方法一般定義某種判定鄰域的方式, 從一個初始解出發,搜索解的鄰域,不斷探索更優的鄰域解來完成對解空間的尋優。最常見的方法有爬山法、局部集束搜索等。局部搜索簡單、靈活並易於實現,但容易陷入局部最優,且解的品質與初始解和鄰域的結構密切相關。

  • 啟發式方法

啟發式方法主要是模擬生物現象,或者從一些自然現象中獲得啟發來進行優化,最典型的就是基於演化計算方法。這類方法由於很少有理論依據,實際工作中很難對方法的效果進行分析。

  • 基於強化學習的方法

這類方法能夠發現一些新的神經網路結構,並被驗證具有一定的遷移能力,但是由於強化學習自身的學習演算法研究尚未成熟,其優化效率相對低下。

基於梯度的方法

由於對優化部件以及超參數的可微性要求較高,並且計算複雜度也高,因此,直接對優化目標進行梯度求解的方法很少使用。

研究熱點

自動機器學習的研究熱點是效率和泛化性。解決自動機器學習的效率問題是自動機器學習技術落地的關鍵之一。效率優化包括六類 :

(1) 混合目標優化,將參數點的評估代價也作為優化目標的一部分,在計算代價和效果之間做權衡。

(2) 同步並行化和非同步並行化。

(3) 提前停止迭代,在訓練早期就剔除一些表現不太好的參數,節省計算資源,比如最經典的逐次減半策略,每過一段時間都剔除其中一半不好的參數,極大地節省了計算資源(見圖 3)。

(4) 對模型訓練進行熱啟動,復用類似參數的訓練結果,降低超參數的評估代價。

(5) 對數據進行取樣,採用小樣本上的參數搜索來代替全樣本的參數搜索,由於小樣本和全樣本最優參數之間可能存在著差異,有一些研究人員試圖學習小樣本和全樣本之間的關係來進行多保真度的自動機器學習(見圖 4)。

(6) 將超參數搜索和機器學習過程結合起來,進一步提升效率和效果,比如基於種群的方法。

機器學習關注的核心是泛化性,自動機器學習的目的也是為了提升最終學習到的模型的泛化性。

圖3 逐次減半策略

圖4 多保真度的自動機器學習

如何判斷自動機器學習是否提升了泛化性,一般採用切分訓練集和驗證集的方式進行估計。為了進一步降低過擬合到驗證集的風險,有一些研究關注如何對模型的泛化效果進行更合理的估計。除此之外,由於自動機器學習往往伴隨著很多次不同參數的模型學習,與最終只選擇一個「最優」的模型不同,選擇其中一些模型進行集成學習也是一種提升泛化性的方式。越來越多的工作混合多種效率優化和提升泛化性的策略對自動機器學習演算法進行優化。

落地應用

來自不同數據之間解決問題手段的可遷移性 / 可複製性為自動機器學習的落地增加了難度。解決不同問題的手段相似性或者可遷移性 / 可複製性越高,自動化越容易,反之越難。目前自動機器學習落地的應用場景主要有影像數據和表數據。

影像數據

深度學習取得成功的領域來自影像。深度學習的核心在於「自動」學習層次化特徵。以前的影像分析需要人工來做,要從原始像素中提取非常多的特徵,而深度學習很好地解決了這個問題。深度學習使得特徵可學習,同時將人工特徵設計轉變成了人工神經網路結構設計。對於這類數據,自動機器學習研究的核心是使影像領域的神經網路結構設計自動化。影像數據之間的相似性較大,原始輸入都是像素,問題解決方案的可遷移性和可復用性也大,因此,自動機器學習在影像數據上的落地相對容易。

表數據

表數據是抽象數據,不同的表數據之間沒有很強的相似性,不同表數據各列的含義千差萬別,表數據還與實際業務密切相關,需要解決時序性、概念漂移、雜訊等問題,因此自動機器學習在表數據上落地的難度較大,僅僅是自動神經網路結構設計是遠遠不夠的。目前研究的熱點還包括如何將分布在多個表中的數據自動轉化成最終機器學習所需要的單個表數據。

未來展望

演算法方向

在自動機器學習演算法方面,未來的工作如果能在 5 個方向上取得突破,將會有較大的價值。

1. 效率提升。效率可從時間複雜度和樣本複雜度兩方面考量。在給定的計算資源下,更高的效率在一定程度上決定了自動機器學習的可行性,意味著可以進行更多探索,還可能會帶來更好的效果。另外,獲取高品質有標記的樣本往往是非常昂貴的,因此樣本複雜度也是影響機器學習落地的關鍵因素之一。在外部知識輔助的自動機器學習中引入學件 (學件 = 模型 + 模型的規約),利用遷移學習,是未來有效降低樣本複雜度的可能方向 (見圖 5)。

圖5 遷移學習與學件

2. 泛化性。目前自動機器學習在泛化性上考慮較少,泛化性是機器學習最重要的研究方向,未來需要加強。

3. 全流程的優化。與目前大部分自動機器學習只研究機器學習的某一個階段(比如自動特徵、自動演算法選擇、自動演算法配置)不同,實際應用需要全流程的自動機器學習技術。

4. 面對開放世界。現實世界不是一成不變的, 自動機器學習技術需要面對開放的世界,解決數據的時序性、概念漂移、雜訊等問題。

5. 安全性和可解釋性。為使自動機器學習具有安全性,需要解決攻擊應對、雜訊抵抗、隱私保護等問題。如果自動機器學習系統被部署到實際系統中與人交互,則需要更好的可解釋性。

理論方向

在自動機器學習理論方面,目前研究的甚少,對自動機器學習的泛化能力及適用性也知之甚少。因而,我們一方面要回答目前自動機器學習演算法的適用性和泛化能力,另一方面也要回答哪些問題類存在通用的機器學習演算法上和更廣泛問題空間上的自動機器學習演算法的可行性。