丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給黃善清
發(fā)送

0

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

本文作者: 黃善清 2019-08-19 20:26 專題:KDD 2019
導(dǎo)語:獨(dú)家專訪~

雷鋒網(wǎng) AI 開發(fā)者按:素有數(shù)據(jù)挖掘“奧運(yùn)會(huì)”之稱的 KDD CUP ,其頒獎(jiǎng)儀式于 2019 年 8 月 7 號(hào)在美國(guó)安克雷奇市落下帷幕。今年的 KDD CUP 共設(shè)有三個(gè)賽道,分別為 Regular ML、AutoML 與 Humanity RL ,最終結(jié)果顯示,三個(gè)賽道的冠軍皆由華人隊(duì)伍奪得。作為 AutoML 賽道的冠軍隊(duì)伍,深蘭科技在儀式結(jié)束后接受了 AI 開發(fā)者專訪,不嗇分享其在賽事中奪魁的點(diǎn)滴。

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

賽事獎(jiǎng)狀

問:今年 KDD 的 AutoML 賽道題目與“binary classification problems for temporal relational data”相關(guān)(題目詳情請(qǐng)戳:https://www.4paradigm.com/competition/kddcup2019),能否請(qǐng)你們談一談相關(guān)工作的意義和挑戰(zhàn)?

答:時(shí)序關(guān)系型數(shù)據(jù)在在線廣告、推薦系統(tǒng)、金融市場(chǎng)分析、醫(yī)療等應(yīng)用場(chǎng)景中非常常見,人們往往需要利用這樣的數(shù)據(jù)去構(gòu)建機(jī)器學(xué)習(xí)模型,并應(yīng)用機(jī)器學(xué)習(xí)模型提升對(duì)應(yīng)業(yè)務(wù)的效果。以在線廣告點(diǎn)擊率預(yù)測(cè)問題為例,每個(gè)樣本就是向用戶展示廣告,樣本標(biāo)記為用戶是否點(diǎn)擊廣告。因?yàn)槭菍?shí)際的服務(wù)系統(tǒng),所有樣本都是時(shí)序產(chǎn)生。

在傳統(tǒng)的機(jī)器學(xué)習(xí)應(yīng)用中,需要經(jīng)驗(yàn)豐富的專家才能從時(shí)序關(guān)系型數(shù)據(jù)中挖掘出有效的時(shí)序信息,并加以利用來提升機(jī)器學(xué)習(xí)模型的效果。即使具備較深的知識(shí)儲(chǔ)備,專家也需要通過不斷的嘗試和試錯(cuò),才能構(gòu)建出有價(jià)值的時(shí)序特征,并且利用好多個(gè)相關(guān)聯(lián)表來提升機(jī)器學(xué)習(xí)模型的性能。此外,選擇合適的機(jī)器學(xué)習(xí)模型和超參數(shù)也需要強(qiáng)大的機(jī)器學(xué)習(xí)專業(yè)知識(shí)作為支撐。

此次競(jìng)賽針對(duì)時(shí)序關(guān)系型數(shù)據(jù)的 AutoML 挑戰(zhàn)賽,希望讓更多的數(shù)據(jù)科學(xué)家和開發(fā)者加入其中,集思廣益,從而讓 AutoML 更好地利用時(shí)序關(guān)系型數(shù)據(jù),提升模型的預(yù)測(cè)性能,讓 AutoML 解決方案能夠更加符合實(shí)際應(yīng)用的需求。

賽題的難點(diǎn)主要有5個(gè)方面:

  • 賽題數(shù)據(jù)來自于多個(gè)實(shí)際業(yè)務(wù)場(chǎng)景,參賽者設(shè)計(jì)的自動(dòng)化機(jī)器學(xué)習(xí)算法將會(huì)在未知的五個(gè)數(shù)據(jù)集中進(jìn)行學(xué)習(xí)和評(píng)估,根據(jù)五個(gè)數(shù)據(jù)集的評(píng)估結(jié)果進(jìn)行綜合排名。

  • 比賽中每個(gè)數(shù)據(jù)集只給出數(shù)據(jù)類型不給出數(shù)據(jù)含義,自動(dòng)根據(jù)特征類型挖掘出有效特征是一個(gè)難點(diǎn)。

  • 賽題數(shù)據(jù)是時(shí)序相關(guān)的,相比較無時(shí)序的數(shù)據(jù)需要模型具備更好的泛化能力。

  • 賽題的數(shù)據(jù)由多表給出,這就要求參賽選手能夠構(gòu)建一個(gè)處理多表之間多樣的連接關(guān)系的自動(dòng)化機(jī)器學(xué)習(xí)系統(tǒng)。多表數(shù)據(jù)無疑提升了對(duì)系統(tǒng)的穩(wěn)定性的要求。

  • 時(shí)間和內(nèi)存限制嚴(yán)格。

本次AutoML競(jìng)賽一方面展示出了我們團(tuán)隊(duì)在這個(gè)領(lǐng)域的充分積累,另一方面我們自研的AutoML系統(tǒng)可以在工程項(xiàng)目中完美落地,為客戶提供頂級(jí)的機(jī)器學(xué)習(xí)解決方案。

問:能否向我們?cè)敱M解讀你們的解決方案?

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

答:如上圖所示,我們團(tuán)隊(duì)基于所給數(shù)據(jù)實(shí)現(xiàn)了一套支持多表的AutoML框架,包括自動(dòng)表連接、自動(dòng)特征工程、自動(dòng)特征選擇、自動(dòng)模型調(diào)參、自動(dòng)模型融合等步驟,在時(shí)間和內(nèi)存的控制上我們也做了很多優(yōu)化工作。

注:深蘭科技已開源相關(guān)解決方案,感興趣者可訪問  https://github.com/DeepBlueAI/AutoSmart 進(jìn)行查看

數(shù)據(jù)預(yù)處理

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

我們通過對(duì)表結(jié)構(gòu)及其屬性的分析,針對(duì)不同類型的數(shù)據(jù)制定不同的數(shù)據(jù)預(yù)處理方案。如上圖所示,我們?nèi)コ朔讲顦O小的數(shù)值特征,也去除了所有值都不同的類別特征。同時(shí),在多表間的多個(gè)連接key中,我們?cè)谥鞅碇蟹N類最多的一個(gè)key識(shí)別為user。基于識(shí)別出的user,可以嘗試在主表的category中識(shí)別出session。另外,我們嘗試在category數(shù)據(jù)中識(shí)別出只有兩類有效值的binary數(shù)據(jù)。我們對(duì)category、user、session、key進(jìn)行重新編碼,對(duì)numerical數(shù)據(jù)嘗試將其轉(zhuǎn)換為占用內(nèi)存更少的類型,將time數(shù)據(jù)轉(zhuǎn)換為容易操作的datetime類型。

多表連接

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

比賽給的數(shù)據(jù)結(jié)構(gòu)如上圖所示,表和表之間的連接關(guān)系可以分為四種,分別是1-1、1-M、M-1、M-M。因?yàn)闀r(shí)間和內(nèi)存的限制,所以我們需要在盡可能保留信息的同時(shí),讓最后生成的表的數(shù)據(jù)規(guī)模不至于過大。而處理多表連接的方式,直接影響到后面的結(jié)果。我們針對(duì)不同的連接方式采用了不同的方法。首先將四種連接方式分成了兩種類型:類型1包含了1-1、M-1,類型2包含了1-M、M-M。對(duì)于類型1,我們可以直接將副表的數(shù)據(jù)通過key合并到主表上。對(duì)于類型2,我們首先對(duì)副表做一些聚集操作,生成聚集的結(jié)果,而這些聚集的結(jié)果可以理解為和主表是類型1的關(guān)系。接下來,我們只要對(duì)生成聚集的結(jié)果做類型1的操作,直接將其合并到主表上即可。并且,對(duì)于主表和副表都有時(shí)間戳的情況下,我們將副表上離主表當(dāng)前數(shù)據(jù)早且最近并且為相同key值的數(shù)據(jù)合并到主表上。

采樣

因?yàn)锳utoML比賽方給定的數(shù)據(jù)集大小未知,在對(duì)其進(jìn)行操作處理之前首先要判斷當(dāng)前環(huán)境是否能夠支持整個(gè)數(shù)據(jù)集共同參與特征工程及模型訓(xùn)練過程。我們?cè)谧x入數(shù)據(jù)進(jìn)入預(yù)處理之前做了一次判斷,即要求訓(xùn)練集與測(cè)試集的總樣本數(shù)不超過某一個(gè)可以接受的閾值。如訓(xùn)練集與測(cè)試集的總樣本數(shù)過多,我們就考慮對(duì)其進(jìn)行采樣。

此外,在特征工程的組合特征模塊中,同樣用到了采樣的思想。組合特征的特點(diǎn)是產(chǎn)生的特征數(shù)量多、特征工程的時(shí)間長(zhǎng)、內(nèi)存峰值高、起作用的特征數(shù)量少。因此,為了避免內(nèi)存溢出,我們?cè)谧鼋M合特征之前,在小數(shù)據(jù)集上進(jìn)行特征工程,經(jīng)過篩選后得到真正起作用的特征,再在整個(gè)數(shù)據(jù)集上僅做出這些有效的特征這樣不僅可以減少系統(tǒng)運(yùn)行時(shí)間也能避免內(nèi)存溢出的風(fēng)險(xiǎn)。

自動(dòng)特征工程

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

特征工程部分往往是數(shù)據(jù)挖掘競(jìng)賽的關(guān)鍵核心內(nèi)容,也是我們團(tuán)隊(duì)在比賽中取得顯著優(yōu)勢(shì)的重要因素。我們通過LightGBM模型來驗(yàn)證特征效果和進(jìn)行自動(dòng)化特征選擇,如上圖所示,在自動(dòng)特征工程階段,我們將特征工程根據(jù)特征組合的階段分為多個(gè)階段,在每一個(gè)階段結(jié)束后,我們都會(huì)做一次特征選擇來篩掉那些在這一階段做出而不起作用的特征,來避免內(nèi)存溢出并且加速最終的模型訓(xùn)練。為了在更短的時(shí)間內(nèi)得到更有效的組合,我們先進(jìn)行數(shù)據(jù)的采樣,根據(jù)不同數(shù)據(jù)集的數(shù)據(jù)量大小以及特征重要性篩選出適量的不同類型的特征兩兩組合形成新的特征,然后在全量數(shù)據(jù)上重現(xiàn)有用的特征 ,在希望挖掘到有用的特征的同時(shí),盡量減小內(nèi)存溢出的風(fēng)險(xiǎn)。我們通過結(jié)合特征重要性及序列后向選擇算法,設(shè)置一個(gè)閾值,將在參與模型訓(xùn)練中,篩出重要性較低的特征而盡可能小地?fù)p失模型精度。我們還嘗試了基于特征的信息增益來對(duì)特征進(jìn)行篩選,亦或是對(duì)兩種篩選方法進(jìn)行結(jié)合,但因?yàn)闆]能找到更好的切分點(diǎn),最終還是使用了基于特征重要性的方法。

我們將特征分成幾個(gè)模塊。第一個(gè)模塊是分類特征,我們對(duì)分類特征進(jìn)行了均值編碼,頻率編碼等,更充分地提取類別信息。第二個(gè)模塊是實(shí)體特征,我們對(duì)每個(gè)表中的主鍵進(jìn)行識(shí)別,將其區(qū)分出user、key、session等時(shí)序場(chǎng)景常見的實(shí)體(key是某種未知的實(shí)體),我們通過特征工程對(duì)這些實(shí)體進(jìn)行建模,對(duì)實(shí)體的歷史信息(數(shù)值特征、分類特征、時(shí)間特征等)進(jìn)行不同方式的聚合。第三個(gè)模塊是時(shí)序特征,我們根據(jù)時(shí)間將數(shù)據(jù)劃分為多塊,將上一個(gè)時(shí)間塊的特征通過實(shí)體聯(lián)結(jié)到下一個(gè)時(shí)間塊的相同實(shí)體作為特征,這樣使得模型可以有更好的時(shí)序預(yù)測(cè)能力以及泛化能力。第四個(gè)模塊是組合特征,我們基于前面模塊所產(chǎn)生的一階特征(包括時(shí)間、類別、數(shù)值、多值類別等特征)進(jìn)行多種不同組合。

同時(shí),因?yàn)楸敬胃?jìng)賽的時(shí)間和內(nèi)存的控制比較嚴(yán)格,在面對(duì)百萬級(jí)的數(shù)據(jù)量上,每個(gè)特征生成幾乎都要控制在幾秒內(nèi)生成,為了滿足這一要求,我們的代碼加入了許多優(yōu)化。比如對(duì)于類別數(shù)據(jù)在多類別數(shù)據(jù)中的位置這一特征,如果用傳統(tǒng)的Pandas實(shí)現(xiàn),時(shí)間會(huì)達(dá)到幾個(gè)小時(shí),而加入多線程之后,情況會(huì)有所改善,但是仍舊要消耗大量的時(shí)間。我們退而求其次,使用numpy來實(shí)現(xiàn)該特征,特征的生成時(shí)間直接到達(dá)了幾十秒的級(jí)別,但是這仍舊不能滿足我們的要求。最后我們對(duì)這塊代碼使用cython去優(yōu)化,并且對(duì)cython代碼進(jìn)行精雕細(xì)琢,最后該特征的生成只需要幾秒。

類別不平衡問題處理

我們對(duì)類別不平衡的數(shù)據(jù)在訓(xùn)練時(shí)做了處理。正負(fù)樣本比例超過1:3時(shí),我們采用欠采樣的方式,緩和正負(fù)樣本不平衡。此外,我們還嘗試通過增加正樣本的權(quán)重等方式來優(yōu)化類別不平衡帶來的問題。在模型融合的部分,我們?cè)诒A粼驾^少的正樣本的同時(shí),換一批負(fù)樣本來進(jìn)行訓(xùn)練,這樣能夠盡可能保留更多的原始數(shù)據(jù)的信息,同時(shí)緩解類別不平衡的問題。

建模

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

由于LightGBM在訓(xùn)練速度和性能都表現(xiàn)得很不錯(cuò),我們使用LightGBM作為我們的模型。

對(duì)于參數(shù)調(diào)優(yōu),我們加入了先驗(yàn)知識(shí),設(shè)置了多組不同的學(xué)習(xí)率,通過early-stopping來選擇合適的學(xué)習(xí)率保證模型能訓(xùn)練一定的輪數(shù),并且通過驗(yàn)證集選擇最好的學(xué)習(xí)率。如上圖所示,我們通過學(xué)習(xí)率衰減來使得LightGBM更快地收斂。由于時(shí)間的限制,我們對(duì)數(shù)據(jù)進(jìn)行采樣,通過對(duì)采樣后的數(shù)據(jù)進(jìn)行參數(shù)搜索,加快了參數(shù)調(diào)優(yōu)速度,對(duì)性能只有很小的損失。

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?


由于比賽環(huán)境對(duì)時(shí)間和內(nèi)存做了嚴(yán)格的限制,我們?cè)谀P腿诤戏矫婵紤]了bagging、blending、stacking等方案,最終選用了使用bagging的方法。如上圖所示,我們模擬一次簡(jiǎn)單的訓(xùn)練來預(yù)估真實(shí)數(shù)據(jù)集所需要的訓(xùn)練和預(yù)測(cè)時(shí)間,如時(shí)間不足則選擇在訓(xùn)練時(shí)early-stopping,允許精度上的損失來保證代碼能夠在規(guī)定時(shí)間內(nèi)運(yùn)行完畢。如時(shí)間充裕,則通過當(dāng)前剩余時(shí)間計(jì)算允許多少個(gè)模型進(jìn)行融合。

運(yùn)行時(shí)間優(yōu)化

我們的時(shí)間控制在各個(gè)過程中都有體現(xiàn)。在自動(dòng)化數(shù)據(jù)處理和自動(dòng)化特征工程的過程中,我們使用Cython對(duì)編碼以及一些生成效率較慢的特征進(jìn)行加速。這里舉一個(gè)特征為例,對(duì)于兩列數(shù)據(jù),一列為category類型的數(shù)據(jù),一列為multi-category類型的數(shù)據(jù),我們提前判斷了兩列數(shù)據(jù)的數(shù)據(jù)項(xiàng)集具有交集,我們要計(jì)算這一category列中的數(shù)據(jù)項(xiàng)在multi-category列對(duì)應(yīng)的數(shù)據(jù)項(xiàng)集中的位置信息。比如說有有一條數(shù)據(jù)。data : [ 2137 ,  (134,2137,576,816) ] ,前者2137在后者的第2個(gè)位置上。所以這條數(shù)據(jù)該特征為2。如果沒有出現(xiàn)的話,規(guī)定為0。對(duì)于這一特征,如果我們使用pandas提供的apply接口來實(shí)現(xiàn),在本次競(jìng)賽的環(huán)境下,該類特征的生成需要大約幾個(gè)小時(shí)的時(shí)間??紤]到DataFrame不適合做遍歷,以及接口泛化性帶來的性能上的損失。我們使用Numpy,做遍歷來實(shí)現(xiàn)該特征,能夠讓特征的生成達(dá)到分鐘級(jí)。而本次競(jìng)賽的時(shí)間和內(nèi)存有嚴(yán)格的控制,像那些需要超過10秒才能生成的一類特征就算非常耗時(shí)的了。之后我們采用Cython,應(yīng)用Cython提前編譯,靜態(tài)類型等機(jī)制我們將該特征的生成時(shí)間控制在了10秒內(nèi)。其中生成該特征的過程中有一些細(xì)節(jié)。比如如果在Cython中繼續(xù)使用Python原生類型,那么遍歷的效率還是比較緩慢。但是multi-category類型的數(shù)據(jù)存儲(chǔ)又不好離開Python原生類型的支持??紤]我們?cè)谏商卣鞯倪^程中,主要是對(duì)multi-category類型做遍歷操作,所以可以使用一個(gè)數(shù)組去存儲(chǔ)multi-category的每個(gè)數(shù)據(jù)項(xiàng),并且用額外一個(gè)數(shù)組去保存每個(gè)multi-category的數(shù)據(jù)項(xiàng)集的長(zhǎng)度。這樣根據(jù)其長(zhǎng)度數(shù)組和數(shù)據(jù)數(shù)組,我們就能做一個(gè)高效的遍歷。在測(cè)試這段優(yōu)化的過程中,純粹的Python代碼經(jīng)過Cython優(yōu)化,效率大概能到60秒。而經(jīng)過這段優(yōu)化,很輕松就能到達(dá)10秒內(nèi)(測(cè)試環(huán)境就是以我們的本地計(jì)算機(jī)為主,線上環(huán)境會(huì)多一些時(shí)間)。

在模型集成部分,我們會(huì)做提前計(jì)算,記錄到當(dāng)前用時(shí),通過訓(xùn)練模型幾個(gè)輪次來計(jì)算出模型啟動(dòng)的時(shí)間以及模型訓(xùn)練每一輪數(shù)據(jù)所消耗的時(shí)間,通過這兩個(gè)時(shí)間,我們能夠預(yù)估出后續(xù)的參數(shù)調(diào)優(yōu),模型訓(xùn)練的時(shí)間。從而決定最后模型融合的數(shù)量。

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

時(shí)間優(yōu)化前后對(duì)比

運(yùn)行內(nèi)存優(yōu)化

在內(nèi)存控制方面,我們首先實(shí)現(xiàn)了一個(gè)內(nèi)存的監(jiān)聽器。我們首先完整運(yùn)行一輪我們的系統(tǒng),記錄下內(nèi)存情況,對(duì)不同數(shù)據(jù)集的內(nèi)存峰值進(jìn)行分析??梢园l(fā)現(xiàn)的是,內(nèi)存峰值往往就出現(xiàn)在幾個(gè)典型的地方。比如:數(shù)據(jù)合成時(shí)、在模型開始訓(xùn)練時(shí)、某些特征生成時(shí)。經(jīng)過分析,可以概括為幾個(gè)點(diǎn),其中比較典型的是數(shù)據(jù)合成時(shí),如果使用pandas的接口pandas.concat進(jìn)行數(shù)據(jù)合并,其合并過程中,會(huì)生成大約兩倍當(dāng)前數(shù)據(jù)內(nèi)存的量。這個(gè)是顯然的,因?yàn)槠浜喜⒎祷氐慕Y(jié)果不是就地的,而是創(chuàng)建出第三塊內(nèi)存。因此,我們將合成的過程改為按列賦值,這樣合并時(shí)就幾乎不存在內(nèi)存峰值了。但是這么做,同時(shí)會(huì)帶來較差的時(shí)間效率。所以在系統(tǒng)的早期,內(nèi)存比較寬松的情況下,我們?nèi)耘f采用pandas的接口來進(jìn)行對(duì)數(shù)據(jù)的合并。

另外,我們同樣對(duì)訓(xùn)練預(yù)測(cè)時(shí)內(nèi)存的情況進(jìn)行了提前計(jì)算,在最后的特征篩選的過程中,我們會(huì)計(jì)算模擬出在生成多大的數(shù)據(jù)量下,能夠完整進(jìn)行系統(tǒng)后續(xù)的過程。從而來控制最后篩選出來的數(shù)據(jù)量。并且在最后一次特征篩選前,生成特征時(shí),我們也會(huì)先時(shí)候小數(shù)據(jù)集進(jìn)行一個(gè)模擬過程,來計(jì)算出整個(gè)過程中的內(nèi)存情況,來對(duì)生成期生成的特征數(shù)量進(jìn)行一個(gè)控制。

最后,我們會(huì)做一些比較精細(xì)的內(nèi)存管理,在變量生命周期結(jié)束的時(shí)候,我們都會(huì)對(duì)其進(jìn)行內(nèi)存回收。以下是我們內(nèi)存優(yōu)化前后的一個(gè)對(duì)比。里面包含了比賽中給的5個(gè)數(shù)據(jù)集的運(yùn)行過程中的內(nèi)存情況。

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

內(nèi)存優(yōu)化前后對(duì)比

系統(tǒng)測(cè)試

對(duì)于系統(tǒng)的測(cè)試,我們分為了兩個(gè)方面進(jìn)行。第一個(gè)方面是測(cè)試系統(tǒng)的擴(kuò)展性,第二個(gè)方面是測(cè)試系統(tǒng)的性能。

對(duì)于系統(tǒng)的擴(kuò)展性,我們測(cè)試過如下:

  • 對(duì)于不同的數(shù)據(jù)類型缺失的情況。

  • 對(duì)于不同數(shù)據(jù)類型數(shù)值全為空的情況。

  • 對(duì)于表的結(jié)構(gòu)為單表、復(fù)雜多表的情況。

以及其他一系列的極限狀態(tài)。而對(duì)于系統(tǒng)的性能方面,我們測(cè)試過如下:

  • 擴(kuò)大數(shù)據(jù)的條目,就本次競(jìng)賽的5個(gè)數(shù)據(jù)集而言,我們擴(kuò)展每個(gè)數(shù)據(jù)集數(shù)據(jù)條目2倍,3倍,6倍都能夠在規(guī)定的時(shí)間和內(nèi)存下順利運(yùn)行。

  • 擴(kuò)大數(shù)據(jù)的字段數(shù)量,同樣,我們擴(kuò)展5個(gè)數(shù)據(jù)集的字段數(shù)量2倍也能夠順利運(yùn)行。

  • 構(gòu)造特定的數(shù)據(jù)集,觀察是否會(huì)因?yàn)槟承┙M合特征而系統(tǒng)崩潰。最后測(cè)試了大約數(shù)十個(gè)構(gòu)造的極端數(shù)據(jù)集都能夠運(yùn)行成功。

  • 限制數(shù)據(jù)集允許運(yùn)行時(shí)間,我們通過調(diào)整數(shù)據(jù)集允許運(yùn)行時(shí)間,觀察我們的系統(tǒng)是否能夠自適應(yīng)調(diào)整自身的運(yùn)行時(shí)間。我們調(diào)整本次競(jìng)賽中原本時(shí)間就比較緊張的A數(shù)據(jù)集以及數(shù)據(jù)量較大的B數(shù)據(jù)集,將其允許的運(yùn)行時(shí)間變?yōu)樵瓉淼?/2,1/3,甚至是1/4。我們的系統(tǒng)都能夠順利運(yùn)行。

問:您認(rèn)為該模型得以奪魁的原因是什么?

答:在這次競(jìng)賽中我們的工作圍繞著競(jìng)賽的挑戰(zhàn)而進(jìn)行,主要有幾個(gè)比較重要的過程:自動(dòng)化多表數(shù)據(jù)處理、自動(dòng)多表連接、自動(dòng)化特征工程、自動(dòng)化模型構(gòu)建、選擇和融合。同時(shí)為了滿足競(jìng)賽的時(shí)間和內(nèi)存的需求,我們?cè)诖a上做了非常多的優(yōu)化工作,比如使用了多線程、Cython、預(yù)處理、提前估算等方法。最后我們的成績(jī)相當(dāng)不錯(cuò),A,B榜單上均在多個(gè)任務(wù)集上有比較大的優(yōu)勢(shì)。

問:AutoML競(jìng)賽和其他機(jī)器學(xué)習(xí)競(jìng)賽有哪些不同?

答:與傳統(tǒng)數(shù)據(jù)挖掘競(jìng)賽不同的是,AutoML競(jìng)賽中,參賽選手只知道數(shù)據(jù)的類型(數(shù)值變量、分類變量、時(shí)間變量、多值分類變量等),而不知道數(shù)據(jù)的含義,這毫無疑問會(huì)增加特征工程的難度,如何挖掘到有效的通用特征成為一個(gè)難點(diǎn)。

AutoML競(jìng)賽主要包含兩個(gè)階段,F(xiàn)eedback階段和AutoML階段,這兩個(gè)階段所使用的任務(wù)數(shù)據(jù)集是不一樣的,而傳統(tǒng)數(shù)據(jù)挖掘競(jìng)賽的A/B榜階段都是在同一個(gè)任務(wù)不同數(shù)據(jù)集上進(jìn)行測(cè)試,因此AutoML競(jìng)賽更要求參賽選手構(gòu)建一套通用的AutoML系統(tǒng),在不同任務(wù)上都能夠取得很好效果。

AutoML競(jìng)賽嚴(yán)格限制運(yùn)行時(shí)間和內(nèi)存,如果未能在規(guī)定時(shí)間和內(nèi)存內(nèi)完成系統(tǒng)建模則無法參與最終排名,因此在系統(tǒng)運(yùn)行過程中需要精確預(yù)估時(shí)間和內(nèi)存,對(duì)耗時(shí)耗內(nèi)存的部分代碼需要進(jìn)行深入優(yōu)化。

問:當(dāng)初選擇參加這個(gè)比賽的原因是什么?與深蘭科技的業(yè)務(wù)有哪些結(jié)合之處?

答:傳統(tǒng)機(jī)器學(xué)習(xí)極為耗費(fèi)人力、技術(shù)門檻高,也讓沒有機(jī)器學(xué)習(xí)背景的人無法高效利用時(shí)序關(guān)系型數(shù)據(jù)。AutoML 近年來成為了機(jī)器學(xué)習(xí)重要的研究方向。該技術(shù)在模型選擇、神經(jīng)架構(gòu)搜索、特征工程等方面取得了較大的成功,大幅降低了機(jī)器學(xué)習(xí)的應(yīng)用門檻,讓沒有機(jī)器學(xué)習(xí)背景的人同樣可以輕松使用。這次AutoML競(jìng)賽針對(duì)時(shí)序關(guān)系型數(shù)據(jù)的 AutoML 挑戰(zhàn)賽,希望讓更多的數(shù)據(jù)科學(xué)家和開發(fā)者加入其中,集思廣益,從而讓 AutoML 更好的利用時(shí)序關(guān)系型數(shù)據(jù),提升模型的預(yù)測(cè)性能,讓 AutoML 解決方案能夠更加符合實(shí)際應(yīng)用的需求。因此,我們認(rèn)為這次AutoML競(jìng)賽對(duì)推動(dòng)AutoML的發(fā)展具有重要意義。

深蘭科技在自身產(chǎn)品的開發(fā)中也已使用了自研AutoML系統(tǒng),以深蘭科技應(yīng)用于建青實(shí)驗(yàn)學(xué)校的AI教育“一手通”為例,通過這款系統(tǒng)設(shè)備采集的數(shù)據(jù),再經(jīng)過AutoML系統(tǒng)自動(dòng)建模可以分析出學(xué)生的興趣愛好,隨后進(jìn)行個(gè)性化教學(xué)。在堅(jiān)持加強(qiáng)基礎(chǔ)研究的道路上,深蘭科技披荊斬棘、不忘初心,將繼續(xù)把更多搭載先進(jìn)技術(shù)的產(chǎn)品推向市場(chǎng),真正實(shí)現(xiàn)服務(wù)民生。

問:據(jù)了解,除了 KDD CUP,深蘭科技近期還斬獲了多個(gè)比賽的冠軍(如 IEEE ISI 、CVPR FGVC 等),能向我們介紹一下深蘭科技在這方面的投入情況嗎?

答:深蘭科技成立之初即完整地規(guī)劃了深蘭科學(xué)院的架構(gòu),并陸續(xù)成立了五大研究院,致力于人工智能基礎(chǔ)研究和應(yīng)用開發(fā)。在核心技術(shù)的基礎(chǔ)研究方面,包括計(jì)算機(jī)視覺、自動(dòng)駕駛、生物識(shí)別和認(rèn)知智能等四大領(lǐng)域。每次國(guó)際會(huì)議競(jìng)賽都是驗(yàn)證深蘭科技基礎(chǔ)算法和技術(shù)實(shí)力的機(jī)會(huì),我們同時(shí)也希望這些方案能為更多行業(yè)提供借鑒。尤其本屆KDD Cup AutoML競(jìng)賽開源了解決方案,其中有許多優(yōu)秀的思路和方法在競(jìng)賽中得以驗(yàn)證,不但共同推進(jìn)了AutoML的發(fā)展,也提供了交流學(xué)習(xí)的機(jī)會(huì)。深蘭科技矢志不渝,不但為自身的商業(yè)化應(yīng)用落地持續(xù)注入強(qiáng)勁能量,更希望賦能更多行業(yè),將“人工智能,服務(wù)民生”的理念落實(shí)到底。

問:對(duì)于有興趣參賽的青年 AI 開發(fā)人員,深蘭科技有何建議給到他們?

答:有興趣參加機(jī)器學(xué)習(xí)競(jìng)賽的AI開發(fā)人員主要分為兩種,一種是在校學(xué)生,另一種是在職的。對(duì)于在校的同學(xué)來說,參加機(jī)器學(xué)習(xí)競(jìng)賽可以快速提升自己的專業(yè)技能,也能積累實(shí)戰(zhàn)經(jīng)驗(yàn),對(duì)找實(shí)習(xí)和找工作都有很大幫助;對(duì)于在職的同學(xué)來說,希望在業(yè)余競(jìng)賽的同時(shí)能把競(jìng)賽中學(xué)習(xí)到的東西應(yīng)用到當(dāng)前工作中來,由于競(jìng)賽需要花費(fèi)不少時(shí)間,也建議隊(duì)伍中有時(shí)間相對(duì)比較多的在校學(xué)生,這樣能夠更好的平衡工作和競(jìng)賽的時(shí)間。

多學(xué)習(xí)一些競(jìng)賽的Top隊(duì)伍的分享,從這些分享中多總結(jié)多思考,對(duì)于特定任務(wù)可以結(jié)合實(shí)際業(yè)務(wù)場(chǎng)景深入探索。

在機(jī)器學(xué)習(xí)競(jìng)賽中取得 top 的成績(jī)不僅要實(shí)力也需要一定的運(yùn)氣,放松心態(tài),帶著學(xué)習(xí)的態(tài)度去玩比賽,在玩的過程中,不僅能接觸各種AI應(yīng)用場(chǎng)景,也能提升自己的能力并認(rèn)識(shí)更多相同興趣的朋友,這就是最大的收獲。

雷鋒網(wǎng) AI 開發(fā)者雷鋒網(wǎng)

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

深蘭科技:我們是如何拿下今年 KDD CUP AutoML 賽道冠軍的?

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說