機器學習在美團配送系統的實踐:用技術還原真實世界
在2018 AI開發者大會(AI NEXTCon)上,美團配送AI方向負責人何仁清,分享了美團在即時配送領域中機器學習技術的最新進展,以及如何通過大資料和機器學習手段,建立對線下真實世界各種場景的感知能力,還原並預測配送過程各個細節,從而提升整體配送系統的精度。
美團“超腦”配送系統的由來
2014年,斯嘉麗·約翰遜主演的科幻片《超體》大火,影片中主人公Lucy由於無意中攝入了大量的代號為“CPH4”的神祕藥物,大腦神經元獲得空前的開發,獲得了異乎尋常的超能力,她能夠對這個世界進行全新的感知、理解和控制(比如控制無線電波),最終跨越時間和空間成為了一個超級個體。
這種對真實世界的深度感知、理解和控制,與配送AI系統對配送場景的感知、理解和配送環節控制的目標非常一致。可以說,美團要建設的AI就是配送系統的“超級大腦”。因此我們內部把配送的AI系統,簡稱為“超腦”配送系統。
即時配送在全球快速發展
最近幾年,以外賣為依託,即時配送業務在全球範圍內掀起了一波快速發展的浪潮,全球各地都出現了很多創業公司,其中國外知名的包括美國的Uber Eats(全球)、英國的Deliveroo、印度的Swiggy、Zomato(分別被美團和阿里投資),印尼的go-jek等等。國內除了美團外賣、餓了麼、滴滴外賣等典型代表外,而還有專注於即時配送服務創業公司,比如閃送、UU跑腿、達達、點我達等。
這種全球爆發的現象說明了兩個問題:
- “懶”是人類的天性。平價、方便、快捷的服務是人類的普遍需求,尤其是在“吃”這個事情上,外賣成為了一種高頻的剛需。
- 外賣的商業模式完全可行。以美團外賣為例,2018年上半年整體收入160億,同步增長90%。根據Uber公佈的資料,Uber Eats在2018第一季度佔整體營業的13%。
即時配送的業務模型
即時配送,是一種配送時長1小時以內,平均配送時長約30分鐘的快速配送業務。如此快速的配送時效,將傳統的線上電商交易與線下物流配送(傳統劃分比較明確的兩條業務)整合為統一整體,形成了使用者、商戶、騎手和平臺互相交錯的四元關係。
其整合力度空前緊密,幾乎滲透到各個環節。以外賣搜尋和排序為例,在下午時段,在使用者搜尋和推薦中可以看到更多的商家,因為此時運力充分,可以提供更遠距離的配送服務,不僅能更好滿足使用者的需求,提高商家的單量,而且能夠增加騎手的收入。
即時配送的核心指標是效率、成本、體驗,這三者也形成了即時配送的商業模型。簡單來說可以分為以下幾步:
- 首先配送效率提升
- 讓騎手在單位時間內配送更多訂單,產生更多價值。
- 然後配送成本下降
- 更高的效率,一方面讓騎手收入增加,一方面也讓訂單平均成本下降。
- 然後使用者體驗提升
- 低成本能夠讓使用者(商戶)以更低的價格享受更好的配送服務,從而保證更好的使用者體驗。
- 進一步提升效率並形成迴圈
- 更好的使用者體驗,讓更多使用者(商戶)聚集過來,提升規模和密度,進一步提升配送效率。
這樣,就形成了一個正向迴圈,不斷創造更多商業價值。而技術的作用,就是加速這個正向迴圈。
美團“超腦”配送系統
目前網際網路技術,很大部分還是針對線上產品和系統研發,整個流程可以在線上全部完成,而這也正是配送AI技術最大的不同和挑戰。簡單來說,類似搜尋、推薦、圖象和語音識別這種線上產品常用的AI技術幫助不大,因為配送必須線上下一個一個環節的進行,這就要求AI技術必須能夠面對複雜的真實物理世界,必須能深度感知、正確理解與準確預測、並瞬間完成複雜決策。
為了滿足這些要求,我們建設了美團“超腦”配送系統,包含以下幾個方面:
- 大資料處理和計算能力
- 演算法資料和計算平臺:包括實時特徵計算、離線資料處理、機器學習平臺等。
- 建立對世界深度感知
- LBS系統:提供正確位置(使用者/商戶/騎手)以及兩點之間正確的騎行導航。
- 多感測器:提供室內定位以、精細化場景刻畫、騎手運動狀態識別
- 正確理解和準確預測
- 時間預估:提供所有配送環節時間的準確預估
- 其他預估:銷量預估、運力預估等
- 完成複雜決策
- 排程系統:多人多點實時排程系統,完成派單決策:誰來送?怎麼送?
- 定價系統:實時動態定價系統,完成定價決策:使用者收多少錢?給騎手多少錢?
- 規劃系統:配送網路規劃系統,完成規劃決策:站點如何劃分?運力如何運營?
機器學習技術挑戰
如何構建一個在真實物理世界執行的AI系統,就是我們最大的挑戰。具體到機器學習方向而言,挑戰包括以下幾個方面:
-
精度足夠高、粒度足夠細
- 時間要求:一方面是週期性變化,比如早午晚,工作假日,季節變化;一方面是分鐘級的精細度,比如一個商圈單量和運力的實時變化。
- 空間要求:一方面是不同商圈獨有特性,比如CBD區域;一方面是要實現樓棟和樓層的精度,比如1樓和20樓,就是完全不同的配送難度。
- 魯棒性要求:處理各種不確定的能力,比如天氣變化、交通變化等等。
-
線下資料質量的巨大挑戰
- 大噪音:比如GPS定位漂移,尤其是在高樓附近,更不要說在室內GPS基本不可用。
- 不完備:比如商家後廚資料、堂食資料、其他平臺數據,都極難獲得。
- 高複雜:配送場景多樣而且不穩定,隨著時間、天氣、路況等在不斷變化。
配送系統的核心引數ETA
ETA(Estimated Time of Arrival,時間送達預估)是配送系統中非常重要引數,與使用者體驗、配送成本有直接關係,而且會直接影響排程系統和定價系統的最終決策。
一個訂單中涉及的各種時長引數(如上圖右側所示),可以看到有十幾個關鍵節點,其中關鍵時長達到七個。這些時長涉及多方,比如騎手(接-到-取-送)、商戶(出餐)、使用者(交付),要經歷室內室外的場景轉換,因此挑戰性非常高。
通過機器學習方法,我們已經將外賣配送幾乎所有環節都進行了精準預估預測。使用者感知比較明顯是預計送達時間,貫穿多個環節,商家列表(從配送時長角度讓使用者更好選擇商家)、訂單預覽(給使用者一個準確的配送時間預期)、實時狀態(下單後實時反饋最新的送達時間)。當然這裡面還有很多使用者看不到的部分,比如商家出餐時間、騎手到店時間、交付時間等。其中交付時長,與使用者關係比較大,也很有意思,下文會詳細展開。
精準到樓宇和樓層的預估:交付時長
交付時長是指騎手到達使用者後,將外賣交付到使用者手中並離開的時間,實際是需要考慮三維空間內計算(上樓-下樓)。交付時間精準預估,有兩點重要的意義,首先是客觀的衡量配送難度,給騎手合理補貼;其次,考慮對騎手身上後續訂單的影響,防止排程不合理,導致其他訂單超時。
交付時長的目標是,做到樓宇和樓層的精準顆粒度,具體可以拆解為以下幾步:
- 地址的精準解析(精確到樓宇/單元/樓層)
- 地址精度需要在5級之上(4級:街道,5級:樓宇),國內擁有這個級別精細化資料的公司屈指可數。
- 資料的安全級別很高,我們做了很多脫敏工作,做了各種資料保護與隔離,保證使用者隱私和資料安全。
- 地址資訊的多種表達方式、各種變形,需要較強的NLU技術能力。
- 交付時長預估
- 通過騎手軌跡進行“入客-離客”識別,並進行大量資料清洗工作。
- 統計各個粒度的交付時長,通過樹形模型實現快速搜尋各個粒度的資料。
- 因為預估精度是樓宇和樓層,資料很稀疏,很難直接進行統計,需要通過各種資料平滑和迴歸預估,處理資料稀疏和平滑的問題。
- 下游業務應用
- 給排程和定價業務,提供樓宇+樓層維度的交付時長。從上圖可以看到,在不同樓宇,不同樓層交付時長的區分度還是很明顯的。
- 尤其是樓層與交付時長並不是線性相關,我們還具體調研過騎手決策行為,發現騎手會考慮等電梯的時間,低樓層騎手傾向於走樓梯,高樓層則坐電梯。
可以看到,真實世界中影響決策因素非常多,我們目前做的還不夠。比如交付時長也可以進一步細化,比如準確預估騎手上樓時間、下樓時間和等待時間,這樣其實能夠與商家取餐環節保持一致,之所以沒這麼做,主要還是資料缺失,比如騎手在商家其實有兩個操作資料(到店、取餐),這樣能支援我們做精細化預估的,但是在使用者環節只有(送達)一個操作。
舉這個例子,其實是想說明,資料的完備性對我們到底有多重要。資料方面的挑戰,線下業務與線上業務相比,要高出好幾個等級。
配送中最重要的資料之一:地圖
地圖對配送的重要性毋庸置疑(位置和導航都不準確,配送如何進行?),前面提到的5級地址庫只是其中一部分。配送地圖的目標可以概括為以下兩點:
- 正確的位置
- 實時部分:騎手實時位置。
- 靜態部分:使用者和商戶準確的地址和位置。
- 正確的導航
- 兩點之間正確的距離和路線。
- 突發情況的快速反應(封路、限行)。
如果橫向對比配送、快遞、打車等行業對地圖的要求,其實是一件很有意思的事情,這個對於配送地圖技術建設來說,是一件非常有幫助的事情。
即時配送 VS 物流快遞:即時配送對地圖的依賴程度明顯高於物流快遞
即時配送 VS 出行行業:地圖廠商在車載導航的優勢和積累,在即時配送場景較難發揮
從這兩方面對比可以看到,在即時配送業務中,騎行地圖的重要性非常之高,同時很多問題確實非常具有行業特色,通過駕車地圖的技術無法很有效的解決。這樣就需要建設一套即時配送業務地圖的解決方案。
基於簽到資料的位置校正:交付點
如前文所述,配送地圖的方向有很多,這次我重點講一下使用者位置相關的工作“交付點挖掘”。首先看一下目前主要問題:使用者位置資訊有很多錯誤,比如:
使用者選擇錯誤
上圖左,一個小區會有1期2期~N期等,使用者在選擇POI的時候就可能發生錯誤(比如1期的選了2期),兩者地理位置相差非常遠,很容易造成騎手去了錯誤的地方。這樣在訂單傳送到配送系統的時候,我們需要做一次使用者座標糾正,引導騎手到達正確的位置。
POI資料不精細
上圖右,使用者本來在xx區xx棟,但是隻選了xx區這個比較粗的位置資訊。現實中在一個小區裡面,找到一個具體xx棟樓還是非常困難的,大家可以想想自己小區中,隨便說一個樓號你知道它在哪個角落嗎,更別說如果是大晚上在一個你不熟悉的小區了。造成這種原因,一方面可能是使用者選擇不精細,還有一種可能,就是地圖上沒有具體樓棟的POI資訊。
在實際配送中,我們都會要求騎手在完成交付後進行簽到,這樣就會積累大量的上報資料,對於後續進行精細化挖掘非常有幫助。大家可以先看看我們收集的原始資料(上圖),雖然還是非常凌亂,但是已經能看到這其中蘊含著極高的價值,具體來說有三方面:
- 資料量大
- 每天幾千萬訂單,幾十億的軌跡資料。
- 可以充分覆蓋每一個小區/樓棟/單元門。
- 維度多樣
- 除了騎手簽到和軌跡資料,我們還有大量的使用者、商戶和地圖資料。
- 多種資料維度可以交叉驗證,有效避免資料的噪音,提高挖掘結果精度。
- 資料完備
- 在區域性(使用者和商戶)資料足夠稠密,置信度比較高。
交付點挖掘的技術實戰:挑戰
在資料探勘實際過程中,其實並沒有什麼“高大上”的必殺技,無法使用流行的End2End方法,基本上還是需要對各個環節進行拆解,紮紮實實的做好各種基礎工作,基本整個挖掘過程,分為以下幾個步驟:(1)基於地址分組;(2)資料去噪;(3)資料聚合;(4)置信度打分。其中主要技術挑戰,主要在各種場景中保證資料探勘質量和覆蓋率,具體來說主要有三個挑戰:
- 資料去噪
- 資料噪音來源比較多樣,包括GPS的漂移、騎手誤操作、違規操作等各種。一方面是針對噪音原因進行特殊處理(比如一些作弊行為),另一方面要充分發揮資料密度和資料量的優勢,在保證儘量去除Outlier後,依然保持可觀的資料量。能夠同時使用其他維度的資料進行驗證,也是非常重要的,甚至可以說資料多樣性和正交性,決定了我們能做事情的上限。
- 資料聚合
- 不同區域的樓宇密度完全不一樣,具有極強的Local屬性,使用常規聚類方法,比較難做到引數統一,需要找到一種不過分依賴樣本集合大小,以及對去噪不敏感的聚類演算法。
- 重名問題
- 這個屬於POI融合的一個子問題,判斷兩個POI資訊是否應該合併。這個在使用者地址中比較常見,使用者提供的地址資訊一樣,但實際是兩個地方。這種情況下,我們的處理原則是一方面要求糾正後座標更符合騎手簽到情況,另一方面新座標的簽到資料要足夠稠密。
交付點挖掘的技術實戰:效果
目前,我們已經上線了一版交付點,對使用者位置進行主動糾正,讓騎手可以更準確更快的找到使用者。目前效果上看還是非常明顯的。包括幾個方面:
- 騎手交付距離明顯降低
- 從上圖左側部分看到,在上線前(綠色)交付距離>100M的佔比很高(這個距離會導致實際位置差幾棟樓,甚至不同小區),也就是使用者自己選著的位置錯誤率比較高,導致騎手交付難度較高,對效率影響比較大。上線後(紅色),交付距離明顯縮短(均值左移),同時>100M的長尾比例明顯下降。
- 單元門級別的高精度位置
- 上圖右側部分看到,我們挖掘的交付點基本上能與樓宇的單元門對應。而且沒有明顯偏差比較大的部分。這個質量基本達到我們之前設定目標,也證明配送大資料的巨大潛力。
- 目前的問題以及後續的優化點
- 如何提升其作為POI挖掘和發現手段的準確率?這裡面有很多優化點,比如去重(交付點-位置資訊的一一對映),POI資訊補全和更新。
- 如何擴大資料渠道並做到資訊整合?目前主要渠道還是騎手簽到和軌跡資料,這個明顯有更大的想象空間,畢竟每天在全國大街小巷,有幾十萬騎手在進行配送,除了前面(以及後面)提到的通過手機被動採集的資料,讓騎手主動採集資料,也是不錯的建設思路。只不過想要做好的話,需要建立一個相對閉環資料系統,包括上報、採集、清洗、加工、監控等等。
更精細化的配送場景識別:感知
前面提到的地圖技術,只能解決在室外場景的位置和導航問題。但配送在商家側(到店、取餐)和使用者側(到客、交付)兩個場景中,其實是發生在室內環境。在室內的騎手位置是在哪裡、在做什麼以及使用者和商家在做什麼,如果瞭解這些,就能解決很多實際問題。比如:
這個技術方向可以統稱為“情景感知”,目標就是還原配送場景中(主要是室內以及GPS不準確),真實配送過程發生了什麼,具體方向如下圖所示:
情景感知的目標就是做到場景的精細刻畫(上圖的上半部分),包含兩個方面工作:
- 配送節點的精確刻畫
- 在ETA預估中已經展示過一些,不過之前主要還是基於騎手上報資料,這顯然無法做到很高精確,必須引入更客觀的資料進行描述。目前,我們選擇的是WIFI和藍芽的地理圍欄技術作為主要輔助。
- 配送過程的精確刻畫
- 騎手在配送過程中經常會切換方式,比如可能某個小區不讓騎電動車,那騎手必須步行,再比如騎手在商家發生長時間駐留,那應該是發生了等餐的情況(使用者側同理)。目前,我們選擇使用基於感測器的運動狀態識別作為主要輔助。
這些資料,大部分來至於手機,但是隨著各種智慧硬體的普及,比如藍芽裝置,智慧電動車、智慧頭盔等裝置的普及,我們可以收集到更多資料的資料。WiFi/藍芽技術,以及運動狀態識別的技術比較成熟,這裡主要說一下概況,本文不做深入的探討。
對於配送系統來說,比較大的挑戰還是對識別精度的要求以及成本之間的平衡。我們對精度要求很高,畢竟這些識別直接影響定價、排程、判責系統,這種底層資料,精度不高帶來的問題很大。
考慮成本限制,我們需要的是相對廉價和通用的解決方案,那種基於大量感測器硬體部屬的技術,明顯不適用我們幾百萬商家,幾千萬樓宇這種量級的要求。為此,在具體技術方面,我們選用的是WiFi指紋、藍芽識別、運動狀態識別等通用技術方案,就單個技術而言,其實學術界已經研究很充分了,而且也有很多應用(比如各種智慧手環等裝置)。對於我們的挑戰在於要做好多種感測器資料的融合(還包括其他資料),以確保做到高識別精度。當然為了解決“Ground Truth”問題,部署一些穩定&高精度的智慧硬體還是必須的,這對技術迭代優化和評估都非常有幫助。
總結
美團外賣日訂單量超過2400萬單,已經佔有了相對領先的市場份額。美團配送也構建了全球領先的即時配送網路,以及行業領先的美團智慧配送系統,智慧排程系統每小時路徑計算可達29億次。如何讓配送網路執行效率更高,使用者體驗更好,是一項非常困難的挑戰,我們需要解決大量複雜的機器學習和運籌優化等問題,包括ETA預測,智慧排程、地圖優化、動態定價、情景感知、智慧運營等多個領域。過去三年來,美團配送AI團隊研發效果顯著,配送時長從一小時陸續縮短到30分鐘,並且還在不斷提升,我們也希望通過AI技術,幫大家吃得更好,生活更好。
招聘資訊
目前,即時配送業務正處於快速發展期,新的場景、新的技術問題不斷湧現,團隊正在迅速擴大中,急需機器學習資深專家、運籌優化技術專家、LBS演算法工程師、NLP演算法工程師,我們期待你的加入。掃碼可檢視職位詳情,或者傳送簡歷至 [email protected]