天天看點

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

近日,由第四範式、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

繼續閱讀