Taxi Trajectory Prediction競賽冠軍訪談:深度學習的"非主流"應用

2020-12-14 CSDN技術社區

計程車線路預測(Taxi Trajectory Prediction)是Kaggle 2015 ECML PKDD機器學習會議的兩場競賽中的第一場。一個團隊使用他們在MILA實驗室開發的深度學習工具在競賽中贏得了第一名。在這篇文章中,他們分享了許多關於這次競賽的情況和他們獲勝的方式。

想了解2015 ECML PKDD 計程車競賽的情況,可以點擊這裡閱讀關於「Blue Taxi」的文章,Blue Taxi是 Taxi Trip Time Prediction競賽的第三名。


來自381個團隊的459位數據專家針對預測計程車乘客可能在哪下車進行競賽

基本信息

目標任務特別簡單:我們將要通過計程車的起點(GPS定位點)和一些其他的元數據信息(日期,時間,計程車號碼,客戶信息)來預測計程車的目的地。

所有的訓練數據都是發生在2013-2014年波爾圖計程車的行駛路線,涉及442輛計程車大概170萬的路線信息。你可以在Kaggle的首頁上找到這次競賽的信息,點擊這裡。

在繼續講解之前,先來看看2個視頻,是使用我們設計的模型對兩輛計程車行駛路線的預測情況。



用我們最優的模型預測目的地,測試車輛按照我們預測的地點行駛。第一個視頻中,我們可以很清楚的看到我們設計的模型已經學習到了機場的位置。

在數據方面你們遇到過哪些主要困難?

有好幾種,例如:

  • 出租側軌跡是可變長度序列,最短的時候是0(比如當數據丟失的時候),最長的時候大概是5000GPS點(相當於20個小時的車程!)。
  • 數據的特徵是非常多樣化的:尤其是特定的元數據是離散的(計程車號碼和客戶id),而其他的則是高度結構化的(日期,時間),還有GPS的軌跡是連續的坐標序列。
  • 作為現實世界的數據,數據之間有諸多矛盾,比如行車時間持續多達16個小時,或者是計程車開到了伊朗:)。伊朗的坐標點肯定是由錯誤的GPS校準產生的。總的來說,因為不精確的GPS定位,訓練軌跡將會有許多噪聲。

在參加這次挑戰之前你們都有什麼專業背景?

我們三個是 蒙特婁學習算法研究所(MILA,前身是LISA)的學生,它是由Yoshua Bengio教授領導的專門從事深度神經網絡研究的實驗室。我們兩個是實習生(Alex和Étienne),計算機科學專業,Alexandre是一年級博士生,在機器學習(ML)方面有更多的專業知識。這次競賽中所使用到的機器學習技術、技巧和工具都是我們在MILA實驗室開發的,用實驗室開發的編程框架(Theano, Blocks)實現了獨特的深度神經網絡。

有沒有什麼領域知識助你們成功?

沒有,我們之前沒有任何關于波爾圖和它那計程車的領域知識。

你們是怎麼在Kaggle開始競賽的?

對我們三個來說,這是我們第一次(莊重地)參加Kaggle的競賽。作為MILA實驗室的學生,我們更喜歡嘗試一些「非主流」的深度學習(DL)技術,而不是已經成熟的深度學習技術(比如計算機視覺,NLP,語音技術)。

技術方面

你們一般化的方法是什麼?

我們想設計一個全能的機器學習方法,儘可能減少手工操作,理想情況下我們希望達到無需預處理或者特徵提取,無需後置處理並且不用模型組合。

我們嘗試了幾種方法,全部都是基於神經網絡的。結果是複雜的模型表現得並沒有簡單模型那麼出色,這是非常奇怪的。

能講講你們取勝的那個模型嗎?


圖1:我們取勝模型的架構圖。我們嘗試用遞歸神經網絡替換MLP,但是表現並不是很好。更深層的網絡也同樣沒有提升效果。

我們取勝的模型架構是基於 多層感知器(MLP)的,感知器是一種最簡單的神經網絡架構。更確切地說,感知器是由一個輸入層(輸入大小是固定的),一個或多個隱藏層(計算輸入數據)和一個輸出層(輸出預測結果)組成。

當然,我們需要調整一下MLP讓它適用於這個任務:

  • 軌跡是可變長度的,而MLP的輸入是定長的。我們為此做如下修改,只用前5個和後5個軌跡數據點作為MLP的輸入。結果表明,這些數據點確實是軌跡最重要的部分,而中間部分的數據點並沒有這麼重要。
  • 考慮到元數據(時間和客戶信息),我們使用了一種在自然語言模型中訓練文字嵌入廣泛使用的方式。我們使用這種方式(當然不是嵌入文字)學習為每條元數據值(一天中的第幾刻鐘,一年中的第幾周,客戶ID等)嵌入向量,然後將這些嵌入數據作為MLP的附屬輸入。
  • 最開始我們嘗試直接預測輸出坐標(x,y),但是實際上,我們採用另外一種方式獲得了顯著的效果,這種方式增加了一些預處理過程。更確切地說,我們首先在所有訓練軌跡的目的地上使用聚類算法得到了大概3392個熱門目的地數據點。MLP的倒數第二層是一個softmax,它用來預測這3392個數據點成為計程車目的地的概率。因為這個任務是要預測單個目的地點,所以我們計算這3392個目標的平均值,然後用softmax層返回的概率作為權值。

隨後我們訓練模型將預測和實際地點的誤差最小化。我們使用了隨機梯度下降而且我們還將繼續使用。

你們對數據最深刻的了解是什麼?


圖2:所有訓練軌跡的GPS數據點的熱點圖。可以注意到,這裡並沒有印上地圖,只有GPS數據點,這揭露了波爾圖的公路網。

從可視化角度看,這個挑戰很有意思。在競賽的開始,我們計算出了波爾圖計程車最常去的區域的熱點圖(圖2)。正如你所看到的,我們可以很清晰的認出主幹公路、機場、火車站、市中心和郊區。這些發現讓我們覺得我們應該為模型提供相當於數據分布的前期數據。這讓我們考慮將目的地聚類。

你們對你們的任何發現感到驚訝嗎?

只是出於好奇心,我們在嵌入數據的時候使用 t-SNE,我們可以將每條元數據轉化成2維空間中的值(原始的嵌入空間有10個維度),這為我們理解每條元數據值如何影響預測提供了良好的視覺觀察(如果一個人想要在數量上評估單條元數據的重要性,那麼他可以只用這一個特定的元數據作為訓練模型的輸入)。特別地,圖3和圖4分別顯示了嵌入每天第幾刻鐘和每年第幾周作為附屬輸入的預測結果。


圖3:在計程車行駛了的時間裡,嵌入了每小時中的每刻鐘的數據得到了以t-SNE 2D形式顯示的預測結果(一天中有96刻鐘,所以有96個點,每個點代表了特定的刻鐘時間)。上圖表明,每個刻鐘數據本身都很重要。


圖4:在計程車行駛了的時間裡,嵌入了每年中的每周數據得到了以t-SNE 2D形式顯示的預測結果(一年中有52周,所以有52個點,每個點代表了特定的周)。

你們是如何處理數據的?

訓練數據包括:完成軌跡,而測試數據集只包含局部軌跡。這意味著GPS數據序列在輸入到網絡之前需要剪枝。理想的解決辦法是去掉所有在不同時間的軌跡信息。這樣會有1億條訓練實例,對它們進行shuffle操作,我們就可以更好地發揮隨機梯度下降的性能,但是這樣做的代價可能太大了。所以我們隨機地循環遍歷170萬條訓練實例,然後動態地隨機去掉100條數據。

你們使用什麼工具?

我們使用在MILA實驗室開發的庫文件,也就是 Theano(一個類似numpy的庫文件,用來加速GPU處理)和 Blocks(可以說是建立在Theano之上的一個近現代深度學習框架)。我們非常感謝它們的開發者們。

我們的源碼和運行說明可以在我們的github上下載,點擊這裡。

在這次競賽中你們是怎麼安排時間的?

正如前面所說,我們的實現方法只做了很少的特徵提取工作。我們在通過數據可視化理解數據上花了少量時間,我們大多數時間都在思考如何設計神經網絡架構並且如何使用Blocks去實現它們。

用你們的方法訓練數據和預測各需要多少時間?

我們的模型是使用隨機梯度下降訓練的,意味著它需要逐個考慮數據集中的每條數據——或者更確切地說,每批200條訓練數據——許多次。比如,在一次迭代中,遍歷所有的數據所花的時間取決於模型的複雜度。用我們最好的模型,在GTX 680上做一次迭代需要幾個小時,訓練它則要半天。

你們還嘗試過哪些模型?


圖5:內存式網絡。RELU層可以由遞歸神經網絡代替。在我們的實驗中,候選軌跡是隨機抽取的,但是手工編碼的相似度函數也可以使用。

我們嘗試了更為複雜的神經網絡架構,比如遞歸神經網絡和一些與內存網絡相關的架構。令人吃驚的是,將所有軌跡作為輸入的遞歸架構並沒有改進預測結果。內存網絡架構(圖5)是基於學習相似度函數的,相似度函數從訓練數據中提取候選軌跡然後度量它們的權重。

Bios

Alexandre de Brébisson是蒙特婁MILA實驗室的博士生,師從Pascal Vincent教授和Yoshua Bengio教授。

Étienne Simon 是ENS Cachan計算機科學專業的學生,目前是蒙特婁MILA實驗室的實習生,師從Yoshua Bengio教授。

Alex Auvolat 是ENS Paris計算機科學專業的學生,目前是蒙特婁MILA實驗室的實習生,師從Pascal Vincent教授和Yoshua Bengio教授。

英文原文: Taxi Trajectory Winners' Interview: 1st place, Team(譯者/劉翔宇 審校/劉帝偉、朱正貴 責編/周建丁) 

關於譯者:  劉翔宇,中通軟開發工程師,關注機器學習、神經網絡、模式識別。  


  • 如果您對深度學習有更多的見解和心得希望分享,請給小編發送郵件:zhoujd@csdn.net。
  • 如果您想了解更多的深度學習相關產品,請關注CSDN人工智慧產品庫。
  • 更多人工智慧技術分享與交流,請加入CSDN 人工智慧技術交流QQ群,群號:465538150。

本文為CSDN編譯整理,未經允許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)

相關焦點

  • 深度學習黑客競賽神器:基於PyTorch圖像特徵工程的深度學習圖像增強
    當我們沒有足夠的數據時,圖像增強是一個非常有效的方法我們可以在任何場合使用圖像增強進行深度學習——黑客競賽、工業項目等等我們還將使用PyTorch建立一個圖像分類模型,以了解圖像增強是如何形成圖片的在深度學習黑客競賽中表現出色的技巧(或者坦率地說,是任何數據科學黑客競賽) 通常歸結為特徵工程。
  • 斯坦福深度學習訓練及推理榜單:華為雲拿下雙料冠軍
    首頁 > 傳媒 > 關鍵詞 > 華為雲最新資訊 > 正文 斯坦福深度學習訓練及推理榜單:華為雲拿下雙料冠軍
  • NIPS2018深度學習(18)|亮點: 貝葉斯深度學習;圖卷積(論文及代碼)
    深層結構化模型在語義分割等任務中廣泛應用,在深層結構化模型中,變量之間的相關性暗含著重要的先驗信息,這種信息通常可以使得深層網絡所需要的數據量。但是,如何設計模型來尋找能夠優化期望屬性的分子,同時融合高複雜度和非可微的規則,具有一定的挑戰性。作者們提出圖卷積策略網絡(GCPN),這是一種基於通用的圖卷積網絡的模型,用於目標導向的圖生成,同時還藉助了增強學習。該模型利用策略梯度優化特定領域的回報函數和對抗損失,還可以融合特定領域的規則來優化環境中的行動。本文提出的圖生成過程如下
  • 研究方法:深度訪談 | 深度訪談研究方法的實證論析
    鑑於國內目前對於深度訪談方法的介紹和研究處於發展階段,關於如何應用深度訪談進行實證研究的書籍和文章比較匱乏,本文通過對深度訪談方法的倫理規則、抽樣、提問、分析和備忘錄寫作這五個重要環節的概要論述和實證辨析,探討掌握和運用深度訪談研究方法進行實證研究的具體步驟,案例分析突出了深度訪談方法實證運用中的應對技巧,目的是推動深度訪談研究在我國的進一步發展和推廣。
  • 2018 NAACL語言學習建模競賽:英語組冠軍先聲教育展望自適應學習...
    NAACL 是自然語言處理與計算語言學領域的頂級學術會議之一。在語言學習建模競賽中,國內人工智慧企業先聲教育在英語組賽事中奪得第一。其他參賽者包括來自全球頂尖學術界和產業界的研究團隊,如劍橋大學、紐約大學、加利福尼亞大學等。英語組冠軍團隊先聲教育由其聯合創始人及 CTO 秦龍博士帶隊參賽,參賽隊員還包括首席語音科學家陳進和自然語言處理科學家徐書堯。
  • Google Quest 冠軍訪談:3個秘訣,8條建議,還有人在華為做 NLP 研究員
    Dmitriy Danevskiy我擁有應用數學和物理學背景。4 年前,我開始主攻工業應用方面的機器學習。兩年來,我一直在一家小型人工智慧服務公司工作,負責分割時間序列、人臉識別、語音處理及實現複雜的深度學習解決方案。
  • 報名|北大光華 「深度學習與統計學理論」研討會
    深度學習作為處理非結構化數據的一種手段,走向大規模產業化應用已成為從政策導向到行業共識的一致方向。為此,建立深度學習平臺助力產業應用,加速支持產業智能化,也已經成為當前學術界和各行業最炙手可熱的研究應用方向。由北京大學光華管理學院商務統計與經濟計量系主辦的「深度學習與統計學理論」研討會將於11月19日在北京大學線上、線下同步進行。
  • 深度訪談研究方法的實證論析
    鑑於國內目前對於深度訪談方法的介紹和研究處於發展階段,關於如何應用深度訪談進行實證研究的書籍和文章比較匱乏,本文通過對深度訪談方法的倫理規則、抽樣、提問、分析和備忘錄寫作這五個重要環節的概要論述和實證辨析,探討掌握和運用深度訪談研究方法進行實證研究的具體步驟,案例分析突出了深度訪談方法實證運用中的應對技巧,目的是推動深度訪談研究在我國的進一步發展和推廣。
  • 「深度訪談」的實質
    在此前提下, 「儘管訪談員足以將談話導引到感興趣的題目上, 深度訪談還是會為被訪者 提供足夠的自由,他自己也可以來把握訪談」(Hakim, 1987:27)。 但是深度訪談最重要的目的還在於它的第二個特徵, 即「深入事實的內部」。這包括兩個方面, 一個是何謂「深度」, 一個是如何能夠深入事實內部? 關於「深度」, 文格拉夫提出了兩點: 1.
  • 新智元專訪:清華大學深度強化學習框架「天授」開源|900星
    相較於其他PyTorch強化學習框架,天授0.2具有結構簡單、二次開發友好的特點,整個框架代碼1500行左右,支持主流的強化學習算法DQN、A2C等,同時設計了靈活的接口,用戶可以定製自己的訓練方法。針對現有平臺訓練速度慢的缺點,天授通過將並行採樣與緩存機制相結合提高了採集數據的速度。同時,整個框架基於模塊化的原則進行設計,在其上實現常見的強化學習算法僅需不到100行的代碼。
  • 深度學習在目標跟蹤中的應用
    2013年以來,深度學習方法開始在目標跟蹤領域展露頭腳,並逐漸在性能上超越傳統方法,取得巨大的突破。本文首先簡要介紹主流的傳統目標跟蹤方法,之後對基於深度學習的目標跟蹤算法進行介紹,最後對深度學習在目標跟蹤領域的應用進行總結和展望。
  • 主流的深度學習模型有哪些?
    趁著回答《深度學習的主要分類是什麼呀?這些網絡cnn dbn dnm rnn是怎樣的關係?》這個問題的機會,我也想介紹一下主流的神經網絡模型。因為格式問題和傳播原因,我把原回答內容在這篇文章中再次向大家介紹。在更詳細的介紹各種網絡前,首先說明:大部分神經網絡都可以用深度(depth)和連接結構(connection)來定義,下面會具體情況具體分析。
  • 深度學習在圖像處理中的應用趨勢及常見技巧
    目前為止,圖像處理已成為深度學習中重要的研究領域,幾乎所有的深度學習框架都支持圖像處理工具。當前深度學習在圖像處理領域的應用可分為三方面:圖像處理(基本圖像變換)、圖像識別(以神經網絡為主流的圖像特徵提取)和圖像生成(以神經風格遷移為代表)。本文第一部分介紹深度學習中圖像處理的常用技巧,第二部分淺析深度學習中圖像處理的主流應用,最後對本文內容進行簡要總結。
  • 深度強化學習算法與應用研究現狀綜述
    概述了基於值函數和策略梯度的兩類深度強化學習算法,詳細闡述了深度Q網絡、深度策略梯度及相關改進算法的原理,並綜述了深度強化學習在視頻遊戲、導航、多智能體協作以及推薦系統等領域的應用研究進展。最後,對深度強化學習的算法和應用進行展望,針對一些未來的研究方向和研究熱點給出了建議。
  • 【2019年第六期文章推薦】Softmax分類器深度學習圖像分類方法應用綜述
    2 Softmax在深度學習圖像分類中的應用自Softmax分類器問世以來,其在圖像分類領域的應用越來越廣泛,基於深度學習Softmax的圖像分類算法採用神經網絡模型與Softmax分類器級聯的形式實現圖像分類[17]。
  • 深度學習與PaddlePaddle的應用-個性化推薦
    作者:沈克強 來源:人工智慧學習圈I 研究背景推薦系統(Recommender System)是向用戶建議有用物品的軟體工具和技術,它運用數據分析、數據挖掘等技術,實現對用戶瀏覽信息或商品進行智能推薦,是機器學習,尤其是深度學習算法的重要應用場景。
  • 深度學習技術介紹及應用
    在很多人眼裡,深度學習是一個非常神奇的技術,是人工智慧的未來,是機器學習的聖杯。今天大恆圖像帶您一起揭開他神秘的面紗,了解什麼才是深度學習。  當我們在網絡上搜索「深度學習」的時候往往還能搜到「人工智慧」以及「機器學習」這兩個關鍵詞。有很多人甚至認為深度學習就是人工智慧,其實這些概念之間還是有一些區別的。
  • 【實務】深度訪談調查工作流程
    四、深度訪談前的準備工作l 儀容儀表。l 熟悉不同虛擬身份的背景。l 錄音設備的準備(開啟 SHQ高清)。l 訪問前認真準備(怎麼切入主題?問哪些問題?不清楚的問題?怎麼問?)。l 避免在接下來的訪談中,問出模稜兩可的問題。
  • 貝葉斯方法與深度學習的結合及應用(2)
    近年來,也有越來越多的研究開始將貝葉斯方法應用到深度學習中,如文獻[1]提出了用以貝葉斯方法為基礎的概率圖與深度神經網絡構建具有視覺和任務兩個功能模塊的系統。有關這方面的更多信息可以參考往期文章概率圖模型在深度學習的應用。
  • 【深度度量學習系列】​Triplet-loss原理與應用
    深度度量學習(Deep Metric Learning, DML)的一個經典的應用就是人臉識別,Google 的FaceNet模型使用Triplet-Loss刷新了當時人臉識別的記錄。Ranking loss的目的是去預測輸入樣本之間的相對距離,這個任務經常也被稱之為度量學習(metric learning)。深度度量學習(Deep Metric Learning, DML)的一個經典的應用就是人臉識別,Google的FaceNet模型使用Triplet-Loss刷新了當時人臉識別的記錄。