聽得見的代碼?滴滴程序員這次玩得有點高級
聽得見的代碼
普通人很難看懂代碼,卻有機會聽懂代碼。
在微信小程序“代碼變音樂”里,選擇滴滴的“口罩檢測”、“智能派單”等功能,點下“生成音樂”按鈕,它們背后密密麻麻、艱澀難懂的代碼,在“轉換機”里流轉,經由映射,便被轉為風格各異的音樂。
“智能派單”對應的音樂歡快激昂,“失物找回”映射而成的音樂悅耳悠揚,“疲勞提醒”代碼轉成的音樂則大氣舒暢……
這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 這個特殊的節日,程序員們用代碼,把幕后的代碼再轉換成臺前的音頻,這是屬于他們的理性浪漫。