1. 程式人生 > >騰訊雲高階研究員張雨春:騰訊雲城市計算助力行業數字化升級

騰訊雲高階研究員張雨春:騰訊雲城市計算助力行業數字化升級

10月28日FMI 2018人工智慧與大資料高峰論壇深圳場圓滿落幕,騰訊雲高階研究員張雨春從騰訊雲城市計算助力行業數字化升級方向進行了精彩的分享。

 

騰訊雲高階研究員張雨春

 

以下是張雨春演講內容,飛馬網根據現場速記進行了不改變原意的編輯(有刪減):

 

張雨春:大家好!很高興作為最後一位演講嘉賓參加這次峰會。今天我給大家帶來的分享是《騰訊雲城市計算助力行業數字化升級》,城市計算的概念最近幾年炒得很熱,BAT三家先後提出了AI城市、智慧城市、城市大腦等解決方案。今年7月份,深圳市政府提出了建設新型智慧城市的總體方案,整個戰略部署的規模非常巨集大。其實不管是IT企業還是政府,建設智慧城市的目標都是一致的,就是想通過技術的方法來使城市的運轉更高效,使人民的生活更加便捷、更加幸福。今天,我想聚焦到幾個點上,談談城市計算怎麼樣去幫助政府進行管理、幫助企業實現資訊化轉型。

 

首先解釋兩個概念的區別與聯絡:一是智慧城市,二是城市計算。簡而言之,智慧城市是產品,是解決方案,而城市計算是支撐智慧城市的技術手段。產品層面,騰訊雲提出:我們要運用雲端計算、大資料、網際網路和物聯網等技術手段感測、分析、整合城市執行核心系統的各項關鍵資訊,從而對包括民生、環保、公共安全、城市服務、工商業活動在內的各種需求做出智慧響應。技術層面,城市計算是一門以計算機、大資料為基礎的交叉學科,以無處不在的感知技術以及海量的位置大資料為橋樑,融合網際網路、交通、環境、工業、零售等多源資料,對資料進行高效的資料收集、儲存、管理與分析。

 

我今天的演講分為兩部分,第一部分從產品的角度講;第二部分更聚焦於技術的層面。

 

01

 

城市計算+智慧城市

 

位置資料最直觀的產品形式是實時人群熱力圖,不同的顏色代表不同的人流密度,紅色最高,其次是橙色,然後是綠色、藍色。

 

 

熱力圖有什麼用?2014年跨年夜,上海外灘發生了嚴重的踩踏事件,造成36人死亡。 通過熱力圖,我們可以實時監控重點地區的人群聚集情況和人流變化趨勢,進行安全預警和人流管制,同時也可以及時檢測到公共突發事件,通知相應部門進行處理。這是城市人力圖能直接幫助到城市安全的例子。

 

另外一個智慧城市的例子是城市功能區的識別與規劃。傳統的分析方法是利用道路資訊進行城市區域的劃分,然後看網格內的興趣點(即地圖上標出的學校、餐館、醫院等資訊)的分佈, 根據不同型別興趣點的多少,將道路分割後得到的區塊標註為居住區、工作區、商業區等等。

 

這種做法的是有一定缺陷的:首先,有些城市道路分割之後得到的區塊是比較大的,深圳有很多城中村,佔地面積非常大,但是裡面是有不同的功能分塊的,用路網資訊做劃分就顯得十分粗糙。其次,設計功能和實際功能可能會有區別,比如深圳某棟大樓設計時的用途是寫字樓,但是後來被人承包下來,改造成公寓出租,實際用途就變為了居民區。最後,一些商住兩用的地方光靠興趣點資訊也很難推斷真實功能。

 

為了克服這些缺陷,我們提出一種基於人的活動屬性和人的畫像去判定地區功能的方法。人群活動我們可以用一些定量的特徵來衡量,例如人群在不同時段的密度、流動性、停留時長、聚集性等等,畫像資訊我們可以考慮人的年齡、性別分佈、教育程度等等。利用這兩類特徵,我們可以通過圖分割的方式更加精細的加工區塊,並對區塊的真實用途進行準確推斷。

 

02

 

城市計算+零售行業

 

很多傳統行業例如餐飲、零售,資訊化還處於非常初步的階段。這裡我們以零售行業為例,談談城市計算如何在行業生命週期的各個階段,幫助企業進行資訊化升級。

 

線下零售行業新開店鋪的生命週期大體上可以分為以下幾個部分:一是商圈分析與選址,二是選品與供貨,三是店鋪的數字化運營,四是營銷以及客戶關係管理。

這裡我重點講一講選址與營銷。

 

傳統的選址方案是通過線下人工調研的方式完成的。這種方式有以下幾個缺陷:(1)調查員的主觀因素影響大,因素不能量化,選址精確度差。(2)很多重要的因素難以獲取,例如工作行業、收入水平等 (3)完全人工操作工作量大,選址週期長 (4)基於打分表的評分模型僵化,不能因地制宜。

 

騰訊雲與TalkingData合作,推出了一種資料驅動的選址解決方案,在全維資訊對稱的條件下,進行量化決策。我們會綜合考慮地區的客流資訊,畫像資訊,周邊的商戶資訊、交通訊息等等眾多維度,進行區位深度洞察與優質點位的推薦。

 

 

利用位置資訊,我們還可以做更精準高效的營銷,企業主可根據自身使用場景需要,在城市內圈選指定區域,選擇多維度使用者畫像標籤,針對目標使用者定向投放廣告,更有效的挖掘潛在客戶。

 

03

 

城市計算+智慧交通

 

 

這是我們之前給深圳地鐵做的通勤分析。圖中展示的是深圳地鐵1號線,寶安羅湖方向上班時段的出發點地和到達地的分佈。這張圖反映了一個非常有意思的問題,可以看到,每天早上從固戍出發的人很多,但是1號線的區間車只開到西鄉。固戍的通勤需求很大,我們是不是可以對地鐵線路進行一定的調整呢?我們提出建議給城市管理者,讓城市管理者做相應的決策。

 

 

接下來是偏技術層面的分享。我們每天要處理百億級別的位置資料,對這些資料進行充分挖掘,並在此之上構建各類模型。在這個過程中,會存在什麼樣的挑戰點呢?

 

1、海量資料檢索的問題。

2、資料稀疏性的問題

3、資料融合的問題。

 

這三點之後會展開講,都是通過什麼方法解決的。

 

1、資料檢索的問題。

剛剛提到,我們每天處理的資料達到百億級別,而SaaS平臺,例如熱力圖的展示要求非常高的實時性。假設資料庫裡有幾百億個帶有經緯度的定位點,現在要在上海外灘圈一個電子圍欄,然後計算哪些點在這個圍欄的範圍內。如果直接遍歷的話,計算量非常大,顯然是不可取的。

 

在講具體應對方法前,我來舉個例子。 假如今天散會之後你要看看科興周邊有什麼好吃的,你會怎麼做?你會開啟手機地圖,選擇深圳南山區,再從南山區找到科興,再看科興周邊有什麼樣的好吃、好玩的地方。實際上,這種按照城市、地區、地標進行分級查詢,就是一個利用索引的過程。索引的應用範圍很廣了,學過資料庫的應該都知道。通常我們在資料庫裡建立索引針對的都是一維資料。那麼像空間位置這種二維資訊如何進行索引呢?

 

一種方案,是把經緯度資訊當成一個二維向量建索引。還有一個解決方案是把二維問題轉化為一維問題,然後再建立一維索引。那麼這種轉化要怎麼實現呢?

 

首先我要講的是比較基礎的演算法,GeoHash。簡單來說,GeoHash就是通過打網格的方式對地圖進行多級分割,然後對每一個區塊按照一定規則進行編號。圖中展示的是騰訊大廈附近7級和8級的Geohash網格。

 

 

可以發現所有的大網格(7級網格),除了最後一位不一樣,前面6位都是一樣的,因為這些區塊同屬於一個6級網格中。所有的網格是以一種叫Z形曲線的方式順序排列的,也就是圖中的紅線。Z形曲線是一種可以遍歷二維空間網格的一維曲線,具有分形特徵,也就是區域性和整體是自相似的。大家可以看到Z形曲線有一個特點,它在連線區域性和區域性的時候會發生比較大範圍的跳躍。

 

GeoHash這種編碼存在幾個明顯的問題:跳躍性、網格大小不一、選擇困境。跳躍性的問題剛剛說過了。網格大小不一是由於我們的地圖用的是墨卡託投影,把地球投影成一個長方形,這個投影是有變形的,赤道格子的實際大小比北極格子要大很多,這樣我們進行不同區塊面積比較時就會遇到麻煩。最後一個是選擇困難,GeoHash每一級的網格大小都是下一級的32倍,這樣就會導致有些場景下用8級太細而7級又太粗的情況。

 

谷歌前幾年提出一種叫Google S2的編碼方式,這個編碼方式的核心思想是用同是自相似的希爾伯特的曲線代替我們剛剛講到的Z曲線。Z曲線是以Z的形式把空間填滿,而希爾伯特曲線是以一種凹凸形狀的曲線把區域填滿。希爾伯特曲線解決了遍歷過程中跳躍不連續的問題,上一個點和下一個點的距離都非常近。希爾伯特曲線每一級的大小都是下一級的4倍,也解決了選擇困境的問題。

 

還剩下一個變形的問題。不同於墨卡託投影,S2將地球投影到正方體的六個面上,這樣每個面的變形就相對比較小,並且後續有相應的修正函式對對映時產生的變形進行修正。

 

2、資料稀疏性的問題。

資料稀疏性指的是,我們收集到的上報位置資料是稀疏的,零散的,這就對我們之後的各種商業應用帶來了很大的挑戰。通過長時間資料疊加的方式,一定程度可以緩解資料稀疏性的問題,但是簡單的資料疊加忽略了軌跡的週期性以及位置資料本身的複雜性。為了充分利用這些週期性與複雜性,我們需要用更高階的軌跡挖掘的方法來處理資料。

 

在介紹軌跡挖掘方法前,我們需要考慮一個問題,人的軌跡到底能不能預測?2010年發表在Science上的一篇文章通過對軌跡熵的分析,得出結論:可以預測,而且預測準確率的理論上限還比較高。

 

接下來,我嘗試用最樸素的語言跟大家說一下,軌跡挖掘演算法的發展歷史和現在比較流行的軌跡挖掘演算法都是怎麼做的。

 

比較早的研究是一些序列挖掘的演算法,我要挖掘兩個地方的序列關聯關係,例如從A到B的人數很多,從B到D人數很多,這跟啤酒尿布的想法很相似。

 

做關聯的前提是需要把連續的位置資料和連續的時間做離散化,離散化方法有很多,下面舉幾個例子

1、基於密度的分片:我們先設定一個密度下限,然後從單點開始擴充套件區域,直到區域平均密度低於剛剛設定的下限就停止擴充套件。

2、基於近似軌跡做網格融合:先把空間網格化,如果鄰近的兩個網格共享了一些相似的軌跡,就把這兩個網格進行融合。

3、基於道路的劃分:可以用二級、三級、四級道路來對城市進行不同等級的劃分,也可以結合之前給大家講的城市功能分割槽的方法,對道路劃分後的區塊再做更精細的處理。

4、基於密度峰值的方法:這個方法主要針對沒有路網的空間。這裡我們用了14年提出的一種基於密度峰值的非監督聚類方法,這個方法處理低維資料非常合適,在空間聚類上有很好的效果。

 

做資料探勘演算法有兩點很重要,一是怎麼聚類,二是聚類之後怎麼建模。講完了聚類方法,我們回到模型本身。

 

處理序列資料,一個很自然的想法是用馬爾科夫模型來建模。我們可以同時構造兩個馬爾科夫模型,一個用來提取個體的軌跡模式,一個用來提取群體的軌跡模式。最終的預測是通過疊加個體模式和群體模式的方式得出的。

 

還有一個想法是通過混合高斯模型來建模,一般人的日常生活是圍繞居住地點和工作地點展開的,我們可以將這兩個點作為中心,構建一個兩中心的高斯混合模型。與此同時,時間也可以認為是白天和夜間兩個階段的高斯分佈的疊加。

 

RNN 提出之後,人們也嘗試用RNN的方法來處理時空序列。一個樸素的改進方式是修改RNN中cell的表示式。傳統的Vanilla RNN中,當前時刻的隱藏狀態通過當前時刻的輸入狀態,以及上一時刻的隱藏狀態來計算更新。這裡的隱藏狀態是隻有時間屬性的。我們可以將隱藏狀態進行擴充套件,讓它不僅具有時間屬性還具有空間屬性,更新的時候從只用上一時刻的隱藏狀態改為鄰近時刻、鄰近空間的隱藏狀態。

 

最後給大家介紹一下DeepMove演算法框架,這個模型是由騰訊地圖的演算法團隊與清華大學合作發表的,是一種基於注意力機制的迴圈神經網路預測模型,基於冗長、稀疏、週期性的移動軌跡來預測個體移動。模型首先將稀疏的位置資料通過多模態嵌入式編碼網路的方式轉化為稠密的特徵向量。然後模型從兩個方面來提取特徵:一方面提取軌跡的歷史週期特徵,一方面提取當前軌跡的轉移特徵。歷史特徵的提取是通過若干個不同的編碼模組再加上注意力模型完成的,當前軌跡特徵是通過門迴圈式遞迴神經網路(GRU)提取的。模型在Foursquare簽到資料集,手機信令資料以及APP上報資料等資料集上的準確率都超越了之前提到的馬爾科夫,混合高斯,RNN等模型。

 

3、多源資料融合。

 

在很多應用場景下,我們會有很強烈的資料融合的需求。資料的型別和來源可能多種多樣,除了我們之前提到的位置資料、畫像資料、交通資料、興趣點資料之外,可能還會涉及金融、探針、支付、工商、輿情等等類別的資料。

 

資料融合的最大障礙一是資料價值,二是資料安全。出於這兩點考慮,企業一般不會願意提供原始資料來進行融合。針對這一問題,我們提出了安全資料沙箱的解決方案。通過雙向資料加密,我們可以將兩方加密後的資料在公有云上的安全環境裡進行融合,進而完成後續的建模工作。雙方輸出的都是加密後的資料,因此不用擔心資料安全問題。由於雙向加密的對稱性,加密後的資料仍然能夠完成匹配和統計計算,但卻是不可解密還原的。

 

我今天的演講就到這裡。謝謝大家!

關注公眾賬號

飛馬會

 

 

 

 

往期福利

關注飛馬會公眾號,回覆對應關鍵詞打包下載學習資料;回覆“入群”,加入飛馬網AI、大資料、專案經理學習群,和優秀的人一起成長!

 

回覆 數字“19”800G人工智慧學習資料:AI電子書+Python語言入門+教程+機器學習等限時免費領取!

回覆 數字“20”17張思維導圖,一網打盡機器學習統計基礎(附下載)