深度學(xué)習(xí)在高德的探索與實(shí)踐
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1.導(dǎo)讀
駕車導(dǎo)航是數(shù)字地圖的核心用戶場(chǎng)景,用戶在進(jìn)行導(dǎo)航規(guī)劃時(shí),高德地圖會(huì)提供給用戶3條路線選擇,由用戶根據(jù)自身情況來決定按照哪條路線行駛。
同時(shí)各路線的ETA(estimated time of arrival,預(yù)估到達(dá)時(shí)間)會(huì)直接顯示給用戶,這是用戶關(guān)心的核心點(diǎn)之一。用戶給定起點(diǎn)和終點(diǎn)后,我們的任務(wù)是預(yù)測(cè)起終點(diǎn)的ETA,ETA的準(zhǔn)確率越高,給用戶帶來的出行體驗(yàn)越好。
2.基于深度學(xué)習(xí)模型的探索和實(shí)踐
2.1模型選擇
傳統(tǒng)機(jī)器學(xué)習(xí)模型在ETA中,比較常用的有線性回歸、RF(隨機(jī)森林)、GBDT(梯度提升決策樹)等回歸預(yù)測(cè)類模型。線性模型表達(dá)能力較差,需要大量特征工程預(yù)先分析出有效的特征;RF通過樣本隨機(jī)和特征隨機(jī)的方式引入更多的隨機(jī)性,解決了決策樹泛化能力弱的問題;GBDT是通過采用加法模型(即基函數(shù)的線性組合),以及不斷減小訓(xùn)練過程產(chǎn)生的殘差來達(dá)到回歸的算法。
傳統(tǒng)機(jī)器學(xué)習(xí)模型相對(duì)簡(jiǎn)單易懂,也能達(dá)到不錯(cuò)的效果,但存在兩個(gè)問題:
模型的表達(dá)能力跟選取的特征有關(guān),需要人工事先分析出有效的特征。
沒有考慮上游對(duì)下游路段的影響,產(chǎn)生了如丟失上下游關(guān)聯(lián)信息、下游受上游影響導(dǎo)致的不確定性等問題。
第一個(gè)問題很好理解,深度學(xué)習(xí)模型能很好地彌補(bǔ)這方面。針對(duì)第二個(gè)問題,以歷史速度信息選取存在的不確定性為例來說明一下,歷史速度信息是一個(gè)區(qū)分周一到周日七個(gè)工作日、10分鐘間隔的歷史平均時(shí)間,可以根據(jù)該路段的預(yù)計(jì)進(jìn)入時(shí)間所在10分鐘區(qū)間來選定。如下圖(歷史平均速度)從0:00-24:00的變化曲線,可以看到一天中特別是早晚高峰,速度值存在較大波動(dòng)。
而在選取歷史平均時(shí)間時(shí),依賴的是預(yù)計(jì)進(jìn)入時(shí)間,這個(gè)時(shí)間依賴于上游路段的預(yù)計(jì)通行時(shí)間,因此其選取存在不確定性,進(jìn)而導(dǎo)致ETA計(jì)算不準(zhǔn)確。
考慮到以上問題的存在,我們選擇利用RNN的時(shí)間序列思想將路線中上下游路段串聯(lián)起來進(jìn)行路段ETA的預(yù)測(cè)。
另外考慮到RNN存在的長(zhǎng)依賴問題,且結(jié)合實(shí)際業(yè)務(wù)情況,我們選擇使用LSTM模型來進(jìn)行建模,LSTM的門結(jié)構(gòu)具有的選擇性還能讓模型自行學(xué)習(xí)選擇保留哪些上游的特征信息進(jìn)行預(yù)測(cè)。
2.2網(wǎng)絡(luò)架構(gòu)
上圖為整個(gè)模型的框架圖,主要分為兩部分,使用LSTM模塊對(duì)路線中的路段ETA的預(yù)測(cè)和最終使用N層全連接模塊對(duì)累計(jì)路段ETA及路線各特征進(jìn)行完整路線的ETA預(yù)測(cè)。
2.3路段ETA預(yù)測(cè)
上圖為各路段ETA預(yù)測(cè)使用的LSTM結(jié)構(gòu)圖,Xt為路線中第t個(gè)路段的特征信息,主要包含對(duì)應(yīng)的實(shí)時(shí)路況信息、歷史路況信息、路段的靜態(tài)特征等。
LSTM本是輸入時(shí)間序列數(shù)據(jù)的模型,我們利用該思想,將路線中各路段序列依次輸入模型。
2.4完整路線ETA預(yù)測(cè)
在LSTM模塊得到累計(jì)路線ETA預(yù)測(cè)值后,結(jié)合該路線的靜態(tài)屬性,使用全連接模塊將其整合成最終輸出的完整路線ETA預(yù)測(cè)值。
路線的屬性特征主要指一些人工提取的特征,如該路線的長(zhǎng)度、導(dǎo)航規(guī)劃發(fā)起特征日、是否早晚高峰時(shí)段等,用以加強(qiáng)模型在不同場(chǎng)景下的表達(dá)能力。
損失函數(shù)選用線性回歸常用的平方形式:MSE,公式如下:
其中,N是路線數(shù)量,ETA路線j為路線ETA,即預(yù)測(cè)值;用戶實(shí)走j為用戶在該路線的實(shí)走時(shí)間,即真值。
3.模型效果
衡量模型效果,即路線上ETA的預(yù)測(cè)值時(shí),主要考慮的是準(zhǔn)確率。一般情況下,用戶對(duì)ETA偏長(zhǎng)和偏短的容忍度不同,對(duì)偏長(zhǎng)容忍度更高。比如用戶要去機(jī)場(chǎng),ETA給的時(shí)間偏短10分鐘比偏長(zhǎng)10分鐘對(duì)用戶的損害更大。因此準(zhǔn)確度的指標(biāo)設(shè)計(jì)傾向于ETA偏長(zhǎng),定義為滿足用戶一定容忍范圍的請(qǐng)求比例,即準(zhǔn)確率作為主要衡量指標(biāo)。
在北京市上的實(shí)驗(yàn)結(jié)果顯示,ETA準(zhǔn)確率得到提升,MSE loss下降比例28.2%,效果有了明顯的提升。
4.小結(jié)
本文介紹了引入深度學(xué)習(xí)模型,幫助建模導(dǎo)航規(guī)劃的預(yù)估到達(dá)時(shí)間預(yù)測(cè),成功解決了線性模型的不足,也為后續(xù)引入更多特征、進(jìn)行更多探索打開了空間,如歷史速度信息的不確定度、時(shí)效性、周期性、突發(fā)事件、路網(wǎng)結(jié)構(gòu)等。
特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長(zhǎng)按關(guān)注一下:
長(zhǎng)按訂閱更多精彩▼
如有收獲,點(diǎn)個(gè)在看,誠(chéng)摯感謝
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!