微軟亞洲研究院鄭宇:用人工智能進(jìn)行城市人流預(yù)測
在貴陽「塊數(shù)據(jù)」實(shí)驗(yàn)室的一塊大屏幕上,每一分每一秒都在進(jìn)入新的數(shù)據(jù),不停地預(yù)測每個(gè)區(qū)域有多少輛出租車進(jìn)和出,這是微軟亞洲研究院一個(gè)基于云計(jì)算和大數(shù)據(jù)的系統(tǒng)正實(shí)時(shí)運(yùn)轉(zhuǎn),貴陽出租車的數(shù)據(jù)實(shí)時(shí)上傳作為測試樣本,驗(yàn)證模型的準(zhǔn)確性和有效性。每點(diǎn)一個(gè)格子會(huì)跳出一個(gè)圖表,都能清楚知道整個(gè)城市某區(qū)域人群流動(dòng)接下來十幾個(gè)小時(shí)會(huì)呈現(xiàn)什么狀態(tài),黑色的是已經(jīng)發(fā)生過的出租車進(jìn)出情況,綠色預(yù)測未來部分,藍(lán)色是昨天同一時(shí)間的情況。而同樣,任何人流預(yù)測數(shù)據(jù)來源,比如手機(jī)信號(hào)、地鐵刷卡記錄等,都可以通過該系統(tǒng)模型進(jìn)行運(yùn)算得到某地將有多少人進(jìn)和出的結(jié)果,并預(yù)測到未來十幾個(gè)小時(shí)的城市人流情況。
「這個(gè)系統(tǒng)背后的模型研究,其目標(biāo)是預(yù)測整個(gè)城市里每個(gè)區(qū)域在未來時(shí)刻有多少人進(jìn)、有多少人出,從而使得管理者能迅速了解每個(gè)區(qū)域的公共安全狀況,及時(shí)采取預(yù)警措施?!刮④泚喼扪芯吭褐鞴苎芯繂T鄭宇說,直接促使他下決心開展研究的是,2014 年新年夜那場發(fā)生在上海的踩踏事件,當(dāng)時(shí),鄭宇曾在微博上呼吁通過基于手機(jī)數(shù)據(jù)的城市異常檢測來避免踩踏悲劇?!溉绻谏虾J胁忍な录?,我們應(yīng)用了這樣的系統(tǒng),就可以提前給民眾發(fā)信息,告知他們這里會(huì)有多少人進(jìn)來,提醒注意是否需要提前離開?!灌嵱钫f。
目前,該研究論文《Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction》已經(jīng)發(fā)表在 AAAI 2017,在鄭宇看來,除了具有推廣應(yīng)用的社會(huì)價(jià)值,從技術(shù)層面講,「此前還沒有真正意義上為時(shí)空數(shù)據(jù)設(shè)計(jì)的深度學(xué)習(xí)算法,這是***篇論述文章,而未來這個(gè)方向的研究還會(huì)有更深遠(yuǎn)的發(fā)展。這個(gè)發(fā)展不是簡單的拿來 CNN、RNN 就用,一定是基于對(duì)時(shí)空數(shù)據(jù)深刻的理解,充分利用時(shí)空數(shù)據(jù)本身的特性?!乖诒本嵱钕颉稒C(jī)器之心》解讀了這篇論文的研究方法、過程以及正在積極推進(jìn)的應(yīng)用方向。
「傳統(tǒng)的深度學(xué)習(xí)方法不能直接拿來用」
以往提及人流預(yù)測,通常會(huì)采取預(yù)測個(gè)人行為的方法,理想狀態(tài)下,只要統(tǒng)計(jì)某個(gè)區(qū)域每個(gè)人去哪里就能測算出該區(qū)域有多少人進(jìn)、多少人出。但這樣的統(tǒng)計(jì)本身有很大的障礙,準(zhǔn)確性很難保證,并且涉及隱私。除此之外,傳統(tǒng)方法還有一些基于物理學(xué)模型、動(dòng)力學(xué)模型或是土木工程的經(jīng)典模型等,但這些始終難以應(yīng)對(duì)大規(guī)模的人流預(yù)測。
我們這套方法首先不涉及隱私,只要進(jìn)和出的數(shù)據(jù)并不需要知道哪個(gè)人進(jìn)和出,然后把整個(gè)城市,比如北京劃分成兩千個(gè)格子同時(shí)預(yù)測,并不是一個(gè)個(gè)進(jìn)行,它是一種整體性的預(yù)測。整體性預(yù)測的必要性在于,區(qū)域和區(qū)域之間具有相關(guān)性,不能單獨(dú)預(yù)測,在預(yù)測 A 的時(shí)候,其實(shí)預(yù)測 B 和 C 區(qū)域同樣可能產(chǎn)生影響,反之亦然。因此,把深度學(xué)習(xí)引入進(jìn)來進(jìn)行整體預(yù)測,與使用傳統(tǒng)方法有很大區(qū)別。
但同樣,我們?cè)谘芯窟^程中面臨很多困難。首先,會(huì)影響人流的因素非常多,與區(qū)域里前一個(gè)小時(shí)有多少人進(jìn)和出,周邊區(qū)域甚至是很遠(yuǎn)的地方有多少人進(jìn)和出都有關(guān)系,比如上海的踩踏事件里,不少人是從外地搭乘高鐵、地鐵或通過高速公路前往,并不通過周圍區(qū)域就直接到達(dá)了外灘。還有很多外部因素,包括天氣、事件都會(huì)導(dǎo)致區(qū)域人流發(fā)生變化。更重要的是,在做預(yù)測時(shí),人流具有時(shí)空屬性,即時(shí)間屬性和空間屬性,這種屬性很特別,它會(huì)導(dǎo)致其他傳統(tǒng)的深度學(xué)習(xí)方法不能直接拿來用到預(yù)測上。
人流作為一種時(shí)空屬性數(shù)據(jù)有特定的屬性。一個(gè)城市有很多區(qū)組成,一個(gè)區(qū)有很多街道和社區(qū),天然有層次感,這是空間的差別,在時(shí)間維度上,相鄰兩個(gè)時(shí)間點(diǎn)之間,交通量和人流量是一個(gè)平滑變化的趨勢(shì),但周期性有明顯的差別,車流量、人流量是有一個(gè)往復(fù)的周期性,今天早晨 8 點(diǎn)和昨天早晨 8 點(diǎn)的車流量和人流量趨勢(shì)看起來很類似,但今天早晨 8 點(diǎn)和今天中午 12 點(diǎn)的流量差別就會(huì)很大,雖然它們之間只隔了 4 個(gè)小時(shí),而兩天早晨之間相隔了 24 小時(shí),時(shí)間差更大卻更相似。這都是傳統(tǒng)視頻、圖像中不存在的特性,一般情況下,人不會(huì)看了五分鐘視頻又回去看第二分鐘的視頻,這種周期性是在時(shí)空數(shù)據(jù)也就是人流數(shù)據(jù)中特有的屬性,周期性也不是固定化的而是隨著時(shí)間的變化呈現(xiàn)趨勢(shì)性上揚(yáng)或下降,比如,天越來越冷,天亮的時(shí)間越來越晚,人出門的時(shí)間也越來越晚,因此早高峰也會(huì)越來越晚,所以周期和趨勢(shì)加在一起,使得時(shí)空數(shù)據(jù)和以前的圖像、視頻等數(shù)據(jù)完全不同,以往使用的方法就會(huì)失效。
如果我們直接使用傳統(tǒng) RNN,要考慮周期性和趨勢(shì)性,輸入的數(shù)據(jù)必須很長,如果只使用最近兩三個(gè)小時(shí)的數(shù)據(jù),就無法體現(xiàn)周期性,也不可能體現(xiàn)趨勢(shì)性。要體現(xiàn)周期性至少需要 24 小時(shí)以上,而趨勢(shì)性甚至需要幾個(gè)月的數(shù)據(jù),如果把 RNN 作為模型,這么長的數(shù)據(jù)作為輸入,那么 RNN 模型會(huì)變的非常大、非常復(fù)雜,***很難訓(xùn)練,效果也不會(huì)好。我們也和 LSTM 做了比較發(fā)現(xiàn),我們數(shù)據(jù)用的幀數(shù)更少,結(jié)果反而更好。
「我們?cè)O(shè)計(jì)出一個(gè)特殊的網(wǎng)絡(luò)模型」
我們?cè)诒本┦械某鲎廛?GPS 軌跡上面做了驗(yàn)證,大概用了約 3 萬多輛出租車長達(dá) 5 年的數(shù)據(jù),同時(shí)我們也利用紐約公開的自行車租賃數(shù)據(jù)做了驗(yàn)證。一方面,我們通過政府合作項(xiàng)目來獲取開放給我們的數(shù)據(jù),另一方面,我們也要好好利用公開數(shù)據(jù)。再將這些瑣碎的數(shù)據(jù)轉(zhuǎn)變成有規(guī)律的、能夠?qū)ι疃葘W(xué)習(xí)作為輸入的格式,通過空間的劃分和折射,變成一個(gè)二維矩陣,使它能夠作為深度學(xué)習(xí)模型的輸入。這個(gè)轉(zhuǎn)換過程很重要,涉及到不同數(shù)據(jù)之間的多元化融合,這里需要一些時(shí)空數(shù)據(jù)經(jīng)驗(yàn)。
基于對(duì)時(shí)空數(shù)據(jù)深刻的理解,我們?cè)O(shè)計(jì)出一個(gè)特殊的網(wǎng)絡(luò)模型。在這個(gè)結(jié)構(gòu)里,我們只需要抽取一些關(guān)鍵幀,比如說昨天同一時(shí)刻,前天同一時(shí)刻,其他時(shí)間我們可以不做輸入,大概只要用幾十幀的關(guān)鍵幀作為輸入,就可以體現(xiàn)出我們幾個(gè)月里所包含的周期性和趨勢(shì)性,使得我們的網(wǎng)絡(luò)結(jié)構(gòu)大大簡化,但訓(xùn)練的質(zhì)量和效果卻大大提高,這是很關(guān)鍵的一點(diǎn)。
具體而言,我們把城市劃分成均勻且不相交的網(wǎng)格,比如劃分成一個(gè)個(gè)一平方公里的網(wǎng)格,然后輸入人流數(shù)據(jù)(包括手機(jī)、出租車軌跡等)投射在網(wǎng)格里面,計(jì)算出每個(gè)格子里有多少人進(jìn)和出。紅色越亮的地方就表示人越多,一幀的圖像比如說是二維圖像,如果有很多時(shí)間點(diǎn)就可以持續(xù)生成圖片,同時(shí)我們有對(duì)應(yīng)的事件和天氣信息,這就構(gòu)成了數(shù)據(jù)的輸入,把時(shí)空數(shù)據(jù)轉(zhuǎn)換成這樣一個(gè)模式。
有了這樣的數(shù)據(jù)之后,再對(duì)時(shí)間特性進(jìn)行模擬。我們把最近幾個(gè)小時(shí)、幾幀的數(shù)據(jù),輸入到時(shí)空殘差網(wǎng)絡(luò)里面,模擬相鄰時(shí)刻變化的平滑過程,然后把對(duì)應(yīng)時(shí)間點(diǎn)昨天、前天的數(shù)據(jù)輸入來模擬周期性,再把更遠(yuǎn)的時(shí)間點(diǎn)對(duì)應(yīng)的讀數(shù)拿進(jìn)來,模擬一個(gè)趨勢(shì)性,分別模擬了三個(gè)時(shí)間屬性。這三個(gè)殘差網(wǎng)絡(luò)結(jié)構(gòu)都是深度殘差網(wǎng)絡(luò),然后做***次融合,再把外部事件、天氣等因素拿進(jìn)來進(jìn)行二次融合,得到一個(gè)結(jié)果。
接著,再進(jìn)行空間屬性模擬。深度卷積神經(jīng)網(wǎng)絡(luò)的過程就是把區(qū)域劃成格子之后,對(duì)相關(guān)區(qū)域進(jìn)行卷積運(yùn)算得到一個(gè)值,你可以認(rèn)為,通過一次卷積之后把周圍區(qū)域人流的相關(guān)性抓住了,卷積多次后把更遠(yuǎn)地方的區(qū)域?qū)傩远季矸e到一起,如果你想捕捉很遠(yuǎn)的地方,意味著你的卷積網(wǎng)絡(luò)層次必須要比較深,只有一層抓不到很遠(yuǎn)地方的相關(guān)性。之所以要這樣做,是因?yàn)橹坝刑岬?,很多人可能從外地很遠(yuǎn)的地方通過高鐵或高速公路直接抵達(dá),不會(huì)經(jīng)過你所覆蓋到的周邊區(qū)域。
一旦網(wǎng)絡(luò)層次比較深,訓(xùn)練會(huì)變得非常復(fù)雜,基于卷積神經(jīng)網(wǎng)絡(luò),我們引入了深度殘差網(wǎng)絡(luò)結(jié)構(gòu)來做人流預(yù)測,用來幫助深度卷積網(wǎng)絡(luò)提高訓(xùn)練精度,使用這種方法的靈感也來源于我們的前同事孫劍此前的研究。從目前的驗(yàn)證結(jié)果來看,這項(xiàng)研究效果***的是 24 層,但這與不同應(yīng)用和數(shù)據(jù)規(guī)模都有關(guān)系。
此外,在融合相似性、周期性和趨勢(shì)性這三個(gè)模塊時(shí),相比于直接的融合,我們提出的基于參數(shù)矩陣的融合方法考慮到了每個(gè)區(qū)域的時(shí)間特性的強(qiáng)度不同,因此取得了更好的結(jié)果。在最近的研究中,我們已經(jīng)考慮了門限機(jī)制去調(diào)控,而非簡單的相加,很期待會(huì)有更好的實(shí)驗(yàn)結(jié)果。而 XExt 這部分的輸入,已經(jīng)做過歸一化或 one-hot coding,之后經(jīng)過 FC(或加 embedding)后可以緩解「numerical scales」的問題。事實(shí)上,融合依然是一個(gè)富有挑戰(zhàn)性的難題,異構(gòu)時(shí)空數(shù)據(jù)的融合仍值得深入研究。
接下來,對(duì)于這個(gè)模型本身,我們會(huì)繼續(xù)提升,現(xiàn)在只是做到了預(yù)測每個(gè)區(qū)域有多少人進(jìn)和出,體現(xiàn)出不同區(qū)域之間的關(guān)系,下個(gè)階段,我們需要同時(shí)把每個(gè)區(qū)域的進(jìn)和出以及區(qū)域和區(qū)域之間的進(jìn)出轉(zhuǎn)移數(shù)量都算出來。
而深度學(xué)習(xí)在時(shí)空數(shù)據(jù)方面的應(yīng)用,已經(jīng)是我們組的重點(diǎn)研究方向。人工智能也有它的局限性,并不是像大家想象的那樣無所不能,目前看來,我認(rèn)為利用深度學(xué)習(xí)來解決大規(guī)模物流調(diào)度問題的時(shí)機(jī)已經(jīng)比較成熟,同時(shí)它也會(huì)對(duì)一系列調(diào)度問題產(chǎn)生影響,比如共享單車、外賣、快遞等等。
【本文是51CTO專欄機(jī)構(gòu)機(jī)器之心的原創(chuàng)文章,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】