陳 明 魏哲巍
中國人民大學 北京 100872
近年來,人工智能技術取得了巨大的成功,影響到了人們生活的方方面面,其中,深度學習(Deep Learning)作為人工智能技術中最關鍵的一部分,發展尤為迅速。深度學習推進了模式識別和數據挖掘領域的研究,將現實世界中的每一個概念都定義為更加抽象的概念,即通過深度神經網絡來提取樣本特征。目標檢測、機器翻譯、語音識別等許多機器學習任務曾高度依賴手工特征工程來提取信息特征,但多種端到端深度學習方式(卷積神經網絡、長短期記憶網絡和自編碼器)改變了這種狀況。深度學習在多個領域的成功主要歸功于計算資源的快速發展(如GPU)、大量訓練數據的收集,還有深度學習從歐幾里得數據(如圖像、文本和視頻)中提取潛在表征的有效性。盡管深度學習已經在歐幾里得數據中取得了很大的成功,但許多領域存在非歐幾里德空間的底層結構數據,包括計算社會科學中的社會網絡、通信中的傳感器網絡以及腦成像中的功能網絡等等,這樣的數據龐大且復雜,它們需要有效分析。例如,在電子商務領域,一個基于圖的學習系統能夠利用用戶和產品之間的交互以實現高度精準的推薦;在化學領域,分子被建模為圖,新藥研發需要測定其生物活性;在論文引用網絡中,論文之間通過引用關系互相連接,需要將它們分成不同的類別,圖神經網絡(Graph Neural Networks,GNNs)應運而生。從視覺推理到開放性閱讀理解問題,從藥物分子的研發到醫療診斷,從交通流量預測到3D點云數據的學習,幾年時間,圖神經網絡技術的相關應用研究已經拓展到了極其寬廣的局面上,展示出了極其重要且極具滲透性的應用能力,并帶來極高的產業價值。
圖(Graph)是計算機科學中一類重要的數據結構,與“文本”“圖像”“語音”共同構成數字世界的基礎組成部分。圖結構通過將現實場景中的實體轉化為節點,將實體間的關系轉化為邊,借助節點和邊的數據結構對實體及其關系進行抽象建模。在“萬物互聯”的大環境下,圖結構對現實場景中研究對象間的作用關系具有很強的表達能力。
將傳統的深度學習算法應用于圖時存在諸多挑戰,與圖像、音頻和文本具有清晰的網格結構不同,圖具有不規則的結構,如圖1所示,與網格結構相比,圖的節點無序,圖中的每個節點都與其周圍的其它節點存在復雜的依賴關系[1]。因此現有的深度學習算法,例如,卷積神經網絡(CNNs)僅適用于網格結構數據(圖像),遞歸神經網絡(RNNs)僅適用于序列(文本)數據。圖神經網絡的核心在于建模節點間的依賴關系,從而對圖節點進行表示,并對接下游機器學習任務。

圖1 網格數據(左)與圖數據(右)
基本的圖神經網絡模型最初由譜方法導出,將卷積核作用在譜空間的輸入信號上,并利用卷積定理實現圖卷積,以完成節點之間的信息聚合。在信號上的卷積被定義為
從研究層面來說,GCN將圖神經網絡從譜域卷積的研究轉向了空間域卷積的研究。為了適應現實世界中復雜的圖數據,研究人員通過設計不同聚合函數來結合中心節點和其鄰域節點信息。一個有效方法是將注意力機制融入到圖學習方案中。注意力機制通過允許模型專注于輸入中最相關的部分,從而幫助模型做出決策,在融合注意力機制的GNN模型中,圖鄰接矩陣僅被用來定義鄰域節點,而節點間的權重計算則依賴于節點特征。例如圖注意力網絡GAT[4]的注意力權重計算公式為其中可學習參數用于計算節點間的注意力權重。如圖2所示,得到注意力權重后每個鄰居節點按照不同的權重聚合信息到目標節點。大量研究表明,注意力機制在生物分子領域尤為重要。相比GCN和GraphSAGE[5]等僅利用均值權重聚合的模型,GAT和GrapStar[6]等方法學習到的權重分布方差更大,在標準的蛋白質功能分類任務中的預測精度可以提升20%左右。注意力也使模型的結果更易于解釋。例如,通過分析模型對醫學本體圖中不同組件的關注度,可以確定導致特定醫療狀況的主要因素[7]。然而目前基于注意力機制的圖模型參數量大,運行效率不高;其次,大多數基于注意力的圖神經網絡僅通過節點特征學習聚合權重,忽視了圖結構信息。因此如何使注意力機制結合圖結構信息,如何提升注意力圖模型的運行效率仍然具有很大的挑戰。

圖2 圖注意力網絡根據權重聚合信息
盡管目前圖神經網絡的表現力得到了廣泛的認可,但目前大多數GNN模型都是淺層網絡,如GCN和GAT等都在兩層模型中實現了最佳預測性能。這種淺層結構限制了它們從高階鄰居中提取信息的能力。然而,疊加更多網絡層并增加非線性往往會降低這些模型的性能,隨著層數的增加,GNN中節點的表示傾向于收斂到某個值,因此節點變得不可區分,這種現象被稱為過度平滑。有許多研究工作表明這種過度平滑更深層的原因是隨機游走的穩態分布(Steady-State Distribution),因此阻礙或改變穩態分布的收斂是緩解過度平滑的可行方式。例如通過密集跳躍連接來組合模型每一層的輸出,來學習不同圖子結構的不同階表示,以保持節點表示的局部性;或者在訓練時從輸入圖中隨機刪除一些邊,以此緩解過度平滑的收斂速度并提高模型泛化能力。這些方法在全監督的直推式或歸納式學習中將圖模型層數增加至16到32層,且大幅度提升了模型預測性能。然而增加的模型層數使得模型訓練時更易受到過擬合的影響,因此如何在學習高階交互信息的同時保證模型泛化性是該研究中需要重點關注的。另一方面,還可以將GNN中的信息傳播和特征變換解耦,用PPR(Personalized PageRank)或者HKPR(熱核PageRank)等存在局部性的圖傳播方案代替原本GNN中的高階概率轉移方案,從而避免過平滑,例如SGC[8]、APPNP[9]、GDC[10]等方法。雖然可以在學習圖中高階交互關系時避免過平滑,但這些方法只是對每一層的鄰域特征進行線性組合,失去了深層非線性結構的強大表達能力,可能會限制相應的GNN模型性能。目前的深度圖神經網絡理論集中于同質圖的研究,而在具有多種節點和邊類型的異構圖中,如何訓練深層模型,從而盡可能的捕獲高階交互所帶來的收益,是一個重要研究方向。
隨著互聯網中數據量的高速增長,現實世界的圖很容易有數千萬甚至數十億個節點和邊。因此,如何設計可伸縮模型,最好是相對于圖節點數量或邊數量具有線性時間復雜度的模型,是一個關鍵問題。經典的GCN使用的是一階拉普拉斯多項式濾波器近似圖上的卷積操作,并使用全批量訓練網絡,時間復雜度與卷積層數呈線性關系,但需要將全部圖結構及其節點特征加載進顯存,無法支持大規模圖數據的訓練。GraphSAGE[4]利用小批量訓練提高GCN模型的收斂性并通過隨機游走采樣來減少學習節點的表示所需的鄰域大小,緩解“鄰居爆炸”問題,但是訓練的時間復雜度和GCN階數仍呈指數關系,僅能支持淺層模型的訓練,無法發揮深層神經網絡的優勢。Cluster-GCN[11]使用圖聚類算法預先將圖分割為多個子圖,每個子圖作為一個批量來進行GCN的訓練,將訓練的時間復雜度和GCN階數降為線性關系,但對于大規模的圖數據,標注數據非常稀少,圖聚類無法控制將指定個數的標注節點分配到同一個子圖,影響了小批量訓練的效果。最近,GraphSAINT[12]提出了多種輕量級采樣算法(例如節點采樣、隨機游走采樣)來代替圖聚類,提高了采樣的速度與靈活性,可以支持只包含少量標記數據的半監督學習任務。但是如何在大規模圖數據中學習遠距離節點之間的關系、提高圖模型推理速度仍然是有待解決的問題。
另外有很多研究者嘗試從系統角度提高圖學習效率。PyG[13]是幾何深度學習庫,利用稀疏GPU加速和高效的小批量處理來實現高數據吞吐量,并為不規則數據(圖、點云、流形)提供統一易用的接口。Wang等人構建的圖上深度學習軟件包DGL[14],可以集成不同深度學習框架(PyTorch、TensorFlow、MXNet),提供send、recv兩種基本原語執行圖計算,自動檢測操作模型并進行優化,在生命科學、知識圖、推薦系統、自然語言處理和圖像處理等不同領域為用戶提供靈活的接口。Euler[15]是阿里提出的工業級分布式圖學習框架,通過緩存批訓練過程中的中間結果,優化批訓練所需的指數級計算力,并利用分布式并行支持數十億級別圖的訓練。阿里還搭建了綜合圖神經網絡平臺AliGraph[16],根據度分布優化緩存,在分布式環境中優化圖存儲、分割及采樣算子,并利用異步訓練等技術提高圖模型訓練效率,應用于多種業務場景。
圖神經網絡被廣泛應用在計算機視覺、自然語言處理、推薦系統、網絡分析、交通、分子預測、組合優化等領域。下面介紹了圖神經網絡幾種具有代表性的應用場景。
圖形神經網絡的最大應用領域之一是計算機視覺,在圖像分類、視覺推理、語義分割、場景圖生成和動作識別等多個方面都存在利用圖結構的方法。
圖像分類是計算機視覺領域中一項非常基礎和重要的任務,受到了廣泛的關注。利用圖神經網絡可以將結構信息融合到圖像分類中。例如可以構建知識圖,其中每個節點對應一個對象類別,并將節點的單詞嵌入作為預測不同類別分類器的輸入,由此構建的知識圖可以作為零樣本識別的額外信息。此時GNN可以在圖像之間進行消息傳遞,學習圖像之間的相似性,實現零樣本或少樣本識別。相比于基于CNN的分類模型,上述方法在零樣本識別任務中的預測精度提升約4%左右。隨著圖的增大,基于CNN的模型性能幾乎沒有改變,而基于GNN的分類效果可以持續上升。此外,捕獲到圖交互信息的分類模型可以穩健地處理知識庫中的臟數據。但是零樣本識別任務完全依靠類別間的消息傳遞進行學習,存在非平衡環境的問題,即因為某條消息的錯誤而擴大錯誤范圍面導致識別的不可靠性,因此在今后的工作中可以嘗試添加主動學習,即在識別過程中添加少量與用戶的問答,及時糾正錯誤。
計算機視覺系統通常需要結合空間和語義信息進行推理。因此,為推理任務生成圖是很自然的。典型的視覺推理任務是視覺問答,即回答給定圖片的相關問題。為回答該問題,需要學習圖中各個部分的空間關系,但是傳統的基于CNN或者LSTM的視覺問答算法受只能編碼單一向量的限制而只能處理圖中某一部分,如CNN特征向量不能有效地捕捉多個對象實例、LSTM將問題處理為一系列的詞因此不能反映語言結構的真實復雜性。相反,Teney等人[17]分別構建圖像場景圖和問題句法圖,然后用GNN來訓練嵌入以預測最終答案。實驗表明通過使用GNN,在“抽象場景”多項選擇基準測試中,準確率從71.2%提高到74.4%,在更具挑戰性的“平衡”場景中,準確率從34.7%提高到39.1%。除了學習圖像的空間信息,Norcliffebrown等人[18]還構造了問句間的關系圖,從而執行更精細的關系探索和更可解釋的推理過程。雖然視覺問答研究已經取得一些研究,但就從目前發展形勢來看仍然面臨一定局限性。比如現有方法整體準確率不夠高,特別是在較有挑戰性的“平衡”場景下,準確率遠低于人類水平。改進方向可以關注在如何提升圖像和文本之間的關系特征,現有方法分別關注在這兩方面的各自表示而沒有將它們很好地融合。
此外,視覺推理還可用于目標檢測、交互檢測和區域分類。在目標檢測中,GNN可以用于計算感興趣區域特征;在交互檢測中,GNN可以用作人與目標之間的消息傳遞工具,如圖3所示,其中紅色標記人,綠色標記物,白色為交互行為生成的圖;在區域分類中,GNN可以對連接區域和類的圖進行推理[19]。

圖3 人-物交互圖
語義分割是圖像理解的重要一步。這里的任務是為圖像中的每個像素分配唯一的標簽(或類別),即密集的分類問題。近年來興起的自動駕駛、虛擬現實、增強現實等應用都需要用到語義分割技術。由于圖像中的區域通常不是網格狀的,并且三維語義分割和點云分類等需要利用更多的幾何信息,因此很難用二維CNN進行建模。因此可以在點云的基礎上構造了k近鄰圖,圖中的每個節點都對應了一組點,并與一個隱藏的表示向量相關聯,利用GNN作為傳播模型,按一定的時間步長展開后,以每個節點的隱藏狀態為輸入,預測其語義標簽。GNN利用了二維顯示信息和三維幾何關系,能夠捕獲圖像中的長期依賴關系,是傳統方法難以建模得到的。但是目前已有的數據集并不能滿足語義分割發展的需求,因此構建數據量大、種類豐富且有效的數據集非常重要。此外,現有的三維數據較為單一,大部分局限于室內場景和城市街道場景,而少有戶外點云場景數據集與遙感三維數據集。
圖形神經網絡在計算機視覺中應用的可能方向也在不斷增加,例如基于結構化場景圖的生成圖像方法,可以顯式地描述對象和關系,并生成具有許多可識別對象的復雜圖像;將人體骨骼連接形成圖,應用時空神經網絡識別視頻中的人類動作有助于從機器方面更好地理解視頻內容。
雖然文本是單詞序列,圖神經網絡仍可以應用于多種基于文本的任務,例如文本分類、機器翻譯、關系抽取等。文本分類是自然語言處理中一個重要而經典的問題,可用于文檔組織、新聞過濾、垃圾郵件檢測、觀點挖掘等應用中。傳統的文本分類模型如RNN和CNN等,都能很好地捕捉局部連續詞序列中的語義和句法信息,但可能會忽略具有非連續和遠距離語義的語料庫中的全局詞共現。運用GNN便可解決上述問題,有三種建模方式。第一,通過詞共現網絡建模文本信息從而進行文本分類,其中詞共現網絡的節點是非停用詞、連邊是在給定窗口下的詞共現關系。第二,利用文檔間的結構信息構建文檔關系網絡進行文本分類。第三,將文檔和單詞同時作為節點來構建異構語料庫圖,使用異構圖神經網絡直接來學習單詞和文檔的嵌入。多種基準評測表明,在沒有任何外部詞嵌入或者知識庫的情況下,基于GNN的文本分類效果要優于基于RNN或CNN的分類效果。此外,隨著訓練數據百分比的降低,基于GNN的文本分類效果相對于其他方法變得更加突出,這表明基于GNN的文本分類對較少訓練數據具有魯棒性。基于GNN的文本分類效果最佳的主要原因是建模成圖既能捕捉文檔詞關系,又能捕捉全局詞關系。但是值得注意的是,傳統GNN不適合做情感分類任務,例如在電影評論數據集MR[20]上GNN的效果不如CNN和RNN,這是因為傳統GNN無法建模在情感分類中非常重要的詞序,且MR構建的圖結構較為稀疏,限制了節點間消息的傳遞。因此如何在GNN模型中建模節點順序信息,并提升GNN模型在稀疏圖上的性能,是一個重大的挑戰。
機器翻譯旨在利用神經網絡將文本從源語言自動翻譯成目標語言,它通常被任務是一個“序列到序列”的任務,使用序列編解碼器完成。例如Transformer[21]引入注意力機制,代替了傳統RNN模型。實際上,Transformer假設所有單詞之間有一個完全連通的圖形結構,這就給基于GNN的機器翻譯帶來了可能。傳統序列編解碼器缺乏任何語法或語言層次結構的明確建模,因此添加句法信息并不會對翻譯效果帶來提升。而依賴GNN實現的編碼器可以實現自動將源語句的句法鄰域信息合并到特征向量中,從而潛在地提高翻譯輸出的質量。Bastings等人[22]首次完全依賴GNN實現機器翻譯,GNN使用源語句的預測句法依賴樹來產生對其句法領域敏感的單詞表示,即編碼器的隱藏層。輸入源語句至GNN,模型會返回目標語句。此外,Marcheggiani[23]等人利用句法GNN整合了關于源句謂詞論元結構的信息,即語義角色表征,并比較了僅整合句法信息、僅整合語義信息和兩者的結果。相比傳統的序列化算法,GNN的使用使得對象之間的復雜的語義關系得到了有效的挖掘[24],在各項自然語言處理任務上都出現了一定的提升。
不論是電商還是社交網絡,用戶和商品的交互關系、用戶和用戶的關注關系天然形成了圖結構,因此圖神經網絡在推薦系統中變得無處不在。在基于圖的推薦系統中,以項目和用戶為節點,其中的文本圖像等信息形成節點特征,項目與項目、用戶與用戶、用戶與項目之間的關系形成邊,推薦系統的關鍵是評價一個項目對用戶的重要性。因此,可以將其轉換為一個鏈路預測問題,目標是預測用戶和項目之間丟失的鏈接。RNN等序列模型只能對相鄰的兩個項目或物品的單向轉移關系進行建模,忽略了其他項目,而GNN可以捕獲節點間的高階交互關系從而學習出高質量的節點表示。雖然基于GNN的推薦系統已經取得了很大的進展,但一些挑戰仍然沒有得到很好的解決,因此需要作出更多的努力。首先,在現實世界中,對象(包括用戶和項目)以及它們之間的關系隨著時間的推移而變化,從而產生的是動態圖而非靜態圖。這種動態可能會對推薦結果產生重大影響,甚至會隨著時間的推移而改變。然而這種情況往往被忽視或研究較少。其次,是基于因果推理的關系圖學習。因果推理是發現對象或動作之間因果關系的主要技術。盡管在可解釋的推薦方面已經取得了一些進展,但是我們還遠遠沒有完全理解用戶選擇的原因和意圖,這對于做出可靠的、可解釋的推薦是非常關鍵的。
除了以上三個領域外,圖神經網絡還可以應用于眾多領域,如交通流量預測,通過將路網數據轉換為時空圖結構,利用GNN結合RNN在時空圖上進行多元時間序列預測,從而進行出行路線指導;將原子和化學鍵轉換為圖結構從而進行分子性質預測;將不同模態的醫學影像利用圖神經網絡結合,學習腦功能分區對雙向情感障礙的影響等等。
圖神經網絡的出現,很好地填補了將深度學習應用于關系數據建模的技術空白,實現了圖數據與深度學習技術的有效結合。隨著圖神經網絡研究的發展與落地,超大規模圖數據、動態圖數據、實時交互式等應用場景也為圖學習的研究帶來了新的挑戰。例如,如何在連續時間內對網絡變化進行建模,如何支持模型參數的增量更新,如何保證可解釋性和魯棒性等。圖上深度學習是關系數據建模的一個重要組成部分,這是一個很有前途和快速發展的研究領域,也是朝著人工智能技術未來邁出的重要一步。