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


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

引言

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

圖(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 內核同時對圖上的擴散過程進行建模。

圖神經網絡的優點

圖神經網絡值得研究的根本原因如下:

  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

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

Non-local Neural Networks

NLNN[2] 利用深度學習捕捉長范圍的依賴關系,這是對非局部平均運算 [3] 的一種泛化,非局部運算通過計算對所有位置的特征的加權和來得到當前位置的影響,此處的位置集合可以是空間、時間或者時空。

Graph Networks

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

應用

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

uploading-image-874980.png

開放性問題

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

淺層結構(Shallow Structure)

傳統的深度神經網絡可以堆疊數百層以獲得更好的性能,因為更深的結構具有更多的參數,從而能夠顯著提高表示能力。而圖神經網絡通常都很淺,大多數不超過三層。正如 [5] 中的實驗所示,堆疊多個 GCN 層將導致過度平滑,也就是說,所有頂點將收斂到相同的值。盡管一些研究人員設法解決了這個問題[5:1][6],但它仍然是 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. Gated graph sequence neural networks ↩︎


免責聲明!

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



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