2020必火的圖神經網絡(GNN)是什么?有什么用?


2020必火的圖神經網絡(GNN)是什么?有什么用?

導讀:近年來,作為一項新興的圖數據學習技術,圖神經網絡(GNN)受到了非常廣泛的關注。2018年年末,發生了一件十分有趣的事情,該領域同時發表了三篇綜述類型論文,這種“不約而同”體現了學術界對該項技術的認可。

事實上,在2019年的各大頂級學術會議上,與圖神經網絡有關的論文也占據了相當可觀的份額。相信在未來幾年,這種流行的趨勢會只增不減。

本文就從“圖”說起,帶你了解圖神經網絡的概念及應用。

作者:劉忠雨、李彥霖、周洋

來源:大數據DT(ID:hzdashuju)

01 圖的基本定義

圖(Graph)是一個具有廣泛含義的對象。在數學中,圖是圖論的主要研究對象;在計算機工程領域,圖是一種常見的數據結構;在數據科學中,圖被用來廣泛描述各類關系型數據。許多圖學習的理論都專注於圖數據相關的任務上。

通常,圖被用來表示物體與物體之間的關系。這在生活中有着非常多的現實系統與之對應,比如化學分子、通信網絡、社交網絡等。事實上,任何一個包含二元關系的系統都可以用圖來描述。因此,研究並應用圖相關的理論,具有重大的現實意義。

本文,我們主要對圖相關的概念做一些基礎介紹,包括圖的基本定義、圖在計算機中的存儲表示方法與遍歷方法、圖數據及其常見的應用場景、圖數據深度學習的淺述。

在數學中,圖由頂點(Vertex)以及連接頂點的邊(Edge)構成。頂點表示研究的對象,邊表示兩個對象之間特定的關系。

圖可以表示為頂點和邊的集合,記為G = (V, E),其中V是頂點集合,E是邊集合。同時,我們設圖G的頂點數為N,邊數為M(如無特殊說明,本文中的圖均如此表示)。一條連接頂點vi, vj∈V的邊記為(vi, vj)或者eij。如圖1-1所示,V = {v1, v2, v3, v4, v5},E = {(v1, v2), (v1, v3), (v2, v4), (v2, v3), (v3, v4), (v4, v5)}。

▲圖1-1 圖G的定義

02 圖的基本類型

1. 有向圖和無向圖

如果圖中的邊存在方向性,則稱這樣的邊為有向邊eij = <vi, vj>,其中vi是這條有向邊的起點,vj是這條有向邊的終點,包含有向邊的圖稱為有向圖,如圖1-2所示。與有向圖相對應的是無向圖,無向圖中的邊都是無向邊,我們可以認為無向邊是對稱的,同時包含兩個方向:eij = <vi, vj> = <vj, vi> = eji。

▲圖1-2 有向圖

2. 非加權圖與加權圖

如果圖里的每條邊都有一個實數與之對應,我們稱這樣的圖為加權圖,如圖1-3所示,該實數稱為對應邊上的權重。在實際場景中,權重可以代表兩地之間的路程或運輸成本。一般情況下,我們習慣把權重抽象成兩個頂點之間的連接強度。與之相反的是非加權圖,我們可以認為非加權圖各邊上的權重是一樣的。

▲圖1-3 加權圖

3. 連通圖與非連通圖

如果圖中存在孤立的頂點,沒有任何邊與之相連,這樣的圖被稱為非連通圖,如圖1-4所示。相反,不存在孤立頂點的圖稱為連通圖。

▲圖1-4 非連通圖

4. 二部圖

二部圖是一類特殊的圖。我們將G中的頂點集合V拆分成兩個子集A和B,如果對於圖中的任意一條邊eij均有vi∈A,vj∈B或者vi∈B,vj∈A,則稱圖G為二部圖,如圖1-5所示。二部圖是一種十分常見的圖數據對象,描述了兩類對象之間的交互關系,比如:用戶與商品、作者與論文。

▲圖1-5 二部圖

03 圖數據的應用場景

我們提到圖,更多的是帶有一種數學上的理論色彩,在實際的數據場景中,我們通常將圖稱為網絡(Network),與之對應的,圖的兩個要素(頂點和邊)也被稱為節點(Node)和關系(Link),比如我們熟知的社交網絡、物流網絡等概念名詞。

為了達成統一並與神經網絡(Neural Networks)中的“網絡”概念區分開來(盡管神經網絡也是一種網絡)。

圖數據是一類比較復雜的數據類型,存在非常多的類別。這里我們介紹其中最重要的4類:同構圖(Homogeneous Graph)、異構圖(Heterogeneous Graph)、屬性圖(Property Graph)和非顯式圖(Graph Constructed from Non-relational Data)。

  1. 同構圖:同構圖是指圖中的節點類型和關系類型都僅有一種。同構圖是實際圖數據的一種最簡化的情況,如由超鏈接關系所構成的萬維網,這類圖數據的信息全部包含在鄰接矩陣里。
  2. 異構圖:與同構圖相反,異構圖是指圖中的節點類型或關系類型多於一種。在現實場景中,我們通常研究的圖數據對象是多類型的,對象之間的交互關系也是多樣化的。因此,異構圖能夠更好地貼近現實。
  3. 屬性圖:相較於異構圖,屬性圖給圖數據增加了額外的屬性信息,如圖1-9所示。對於一個屬性圖而言,節點和關系都有標簽(Label)和屬性(Property),這里的標簽是指節點或關系的類型,如某節點的類型為“用戶”,屬性是節點或關系的附加描述信息,如“用戶”節點可以有“姓名”“注冊時間”“注冊地址”等屬性。屬性圖是一種最常見的工業級圖數據的表示方式,能夠廣泛適用於多種業務場景下的數據表達。
  4. 非顯式圖:非顯式圖是指數據之間沒有顯式地定義出關系,需要依據某種規則或計算方式將數據的關系表達出來,進而將數據當成一種圖數據進行研究。比如計算機3D視覺中的點雲數據,如果我們將節點之間的空間距離轉化成關系的話,點雲數據就成了圖數據。

▲圖1-9 屬性圖

在我們研究多元化對象系統的時候,圖是一種非常重要的視角。在現實世界中,圖數據有着十分廣泛的應用場景。下面我們舉幾個例子進行說明,如圖1-10所示。

▲圖1-10 圖數據應用示例[1, 19]

  • 社交網絡

社交網絡是十分常見的一類圖數據,代表着各種個人或組織之間的社會關系。如圖1-10的a圖展示了在線社交網絡中的用戶關注網絡:以用戶為節點,用戶之間的關注關系作為邊。這是一個典型的同構圖,一般用來研究用戶的重要性排名以及相關的用戶推薦等問題。

隨着移動互聯網技術的不斷深入,更多元化的媒體對象被補充進社交網絡中,比如短文本、視頻等,如此構成的異構圖可以完成更加多樣化的任務。

  • 電子購物

電子購物是互聯網中的一類核心業務,在這類場景中,業務數據通常可以用一個用戶–商品的二部圖來描述,在如圖1-10的b圖所展示的例子中,節點分為兩類:用戶和商品,存在的關系有瀏覽、收藏、購買等。

用戶與商品之間可以存在多重關系,如既存在收藏關系也存在購買關系。這類復雜的數據場景可以用屬性圖輕松描述。電子購物催生了一項大家熟知的技術應用—推薦系統。用戶與商品之間的交互關系,反映了用戶的購物偏好。例如,經典的啤酒與尿布的故事:愛買啤酒的人通常也更愛買尿布。

  • 化學分子

以原子為節點,原子之間的化學鍵作為邊,我們可以將分子視為一種圖數據進行研究,分子的基本構成以及內在聯系決定了分子的各項理化性質,通常我們用其指導新材料、新葯物的研究任務,如圖1-10的c圖所示。

  • 交通網絡

交通網絡具有多種形式,比如地鐵網絡中將各個站點作為節點,站點之間的連通性作為邊構成一張圖,如圖1-10的d圖所示。通常在交通網絡中我們比較關注的是路徑規划相關的問題:比如最短路徑問題,再如我們將車流量作為網絡中節點的屬性,去預測未來交通流量的變化情況。

  • 場景圖

場景圖是圖像語義的一種描述方式,它將圖像中的物體當作節點,物體之間的相互關系當作邊構成一張圖。場景圖可以將關系復雜的圖像簡化成一個關系明確的語義圖。場景圖具有十分強大的應用場景,如圖像合成、圖像語義檢索、視覺推理等。

圖1-10的e圖所示為由場景圖合成相關語義圖像的示例,在該場景圖中,描述了5個對象:兩個男人、一個小孩、飛盤、庭院以及他們之間的關系,可以看到場景圖具有很強的語義表示能力。

  • 電路設計圖

我們可以將電子器件如諧振器作為節點,器件之間的布線作為邊將電路設計抽象成一種圖數據。在參考文獻[1]中,對電路設計進行了這樣的抽象,如圖1-10的f圖所示,然后基於圖神經網絡技術對電路的電磁特性進行仿真擬合,相較於嚴格的電磁學公式仿真,可以在可接受的誤差范圍內極大地加速高頻電路的設計工作。

圖數據的應用場景遠不止這些,還有諸如描述神經網絡計算過程的計算圖、傳感器陣列網絡、由各類智能傳感器構成的物聯網。事實上,如果要找一種最具代表性的數據描述語言與現實數據對應,那么圖應該是最具競爭力的候選者。總的來說,圖數據的應用跨度大、應用場景多,研究圖數據具有廣泛且重要的現實意義。

04 圖數據深度學習

作為一種重要的數據類型,圖數據的分析與學習的需求日益凸顯,許多圖學習(Graph Learning)的理論均專注於圖數據相關的任務學習。

譜圖理論(Spectral Graph Theory)[2]是將圖論與線性代數相結合的理論,基於此理論發展而來的譜聚類相關算法[3],可以用來解決圖的分割或者節點的聚類問題。

統計關系學習(Statistical Relational Learning)[4]是將關系表示與似然表示相結合的機器學習理論,區別於傳統的機器學習算法對數據獨立同分布(independent and Identically Distributed,數據對象是同類且獨立不相關的)的假設,統計關系學習打破了對數據的上述兩種假設,對圖數據的學習具有更好的契合度。

為了更加貼合實際場景中的異構圖數據,異構信息網絡(Heterogeneous Information Network)[5]分析被提出,用以挖掘異構圖中更加全面的結構信息和豐富的語義信息。

由於這些年深度學習在實際應用領域取得的巨大成就,表示學習和端對端學習的概念日益得到重視,為了從復雜的圖數據中學習到包含充分信息的向量化表示,出現了大量網絡表示學習(Network Embedding)[6]的方法。然而網絡表示學習很難提供表示學習加任務學習的端對端系統,基於此,圖數據的端對端學習系統仍然是一個重要的研究課題。

由於圖數據本身結構的復雜性,直接定義出一套支持可導的計算框架並不直觀。與圖數據相對應的數據有圖像、語音與文本,這些數據是定義在歐式空間中的規則化結構數據,基於這些數據的張量計算體系是比較自然且高效的。

圖1-11給出了圖數據與其他幾類常見類型數據的對比。圖像數據呈現出規則的2D柵格結構,這種柵格結構與卷積神經網絡的作用機制具有良好的對應。文本數據是一種規則的序列數據,這種序列結構與循環神經網絡的作用機制相對應。

▲圖1-11 圖像和語音文本數據類型

受圖信號處理(Graph Signal Processing)[7]中對圖信號卷積濾波的定義的啟發,近幾年發展出了一套基於圖卷積操作並不斷衍生的神經網絡理論。本文將這類方法統稱為圖神經網絡(Graph Neural Network,GNN[8-10])。下面我們簡述其發展歷程。

2005年,Marco Gori等人發表論文[11],首次提出了圖神經網絡的概念。在此之前,處理圖數據的方法是在數據的預處理階段將圖轉換為用一組向量表示。這種處理方法最大的問題就是圖中的結構信息可能會丟失,並且得到的結果會嚴重依賴於對圖的預處理。GNN的提出,便是為了能夠將學習過程直接架構於圖數據之上。

隨后,其在2009年的兩篇論文[12, 13]中又進一步闡述了圖神經網絡,並提出了一種監督學習的方法來訓練GNN。但是,早期的這些研究都是以迭代的方式,通過循環神經網絡傳播鄰居信息,直到達到穩定的固定狀態來學習節點的表示。這種計算方式消耗非常大,相關研究開始關注如何改進這種方法以減小計算量。

2012年前后,卷積神經網絡開始在視覺領域取得令人矚目的成績,於是人們開始考慮如何將卷積應用到圖神經網絡中。2013年Bruna等人首次將卷積引入圖神經網絡中,在引文[14]中基於頻域卷積操作的概念開發了一種圖卷積網絡模型,首次將可學習的卷積操作用於圖數據之上。

自此以后,不斷有人提出改進、拓展這種基於頻域圖卷積的神經網絡模型。但是基於頻域卷積的方法在計算時需要同時處理整個圖,並且需要承擔矩陣分解時的很高的時間復雜度,這很難使學習系統擴展到大規模圖數據的學習任務上去,所以基於空域的圖卷積被提出並逐漸流行。

2016年,Kipf等人[15]將頻域圖卷積的定義進行簡化,使得圖卷積的操作能夠在空域進行,這極大地提升了圖卷積模型的計算效率,同時,得益於卷積濾波的高效性,圖卷積模型在多項圖數據相關的任務上取得了令人矚目的成績。

近幾年,更多的基於空域圖卷積的神經網絡模型的變體[16-18]被開發出來,我們將這類方法統稱為GNN。各種GNN模型的出現,大大加強了學習系統對各類圖數據的適應性,這也為各種圖數據的任務學習奠定了堅實的基礎。

自此,圖數據與深度學習有了第一次真正意義上的結合。GNN的出現,實現了圖數據的端對端學習方式,為圖數據的諸多應用場景下的任務,提供了一個極具競爭力的學習方案。

在本文的最后,我們給出圖數據相關任務的一種分類作為結尾。

1. 節點層面(Node Level)的任務

節點層面的任務主要包括分類任務和回歸任務。這類任務雖然是對節點層面的性質進行預測,但是顯然不應該將模型建立在一個個單獨的節點上,節點的關系也需要考慮。節點層面的任務有很多,包括學術上使用較多的對論文引用網絡中的論文節點進行分類,工業界在線社交網絡中用戶標簽的分類、惡意賬戶檢測等。

2. 邊層面(Link Level)的任務

邊層面的任務主要包括邊的分類和預測任務。邊的分類是指對邊的某種性質進行預測;邊預測是指給定的兩個節點之間是否會構成邊。常見的應用場景比如在社交網絡中,將用戶作為節點,用戶之間的關注關系建模為邊,通過邊預測實現社交用戶的推薦。目前,邊層面的任務主要集中在推薦業務中。

3. 圖層面(Graph Level)的任務

圖層面的任務不依賴於某個節點或者某條邊的屬性,而是從圖的整體結構出發,實現分類、表示和生成等任務。目前,圖層面的任務主要應用在自然科學研究領域,比如對葯物分子的分類、酶的分類等。

參考文獻

[1] Zhang G, He H, Katabi D. Circuit-GNN: Graph Neural Networks for Distributed Circuit Design[C]//International Conference on Machine Learning. 2019: 7364-7373.

[2] F. R. Chung. Spectral Graph Theory. American Mathematical Society, 1997.

[3] Von Luxburg U. A tutorial on spectral clustering[J]. Statistics and computing, 2007, 17(4): 395-416.

[4] Koller D, Friedman N, D~eroski S, et al. Introduction to statistical relational learning[M]. MIT press, 2007.

[5] Shi C, Li Y, Zhang J, et al. A survey of heterogeneous information network analysis[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 29(1): 17-37.

[6] Cui P, Wang X, Pei J, et al. A survey on network embedding[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 31(5): 833-852.

[7] Shuman D I, Narang S K, Frossard P, et al. The emerging field of signal processing on graphs: Extending high-dimensional data analysis to networks and other irregular domains[J]. IEEE signal processing magazine, 2013, 30(3): 83-98.

[8] Zhou J, Cui G, Zhang Z, et al. Graph neural networks: A review of methods and applications[J]. arXiv preprint arXiv:1812.08434, 2018.

[9] Zhang Z, Cui P, Zhu W. Deep learning on graphs: A survey[J]. arXiv preprint arXiv:1812.04202, 2018.

[10] Wu Z, Pan S, Chen F, et al. A comprehensive survey on graph neural networks[J]. arXiv preprint arXiv:1901.00596, 2019.

[11] Gori M, Monfardini G, Scarselli F. A new model for learning in graph domains[C]//Proceedings. 2005 IEEE International Joint Conference on Neural Networks, 2005. IEEE, 2005, 2: 729-734.

[12] Micheli A. Neural network for graphs: A contextual constructive approach[J]. IEEE Transactions on Neural Networks, 2009, 20(3): 498-511.

[13] Scarselli F, Gori M, Tsoi A C, et al. The graph neural network model[J]. IEEE Transactions on Neural Networks, 2008, 20(1): 61-80.

[14] Bruna J, Zaremba W, Szlam A, et al. Spectral networks and locally connected networks on graphs[J]. arXiv preprint arXiv:1312.6203, 2013.

[15] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.

[16] Hamilton W, Ying Z, Leskovec J. Inductive representation learning on large graphs[C]//Advances in Neural Information Processing Systems. 2017: 1024-1034.

[17] Velikovi P, Cucurull G, Casanova A, et al. Graph attention networks[J]. arXiv preprint arXiv:1710.10903, 2017.

[18] Gilmer J, Schoenholz S S, Riley P F, et al. Neural message passing for quantum chemistry [C]//Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017: 1263-1272.

[19] Johnson J, Gupta A, Fei-Fei L. Image generation from scene graphs[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 1219-1228.

 

關於作者:劉忠雨,畢業於華中科技大學,資深圖神經網絡技術專家,極驗科技人工智能實驗室主任和首席技術官。在機器學習、深度學習以及圖學習領域有6年以上的算法架構和研發經驗,主導研發了極驗行為驗證、深知業務風控、疊圖等產品。

李彥霖,畢業於武漢大學,極驗人工智能實驗室技術專家。一直從事機器學習、深度學習、圖學習領域的研究工作。在深度神經網絡算法研發、圖神經網絡在計算機視覺以及風控中的應用等領域實踐經驗豐富。

周洋,工學博士,畢業於武漢大學,目前在華中師范大學任教。曾受邀到北卡羅萊納大學訪學,長期在大數據挖掘前沿領域進行探索和研究,並應用於地理時空大數據、交通地理等諸多方向,已發表SCI&SSCI及核心期刊論文10余篇。

 

有話要說?

Q: 你最看好GNN在哪方面的應用?

歡迎留言與大家分享

本文分享自微信公眾號 - 大數據(hzdashuju),作者:劉忠雨 李彥霖 等

原文出處及轉載信息見文內詳細說明,如有侵權,請聯系 yunjia_community@tencent.com 刪除。

原始發表時間:2020-02-12

本文參與騰訊雲自媒體分享計划,歡迎正在閱讀的你也加入,一起分享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM