集智科學家張江解析:爲什麼複雜性需要深度學習?

 2016-11-20 09:48:00.0

雷鋒網(公衆號:雷鋒網)按:本文來自北京集智俱樂部。作者張江,北京師範大學系統科學學院副教授,集智俱樂部創始人、現任主席、集智科學家,騰訊公司騰雲智庫成員。

儘管複雜性科學一直在追求一大類終極問題的答案,如生命的起源、複雜性的起源等。但其實它的發展完全是研究方法驅動的。例如在計算機出現之前,人們是用哲學思辨和數學方程來研究複雜系統;到了90年代,聖塔菲學派興起,多主體仿真、複雜自適應系統方法席捲了各個研究領域;2000年以後,複雜網絡崛起,小世界和無標度以及各式各樣的網絡分析滲透到了複雜性研究的各個角落;到了2010年以後,基於大數據的複雜性研究和計算社會科學(computational social science)開始興起。那麼,站在2016年的末端展望未來,下一波的熱潮將會是什麼呢?有沒有可能是引領工業界革命的深度學習技術呢?

實際上,將深度學習技術引入複雜性科學研究已經有了大量的研究案例。例如,最近Science上發表了一篇「用遙感和衛星數據結合來預測貧困」的研究就是一個很好的典範1。來自斯坦福大學的一個團隊利用深度學習技術成功預測了非洲地區的貧困,這一研究不僅解決了困擾了社會學家們數十年的大問題,而且也打開了深度學習方法滲透進社會複雜性研究的一個新窗口。

用深度學習預測貧困

集智科學家張江解析:爲什麼複雜性需要深度學習?

用深度學習和遙感數據預測非洲貧困的Science文章(左),以及同期刊登的評述文章

問題的背景是這樣的:非洲的貧困問題長期得不到解決,這並不是因爲缺乏來自發達地區的資助,而是因爲沒有精確的貧困數據。這就使得對非洲的大量投資沒有達到需要救助的地區,而全部落入了富人和貪官的腰包裏,從而導致了更大規模的貧富差距。於是,人們想到了利用衛星拍攝到的夜光數據來預測地區的貧困,因爲越富有的地區,通常夜間燈光的亮度也越高。

但是,這個結論反過來卻不成立,並不是說越貧窮的地區燈光越暗。事實上,研究人員從一片黑色區域中完全區分不出無人居住的沙漠,還是貧困得連燈都用不起的村莊。怎麼辦呢?

集智科學家張江解析:爲什麼複雜性需要深度學習?

圖1 複雜的訓練管道,上面的流程爲輸入一塊區域的衛星遙感數據,來預測同一區域的夜光明亮度,從而訓練一個卷積神經網絡以獲得遙感數據中的特徵。下圖所示爲:將卷積神經網絡進行遷移,再配合上少量的貧困調查數據作爲標籤,訓練一個普通的神經網絡。最終卷積神經網絡+普通網絡就可以根據輸入圖片來預測地區貧困。摘自:文獻2

斯坦福的這個研究團隊巧妙地將另一種高精度、高質量的衛星遙感圖像數據訓練一個深度卷積神經網絡(Convoluational Neural Network, CNN),以預測同區域的夜光數值大小。但這樣做的目標並不真的爲了預測夜光,而是爲了提取遙感圖像數據中的特徵(例如街道、屋頂等)。然後,再利用這些特徵作爲輸入,以及少數採樣點的貧困調查數據作爲標籤,一起來訓練一個普通的神經網絡。最終,餵給這個網絡一張街景地圖,它就可以高精度地預測該地區的貧困程度。就這樣,這個組使用了非常先進的遷移學習技術,以及複雜的機器學習訓練管道(pipeline),對局部貧困程度進行了較高精度的預估(如圖1)。

深度學習與多主體建模

多主體建模是複雜系統一種非常普遍而有效的研究方式。我們將系統理解爲大量個體遵循簡單的相互作用規則而形成的整體。例如,當我們分析人羣的集體行爲時,可以對每一個個體人建立模型,並假設它們都遵循極其簡單的相互作用規則(如社會力模型3)。然後,我們在計算機中再造這羣人的計算機仿真程序,從而模擬出人羣的運動軌跡。

集智科學家張江解析:爲什麼複雜性需要深度學習?

社會力模型的模擬程序

儘管這種思路的確可以逼真地模擬複雜系統,但是所有的模型規則和參數幾乎全部是模型構建者拍腦袋決定的。這就使得模型的準確性和可信賴程度大打折扣。

我們知道,實際上,現在的城市公共空間裝滿了各種各樣的攝像頭。大量的人羣運動軌跡被記錄在了視頻裏。那麼,我們能不能自動地將視頻中的個體人的運動軌跡提取出來,訓練我們的主體模型,從而得到極其逼真的人羣運動模擬呢?

來自清華大學自然語言處理和深度學習的一個團隊就做了這樣的嘗試。他們爲人羣運動視頻中的每一個人構建了一個LSTM模型(long short time memory,一種特殊的循環神經網絡RNN模型,被人們大量地用於自然語言處理和機器翻譯),通過自動提取視頻中每一個人的運動軌跡作爲訓練數據,構建了能夠準羣預測人羣運動狀態的深度學習模型4。

集智科學家張江解析:爲什麼複雜性需要深度學習?

每一個Agent的LSTM模型,該圖引自:參考文獻4

該模型不僅可以預測每個人的運動軌跡,同時,它還可以自動爲人羣的集體運動狀態進行分類和識別,以便預警人羣的恐慌狀態,防止踩踏的發生。也可以用來快速識別突發事件。

類似的,來自英國Sheffield大學和美國哈佛大學的一個團隊嘗試用對抗式機器學習的方法,讓機器通過模仿自動建立多主體模型5。他們將自制的小機器人分成了三組,一組是被模仿對象,它們會按照事先指定的規則進行復雜的運動;一組是模仿者,它們會混到第一組機器人之中模仿它們的運動行爲,從而儘可能地騙過辨別者的法眼;第三組是辨別者,它的任務就是區分這些機器人誰是模仿者,誰是被模仿對象。最終的效果是,隨着辨別者識別準確度的提高,模仿者的模仿行爲也會越來越逼近被模仿者。於是,我們便可以利用訓練好的模仿者搭建一個逼真的多主體模型,來對被模仿者羣體進行模擬。

儘管這些研究仍處於實驗室階段,但是我們不難想象,未來的人工智能將可能通過深度學習自動提取主體的運行規則,從而構造大規模的模擬程序。那個時候,我們將有可能更加逼真地模擬多個體的複雜系統,並在其上進行規劃或政策仿真。

複雜網絡中的深度學習

爲什麼深度學習如此厲害?不同的人會給出不同的答案。

因爲它有很深的神經網絡層次——一個初學者大概會如是說;

因爲它可以學習超大規模數據——一個瞭解深度學習的行業從業人員大概會這麼說;

因爲深度學習技術可以自動從數據中提取特徵——一個深入理解深度學習的科研人員大概會這麼回答。

沒錯,深度學習的本質並不在層次有多深,數據規模有多大,而在於它自動提取特徵的能力。

什麼是特徵?長度、寬度、顏色、質料、形狀,等等都是特徵。然而,它們全部是人爲定義的。假設一種生活在頻率世界之中的生物體,它大概很難看到一個物體的長度和體積。所以面對超大規模的數據,我們憑藉肉眼已經很難提煉特徵了,必須把這種能力賦予機器,這纔是深度學習的本質。

在現代的複雜系統研究中,複雜網絡已經成爲了一種標準的通用描述語言。那麼我們怎樣用深度學習的方式自動提取大規模網絡數據特徵呢?

我們知道,複雜網絡無非就是由點和連邊構成的整體。節點或連邊的特徵自然就是由它所在的網絡環境(上下文)所決定的。只要我們將每一個點賦予一個n維向量,就得到了整個網絡的嵌入(n維空間中的一團點雲)。

我們可以把語言中出現在同一句話的單詞彼此相連構成一個所謂的「共現網絡」,這樣,每一個詞就是一個節點,連邊就表示同時出現。對於這種網絡,2013年,Google的Miklov開創性地提出了一種用向量表示英語單詞的做法,叫做Word2Vec6。通過掃描大量的文本數據,Word2Vec可以快速、高效地爲每一個單詞構造一個向量,即n維空間中的一個點。

相似的單詞,例如紅與粉在空間中會彼此靠近。更有趣的是,同一種意思的單詞在不同語言的空間嵌入中具有相似的位置。例如,如果我們分別用英語和法語進行訓練,那麼1,2,3……等數字會在兩套向量表示下具有相似的位置。如圖所示:

集智科學家張江解析:爲什麼複雜性需要深度學習?

分別用純英文(左)和純法文(右)的語料訓練Word2Vec得到的向量表示。我們會看到,英語的one,two,three……的位置以及對應的法語單詞的位置非常相似。與此類似,哺乳類動物在兩種語言的嵌入中也具有相似的位置(下面兩幅圖)。

集智科學家張江解析:爲什麼複雜性需要深度學習?

Word2Vec中涌現的向量差關係:,其中藍色的向量(深藍和淺藍)都表示用Word2Vec學習得到的單詞向量。它們彼此之間的差向量(紅色箭頭),表達了最高權力關係也近似相等

更讓人震驚的是,單詞之間的關係也可以自動地被Word2Vec學到,如上圖這個著名的公式:v(男人)-v(女人)=v(國王)-v(王后),其中v(x)表示x這個單詞的詞向量。也就是說,機器會自己學習到男人相對於國王相當於女人相對於王后。所以,除了將每個單詞進行向量表示以外,Word2Vec還可以隱式地學習到「最高權力」這種抽象關係。

與此類似,很多概念之間會存在着上下位的層級關係。例如,「動物」就是「昆蟲」的上位詞,而「昆蟲」又是「蜻蜓」的上位詞。我們用這些單詞的向量表示分別做減法,就可以用差向量來表示這種抽象的關係9。如圖:

集智科學家張江解析:爲什麼複雜性需要深度學習?

Word2Vec學習得到的詞語之間的層級關係:首先讓Word2Vec學習大量的中文語料,這樣每個單詞會對應一個表示(藍色的點)。其次,我們尋找所有的上下位詞層級關係,比如工人與木匠,或者運動員與足球運動員,並將它們的向量表示分別相減得到了上下位詞的差向量。我們發現,這些差向量如果是同一種類別的話,比如工人-木匠,以及工人-園丁,則非常相似。所以,Word2Vec學習得到的向量表示蘊含了一種關係表示。該圖摘自:參考文獻9

然而,這種蘊含的關係表示並不十分明確,存在着很大的誤差。於是,人們想出了各種方法來改進,其中一種比較徹底的方式是,將所有的名詞實體和各種關係(包括上下位、同義詞等)分別嵌入到不同的空間(即實體空間和關係空間),這樣可以更全面、更準確地來表達它們10。

與此類似,我們還可以用這種方法處理其它的不同網絡。

集智科學家張江解析:爲什麼複雜性需要深度學習?

利用與Word2Vect類似的DeepWalk算法10得到的「跆拳道俱樂部」(左側)網絡的嵌入(右側)。其中節點是人,連邊是好友關係。在這個俱樂部中,存在着4個相對獨立的社團,分別被標註了不同的顏色。摘自參考文獻7

得到這些向量表示又有什麼用呢?它的用途有很多,例如,通過向量表示可以發現節點之間的聚類,我們只要將表示空間中彼此靠近的節點劃分爲一類就可以,如下圖:

集智科學家張江解析:爲什麼複雜性需要深度學習?

該圖是將帶參數的網絡嵌入Node2Vec算法在兩種不同參數條件下用於同一個網絡(上、下),並根據向量表示做聚類分析後得到的可視化效果。其中同一種顏色對應同一種聚類。上圖得到的聚類是網絡的社團劃分。下圖的聚類得到的卻是生態位(葉子節點、橋接節點以及中心節點)的劃分。摘自文獻8

 更重要的是,這些花樣繁多的向量表示解決了每個節點的特徵描述問題以作爲節點分類和預測問題的基礎。一般情況下,節點的向量表示就是機器自發學習出來的節點特徵,該特徵反應的是每一個節點所在整個網絡之中的生態地位。

於是,根據機器學習得到的特徵,運用神經網絡技術,我們便可以進行節點的分類與預測了。我們可以通過社交網絡識別哪一個節點更可能是恐怖分子。我們也可以根據一篇文章在引文網中的地位預測它是否可以獲得諾貝爾獎提名,等等。

圖卷積神經網絡

我們知道,現在的深度學習技術最主要的突破其實都是在圖像識別領域和自然語言領域。從技術上講,圖像屬於一種靜態的二維數組,而自然語言實際上可以看做一種時間上的符號序列。它們都有非常標準的數據結構。

但是,網絡或者圖,卻是一種介於二維數組和一維序列之間的不規則數據類型。我們不能把網絡看做圖像,因爲網絡的節點之間沒有圖像的像素之間那樣規整的鄰域關係。我們同樣不能把網絡看做是一維的節點和連邊序列,因爲我們任意顛倒節點之間的順序,卻對應的是同一張網絡。

於是,問題來了。既然深度學習可以在圖像識別以及自然語言處理中大展身手,那麼是否也能在複雜網絡的相關任務中嶄露頭腳呢?

具體的,讓我們考慮這樣一種所謂的圖分類問題(Graph classification problem)。如果我給你一張網絡,沒有任何其它輔助信息,你能不能告訴我它屬於哪一類?是社交網絡還是生物網絡?是無標度網還是小世界網?這個問題有什麼實際背景呢?我們知道,複雜網絡可以看做是複雜系統的骨架(backbone),那麼當我們處理不同的複雜系統時,我們便可以通過它們的骨架來進行識別、分類和預測。比如,我們可以將一個社羣的社交網絡看做社羣的骨架,那麼我們就能否根據它預測網絡的運行狀況;再比如,如果將一個國家的投入產出網看做是國家經濟系統的骨架,那麼我們就能給國家的產業結構進行「診脈」。

這些問題的背後需要一種新的突破,它在5年前剛剛開始萌芽,這就是圖卷積神經網絡技術(Graph convolutional neural network,GNN)11。該套技術通過擴展基於圖像的卷積神經網絡(Convolutional neural network,CNN),來處理大量的網絡數據。並有可能達到和CNN同等的精確程度。

集智科學家張江解析:爲什麼複雜性需要深度學習?

GNN模型的架構,類似於圖像處理中的CNN,GNN可以對一個網絡進行卷積操作,並做粗粒化,從而實現多層信號處理,摘自文獻12

在很多文獻中,人們不僅用CNN來識別圖像,更多的是用它來提取圖片中物體的特徵。例如在前面講述的用衛星遙感圖像預測貧困的工作中,研究者用CNN的最主要目的是提取出圖像中屋頂、道路等特徵。有了這些機器自動學習得到的特徵之後,我們便可以將學好的網絡用於各種領域。例如,我們可以將CNN和LSTM結合,從而實現 「看圖說話」;將CNN配上強大的強化學習,就能實現讓計算機和人類一樣看着視頻打遊戲;將CNN配上強大的蒙特卡洛搜索,就能實現戰勝人類大師的AlphaGo。

與此類似,一旦GNN技術實現突破,那麼我們就真的可以通過網絡來對宏觀複雜系統進行診脈。城市的規劃很糟糕嗎?讓我們利用GNN掃描一下城市的道路網絡,就能給城市規劃打分;美國和中國的金融市場哪一個更容易崩盤?讓GNN掃描一下它們各自的股票相關網絡就能給出答案;今天Facebook的心情如何?讓GNN掃描一下社交網絡就能給出類似這樣的描述:「今天的Facebook心情很糟,因爲微信又挖走了五千萬用戶……囧」。

展望

複雜系統需要深度學習嗎?我的回答當然是需要。這是因爲深度學習可以自動化提取對象中的隱藏特徵,這將結束幾十年來複雜性科學家手工發明特徵指標的歷史。人類的智慧雖然閃爍着靈光,但面對龐大的數據,人工智能還是更勝一籌。一旦GNN、網絡嵌入等技術獲得突破,所有的特徵發現就全部變成了自動化流水線,我們便可以站在一個更高的層次來理解複雜系統。

深度學習在圖像領域中的大量突破告訴我們,一旦機器可以學會自動提取特徵,我們就可以以一種人類難以想象的精準度來進行預測和識別。例如,現在深度學習在人臉識別的準確率已經高達99%了,而人類的準確率也僅僅只有97%。所以,在未來,精確地認識、調控複雜系統並非完全不可能。

而更有意思的是,當我們把深度學習和傳統技術,包括多主體模擬、系統動力學相結合,就可能實現對複雜系統的自動建模。我們可以設想這樣一種機器,你只要不斷地餵給它大量的數據,它就有可能自動吐出來一個多主體模型,並告訴你精確調控系統的方案。如果能實現這一步的話,人工智能就真的可以管理社會了。

然而,反對論者批評深度學習是一個黑箱模型:儘管它可以很好地工作,但我們人類仍然無法理解。這就好像中醫看病,完全憑藉老醫師的個人經驗和感悟,無法給你一套符合西醫科學標準的解釋。但是,也許複雜系統就需要這種中醫式的思維方式。因爲就像小螞蟻無法理解蟻羣的行爲一樣,超級複雜的相互作用關係也許壓根就不是我們人腦智慧可以處理得了的。我們只能藉助更加強大的機器來應付超大規模的複雜性。

反過來講,複雜性科學也可以幫助我們更好地理解深度學習模型。例如,最近的一批物理學家就在嘗試用變分重整化羣(Variational renormalization group)的方法來理解深度學習網絡13,每增加一層神經元節點就是在對原問題進行更高層次的粗粒化。所以,層次的加深有助於我們從更高的尺度去把握數據中的規律。

總而言之,長期以來複雜性科學就是一個非常具有包容性的學科。它是各種數理方法、工程技術的大熔爐。所以,將深度學習融入複雜系統是一個必然趨勢。

參考文獻

1.Jean N, Burke M, Xie M, et al. Combining satellite imagery and machine learning to predict poverty.[J]. Science, 2016, 353(6301):790-794.

2.Blumenstock J E. Fighting poverty with data[J]. Science, 2016, 353(6301):753-754.

3.Helbing D, Moln T. Social Force Model for Pedestrian Dynamics[J]. Physical Review E Statistical Physics Plasmas Fluids & Related Interdisciplinary Topics, 1995, 51(5):4282-4286.

4.Hang Su, Yinpeng Dong, Jun Zhu, Haibin Ling, and Bo Zhang, Crowd Scene Understanding with Coherent Recurrent Neural Networks, Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (IJCAI-16), 2016

5.Wei Li , Melvin Gauci and Roderich Gro: Turing learning: a metric-free approach to inferring behavior and its application to swarms, https://arxiv.org/pdf/1603.04904v2.pdf

6.T. Miklov: Efficient Estimation of Word Representations in Vector Space, 2013

7.Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online Learning of Social Representations[J]. arXiv preprint arXiv:1403.6652, 2014.

8.Aditya Grover, Jure Leskovec. node2vec: Scalable Feature Learning for Networks. KDD 2016.

9.R Fu et al: Learning Semantic Hierarchies via Word Embeddings, Meeting of the Association for Computational Linguistics, 2014

10.Lin Y, Liu Z, Sun M, et al. Learning entity and relation embeddings for knowledge graph completion[J]. 2015.

11.Defferrard M, Bresson X, Vandergheynst P. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering[J]. 2016.

12.Niepert M, Ahmed M, Kutzkov K. Learning Convolutional Neural Networks for Graphs[J]. 2016.

13.Mehta P, Schwab D J. An exact mapping between the Variational Renormalization Group and Deep Learning[J]. Computer Science, 2014.

集智科學家張江解析:爲什麼複雜性需要深度學習?

文章來源:雷鋒網