以下為塗威威在市北•GMIS 2019 全球資料智慧峰會上的演講內容,機器之心進行了不改變原意的編輯、整理:
大家好,非常感謝機器之心的邀請。今天來跟大家分享的主題是自動機器學習技術的回顧和展望。在介紹自動機器學習之前,先介紹下機器學習。機器學習的經典定義,是計算機程式利用經驗(資料)來改善系統效能。目前,機器學習在推薦系統、線上廣告、金融市場分析、計算機視覺、語言學、生物資訊學等諸多領域都取得了成功,在這些成功的應用範例中,人類專家參與了絕大多數的工作。Google、Facebook、百度、阿里巴巴、騰訊等科技公司依靠其頂尖的機器學習專家團隊來支撐機器學習在企業內部的各種應用。但是,並非所用公司在擁有資料之後,都可以像這些巨頭公司一樣應用 AI,並改善效能,實現資料驅動增長的新模式。
原因在於機器學習是一個非常複雜的技術,且應用的門檻非常高。機器學習的階段包括了定義問題、收集資料、資料預處理、特徵工程、模型訓練,模型評估,模型應用等過程,搭建整套機器學習流程往往超出了非機器學習專家的能力範圍。機器學習專家對機器學習技術的成功應用至關重要。機器學習的成功應用需要複合型的專家人才,他既需要了解機器學習理論知識,另外還需要對行業有深入瞭解,這樣的人才培養週期特別長,且不具有可複製性。由於機器學習專家的缺口太大,人才短缺,人才搶奪激烈,專家團隊的管理成本高昂和專家經驗不可複製等原因,很多傳統企業、中小型企業和一般的科研機構,就很難組建專業的機器學習專家團隊,從而阻礙了機器學習在各行各業廣泛落地。
解決這樣的問題,我們要把機器學習這個技術變得平民化,讓很多人可以用起來。這裡面有一個關鍵的技術就是自動機器學習。這個技術背後的邏輯用機器替代人,替代原來機器學習專家做的事情,從而在應用 AI 的過程中降低對專家的依賴。
自動機器學習求解的三要素
自動機器學習的定義就是試圖在有限的資源限制和沒有人為輔助的情況下自動找到解決目標問題的儘可能優的機器學習配置。自動機器學習求解有三個要素,第一個是機器學習到底有哪些配置,它的配置空間是什麼;第二個是有了配置之後,我們如何評估配置的效能;第三個是有了配置空間定義和配置效能評估方法之後,如何高效的找到這些任務。因此,總結自動機器學習三個核心的要求,就是配置空間、配置的效能評估、配置的最佳化策略。
首先是配置空間,以經典機器學習過程為例,大多有三個核心步驟:資料預處理、特徵處理和模型訓練。資料預處理囊括了資料清洗、型別推斷、樣本選擇、樣本增強等。特徵處理主要分為特徵生成、特徵選擇兩塊,其中有各自不同的多種多樣的方法。在模型訓練方面,需要選擇各種各樣的模型演算法,每個模型演算法還需要對相應的學習引數進行調整。所以對自動機器學習而言,需要解決所有這些配置問題。可以看到這是一個隨著配置數目指數增長的超大搜尋空間。有了配置之後,需要對這個配置進行評估。機器學習最重要的指標是泛化性,就是要關注未來模型被應用到的樣本上的效能。目前一般的效能估計演算法是把資料切成訓練集和測試集,利用訓練集構建完模型,在測試集上進行驗證,評估模型的泛化效能,但整個流程是非常漫長的。對於評估配置而言,整個評估的代價非常高。
現在有一些加速版本,比如可以進行取樣,或是提前停止以及利用引數共享的方式來提升配置效能評估的速度。也有一些方法是訓練一個替代模型,給定資料和配置之後,利用諸如元學習等方法去預測該配置可能的效能,能夠更進一步提升效能評估速度。有了效能評估方法之後,就需要找一些方法,能夠快速地在配置空間尋找一個在效能度量下儘可能好的配置,就是配置最佳化的問題。這個最佳化問題相比傳統的最佳化問題很不一樣:它要最佳化的函式一般無法寫出解析表示式,最佳化搜尋空間巨大,函式計算代價也很大。
自動機器學習最經典的解法會嘗試用基礎搜尋:網格搜尋和隨機搜尋等方法去最佳化。這種方法非常簡單,在實際應用中也很廣泛,但是這類方法不會利用目標問題的特性,對於所有的問題都是一樣的解法。還有一類更聰明的利用待解問題特性的方法:基於取樣的方法。這類方法首先在配置空間裡面採到一個點,然後進行評估並獲得反饋,這個反饋慢慢地對要解的問題有更深的認識,可以利用問題特性更快地找到更適合的點。這裡面有很多經典的方法,比如說像基於模型的零階最佳化(比如貝葉斯最佳化、隨機座標收縮等)、區域性搜尋、啟發式演算法、強化學習等等。如果最終目標可以寫出一個配置及其驗證集效果之間解析表示式,那就可以利用基於梯度的方法更快速的進行最佳化,比如雙層最佳化方法等,但是這類方法要求配置及驗證集之間的關係可以寫出解析表示式,這在實際應用中往往是不成立的,所以這類方法應用並不廣泛。
我們結合自動機器學習技術的三個典型例子來看,每個例子裡面這三要素是如何配合並最佳化的。
自動機器學習之——多保真度超引數最佳化
第一個是超引數搜尋,它的配置空間是模型訓練的超引數,配置的最佳化策略一般會採用基於取樣最佳化,比如貝葉斯最佳化或者隨機座標收縮方法等。我們在前面提到,這裡面比較關鍵的問題是每次做超引數(配置)效能評估的時候,需要把整個模型重新訓練一遍,時間非常長。一種簡單的加速做法是把這個資料進行取樣,在很小的樣本上面進行評估,或者採用提前停止的方法,雖然評估的很快(利用的資源很少),但是降低了準確性。就有學者提出了多保真度超引數搜尋的方法,在效率和準確性之間做了較好的權衡
比如 SuccessiveHalving 和 Hyperband 方法。SuccessiveHalving 一開始是以非常小的資源給到所有可能的引數配置,經過評估之後,將比較好的半數配置保留,淘汰另一半較差的配置,然後把相同的資源用於剩下引數的評估,再淘汰一半,不斷往復,直到就剩一組引數配置。
但該方法也存在缺陷,有些引數配置可能在給定更多資源的情況下才能表現更好。就有學者提出了 Hyperband 的方法,同時啟動好幾個 SH(SuccessiveHalving)方法,每個 SH 方法都以不同的資源配置(小、中、大等)作為起始點,所以就有一定機率可以找到那些給定更多資源才能表現更好的引數。SH 和 Hyperband 可以在效率和效能之間做一定的權衡,但是這類方法沒有充分利用問題的特性,對於不同的問題,解法都是一致的。
又有學者提出了 Transfer Series Expansion(TSE)的做法,這種做法試圖去學習低資源和高資源之間的效能誤差模型,在給定低資源的效能情況下去預測高資源的效果。但是構建這樣的模型需要的樣本資料是非常難以獲得的,因為要訓練這樣的模型,需要蒐集很多給定同樣配置高資源和低資源模型效果的樣本對,需要大量高資源訓練出來的模型,這樣的代價非常大的。TSE 設計了一個巧妙的做法就是可以收集很多的低資源和中等資源(遠遠小於高資源)效果的樣本對,構建一個預測低資源和中資源之間誤差的模型,然後把這樣的模型遷移到低資源和高資源之間,利用 fine-tune 以及整合學習的思想,只需要非常少的低資源和高資源的樣本就可以構建非常準確的模型。這樣的方法,在取得相同效果的情況下,資源消耗降低了一個量級。
自動機器學習之——自動特徵工程
第二個例子是在機器學習環節中非常關鍵的特徵工程。在很多實際業務的特徵中,組合特徵的重要性不言而喻。例如在新聞推薦中,若只有新聞型別、使用者 ID 兩類特徵,模型只能分別預測不同新聞型別或不同使用者 ID 對點選率的影響。透過加入新聞型別 x 使用者 ID 組合特徵,模型就可學習到一個使用者對不同新聞的偏好。再加入時間等特徵進行高階組合,模型就可對一個使用者在不同時間對不同新聞的偏好進行預測,提升模型個性化預測能力。一些知名的推薦系統透過探索出近半數的組合特徵和少數高階特徵(high-order feature)而變得更為出色。但是如何找到這些隱含的特徵使非常困難的,只有 20 個特徵的特徵組合搜尋問題的搜尋空間就遠大於 AlphaGo 的搜尋空間。
因此有學者提出了 AutoCross 方法,這類方法在搜尋策略以及效能評估上做了專門的最佳化,比如利用 Beam Search 這樣的貪心方法對特徵組合空間進行探索,提出了 Successive Mini-batch GD, Field-Wise LR 可以並行的評估很多的特徵組合,保證效果的同時,可以大幅提高評估效率。
此外,在實際的業務當中,會碰到各式各樣的資料,這些資料是以多張表的形式呈現的,但是機器學習演算法只能接收一張表,而且實際業務會存在大量的時序特性,對自動機器學習而言,如何構建有效的時序的特徵、將多表拼接成一張表的問題更為複雜,搜尋空間要比自動特徵組合更為巨大,第四正規化有學者提出了 AutoTemporal 的方法,同樣在效能評估、最佳化策略上進行了更加深入最佳化,並在實際應用中獲得了很好的落地,相比專家做出的方案,利用了更少的特徵,獲得了更好的準確率,並在實際預測耗時上數個量級低於專家設計的方案。
自動機器學習之——神經網路架構搜尋(NAS)
得益於深度學習在各個領域的廣泛研究,在自動機器學習中,大家比較熟知的研究是神經網路架構搜尋。深度學習效果好很大程度上是得益於架構上的設計。如何針對目標問題自動地設計一個好的神經網路架構?其中包括很多方面,比如需要做多少層、什麼樣的層、用多少個節點,層與層之間如何連線、超引數如何配置等,設計難度巨大。
近期關於 NAS 的一些工作,是從 Google 的 2017 年的工作開始(其實幾十年前也有類似的工作,具體可以參見第四正規化的 AutoML 綜述文章),當時 Google 的工作用 RNN 描述 CNN 的結構,利用強化學習去做超引數的探索,對探索出來的每個結構用完整訓練的方式進行評估,效果已經逼近人當時設計的最好的結構,但這種方法消耗的時間和成本非常大。
之後,很多研究對 NAS 進行了改進,主要體現在自動機器學習求解的三要素上:在配置空間上,有一些工作將大的結構裁剪成重複的小單元,在小資料集合上搜尋小的單元結構,遷移到大資料及上,然後再進行與之前一樣的做法,可以看到相比原來的方法,效率提升了一個量級;
在網路架構(NAS 的配置)的效能評估上,在訓練網路的時候,不同的網路配置之間可以引數共享,避免從頭開始訓練,透過這樣的方式,效率提升了三個量級;最後,最新的一些方法將神經網路架構搜尋的配置空間轉換成連續化表達,就可以利用梯度下降的方法去最佳化,效率以及效果得到了進一步的提升。
自動機器學習三要素的發展趨勢
接下來,我們展望一下自動機器學習技術的發展趨勢。首先是配置空間、配置效能評估和最佳化策略等自動機器學習三要素的發展趨勢。從配置空間上講,以前搜尋的空間中,很多是無關緊要的,因此我們需要在指數級爆炸的搜尋空間中找到更緊緻更精確的配置空間,儘可能的降低配置空間的複雜度。在效能評估上,要降低整個效能評估開銷,提升整個評估的準確性。在最佳化策略上,則沿著儘可能減少迭代的次數,找到更好的區域性解,獲得更快的收斂速度及更好地魯棒性的方向去發展。
其次是讓自動機器學習尋求更廣泛的求解範圍。目前,自動機器學習解決的問題有限,對資料質量要求較高、可應用的任務有限、效能度量關注點有限。
在資料方面,實際業務場景的資料可能存在各種各樣的問題,比如有的資料噪聲嚴重,有的僅有少量有標記的樣本資料及大量未標記的資料,甚至有的僅有少量正例和大量未標記的資料等等。對於弱標記資料的自動機器學習問題,其中的關鍵問題在於怎麼評估配置的泛化效能,因為可靠的標記是非常有限的,需要解決配置的泛化效能評估不準確的問題。
在有學者提出的 AutoSSL(自動半監督學習)中,基本思想是大間隔假設,意思就是如果某個超引數較好,其在未標記資料上的模型預測結果分類間隔較大,利用分類間隔來估計配置的效能可能會取得更好的效果,實際實驗也發現這樣能夠取得很優異的效果。此外,在只有少量有標記樣本且只有正例的情況下,如果還採用大間隔的方法,使得間隔的估計不準確。一些學者在這方面也做了大量的研究工作,提出了無偏的間隔估計方法,並取得了優異的效果。
除了資料的問題外,目前自動機器學習應用的任務面也非常窄。剛才看到的很多神經網路架構搜尋的工作基本上是在 CIFAR10 和 ImageNET 上評估的,並不足以代表自動機器學習的效能,需要在更多的任務以及更多的資料上進行評估才能有效證明自動機器學習系統的效能。未來自動機器學習技術擴充其他領域有更多的可能性。比如說知識圖譜領域,比較常見的是透過人與公司、人與人的關係構建了一個知識圖譜,我們希望這個知識圖譜可以幫助及機器學習任務。
但機器學習演算法只能接受向量化的表示,無法直接使用知識圖譜,所以將知識圖譜轉化成向量化表示是關鍵,而知識圖譜向量化表示的關鍵在於評分函式的設計,這些評分函式之前往往是人為根據不同的資料情況設計的。就有一些學者提出了 AutoKGE,將知識圖譜的評分函式表示成 4×4 的矩陣這樣一個配置空間,再經過一些巧妙的最佳化策略設計,獲得了遠超出人為設計的評分函式的效果。
自動機器學習還有可能可以被應用在自然文字的領域,比如垃圾郵件識別、情感分類、主題分類等文字任務,怎麼構建一個自動文字分類系統使得每個業務都可以拿自己的資料訓練出自己的文字分類系統也是一個極具挑戰的事情。在今年的世界人工智慧大會 WAIC 上,第四正規化即將和 Google、ChaLearn 主辦世界首個 AutoNLP 大賽,希望參賽選手設計開發全自動的自然語言文字分類系統,比賽將在 8 月 1 日至 22 日舉辦線上預賽,TOP10 的隊伍將在 29 日到世界人工智慧大會現場進行線下決賽,歡迎大家參加。
目前的自動機器學習只能針對某種可以確切量化的單一指標進行最佳化,然而實際應用中自動機器學習系統需要面對複雜的多目標最佳化、甚至是不可量化目標的問題,比如成本和效果的權衡問題,目前的自動機器學習系統可以為使用者找出效果很好的模型,但是產生這個模型的代價,以及這個模型線上上推斷代價都是實際需要考量的。如何在效果和成本上進行平衡,是未來自動機器學習需要進一步最佳化的問題。
互動式自動機器學習系統成為突破口
目前 AutoML 存在黑盒、效率以及適用性的問題。目前大部分的自動機器學習系統是一個黑盒,人是無法干預的。有時候自動機器學習系統可能在做一些無用功,導致效率非常低下。配置空間的複雜度隨配置數目指數增長,目前的黑盒 AutoML 系統人的先驗無法幫助。
另外,自動機器學習當前只能解決明確可量化的目標,比如準確率、AUC、MSE 等,但是比如剛才提到的效果和效能之間的權衡這樣的多目標最佳化問題,人也很難寫出準確的目標,還有一些最佳化目標是寫不出來的,比如說像可解釋性,諸如這類的需要人不斷探索目標設定的問題,當前自動機器學習系統無能為力。
互動式的機器學習將有可能解決以上這些問題。目前的自動機器學習,所有的事情要麼全部由人做,要麼全部機器做。但這兩者之間有一箇中間狀態,這個狀態是人與機器做各自擅長的事情。人與機器之間需要有一個互動介面,就對應到我們剛才說的配置空間(Choice)和配置效能的目標(Objective)。
機器可以最佳化明確的量化目標,人可以做目標拆解,透過這種實時互動的方式,人能夠獲得即時的反饋,同時能夠探索去設定適合最終問題的目標。同時,我們還需要新的一套描述機器學習的基礎介面,在現在用諸如 Tensor 之類的浮點數矩陣來描述機器學習的基本元素,然而實際業務中很多資料並不是浮點數,諸如地址、性別、職業、類別等等,這類抽象知識描述可能更加適合的方式是 Ontology 這樣的表達。基於 Ontology 的機器學習也是未來自動機器學習需要關注的。
未來,對於自動機器學習而言,最關鍵的一點是自動機器學習理論的問題。因為早就有了沒有免費午餐(No Free Lunch)定理,不同能存在通用的演算法去解決所有的問題。
對於這樣的一個已經有這樣一個假設之後,自動機器學習要做的事情就是希望用同一套系統能夠解決更多的問題,也就是在「對抗」沒有免費午餐的定理。對於自動機器學習系統而言,在自動機器學習的適用邊界、最佳化效能分析、演算法的泛化效能等問題上的研究還很少,需要大家共同努力去探索。
第四正規化也在 IEEE(模式分析與機器智慧彙刊)旗下的學術性彙刊 PAMI 上開設了 AutoML 特刊,大家可在 PAMI 上選擇「SI: AutoML」進行投稿,PAMI 將在 2019 年 10 月至 2020 年 3 月期間接受提交的報告,歡迎各位積極投稿,共同推動 AutoML 的發展。
PAMI 連結:https://mc.manuscriptcentral.com/tpami-cs