圖結構數據是現實生活中廣泛存在的一類數據形式.宏觀上的互聯網、知識圖譜、社交網絡數據,微觀上 的蛋白質、化合物分子等都可以用圖結構來建模和表示.由于圖結構數據的復雜性和異質性,對圖結構數據的分析 和處理一直是研究界的難點和重點.圖神經網絡(GraphNeuralNetwork,GNN)是近年來出現的一種利用深度學 習直接對圖結構數據進行學習的框架,其優異的性能引起了學者高度的關注和深入的探索.通過在圖中的節點和 邊上制定一定的策略,GNN 將圖結構數據轉化為規范而標準的表示,并輸入到多種不同的神經網絡中進行訓練, 在節點分類、邊信息傳播和圖聚類等任務上取得優良的效果.與其他圖學習算法相比較,GNN 能夠學習到圖結構 數據中的節點以及邊的內在規律和更加深層次的語義特征.由于具有對圖結構數據強大的非線性擬合能力,因此 在不同領域的圖相關問題上,GNN 都表現出更高的準確率和更好的魯棒性.本文在現有 GNN 研究的基礎上,首先 概述了 GNN 的出現歷程,并介紹了相關概念和定義.之后本文著重討論和對比了 GNN 中的各種算法框架,包括 核心思想、任務劃分、學習方式、優缺點、適用范圍、實現成本等.此外,本文對 GNN 算法在多個不同領域下的應用 場景進行了詳細的闡述,將 GNN 與其他圖學習算法的優缺點作了聯系和比較.針對存在的一些問題和挑戰,本文勾畫了 GNN 的未來方向和發展趨勢,最后對全文進行了全面而細致的總結。
引言
近年來,深 度 學 習[1]在 多 個 領 域 取 得 明 顯 優 異的效果,特別是在計算機視覺、音頻識別以及自 然語言處理 三 個 方 面 取 得 突 破 性 進 展.深 度 學 習 通過建立人 工 神 經 網 絡,對 輸 入 的 信 息 和 數 據 逐 層進行特征 的 提 取 和 篩 選,最 終 獲 得 分 類 和 預 測 等任務的結 果.相 較 于 統 計 機 器 學 習 等 淺 層 學 習 模式,深度學 習 所 使 用 的 神 經 網 絡 架 構 具 有 多 個 功能各異的 復 雜 網 絡 層,其 特 征 提 取 和 識 別 的 數 量和質量顯 著 提 高,并 且 能 夠 自 底 向 上 生 成 更 加 高級的特征表示.這使得機器能夠獲得抽象概念, 具備 更 強 的 表 征 學 習 能 力[2].諸 如 多 層 感 知 機 (MultilayerPerceptron,MLP)[3]、卷 積 神 經 網 絡 (ConvolutionalNeuralNetwork,CNN)[4]、循 環 神 經網絡(RecurrentNeuralNetwork,RNN)[5]、生成 對 抗 網 絡 (Generative Adversarial Network,GAN)[6]和自編碼器(Auto-encoder,AE [7]等性能優 異的神經網絡已經成為許多研究領域解決問題的通 用網絡框架.
但是隨著研究的深入,研究人員發現深度學習 并不能適應和解決所有的情況和問題.在過去十多 年的發展中,深度學習取得的成就主要限定在了計 算機視覺、自然語言處理和音頻分析領域上.這些領 域上的數據和信息有著比較顯著的特點.文本、圖 像、音頻、視頻的數據格式在形式上有著統一而規整 的尺寸和維度,它們也被稱作歐式結構(Euclidean Structure)或者網格結構(GridStructure)數據.除 此之外,現實生活中存在大量的非歐式結構的圖數 據,例如互聯網、知識圖譜、社交網絡、蛋白質、化合 物分子等.盡管深度學習在歐式結構數據上取得巨 大的成功,但在圖結構數據上,基于神經網絡的深度 學習表現得并不好.在圖結構數據中,節點與節點之 間的邊連接可能是均勻分布的,也可能是不均勻的. 節點與節點之間沒有嚴格意義上的先后順序.對于神經網絡的輸入端而言,這些數據沒有固定的輸入 尺寸.在數學表達上,這些數據與歐式結構數據相 比,每一個區塊的特征矩陣維度都不是統一的,如圖 1所示.由于無法使用統一規整的算子對數據編排, 導致 CNN 等神經網絡不能再直接對其進行諸如卷 積和池化等操作,也就不再有局部連接、權值共享、 特征抽象等性質[8].如何將 CNN 等深度學習算法 用于分析圖結構數據上成為一個有挑戰性和前沿性 的課題.近年來 Gori等人[9]用 RNN 來壓縮節點信 息和學習圖節點標簽,首次提出圖神經網絡(Graph NeuralNetwork,GNN)這一概念.之后文獻[10]提出 圖 卷 積 網 絡 (Graph Convolutional Network, GCN),正式將 CNN 用于對圖結構數據建模.GCN 通過整合中心節點和鄰居節點的特征和標簽信息, 給出圖中每個節點的規整表達形式,并將其輸入到 CNN 中.這樣一來 GCN 就能利用多尺度的信息, 組合成更高層次的表達.其有效地利用了圖結構信 息和屬性信息,為深度學習中其他神經網絡遷移至 圖上提供了標準的范式.在新的研究思路的基礎上, 各種 GNN 架構相繼被構造出來,在多個領域的圖 結構數據中發揮了獨特的作用,并促進了圖相關的人工智能推理任務的發展。
本文針對近年來出現的 GNN 學習方法和研究現狀進行了系統的歸納和梳理,并對它們的主要思 想、改進以及局限性做了詳盡分析.目前已有 Xu等 人[11]關于圖卷積神經網絡的綜述,本文在全面對比 分析的基礎上,對目前主要的 GNN 算法進行了更 加合理的分類和介紹.除了圖卷積神經網絡,GNN 主流算法還包括有圖自編碼器、圖生成網絡、圖循環 網絡以及圖注意力網絡.本文對每類 GNN 算法都 給出了其定義和典型方法,將 GNN 中每種算法的 機制、優勢、缺點、適用范圍、實現成本等進行了提煉 總結.在進行了相應的數據實驗基礎上,與其他基準 圖算法進行了比對.本文在第2節中給出關于 GNN 的基本概念和定義;在第3節分門別類的給出 GNN 的主要模型和算法;在第4節,對比和分析 GNN 與 網絡嵌入(NetworkEmbedding)以 及 圖 核 (Graph Kernel)方法的特性和優勢.在第5節中,闡述目前 GNN 在多個領域圖數據上的具體應用;在第6節歸 納和總結現有 GNN 模型缺陷和不足,并對未來發 展方向和趨勢進行展望.最后在第7節對全文所述 進行總結.
圖神經網絡模型
圖卷積網絡
圖 卷 積 網 絡 (GraphConvolutionalNetwork, GCN)進行卷積操作主要有兩種方法:一種是基于 譜分解,即譜分解圖卷積.另一種是基于節點空間變 換,即空間圖卷積.Bruna等人[10]第一次將卷積神 經網路泛化到圖數據上,提出兩種并列的圖卷積模 型———譜分解圖卷積和空間圖卷積.Bruna等人對 比分析了一般圖結構數據和網格數據共有的特點和 不同之處,綜合運用了空間圖卷積和譜分解處理圖 像聚類問題.下面本文對譜分解圖卷積和空間圖卷積進行詳細的梳理和介紹。
圖自編碼器
在 深 度 學 習 領 域,自 編 碼 器 (Auto-encoder, AE)是一類將輸入信息進行表征學習的人工神經網 絡.自編碼器一般包含編碼器和解碼器兩個部分,基 于自編碼器的 GNN 被稱為圖自編碼器(GraphAuto-encoder,GAE),可以半監督或者無監督地學習 圖節點信息.如圖3所示
在圖自編碼器上,文獻[54]提出基于深度神經網絡的 表 示 模 型 (Deep NeuralNetworkforGraph Representations,DNGR).DNGR 采用隨機游走模 型(RandomSurfingModel)獲取圖結構信息,生成 概率共現 矩 陣,并 在 概 率 共 現 矩 陣 的 基 礎 上 計 算 PPMI矩陣.在圖節點嵌入表示學習上,DNGR 設計 了一個疊加去噪自編碼器(StackedDenoisingAuto-encoder,SDA),輸入 PPMI矩陣學習圖節點低維 表示,并且輸入的一部分會被隨機置零以提高模型 的魯棒性.DNGR的優點在于能學習到有向圖中更 多的結構信息,其生成的低維嵌入表示可以用于不 同的下游任務.但缺點是忽略了圖屬性信息,沒有將 圖屬性和圖結構信息一并納入到模型框架中,因此 圖結構的輕微變化就會影響節點表示的好壞.針對 節點內容信息的收集,Wang 等人[55]提出一種邊緣 圖 自 編 碼 器 (Marginalized Graph Autoencoder, MGAE)算法.其在自編碼器中使用基于譜分解的 圖卷積網絡層,整合節點屬性特征和圖結構信息,使得它們之間能進行數據交互.MGAE堆疊多層圖形 自編碼器,以建立一個深層次的架構來學習有效的 節點表示.Wang等人認為在訓練中隨機噪聲引起 的干擾可能會提供更有效的輸出表示,因此會在節點 內容特征中動態地加入一些干擾項.通過將某些特征 值置為零,獲得在大規模圖上學習的能力.MGAE構 建了優化器以確保編碼的節點屬性信息和真實屬性 信息之間的誤差最小化.在得到每個節點的表示后, MGAE使用譜聚類算法得到圖聚類結果。
圖生成網絡
建模和生成圖是研究生物工程和社會科學網絡 的基礎.圖生成網絡(GraphGenerativeNetwork, GGN)是一類用來生成圖數據的 GNN,其使用一定 的規則對節點和邊進行重新組合,最終生成具有特 定屬性和要求的目標圖.然而,在圖上模擬復雜分 布,并從這些分布中有效地采樣是比較困難的.因為 有些圖數據具有非唯一性、高維性質,圖中邊緣之間 存在復雜的非局部依賴性.因此不能假設所有的圖 數據都來自于同一個先驗分布,尤其是對于異質圖, 模型在識 別 過 程 中 必 須 要 具 有 平 移 不 變 性.因 此 GGN 著重用來解決這類問題和克服其中的難點. GGN 的輸入可以是節點或者邊向量,也可以是給定 的圖嵌入表示,然后對采樣的數據學習后合成各種 任務所需要的圖.
圖循環網絡
圖循環網絡(GraphRecurrentNetwork,GRN) 是最早出現的一種 GNN 模型.相較于其他的 GNN 算法,GRN 通常將圖數據轉換為序列,在訓練的過 程中序列會不斷地遞歸演進和變化.GRN 模型一般 使用 雙 向 循 環 神 經 網 絡 (BidirectionalRNN,BiRNN)和長短期記憶網絡(LongShort-Term MemoryNetwork,LSTM)作為網絡架構.
圖注意力網絡
注意力機制可以讓一個神經網絡只關注任務學 習所 需 要 的 信 息,它 能 夠 選 擇 特 定 的 輸 入[96].在 GNN 中引入注意力機制可以讓神經網絡關注對任 務更加相關的節點和邊,提升訓練的有效性和測試 的精度,由此形成圖注意力網絡(GraphAttention Network,GAT).
圖神經網絡總結分析
通過前文的歸納和分析, 從總體上看, 圖神經網絡可以分為五類: 圖卷積網絡、圖自編碼器、圖生成網絡、圖循環網絡和圖注意力網絡.每種圖神經網絡 都有自己對圖結構數據處理的一套算法和體系,其 中的原理和適用的范圍也有一定差別.當然它們之 間不是相互孤立和排斥的,例如文獻[59,65]的圖自 編碼器中包含圖卷積層,文獻[91,95]的圖循環網絡 為了圖序列學習更有效,也會加入注意力模塊.而圖 注意力網絡也大多以其他圖神經網絡框架為基礎, 構建合適的節點、邊以及圖注意力網絡層.因此在實 際操作當中,需要根據圖的分布和特征信息,以及任 務的實際需求,選擇合適的圖神經網絡,來更加有效 地學習圖結構數據. 表7是 GNN 機制、優點、缺點、 適用范圍及實現成本匯總表。
圖神經網絡應用
由于 GNN 能較好地學習圖結構數據的特征, 因此在許多圖相關的領域有著廣泛的應用.若按照 應用中圖的層次結構劃分,則大體可以分為節點、邊 和圖層面.在節點層面,常見的有節點分類、節點聚 合、節點表示學習.在邊層面,則有邊分類、邊聚類以 及鏈接預測.在圖層面,圖分類、圖生成、子圖劃分、 圖相似度分析等應用較為廣泛.按照圖的種類劃分, 可以分為引文網絡、社交網絡、交通網絡、圖像、化合 物分子結構、蛋白質網絡等.按照應用領域劃分,可 以分為自然語言處理、圖像處理、軌跡預測、物理化 學和 藥 物 醫 學 等.為 了 方 便 說 明 和 闡 述, 本 文 從 GNN 的主要應用領域這一角度出發,對近年來出現 的 GNN 應用實例進行分類歸納。
圖神經網絡未來研究方向
GNN 的核心在于規范化表示的圖結構數據并 用深度神經網絡進行學習.經過近些年的不斷發展, 通過大量數學證明和實驗分析后,GNN 在理論上和實踐上都被證實是對圖結構數據處理的一種有效方 法和框架.盡管 GNN 在各個領域的圖數據上取得 了不俗的表現和較好的普適性,但是 GNN 仍然存 在一定的不足和需要完善的地方.根據目前國內外 的研究現狀,下面本文對 GNN 的一些制約因素和 未來發展方向進行探討.
網絡深度
在計算機視覺、自然語言處理和音頻處理中,神 經網絡的層數可以疊加多層.在一定范圍內,神經網 絡層數的增加可以更好地提取數據中的特征信息. 例如深層殘差網絡 ResNet [150]可以達到152層.但 是 GNN 的鄰居節點聚合中,隨著網絡層數的增加, 鄰居節點的階數會不斷擴張,導致中心節點聚合特 征數量成指數變多.這在大規模數據集上,尤其是節 點之間的邊連接數量較多時表現的非常明顯.隨之 而來的是訓練過程中計算復雜度的劇增,并可能導 致過擬合的現象發生.這也就意味著隨著層數的增 加,GNN 模型性能會急劇下降.如果想要加深網絡 層數,就必須限制每層節點數量.但是這也會使得特 征聚集的量變少,導致節點之間信息傳播受阻.如何 解決這一矛盾性問題是將來研究的重點之一.
動態性
就目前來看,現有的 GNN 大多處理的是靜態 齊次圖.一方面,GNN 框架會假定圖結構是固定的; 另一方面,GNN 框架會假設圖中的節點和邊來自于 單一源分布.然而,這兩個假設在許多情況下并不能 同時成立.在社交網絡中,新的人可以隨時進入網 絡,并且現有的人也可以退出網絡.在推薦系統中, 產品可能有不同的類型,其輸入可能有不同的形式, 如文本或圖像.特別是在超大規模的圖中,節點的個 數和邊的個數可能有百萬、千萬乃至上億.尤其是隨 著數據的增加和改變,節點和邊的個數以及節點和 邊的類型都可能發生動態的變化.在這些任務處理 中,圖的動態變化是不能忽視的.特別是在固定尺寸 下,因為某個節點或者邊發生改變而重新學習整個 圖將會使得代價十分昂貴.而大多數 GNN 對于大 型圖不具 有 很 好 的 伸 縮 性.其 主 要 原 因 是 當 堆 疊 GNN 的多個層時,節點的最終狀態涉及大量鄰居的 隱藏狀態,導致反向傳播的高復雜性.雖然目前有一 定的文獻[94-95,136-137]在研究圖的時空動態性,但是面 對更大規模和更加復雜的動態異質圖數據時還不夠 有效.因此如何對圖的動態性進行有效的適應是未 來的研究方向之一.
感受域
一個節點的感受域是指一組節點集合,包括中 心節點及其鄰居節點.感受域大小是決定鄰居節點 數量的關鍵參數.在大規模圖數據集中,平均每個節 點周圍有多個鄰居節點存在.隨著網絡層數的增加, 鄰居節點會遞歸增加數目,感受域也隨之快速擴張. 這可能會超過存儲空間的上限.此外,一些節點可能 只有一個鄰居,而另外節點可能有多達數千個鄰居. 鄰居節點分布不均衡使得每個中心節點的感受域大 小不一致.盡管可以通過添加“啞結點”和刪除鄰居 節點的方式保持數據大小和維度的一致,但是在特 征的聚集和融合中不可避免的會有信息損失現象發 生,而現有的采樣方法還不能完全解決該問題.
多網絡的融合
由于現實世界數據的復雜性,抽象出來的圖結 構也會有很多的種類和變體.有向無向、異質非異 質、帶權不帶權等等,大部分的 GNN 僅能處理其中 的某一種類型.而更普遍的情況是各種各樣的圖混 雜在一起,并且希望 GNN 能滿足諸如節點分類、圖 分類、可視化、圖生成等多種任務需求.在這種復雜 的高強度的任務要求下,單一的神經網絡作用過于 有限.因此對于更加復雜的情況,有必要進行多網絡 融合.目前比較主流的多網絡融合方式是 GCN 與 其他 GNN 算法相結合.例如在節點屬性和圖拓撲 結構信息的獲取上,GCN 明顯具有較高的性能和良 好的適應性,在節點分類問題上會表現良好.鑒于其 優點,在 GAE中不乏部分模型使用 GCN 作為編碼 器,取得較好的效果.但如果還需要進行鏈接預測、 節點生成或者圖生成,GCN 則有點力不從心了.此 時可以再增設一個 GGN,輸入 GCN 處理后的節點 嵌入向量,在 GGN 內生成概率分布,完成生成式任 務.如果圖在不斷地遞歸演進,形成了圖序列.則可以 利用 GRN來處理,以攘括多個步驟下的圖信息.因此 在 GNN框架中構造不同用途的深度神經網絡,從不 同的側面來提取和整合數據的特征是十分有必要的. 此 外 可 以 對 諸 如 深 度 置 信 網 絡 (DeepBeliefNetwork)[151]、Transformer [152]等神經網絡進行改造,將 其泛化和應用至圖結構數據學習上。
與網絡嵌入的結合
網絡嵌入可以將原始圖數據的高維稀疏矩陣轉 變為低維度稠密的向量,這可以大幅度壓縮存儲空 間,并提取有效的圖信息.一般圖節點的原始特征矩 陣是高維稀疏的,對于一個 N ×F 的特征矩陣,當 F 比較大時,所需要的存儲空間也相應的增加.如果 矩陣比較稀疏,那么存儲效率也會比較低下.網絡嵌 入則可以利用圖結構信息,生成低維連續的節點特 征表示,避免存儲空間浪費.其次,由于生成的節點 嵌入表示包含了部分鄰居節點信息,所以中心節點 的感受域也可以相應的減少.對于多層圖卷積和需要迭代壓縮的 GNN 來說,一定程度上可以減少網 絡層數和迭代壓縮次數.例如 Kipf等人[27]半監督 GCN 復雜度為O(|E|FC),DeepWalk [110]的復雜 度為O(log(N)).當邊連接比較密集并且節點特征 維度很大時,復雜度較高.如果對節點特征降維,使 得降維之后的維度 F' ? F ,這樣總體復雜度變為 O(log(N))+O(|E|F'C).盡管增加了網絡嵌入 的計算時間,但是在圖卷積層可以大幅度降低計算 開銷,這樣可以提高訓練的有效性以及降低計算復 雜度.文獻[66,76,86]就使用隨機游走等網絡嵌入方法 來為 GNN 模型構建輸入序列,除此之外未來研究 中也可以嘗試諸如 Node2vec [77]、LINE [153]等網絡 嵌入方法來對 GNN 的輸入端進行改進.
來自東北大學最新《大規模圖神經網絡系統》綜述論文
圖神經網絡(GNN)是一類基于深度學習的處理圖域信息的方法, 它通過將圖廣播操作和深度學習算法結合, 可以讓圖的結構信息和頂點屬性信息都參與到學習中, 在頂點分類、圖分類、鏈接預測等應用中表現出良好的效果和可解釋性, 已成為一種廣泛應用的圖分析方法. 然而現有主流的深度學習框架(如TensorFlow、PyTorch等)沒有為圖神經網絡計算提供高效的存儲支持和圖上的消息傳遞支持, 這限制了圖神經網絡算法在大規模圖數據上的應用. 目前已有諸多工作針對圖結構的數據特點和圖神經網絡的計算特點, 探索了大規模圖神經網絡系統的設計和實現方案. 首先對圖神經網絡的發展進行簡要概述, 總結了設計圖神經網絡系統需要面對的挑戰; 隨后對目前圖神經網絡系統的工作進行介紹, 從系統架構、編程模型、消息傳遞優化、圖分區策略、通信優化等多個方面對系統進行分析; 最后使用部分已開源的圖神經網絡系統進行實驗評估, 從精確度、性能、擴展性等多個方面驗證這些系統的有效性.
圖神經網絡概述
深度學習在對象檢測[1,2]、機器翻譯[3,4]、語音識別[5]、物理系統[6,7]等領域取得了革命性的成功, 推動了對模 式識別和數據挖掘的研究. 現有的深度學習方法能夠處理歐式空間表示下的規則數據, 例如圖像數據可以表示為 歐幾里得空間中的規則網絡, 而現實中的很多應用的數據以圖的形式來表示. 比如在社交網絡[8]中, 可以通過圖來 表示對象之間的關聯關系, 從而能夠進行社區發現、聚類[9]等算法. 在生物領域[10] , 可以通過圖來表示蛋白質分子 之間的關系, 從而能夠對蛋白質進行分類. 在引文網絡[11]領域, 可以用圖來表示論文之間的引用關系, 從而能夠對論文按領域進行分組. 在電子商務領域, 可以用圖來表示用戶和商品之間的交互關系, 從而能夠對用戶進行商品的 推薦. 由于圖數據的不規則性和稀疏性, 每個頂點可能具有不同數量的鄰居, 并且圖數據之間具有依賴性, 圖中每個頂點的計算依賴于其他的頂點, 所以導致很多深度學習方法無法直接應用在圖數據中. 例如, 卷積只能對圖像或文本這樣的歐幾里德數據進行操作, 無法直接應用于圖數據, 限制了深度學習方法在圖領域的發展.
隨著圖領域深度學習方法逐漸受到廣泛關注, 近些年出現了很多圖神經網絡算法, 這些方法通過在傳統深度 學習模型中添加圖操作, 應用圖的結構信息和屬性信息, 來處理圖數據的復雜性, 成為解決圖學習問題的有效方 法. 比較典型的工作有 Structure2Vec[12]、GCN[13]、FastGCN[14]、AS-GCN[15]、GraphSAGE[16]等.
圖神經網絡算法將傳統深度學習的方法, 如卷積, 擴展到了圖數據領域, 并結合數據傳播的思想形成了在圖上的深度學習算法, 其 在社交網絡、推薦系統[17]、知識圖譜[18]、鏈接預測[19]等領域都取得了良好的效果. 圖神經網絡受到廣泛關注的原因如下: 首先, 現有標準神經網絡無法正確處理圖數據的輸入, 因為其按照特定 順序處理節點特征, 而圖中的頂點沒有自然順序. 圖神經網絡算法采用在頂點上傳播信息的計算方式, 忽略頂點的 輸入順序解決了這個問題. 第二, 在標準神經網絡中, 圖中頂點的依賴關系僅能作為頂點特征輸入, 而圖神經網絡 算法根據圖中頂點的依賴關系進行信息傳播, 保留了圖結構的信息, 為下游深度學習任務提供了更加完整的信息. 第三, 推理是高級人工智能的一個重要研究課題, 圖神經網絡強大的表示能力, 為進一步生成強大的神經模型提供 了基礎.
現有的深度學習框架如 TensorFlow[20]、PyTorch[21]、MXNet[22]以及 CNTK[23] , 和圖處理框架 PowerLyra[24]、 PowerGraph[25]、Garaph[26]、Pregel[27]、TuX2[28]都不能很好地支持圖神經網絡的計算, 這阻礙了圖神經網絡的進一 步發展, 也限制了圖神經網絡在大規模數據中的應用. 因此突破現有框架限制, 開發專用于圖神經網絡訓練的系 統, 對于充分發揮圖神經網絡的潛力十分重要.
本文首先分析圖神經網絡算法的計算模式, 提出大規模圖神經系統訓練存在的挑戰, 并對現有系統進行介紹. 然后從系統架構、通信優化等多個維度對這些系統進行詳細的分析和對比, 對圖神經網絡系統的不同優化技術進 行總結和分析, 并對目前已經開源的圖神經網絡系統設計實驗, 從多個方面測評系統的性能, 驗證系統有效性.
大規模圖神經網絡訓練的挑戰
隨著圖神經網絡在不同領域的應用越來越廣, 對訓練圖神經網絡系統的性能要求也越來越高. 結合對圖嵌入[42-44]以及圖神經網絡[45, 46]的分析, 本文對設計開發神經網絡訓練系統存在的挑戰進行如下總結.
(1) 現有深度學習系統不能很好地抽象圖傳播過程. 現有的深度學習系統處理的是規則數據, 規則數據中每個樣本的計算圖是獨立的, 與其他樣本無關, 而圖神經網絡是將深度神經網絡和迭代圖傳播結合起來進行計算的, 圖數據的每個樣本(即圖頂點)之間具有依賴性, 所以現有系統不能自然地表達和有效地支持圖傳播模型. 如何突破現有框架的局限, 設計一種適用于圖神經網絡的系統架構是發展圖神經網絡的重要問題;
(2) 訓練大規模圖神經網絡的計算、存儲復雜度高. 真實世界中的尺寸都非常大, 而且由于頂點之間具有復雜的依賴性, 隨著圖神經網絡層數的增加, 計算成本和內存空間需求呈指數級增長. 例如Facebook的社交網絡圖包含超過20億個頂點和1萬億條邊, 這種規模的圖在訓練時可能會產生100 TB的數據. 所以針對大圖的訓練, 如何設計計算和存儲策略以利用有限的資源來使系統達到理想的性能也是發展圖神經網絡系統的一大挑戰;
(3) 圖計算局部性差導致系統開銷問題. 真實世界圖的稀疏性會導致非常差的空間局部性, 在單機系統中這會導致Cache命中率降低. 而在分布式系統中, 這會導致頻繁的跨節點訪問, 進而產生大量的消息傳遞開銷. 所以如何針對圖的特殊性質減少系統開銷是提高系統性能的一大挑戰;
(4) 圖的冪律分布導致分布式計算負載均衡問題. 對于具有數億個頂點的大型圖, 通常需要對圖進行分布式處理, 圖神經網絡算法不同于傳統的圖算法, 平衡的圖分區不僅依賴于分區內的頂點數量, 還依賴于分區內頂點鄰居的數量, 多層圖神經網絡模型中不同頂點多階鄰居的數量可能相差極大, 并且這些分區之間需要頻繁的數據交換, 如何對圖數據進行合理的分區來保證分布式訓練的性能是對于分布式系統的重大挑戰;
(5) 異構計算架構中的任務劃分和負載調度的合理性問題. GPU的廣泛應用為訓練深度學習模型帶來了很多機會和挑戰. 在利用GPU加速神經網絡的訓練時, 通常將數據存儲在主機內存中, 在計算時需要將數據傳輸到GPU, 由于圖神經網絡算法在反向傳播階段的復雜性, 需要頻繁的在主機和GPU之間進行數據傳輸, 如何設計合理的調度方案來最大程度地減少數據傳輸成本也是提高系統性能的一大挑戰.
為了應對這些挑戰, 出現了很多針對圖神經網絡的訓練框架, 其中單機系統如PyTorch Geomertic、DGL、NeuGraph. 圖神經網絡通常處理非常大且不規則的圖, 這些大圖無法存儲在單個設備中, 因此必須以分布式方式進行分區和處理, 其中分布式圖神經網絡框架如Euler、AliGraph、Roc、AGL. 接下來本文將介紹若干典型的單機圖神經網絡系統以及分布式圖神經網絡系統.
圖神經網絡系統介紹
圖神經網絡算法將深度神經網絡的運算(如卷積、梯度計算)與迭代圖傳播結合在一起: 每個頂點的特征都是由其鄰居頂點的特征結合一組深度神經網絡來計算. 但是, 現有的深度學習框架不能擴展和執行圖傳播模型, 因此缺乏高效訓練圖神經網絡的能力, 并且現有框架一般采用數據/模型并行來分布式訓練深度神經網絡, 這種并行計算方法難以直接應用于圖神經網絡, 因此限制了訓練大規模圖神經網絡的能力. 而現有的圖處理系統雖然能夠表示迭代圖傳播模型, 并能有效支持大規模圖的迭代計算, 但是缺乏支持神經網絡計算的關鍵能力, 如張量抽象、自動微分等. 因此, 為了支持圖神經網絡在大規模圖上的應用, 以及對更復雜圖神經網絡結構的探索, 開發針對圖神經網絡的訓練系統是十分有必要的.
目前具有代表性的圖神經網絡框架: DGL[47]、PyTorch Geometric[48]、NeuGraph[49]、EnGN[50]、Euler[51]、PSGraph[52]、AliGraph[53]、Roc[54]、AGL[55]、PGL[56]. DGL[47]是易于使用, 高性能且可擴展的Python庫, 用于圖結構的深度學習, 能夠與主流的深度學習框架集成, 例如Tensorflow[20]、PyTorch[21]、MXNet[22]. PyTorch Geometric[48]是基于PyTorch構建的深度學習庫, 用于處理非結構化數據的深度學習. NeuGraph[49]是一種將數據流系統和圖處理系統結合起來訓練圖神經網絡的框架, 它構建在現有的數據流引擎之上, 使用Python和C++作為開發語言. EnGN[50]是一種以邊為中心, 專門用于大規模圖神經網絡訓練的加速器. Euler[51]與PSGraph[52]是一個與深度學習工具集成的大規模分布式圖學習框架, 支持用戶在數十億點數百億邊的圖上進行模型訓練. AliGraph[53]是由阿里巴巴團隊開發的采樣建模訓練一體化的圖神經網絡平臺. Roc[54]是一種用于快速圖神經網絡訓練的分布式多GPU框架. AGL[55]是用于工業用途圖學習的集成系統, 利用傳統基礎架構(MapReduce、參數服務器[57])實現了容錯性和一致性. PGL (paddle graph learning)[56]是由百度開發的基于PaddlePaddle的高效靈活的圖學習框架.
圖神經網絡系統總結和分析
本節從系統架構、處理模型、圖分區策略、通信優化策略、以及社區活躍度與系統易用性方面, 對現有圖神經網絡系統進行分析和對比, 并從多個維度對系統的特點進行總結, 以表格的形式清晰的展示系統的共性與不同, 來為研究人員提供有效參考.
(1) 系統架構. DGL和PyTorch Geometric都是結合現有的深度學習框架來實現的, 并且針對圖神經網絡的特點做了多種優化, 達到了很好的性能. 結合現有深度學習框架來實現的系統, 更加方便用戶使用, 能夠幫助其更快地實現圖神經網絡模型. 但結合現有深度學習框架來實現的系統, 在針對圖操作的優化上有很多局限性. NeuGraph采用了一種新的架構, 將圖模型和數據流模型結合起來, 以支持高效的圖神經網絡訓練, 這種架構既彌補了現有數據流引擎不能有效地支持圖計算的缺點, 又彌補了圖引擎不能支持數據流編程模型的缺點. EnGN在統一的處理模型基礎上, 開發了一個定制的EnGN加速器, 它集成了一個神經圖處理單元(NGPU), 可以在統一的體系結構中執行特征提取, 聚合和更新操作. EnGN的專用加速器突破了硬件結構的限制, 相比于其他系統配備的多個CPU或GPU, 大大降低了成本和能源開銷. AliGraph、Euler和PGL的架構類似, 都采用分層架構, 構建于現有數據流框架之上, 并且都構建在CPU平臺上. Roc將圖神經網絡的計算分布在多個計算節點上, 每個計算節點可以包含多個GPU, 每個計算節點在子圖上執行圖神經網絡的訓練, 并與CPU通信來獲得輸入張量并保存中間結果. Roc采用分布式多GPU的架構不僅解決了單節點系統對于大規模圖的限制, 并且比基于CPU的系統更高效. AGL、PSGraph都是利用現有大數據處理系統和參數服務器的并行體系結構來組建的基于CPU的分布式圖神經網絡訓練框架, 這些系統具有良好的容錯性和可伸縮性.
(2) 處理模型. DGL和PyTorch Geometric通過使用面向圖的消息傳遞接口包裝深度學習系統, 來支持針對圖神經網絡的編程. 這種消息傳遞模型很好地表示了圖上的數據流動, 整個模型分為兩步. 第1步: “消息”生成操作, 這個操作定義在每個邊上, 通過將邊的特征與兩端頂點特征組合為每一條邊生成一條“消息”. 第2步: 更新操作, 定義在每個頂點上, 通過匯總頂點入邊傳入的消息來更新頂點特征. 通過系統提供的消息傳遞接口, 用戶可以快速實現圖神經網絡的原型制作. PGL也采用消息傳遞范式構建圖神經網絡的接口, 并提供多種聚合方法, 提高了并行處理效率. NeuGraph提出了一種新的處理模型SAGA-NN, 提高了在頂點和邊上執行批量操作的靈活性, 提供了在圖計算和數據流調度中實現優化的機會, 提高了系統性能. EnGN提供一種以邊為中心的處理模型, 將圖神經網絡的計算抽象為特征提取, 聚合和更新3個階段. EnGN與其他3個系統不同, 在處理模型基礎上定制了針對圖神經網絡的加速器, 不依賴于現有的深度學習系統, 并擁有獨特的數據流處理方法. EnGN優化了頂點數據和邊數據移動的內存訪問模式. 對于大圖中的源頂點數據訪問, 采用圖切片技術, 并確保對源節點的訪問僅引起對連續內存地址的訪問. 對于聚合和更新階段中的隨機目標頂點訪問, EnGN利用哈希邊數據布局和多級緩存方法來避免寫沖突并提高片上緩沖器中的數據命中率.
(3) 圖分區策略. 平衡的圖分區是實現分布式圖神經網絡系統的關鍵之一. Euler采用簡單的哈希方法將圖的頂點進行分片, 這種分片方式使各個節點擁有目標頂點的數量基本一致, 但是在每個頂點的子圖中擁有的鄰居數量是不同的, 所以每個節點的計算負載并不均衡. AliGraph則提供了多種內置的圖分區算法供用戶選擇, 比如適合處理稀疏圖的METIS方法, 適合稠密圖的點割和邊割方法, 這種方法雖然為用戶提供了多種選擇, 但需要用戶自己去判斷使用哪種分區方式, 給用戶造成很大不便. Roc采用一種在線線性回歸模型來優化圖分區. 這種基于線性回歸的圖分區方法在圖神經網絡系統中能夠達到比傳統分區更好的性能.
(4) 通信優化策略. 針對通信開銷影響分布式系統性能的問題, Euler采用的是緩存對應頂點k階內的鄰居頂點信息, 這種方式雖然直接避免了計算節點之間的通信, 但是造成了很嚴重的內存浪費, 并且在冪律分布的圖中還會使各個計算節點之間負載不均衡. AGL采用的策略和Euler相同, 但是AGL提出了重新索引的策略來均衡負載. AliGraph提出了一種緩存重要頂點的鄰居的方法來降低通信開銷, 同時提出了一種對頂點重要性的度量標準, 既能有效減低通信開銷, 又防止產生巨大的存儲成本, 避免資源浪費. ROC引入了代價模型, 可以最大程度地減少CPU和GPU之間的數據傳輸. 這種動態的方法突破了手動優化的局限, 將影響通信的多種因素綜合考慮, 從而更好的降低通信成本, 提高系統性能. PGL的分布式參數服務器提供了一種高效的參數更新策略: GeoSSD, 在全異步的條件下進行參數更新, 并重疊模型訓練與節點通信, 在保證模型效果的前提下提升了訓練效率.
(5)社區活躍度與系統易用性. PyTorch Geometric、DGL、AliGraph、Euler、PSGraph、PGL為開源系統, 這里的社區活躍度以GitHub上討論區的數量為標準, 這其中最活躍的社區為PyTorch Geometric. 在系統易用性方面, 從配置文件的完整度、對其他系統的依賴度、用戶使用的方便度多個角度綜合考量, 這其中DGL和PyTorch Geometric的易用性排在前列, 而Euler與PSGraph雖然給出了配置文件, 但在配置系統時, 需要配置其他多個依賴包, 并且數據處理過程繁瑣, 不易用戶使用. 本文為系統的社區活躍度和易用性給出星級評價, 星級越高, 系統在這兩方面表現越好, 其中空白符號表示系統未開源.
本文對目前的圖神經網絡系統從多個維度進行了綜合分析, 對這些系統的共同特性進行提取, 并總結歸納, 見表1.
總結
本文首先簡要介紹了圖神經網絡的發展, 并對典型的圖神經網絡算法的計算模式進行了介紹, 并簡要分析了圖神經網絡訓練的難點. 然后本文對現有圖神經網絡系統做了詳細描述, 并對這些系統從系統架構、處理模型以及優化策略和系統易用性等多個角度進行分析和總結, 總結了針對圖神經網絡系統的多種優化技術, 最后使用目前可用的開源系統驗證了現有分布式圖神經網絡系統的有效性. 經過論文分析與總結, 發現現有圖神經網絡系統仍存在以下問題, 同時也是未來的研究方向: 首先, 目前系統所采用的架構仍依賴于現有數據流框架, 現有數據流框架針對深度神經網絡的運算做了一系列優化, 但缺少針對圖操作的優化尤其是高效分布式圖操作, 與這些框架結合起來搭建系統, 制約了分布式圖神經網絡系統的進一步發展. 第二, 目前系統所采用的小批量并行計算方式, 并不適用于基于譜方法的圖卷積網絡, 本文通過實驗發現, 采用這種并行計算方式會對基于譜方法圖卷積網絡的訓練精度產生影響. 第三, 圖的分區操作和通信管理是影響系統性能的關鍵因素, 盡管目前的系統已經在這兩方面提出多種優化, 減少了內存消耗和通信開銷, 但這兩者仍存在非常大的優化空間.
近幾年來,將深度學習應用到處理和圖結構數據相關的任務中越來越受到人們的關注.圖神經 網絡的出現使其在上述任務中取得了重大突破,比如在社交網絡、自然語言處理、計算機視覺甚至生命 科學等領域得到了非常廣泛的應用.圖神經網絡可以把實際問題看作圖中節點之間的連接和消息傳播 問題,對節點之間的依賴關系進行建模,從而能夠很好地處理圖結構數據.鑒于此,系統綜述了圖神經網絡模型以及應用.首先從譜域、空間域和池化3方面對圖卷積神經網絡進行了闡述.然后,描述了基于注意 力機制和自編碼器的圖神經網絡模型,并補充了一些其他方法實現的圖神經網絡.其次,總結了針對圖 神經網絡能不能做大做深等問題的討論分析.進而,概括了圖神經網絡的4個框架.還詳細說明了在圖 神經網絡在自然語言處理、計算機視覺等方面的應用.最后,對圖神經網絡未來的研究進行了展望和總 結.相較于已有的圖神經網絡綜述文章,詳細闡述了譜理論知識,并對基于譜域的圖卷積神經網絡體系 進行全面總結.同時,給出了針對空間域圖卷積神經網絡效率低的改進模型這一新的分類標準.并總結 了針對圖神經網絡表達能力、理論保障等的討論分析,增加了新的框架模型.在應用部分,闡述了圖神經 網絡的最新應用.
在過去幾年,深度學習已經在人工智能和機器 學習上取得了成功,給社會帶來了巨大的進步.深度 學習的特點是堆積多層的神經網絡層,從而具有更 好的學 習 表 示 能 力.卷 積 神 經 網 絡 (convolutional neuralnetwork,CNN)的飛速發展更是將深度學習 帶上了一個新的臺階[1G2].CNN 的平移不變性、局部 性和組合性使其天然適用于處理像圖像這樣的歐氏 結構數據的任務中[3G4],同時也可以應用于機器學習 的其他各個領域[5G7].深度學習的成功一部分源自于 可以從歐氏數據中提取出有效的數據表示,從而對 其進行高效的處理.另一個原因則是得益于 GPU 的 快速發展,使得計算機具有強大的計算和存儲能力, 能夠在大規模的數據集中訓練和學習深度學習模 型.這使得深度學習在自然語言處理[8]、機器視覺[9] 和推薦系統[10]等領域都表現出了良好的性能.
但是, 現有的神經網絡只能對常規的歐氏結構 數據進行處理.如圖1(a)歐氏數據結構,其特點就是 節點有固定的排列規則和順序,如2維網格和1維 序列.而當前越來越多的實際應用問題必須要考慮 非歐氏數據,如圖1(b)非歐氏數據結構中節點沒有 固定的排列規則和順序,這就使得不能直接將傳統 的深度學習模型遷移到處理非歐氏結構數據的任務 中.如若直接將 CNN 應用到其中,由于非歐氏數據中心節點的鄰居節點數量和排列順序不固定,不滿 足平移不變性,這就很難在非歐氏數據中定義卷積 核.針對圖神經網絡(graphneuralnetwork,GNN) 的研究工作,最開始就是在如何固定鄰居節點數量 以及如何給鄰居節點排序展開的,比如 PATCHYG SAN [11],LGCN [12],DCNN [13]方法等.完成上述2項 工作之后,非歐氏結構數據就轉化為歐氏結構數據, 然后就可以利用 CNN 處理.圖是具有點和邊的典型 非歐氏數據,在實際中可以將各種非歐氏數據問題 抽象為圖結構.比如在交通系統中,利用基于圖的學 習模型可以對路況信息進行有效的預測[14].在計算 機視覺中,將人與物的交互看作一種圖結構,可以對 其進行有效地識別[15]。
近期已有一些學者對圖神經網絡及其圖卷積神經網絡分支進行了綜述[16G19].本文的不同之處在于,首先由于經典模型是很多變體模型的基石,所以給 出了經典模型的理論基礎以及詳細推理步驟.在1.2 節基于空間方法的圖卷積神經網絡中,多用圖的形 式列出模型的實現過程,使模型更加通俗易懂.文獻 [16G19]并未對目前廣大學者熱點討論的問題進行 總結,所以在第5節針對圖神經網絡的討論部分,首 次列出了目前研究學者對 GNN 的熱點關注問題, 比如其表達能力、過平滑問題等.然后,在第6節中 總結了圖神經網絡新框架.同時,針對圖神經網絡的 應用,在第7節中較全面地介紹了 GNN 的應用場 景.最后,列出了圖神經網絡未來的研究方向.在圖2 中列出了本文的主體結構.
研究圖神經網絡對推動深度學習的發展以及人 類的進步具有重大意義.首先,現實中越來越多的問 題可以抽象成非歐氏結構數據,由于圖數據的不規 則性,傳統的深度學習模型已經不能處理這種數據, 這就亟需研究設計一種新的深度神經網絡.而 GNN 所處理的數據對象就是具有不規則結構的圖數據,GNN 便在這種大背景下應運而生[20G21].然后,圖數 據的結構和任務是十分豐富的.這種豐富的結構和 任務也正是和人們生活中要處理的實際問題相貼合 的.比如,圖數據有異質性以及邊的有向連接特性, 這和推薦系統中的場景完全類似.圖數據處理任務 中節點級別、邊級別以及整圖級別也同樣可以應用到深度學習的各個應用場景中.所以,GNN 的研究 為解決生活中的實際問題找到了一種新的方法和途 徑.最后,GNN 的應用領域是十分廣泛的,能夠處理 各種能抽象成圖數據的任務.不管是在傳統的自然 語言處理領域[22G24]或者圖像領域[25G26],還是在新興 的生化領域[27G28],GNN都能表現出強大的性能.
1 圖卷積神經網絡
CNN 已經在圖像識別、自然語言處理等多個領 域取得了不俗的成績,但其只能高效地處理網格和 序列等這樣規則的歐氏數據.不能有效地處理像社 交多媒體網絡數據、化學成分結構數據、生物蛋白數 據以及知識圖譜數據等圖結構的非歐氏數據.為此, 無數學者經過不懈努力,成功地將 CNN 應用到圖 結構的非歐氏數據上,提出了圖卷積神經網絡(graph convolutionalnetwork,GCN).GCN 是 GNN 中一 個重要分支,現有的大多數模型基本上都是在此基 礎上變化推導而來.下面我們將按照從基于譜方法、 空間方法和池化3方面對 GCN 進行總結和概括.
2 基于注意力實現的圖神經網絡
注意力機制在處理序列任務已經表現出強大的 能力[60],比如在機器閱讀和學習 句 子 表 征 的 任 務 中.其強大的優勢在于允許可變大小的輸入,然后利 用注意力機制只關心最重要的部分,最后做出決策處理.一些研究發現,注意力機制可以改進卷積方 法,從而可以構建一個強大的模型,在處理一些任務 時能夠取得更好的性能.為此,文獻[61]將注意力機 制引入到了圖神經網絡中對鄰居節點聚合的過程 中,提出了圖注意力網絡(graphattentionnetworks, GAT).在傳統的 GNN 框架中,加入了注意力層,從 而可以學習出各個鄰居節點的不同權重,將其區別對待.進而在聚合鄰居節點的過程中只關注那些作 用比較大的節點,而忽視一些作用較小的節點.GAT 的核心思想是利用神經網絡學習出各個鄰居節點的 權重,然后利用不同權重的鄰居節點更新出中心節 點的表示。
3 基于自編碼器實現的圖神經網絡
在無監督學習任務中,自編碼器(autoencoder, AE)及其變體扮演者非常重要的角色,它借助于神 經網絡模型實現隱表示學習,具有強大的數據特征 提取能力.AE 通過編碼器和解碼器實現對輸入數 據的有效表示學習,并且學習到的隱表示的維數可 以遠遠小于輸入數據的維數,實現降維的目的.AE 是目前隱表示學習的首選深度學習技術,當我們把 具有某些聯系的原始數據(X1,X2,…,Xn)輸入到 AE中進行重構學習時,可以完成特征提取的任務. 自編碼器的應用場景是非常廣泛的,經常被用于數據去噪、圖像重構以及異常檢測等任務中.除此之 外,當 AE被用于生成與訓練數據類似的數據時, 稱之為生成式模型.由于 AE具有上述優點,一些學 者便將 AE 及其變體模型應用到圖神經網絡當中 來.文 獻 [69]第 1 個 提 出 了 基 于 變 分 自 編 碼 器 (variationalautoencoder,VAE)的變分圖自編碼器 模型 (variationalgraphautoencoder,VGAE),將 VAE應用到對圖結構數據的處理上.VGAE利用隱 變量學習出無向圖的可解釋隱表示,使用了圖卷積 網絡編碼器和一個簡單的內積解碼器來實現這個模 型.
4. 未來研究展望 GNN
雖然起步較晚, 但由于其強大的性能, 已經取得了不俗的表現, 并且也在例如計算機視覺和推薦系統等實際應用中發揮著巨大的作用.不難發現, GNN 確實更符合當前實際應用的發展趨勢, 所 以 在 近 幾 年 才 會 得 到 越 來 越 多 人 的 關 注.但 是, GNN 畢竟起步較晚,還沒有時間積累,研究的深度 和領域還不夠寬廣.目前來看,它依然面臨著許多亟 待解決的問題,本節總結了 GNN 以后的研究趨勢.
1) 動態圖.目前,GNN 處理的圖結構基本上都 是靜態圖,涉及動態圖結構的模型較少[138G139],處理 動態圖對 GNN 來說是一個不小的挑戰.靜態圖的 圖結構是靜態不變的,而動態圖的頂點和邊是隨機 變化的,甚至會消失,并且有時還沒有任何規律可 循.目前針對 GNN 處理動態圖結構的研究還是比 較少的,還不夠成熟.如果 GNN 能夠成功應用于動 態圖結構上,相信這會使 GNN 的應用領域更加寬 廣.將 GNN 模型成功地推廣到動態圖模型是一個 熱點研究方向.
2) 異質圖.同質圖是指節點和邊只有一種類型, 這種數據處理起來較容易.而異質圖則是指節點和 邊的類型不只一種,同一個節點和不同的節點連接 會表現出不同的屬性,同一條邊和不同的節點連接 也會表現出不同的關系,這種異質圖結構處理起來 就相對復雜.但異質圖卻是和實際問題最為貼切的 場景,比如在社交網絡中,同一個人在不同的社交圈 中可能扮演著父親、老師等不同的角色.對于異質圖 的研究還處在剛起步的階段[140G141],模型方法還不 夠完善.所以,處理異質圖也是將來研究的一個熱點.
3) 構建更深的圖神經網絡模型.深度學習的強 大優勢在于能夠形成多層的不同抽象層次的隱表 示,從而才能表現出優于淺層機器學習的強大優勢. 但對于圖深度學習來說,現有的圖神經網絡模型大 多還是只限于淺層的結構.通過實驗發現,當構造多 層的神經網絡時,實驗結果反而變差.這是由過平滑 現象造成的,GNN 的本質是通過聚合鄰居節點信息 來表征中心節點.當構造多層的神經網絡之后,中心 節點和鄰 居 節 點 的 差 異 就 會 變 得 微 乎 其 微,從 而 會導致分類結果變差.如何解決過平滑現象,使圖神 經網絡能夠應用于更多層的結構,從而發揮出深度 學習的強大優勢.雖然已有文獻對其進行了討論[91], 但構建更深的圖神經網絡模型仍是值得深入研究的 問題.
4) 將圖神經網絡應用到大圖上.隨著互聯網的 普及,圖神經網絡處理的數據也變得越來越大,致使 圖中的節點數量變得巨大,這就給圖神經網絡的計 算帶來了不小的挑戰.雖然一些學者對該問題進行 了研究改進[142],但針對將圖神經網絡應用到大圖 上的研究同樣是將來研究的熱點問題,在這方面,引 入摘要數據結構,構造局部圖數據,并能適當地融合 局部圖結構,形成整體圖神經網絡的表示是可能的 思路.
5) 探索圖中更多有用的信息.在當前諸多學者 對于圖神經網絡模型的研究中,僅僅利用了圖中節 點之間有無連接這一拓撲結構信息.但是,圖是一個 非常復雜的數據結構,里面還有很多有用的信息未 被人們發現利用.比如,圖中節點的位置信息.中心 節點的同階鄰居節點處于不同位置,距離中心節點 的遠近不同應該會對中心節點產生的影響程度不 同.如果能夠探索出圖中更多的有用信息,必會將圖 神經網絡的性能提升一個層次,這是一個非常值得 探討的問題.
6) 設計圖神經網絡的數學理論保障體系.任何 神經網絡模型必須有強大的數學理論支撐才能發展 得更快,走得更遠.現在對于圖神經網絡模型的設 計,大多還只是依靠研究者的經驗和基于機理邏輯 設計出來的,并且對于圖神經網絡模型的性能分析 僅僅是從實驗結果中得來,并沒有從數學理論層面 給出 一 個 合 理 的 解 釋.目 前,該 領 域 已 有 一 些 研 究[90G91],但為圖神經網絡設計出強大的數學理論,指 導圖神經網絡的構造、學習和推理過程.能夠給出圖 神經網絡學習結果正確性的數學理論保障,仍是未 來發展的一個重要方向.
圖神經網絡(GNN)在實際應用中往往會受到可用樣本數量太少的限制,而元學習(meta-learning)作為解決機器學習中樣本缺乏問題的重要框架,正逐漸被應用到 GNN 領域以解決該問題。本文梳理近年來在元學習應用于 GNN 的一系列研究進展,我們根據模型的架構、共享的表示和應用的領域對以往工作進行分類,并在最后討論該領域當前有待解決的問題和未來值得關注的研究方向。
圖結構數據(Graph)廣泛存在于現實場景中,例如藥物研究中的藥物分子結構和推薦系統中的用戶商品交互都可以用圖(Graph)表示,而圖數據(Graph)的廣泛存在也促進了圖神經網絡(GNN)的發展。GNN 是專門用于處理圖數據的深度神經網絡,它將圖或圖上的頂點、邊映射到一個低維空間,從而學習得到圖的有效表示,并進一步將其應用于下游任務。近年來,GNN 被廣泛應用于新藥發現、交通預測、推薦系統等各個領域。
盡管 GNN 擁有非常強大的能力,但在實際應用中依然面臨樣本數量有限的挑戰,特別是在推薦系統等真實系統更是要求 GNN 可以在少量樣本可用的情況下適應新問題。而元學習(meta-learning)作為解決深度學習系統中樣本缺乏問題的重要框架,在自然語言處理、機器人技術等多種應用中都取得了成功。因此,如何利用元學習解決 GNN 所面臨的樣本缺乏問題,是研究人員普遍關心的問題。
元學習的主要思想是利用之前的學習經驗來快速適應一個新問題,從而利用很少的樣本就能學習一個有用的算法。具體來講,元學習旨在以先驗的形式學習一個模型,而不是針對所有任務學習一個模型(不能區分任務)或針對每個任務學習單獨的模型(可能對每個任務過擬合)。元學習應用于 Graph 的主要挑戰是如何確定跨任務共享的表示類型,以及怎樣設計有效的訓練策略。近期,研究人員針對不同的應用場景,已經提出了多種元學習方法來訓練 GNN。本文我們就將對元學習在 GNN 上的運用進行全面回顧。
近年來, 隨著海量數據的涌現, 可以表示對象之間復雜關系的圖結構數據越來越受到重視并給已有的算法帶來了極大的挑戰. 圖神經網絡作為可以揭示深層拓撲信息的模型, 已開始廣泛應用于諸多領域,如通信、生命科學和經濟金融等. 本文對近幾年來提出的圖神經網絡模型和應用進行綜述, 主要分為以下幾類:基于空間方法的圖神經網絡模型、基于譜方法的圖神經網絡模型和基于生成方法的圖神經網絡模型等,并提出可供未來進一步研究的問題.
//engine.scichina.com/publisher/scp/journal/SSM/50/3/10.1360/N012019-00133?slug=fulltext
圖是對對象及其相互關系的一種簡潔抽象的直觀數學表達. 具有相互關系的數據—圖結構數據在眾多領域普遍存在, 并得到廣泛應用. 隨著大量數據的涌現, 傳統的圖算法在解決一些深層次的重要問題, 如節點分類和鏈路預測等方面有很大的局限性. 圖神經網絡模型考慮了輸入數據的規模、異質性和深層拓撲信息等, 在挖掘深層次有效拓撲信息、 提取數據的關鍵復雜特征和 實現對海量數據的快速處理等方面, 例如, 預測化學分子的特性 [1]、文本的關系提取 [2,3]、圖形圖像的結構推理 [4,5]、社交網絡的鏈路預測和節點聚類 [6]、缺失信息的網絡補全 [7]和藥物的相互作用預測 [8], 顯示了令人信服的可靠性能.
圖神經網絡的概念最早于 2005 年由 Gori 等 [9]提出, 他借鑒神經網絡領域的研究成果, 設計了一種用于處理圖結構數據的模型. 2009 年, Scarselli 等 [10]對此模型進行了詳細闡述. 此后, 陸續有關于圖神經網絡的新模型及應用研究被提出. 近年來, 隨著對圖結構數據研究興趣的不斷增加, 圖神經網絡研究論文數量呈現出快速上漲的趨勢, 圖神經網絡的研究方向和應用領域都得到了很大的拓展.
目前已有一些文獻對圖神經網絡進行了綜述. 文獻 [11]對圖結構數據和流形數據領域的深度學習方法進行了綜述, 側重于將所述各種方法置于一個稱為幾何深度學習的統一框架之內; 文獻[12]將圖神經網絡方法分為三類: 半監督學習、無監督學習和最新進展, 并根據發展歷史對各種方法進行介紹、分析和對比; 文獻[13]介紹了圖神經網絡原始模型、變體和一般框架, 并將圖神經網絡的應用劃分為結構場景、非結構場景和其他場景; 文獻[14]提出了一種新的圖神經網絡分類方法, 重點介紹了圖卷積網絡, 并總結了圖神經網絡方法在不同學習任務中的開源代碼和基準.
本文將對圖神經網絡模型的理論及應用進行綜述, 并討論未來的方向和挑戰性問題. 與其他綜述文獻的不同之處在于, 我們給出新的分類標準, 并且介紹圖神經網絡豐富的應用成果. 本文具體結構如下: 首先介紹三類主要的圖神經網絡模型, 分別是基于空間方法的圖神經網絡、基于譜方法的圖神經網絡和基于生成方法的圖神經網絡等; 然后介紹模型在節點分類、鏈路預測和圖生成等方面的應用; 最后提出未來的研究方向.