使用graph來表示對象之間的複雜關係和依賴關係,然而graph數據的複雜已有的機器學習算法很難處理,因此使用深度學習方法來處理。A Comprehensive Survey on Graph Neural Networks論文回顧圖神經網絡(GNN)在文本挖掘和機器學習領域的發展,將GNN劃分爲遞歸圖神經網絡、卷積圖神經網絡、圖自編碼和時空圖神經網絡四類。此外還討論圖神經網絡跨各類領域的應用、總結開源代碼、數據集和圖神經網絡評價指標。最後給出可能的研究方向。算法
做者提到基於歐氏距離計算的數據能捕獲隱含模式,然而隨着應用數量的增長,開始使用graph表示數據,例如,它能夠利用用戶和商品之間的交互來提升推薦準確率;將化學分子建成graph,生物活性在藥物發現中獲得鑑定;在引言網絡中,經過引用關係創建文章之間的聯繫,將他們分紅不一樣的類別。然而graph與圖像不一樣,節點無序、尺寸不1、鄰居節點數量變化,這增長了graph的計算難度。此外ML算法是基於樣本獨立性假設的,與graph的構建機理矛盾。網絡
圖左:2D卷積。將圖像看做graph,就是每一個紅色點與四周點創建關聯,且權重相同框架
圖右:圖卷積。鄰居節點數量不固定機器學習
♕發展歷史函數
一、遞歸圖神經網絡(RecGNNs) 1997年起,以迭代的方式並經過傳遞鄰居節點信息來學習目標節點表示,直到穩定點。此類方法計算複雜度高,一些研究者研究如何下降複雜度。如,「Gated graphsequence neural networks,ICLR2015」,「Learning steadystates of iterative algorithms over graphs,ICML2018」.學習
二、卷積圖神經網絡(ConvGNNs)分爲基於譜方法(最先2013)和基於空間方法(最先2009)編碼
三、圖自編碼(GAEs)lua
四、時空圖神經網絡(STGNNs)spa
♕圖嵌入 vs. 網絡嵌入3d
主要區別:GNN是一組神經網絡模型來處理不一樣任務,網絡嵌入涵蓋了針對同一任務的各類方法。經過圖自編碼器框架GNNs可以處理網絡嵌入問題。
graph embedding :以端到端的方式處理圖關係任務,抽取高階表示
network embedding: 低維向量表示網絡節點,同時保持網絡拓撲結構和節點內容信息。所以,任何後續的圖形分析任務,如分類、聚類和推薦,均可以使用簡單的現成的機器學習算法輕鬆地執行。網絡嵌入還包含非深度學習方法,如矩陣分解和隨機遊走。
♕圖神經網絡 vs. 圖內核方法
圖內核:是解決圖分類問題主要技術。使用核函數度量圖對之間的類似度,如svm。經過映射函數將圖和節點映射到向量空間。採用兩兩對類似度計算,計算複雜度高
圖神經網路:直接根據抽取的圖表徵執行圖分類,比圖核方法更有效。經過映射函數將圖和節點映射到向量空間。
♕方法定義
圖:G=(V,E),V是節點,E是邊
有向圖:鄰接矩陣是有符號時
時空圖:G(t)=(V,E,X(t))
♕方法分類
Graph Neural Network (GNN*2)
Graph Echo State Network(GraphESN)
Gated Graph Neural Network (GGNN)
Stochastic Steady-state Embedding (SSE)
(1)Spectral-based ConvGNN
Chebyshev Spectral CNN (ChebNet)
Graph Convolutional Network (GCN)
Adaptive Graph Convolutional Network (AGCN)
Dual Graph Convolutional Network(DGCN)
(2)Spatial-based ConvGNN
Neural Network for Graphs (NN4G)
Contextual Graph Markov Model (CGMM)
Diffusion Convolutional Neural Network (DCNN)
Diffusion Graph Convolution(DGC)
Partition Graph Convolution (PGC)
Message Passing Neural Network (MPNN)
Graph Isomorphism Network (GIN)
Graph Attention Network (GAT)
Gated Attention Network (GAAN)
Mixture Model Network (MoNet)
Large scale Graph Convolutional Network (LGCN)
Improvement in terms of training effificiency:
Fast Learning with Graph Convolutional Network (Fast GCN)
Stochastic Training of Graph Convolutional Networks (StoGCN)
♕主要數據集
主要包括引用網絡(Cora、Citeseer、Pubmed、DBLP(v11))、生物醫學網絡(PPI、NCI-一、MUTAG、D&D、PROTEIN、PTC、QM九、Alchemy)、社交網絡(Reddit、BlogCatalog)和其餘(MNIST、METR-LA、Nell)
♕圖神經網絡的應用**
B. Evaluation & Open-source Implementations
Node Classifification
Graph Classifification
Open-source implementations
C. Practical Applications
Computer vision
Natural language processing
Traffific
Recommender systems
Chemistry
♕將來研究方向
Model depth
Scalability trade-off
Heterogenity
Dynamicity