聽得見的代碼
普通人很難看懂代碼,卻有機會聽懂代碼。
在微信小程序“代碼變音樂”裏,選擇滴滴的“口罩檢測”、“智能派單”等功能,點下“生成音樂”按鈕,它們背後密密麻麻、艱澀難懂的代碼,在“轉換機”裏流轉,經由映射,便被轉為風格各異的音樂。
“智能派單”對應的音樂歡快激昂,“失物找回”映射而成的音樂悦耳悠揚,“疲勞提醒”代碼轉成的音樂則大氣舒暢……
這5段台前可感知的音樂,是由滴滴的5個常用功能映射而來。在1024程序員節這個特殊的節日,滴滴的幾個程序員們組成了一個興趣小組,在兩三天的業餘時間內將滴滴App背後的代碼變成了音樂,並製作成小程序,讓程序員敲出的代碼變成了公眾能感知到的語言。
在這個小程序裏,用户還可以自行新建代碼或者選擇隨機一段代碼,一鍵將其映射為音樂。普通人不識代碼,卻也能借由代碼之手,創造音樂——這是來自程序員們的浪漫。
服務是技術捧出的浪漫如果你經常用打車軟件,可能會發現每個平台的派單速度、遠近、效率都不一樣。
事實上,派單系統是各大平台的核心技術之一。乘客發單後,應該派給周邊的哪個司機?哪個司機接單速度最快?最佳行駛路徑是哪條?怎麼能讓總行駛時間最短?
這並不是靜態的問題——車輛永遠在不停地移動,可能幾秒後這個司機就通過一個路口,或行駛到了高速路。不僅如此,每一次派單的決策也將影響未來的司機分佈。這需要預測未來情況,並且快速地對司機和乘客進行動態、實時匹配。
智能派單正是滴滴的核心技術之一。這項技術在程序員手中,經歷了層層迭代。
早期,平台派單算法的目標急迫而樸素,就是在確保用户體驗的基礎上,同時讓2秒鐘之內更多乘客被應答。
到了2016年,算法優化的目標變得更加長遠——比如能不能在更長時間內優化提升效率?比如在1小時或者1天?本質上,派單是序列決策問題,系統做出的每一個決策都能影響未來司機的分佈。舉例來説,一個司機接一個乘客可以認為是一個動作,動作帶來的結果是,這個司機過了一段時間到了乘客目的地,這個動作導致狀態發生變化,這也是類似AlphaGo的強化學習問題。
2017年滴滴開發了一套基於強化學習的智能派單匹配系統,把目標從2秒鐘最優改成了1天最優,2017年上線時就在確保乘客接駕體驗的基礎上,進一步提升了全局成交率和司機的收入。
但此時滴滴還只能模擬簡單的時間、空間信息,不能模擬更加動態的複雜信息,比如天氣,一個區域如果下雨,會對派單會產生很大的影響,就需要把這些信息都包括進來。 2018年,滴滴進一步開發一套基於深度強化學習的方法V-Net,能儘可能多地把潛在有價值的信息包含起來,建立深度學習模型,能進一步優化用户體驗。2019年10月,滴滴基於強化學習的網約車派單解決方案獲得了2019年度INFORMS Daniel H. Wagner Prize,這是這個獎項22年以來第一次頒給中國公司。
從全局視角出發,由算法綜合考慮接駕距離、口碑值、擁堵情況、安全等因素,自動將訂單匹配給最合適的司機接單,讓乘客接駕時長最短,讓司機有更好的收入,滴滴通過將數學、機器學習及仿真問題進行了創新性結合,非常新穎地應對了一個運籌學難題,wagner獎的評審委員會發表瞭如此評價。
如果説“智能派單”是平台運營的硬性 的基礎,那“行程分享”和“疲勞駕駛提醒”等功能,就是滴滴在窮盡科技手段,降低安全事件的發生概率,是軟性的關懷。
自2016年6月起,滴滴率先推出行程分享功能,乘客上車後可將乘車信息一鍵發送給好友,好友可通過鏈接直接查看乘客的實時位置,確保乘車安全。2019年滴滴平台已有2.3用户添加了“緊急聯繫人”,用户進行了10.3億次“行程分享”。
疲勞駕駛是城市交通嚴重事故的主要原因之一。自2019年7月開始,滴滴利用深度學習和模型壓縮技術,在車載智能硬件(桔視)中搭建了疲勞駕駛預警系統,能自動處理與分析圖像,檢測司機在不同時間間隔內眼睛睜閉、打哈欠的頻率、頻次、持續時長等,通過語音提醒、強制下線等功能防止疲勞駕駛。截至目前,該疲勞駕駛預警系統已經經過了九次迭代。
此外,滴滴還在全國300多個城市陸續上線“遺失物品送回”功能。這些功能背後,貫穿着滴滴的技術史上多次技術躍遷——基於大數據和AI技術,提升用户接駕效率,並做安全和平台治理的關懷。
當生活朝着平穩的軌道前進,技術帶來的改變潛移默化,潤物無聲。到了疫情這樣的社會安全重要關頭,技術卻能發揮關鍵擔當。
新冠肺炎疫情洶湧,1 月 20 日,官方確認新冠肺炎可人傳人,滴滴1月22日便緊急組織十多人投入技術開發,最終只用了23小時,就上線了智能識別司機師傅是否規範佩戴口罩的功能。算法克服了人臉姿態變化、光照造成的圖像差異、駕駛員帽子等對臉部的部分遮擋等問題,識別準確率超過98%。
在1024 這個特殊的節日,程序員們用代碼,把幕後的代碼再轉換成台前的音頻,這是屬於他們的理性浪漫。