NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享

PaperWeekly發表於2018-12-06

近日,由第四正規化、ChaLearn、微軟和阿卡迪亞大學聯合舉辦的 NeurIPS 2018 AutoML 挑戰賽公佈了最終結果:Feed-Back 階段由微軟與北京大學組成的 DeepSmart 團隊斬獲第一名,由 MIT 和清華大學組成的 HANLAB 斬獲第二名,由南京大學 PASA 實驗室斬獲第三名。在 Blind Test 階段由 Autodidact.ai,Meta_Learners,GrandMasters 斬獲前三名。

NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享DeepSmart Team介紹

羅志鵬:微軟 Bing 搜尋廣告演算法工程師,北京大學軟體工程專業碩士,專注於深度學習技術在 NLP、廣告相關性匹配、CTR 預估等方面的研究及應用。 

黃堅強:北京大學軟體工程專業碩士在讀,擅長特徵工程、AutoML、自然語言處理深度學習

團隊成員曾經獲獎記錄:

  • CIKM Cup 2018 - 1st place 

  • KDD Cup 2018 (Second 24-Hour Prediction Track) - 1st place 

  • KDD Cup 2018 (Last 10-Day Prediction Track) - 1st place

  • Weibo Heat Prediction - 1st place

  • Shanghai BOT Big Data Application Competition - 1st place

  • Daguan Text Classification - 1st place

DeepSmart 團隊在 Feed-Back 階段的 5 項測試任務中斬獲了 4 項第一、1 項第二的優異成績,其中 4 項任務的 AUC 指標大幅度勝出。官方排名規則是把5個任務的 Rank(在所有隊伍中的排名)值進行平均做為最後的排名依據,DeepSmart Team 的 Rank 平均指標為 1.2,在所有隊伍中具有顯著的領先優勢。

NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享▲ 圖1. Feed-Back階段排行榜

榜單連結:https://competitions.codalab.org/competitions/20203#results

大賽簡介

許多實際應用程式的開發依賴於機器學習,然而這些程式的開發人員卻並不都具備專業的機器學習演算法研發能力,因而非常需要部署 AutoML 演算法來自動進行學習。另外,有些應用中的資料只能分批次獲取,例如每天、每週、每月或每年,並且資料分佈隨時間的變化相對緩慢。

這些原因要求 AutoML 具備持續學習或者終生學習的能力。這一類的典型問題包括客戶關係管理、線上廣告、推薦、情感分析、欺詐檢測、垃圾郵件過濾、運輸監控、計量經濟學、病人監控、氣候監測、製造等。本次 AutoML for Lifelong Machine Learning 競賽將使用從這些真實應用程式中收集的大規模資料集。

相比於與之前的 AutoML 比賽,本次比賽的重點是概念漂移,即不再侷限於簡單的 i.i.d. 假設。要求參與者設計一種能夠自主(無需任何人為干預)開發預測模型的計算機程式,利用有限的資源和時間,在終身機器學習環境下進行模型訓練和評估。

這次競賽主要有以下難點:

• 演算法可擴充套件性:比賽提供的資料集比之前組織的競賽大 10 到 100 倍;

• 不同的特徵型別:包括各種特徵型別(連續,二元,順序,分類,多值分類,時間);

• 概念漂移:資料分佈隨著時間的推移而緩慢變化;

• 終身環境:本次比賽中包含的所有資料集按時間順序分為 10 批,這意味著所有資料集中的例項批次按時間順序排序(請注意,一批中的例項不保證按時間順序排列)。參與者的演算法需要基於前面批次的資料進行訓練來預測後一批次的資料,從而測試演算法適應資料分佈變化的能力。測試後,才能把當前的測試集納入訓練資料中。

本次比賽分為 Feed-Back 階段Blind-Test 階段: 

Feed-Back 階段:反饋階段是程式碼提交的階段,可以在與第二階段的資料集具有相似性質的 5 個資料集上進行訓練。最終程式碼提交將轉發到下一階段進行最終測試。 

Blind-Test 階段:該階段不需要提交程式碼。系統自動使用上一階段的最後一次提交的程式碼對 5 個新資料集進行盲測。程式碼將自動進行訓練和預測,無需人工干預。最終得分將通過盲測的結果進行評估。

Feed-Back階段Top隊伍方案具有重要價值

根據大賽主辦方申明的規則,Blind-Test 階段與 Feed-Back 階段使用可比的資料集,在 Blind-Test 階段,參賽者在 Feed-Back 階段最後提交的程式碼將在 5 個新資料集進行盲測,但是最終 Top 6 中的第 1、2、3、5、6 名的隊伍都因為記憶體超過 16G 的限制而未能在 Blind-Test 階段得到有效成績。

DeepSmart team 在 Feed-Back 階段的 5 個資料集中記憶體使用峰值為 8G 左右,但是在 Blind-Test 中也因超出了 16G 的限制而無緣 Blind-Test 榜單。這導致 Feed-Back 階段的許多有重要價值的解決方案由於記憶體溢位而在 Blind-Test 階段拿不到得分而無法參與排名。

NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享

從 Blind-Test 榜單來看總的測試排名結果比較穩定,與 Feed-Back 差別不大,但由於 1、2、3、5、6 名在五個解決方案中某個更多特徵或更大資料集的任務上因記憶體溢位而沒有得分使得 autodidact.ai 從第 7 上升到第一名。

NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享

對比 DeepSmart 團隊與 Blind-Test 階段 Top 3 的隊伍所取得的結果,在 5 項任務的平均 AUC 指標上 DeepSmart 比 Top 3 隊伍分別高出 7.004%8.488%10.578%。與 Top 3 隊伍表現最好的任務相比,DeepSmart 比 Top 3 隊伍分別高出 4.01%3.85%6.11%。與 Top 3 隊伍表現最差的任務相比,DeepSmart 比 Top 3 隊伍分別高出 12.48%12.47%14.49%

AUC 指標是一項相對而言很難提升的指標,通常在競賽中 top 隊伍只能在該指標上拉開千分位、萬分位的差距,而 DeepSmart team 在 5 項任務中領先 Blind-Test 階段 Top 3 隊伍 3.85-14.49%,具有壓倒性的優勢。

從表格中也可以觀察到 Feed-Back 的 5 個任務的平均 AUC 排名和 Blind-Test 基本保持一致,如果 Top 隊伍能夠獲得得分最終 Blind-Test 榜單很可能會有巨大變化。

從以上分析來看,Feed-Back 階段的解決方案具有重要價值,所以舉辦方承認了 Feed-Back 階段的解決方案的價值,向前三名分別授予了獎牌和證照,並且邀請他們參加 NeurIPS 會議進行解決方案分享。雖然他們沒有去現場分享,但在這裡 DeepSmart 團隊將把他們的解決方案分享給大家。

NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享

DeepSmart團隊解決方案

我們團隊基於所給資料實現了一個 AutoML 框架,包括自動特徵工程、自動特徵選擇、自動模型調參、自動模型融合等步驟,並且利用了多種策略對執行時間進行了有效的控制,以確保解決方案能在限制時間內通過。然而出乎我們的意料,最終我們的解決方案卻由於記憶體不足而無緣最終排行榜。

NeurIPS 2018 AutoML Phase1 冠軍隊伍 DeepSmart 團隊解決方案分享▲ 圖2. DeepSmart AutoML框架

自動特徵工程

目前,在大部分機器學習工業界應用中,資料和特徵對於模型往往是最為關鍵的。在現有的 AutoML 框架中,大部分特徵的提取是通過數值特徵進行高階組合,它們的模型很難提取出跟時序問題或者概念漂移有關的關鍵特徵,然而現實中存在大量的時序問題,而且往往帶有概念漂移。

我們構建的自動特徵工程不僅是基於數值特徵做橫向高階組合,同時我們基於分類變數、數值變數、時間變數、多值分類變數自動提取跨時間和樣本的橫向及縱向高階組合。這是我們團隊所做出的不同於以往模型的自動特徵工程方案,同是也是我們在比賽中能取得顯著優勢的重要因素。

自動特徵選擇

高階組合往往容易導致生成大量特徵,但我們通過構建自動快速特徵選擇來提取重要特徵,這能極大地加速我們的特徵工程,同時也極大地減少模型所使用的特徵總量。

自動模型調參

我們採用 GBDT 模型,通過驗證集調整模型學習率、葉子結點、樹的深度等。由於時間有限,我們只能進行較少次的模型調參及驗證,這三個引數對於 GBDT 的影響較大,能取得較為顯著的效果提升。

由於資料是極度不平衡的,有的資料集甚至只有幾千個正樣本,負樣本卻能達到幾十萬個。所以,我們在樹提升的過程中使用了不同的行取樣方法。

在現有的樹提升模型中,他們對正負樣本採用同一個行取樣率來控制取樣。我們使用不同的正負樣本行取樣率,以使得模型可以使用足夠多的正樣本和合適的負樣本。它不僅可以大大減少模型的執行時間,同時模型也可以取得更好的效果。

自動模型融合

基於所給時間,我們使用不同的行取樣及列取樣來訓練多個不同的模型,這不僅僅更加充分的利用了樣本,也使得每個模型使用的資料和特徵具有充分的差異性,同時大大減少了過擬合的風險。

總結

AutoML 的發展空間還很大,目前大部分工業界機器學習問題都需要專業人士不斷重複特徵工程特徵選擇、模型調參及模型訓練等過程,需要耗費大量的人力成本及時間成本才能產生一個較為有效的模型。 

本次 AutoML 競賽中,參賽者們不僅從競賽中學到了很多,也間接地能推動了 AutoML 的發展。隨著更多 AutoML 學術上的探討以及相關比賽的出現,我們相信 AutoML 能在學術界及工業界中得到快速發展。我們將進一步完善這一 AutoML 框架,爭取能夠將其應用於更多實際問題中。 

最後感謝主辦方提供高質量的資料和競賽平臺,也給我們提供了在 AutoML 領域中學習和實踐的機會。感謝所有的參賽選手,讓我們不斷努力把效果做到極致。祝賀所有的 Top 隊伍!願下一屆 AutoML 競賽辦得更加成功!

相關文章