1. 程式人生 > >機器學習在滴滴網路定位中的探索和實踐

機器學習在滴滴網路定位中的探索和實踐

![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173939491-107278190.png) ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173939788-1649399986.png) **​桔妹導讀:**定位是所有LBS服務的基礎服務。在滴滴的業務場景下,定位主要是指各類終端裝置的位置,包括手機、單車、行車記錄儀、車機端等。作為底層服務,在滴滴日均提供700億次定位服務,支撐著平臺的各類業務。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173940031-1093355003.jpg) 今天給大家分享的是機器學習在滴滴網路定位中的實踐工作,會重點介紹三階段的演進:無監督模型、有監督迴歸模型、端到端CNN模型。 #1. 什麼是網路定位 目前定位技術主要包括GPS、網路定位、慣性航位推算、MM(地圖匹配)、視覺定位等。GPS是最為人熟知的定位技術,是依靠裝置與衛星互動來獲取經緯度的方式。GPS精度高,但有冷啟動耗時長、耗電大、遮擋場景不可用等缺點。在滴滴場景下,乘客和司機在有遮擋的場景下,例如室內、高架下等,GPS通常處於不可用狀態。這時就需要有其他定位技術作為GPS的補充,使得乘客發單、司機導航等服務依然可用。其中最主要的補充便是網路定位。 室內類場景雖然有遮擋,但裝置通常可以掃描到Cell(基站)和Wifi列表,而且Cell和Wifi裝置位置相對穩定,連線其上的裝置可以借其定位,這就產生了網路定位。網路定位包括wifi定位和基站定位,是指基於終端掃描到的wifi或基站列表進行的定位技術。Wifi的接入裝置通常稱為AP(Acess Point),方便起見,下文將AP和基站統稱為AP。 網路定位通常採用的是指紋定位技術,是一個根據query匹配指紋庫資訊,並計算得到座標位置的過程。如下圖所示,網路定位系統主要包括離線建庫和線上定位兩個階段。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173940335-2093140464.png) 離線建庫主要是基於有GPS時的採集資料,建指紋庫的過程。指紋庫中記錄AP的各類資訊在不同地理網格內的採集資料分佈,如下圖所示。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173940673-989652042.png) 線上階段,根據線上query匹配指紋庫資訊,並計算得到座標位置。 本文介紹的主要是線上定位部分,即query匹配指紋庫、計算座標位置。 #2. 網路定位匹配演算法迭代 線上定位演算法共經歷了無監督概率模型、有監督迴歸模型、端到端CNN模型三次大的迭代。前兩個階段的網路定位主要包括網格召回、網格排序、網格平滑三步,如下圖圖一所示。端到端CNN模型去除了網格排序和網格平滑,基於一個召回中心點,直接回歸位置座標,如下圖圖二所示。 ![圖一](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173940972-1416612860.png) ![圖二](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173941302-892227187.png) ##▍2.1 無監督概率模型 網路定位要完成線上AP與離線AP指紋庫的匹配,是聯合概率計算的過程。以AP指紋庫的訊號強度分佈為例,看下網格概率計算過程。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173941995-2129941984.png) 縱軸為採集資料中的AP編號,橫軸為空間網格編碼,相交點表示每個AP在對應網格中的採集訊號強度分佈。空值表示AP在對應的位置無採集資料。 以一個實時定位query資訊:(AP1:RSSI=1,AP3:RSSI=0)為例,介紹網格召回、排序、平滑的過程。 召回階段,基於掃描到的AP1和AP3,可以召回Grid1、Grid2、Grid4; 排序階段,結合離線AP庫,基於獨立性假設和貝葉斯公式,計算各網格的權重: ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173942306-1542483708.png) ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173942522-1268980113.png)表示觀測到的APj的資訊。以訊號強度RSSI單一特徵為例,上例中, ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173942931-427883759.png) 網格平滑階段,基於上述的統計概率,排序獲取TopK個網格,採用爬山法求解最優座標: ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173943145-1959108933.png) 其中,![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173943352-805466633.png) 為預測位置到![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173943517-392190697.png)的距離。 ##▍2.2 有監督迴歸模型 無監督概率模型的方法,思路清晰易懂,易實現,是早期網路定位的主要方式。但有以下問題: * 聯合概率的方式對採集資訊不充分的位置不友好,例如上例![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173943646-1904420144.jpg) * 難以擬合多維特徵,尾部badcase較嚴重 * 技術目標無法得到直接優化,天花板較低 出於對以上問題的思考,整體流程仍保持網格召回、排序、平滑三階段,我們將網格排序升級為有監督迴歸模型,通過引入多元特徵和顯式的優化目標,實現對網格的更精準打分。 Label:待預測網格與真實位置的位置偏差,迴歸任務。 特徵工程:構建近百維特徵,主要包含AP特徵,網格特徵,前文資訊等。 模型選擇:一期上線GBDT模型;二期對比了GBDT、FM、DeepFM、FM+GBDT等,最終線上最優融合模型結構如下。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173943866-209849631.png) 原始特徵中的稠密特徵和低維稀疏特徵經過GBDT進行特徵組合、交叉;GBDT輸出的葉子節點編號與高維稀疏特徵經過DeepFM網路,最終輸出網格與真值的位置偏差。 TopK網格平滑:預測偏差距離從小到大排序,擷取TopK網格;爬山法,梯度下降求解最優座標。 ##▍2.3 端到端CNN模型 有監督模型在特徵利用、模型結構、優化目標等方面提供了更大的操作空間,可以極大地開啟天花板。上線後定位精度等指標取得了顯著的收益。 但該方法仍有以下問題: * 每個網格孤立刻畫,資訊採集時的不均衡、有偏的問題無法有效解決 * TopK平滑層與排序層割裂,無法聯合優化,且引入部分人工超參 對於以上問題,考慮以下解決方案: * CNN網路:充分利用空間資訊的區域性相關性,增強特徵的提取能力 * 端到端網路:合併排序與平滑層,改為直接回歸位置座標,目標更統一,減少人工超參 最終,整體網路結構如下: ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173944193-142741436.png) 下面以基站定位為例,介紹該結構的實現細節。 首先介紹下輸入特徵的構建: * Wide網路特徵:表達Query資訊的Wide特徵共十幾維 * CNN特徵圖的構建: * 召回中心:採集熱度較高的TopN網格的經緯度中位數作為圖的中心點。 * 特徵圖構建:選取C維圖特徵,每一維特徵為一個channel;基於召回中心,構建M*M解析度的特徵圖。 ![CNN特徵類別](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173944432-89133594.png) ![網格上各個channel的特徵計算](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173944727-1714912957.png) ![輸入特徵圖的示例](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173945033-45693957.png) 網路結構:在CNN網路部分,採用多尺度卷積核提取特徵後,經過兩個卷積+池化層後,將特徵圖打平。Wide部分稀疏特徵經過embedding後,與稠密特徵級聯。兩部分tensor級聯後經過全連線層,最終輸出與召回中心點的位置偏差。 Label與Loss:label為真實位置與召回中心位置的偏移dx和dy,召回中心點+預測偏移即得預測位置。loss最初使用的是經緯度的L2 loss: ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173945299-1372448457.png) 考慮到經緯度在球面上表達距離的差異,我們改為了使用球面距離偏差作為label,也獲得了穩定的收益: ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173945489-1056977186.png),dx和dy表示真實空間距離 CNN模型在線上AB實驗取得了顯著的收益,已全量上線。CNN端到端模型升級了資訊的表達方式,由單網格、結構化的資訊表達改為了Image的表達方式,配合cnn網路結構,獲取了效果的顯著提升;並且將幾十甚至幾百個網格的預測問題改為了單次位置迴歸問題,雖然模型複雜度有所增加,但整體效能基本持平。 ##▍2.4 線上效果 網路定位三階段的模型先後上線進行了AB對比實驗。以基站定位三個主要技術指標為例,對比結果如下表所示: ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173945725-498856414.png) #3. 總結與展望  本文總結了定位策略團隊在網路定位演算法側的工作,介紹了無監督概率模型、有監督迴歸模型、端到端CNN的演進及其中的思考。 無GPS時的定位仍面臨著很多困難,未來我們將在以下方面持續探索: * 模型效果優化: 目前CNN模型在基礎資訊利用、召回等方面仍有較大優化空間。 * 效能問題: 考慮線上效能,在基礎資訊和網路結構上做了很多刪減。期望通過更優的召回策略、蒸餾剪枝等平衡效果與效能。 * 5G技術: 5G的天然優勢(高頻率、高密度、低延時)也必定會帶來定位精度的顯著提升,相關調研工作正在進行。 * 複雜場景定位: 對於室內、地下停車場等典型複雜場景,網路定位面臨著真值獲取難、移動ap等難點。細分場景也逐漸向模型化方向演進。 以上就是滴滴網路定位近期工作的實踐介紹,歡迎隨時交流。 ###本文作者 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173946079-1604874804.png) 2017年加入滴滴,目前從事地圖定位演算法方向,多年LBS領域演算法研究工作,在滴滴先後從事猜你想去、上下車點推薦、定位演算法等方向的開發工作。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173946314-134352417.png) 2018年加入滴滴,主要從事網路定位、慣導推算等方向的演算法開發工作。 ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173946538-22413822.png) 201#8年加入滴滴,主要從事網路定位、融合定位等方向的演算法開發工作。 ##團隊招聘 滴滴地圖與公交事業群定位團隊負責為滴滴平臺上的司乘雙方提供精準的定位服務,構建出行基礎設施,發揮平臺的大資料優勢,應用概率統計、機器學習、深度學習等技術,在GPS質量優化、網路定位、慣導推算、融合定位等細分方向上持續深耕,以技術驅動使用者體驗的提升。團隊長期招聘演算法工程師,包括機器學習、慣導推算等方向,歡迎有興趣的小夥伴加入,可投遞簡歷至 [email protected],郵件請郵件主題請命名為「姓名-應聘部門-應聘方向」。![掃描了解更多](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173946712-1421836316.png) ###延伸閱讀 [![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173946956-17147341.png)](http://mp.weixin.qq.com/s?__biz=MzU1ODEzNjI2NA==&mid=2247504261&idx=1&sn=3fba8726efd1f7df5c71f82fb0297ef8&chksm=fc29bf22cb5e3634b536b4c935b9e717b7705cb0784b9c228d6e8ed3e370df8a5600c445b449&scene=21#wechat_redirect) [![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173947467-681941111.png)](http://mp.weixin.qq.com/s?__biz=MzU1ODEzNjI2NA==&mid=2247502881&idx=1&sn=fb1388bc3f67e3b1b8c8befbf4f350cf&chksm=fc29a286cb5e2b90a2426407707d14b64155c54218fedc844748d0ababebbe7a6bc44e9f7968&scene=21#wechat_redirect) [![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173947817-1120230494.png)](http://mp.weixin.qq.com/s?__biz=MzU1ODEzNjI2NA==&mid=2247501570&idx=1&sn=8ee5f8d6d56e2bca01354c3d2d78cb9e&chksm=fc29a9a5cb5e20b3e85ea6d1e3904ca2cbf708e4ca8a50d993693f7db14f1e060de9546a93cb&scene=21#wechat_redirect) 內容編輯 | Charlotte&Teeo 聯絡我們 | [email protected] ![](https://img2020.cnblogs.com/other/1632886/202009/1632886-20200918173948158-523971794.png) 滴滴技