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張思維導圖,一網打盡機器學習統計基礎(附下載)

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