NeurIPS 2018 AutoML挑戰賽落幕:印度團隊第一,清華第二

機器之心發表於2018-12-04

當地時間 12 月 3 日,AI 頂級會議 NeurIPS 2018 在加拿大蒙特利爾拉開帷幕,除了精彩的 Tutorial、Invited Talk、論文展示之外,NeurIPS 期間的競賽同樣吸引來自學術界、產業界的關注。

近日,由第四正規化、ChaLearn、微軟和阿卡迪亞大學聯合舉辦的《The 3rd AutoML Challenge: AutoML for Lifelong Machine Learning》挑戰賽落下帷幕。自 8 月份上線以來,本次賽事吸引了二百餘支隊伍參賽,其中包括 MIT、UC Berkeley、清華大學、北京大學等國內外頂尖高校,微軟、騰訊、阿里巴巴等科技巨頭,Rapids.ai 等新興創業公司,以及一些來自開源社群的開發者。

NeurIPS 2018 AutoML挑戰賽落幕:印度團隊第一,清華第二

「今年的 AutoML 競賽賽題使用了新的問題設定,大資料、複雜資料型別,資源限制依然很大,」比賽組織者之一,第四正規化機器學習架構師塗威威表示,「我們準備了一個簡單的基線,令人驚訝的是,參賽者們的成績遠遠超出了這個基線。此外,這次比賽吸引了大量國內外頂級研究機構的研究人員參與,比賽最後一個月競爭非常激烈。」

經過數月角逐,在 NeurIPS 大會正式開幕前夕,本次大賽公佈了最終競賽的結果:

NeurIPS 2018 AutoML挑戰賽落幕:印度團隊第一,清華第二

最終,來自印度的團隊 Autodidact.ai 取得本次競賽的第一名,清華團隊 Meta_Learners 獲得第二名,來自中南大學、北京郵電大學和浪潮的 Grandmasters 取得了第三名。

本次競賽包括兩個階段:

  • 反饋階段(Feedback phase):程式碼提交階段,參賽者可以在與第二階段所用資料集本質相似的 5 個資料集上進行實踐。參賽者可以進行有限次數的程式碼提交,可以下載標註訓練資料和無標註測試資料集。也就是說,參賽者可以在家準備該階段的程式碼提交。最後一次提交的程式碼將會到下一階段進行最終測試。

  • AutoML 階段(AutoML phase):盲測階段,該階段無需提交程式碼。上一階段最後提交的程式碼將在五個新資料集上進行盲測。參賽者的程式碼將自動進行訓練和測試,該過程沒有人類干預。最後得分根據盲測結果而定。

因此,大賽官方也給出了反饋階段的前三名:

第一名:來自微軟、北京大學的團隊 Deepsmart

第二名:清華、MIT 的團隊 HANLAB

第三名:南京大學 PASA 實驗室的團隊 Fong

NeurIPS 2018 AutoML挑戰賽落幕:印度團隊第一,清華第二

NeurIPS 2018 AutoML for Lifelong Machine Learning 競賽結果以及團隊成員名單。

大賽簡介

在很多現實世界的機器學習應用開發過程中,由於機器學習專家數量稀缺,AutoML 顯得非常有意義。此外,很多現實世界應用中的資料批次可能隨時都在變化,資料分佈隨時間變化的速度相對較慢。這種情況為 AutoML 系統帶來了持續學習或終身學習(Lifelong Machine Learning)的挑戰。這類典型的學習問題包括客戶關係管理、廣告推薦、情感分析、欺詐檢測、垃圾郵件過濾、交通監控、計量經濟學、病人監控、氣候監測、製造等。「AutoML for Lifelong Machine Learning」競賽使用的大量資料來自於現實世界應用。

據官網介紹,與先前 AutoML 競賽相比,該挑戰賽更加註重概念漂移,而不是較簡單的獨立同分布情況。在比賽中,參與者需要設計一種可以自動開發預測模型的計算機程式(無需任何人為干預),這個模型需要在終身機器學習環境中進行訓練和評估。

雖然,該競賽場景相對標準,不過也有很多困難,例如:

  • 演算法可擴充套件性(Algorithm scalability):競賽提供的資料集大小是之前賽事的 10-100 倍。

  • 不同的特徵型別(Varied feature types):包含不同的特徵型別(連續、二元、順序、類別、多值類別、時序),包含具備遵循冪定律(power law)的大量值的類別變數。

  • 概念漂移(Concept drift):資料分佈隨著時間會緩慢變化。

  • 終身環境(Lifelong setting):該競賽所有資料集均按照時間順序被分割為 10 個批,這意味著所有資料集中的例項批(instance batch)都是按時間順序排列的(注意每一批中的例項未必按時間順序排列)。將演算法用於時間順序的連續測試批,以測試演算法適應資料分佈變化的能力。測試結束後,標籤將與學習機器相關,且被包含在訓練資料中。

談到概念漂移和終身學習環境對該競賽難度的影響以及參賽者的解決方案,塗威威告訴機器之心,「概念漂移和終身學習的環境使得自動化機器學習變得更為困難,自動化機器學習不再是解決一個滿足獨立同分布的,只有一個訓練集和測試集的靜態問題,而是解決一個更加貼近實際業務的動態環境問題,資料分佈會發生變化。由於資料不斷的增加,資源有限,就需要更加精巧的演算法如何更好地進行遷移學習。參賽者們從樣本、特徵和模型的角度都做了很多有趣的改進,比如會做時序特徵,也會做樣本的選擇、模型的遷移等等。」

複雜的特徵型別使得特徵工程變得更加複雜和困難。在很多實際業務中,特徵工程往往也是開發過程中更重要的部分。本次競賽的獲獎者們在自動特徵工程上有非常多的創新。據介紹,除了常見的一些單特徵處理之外,他們還做出了很多組合特徵,前幾名的隊伍甚至做出了一些自動化的時序特徵。

國內獲勝團隊解決方案

雖然第一名的解決方案還無法瞭解到,但我們已經獲知國內兩支參賽隊伍在比賽中採用的技術。

據新智元報導,獲得此次比賽第二名的清華大學 Meta_Learners 團隊成員包括計算機系博士畢業生張文鵬、在讀碩士生熊錚、在讀博士生蔣繼研,由張文鵬擔任隊長,朱文武教授擔任指導教師。

在本次比賽中,Meta_Learners 團隊採用了梯度提升(Gradient Boosting Tree)的方法,在傳統的 AutoML 框架上,結合本次比賽資料的特性做了有針對性的設計:

  • 特徵工程方面,參賽團隊針對類別特徵高基數、長尾分佈的特點,採用了頻數編碼、中值編碼等不同編碼方式,以及離散化、分位數變換等處理技巧。

  • 遷移適應方面,針對資料存在概念遷移的問題採用了自適應的流式編碼技術。

  • 資源控制方面,通過自動監測系統中各個元件的運算花銷,並使用 Bandit 技術對搜尋空間進行壓縮和剪枝

該團隊認為,AutoML 比賽的關鍵在於做好不同層次的權衡(Tradeoff)。

在比賽結果出爐後,排名第三的團隊,來自中南大學、北京郵電大學等組成的 Grandmasters 向機器之心分享了自己的模型設計。該團隊由來自中南大學的本科生常鑑耕擔任隊長,隊員包括北京郵電大學的研究生柴金龍、趙亞坤,以及來自浪潮的 AI 工程師劉巨集剛。

常鑑耕告訴機器之心,Grandmaster 團隊採取的是基於單模型的 GBDT 的架構,主要創新點有如下幾點:

  • 對原始資料的雙重編碼:由於資料是匿名處理的,我們無法判斷原始資料的實際意義,也無法從業務邏輯上考慮特徵工程。鑑於這些問題,我們放棄了自動化組合特徵,採用了資料再編碼的方法。我們對於原始資料使用 ordinalEncoder 以及 frequence 的兩種方法進行編碼。其中 ordinalEncoder 是序列編碼器。其原理是將不同類別按照整數順序進行編碼操作。我們認為此種編碼方式有簡潔快速、可適用於多值類特徵的優點,但其會給資料引入不必要的資訊干擾。使得相關性未知的類別之間被編碼賦予了已知的相關性。因此另採用了 frequence 編碼的方式。我們通過觀察資料的變化曲線發現,基於不同的 batch 之間,不同類別出現的頻次不同,將特徵的頻次作為編碼,可以保留一定的資訊量。實驗證明,frequence 編碼大幅度提升了模型的效能。

  • 增量學習的引入:增量學習是將訓練好的模型儲存下來,所引入的新資料是基於上一個模型的基礎下訓練的。這種做法有效的將不同的資料分佈引入到同一個模型訓練過程中來,有效的改善了大賽重點提及的資料漂移現象,即資料的分佈隨時間變化導致的模型魯棒性不高的現象。

  • 全量學習的使用:在 py2 賽道上,我們使用了全量學習的思維。即將所有的資料 batch 拼接起來,讓模型可以學習到更多分佈變化的資訊。全量學習與增量學習的配合使用,使我們模型應對不同資料集的魯棒性大大提升,並在 py2 賽道上斬獲第一名。

  • 滑窗法的使用:py3 賽道上,由於時間的限制,我們放棄了全量學習,轉而使用了滑動視窗取樣的方法。秉著「時間越相近的資料越有相關性」的想法,我們保留了最後兩個 batch,拋棄更遠的資料,提升了執行速度。

  • 學習步長的調節:隨著 batch 的疊加,我們使學習步長逐步增大,使得模型學習到更多資訊的同時,保證了學習速率。

經過這一系列資料處理過程,我們對於資料進行了一個可遷移的深入挖掘。我們採用了 LightGBM 作為基本模型,並在構建模型的初期,使用 gridsearch 方法針對一個資料特徵最為豐富的資料集進行調參。我們進一步在之後的調節過程中不斷優化引數,使得 AUC 值穩步提升。

Top 戰隊解決方案詳情將在現場分享會上呈現。

  • 時間:12 月 7 號下午 13:30 - 15:00

  • 地點:Room 518 Competition Track

小結

AutoML 技術作為一種通用機器學習技術,在未來應用的範圍非常廣泛。第四正規化表示,AutoML 技術可以應用於金融、零售、醫療、能源、政府等行業中,並有效降低機器學習演算法的門檻,加速人工智慧在各行業落地。目前,第四正規化等公司的 AutoML 技術已在上述領域中有很多落地案例了。

本次競賽中,參賽者們提出的方案對 AutoML 在工業界的應用帶來了一些啟發,其中不僅包括新的思路,也提出了新的問題。希望隨著更多交流的出現,人們能夠進一步推動 AutoML 在學術界和工業界的發展。

賽事網站:https://competitions.codalab.org/competitions/19836

相關文章