圖/琪琪
文/檸檬
打開Google地圖準備出發,路線圖上某段路已經標成紅色,但車子還沒開過去,路口看起來也一切正常。這分判斷究竟根據什麼資料做出來的?答案絕對出乎意料,原來是大量正在使用地圖服務的使用者本身。
群眾外包 移動回傳
導航App最核心的數據來源叫做「群眾外包」(Crowdsourcing)。開啟Google地圖或其他導航地圖並允許定位後,App會在背景中持續回傳匿名的GPS位置與移動速度資料到伺服器。伺服器把成千上萬筆回傳的速度資料彙整起來判讀,某條道路的實際行駛速度,若明顯低於該路段的歷史平均,系統便判定這段路出現壅塞,地圖上那條線隨即從綠色變成紅色;路上的裝置愈多,判斷愈精準。
除了被動的速度回傳,某些導航App也允許駕駛主動回報前方的車禍、路障、測速照相機,群眾的眼睛因此比任何攝影機都多。
即時速度 訊息傳遞
不過,即時速度只能告訴系統現在發生了什麼,預測尚未抵達路段的狀況,則是另一套機制在處理。Google和DeepMind合作,把整個路網切割成一個個「超路段」,由多條相鄰且共享大量車流的路段組成,再用「圖神經網路」(Graph Neural Network,GNN)預測每段超路段的行駛時間。
路網在這套系統裡被轉換成一張數學意義上的圖,每個路口是節點,每條路是邊。GNN的核心運算叫做「訊息傳遞」:每個節點把自己當下的壅塞程度編碼成一組數值,傳給相鄰節點,相鄰節點收到後更新自己的狀態,再繼續往外傳。幾輪迭代下來,系統對整段路網的交通狀態就有了一個全局的數值估算。神經網路從歷史資料中學會了哪些數值組合對應哪種擴散模式,再搭配週期性規律,例如台北內湖科學園區在周一早上八時經常壅塞,颱風假後第一個上班日橋梁入口通常大排長龍,最終算出每段路的預估行駛時間。
除了用路人的即時數據與歷史模型,政府的開放資料也是重要的一環。台灣的交通部、高速公路局等單位定期公開車輛偵測器的數據、eTag感應點的過站速度,以及施工排程與大型活動的交通管制資訊。在用戶較少的偏遠路段,這些路側設備往往是唯一可靠的數據來源。
當我們每次在路上行駛時,前方某個路口,有幾百筆速度資料正透過行動網路回傳到雲端伺服器,圖神經網路完成運算,同時有3條線索:即時的群眾回報、神經網路的預測模型、政府的開放資料,這些在幾秒內彙整成一個判斷,後端處理著TB級的資料量。地圖上的顏色安靜地更新,路線悄悄調整。坐在車裡的我們什麼感覺都沒有,但能順利避開塞車,多虧有這套每天服務數十億次查詢的系統正常運作。