透過 GCP分析交通資料,打造機器學習應用

google-traffic-gps 作者:李振皓(現就讀於台大電機所) 機器學習是這幾年來熱門的技術,Google也不斷的將其應用於產品上,改善使用體驗,比如 Gmail中的智慧回覆功能,Youtube的影片推薦,或是地圖上的交通路況預估,都讓生活更為便利。但你知道這些服務背後都是怎麼運作的嗎?這回我們將透過交通資料的分析案例,來替各位解構背後的 GCP應用方式,告訴各位如何應用 GCP處理資料,並透過機器學習分析數據。

Google 不僅開源TensorFlow,今年更是推出機器學習平台

看準機器學習的趨勢,Google 除了提升產品功能外,也積極的擴展新的雲端服務,像是最近發表的 Job API,就透過自然語言處理,機器學習等技術,協助使用者用更精準的方式尋找工作。除此之外,Google 對於機器學習的基礎建設也有十足貢獻,去年將機器學習系統 TensorFlow開源,讓廣大的開發者都能輕易的進行深度學習計算。而今年雲端平台 NEXT大會(GCP NEXT 2016)發布了機器學習平台(Cloud Machine Learning),提供開發者或企業用戶建置並訓練自己的機器模型,以往要耗費許多時間完成的計算,現在透過 GCP強大的計算能力,可以在短時間內獲得結果。而且訓練模型還可以串接 GCP平台上的 Cloud Translate與 Cloud Vision等 API,意味著開發者可以更專注於核心系統的開發,節省更多時間。

掌握交通巨量資料,透過機器學習改善塞車問題

各位使用 Google Map的時候有沒有發現即時路況功能呢?或是你在使用路徑規劃功能的時候,有沒有注意到 Google可以精確地幫你計算預計旅行時間,會不會好奇這些資料從哪來,又是怎麼樣計算的呢?早期 Google跟政府合作,取得道路上的感應器資訊進行估算,不過感應器的涵蓋範圍與數量畢竟有限,於是後來採用 Crowd sourcing 的方式來收集資料,靠的就是你我手上拿著的 Android手機!當你同意分享 GPS地理位置資訊的當下,就已經是即時路況的貢獻者了。
google-traffic-gps
Google 即時路況。圖/ 維基百科
這些收集到的資訊,經過處理,可以用來估算旅行時間,也能協助改善塞車狀況。荷蘭國家科技研究院 TNO在去年就與 Google合作,透過手機移動資訊,彌補道路感應器的不足,希望解決在塞車問題上每年約 290億台幣的資源浪費,並發展新的應用,讓交通狀況得以改善。在台灣,我們也看見高速公路局利用電子收費 ETC的行車數據舉辦資料應用競賽,希望結合民眾力量,挖掘資料中隱藏的脈絡,開發實用的服務。 其實全球各大都市都有塞車的問題,為了減緩塞車狀況大家做法不同,像倫敦,紐約會收取塞車費,而日本則是提供塞車預報,讓民眾參考,避免前往塞車路段。但其實透過機器學習的方式,能更準確預估發生的時間與地點,結合配套措施,將能有效地改善問題,就讓我們來看看 Datatonic英國團隊與台灣的警官是怎麼利用 GCP結合機器學習來分析數據吧!

Datatonic 透過GCP 分析倫敦交通

Datatonic英國團隊日前參加倫敦交通局舉辦的一場黑客松競賽,使用遍佈在城市內的感測器資料,進行資料視覺化,並分析交通流量狀況,嘗試解決倫敦容易塞車的問題。下圖是視覺化的流量地圖,當車子經過感測器,原本藍色的點將會變為白色。點此觀看 Demo影片。
Datatonic
倫敦交通流量視覺化。圖/Datatonic
面對不斷湧入的交通數據,以及感測器收集到約 5TB的大量資料,團隊選擇使用 Google Dataflow進行資料處理,因為可以快速地切換 Batch 與 Streaming的資料,且 Dataflow包含 Apache Beam SDK,具有很高的擴展性,未來能輕易的串接其他分散式系統,最後導入機器學習工具 TensorFlow 進行路況預測。下圖是GCP 雲端服務的使用架構。
datatonic-apache-beam
圖/Datatonic

台灣高速公路交通資料分析

說到交通資料的分析,早在民國 84年,台灣交通部就建立一套國道交通資訊系統,當時是在國光客運上裝設GPS,透過回傳的數據位置,計算各個路段的車速。不過由於客運數量有限,無法提供精確的數據,有時候會有資訊不足的困境。於是後來增設了定點的車流感測器,加上現在多了 ETC上的感測器協助計算車流量,使得台灣國道不僅是全世界第一個全面採用電子收費的高速公路,也是埋設感測器最密集的道路呀!關於高速公路的即時路況,可以到高公局即時路況網站查詢。
taiwan-traffic
高速公路即時路況。圖/高公局即時路況網
這些資料除了視覺化外,最重要的就是預估車流以及旅行時間,今年 PyCon講者柯警官分享了如何運用 GCP進行交通資料的分析,使用台灣的高速公路開放資料做流量預測。在系統建置上,透過 Google App Engine 撰寫資料爬蟲程式,蒐集車流數據,接著將資料存入Google Cloud StorageBigQuery,最後使用 DataLab進行資料分析,流程如下:
traffic-big-data
國道五號車流預測案,GCP服務架構。圖/PyCon簡報,感謝柯警官授權使用
Datalab 提供視覺化的方式,使用 Ipython工具,可以直接在線上分析數據,例如下圖是將車流資料使用機器學習 PCA降維方法轉換後的視覺化結果。當然也可以將資料匯入Data Studio,製作精美的報表。
ipython-pca-datalab
使用 PCA進行視覺化。圖/PyCon簡報,感謝柯警官授權使用
從荷蘭,英國與台灣這幾個案例來看,我們可以確信數據分析至關重要,該怎麼利用感測器與群眾收集回來的資訊,做有效的分析,不僅改善交通狀況,更能省去不必要的資源浪費。同時,Google 在日前宣布招募兩位史丹佛人工智慧實驗室的專家,加入雲端計算部門,強化機器學習與人工智慧的發展,更說明了未來的世界,將會是機器做決策的天下,巨量資料搭配機器學習與人工智慧,整合各種雲端API,將會激發出更多的火花。所以,還不趕快登入GCP,試用最新的雲端服務嗎?免費試用兩個月唷!

連絡我們