图神经网络综述
文章目錄
- 1 簡介
- 1.1 GNN簡史
- 1.2 GNN的相關研究
- 1.3 GNN vs 網絡嵌入
- 1.4 文章的創新性
- 2 基本的圖概念的定義
- 3 GNN分類和框架
- 3.1 GNNs分類
- 3.2 框架
- 4 圖卷積網絡
- 4.1 基于圖譜的GCN
- 4.1.1 圖信號處理
- 4.1.2 基于譜的GCN方法
- 4.1.3 總結
- 4.2 基于空間的GCN
- 4.2.1 基于循環的空間GCNs
- 4.2.2 基于組合的空間GCNs
- 4.2.3 空間GCNs的其他變體
- 4.2.4 總結
- 4.3 圖池模塊
- 4.4 基于光譜和空間的GCNs的對比
- 4.1 基于圖譜的GCN
- 5 超GCNs架構
- 5.1 圖注意力網絡
- 5.1.1 GAN方法
- 5.1.2 總括
- 5.2 圖自編碼
- 5.2.1 基于GCN的自編碼器
- 5.2.2 圖自編碼的其他變體
- 5.2.3 總結
- 5.3 圖生成網絡(GGN)
- 5.3.1基于GCN的圖生成網絡
- 5.3.2 GGN的其他變體
- 5.3.3 總結
- 5.4 圖時空網絡
- 5.4.1 基于GCN的圖時空網絡
- 5.4.2 其他變體
- 5.4.3 總結
- 5.1 圖注意力網絡
- 6 應用
- 6.1 基準數據集
- 6.2 開源項目
- 6.3 實際應用
- 6.3.1計算機視覺
- 6.3.2推薦系統
- 6.3.3交通
- 6.3.4生物化學
- 6.3.5其他
- 7 未來發展方向
- 7.1 Go Deep
- 7.2 Receptive Filed
- 7.3 Scalability
- 7.4 Dynamics and Heterogeneity
- 8 總括
??近年來,深度學習徹底改變了很多機器學習任務,從圖像分類,視頻處理到語音識別,自然語言處理等,但是通常來說,這些任務的數據都是歐式數據。現實中,很多數據都是非線性的,不是歐式數據,因此被表示為數據之間復雜關系和相互依賴的圖結構。
??圖數據的復雜性給現有的機器學習算法帶來了重大挑戰。最近,出現了許多關于擴展圖數據的深度學習方法的研究。本文對圖神經網絡(GNNs)在數據挖掘和機器學習方面的應用做了全面概述。
??提出一種新的分類方法對GNNs各種方法進行分類。著眼于圖卷積網絡(GCN),回顧了一些最近提出來的新的架構,包括Graph attention networks(圖注意力網絡),Graph autoencoders(圖自編碼),Graph generative networks(圖生成網絡)以及Graph spatial-temporal networks(圖時空網絡)。
??另外,進一步討論了圖神經網絡在各個領域的應用,總結了現有算法在不同任務中的開源代碼,并提出了領域的潛在研究方向。
?
1 簡介
??神經網絡近期的成功推動了模式識別和數據挖掘的研究,許多機器學習任務,例如目標檢測,機器翻譯,語音識別,曾經都嚴重依賴棘手的特征工程提取數據集的特征,現在已經被端到端的學習模式徹底改變,也就是卷積神經網絡(CNN),長短時記憶網絡(LSTM),和自編碼(AE)。深度學習在許多領域的成功部分歸功于快速發展的計算資源(如GPU)和大量訓練數據,部分歸功于深度學習從歐氏數據(如圖像、文本和視頻)中提取有效的數據表示。以圖像分析為例,圖像為歐式空間的規則表示,CNN能夠利用圖像數據的平移不變性,局部連結性和組合性,也就是CNN能夠為各種圖像分析任務提取整個數據集共享的局部特征。
??深度學習在歐式數據上取得了巨大的成功,但是,越來越多的應用需要對非歐式數據進行分析。例如,在電子商務中,一個基于圖的學習系統能夠利用用戶與商品之間的交互做出非常準確的推薦;在化學中,需要識別被建模為圖結構的分子的生物活性以發現新的藥物;在引文網絡中,論文需要通過被引用的關系相互連接,然后通過挖掘關系被分成不同的組。圖數據不規則,每個圖的無序節點大小是可變的,且每個結點有不同數量的鄰居結點,因此一些重要的操作如卷積能夠在圖像數據上輕易計算,但是不適用于圖數據,可見圖數據的復雜性給現有的機器學習算法帶來了巨大的挑戰 。此外,現有的機器學習算法假設數據之間是相互獨立的,但是,圖數據中每個結點都通過一些復雜的連接信息與其他鄰居相關,這些連接信息用于捕獲數據之間的相互依賴關系,包括,引用,關系,交互。
??近年來,人們對擴展基于圖數據的深度學習越來越感興趣。在深度學習的驅動下,研究人員借鑒CNN,LSTM,深度AE的思想設計了圖神經網路的架構。為了處理復雜的圖數據,在過去幾年中,對重要算子的泛化和定義發展越來越快。例如,圖1說明了圖卷積算子是如何受標準2-D卷積算子的啟發的。本文對圖神經網絡進行了一個全面的概述。
圖 1 2-D卷積和圖卷積
?
1.1 GNN簡史
??圖神經網絡的表示法最早在Gori等(2005)[16]中提出,在Scarselli等(2009)[17]中進一步闡述。這些早期的研究通過迭代的方式,利用循環神經結構傳播鄰居信息,直到達到一個穩定的不動點,來學習目標節點的表示。這些過程計算代價大,因此很多研究在克服這些困難[18],[19].本文推廣圖神經網絡術語表示所有的針對圖數據的深度學習方法。
??受CNN在計算機視覺領域巨大成功的啟發,很多方法致力于重新定義卷積算子,這些方法都屬于圖卷積網絡(GCN)。Bruna et al.(2013)首次基于譜圖理論[20]設計了一種圖卷積的變體,自此,基于譜圖的卷積網絡[12]、[14]、[21]、[22]、[23]的改進、擴展和逼近越來越多。但是譜圖方法一般同時處理整個圖,而且難以并行處理或縮放,所以近年來基于空間的圖卷積[24], [25], [26], [27]發展越來越快。這些方法通過聚集節點信息直接在圖域進行卷積。結合抽樣策略,計算可以在批節點而不是整個圖[24],[27]上進行,能夠減少計算復雜度。
??近年來,除了圖形卷積網絡外,還出現了許多新的圖形神經網絡。這些方法包括圖注意網絡(GAN)、圖的自動編碼器(GAE)、圖的生成網絡(GGN)和圖時空網絡(GSTN)。
1.2 GNN的相關研究
??相關的GNN綜述很少,Bronstein et al.[8]使用幾何深度學習的符號,概述了非歐式域的深度學習方法,包括圖形和流形。因為是先驅性工作,所以漏掉了幾個重要的基于空間的方法,包括[15]、[19]、[24]、[26]、[27]、[28]。此外,本研究未涵蓋一些新開發的架構,而這些架構對于GCN同樣重要。本文對圖注意網絡(GAN)、圖的自動編碼器(GAE)、圖的生成網絡(GGN)和圖時空網絡(GSTN)等學習范式進行了綜合評述。?Battaglia等人[29]將位置圖網絡作為構建塊學習關系數據,使用統一的框架對部分神經網絡做了回顧。但是,這個泛化的網絡高度抽象,對原始論文中的方法闡述不足。Lee等人[30]對GNN的分支GAT部分進行了總結。最近,張[31]等對GNN做了一個最近的研究,但是缺少對GGN和GSTN的研究。綜上,現有GNN方面的綜述都不完整。
1.3 GNN vs 網絡嵌入
??GNN的研究與圖嵌入或網絡嵌入密切相關,是數據挖掘和機器學習[32],[33],[34],[35],[36],[37]日益關注的另一個課題。網絡嵌入致力于在一個低維向量空間進行網絡節點表示,同時保護網絡拓撲結構和節點的信息,便于后續的圖像分析任務,包括分類,聚類,推薦等,能夠使用簡單現成的機器學習算法(例如,使用SVM分類)。許多網絡嵌入算法都是典型的無監督算法,它們可以大致分為三種類型[32],即,矩陣分解[38]、[39]、隨機游走[40]、深度學習。基于深度學習的網絡嵌入屬于GNN,包括圖自編碼算法,基于無監督訓練的圖卷積神經網絡。圖2描述了網絡嵌入和GNN的區別。
?圖2 網絡嵌入 VS GNN ??????圖3 GNN分類
?
1.4 文章的創新性
提出新的GNN算法分類,分為五種類型GCN,GAN,GAE,GGN,GSTN。同時文章分析了網絡嵌入和GNN的區別,并展示了GNN架構之間的聯系。
對每種具有代表性的算法進行詳細的描述,并進行相應的比較和總結,是目前為止最詳細的概述。
提供了豐富的GNN資源,包括最先進的算法,基準數據集,公開源碼,實際應用。
對現有算法的局限性進行了研究,并提出該領域可能的發展方向。
2 基本的圖概念的定義
本文中和GNN有關的符號定義如下:
| |??| | 集合大小 | eijeij? | 邊 |
| ⊙⊙ | 元素乘 | X∈RN×DX∈RN×D | 圖的特征矩陣 |
| ATAT | 矩陣A的轉置 | x∈RNx∈RN | D=1,特征向量 |
| [A,B][A,B] | 矩陣連接 | NN | 節點的數量NN=|VV| |
| GG | 圖 | MM | 邊的數量MM=|EE| |
| VV | 圖上點的集合 | DD | 節點向量的維度 |
| vivi? | 點 | TT | centered |
| N(v)N(v) | 點vv的鄰居節點 | EE | 圖的邊集合 |
圖:圖G=(V,E,A)G=(V,E,A),其中VV節點集合,EE邊集合,AA鄰接矩陣。vi∈Vvi?∈V描述一個點,eij=(vi,vj)∈Eeij?=(vi?,vj?)∈E描述兩個節點之間的邊,AA是一個N×NN×N的矩陣,其中Aij={wijifeij=(vi,vj)∈E0ifeij?EAij?={wij?ifeij?=(vi?,vj?)∈E0ifeij?∈/?E?連接一個節點的邊是一個節點的度,degree(vi)=∑Aidegree(vi?)=∑Ai?。
圖與節點屬性XX關聯,X∈RN×DX∈RN×D是一個特征矩陣,且Xi∈RDXi?∈RD表示節點vivi?的特征向量。當D=1D=1時,X∈RNX∈RN表示圖的特征向量。
有向圖:
有向圖中所有邊都是從一個節點指向另一個節點。對于有向圖,Aij≠AjiAij??=Aji。無向圖是所有邊都無方向的圖。對于無向圖,Aij=AjiAij=Aji。
時空圖:時空圖是一種特征矩陣XX隨時間變化的圖,G=(V,E,A,X)G=(V,E,A,X),其中X∈RT×N×DX∈RT×N×D,TT是時間步長。
3 GNN分類和框架
??本節介紹文章對GNN分類的方法,將任何可微分模型(包含了神經結構)作為GNN。將GNN分為五種類型GCN,GAN,GAE,GGN,GSTN。其中GCN在捕獲結構依賴性方面起到了重要作用,如圖3所示,其他的方法都部分利用了GCN作為構建模型的塊。表2總結了每一類方法的代表性方法。
?????????????????????????表2 GNN分類的代表性方法
| 分類 | ? | 文獻 |
| GCN | Spectral-based | [12], [14], [20], [21], [22], [23], [43] |
| Spatial-based | [13], [17], [18], [19], [24], [25], [26], [27], [44], [45] [46], [47], [48], [49], [50], [51], [52], [53], [54] | |
| Polling Modeles | [12], [21], [55], [56] | |
| GAT | ? | [15], [28], [57], [58] |
| GAE | ? | [41], [42], [59], [60], [61], [62], [63] |
| GGN | ? | [64], [65], [66], [67], [68] |
| GSTN | ? | [69], [70], [71], [72], [73] |
3.1 GNNs分類
GCNs:GCNs將傳統數據的卷積算子泛化到圖數據,這個算法的關鍵是學習一個函數ff,能夠結合vivi?鄰居節點的特征XjXj?和其本身特征XiXi?生成vivi?的新表示,j∈N(vi)j∈N(vi?)。圖4展示了GCNs的節點表示學習。圖5展示了一些基于GCN的圖神經網絡模型。
圖5 基于GCN構建的不同網絡
?
GAN:GAN與GCN類似,致力于尋找一個聚合函數,融合圖中相鄰的節點,隨機游動和候選模型,學習一種新的表示。關鍵區別是:GAN使用注意力機制為更重要的節點,步或者模型分配更大的權重,權重個網絡一起學習。圖6展示了GCN和GAN在聚合鄰居節點信息時候的不同。
圖6 GCN和GAN的不同 ????????圖7 基于循環和基于組合的GCN
(GCN邊的權重是一個固定的值,GAN是通過端到端的網絡結構學習,因此重要的點權重更大)
?
GAE:GAE是一種無監督學習框架,通過編碼器學習一種低維點向量,然后通過解碼器重構圖數據。GAE是一種常用的學習圖嵌入的方法,既適用于無屬性信息[41]、[42]的普通圖,還適用于是有屬性圖[61]、[62]。對于普通的圖,大多數算法直接預先得到一個鄰接矩陣,或者構建一個信息豐富的矩陣,也就是點對互信息矩陣,或者鄰接矩陣填充自編碼模型,并捕獲一階和二階信息[42]。對于屬性圖,圖自編碼模型利用GCN[14]作為一個構建塊用于編碼,并且通過鏈路預測解碼器[59],[61]重構結構信息。
GGN:GGN旨在從數據中生成可信的信息,生成給定圖經驗分布的圖從根本上來說是具有挑戰性的,主要因為圖是復雜的數據結構。為了解決這個問題,研究員探索了將交替形成節點和邊作為生成過程的因素,并借助[66],[67]作為訓練過程。GGN一個很有前途的應用領域是化合物合成。在化學圖中,視原子為節點,化學鍵為邊,任務是發現具有一定化學和物理性質的可合成的新分子。
GSTN:GSTN從時空圖中學習不可見的模式,在交通預測和人類活動預測等應用中越來越重要。例如,底層道路交通網絡是一個自然圖,其中每個關鍵位置是一個節點,它的交通數據是被連續監測的。通過建立有效的GSTN,能夠準確預測整個交通的系統的交通狀態[70],[71]。GSTN的核心觀點是,同時考慮空間依賴性和時間依賴性。目前很多方法使用GCNs捕獲依賴性,同時使用RNN[70],或者CNN[71]建模時間依賴關系。
3.2 框架
??GNN,尤其是GCN,通過用譜圖理論和空間局部性重新定義圖卷積,試圖在圖數據上重復CNN的成功。使用圖結構和節點信息作為輸入,GCN的輸出能夠利用以下的一種機制用于不同的圖分析任務:
- Node-level輸出用于點回歸和分類任務。圖卷積模型直接給定節點的潛在表示,然后一個多層感知機或者softmax層用作GCN最后一層。
- Edge-level輸出與邊分類和鏈路預測任務相關。為了預測一條邊的便簽或者連接強度,附加函數從圖卷積模型中提取兩個節點的潛在表示作為輸入。
- Graph-level輸出和圖分類任務相關,池化模塊用于粗話一個圖為子圖或者對節點表示求和/求平均,以獲得圖級別上的緊湊表示。
??表3列出了主要GCNs方法的輸入和輸出。特別對每種方法的GCN層和最后一層之間的輸出機制進行了總結。輸出機制可能涉及幾個池化操作,建在后面討論。
??????????????????表3 GCN 總結
| 分類 | 方法 | 輸入(是否允許邊特征) | 輸出 | 輸出機制 | |
| 中間層 | 最終層 | ||||
| Spectral-based | Spectral CNN(2014)[20] | N | Graph-level | cluster+max_pooling | softmax? |
| ChebNet(2016)[12] | N | Graph-level | efficient pooling? | mlp +softmax | |
| 1stChebNet (2017) [14] | N | Node-level | activation function | softmax? | |
| AGCN (2018) [22] | N | Graph-level | max_pooling? | sum pooling | |
| Spatial-based | GNN (2009) [17] | Y | Node-level | ~ | mlp +softmax |
| Graph-level | ~ | add a dummy super node | |||
| GGNNs (2015) [18] | N | Node-level | ~ | mlp /softmax | |
| Graph-level | ~ | sum pooling | |||
| SSE (2018) [19] | N | Node-level | ~ | softmax? | |
| MPNN (2017) [13] | Y | Node-level | ~ | softmax? | |
| Graph-level | ~ | sum pooling | |||
| GraphSage (2017) [24] | N | Node-level | activation function | softmax? | |
| DCNN (2016) [44] | Y | Node-level | activation function | softmax? | |
| Graph-level | ~ | mean pooling | |||
| PATCHY-SAN (2016) [26] | Y | Graph-level | ~ | mlp +softmax | |
| LGCN (2018) [27] | N | Node-level | skip connections | mlp +softmax | |
端到端訓練框架:GCN可以在端到端學習框架中進行(半)監督或無監督的訓練,取決于學習任務和標簽信息的可用性。
- node-level 半監督分類。給定一個部分節點被標記而其他節點未標記的網絡,GCN可以學習一個魯棒的模型,有效地識別未標記節點[14]的類標簽。為此,可以構建一個端到端的多分類框架,通過疊加幾個圖形卷積層,緊跟著一個softmax層。
- graph-level 監督分類。給定一個圖數據集,圖級分類旨在預測整個圖[55],[56],[74],[75]的類標簽(s),端到端學習框架,通過結合GCN和池化過程[55,56]實現。具體的,通過GCN獲得每個圖里每個節點固定維數的特征表示,然后,通過池化求圖中所有節點的表示向量的和,以得到整個圖的表示。最后,加上多層感知機和softmax層,可以構造一個端到端的圖分類。圖5(a)展示了這樣一個過程。
- 無監督圖嵌入。圖中沒有標簽數據的時候,可以在端到端的框架中以無監督的方式學習一種圖嵌入。這些算法以兩種方式利用邊級信息。一種簡單的:利用自編碼框架,編碼器利用GCN將圖嵌入到潛在的表示中,解碼器利用潛在的表示重構圖結構[59,61]。另一種方式:利用負采樣方法,抽取一部分節點對作為負對,圖中剩余的節點對作為正對,之后利用邏輯回歸層,形成一個端到端的學習框架[24]。
4 圖卷積網絡
??GCNs分為兩類:spectral-based 和spatial-based,Spectral-based方法從圖信號處理的角度[76]引入濾波器來定義圖卷積,此使圖卷積被解釋為從圖信號中去除噪聲。Spatial-based的方法將圖卷積表示為來自鄰居節點的特征信息的結合。GCNs在節點級作用時,圖池化模塊可以與GCN交錯定義,將圖粗話為高水平子結構。如圖5(a)所示,這樣一個結構設計能夠提取圖水平的表示并用于圖分類任務。
4.1 基于圖譜的GCN
??基于譜的方法在圖信號處理中具有堅實的基礎[76]。首先介紹圖信號處理的基本知識,然后回顧spectral-based GCNs的代表性成果。
4.1.1 圖信號處理
??歸一化圖拉普拉斯矩陣時一個圖的一種魯棒的數據表示,記為:L=In?D?12AD?12L=In??D?21?AD?21?,其中AA是圖的鄰接矩陣,DD時一個節點度矩陣,記錄每個節點的度,Dii=∑j(Aij)Dii?=∑j?(Aij?),歸一化拉普拉斯矩陣具有實對稱半正定的性質。因此LL能夠被分解為L=UΛUTL=UΛUT,其中Unexpected text node: ' 'U=[u0?,u1?,?,un?1?]∈RN×N是根據特征值排序的特征向量組成的矩陣,ΛΛ是特征值的對角矩陣,Λii=λiΛii?=λi?.圖拉普拉斯矩陣的特征向量構成一個正交的空間,即UTU=IUTU=I。在圖信號處理中,圖信號x∈RNx∈RN是圖中第ii個節點xixi?的特征向量,信號xx的圖傅里葉變換定義為F(X)=UTxF(X)=UTx,逆傅里葉變換為F?1(x?)=Ux?F?1(x)=Ux,x?x表示圖傅里葉變換對信號xx的輸出。從定義中可以看到,圖拉普拉斯確實將圖輸入信號投影到正交空間,該正交空間的基根據LL的特征向量構成。變換后的信號x?x的元素表示新空間中圖的坐標,因此,輸入信號能夠被表示為x=∑ix?iuix=∑i?xi?ui?,實際上是圖信號的逆傅里葉變換。因此,輸入信號xx用g∈RNg∈RN濾波的圖卷積為:x?Gg=F?1(F(x)⊙F(g))=U(UTx⊙UTg)x?Gg=F?1(F(x)⊙F(g))=U(UTx⊙UTg)其中⊙⊙表示Hadamard乘積,也就是點乘,矩陣的對應元素想乘。如果定義一個濾波器gθ=diag(UTg)gθ?=diag(UTg),圖卷積就簡化為x?Ggθ=UgθUTxx?Ggθ?=Ugθ?UTx??基于譜的GCN都遵循這個定義,不同的是濾波器gθgθ?的選擇不同。
4.1.2 基于譜的GCN方法
譜CNN:Bruna等人,[20]中第一次提出譜卷積神經網絡。假設濾波器gθ=Θki,jgθ?=Θi,jk?是一個可學習參數的集合,并且假設圖信號是多維的,圖卷積層頂定義為:Unexpected text node: ' 'X:,jk+1?=σ(i=1∑fk?1??UΘi,jk?UTX:,ik?)(j=1,2,?,fk?)其中Xk∈RN×fk?1Xk∈RN×fk?1?是輸入圖信號,NN是節點數量,fk?1fk?1?是輸入通道的數量,fkfk?是輸出通道的數量,Θki,jΘi,jk?是一個可學習參數的對角矩陣,σσ是一個線性變換。
Chebyshev譜CNN(ChebNet):Defferrard等人[12]中提出ChebNet,定義特征向量對角矩陣的切比雪夫多項式為濾波器,也就是gθ=∑Ki=1θiTk(Λ?)gθ?=∑i=1K?θi?Tk?(Λ),Λ?=2Λ/λmax?INΛ=2Λ/λmax??IN?。切比雪夫多項式遞歸定義為:Tk(x)=axTk?1(x)?Tk?2(x)Tk?(x)=axTk?1?(x)?Tk?2?(x),其中T0(x)=1,T1(x)=xT0?(x)=1,T1?(x)=x。信號xx的卷積為:x?Ggθ=U(∑Ki=1)θiTk(Λ?)UTx=∑Ki=1θiTi(L?)xx?Ggθ?=U(i=1∑K?)θi?Tk?(Λ)UTx=i=1∑K?θi?Ti?(L)x其中L?=2L/λmax?INL=2L/λmax??IN?。
??從上式中,ChebNet避免計算圖傅里葉的基,將計算復雜度從O(N3)O(N3)將到O(KM)O(KM).由于Ti(L?)Ti?(L)是L?L的ii階多項式,所以Ti(L?)xTi?(L)x作用于每個節點的局部,所以ChebNet濾波器在空間是局部化的。
一階ChebNet(1stChebNet)[效果很好]:Kipf等人,[14]引入了一種一階近似ChebNet。假設K=1,λmax=2K=1,λmax?=2,上式簡化為:x?Ggθ=θ0x?θ1D?12AD?12xx?Ggθ?=θ0?x?θ1?D?21?AD?21?x為了抑制參數數量防止過擬合,1stChebNet假設θ=θ0=?θ1θ=θ0?=?θ1?,圖卷積的定義就變為:x?Ggθ=θ(In+D?12AD?12)xx?Ggθ?=θ(In?+D?21?AD?21?)x為了融合多維圖輸入信號,1stChebNet對上式進行修正提出了圖卷積層:Xk+1=A?XkΘXk+1=AXkΘ其中A?=IN+D?12AD?12A=IN?+D?21?AD?21?。
??1stChebNet CGN也是空間局部化 的,彌補了譜方法和空間方法的差距。輸出的每一行表示一個節點的潛在表示,通過節點自身和鄰居節點的加權聚合計算得到,其中權重是A?A的特定行獲得。1stChebNet的主要缺點是在批訓練時,隨著1stChebNet層數的增加,計算消耗成指數增加。最后一層的每一個節點都必須遞歸的在以前層中擴展他的鄰域。Chen et al.[45]假設方程7中重新調整的鄰接矩陣A?A來自抽樣分布。這樣就可以使用蒙特卡洛和方差約減技術加速訓練過程。
Chen et al.[46]通過鄰域采樣和原來的隱藏表示將GCN的感受野縮小到任意小尺度。Huang et al.[54]提出了一種自適應分層抽樣方法來加速1stChebNet的訓練,其中低層的抽樣以高層的抽樣為條件(?)。該方法也適用于顯式方差約簡。
自適應GCN(AGCN):為了探索圖拉普拉斯矩陣為指明的隱藏結構,Li等人[22]提出了自適應圖卷積網絡(AGCN)。AGCN利用所謂的殘差圖來擴充圖,殘差圖是通過計算節點對的距離來構造的。盡管AGCN能夠捕獲互補關系信息,但是以O(N2)O(N2)的計算量為代價。
4.1.3 總結
??譜CNN[20]依賴于拉普拉斯矩陣的特征分解。主要有三個問題:首先,對圖的任何擾動都會導致特征基的變化。其次,學習的過濾器依賴于不同領域,這意味著它們不能應用于具有不同結構的圖。第三,特征分解需要O(N3)O(N3)計算和O(N2)O(N2)內存。由ChebNet[12]和1stChebNet[14]定義的過濾器具有空間局部性,學習到的權重可以在圖中的不同位置共享。然而,譜方法的一個常見缺點是需要將整個圖加載到內存中進行圖卷積,這在處理大圖時效率不高。
4.2 基于空間的GCN
??根據傳統CNN在圖像上卷積操作了,基于空間的GNN基于一個節點的空間關系定義圖卷積算子。將圖像看作特殊圖形式,每個像素代表一個節點,如圖1(a)所示,每個像素與附近的像素直接相連,如果用一個3××?3窗口取塊,每個節點的鄰居節點就是其周圍的八個像素,將濾波器作用于3××?3塊,則每個通道中心像素的值就是3××?3塊內像素的加權平均值。由于相鄰結點有固定的順序,所以可訓練權重能夠在不同的局部空間共享。如圖1(b)所示,對于一般圖結構,中心結點的表示也是根據其鄰居結點的聚合結果表示。為了探索結點感受野的深度和寬度,通常疊加多個GCL(圖卷積層),根據疊加方法的不同,將基于空間的GCN分成兩個類別,基于循環和基于組合的GCNs。基于循環的GCN使用一個相同的GCL個更新隱含表示,基于組合GCN則使用不同的GCL更新隱含表示。圖7展示了這種不同。
4.2.1 基于循環的空間GCNs
??基于遞歸的方法的主要思想是遞歸地更新節點的潛在表示,直到達到穩定的不動點。通過對循環函數[17]施加約束、使用門循環單元架構[18]、異步和隨機更新節點潛在表示[19]來實現。
GNNs:GNNs作為最早研究圖神經網絡的方法,通過遞歸地個更新結點潛在表示直到收斂來實現。換句話說,從傳播的角度來說,每個結點與鄰居結點交換信息,直到信息均衡。GNNs的圖卷積算子定義為(8),能夠處理異構圖形:htv=f(Iv,Ico[v],ht?1ne,Ine[v])hvt?=f(Iv?,Ico?[v],hnet?1?,Ine?[v])??其中IvIv?是結點vv的標簽屬性,Ico[v]Ico?[v]表示結點vv相關邊的標簽屬性,htne[v]hnet?[v]表示結點vv的鄰居結點在tt步的隱含表示,Ine[v]Ine?[v]表示節點vv鄰居節點的標簽屬性。
??為了確保收斂,遞歸函數f(?)f(?)必須是一個壓縮映射,映射后能夠縮小兩點之間的距離。當f(?)f(?)為神經網絡時,對參數的雅可比矩陣必須加罰項。GNNs采用almeda - pineda算法[77]、[78]對模型進行訓練。其核心思想是運行傳播過程以達到不動點,然后執行給定收斂解的反向過程。
門控GNN(GGNNs):GGNNs采用門控遞歸單元(GRU)[79]作為遞歸函數,將遞歸減少到固定步數。GGNNs的空間圖卷積定義為:htv=GRU(ht?1v,∑u∈N(v)Whtu)hvt?=GRU(hvt?1?,u∈N(v)∑?Whut?)??與GNNs不同,GGNNs使用時間反向傳播(BPTT)來學習參數,不需要約束參數確保收斂。但是BPTT訓練帶了時間和內存效率的損失。對于大型圖來說,問題尤其嚴重,因為GGNNs需要在所有節點上多次運行遞歸函數,需要將所有節點的中間狀態存儲在內存中。
隨機穩態嵌入(SSE):為了提高學習效率,SSE算法[19]以異步方式隨機更新節點潛在表示。如算法1所示,SSE遞歸估計節點潛在表示,并使用隨機取樣的批數據更新參數。為確保收斂到穩態,SSE的遞歸函數定義為歷史狀態和新狀態的加權平均:htv=(1?α)ht?1v+αW1σ(W2[xv,∑u∈N(v)[ht?1u,xu]])hvt?=(1?α)hvt?1?+αW1?σ(W2?[xv?,u∈N(v)∑?[hut?1?,xu?]])??雖然將鄰域信息加起來隱式地考慮了節點的度,但是求和的這種測度是否影響了算法的穩定性仍然值得探究。
算法一?隨機不動點迭代學習[19]
- 初始化參數{h0v}v∈V{hv0?}v∈V?
- for k=1 to?KK?do
- ??for t=1 to T do
- ????從節點集合VV中取nn個樣本
- ????利用公式htv=(1?α)ht?1v+αW1σ(W2[xv,∑u∈N(v)[ht?1u,xu]])hvt?=(1?α)hvt?1?+αW1?σ(W2?[xv?,∑u∈N(v)?[hut?1?,xu?]])更新nn個節點的隱層表示
- ??end
- ??for p=1 to P do
- ????從標記樣本集合VV中取mm個樣本
- ?? 根據上面公式反向傳播梯度建立正向模型
- ??end
- end
4.2.2 基于組合的空間GCNs
基于組合的方法通過疊加多個圖的卷積層來更新節點的表示。
消息傳遞神經網絡(MPNNs):Gilmer等人將現有的[12]、[14]、[18]、[20]、[53]、[80]、[81]等幾個圖卷積網絡歸納為一個統一的框架,稱為消息傳遞神經網絡(MPNNs)。MPNNs由兩個階段組成,消息傳遞階段和讀出階段。消息傳遞階段實際上是,運行T步基于空間的圖卷積,卷積算子由消息函數Mt(?)Mt?(?)和更新函數Ut(?)Ut?(?)定義:htv=Ut(ht?1v,∑w∈N(v)Mt(ht?1v,ht?1w,evw))hvt?=Ut?(hvt?1?,w∈N(v)∑?Mt?(hvt?1?,hwt?1?,evw?))??讀出階段實際上是一個池操作,根據每個節點隱含表示生成整個圖的表示。y?=R(hTv∣v∈G)y?=R(hvT?∣v∈G)??通過輸出函數R(?)R(?)生成輸出y?y?,可以用于graph-level(圖級)任務。通過假設不同形式的Ut(?)Ut?(?)Mt(?)Mt?(?),作者提出了一些其他的GCN。
GraphSage:GraphSage[24]引入聚合函數的概念定義圖形卷積。聚合函數本質上是聚合節點的鄰域信息,需要滿足對節點順序的排列保持不變,例如均值函數,求和函數,最大值函數都對節點的順序沒有要求。圖的卷積運算定義為:htv=σ(Wt?aggregatek(ht?1v,?u∈N(v)))hvt?=σ(Wt?aggregatek?(hvt?1?,?u∈N(v)))??GraphSage沒有更新所有節點上的狀態,而是提出了一種批處理訓練算法,提高了大型圖的可伸縮性。GraphSage的學習過程分為三個步驟。首先,對一個節點的K-眺鄰居節點取樣,然后,通過聚合其鄰居節的信息表示中心節點的最終狀態,最后,利用中心節點的最終狀態做預測和誤差反向傳播。如圖8所示k-hop,從中心節點跳幾步到達的頂點
圖8 GraphSage [24]的學習過程
?
??假設在第tthtth-hop取樣的鄰居個數是stst?,GraphSage一個batch的 時間復雜度是O(∏Tt=1st)O(∏t=1T?st?).因此隨著tt的增加計算量呈指數增加,這限制了GraphSage朝深入的框架發展。但是實踐中,作者發現t=2t=2已經能夠獲得很高的性能。
4.2.3 空間GCNs的其他變體
擴散卷積神經網絡(DCNN): DCNN[44]提出了一種封裝了圖擴散過程的圖卷積網絡。將輸入與轉移概率矩陣的冪級數進行獨立卷積,得到一個隱藏節點表示。DCNN的擴散卷積運算可以表示為Zmi,j,:=f(Wj,:⊙Pmi,j,:Xmi,:)Zi,j,:m?=f(Wj,:?⊙Pi,j,:m?Xi,:m?)Zmi,j,:Zi,j,:m?表示圖mm中節點ii的j?hopj?hop因隱層表示,Pmi,j,:Pi,j,:m?表示圖mm的j?hopj?hop轉移概率矩陣,Xmi,:)Xi,:m?)是圖mm中節點ii的輸入特征。其中Zm∈RNm×H×FZm∈RNm?×H×FW∈RH×FW∈RH×FPm∈RNm×H×NmPm∈RNm?×H×Nm?Xm∈RNm×FXm∈RNm?×F。
??盡管通過更高階的轉移矩陣覆蓋更大的感受野,DCNN模型需要O(N2mH)O(Nm2?H)的內存,當用在大圖上的時候會引發服務問題。
PATCHY-SAN:PATCHY-SAN[26]使用標準CNN來解決圖像分類任務。為此,它將圖結構化數據轉換為網格結構數據。首先,它使用圖標記過程為每個圖形選擇固定數量的節點。圖標記過程本質上是為圖中每個節點排序,排序可以根據節點度,中心,WeisfeilerLehman顏色[82],[83]等。然后PATCHY-SAN根據上述圖標記結果為每個節點選擇和排序固定數量的鄰居節點。最后,固定大小的網格數據形成以后,PATCHY-SAN利用標準CNN學習圖的隱層表示。GCNs中利用標準CNN能過保持平移不變性,僅依賴于排序函數。因此,節點選擇和排序的標準至關重要。PATCHY-SAN中,排序是基于圖標記的,但是圖標及值考慮了圖結構,忽略了節點的特征信息。
大規模圖卷積網絡(LGCN):LGCN[27]提出了一種基于節點特征信息的排序方法。LGCN使用標準的CNN生成node-level(節點級)輸出。對于每個節點,LGCN集成其鄰居節點的特征矩陣,并沿著特征矩陣的每一列進行排序,排序后的特征矩陣的前k行作為目標節點的輸入網格數據。最后LGCN對合成輸入進行1D-CNN得到目標節點的隱藏輸入。PATCHY-SAN中得到圖標記需要復雜的預處理,但是LGCN不需要,所以更高效。LGCN提出一個子圖訓練策略以適應于大規模圖場景,做法是將采樣的小圖作為mini-batch。
混合模型網絡(MoNet):MoNet[25]用非歐式距離領域的卷積結構統一了標準CNN。因為一些基于空間的方法在整合鄰居節點信息的時候忽略了節點與其鄰居節點之間的相對位置,所以MoNet引入了偽坐標和權值函數,從而使節點鄰居的權重取決于節點和鄰居節點的相對位置,也就是偽坐標。在這樣一個框架下,從MoNet推廣了一些基于流形的方法,可以看作MoNet的特例,如測地線CNN(GCNN)[84],各向異性CNN(ACNN)[85],樣條CNN[86],以及對于圖形GCN [14], DCNN[44]等。但是這些MoNet框架下的方法都是固定的權重函數,因此MoNet提出了一種具有可學習參數的高斯核函數自由調整權重函數。
4.2.4 總結
??基于空間的方法通過聚合鄰居的特征信息來定義圖卷積。根據圖卷積層的不同疊加方式,將空間法分為遞歸法和合成法兩大類。基于遞歸的方法致力于獲得節點的穩定狀態,基于組合的方法致力于合并更高階的鄰域信息。訓練過程中,兩大類的每一層都需要更新所有節點的隱層狀態。因為要在內存中保存所有的中間狀態,因此效率不高。為了解決這個問題,提出了一些訓練方法,包括基于組合的方法中的組圖訓練,如GraphSage[24],基于遞歸方法的隨機異步訓練,如SSE[19]。
4.3 圖池模塊
??將CNN推廣到圖結構數據的時候,圖池化模塊也至關重要,對graph-level(圖級)分類任務[55], [56], [87]來說尤其重要。Xu等[88]認為在區分圖結構方面池輔助的GCN和Weisfeiler-Lehman測試[82]一樣強大。與CNN中的池化層一樣,GCN的圖池化模塊也能夠對原始特征數據進行下采樣,容易降低方差和計算復雜度。由于池窗口中計算均值/最大值/求和的速度很快,因此均值/最大值/求和池是實現此功能最原始、最有效的方法。Unexpected text node: ' 'hG?=mean/max/sum(h1T?,h2T?,?,hnT?)??Henaff等人[21]證明在一開始使用簡單的max/mean池化對于降低圖域的維度非常重要,并且能夠緩解圖傅里葉變換的巨大復雜度開銷。
??Defferrard等人在他們的方法ChebNet[12]中優化了最大/最小池化并提出了一種有效的池化策略。首先對輸入圖進行如圖5(a)所示的粗化過程處理,然后將輸入圖的頂點和粗化后的圖進行轉換為一個平衡二叉樹,在最粗的層次上對節點任意地排序,然后將這個排序傳播到平衡二叉樹的較低層次,最后會在最細的層次上產生一個規則的排序。對重新排列的1D信號進行池化比對原始信號池化更高效。
??Zhang等人提出了一種DGCNN[55]框架,同樣對重新排列為有意義順序的頂點進行池化,與上述池化策略類似,叫SortPooling。不同的是,DCGNN根據節點在圖中的結構角色(結構特點)進行分類。將圖空間卷積得到的無序節點特征看作連續的WL colors[82],以此進行節點排序。除此之外,還會將圖特征向量或截斷或擴展到固定圖大小k。如果n>kn>k,則將最后k?nk?n行刪除,反之,如果n<kn<k,則在最后k?nk?n行補0.這種方法通過解決一個有挑戰性的底層圖結構任務,也就是排列不變,增強了圖池化,從而提高了GCNs的性能。
??最近提出的DIFFPOOL[56]池化模塊能夠生成圖的層次表示,并且在端到端的模式種能夠與CNNs和各種GNNs結構結合。DIFFPOOL不像其他粗化方法一樣對一個圖種的節點進行簡單的聚類,而是在一組輸入圖種提供一種通用的方法對節點進行層次化池化。通過學習ll層上的簇分配矩陣SS實現,S(l)∈Rn1×n1+1S(l)∈Rn1?×n1?+1。兩個包含輸入簇節點特征X(l)X(l)和粗化鄰接矩陣A(l)A(l)的獨立的GNN用來生成分配矩陣S(l)S(l)和嵌入矩陣Z(l)Z(l):Z(l)=GNNl,embed(A(l),X(l))S(l)=softmax(GNNl,pool(A(l),X(l)))Z(l)=GNNl,embed?(A(l),X(l))S(l)=softmax(GNNl,pool?(A(l),X(l)))??任何標準的GNN模型都能夠實現上述兩個公式,每個GNN模型處理相同的輸入數據,但是因為在框架的作用不同,所以有不同的參數。GNNl,embedGNNl,embed?生成新的嵌入,GNNl,poolGNNl,pool?生成輸入節點分配到nl+1nl+1?簇的概率。softmax函數對上述第二個公式按行操作,這樣,S(l)S(l)的每一行為ll層的nlnl?節點(或簇),S(l)S(l)每一列的對應下一層的一個nlnl?。一旦確定了Z(l)Z(l)S(l)S(l),池化操作定義如下:X(l+1)=S(l)TZ(l)∈Rnl+1×dA(l+1)=S(l)TA(l)S(l)∈Rnl+1×nl+1X(l+1)=S(l)TZ(l)∈Rnl+1?×dA(l+1)=S(l)TA(l)S(l)∈Rnl+1?×nl+1???第一個公式根據簇分配矩陣S(l)S(l)聚合嵌入Z(l)Z(l),以計算nl+1nl+1?簇的嵌入。節點表示作為初始簇嵌入。第二個公式,將A(l)A(l)作為輸入,生成粗化鄰接矩陣,表示簇之間的連接強度。
??總的來說,DIFFPOOL利用兩個GNN重新定義了圖池化模型對節點進行聚類。所有的GCN模型都能夠與DIFFPOOL結合,不僅能夠提高性能,而且能夠加速卷積過程。
4.4 基于光譜和空間的GCNs的對比
??基于光譜的模型作為針對圖數據最早期的卷積網絡在很多圖相關的分析任務種取得了非常好的效果,這種模型最吸引人的地方在于在圖信號處理領域奠定了一個理論基礎。通過涉及新的圖信號濾波器[23],能夠理論地涉及新的GCNs。但是,從效率,通用性和靈活性三個方面來說,基于光譜的方法有一些缺點。
??效率基于光譜的方法的計算量會隨著圖的大小急劇增加,因為模型需要同時計算特征向量[20]或者同時處理大圖,這就使得模型很難對大圖進行并行處理或縮放。基于空間的圖方法由于直接對圖域的鄰居節點進行聚合,所以有潛力處理大圖,方法是對一個batch數據計算而不是在整個圖上計算。如果鄰居節點的數量增加,能夠通過采樣技術[24,27]提高效率。
??通用性基于光譜的圖方法假設圖是固定的,因此對新的或者不同的圖泛化性能很差。基于空間的方法在每個節點上進行局部圖卷積,權值可以很容易地在不同地位置和結構之間共享。
??靈活性基于譜的模型只適用于無向圖,譜方法用于有向圖的唯一方法是u將有向圖轉換為無向圖,因為沒有有向圖的拉普拉斯矩陣明確的定義。基于空間的模型可以將輸入合并到聚合函數中(如[13]、[17]、[51]、[52]、[53]),所以在處理多源輸入像是邊特征邊方向上更靈活。
??因此,近年來,基于空間的方法更受關注。
5 超GCNs架構
??在這一節中,將對其他的圖神經網絡,包括圖注意神經網絡、圖自動編碼器、圖生成網絡和圖時空網絡進行回顧。表4總結了每個類別的主要方法。
5.1 圖注意力網絡
??注意力機制成為基于序列的任務的標準[90],其優點是能夠集中注意目標最重要的部分,在很多應用,如機器翻譯,自然語言理解等都已經證明注意力機制的有效性。由于注意力機制模型容量的增加,圖神經網絡也因此受益,它可以在聚合過程中使用注意力,集成多個模型的輸出,并生成面向重要性的隨機游走。本節將討論如何在圖結構數據中使用注意力機制。
5.1.1 GAN方法
圖注意網絡(GAT):?GAT理解
??上述關于GT的鏈接自認比較清楚。圖注意網絡(GAT)[15]是一種基于空間的圖卷積網絡,在聚合節點的鄰居信息的時候使用注意力機制確定每個鄰居節點對中心節點的重要性,也就是權重。定義如下:hti=σ(∑j∈Niα(ht?1i,ht?1j)Wt?1ht?1j)hit?=σ(j∈Ni?∑?α(hit?1?,hjt?1?)Wt?1hjt?1?)??其中α(?)α(?)表示注意力函數,能夠自動控制鄰居節點jj對中心節點的ii的貢獻。為了學習不同子空間的注意力信息,GAT 使用多頭注意力方式,并使用∥∥concat方式對不同注意力節點進行整合。hti=∥Kk=1σ(∑j∈Niαk(ht?1i,ht?1j)Wt?1kht?1j)hit?=∥k=1K?σ(j∈Ni?∑?αk?(hit?1?,hjt?1?)Wkt?1?hjt?1?)門控注意網絡(GAAN):GAAN也利用多頭注意力的方式更新節點的隱層狀態。與GAT為各種注意力設置相同的權重進行整合的方式不同,GAAN引入自注意機制對每一個head(頭),也就是每一種注意力,計算不同的權重,規則如下:hti=?o(xi⊕∥Kk=1gki∑j∈Niαk(ht?1i,ht?1j)?v(ht?1j))hit?=?o?(xi?⊕∥k=1K?gik?j∈Ni?∑?αk?(hit?1?,hjt?1?)?v?(hjt?1?))其中?o(?)?o?(?),?v(?)?v?(?)表示前饋神經網絡,gkigik?表示第kk個注意力頭的權重。
圖注意模型(GAM):GAM提出一種遞歸神經網絡解決圖分類問題,通過自適應訪問重要節點序列處理圖中信息豐富的部分。定義如下ht=fh(fs(rt?1,vt?1,g;θs),ht?1;θh)ht?=fh?(fs?(rt?1?,vt?1?,g;θs?),ht?1?;θh?)其中fh(?)fh?(?)是一個LSTM網絡,fsfs?是一個從當前節點vt?1vt?1?到他的一個鄰居節點ctct?的階躍網絡,鄰居節點優先考慮策略網絡生成的vt?1vt?1?中級別較高的類型rt=fr(ht;θr)rt?=fr?(ht?;θr?)其中rtrt?是表示節點重要性的隨機排序向量,需要以高度優先進一步探討。htht?包含節點從圖探索中聚合的歷史信息,用來對圖標簽進行預測。
注意力游走[58]:注意力游走通過隨機游走學習節點嵌入。不用于使用固定先驗的深度游走(DeepWalk)不同,注意利用游走對可微注意力權重的共生矩陣進行分解:E[D]=P?(0)∑Ck=1ak(P)kE[D]=P(0)k=1∑C?ak?(P)k其中DD表示共生矩陣,P?(0)P(0)表示初始位置矩陣,PP表示概率轉移矩陣。
5.1.2 總括
??注意力機制對GNN的貢獻分為三個方面,在聚合特征信息的時候對不同的鄰居節點分配不同的權值,根據注意力權重集成多個模型,使用注意力權重指導隨機游走。盡管將GAT[15]和GAAN[28]歸為圖的注意網絡的范疇,它們也同時是基于空間的GCN。GAT[15]和GAAN[28]的優點是可以自適應學習鄰居的重要性權重,如圖6所示。但是,由于必須計算每對鄰居之間的注意力權重,計算成本和內存消耗迅速增加。
5.2 圖自編碼
??網絡嵌入致力于使用神經網絡架構將網絡頂點在低維向量空間進行表示,圖自編碼是網絡嵌入的一種類型。典型做法是利用多層感知機作為編碼器,獲得節點嵌入,然后解碼器據此重構節點的鄰域統計信息,如正點態互信息(positive pointwise mutual information, PPMI)[41]或一階和二階近似[42]。近期,研究員探索將GCN[14]作為編碼器,設計圖自編碼器的時候或結合HCN與GAN[91],或結合GAN與LSTM[7]。首先回顧基于GCN的自編碼器,然后總結該分類的其他變體。
5.2.1 基于GCN的自編碼器
圖自編碼(GAE):GAE最早將GCN[14]整合到圖自編碼框架。編碼器定義為:Z=GCN(X,A)Z=GCN(X,A)解碼器定義為:A?=σ(ZZT)A=σ(ZZT)GAE的框架在圖5b展示。可以用變分的方式訓練GAE,也就是最小化變分下界LL:L=Eq(Z∣X,A)[logp(A∣Z)]?KL[q(Z∣X,A)∥p(Z)]L=Eq(Z∣X,A)?[logp?(A∣Z)]?KL[q(Z∣X,A)∥p(Z)]
對抗正則化圖自編碼器(ARGA)[16]:ARGA利用GANs的訓練方案[91]正則化圖自編碼器。其中,編碼器用節點的特征編碼其結構信息,也就是GCN中的隱層表示,然后解碼器從編碼器的輸出中重構鄰接矩陣。GANs在訓練生成模型的時候在生成和判別模型之間進行一個最小-最大博弈。生成器盡可能生成真實的“偽樣本”,而判別器則盡可能從真實樣本中識別”偽樣本“。GAN幫助ARGA正則化節點學習到的隱藏表示遵循先驗分布。具體來說,編碼器像生成器,盡可能使學習的節點的隱藏表示與真實的先驗分布難以區分,解碼器,可以看作判別器,盡可能識別所有的隱藏節點表示,無論節點隱藏是從編碼器生成的還是從一個真實的先驗分布得到的。
5.2.2 圖自編碼的其他變體
對抗正則化自編碼器網絡表示(NetRA)[62]:NetRA是與ARGA思想相似的一種圖自編碼框架,也是通過對抗訓練正則化節點隱藏表示遵循一種先驗分布。這種方法采用序列-序列結構[92]恢復從隨機游走種取樣的節點序列,而不是重構鄰接矩陣。
**圖表示深度神經網絡(DNGR)[41]**通過堆疊去噪自編碼[93]重構點態互信息矩陣(PPMI)。當圖被隨機游走序列化后,PPMI矩陣本質上捕獲節點的共存信息。形式上,PPMI矩陣定義為:PPMIv1,v2=max(log(count(v1,v2)?∣D∣count(v1)count(v2)),0)PPMIv1?,v2??=max(log(count(v1?)count(v2?)count(v1?,v2?)?∣D∣?),0)其中∣D∣=∑v1,v2count(v1,v2)∣D∣=∑v1?,v2??count(v1?,v2?),且v1,v2∈Vv1?,v2?∈V。堆疊的去噪自編碼能夠學習數據中潛在的高度非線性規律。與傳統的神經自編碼器不同,它通過將輸入項隨機切換到零來增加輸入的噪聲。當存在缺失值時,學習到的隱式表示更具有魯棒性。
結構深度網絡嵌入(SDNE)[42]:SDNE通過堆疊自編碼器,同時保留節點的一階和二階近似。一階近似定義為,節點和鄰居節點隱含表示之間的距離,一階近似表示的目標是,盡可能導出鄰接節點的表示。具體地,一階損失函數L1stL1st?定義為:L1st=∑ni,j=1Ai,j∥h(k)i?h(k)j∥2L1st?=i,j=1∑n?Ai,j?∥hi(k)??hj(k)?∥2二階近似定義為,節點輸入和其重構輸入之間的距離,其中節點輸入是鄰接矩陣中節點對應的行。二階近似的目標是保留一個節點的鄰居信息,具體地,二階近似的損失函數定義為:L2nd=∑ni=1∥(x?i?xi)⊙bi∥2L2nd?=i=1∑n?∥(xi??xi?)⊙bi?∥2向量bibi?對非零元素的懲罰多余零元素,因為輸入是高度稀疏化的。具體地:bij={1ifAi,j=0β>0ifAi,j=1bij?={1ifAi,j?=0β>0ifAi,j?=1?總體上,目標函數定義為L=L2nd+αL1st+λLregL=L2nd?+αL1st?+λLreg?其中LregLreg?是L2L2?正則項。
深度遞歸網絡嵌入 DRNE)[63]?直接重構節點的隱含狀態而不是重構整個圖的統計信息。DRNE使用聚合函數作為編碼器,損失函數為:L=∑v∈V∥hv?aggregate(huy∣u∈N(v))∥2(33)L=v∈V∑?∥hv??aggregate(hu?y∣u∈N(v))∥2(33)DRNE的創新之處在于選擇LSTRM作為聚合函數,其中鄰居序列按照節點度排列。
5.2.3 總結
??這些方法都學習節點嵌入,但是DNGR和SDNE只給定拓撲結構,而GAE、ARGA、NetRA和DRNE不僅給定拓撲結構而且給定節點內容特性。圖自編碼的一個挑戰是鄰接矩陣的稀疏性,使解碼器的正項數遠少于負項數。為了解決這個問題,DNGR重構了一個更緊密的矩陣即PPMI矩陣,SDNE對鄰接矩陣的零項進行了懲罰,GAE對鄰接矩陣中的項進行了加權,NetRA將圖線性化為序列。
5.3 圖生成網絡(GGN)
??圖生成網絡(GGN)的目標是,在給定一組觀察到的圖的前提下生成圖。很多圖生成方法是與特定領域相關的,例如,分子圖生成,一些方法是對分子圖進行字符串表示建模,叫做SMILES[94,95,96,97],自然語言處理,以給定的句子[98,99]為條件生成語義圖或者知識圖。最近,提出了一些統一的生成方法,一些方法將生成過程看作交替生成節點和邊[64,65],其他的方法利用生成對抗訓練[66,67]。GGN中的方法或者利用GCN作為構建塊,或者使用不同的架構。
5.3.1基于GCN的圖生成網絡
分子生成對抗網絡(MolGAN)[66]?MolGAN集成了關系GCN[100],增強GAN[101]和強化學習(RL)目標,生成期望屬性的圖。GAN包含一個生成器和一個判別器,兩者相互競爭以提高生成器的準確性。在MolGAN中,生成器嘗試生成一個“偽圖”包括他的特征矩陣,判別器則要區分偽樣本和經驗數據。另外,與判別器并行,引入一個獎勵網絡,根據外部評價器,生成具有一定特性的圖。MolGAN框架如圖9所示:
?
圖的深度生成模型(DGMG)[65]?利用基于空間的圖的GCN來獲取現有圖的隱藏表示。生成節點和邊緣的決策過程取決于生成的圖的表示形式。簡單地說,DGMG遞歸地為一個生成圖生成節點,直到到達一個停止標準。在加入新節點后的每一步,DGMG重復判斷是否在加入的點之間加入邊,直到決策變為false。如果決策為true,估計新加入的節點到每個現有節點連接的概率分布,并從概率分布中抽取一個節點作為樣本。當新的節點和連接加入到現有圖中以后,DGMG再一次更新圖表示。
5.3.2 GGN的其他變體
GraphRNN[64]?利用兩級循環神經網絡開發深度圖生成模型。圖級RNN每次向節點序列添加一個新的節點,而邊級RNN生成二進制序列,表示新加入的節點與序列中之前生成的節點之間的連接。GraphRNN采用廣度優先遍歷(BFS)策略,將圖線性化成節點序列,便于訓練圖級RNN。GraphRNN采用多變量伯努利分布或者條件伯努利分布建模二進制序列,訓練邊級RNN。
NetGAN[67]?NetGAN將LSTM[7]與Wasserstein GAN[102]結合,從一種基于隨機游走的方法生成圖形。GAN包含生成器和判別器兩個模型,生成器從一個LSTM盡最大可能生成似是而非的隨機游走,判別器從正確的隨機游走中盡可能區分偽隨機游走。訓練之后,通過對隨機游走集合中節點共生矩陣進行歸一化,得到一個新的圖。
5.3.3 總結
??對生成的圖進行評估仍然是一個難題。與人工合成圖像或者音頻不同,他們能夠直接被人類專家評估,生成的圖的質量很難直觀檢測。MolGAN和DGMG利用外部知識來評估生成分子圖的有效性。GraphRNN和NetGAN通過圖統計信息(如節點度)評估生成的圖形。DGMG和GraphRNN依次生成節點和邊緣,MolGAN和NetGAN同時生成節點和邊緣。根據[68],前一種方法的缺點是當圖變大時,對長序列建模是不現實的。后一種方法的挑戰是很難控制圖的全局屬性。最近一種方法[68]采用變分自編碼器通過生成鄰接矩陣來生成圖形,引入懲罰項來解決有效性約束。然而,由于具有nn個節點的圖的輸出空間為n2n2,這些方法都不能擴展到大型圖。
5.4 圖時空網絡
??圖時空網絡同時捕獲時空圖的時空依賴性。時空圖具有全局圖結構,每個節點的輸入隨時間變化。例如,在交通網絡中,將每個傳感器作為一個節點,連續記錄某條道路的交通速度,其中交通網絡的邊由傳感器對之間的距離決定。圖時空網絡的目標是預測未來的節點值或標簽,或預測時空圖標簽。最近的研究探索了單獨使用GCNs[72],結GCNs與RNN[70]或CNN[71],以及一種為圖結構定制的循環架構[73]。下面將介紹這些方法。
5.4.1 基于GCN的圖時空網絡
擴散卷積遞歸神經網絡(DCRNN)[70]?DCRNN引入擴散卷積作為圖卷積捕獲空間依賴性,用結合門控循環單元(GRU)[79]的序列-序列架構[92]捕獲時間依賴性。
??擴散卷積對具有前向和后向的截斷擴散過程進行建模。形式上,擴散卷積定義為:X:,p?Gf(θ)=∑K?1k=0(θk1(D?1OA))k+θk2(D?1IAT)k)X:,pX:,p?G?f(θ)=k=0∑K?1?(θk1?(DO?1?A))k+θk2?(DI?1?AT)k)X:,p?其中DODO?是出度矩陣,DIDI?是入度矩陣。為了實現多輸入輸出通道,DCRNN提出了一種擴散卷積層,定義是如下Z:,q=σ(∑Pp=1X:,p?Gf(Θq,p,:,:))Z:,q?=σ(p=1∑P?X:,p?G?f(Θq,p,:,:?))其中,X∈RN×QX∈RN×Q,Z∈RN×QZ∈RN×Q,Θ∈RQ×P×K×2Θ∈RQ×P×K×2,QQ是輸出通道數量,PP是輸入通道數量。
??為了捕獲時間依賴性,DCRNN使用擴散卷積層對GRU的輸入進行處理,這樣循環單元同時獲得上一時刻的歷史信息,和圖卷積中的鄰域信息。DCRNN中改進的GRU叫做擴散卷積門控循環單元(DCGRU):r(t)=sigmoid(Θr?G[X(t),H(t?1)]+br)u(t)=sigmoid(Θu?G[X(t),H(t?1)]+bu)C(t)=sigmoid(ΘC?G[X(t),(r(t)⊙H(t?1))+br)H(t)]=u(t)odotH(t?1)+(1?u(t))⊙C(t)r(t)=sigmoid(Θr?G?[X(t),H(t?1)]+br?)u(t)=sigmoid(Θu?G?[X(t),H(t?1)]+bu?)C(t)=sigmoid(ΘC?G?[X(t),(r(t)⊙H(t?1))+br?)H(t)]=u(t)odotH(t?1)+(1?u(t))⊙C(t)為了滿足多步預測的需要,DCGRN采用序列-序列結構[92],其中循環單元由DCGRU代替。
CNN-GCN[71]?1D-CNN與GCN交織學習時空數據。對于一個輸入張量X∈RT×N×DX∈RT×N×D,1D-CNN層沿時間軸滑過X[:,i:]X[:,i:]?聚合每個節點的時間信息,同時GCN層在每個時間步作用于X[i,:,:]X[i,:,:]?聚合空間信息。輸出層是線性轉換,生成每個節點的預測。CNN-GCN框架在圖5?中展示。
時空GCN (ST-GCN)[72]?ST-GCN將時間流擴展為圖邊,因此能夠使用統一的GCN模型提取時空信息。ST-GCN定義了一個標簽函數,根據兩個相關節點的距離為圖的每條邊分配一個標簽。這樣,鄰接矩陣就可以表示為KK個鄰接矩陣的和,其中KK是標簽的個數。然后ST-GCN對每個KK鄰接矩陣使用不同權重的GCN[14],然后求和。fout=∑jΛ?12jAjΛ?12jfinWjfout?=j∑?Λj?21??Aj?Λj?21??fin?Wj?
5.4.2 其他變體
Structural-RNN?Jain等[73]提出了一個名為Structural-RNN的遞歸結構框架,主要目標是在每個時間步驟預測節點標簽。Structural-RNN由兩種RNN組成,即nodeRNN和edgeRNN。每個節點和邊的時間信息分別通過nodeRNN和edgeRNN。由于為不同節點和邊假設不同的RNN會顯著增加模型復雜度,所以取而代之,將節點和邊分割成語義組。例如,一個人-對象交互的圖包含兩組節點,人節點和對象節點,三組邊,人-人邊,人-對象邊,對象-對象邊。統一語義組的節點或者邊共享相同的RNN。將edgeRNN的輸出作為nodeRNN的輸入,以合并空間信息。
5.4.3 總結
??DCRNN由于利用了循環網絡架構能夠處理長時間依賴關系。雖然CNN-GCN比DCRNN簡單,但是由于他首先實現了1D-CNN,所以在處理時空圖上更加高效。ST-GCN將時間流作為圖的邊,使鄰接矩陣的大小呈二次增長。一方面,增加了圖卷積層的計算成本。另一方面,為了捕獲長期依賴關系,圖卷積層必須多次疊加。Structural-RNN通過在相同的語義組共享相同的RNN提高了模型的有效性。但是,需要人類先驗知識來劃分語義組。
6 應用
??GNN有廣泛的應用。首先總結了文獻中頻繁使用的基準數據集,然后總結了四個常用數據集上的基準性能以及GNN的開源實現,最后,總結了GNN在各個領域的實際應用。
6.1 基準數據集
??作者總結了該文章涉及的文獻中每個數據集使用的頻率,并在表5中展示了至少出現兩次的數據集。
| 分類 | 數據集 | 來源 | #圖 | #節點 | #邊 | #特征 | #標簽 | 引文 |
| 引文網絡 | Cora | [103] | 1 | 2708 | 5429 | 1433 | 7 | [14], [15], [23], [27], [45] [44], [46], [49], [58], [59],[61], [104] |
| Citeseer | [103] | 1 | 3327 | 4732 | 3703 | 6 | [14], [15], [27], [46], [49] [58], [59], [61 | |
| Pubmed | [103] | 1 | 19717 | 44338 | 500 | 3 | [14], [15], [27], [44], [45] [48], [49], [59], [61], [67] | |
| DBLP | dblp.uni-trier.de [105](aminer.org/citation) | 1 | — | — | — | — | [62], [67], [104], [106] | |
| 社交網絡 | BlogCatalog | [107] | 1 | 10312 | 333983 | — | 39 | [42], [48], [62], [108] |
| [24] | 1 | 232965 | 11606919 | 602 | 41 | [24], [28], [45], [46] | ||
| Epinions | www.epinions.com | 1 | — | — | — | — | [50], [106] | |
| 生物化學圖 | PPI | [109] | 24 | 56944 | 818716 | 50 | 121 | [15], [19], [24], [27], [28] [46], [48], [62] |
| NCI-1 | [110] | 4100 | — | — | 37 | 2 | [26], [44], [47], [52], [57] | |
| NCI-109 | [110] | 4127 | — | — | 38 | 2 | [26], [44], [52] | |
| MUTAG | [111] | 188 | — | — | 7 | 2 | [26], [44], [52] | |
| D&D | [112] | 1178 | — | — | — | 2 | [26], [47], [52] | |
| QM9 | [113] | 133885 | — | — | — | 13 | [13], [66] | |
| tox21 | tripod.nih.gov/tox21/challenge/ | 12707 | — | — | — | 12 | [22], [53] | |
| 無結構圖 | MNIST | yann.lecun.com/exdb/mnist/ | 70000 | — | — | — | 10 | [12], [20], [23], [52] |
| Wikipedia | www.mattmahoney.net/dc/textdata | 1 | 4777 | 184812 | — | 40 | [62], [108] | |
| 20NEWS | [114] | 1 | 18846 | — | — | 20 | [12], [41] | |
| 其他 | METR-LA | [115] | — | — | — | — | — | [28], [70] |
| Movie-Lens1M | [116]grouplens.org/datasets/ | 1 | 10000 | 1 Millinoi | — | — | [23], [108] | |
| Nell | [117] | 1 | 65755 | 266144 | 61278 | 210 | [14], [46], [49] |
引文網絡:包括文章,作者及其關系,關系可以是引文,作者,共同作者。盡管引文網絡是有向圖,但是在評估關于節點分類,鏈接預測和節點聚類任務的模型性能時,通常被視為無向圖。引文網絡有三個流行的數據集,Cora,Citeseer和Pubmed。Cora包含2708個機器學習出版物,分為7個類。Citeseer包含3327篇科學論文,分為6個類。Cora,Citeseer中的每一篇論文都由獨熱向量表示,獨熱向量表示字典中的單詞是否被引用。Pubmed包含19717個與糖尿病相關的出版物,每一篇文章由逆文本頻率表示(IF-IDF)。此外,DBLP是一個有數百萬篇文章和作者的引文數據集,這些文章和作者都是從計算機科學書目中收集而來。可以在https://dblp.uni-trier.de上找到DBLP的原始數據集。 DBLP引文網絡的處理版本由https://aminer.org/citation持續更新。
社交網絡?數據根據在線服務如BlogCatalog,Reddit和Epinions等中的用戶交互形成。BlogCatalog是一個由博主和他們的社會關系形成的社交網絡。博主的標簽代表了他們的個人興趣。Reddit數據集是由Reddit論壇收集的帖子形成的無向圖。如果兩個如果包含同一個用戶的評論,這兩個帖子就會形成鏈接。每個帖子含有一個表示其所屬社區的標簽。Epinions數據集是從在線產品評論網站收集的多關系圖,其中評論者可以具有多種關系類型,例如信任,不信任,共同審查和共同評級。
化學/生物圖?化學分子和化合物可以用化學圖表示,原子作為節點,化學鍵作為邊緣。此類圖通常用于評估圖分類性能。 NCI-1和NCI-9數據集分別含有4100和4127種化合物,標記它們是否具有阻礙人癌細胞生長的活性。 MUTAG數據集包含188種硝基化合物,標記為是芳香族還是雜芳香族。 D&D數據集包含1178個蛋白質結構,標記它們是酶還是非酶。 QM9數據集包含133885個分子,標簽是13種化學特性。 Tox21數據集包含12707種化合物,分為12種毒性。另一個重要的數據集是蛋白質 - 蛋白質相互作用網絡(PPI)。它包含24個生物圖,其中節點表示蛋白質,邊緣表示蛋白質之間的相互作用。在PPI中,圖與人體組織關聯,節點標簽表示生物狀態。
非結構化圖?為了測試GNN對非結構化數據的泛化能力,k最近鄰圖(kNN圖)已被廣泛使用。 MNIST數據集包含70000張尺寸為28×28的圖像,并有十類數字。將MNIST圖像轉換為圖的典型方法是,基于其像素位置構造8-NN圖形。Wikipedia數據集是從維基百科轉儲的前一百萬字節中提取的單詞共生網絡。單詞標簽代表詞性(POS)標簽。 20-NewsGroup數據集包含大約20,000個新聞組(NG)文本文檔,有20種新聞類型。通過將每個文檔表示為節點,并使用節點之間的相似性作為邊緣權重來構造20-NewsGroup的圖。
其他?還有其他幾個值得一提的數據集。 METR-LA是從洛杉磯高速公路收集的交通數據集。來自MovieLens網站的MovieLens-1M數據集,包含由6k用戶提供的100萬項目評級。它是推薦系統的基準數據集。 NELL數據集是從Never-Ending Language Learning項目獲得的知識圖。它由涉及兩個實體及其關系的三元組組成。
6.2 開源項目
??在表5中列出的數據集中,Cora,Pubmed,Citeseer和PPI是最常用的數據集。在測試GCN在節點分類任務上的性能的時候,經常在這些數據集上比較。圖6展示了這四個數據集的基準性能,其中所有的數據集使用標準數據分割。開源實現有助于深度學習研究中的基線實驗。如果沒有公開源代碼,由于存在大量超參數,就會很難達到文獻中提到的結果。表7展示4-5節種涉及的GNN模型的開源實現。值得注意的是,Fey等人 [86]在PyTorch發布了一個名為PyTorch Geometric 3的幾何學習庫,它實現了幾個圖形神經網絡,包括ChebNet [12],1stChebNet [14],GraphSage [24],MPNNs [13],GAT [15]和SplineCNN [86] ]。最近發布的深度圖庫(DGL)4提高了許多GNN的快速實現,通過在流行深度學習平臺上,如PyTorch和MXNet等,提供一系列函數實現。
表6 對四個最常用數據集的性能進行基準測試
| 1stChebnet (2016) [14] | 81.5 | 70.3 | 79.0 | - |
| GraphSage (2017) [24] | - | - | - | 61.2 |
| GAT (2017) [15] | 83.0±±?0.7 | 72.5±±?0.7 | 79.0±±?0.3 | 97.3±±?0.2 |
| Cayleynets (2017) [23] | 81.9±±?0.7 | - | - | - |
| StoGCN (2018) [46] | 82.0±±?0.8 | 70.9±±?0.2 | 79.0±±?0.4 | 07.9±±?0.04 |
| DualGCN (2018) [49] | 83.5 | 72.6 | 80.0 | - |
| GAAN (2018) [28] | - | - | - | 98.71±±?0.02 |
| GraphInfoMax (2018) [118] | 82.3±±?0.6 | 71.8±±?0.7 | 76.8±±?0.6 | 63.8±±?0.2 |
| GeniePath (2018) [48] | - | - | 78.5 | 97.9 |
| LGCN (2018) [27] | 83.3±±?0.5 | 73.0±±?0.6 | 79.5±±?0.2 | 77.2±±?0.2 |
| SSE (2018) [19]] | - | - | - | 83.6 |
表7 開源實現
| ChebNet (2016) [12] | tensorflow | https://github.com/mdeff/cnn_graph |
| 1stChebNet (2017) [14] | tensorflow | https://github.com/tkipf/gcn |
| GGNNs (2015) [18] | lua | https://github.com/yujiali/ggnn |
| SSE (2018) [19] | C | https://github.com/Hanjun-Dai/steady_state_embedding |
| GraphSage (2017) [24] | tensorflow | https://github.com/williamleif/GraphSAGE |
| LGCN (2018) [27] | tensorflow | https://github.com/divelab/lgcn/ |
| SplineCNN (2018) [86] | pytorch | https://github.com/rusty1s/pytorch_geometric |
| GAT (2017) [15] | tensorflow | https://github.com/PetarV-/GAT |
| GAE (2016) [59] | tensorflow | https://github.com/limaosen0/Variational-Graph-Auto-Encoders |
| ARGA (2018) [61] | tensorflow | https://github.com/Ruiqi-Hu/ARGA |
| DNGR (2016) [41] | matlab | https://github.com/ShelsonCao/DNGR |
| SDNE (2016) [42] | python | https://github.com/suanrong/SDNE |
| DRNE (2016) [63] | tensorflow | https://github.com/tadpole/DRNE |
| GraphRNN (2018) [64] | tensorflow | https://github.com/snap-stanford/GraphRNN |
| DCRNN (2018) [70] | tensorflow | https://github.com/liyaguang/DCRNN |
| CNN-GCN (2017) [71] | tensorflow | https://github.com/VeritasYin/STGCN_IJCAI-18 |
| ST-GC(2018)[72] | pytorch | https://github.com/yysijie/st-gcn |
| Structural RNN (2016) [73] | theano | https://github.com/asheshjain399/RNNexp |
6.3 實際應用
??GNN在不同的任務和領域中有廣泛的應用。盡管每類GNN針對一些通用任務都是具體化的,包括節點分類,節點表示學習,圖分類,圖生成和時空預測,GNN仍然可以應用于節點聚類,鏈接預測[119]和圖分區[120]。本節主要根據它們所屬的一般領域介紹實際應用。
6.3.1計算機視覺
??GNN的最大應用領域之一是計算機視覺。研究人員在場景圖生成,點云分類和分割,動作識別以及許多其他方向中利用圖結構來實現進行了探索。
??在場景圖生成中,目標之間的語義關系有助于理解視覺場景背后的語義。給定圖像,場景圖生成模型檢測和識別目標并預測目標對之間的語義關系[121],[122],[123]。另一個應用是在給定場景圖的情況下生成逼真的圖像[124],與上述過程相反。由于自然語言可以被解析為語義圖,其中每個單詞代表一個對象,因此在給定文本描述的情況下合成圖像是一種很有前途。
??在點云分類和分割中,點云是由LiDAR掃描記錄的一組3D點。該任務的解決方案使LiDAR設備能夠看到周圍環境,通常對無人駕駛有益。為了識別由點云描繪的物體,[125],[126],[127],將點云轉換為k-最近鄰圖或超點圖,并使用GCN來探索拓撲結構。
??在動作識別中,識別視頻中包含的人體動作有助于從機器方面更好地理解視頻內容。一種解決方案是檢測視頻剪輯中人體關節的位置。由骨架鏈接的人體關節自然形成圖,給定人類關節位置的時間序列,[72],[73]應用時空神經網絡來學習人類行為模式。
??此外,在計算機視覺中應用GNN的可能方向的數量仍在增長。包括小樣本圖像分類[128],[129],語義分割[130],[131],視覺推理[132]和問答QA系統[133]。
6.3.2推薦系統
??基于圖的推薦系統將條目和用戶作為節點。通過利用條目和條目,用戶和用戶,用戶和條目以及內容信息之間的關系,基于圖形的推薦系統能夠提供高質量的推薦。推薦系統的關鍵是將條目的重要性評分給用戶,可以被轉換為鏈接預測問題,目標是預測用戶和條目之間缺失的鏈接。為了解決這個問題,范等人 [9]和Ying等人 [11]提出一個基于GCN的圖自編碼器。 Monti等人 [10]結合GCN和RNN來學習產生已知評級的基礎過程。
6.3.3交通
??交通擁堵已成為現代城市的熱門社會問題。準確預測交通網絡中的交通速度,交通量或道路密度對于路線規劃和流量控制至關重要。 [28],[70],[71],[134]采用的是與時空神經網絡結合的圖方法。模型輸入是時空圖,節點表示放置在道路上的傳感器,邊緣表示成對節點的距離高于閾值,并且每個節點包含時間序列作為特征。目標是在一個時間間隔內預測道路的平均速度。另一個有趣的應用是出租車需求預測,能夠幫助智能交通系統有效利用資源,有效節約能源。根據歷史出租車需求,位置信息,天氣數據和事件特征,Yao等人[135]結合LSTM,CNN和由LINE [136]訓練的節點嵌入,形成每個位置的聯合表示,以預測在一個時間間隔內該位置所需的出租車數量。
6.3.4生物化學
??在化學領域,研究人員應用GNN來研究分子的圖形結構。在分子圖中,節點表示原子,邊表示化學鍵。節點分類,圖分類和圖生成是分子圖的三個主要任務,能夠學習分子指紋[53],[80],預測分子特性[13],推斷蛋白質界面[137],并合成化學品化合物[65],[66],[138]。
6.3.5其他
??初步探索將GNN應用于其他問題,如程序驗證[18],程序推理[139],社會影響預測[140],對抗性攻擊預防[141],電子健康記錄建模[142],[ 143],事件檢測[144]和組合優化[145]。
7 未來發展方向
??盡管已經證明了GNN在學習圖數據方面的能力,但由于圖的復雜性,仍然存在挑戰。在本節中,我們提供了圖神經網絡的四個未來方向。
7.1 Go Deep
??深度學習的成功在于深層神經架構。例如,在圖像分類中,杰出的ResNet [146]的具有152個層。然而,當談到圖時,實驗研究表明,隨著層數的增加,模型性能急劇下降[147]。根據[147],這是由于圖卷積推動了相鄰節點的表示更接近,因此理論上,無限次卷積,所有節點的表示將收斂到單個點。這就涉及一個問題,在學習圖結構數據的時候,更深的網絡是否是一個好的策略。
7.2 Receptive Filed
??節點的感受野是指包括中心節點及其鄰居的一組節點。節點的鄰居數量遵循冪律分布。一些節點可能只有一個鄰居,而其他節點可能有多達幾千個鄰居。雖然[24],[26],[27]采用了采樣策略,但如何選擇節點的代表性感受野仍有待探索。
7.3 Scalability
??大多數GNN不能很好地適應大型圖。其主要原因是當堆疊多個GCN時,節點的最終狀態涉及其大量鄰居的隱藏狀態,導致反向傳播的高復雜性。雖然有幾種方法試圖通過快速采樣[45],[46]和子圖訓練[24],[27]來提高模型效率,但它們仍然不具有足夠的可擴展性來處理具有大圖的深層架構。
7.4 Dynamics and Heterogeneity
??大多數當前的圖神經網絡都采用靜態齊次圖來處理。一方面,假設圖結構是固定的。另一方面,假設圖中的節點和邊緣來自單個源。然而,在許多情況下,這兩個假設是不現實的。在社交網絡中,新人可以在任何時間進入網絡,并且現有人也可以退出網絡。在推薦系統中,產品可以具有不同的類型,其輸入可以具有不同的形式,例如文本或圖像。因此,應該開發新的方法來處理動態和異構圖結構。
8 總括
??在本次調查中,我們對GNN進行了全面的概述。 我們提供了一種分類法,將圖神經網絡分為五類:圖卷積網絡,圖注意網絡,圖自編碼器,圖生成網絡和圖時空網絡。 我們對類內或類之間的方法進行全面的回顧,比較和總結。 然后我們介紹了圖神經網絡的廣泛應用。 總結了圖神經網絡的數據集,開源代碼和基準。 最后,我們提出了圖形神經網絡的四個未來方向。
總結
- 上一篇: ArcGIS实验操作二:平移矢量要素(附
- 下一篇: 2021北京地区高考成绩排名查询,202