《Graph Neural Networks: A Review of Methods and Applications》閱讀筆記

本文是對文獻 《Graph Neural Networks: A Review of Methods and Applications》 的內容總結,詳細內容請參照原文。node

引言

大量的學習任務都要求能處理包含豐富的元素間關聯關係的圖數據,例如物理系統建模、疾病分類以及文本和圖像等非結構數據的學習等。圖形神經網絡(GNNs)是一種鏈接模型,經過圖形節點之間的消息傳遞捕獲圖形的依賴性。ios

圖(Graph)是一種對一組對象(node)及其關係(edge)進行建模的數據結構。因爲圖結構的強大表示能力,近年來用機器學習分析圖形的研究愈來愈受到關注,例如社會科學中的社交網絡,天然科學中的物理系統和蛋白質交互網絡,以及知識圖譜和許多研究領域均可以用圖結構來進行表示。因爲圖神經網絡(GNN)的高性能和高可解釋性,該方法已經被普遍應用與圖分析當中。算法

圖神經網絡的起源

GNN 的第一個動機源於卷積神經網絡(CNN)。CNN 具備提取多尺度局部空間,並將它們組合來構建高層次表示的能力,這致使了幾乎全部機器學習領域的突破,並開啓了深度學習的新時代。然而,CNN 只能對規則的歐幾里得數據進行處理,如圖像(2D 網格)和文本(1D 序列),這些結構也能夠看做是圖結構的特例。經過對 CNN 和圖結構的深刻了解,能夠發現 CNN 中的局部鏈接、共享權重和多層網絡一樣能夠應用於圖結構中。所以,一種直觀的想法是直接將 CNN 泛化到圖結構中。可是如 Fig. 1 所示,對於局部卷積濾波器和聚集算子的定義是十分困難的,這嚴重阻礙了 CNN 從歐幾里德域到非歐幾里德域的轉換。網絡

uploading-image-482770.png

GNN 的另外一個動機源於對圖嵌入(graph embedding)的研究,該研究主要是用來學習圖節點,邊或子圖的低維表示。在圖形分析領域,傳統的機器學習方法一般依賴於手工設計的特徵,而且受到其不靈活性和高成本的限制。基於表示學習和詞嵌入的思想,第一個基於表示學習的圖嵌入方法 DeepWalk 經過應用 SkipGram 模型來生成隨機遊走序列,相似的方法還有 node2vec,LINE 和 TADW 。而後,這些方法有兩個嚴重的缺點:(1)在 encoder 中,節點之間沒有共享參數,這致使計算效率低下,由於這意味着參數的數量隨着節點的數量線性增加;(2)直接嵌入方法缺少泛化能力,這意味着它們沒法處理動態圖形或推廣到新圖形。數據結構

基於 CNN 和 graph embedding,圖神經網絡(GNN)被提出來集體聚合來自圖結構的信息。該方法能夠模擬由元素及其依賴性組成的輸入和輸出。此外,圖神經網絡還可使用 RNN 內核同時對圖上的擴散過程進行建模。架構

圖神經網絡的優勢

圖神經網絡值得研究的根本緣由以下:app

  1. CNN 和 RNN 這樣的標準神經網絡沒法處理沒有天然節點順序的不規則圖數據,而 GNN 在每一個節點上分別傳播,忽略了節點的輸入順序。即,GNS 的輸出對於節點的輸入順序是不變的。框架

  2. 圖中的邊表示了兩個節點之間的依賴關係的信息。在標準的神經網絡中,這些依賴信息只是做爲節點的特徵。而後,GNN 能夠經過圖形結構進行傳播,而不是將其做爲特徵的一部分。一般,GNN 經過其鄰域的狀態的加權和來更新節點的隱藏狀態。機器學習

  3. 推理是高級人工智能的一個很是重要的研究課題,人腦中的推理過程幾乎都是基於從平常經驗中提取的圖形。標準神經網絡已經顯示出經過學習數據分佈來生成合成圖像和文檔的能力,同時它們仍然沒法從大型實驗數據中學習推理圖。然而,GNN 探索從場景圖片和故事文檔等非結構性數據生成圖形,這能夠成爲進一步高級 AI 的強大神經模型。函數

模型

在圖中,每一個節點由其特徵和其它相關的節點來天然定義。GNN 的目的就是爲每一個節點學習到一個包含其全部的鄰居的信息的狀態嵌入向量 \(h_v\in R^s\) 。狀態嵌入向量 \(h_v\) 是節點 \(v\)s-dimension 向量,而且能夠用來生成一個輸出 \(o_v\),輸出能夠是節點的標籤等。令 \(f(\cdot)\) 表示參數函數,也成爲局部轉移函數,由全部的節點共享,而且根據輸入的鄰居來對節點狀態進行更新。令 \(g(\cdot)\) 表示局部輸出函數,描述了輸出是如何產生的。則,\(h_v\)\(o_v\) 能夠定義爲以下形式:

\[h_v=f(x_v,x_{co[v]},h_{ne[v]},x_{ne[v]})\tag{1}\]

\[o_v=g(h_v,x_v)\tag{2}\]

其中,\(x_v\) 表示節點 \(v\) 的特徵,\(x_{co[v]}\) 表示與節點 \(v\) 關聯的邊的特徵,\(h_{ne[v]}\) 表示節點 \(v\) 的鄰居的狀態,\(x_{ne[v]}\) 表示節點 \(v\) 的鄰居的特徵。

\(H\)\(O\)\(X\)\(X_N\) 分別表示經過堆疊全部的狀態,全部的輸出,全部的特徵和全部的節點特徵而獲得的向量,則能夠將上述公式進一步表示爲:

\[H=F(H,X)\tag{3}\]

\[O=G(H,X_N)\tag{4}\]

其中,\(F\)\(G\) 分別稱爲全局轉移函數和全局輸出函數,是圖中針對全部節點的 \(f\)\(g\) 的堆疊版本。經過 Banach 的不動點理論,GNN 使用以下的迭代方式來計算狀態:

\[H^{t+1}=F(H^t,X)\tag{5}\]
其中,\(H^t\) 表示 \(H\) 的第 t 次迭代。對於任意的初始值 \(H^0\),公式(5)能經過快速收斂來獲得公式(3)的解。注意,\(f(\cdot)\)\(g(\cdot)\) 的描述的計算能夠用前饋神經網絡來解決。

經過上述的定義,咱們構建了 GNN 的基本架構,下一步是要解決的是如何來學習 \(f(\cdot)\)\(g(\cdot)\) 的參數。經過利用用於監督學習的目標信息,能夠將損失函數定義爲以下形式:

\[loss=\sum_{i=1}^p{(t_i-o_i)}\tag{6}\]
其中,\(p\) 表示監督節點的數目,\(t_i\)\(o_i\) 分別表示節點的真實值和預測值。損失函數的學習基於梯度降低策略,由如下步驟組成:

  1. 利用公式(1)對狀態 \(h_v^t\) 迭代更新,直到到達接近公式(3)的定點解的時刻 \(T\),即 \(H^T\approx H\)
  2. 經過損失函數計算權重參數 \(W\) 的梯度;
  3. 根據上一步計算獲得的梯度更新權重參數 \(W\)

限制

雖然實驗結果代表 GNN 是一種用於建模結構數據的強大架構,但原始 GNN 仍然存在一些侷限性。

  1. 對於固定點來迭代更新節點的隱藏狀態是十分低效的。若是放寬固定點的假設,能夠設計一個多層 GNN 來得到節點及其鄰域的穩定表示。
  2. GNN 在迭代中使用相同的參數,而大多數流行的神經網絡在不一樣的層中使用不一樣的參數來進行分層特徵提取。此外,節點隱藏狀態的更新是一個順序過程,能夠利用 RNN 內核,如 GRU 和 LSTM,來進一步優化。
  3. 存在一些邊緣(edges)的信息特徵沒法在原始 GNN 中有效建模。例如,知識圖中的邊緣具備關係類型,而且經過不一樣邊緣的消息傳播應根據其類型而不一樣。此外,如何學習邊緣的隱藏狀態也是一個重要問題。
  4. 若是咱們專一於節點的表示而不是圖形,則不適合使用固定點,由於固定點中的表示分佈將在值上很是平滑而且用於區分每一個節點的信息量較少。

圖神經網絡的變體

主要是從圖類型、傳播類型和訓練方法三個方面來對圖神經網絡的一些變體進行探討。

圖類型(Graph Type)

在原始的 GNN 中,輸入的圖形包括帶有標籤信息的節點和無向的邊,這是一種最簡單的圖形式。但在現實生活中,存在多種圖的變體,主要包括有向圖、異構圖和帶有邊信息的圖。

有向圖:即圖中的邊是存在方向的。有向邊能夠帶來比無向邊更多的信息。

異構圖:即圖中存在多種類型的節點。處理異構圖的最簡單方法是將每一個節點的類型轉換爲與原始特徵鏈接的 one-hot 特徵向量。

帶有邊信息的圖:即圖中的每條邊也存在權重或類型等信息。這種類型的圖有兩種解決辦法,一種是將圖形轉化爲二部圖,原始邊也做爲節點,並將其分割成兩條新的邊,分別鏈接原始邊的兩端節點;第二種方法是調整不一樣的權重矩陣,以便在不一樣類型的邊緣上傳播。

uploading-image-699076.png

傳播類型(Propagation Type)

對於獲取節點或者邊的隱藏狀態,神經網絡中的傳播步驟和輸出步驟相當重要。在傳播步驟方面的改進主要有卷積、注意力機制、門機制和跳躍鏈接(skip connection),而在輸出步驟一般遵循簡單的前饋神經網絡設置。

卷積。Graph Convolutional Network(GCN)但願將卷積操做應用在圖結構數據上,主要分爲 Spectral Method 和 Spatial Method(Non-spectral Method)兩類。Spectral Method 但願使用譜分解的方法,應用圖的拉普拉斯矩陣分解進行節點的信息收集。Spatial Method 直接使用圖的拓撲結構,根據圖的鄰居信息進行信息收集。

注意力機制。Graph Attention Network 致力於將注意力機制應用在圖中的信息收集階段。

門機制。這些變體將門機制應用於節點更新階段。Gated graph neural network 將 GRU 機制應用於節點更新。不少工做致力於將 LSTM 應用於不一樣類型的圖上,根據具體情境的不一樣,能夠分爲 Tree LSTM、Graph LSTM 和 Sentence LSTM 等。

殘差鏈接。注意到堆疊多層圖神經網絡可能引發信息平滑的問題,不少工做將殘差機制應用於圖神經網絡中,文中介紹了 Highway GNN 和 Jump Knowledge Network 兩種不一樣的處理方式

uploading-image-69899.png

訓練方法(Training Method)

原始圖卷積神經網絡在訓練和優化方法中具備若干缺點。例如,GCN 須要完整的圖拉普拉斯算子,這對於大圖來講是計算成本十分高。並且,層 \(L\) 的節點的嵌入是經過層 \(L-1\) 的全部該節點的鄰居來進行計算的。所以,單個節點的感知域相對於層數呈指數增加,單個節點的計算梯度成本很高。最後,GCN 針對固定圖形進行獨立訓練,缺少概括學習的能力。

該方面的改進主要是提出瞭如下方法:

W. L. Hamilton, Z. Ying, and J. Leskovec, 「Inductive representation learning on large graphs,」 NIPS 2017, pp. 1024–1034, 2017.

J. Chen, T. Ma, and C. Xiao, 「Fastgcn: fast learning with graph convolutional networks via importance sampling,」 arXiv preprint arXiv:1801.10247, 2018.

W. Huang, T. Zhang, Y. Rong, and J. Huang, 「Adaptive sampling towards fast graph representation learning,」 in NeurIPS 2018, 2018, pp. 4563–4572.

J. Chen, J. Zhu, and L. Song, 「Stochastic training of graph convolutional networks with variance reduction.」 in ICML 2018, 2018, pp. 941–949.

Q. Li, Z. Han, and X.-M. Wu, 「Deeper insights into graph convolutional networks for semi-supervised learning,」 arXiv preprint arXiv:1801.07606, 2018.

通用框架

除了提出圖神經網絡的不一樣變體以外,一些研究人員從神經網絡的框架入手,提出了一些通用框架,旨在將不一樣模型集成到一個單一框架中。主要包括 Message Passing Neural Networks(MPNN)、Non-local Neural Networks(NLNN)以及 Graph Network(GN)等。

Message Passing Neural Networks

針對圖結構的監督學習框架,MPNN1 框架抽象了幾種最流行的圖形結構數據模型(如圖卷積中的光譜方法和非光譜方法,門控神經網絡,交互網絡,分子圖卷積,深度張量神經網絡等)之間的共性,

Non-local Neural Networks

NLNN2 利用深度學習捕捉長範圍的依賴關係,這是對非局部平均運算 3 的一種泛化,非局部運算經過計算對全部位置的特徵的加權和來獲得當前位置的影響,此處的位置集合能夠是空間、時間或者時空。

Graph Networks

GN4 被提出來泛化和擴展多種圖神經網絡,以及 MPNN 和 NLNN 方法。本文主要介紹了圖的定義、GN block、核心 GN 計算單元、計算步驟和基本設計原則。詳細的內容擴展會另外寫到專門針對該文獻的閱讀筆記當中。

應用

圖形神經網絡已經在監督,半監督,無監督和強化學習設置的普遍問題領域中進行了探索,這裏僅列舉了一些表明性的應用。

uploading-image-874980.png

開放性問題

儘管 GNN 在不一樣領域取得了巨大成功,但值得注意的是,GNN 模型不足以在任何條件下爲任何圖形提供使人滿意的解決方案。在本節中,咱們將陳述一些開放性問題以供進一步研究。

淺層結構(Shallow Structure)

傳統的深度神經網絡能夠堆疊數百層以得到更好的性能,由於更深的結構具備更多的參數,從而可以顯著提升表示能力。而圖神經網絡一般都很淺,大多數不超過三層。正如 5 中的實驗所示,堆疊多個 GCN 層將致使過分平滑,也就是說,全部頂點將收斂到相同的值。儘管一些研究人員設法解決了這個問題67,但它仍然是 GNN 的最大限制。設計真正的深度 GNN 對於將來的研究來講是一個使人興奮的挑戰,並將對理解 GNN 作出至關大的貢獻。

動態圖結構(Dynamic Graphs)

另外一個具備挑戰性的問題是如何處理具備動態結構的圖形。靜態圖是穩定的,所以能夠容易地建模,而動態圖則引入變化的結構。當邊和節點出現或消失時,GNN 沒法自適應地更改。
動態 GNN 正在積極研究中,咱們認爲它是通常 GNN 的穩定性和適應性的重要里程碑。

非結構性場景(Non-Structural Scenarios)

雖然咱們已經討論了 GNN 在非結構場景中的應用,但咱們發現沒有最佳方法能夠從原始數據生成圖形。所以,找到最佳圖形生成方法將提供 GNN 能夠作出貢獻的更普遍的領域。

可伸縮性(Scalability)

如何在社交網絡或推薦系統等網絡規模條件下應用嵌入方法對於幾乎全部圖形嵌入算法來講都是一個致命的問題,而 GNN 也不例外。擴展 GNN 很困難,由於許多核心步驟在大數據環境中的計算成本都十分高。

總結

在過去的幾年中,圖形神經網絡已成爲圖域中機器學習任務的強大而實用的工具。這一進展歸功於表達能力,模型靈活性和訓練算法的進步。在本次調查中,咱們對圖神經網絡進行了全面的分析。對於 GNN 模型,咱們引入了按圖類型,傳播類型和訓練類型分類的變體。此外,咱們還總結了幾個統一表示不一樣變體的通常框架。在應用程序分類方面,咱們將 GNN 應用程序劃分爲結構場景,非結構場景和其餘場景,而後對每一個場景中的應用程序進行詳細介紹。最後,咱們提出了四個開放性問題,指出了圖神經網絡的主要挑戰和將來研究方向,包括模型深度,可擴展性,處理動態圖和非結構場景的能力。

參考文獻


  1. Neural message passing for quantum chemistry

  2. Non-local neural networks

  3. A non-local algorithm for image denoising

  4. Relational inductive biases, deep learning, and graph networks

  5. Deeper insights into graph convolutional networks for semi-supervised learning

  6. Deeper insights into graph convolutional networks for semi-supervised learning

  7. Gated graph sequence neural networks

相關文章
相關標籤/搜索