1. 程式人生 > >圖神經網路概述第三彈:來自IEEE Fellow的GNN綜述

圖神經網路概述第三彈:來自IEEE Fellow的GNN綜述

選自 arXiv,作者:Zonghan Wu等,機器之心編譯。

圖神經網路(GNN)熱度持續上升,之前我們曾介紹了清華兩篇綜述論文,參見:深度學習時代的圖模型,清華髮文綜述圖網路,和清華大學圖神經網路綜述:模型與應用。最近,IEEE Fellow、Senior Member 和 Member Zonghan Wu 等人又貢獻了一篇圖神經網路綜述文章。這篇文章介紹了 GNN 的背景知識、發展歷史、分類與框架、應用等,詳細介紹了各種模型與方法,包括公式、模型圖示、演算法等,希望對大家有所幫助。

引言

深度網路的最新進展推進了模式識別和資料探勘領域的研究。目標檢測、機器翻譯、語音識別等許多機器學習任務曾高度依賴手工特徵工程來提取資訊特徵集合,但多種端到端深度學習方式(即卷積神經網路、長短期記憶網路和自編碼器)改變了這種狀況。深度學習在多個領域的成功主要歸功於計算資源的快速發展(如 GPU)、大量訓練資料的收集,還有深度學習從歐幾里得資料(如影象、文字和視訊)中提取潛在表徵的有效性。例如 CNN 可以利用平移不變性、區域性連通性和影象資料語意合成性,從而提取出與整個資料集共享的區域性有意義的特徵,用於各種影象分析任務。

儘管深度學習已經在歐幾里得資料中取得了很大的成功,但從非歐幾里得域生成的資料已經取得更廣泛的應用,它們需要有效分析。例如,在電子商務領域,一個基於圖的學習系統能夠利用使用者和產品之間的互動以實現高度精準的推薦。在化學領域,分子被建模為圖,新葯研發需要測定其生物活性。在論文引用網路中,論文之間通過引用關係互相連線,需要將它們分成不同的類別。

圖資料的複雜性對現有機器學習演算法提出了重大挑戰,因為圖資料是不規則的。每張圖大小不同、節點無序,一張圖中的每個節點都有不同數目的鄰近節點,使得一些在影象中容易計算的重要運算(如卷積)不能再直接應用於圖。此外,現有機器學習演算法的核心假設是例項彼此獨立。然而,圖資料中的每個例項都與周圍的其它例項相關,含有一些複雜的連線資訊,用於捕獲資料之間的依賴關係,包括引用、朋友關係和相互作用。

最近,越來越多的研究開始將深度學習方法應用到圖資料領域。受到深度學習領域進展的驅動,研究人員在設計圖神經網路的架構時借鑑了卷積網路、迴圈網路和深度自編碼器的思想。為了應對圖資料的複雜性,重要運算的泛化和定義在過去幾年中迅速發展。例如,圖 1 展示了受標準 2D 卷積啟發得到的圖卷積。本文旨在對這些方法進行全面概述,受眾包括想要進入這一快速發展領域的研究人員和想要對比圖神經網路演算法的專家。

圖 1:2D 卷積 vs. 圖卷積

圖神經網路簡史

圖神經網路的概念首先由 Gori 等人(2005)[16] 提出,並由 Scarselli 等人(2009)[17] 進一步闡明。這些早期的研究以迭代的方式通過迴圈神經架構傳播鄰近資訊來學習目標節點的表示,直到達到穩定的固定點。該過程所需計算量龐大,而近來也有許多研究致力於解決這個難題。在本文中,圖神經網路代表的是所有用於圖資料的深度學習方法。

受到卷積網路在計算機視覺領域所獲巨大成功的激勵,近來出現了很多為圖資料重新定義卷積概念的方法。這些方法屬於圖卷積網路(GCN)的範疇。Bruna 等人(2013)提出了關於圖卷積網路的第一項重要研究,他們基於譜圖論(spectral graph theory)開發了一種圖卷積的變體。自此,基於譜的圖卷積網路不斷改進、拓展、進階。由於譜方法通常同時處理整個圖,並且難以並行或擴充套件到大圖上,基於空間的圖卷積網路開始快速發展。這些方法通過聚集近鄰節點的資訊,直接在圖結構上執行卷積。結合取樣策略,計算可以在一個批量的節點而不是整個圖中執行,這種做法有望提高效率。

除了圖卷積網路,近幾年還開發出了很多替代的圖神經網路。這些方法包括圖注意力網路(GAT)、圖自編碼器、圖生成網路以及圖時空網路。關於這些方法的分類細節詳見第三章。

圖神經網路相關研究。Bronstein 等人用符號幾何深度學習概述了非歐幾里得領域的深度學習方法,包括圖和流形。雖然這是對圖卷積網路的第一次回顧,但這一項研究遺漏了幾個基於空間的重要方法,包括 [15], [19], [24], [26], [27], [28],這些方法更新了最新的基準。此外,這項調查沒有囊括很多新開發的架構,這些架構的重要性不亞於圖卷積網路。

對於另一項研究,Battaglia 等人 [29] 將圖網路定位為從關係資料中學習的構建塊,並在統一的框架下回顧了部分圖神經網路。然而,他們整體的框架是高度抽象的,失去了每種方法在原論文中的見解。Lee 等人 [30] 對圖注意力模型(一種圖神經網路)進行了部分調查。最近,Zhang 等人 [31] 提出了一項關於圖深度學習的最新調查,卻忽略了對圖生成網路和圖時空網路的研究。總之,現有的研究沒有一個對圖神經網路進行全面的回顧,只覆蓋了部分圖卷積神經網路且檢查的研究有限,因此遺漏了圖神經網路替代方法的最新進展,如圖生成網路和圖時空網路。

圖神經網路 vs. 網路嵌入。對圖神經網路的研究與圖嵌入或網路嵌入緊密相關,這也是資料探勘和機器學習社群日益關注的一個話題 [32] [33] [34] [35], [36], [37]。網路嵌入旨在通過保留網路拓撲架構和節點內容資訊,將網路頂點表示到低維向量空間中,以使任何後續的圖分析任務(如分類、聚類和推薦)都可以通過使用簡單的現成學習機演算法(如用於分類的支援向量機)輕鬆執行。許多網路嵌入演算法都是無監督演算法,它們大致可分為三組 [32],即矩陣分解 [38], [39]、隨機遊走 [40] 和深度學習方法。用於網路嵌入的深度學習方法同時還屬於圖神經網路,包括基於圖自編碼器的演算法(如 DNGR [41] 和 SDNE [42])和具有無監督訓練的圖卷積神經網路(如 GraphSage [24])。圖 2 描述了本文中網路嵌入和圖神經網路的區別。

圖 2:網路嵌入 vs 圖神經網路。

本文作出的貢獻如下

  • 新的分類體系:考慮到深度學習在圖資料上的研究與日俱增,我們提出了圖神經網路(GNN)的新分類體系。在這種分類體系下,GNN 被分成了 5 個類別:圖卷積網路、圖注意力網路、圖自編碼器、圖生成網路和圖時空網路。我們確定了圖神經網路和網路嵌入之間的區別,並在不同的圖神經網路架構之間建立了聯絡。

  • 全面的概述:這個綜述提供了在圖資料上的現代深度學習技術的全面概述。對每一種型別的圖神經網路,我們提供了表徵演算法的細節描述,並做了必要的對比和對應演算法的總結。

  • 豐富的資源:這篇綜述提供了圖神經網路的豐富資源,其中包括當前最佳演算法、基準資料集、開原始碼和實踐應用。這篇綜述可以作為理解、使用和開發不同實際應用的深度學習方法的實踐指南。

  • 未來方向:這篇綜述還強調了已有演算法的當前限制,指出了這個快速發展領域未來的可能方向。

論文:A Comprehensive Survey on Graph Neural Networks


論文連結:https://arxiv.org/pdf/1901.00596v1.pdf

摘要:近年來,從影象分類到視訊處理再到語音識別和自然語言處理,深度學習已經變革了多項機器學習任務。這些任務中的資料通常表示在歐幾里得空間中。然而,越來越多的應用使用非歐幾里得域生成的資料,並將它們表示為具有複雜關係和相互依賴關係的圖。雖然圖資料的複雜性對現有機器學習演算法提出了重大挑戰,但最近許多研究開始將深度學習方法擴充套件到圖資料。

本文綜述了資料探勘和機器學習領域中的圖神經網路(GNN),並按照新的方法對圖神經網路的最新進展進行了分類。在關注圖卷積網路的同時,他們還回顧了最近開發的其他架構,例如圖注意力網路、圖自編碼器,圖生成網路以及圖時空網路等。我們還進一步討論了圖神經網路在多個領域的應用並總結了不同學習任務現有演算法的開原始碼及基準。最後,我們提出了這一快速發展領域的研究方向。

2. 定義

在這一節,我們提供基礎圖概念的定義。為了方便查詢,我們在表 1 總結了常用的符號。

表 1:常用符號。

3. 分類與框架

這一部分內容給出了圖神經網路的分類方法。我們考慮到了所有能與神經架構組合成圖神經網路的可微圖模型,把圖神經網路最終分類為:圖卷積網路、圖注意力網路、圖自編碼器、圖生成網路和圖時空網路。這些網路中,圖卷積網路在捕捉架構依存關係上扮演著核心角色。如下圖 3 所示,屬於其他類別的方法部分使用圖卷積網路作為基礎。表 2 總結了每個類別的代表性方法。

圖 3:圖神經網路分類

表 2:圖神經網路代表性論文

下圖 4 展示了圖卷積網路節點表徵學習的過程。

圖 4:有多層 GCN 層的圖卷積網路變體。通過從鄰域聚合特徵資訊,一個 GCN 層把每個節點的隱藏表徵進行壓縮。在特徵聚合之後,非線性置換被應用到生成的輸出上。通過多層堆疊,每個節點的最終隱藏表徵從後續鄰域獲得資訊。

下圖 5 展示了多個建立在 GCN 上的圖神經網路模型。

圖 5:建立在 GCN 上的不同圖神經網路模型。

下圖展示了圖卷積網路和圖注意力網路在聚合鄰近節點資訊方面的區別。

3.2 框架

表 3:圖卷積網路的總結。Node-level 輸出與節點回歸和分類任務相關,Edge-level 輸出與邊分類和連結預測任務相關,Graph-level 輸出與圖分類任務相關。

端到端訓練框架。圖卷積網路可以以(半)監督或純無監督的方式在端到端學習框架中訓練,依賴於學習任務和可用的標籤資訊。

  • 節點級分類的半監督學習。給定部分節點被標記的單個網路,圖卷積網路可以學習到一個魯棒的模型,高效識別未標記節點的類別標籤 [14]。為此,可以通過堆疊一系列的圖卷積層和 softmax 層來建立端到端框架進行多類別分類。

  • 圖級分類的監督學習。給定一個圖資料集,圖級分類旨在預測整個圖的類別標籤 [55], [56], [74], [75]。這一任務的端到端學習可以利用一個結合了圖卷積層和池化步驟的框架實現 [55], [56]。

  • 圖嵌入的無監督學習。如果圖中無可用類別標籤,我們可以在一個端到端框架中以完全無監督的方式學習圖嵌入。這些演算法通過兩種方式利用邊級(edge-level)資訊。一種簡單的方法是採用自編碼器框架,其中編碼器使用圖卷積層將圖嵌進潛在表徵中,然後使用解碼器重構圖結構 [59], [61]。另一種方法是利用負取樣方法,取樣一部分節點對作為負對(negative pair),而圖中已有的節點作為正對(positive pair)。然後在卷積層之後應用 logistic 迴歸層,以用於端到端學習 [24]。

4. 圖卷積網路

這一章概覽圖卷積網路(GCN),這是很多複雜圖神經網路模型的基礎。GCN 方法分為兩類,分別基於譜和空間。基於譜的方法通過從圖訊號處理的角度引入濾波器來定義圖卷積,其中圖卷積運算被解釋為從圖訊號中去除噪聲 [76]。基於空間的方法將圖卷積表徵為聚合來自近鄰的特徵資訊。雖然 GCN 在節點級別上執行,但是圖池化模組可以與 GCN 層交替,將圖粗粒化為高階子結構。如圖 5a 所示,這種架構設計可用於提取圖級表徵、執行圖分類任務。下文會分別介紹、基於空間的 GCN 和圖池化模組。

基於譜的 GCN 部分介紹了其背景、方法等,這些方法包括 Spectral CNN、Chebyshev Spectral CNN (ChebNet)、First order of ChebNet (1stChebNet) 和 Adaptive Graph Convolution Network (AGCN)。

基於空間的 GCN 分為兩類:Recurrent-based Spatial GCN 和 Composition Based Spatial GCN。前者包括圖神經網路(Graph Neural Networks,GNN)、門控圖神經網路(Gated Graph Neural Networks,GGNN)和 Stochastic Steady-state Embedding (SSE)。後者涉及了:Message Passing Neural Networks (MPNN)、GraphSage。此外,這部分還介紹了這兩大類之外的空間 GCN 變體,包括 Diffusion Convolution Neural Networks (DCNN)、PATCHY-SAN、Large-scale Graph Convolution Networks (LGCN)、Mixture Model Network (MoNet)。


SSE 演算法。

這一章還從效率、通用性和靈活性方面,對比了基於譜的 GCN 和基於空間的 GCN,認為基於空間的 GCN 更具優勢,也因此吸引了更多研究興趣。

5 圖卷積網路之外的模型

這部分概述了圖卷積網路之外的其他圖神經網路,包括圖注意力神經網路、圖自編碼器、圖生成模型和圖時空網路。下表總結了每個類別下的主要方法。

表 4:圖卷積網路之外的其他圖神經網路概覽。該表根據網路的輸入、輸出、目標任務和是否基於 GCN 總結了每種網路下的多種方法。輸入列代表每種方法適合分散式圖 (A)、有向圖 (D) 還是時空圖 (S)。

5.1 圖注意力網路

注意力機制幾乎成為序列任務中的標配。它的價值在於能夠聚焦於物件最重要的部分。該機制被證明在多項任務中有用,如機器翻譯和自然語言理解。由於注意力機制的模型容量越來越大,圖神經網路在聚合資訊、整合多個模型的輸出、生成重要性導向的隨機遊走時,可以從注意力機制中獲益良多。

這部分介紹了圖注意力網路的多種方法,包括圖注意力網路(Graph Attention Network,GAT)、門控注意力網路(Gated Attention Network,GAAN)、圖注意力模型(Graph Attention Model,GAM)、注意力遊走(Attention Walks)。

注意力機制對圖神經網路的貢獻有三部分,即在聚合特徵資訊時向不同近鄰分配注意力權重、根據注意力權重整合多個模型,以及使用注意力權重引導隨機遊走。儘管我們把 GAT 和 GAAN 分類為圖注意力網路的兩種方法,但是它們都可以作為基於空間的卷積網路。二者的優勢是它們可以適應性地學習近鄰的重要性權重(如圖 6 所示)。但是,由於我們必須計算每對近鄰之間的注意力權重,因此計算成本和記憶體消耗會快速增長。

5.2 圖自編碼器

圖自編碼器是一類網路嵌入方法,旨在通過神經網路架構將網路頂點表徵到低維向量空間。典型的解決方案是使用多層感知機作為編碼器來獲取節點嵌入,解碼器重建節點的近鄰統計,如正逐點互資訊(positive pointwise mutual information,PPMI)或一階、二階接近度(proximities)[42]。最近,研究人員嘗試在設計圖自編碼器時用 GCN 作為編碼器、結合 GCN 和 GAN,或者結合 LSTM 和 GAN。

這部分介紹了基於 GCN 的自編碼器和其他變體。基於 GCN 的自編碼器部分介紹了:圖自編碼器(Graph Auto-encoder,GAE)、對抗正則化圖自編碼器(Adversarially Regularized Graph Autoencoder,ARGA)。其他變體包括:具備對抗正則化自編碼器的網路表徵(Network Representations with Adversarially Regularized Autoencoders,NetRA)、用於圖表徵的深度神經網路(Deep Neural Networks for Graph Representations,DNGR)、結構化深度網路嵌入(Structural Deep Network Embedding,SDNE)、深度遞迴網路嵌入(Deep Recursive Network Embedding,DRNE)。

DNGR 和 SDNE 僅基於拓撲結構學習節點嵌入,而 GAE、ARGA、NetRA 和 DRNE 需要基於拓撲資訊和節點內容特徵學習節點嵌入。圖自編碼器的一個挑戰是鄰接矩陣的稀疏性,會導致解碼器正條目(positive entry)的數量遠遠少於負條目。為了解決這個問題,DNGR 重建了一個較稠密的矩陣——PPMI 矩陣,SDNE 對鄰接矩陣的零條目進行懲罰,GAE 重新調整鄰接矩陣中項的權重,NetRA 將圖線性化為序列。

5.3 圖生成網路

圖生成網路的目標是基於一組可觀察圖來生成圖。其中的很多方法都是領域特定的。例如,在分子圖生成方面,一些研究將分子圖的表徵建模為字串 SMILES [94], [95], [96], [97]。在自然語言處理中,生成語義圖或知識圖通常需要一個給定的句子 [98], [99]。最近,研究人員又提出了多個通用方法。一些研究將生成過程看成節點或邊的形成 [64], [65],而另一些則使用生成對抗訓練 [66], [67]。該領域的方法要麼使用 GCN 作為構造塊,要麼使用不同的架構。

這部分介紹了基於 GCN 的圖生成網路和其他圖生成網路。前者包括:分子生成對抗網路(Molecular Generative Adversarial Networks,MolGAN)和深度圖生成模型(Deep Generative Models of Graphs,DGMG);後者涉及 GraphRNN(通過兩級迴圈神經網路使用深度圖生成模型)和 NetGAN(結合 LSTM 和 Wasserstein GAN 從基於隨機遊走的方法中生成圖)。


圖 9:MolGAN 框架圖示。

5.4 圖時空網路

圖時空網路同時捕捉時空圖的時間和空間依賴。時空圖具備全域性圖結構,每個節點的輸入隨著時間而改變。例如在交通網路中,使用每個感測器作為節點來連續記錄某條道路的交通流動速度,其中交通網路的邊由感測器對之間的距離決定。圖時空網路的目標是預測未來節點值或標籤,或預測時空圖標籤。近期研究探索了僅使用 GCN、結合 GCN 和 RNN 或 CNN,以及專用於圖結構的迴圈架構。

這部分介紹了基於 GCN 的圖時空網路和其他圖時空網路。前者包括:Diffusion Convolutional Recurrent Neural Network (DCRNN)、CNN-GCN、時空 GCN(Spatial Temporal GCN,ST-GCN)。其他方法有 Structural-RNN,一種迴圈結構化框架。

DCRNN 的優勢是能夠處理長期依賴,因為它具備迴圈網路架構。儘管 CNN-GCN 比 DCRNN 簡單一些,但 CNN-GCN 能夠更高效地處理時空圖,這要歸功於 1D CNN 的快速實現。時空 GCN 將時間流作為圖的邊,這導致鄰接矩陣的大小呈平方增長。一方面,它增加了圖卷積層的計算成本。另一方面,要捕捉長期依賴,圖卷積層必須多次堆疊。StructuralRNN 在同一個語義組內共享相同的 RNN,從而改善了模型效率,但是 StructuralRNN 需要人類先驗知識來分割語義組。

6 應用

圖神經網路應用廣泛。下面將首先介紹在文獻中頻繁使用的基準資料集。接著將報告各種方法在四種常用資料集上的基準效能,並列出可用的圖神經網路開源實現。最後,我們將介紹圖神經網路在各個領域的實際應用案例。

6.1 資料集

表 5:常用資料集總結。

6.2 基準和開源實現

表 6:各種方法在四種最常用資料集上的基準效能。以上列出的方法都使用相同的訓練、驗證和測試資料集進行評估。

表 7:開源實現概覽。

6.3 實際應用案例

本文按領域介紹了 GNN 的應用,包括計算機視覺、推薦系統、交通、化學等。

7 未來方向

加深網路。深度學習的成功在於深度神經架構。例如在影象分類中,模型 ResNet 具有 152 層。但在圖網路中,實證研究表明,隨著網路層數增加,模型效能急劇下降 [147]。根據論文 [147],這是由於圖卷積的影響,因為它本質上推動相鄰節點的表示更加接近彼此,所以理論上,通過無限次卷積,所有節點的表示將收斂到一個點。這導致了一個問題:加深網路是否仍然是學習圖結構資料的好策略?

感受野。節點的感受野是指一組節點,包括中心節點和其近鄰節點。節點的近鄰(節點)數量遵循冪律分佈。有些節點可能只有一個近鄰,而有些節點卻有數千個近鄰。儘管採用了取樣策略 [24], [26], [27],但如何選擇節點的代表性感受野仍然有待探索。

可擴充套件性。大部分圖神經網路並不能很好地擴充套件到大型圖上。主要原因是當堆疊一個圖卷積的多層時,節點的最終狀態涉及其大量近鄰節點的隱藏狀態,導致反向傳播變得非常複雜。雖然有些方法試圖通過快速取樣和子圖訓練來提升模型效率 [24], [27],但它們仍無法擴充套件到大型圖的深度架構上。

動態性和異質性。大多數當前的圖神經網路都處理靜態同質圖。一方面,假設圖架構是固定的。另一方面,假設圖的節點和邊來自同一個來源。然而,這兩個假設在很多情況下是不現實的。在社交網路中,一個新人可能會隨時加入,而之前就存在的人也可能退出該社交網路。在推薦系統中,產品可能具有不同的型別,而其輸出形式也可能不同,也許是文字,也許是影象。因此,應當開發新方法來處理動態和異質圖結構。