清華劉知遠(yuǎn)等人綜述:圖神經(jīng)網(wǎng)絡(luò),方法與應(yīng)用

在 AI Open 雜志 2020 年第一卷中,清華大學(xué)Jie Zhou,Ganqu Cui等人發(fā)表了綜述性論文《Graph neural networks: A review of methods and applications》,其他作者還包括知名學(xué)者孫茂松、劉知遠(yuǎn)等。
作者對現(xiàn)有的圖神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了細(xì)致的總結(jié),歸納出了設(shè)計 GNN 模型的一般流程,對其中各個組件的變體展開了討論,系統(tǒng)地對 GNN 的應(yīng)用進(jìn)行了分類整理,并提出了 4 個有待解決的研究問題。本文對這篇論文做簡略介紹。
撰文:熊宇軒
編校:賈 偉

論文鏈接:https://baai.org/l/ip7hD

圖是一種在各種學(xué)習(xí)任務(wù)中廣為使用的非歐數(shù)據(jù)結(jié)構(gòu),它包含元素之間豐富的關(guān)系信息。圖學(xué)習(xí)重點關(guān)注節(jié)點分類、鏈接預(yù)測、聚類等任務(wù)。
具體而言,研究人員將圖學(xué)習(xí)技術(shù)用于對物理系統(tǒng)建模、學(xué)習(xí)分子特征、預(yù)測蛋白質(zhì)接口、疾病分類等場景。
當(dāng)我們針對文本和圖像等非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行學(xué)習(xí)時,在提取出的結(jié)構(gòu)(例如句子的依賴樹和圖像中的場景圖)進(jìn)行推理是十分重要的,這就要求我們構(gòu)建圖推理模型。圖神經(jīng)網(wǎng)絡(luò)(GNN)通過圖的節(jié)點之間的消息傳遞來獲取圖中的依賴關(guān)系。
近年來,圖卷積網(wǎng)絡(luò)(GCN)、圖注意力網(wǎng)絡(luò)(GAT)、圖循環(huán)網(wǎng)絡(luò)(GRN)等 GNN 的變體在許多深度學(xué)習(xí)任務(wù)上展示出了性能上的突破。
01、GNN是怎么誕生的?
GNN 的研究動機可以追溯到上世紀(jì) 90 年代的循環(huán)神經(jīng)網(wǎng)絡(luò),此類方法的主要思想是在圖上構(gòu)建狀態(tài)轉(zhuǎn)移系統(tǒng),迭代至收斂。盡管它們在諸多任務(wù)上取得了成功,但是這種工作機制限制了網(wǎng)絡(luò)的可擴展性和表征能力。
以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為代表的深度神經(jīng)網(wǎng)絡(luò)近年來的發(fā)展啟發(fā)了 GNN 的研究人員。CNN 可以提取多尺度的局部空間特征,使用它們構(gòu)建更好的表征。CNN 成功的關(guān)鍵之處在于局部連接、權(quán)值共享以及對多層網(wǎng)絡(luò)的使用。這種思路對于解決圖上的問題也十分重要。
然而,CNN 只能作用于常規(guī)的歐氏數(shù)據(jù)(例如,圖像、文本),而這些數(shù)據(jù)也可以被構(gòu)建為圖的形式。因此,研究人員試圖將 CNN 拓展到圖領(lǐng)域。
如圖 1 所示,我們很難定義局部的卷積濾波器和池化操作,從而難以將 CNN 從歐幾里得域遷移到非歐的域中。將深度神經(jīng)模型擴展到非歐域中的工作被稱為幾何深度學(xué)習(xí),這一研究領(lǐng)域近年來得到了極大的關(guān)注。

另一方面,圖表征學(xué)習(xí)的發(fā)展也促進(jìn)了人們對圖神經(jīng)網(wǎng)絡(luò)的研究。
圖表征學(xué)習(xí)旨在學(xué)習(xí)通過低維向量表征圖的節(jié)點、邊、子圖。在圖分析領(lǐng)域中,傳統(tǒng)的機器學(xué)習(xí)方法往往依賴于手工設(shè)計的特征,這些方法靈活度較低且計算開銷較大。
DeepWalk 是第一個基于表示學(xué)習(xí)的圖嵌入方法,借鑒了表示學(xué)習(xí)的思想和詞嵌入技術(shù)的成功之處,將 SkipGram 模型應(yīng)用于生成的隨機游走上。此后,node2vec、LINE、TADW 等類似的方法也取得了一定的突破。
然而,這些方法存在兩個非常嚴(yán)重的缺點:(1)在編碼器中,節(jié)點之間并不共享參數(shù),參數(shù)量隨著節(jié)點數(shù)的增長而線性增長,使得計算效率低下;(2)直接的嵌入方法缺乏泛化能力,無法處理動態(tài)圖,無法泛化到新的圖上。
在 CNN 和圖嵌入的基礎(chǔ)上,研究人員提出了各種 GNN,從圖結(jié)構(gòu)中聚合信息。GNN 可以對由元素及其自建的依賴組成的輸入和輸出建模。
02、GNN設(shè)計流程
針對特定的圖上的任務(wù),圖模型的一般設(shè)計流程如下:(1)提取圖結(jié)構(gòu)(2)指定圖的類別和規(guī)模(3)設(shè)計損失函數(shù)(4)使用計算模塊構(gòu)建模型。具體使用到的符號如表 1 所示:

1、提取圖結(jié)構(gòu)
首先,我們需要提取出具體應(yīng)用中的圖結(jié)構(gòu)。我們將這些應(yīng)用分為結(jié)構(gòu)化場景和非結(jié)構(gòu)化場景。
在結(jié)構(gòu)化場景下,圖結(jié)構(gòu)顯式地存在于分子、物理系統(tǒng)、知識圖譜等應(yīng)用中。
在非結(jié)構(gòu)化場景下,圖結(jié)構(gòu)是隱式的,我們首先需要針對具體任務(wù)構(gòu)圖(例如,文本中單詞的全連接圖,圖像的場景圖)。當(dāng)我們得到圖結(jié)構(gòu)后,接下來就需要為其設(shè)計最優(yōu)的 GNN 模型。
2、圖的類別與規(guī)模
在得到圖結(jié)構(gòu)后,為了設(shè)計最優(yōu)的 GNN 模型,我們需要考慮圖的類型和規(guī)模。我們可以按照以下正交的標(biāo)準(zhǔn)對圖進(jìn)行分類,我們也可以將這些分類方法組合起來使用:
有向圖/無向圖:有向圖中的邊從某一個節(jié)點指向另一個節(jié)點,它能比無向圖提供更多的信息。無向圖中的邊也可以被視為雙向邊。
同構(gòu)圖/異構(gòu)圖:同構(gòu)圖中的節(jié)點和邊的類型都相同,而異構(gòu)圖中的節(jié)點和邊則具有多種類型。
靜態(tài)圖/動態(tài)圖:動態(tài)圖的輸入特征或拓?fù)浣Y(jié)構(gòu)會隨時間變化,此時需要考慮時間信息。
就圖的規(guī)模而言,目前并沒有明確的將圖分為「小型圖」和「大型圖」的標(biāo)準(zhǔn),隨著計算設(shè)備的發(fā)展,這一分類標(biāo)準(zhǔn)也將不斷改變。我們通常認(rèn)為,如果圖的鄰接矩陣或拉普拉斯矩陣無法在設(shè)備上存儲、處理,則該圖為大規(guī)模圖,此時我們需要考慮使用某些采樣方法。
3、設(shè)計損失函數(shù)
與大多數(shù)機器學(xué)習(xí)場景一樣,在圖學(xué)習(xí)場景下,我們需要根據(jù)任務(wù)類型和訓(xùn)練情況涉及損失函數(shù)。我們通常需要考慮三類圖學(xué)習(xí)任務(wù):
節(jié)點級別:此類任務(wù)包括節(jié)點的分類、回歸、聚類等。
邊級別:此類任務(wù)包括邊分類和鏈接預(yù)測。邊分類旨在確定圖中存在的邊的類別;鏈接預(yù)測旨在判斷圖中某兩個節(jié)點之間是否存在一條邊。
圖級別:此類任務(wù)包括圖的分類、回歸、匹配等任務(wù),它們要求模型學(xué)習(xí)圖的表征。
從監(jiān)督信號的角度而言,圖學(xué)習(xí)任務(wù)涉及以下三種訓(xùn)練設(shè)定:
監(jiān)督學(xué)習(xí):訓(xùn)練使用有標(biāo)簽數(shù)據(jù)。
半監(jiān)督學(xué)習(xí):訓(xùn)練使用少量的有標(biāo)簽節(jié)點數(shù)據(jù)和大量的無標(biāo)簽節(jié)點數(shù)據(jù)。在測試時,轉(zhuǎn)導(dǎo)學(xué)習(xí)要求模型預(yù)測出給定的已見過的無標(biāo)簽節(jié)點的標(biāo)簽,而歸納學(xué)習(xí)則要求模型預(yù)測出來自相同分布的無標(biāo)簽節(jié)點的標(biāo)簽。大多數(shù)節(jié)點和邊的分類都是半監(jiān)督學(xué)習(xí)任務(wù)。
無監(jiān)督學(xué)習(xí):模型只能利用無標(biāo)簽數(shù)據(jù)提取模式(例如,節(jié)點聚類)。
在明確了任務(wù)類型和訓(xùn)練設(shè)定后,我們可以為任務(wù)設(shè)計特定的損失函數(shù)。例如,我們可以將交叉熵?fù)p失用于節(jié)點級的半監(jiān)督分類任務(wù)。
4、使用計算模塊構(gòu)建圖模型
在完成了上述步驟之后,我們可以使用計算模塊構(gòu)建圖模型。常用的計算模塊包括:
傳播模塊:該模塊被用于在節(jié)點之間傳播信息,聚合得到的信息可以同時捕獲特征和拓?fù)湫畔?。傳播模塊通常使用卷積操作和循環(huán)操作從鄰居節(jié)點聚合信息,同時也使用跳躍鏈接操作從歷史表征中聚合信息并緩解過平滑問題。
采樣模塊:在處理大型圖時,我們通常需要使用采樣模塊來組織圖上的傳播過程。
池化模塊:在表征高層次子圖或圖的時候,我們需要使用池化模塊從節(jié)點中提取信息。
如圖 2 所示,我們可以使用上述計算模塊構(gòu)建 GNN 模型。其中,每一層網(wǎng)絡(luò)中都可以使用卷積操作、循環(huán)操作、采樣模塊和跳躍鏈接,而池化操作則被用于提取高層次的信息。我們通常將這些網(wǎng)絡(luò)層堆疊起來,從而獲得更好的表征。

5、計算模型舉例
根據(jù)使用的計算模塊,我們可以將現(xiàn)有的 GNN 網(wǎng)絡(luò)按照如圖 3 所示的方法進(jìn)行分類:

5.1 傳播模塊——卷積操作
卷積操作是 GNN 模型使用最頻繁的信息傳播操作,它將其它域中的卷積操作泛化到了圖域中。該領(lǐng)域的研究進(jìn)展主要可以分為譜域方法和空域方法。
譜域方法
譜域方法需要使用圖的譜表征。此類方法以圖信號處理為基礎(chǔ),定義了譜域的卷積操作。在譜方法中,我們首先通過圖傅里葉變換將圖信號 x 變換到譜域中,然后進(jìn)行圖卷積。在卷積后,我們使用逆圖傅里葉變換將信號變換回去。改變換可以定義為:

U 為歸一化后的圖拉普拉斯矩陣的特征向量矩陣。根據(jù)卷積理論,我們可以將卷積操作定義為:

其中,為譜域中的卷積核。我們可以使用一個可學(xué)習(xí)的對角矩陣對卷積核進(jìn)行簡化,從而將譜方法的卷積操作寫作,我們可以根據(jù)區(qū)分各種譜方法:

2014 年,Bruna 等人首次提出了 Spectral Network,它利用了一個可學(xué)習(xí)的對角矩陣作為卷積核。此后,為了提升計算效率并引入空間局部卷積核,Defferrard 等人利用截斷的切比雪夫展開式提出了 ChebNet,其卷積核無需計算拉普拉斯矩陣的特征向量。
2017 年,Kipf 和 Welling 在 ChebNet 的基礎(chǔ)上進(jìn)一步提出了 GCN,簡化了卷積操作,緩解了過擬合問題,作者還引入了重歸一化技巧,解決了梯度爆炸/梯度消失問題。
上述方法都使用了原始的圖結(jié)構(gòu)表征節(jié)點之間的關(guān)系。然而,各個節(jié)點之間還存在一些隱式的關(guān)系。2018 年,Li 等人提出了自適應(yīng)圖卷積網(wǎng)絡(luò)(AGCN),該模型學(xué)習(xí)了一個「殘差」拉普拉斯矩陣,并將其與原始的拉普拉斯矩陣相加,可以有效學(xué)習(xí)節(jié)點間的底層關(guān)系。為了同時考慮圖上的局部一致性和全局一致性,Zhang 和 Ma 等人于 2018 年提出了對偶圖卷積網(wǎng)絡(luò),它使用了兩個卷積網(wǎng)絡(luò)分別捕獲局部一致性和全局一致性,并使用了一個無監(jiān)督損失集成二者。
Xu 等人于 2019 年提出了圖小波神經(jīng)網(wǎng)絡(luò)(GWNN),它使用小波變換代替傅里葉變換,將圖數(shù)據(jù)變換到頻域中。圖小波變換無需使用矩陣分解,計算效率更高,其性能和可解釋性也更強。
值得一提的是,大多數(shù)譜域方法使用的卷積核依賴于圖結(jié)構(gòu),因此這些卷積核無法被用于變化后的圖結(jié)構(gòu),即此類方法只適用于「轉(zhuǎn)導(dǎo)學(xué)習(xí)」場景。
基本的空域方法
空域方法基于圖的拓?fù)浣Y(jié)構(gòu)直接在圖上定義卷積操作。對于此類方法而言,最主要的挑戰(zhàn)時針對不同尺度的鄰域定義卷積操作,并保持 CNN 的局部不變性。
空域方法的代表性工作有:Neural FP、DCNN、PATCHY-SAN、LGCN、GraphSAGE 等方法。
其中,Neural FP 根據(jù)節(jié)點的度為節(jié)點分配權(quán)值矩陣,然而它無法被應(yīng)用于大規(guī)模的圖。
DCNN 使用轉(zhuǎn)移矩陣定義節(jié)點的領(lǐng)域,可以考慮 K 跳節(jié)點的信息。
PATCHY-SAN 為每個節(jié)點提取鄰域中 k 個鄰居節(jié)點的歸一化信息,歸一化后的鄰域可以被視為傳統(tǒng)卷積操作中的感受野。
LGCN 利用 CNN 作為聚合器,在節(jié)點的鄰域矩陣中執(zhí)行最大池化操作,得到 top-k 的特征元素,并使用一維 CNN 計算隱藏表征。
GraphSAGE 是目前廣為使用的空域圖神經(jīng)網(wǎng)絡(luò),它是一種歸納學(xué)習(xí)框架,通過采樣從固定大小的節(jié)點的局部鄰域中聚合特征,從而生成嵌入:

其中為聚合函數(shù)。當(dāng)聚合函數(shù)為平均聚合函數(shù)時,GraphSAGE 可以被視為 GCN 的歸納學(xué)習(xí)版本。
基于注意力的空域方法
注意力機制在許多基于序列的任務(wù)都取得了成功。一些研究工作試圖將注意力操作擴展到圖學(xué)習(xí)領(lǐng)域?;谧⒁饬Φ膱D神經(jīng)網(wǎng)絡(luò)為鄰居節(jié)點賦予不同的權(quán)值,從而減輕噪聲的影響。此類方法的代表性工作主要包括 GAT 和 GaAN。
其中,圖注意力網(wǎng)絡(luò)(GAT)將注意力機制引入了信息傳播過程中。它通過自注意力策略為鄰居節(jié)點賦予注意力權(quán)值,計算出每個節(jié)點的隱藏狀態(tài)。節(jié)點 v 的隱藏狀態(tài)可以表征為:

此外,GAT 還使用了多頭注意力機制使訓(xùn)練過程更加穩(wěn)定。引入注意力機制的優(yōu)勢如下:
(1)并行計算節(jié)點對之間的注意力值,操作更加高效;
(2)為鄰居節(jié)點指定權(quán)重,該機制可以被用于具有不同度的圖節(jié)點;
(3)可以被用于歸納學(xué)習(xí)問題。
空域方法的通用框架
研究人員提出了一系列通用框架,旨在將各種空域方法統(tǒng)一到同一個框架下。
Monti 等人提出了混合模型網(wǎng)絡(luò) MoNet,它是一種將多種在圖或流形上定義的空域方法統(tǒng)一起來的框架。
Gilmer 等人提出了消息傳遞神經(jīng)網(wǎng)絡(luò)(MPNN),它使用消息傳遞函數(shù)統(tǒng)一各種變體。
Wang 等人提出了非局部神經(jīng)網(wǎng)絡(luò)(NLNN)統(tǒng)一了多種基于自注意力的方法。
Battaglia 等人提出了圖網(wǎng)絡(luò)(GN)定義了一種用于學(xué)習(xí)節(jié)點級、邊級、圖級別表征的通用網(wǎng)絡(luò)。
5.2 傳播模塊——循環(huán)操作
基于循環(huán)操作的方法是當(dāng)下圖神經(jīng)網(wǎng)絡(luò)研究的前沿問題之一。在卷積操作中,各個網(wǎng)絡(luò)層使用不同的權(quán)值,而循環(huán)操作中的網(wǎng)絡(luò)層則共享相同的權(quán)值。早期基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法主要側(cè)重于處理有向無環(huán)圖。
2005 年 Gori 等人提出了 GNN 的概念,將現(xiàn)有的神經(jīng)網(wǎng)絡(luò)拓展到處理更多類型的圖數(shù)據(jù)上。目前,此類方法主要可以分為基于隱藏狀態(tài)收斂的方法和基于門控機制的方法。
表 2 歸納了基于循環(huán)操作的 GNN:

基于收斂的方法旨在為每個節(jié)點學(xué)習(xí)一種狀態(tài)嵌入,并使用該嵌入得到某種輸出(例如,預(yù)測節(jié)點標(biāo)簽的分布):

基于收斂的方法的代表性工作有:GraphESN、SSE、LP-GNN 等。
基于門控機制的方法試圖將 GRU、LSTM 等模型用于傳播步驟中,提升了計算效率和對圖結(jié)構(gòu)的長距離信息傳播的表征效果。此類方法執(zhí)行固定數(shù)量的訓(xùn)練步,而并不保證收斂。此類方法的代表性工作有 GGNN、Tree LSTM、Graph LSTM、S-LSTM 等。
5.3 傳播模塊——跳躍連接
為了得到更好的效果,許多應(yīng)用會展開或堆疊圖神經(jīng)網(wǎng)絡(luò)層,這是因為更深的網(wǎng)絡(luò)可以為節(jié)點聚合更多的信息(例如,k 層網(wǎng)絡(luò)可以聚合 k 跳鄰居的信息)。
然而,許多實驗證明,更深的模型不一定會具有更好的性能,其結(jié)果可能恰恰相反。這主要是因為更深的網(wǎng)絡(luò)也可能從以指數(shù)形式增長的鄰居向節(jié)點傳播噪聲信息。由于當(dāng)模型更深時,通過局和操作會得到相似的節(jié)點表示,這可能會引起郭平華問題。
因此,許多方法試圖向模型中添加「跳躍連接」,從而加深 GNN。此類方法的代表性工作有:Highway GCN、CLN、JKN、ResGCN、DenseGCN 等。以 Highway GCN 為例,Rahimi 等人于 2018 年借鑒 highway networks 的思想,使用層級別的門控機制提出了 Highway GCN。該網(wǎng)絡(luò)中煤以曾將輸入和輸出通過門控權(quán)重加和:

5.4 采樣模塊
GNN 會聚合前一層中節(jié)點的鄰域信息,從而生成節(jié)點的表征。如果我們回溯若干個 GNN 層,計算涉及的鄰居節(jié)點數(shù)將會隨著深度的增加而呈指數(shù)增長。
我們可以通過采樣技術(shù)緩解這種「鄰居爆炸」的問題。此外,在處理大規(guī)模圖時,我們不能一直存儲并處理每個節(jié)點所有鄰居的信息,因此需要通過采樣模塊來保證信息傳播的進(jìn)行。一般來說,我們會采取節(jié)點采樣、層采樣、子圖采樣這三種層次上的采樣技術(shù)。
其中,從節(jié)點的鄰域中選取所有鄰居節(jié)點的子集是最直觀的縮小計算規(guī)模的方法,代表性的工作有 GraphSAGE、PinSage 等。層采樣在每一層中保留了一個小的節(jié)點子集,為這些節(jié)點聚合信息,而不是為每個節(jié)點采樣鄰域,從而控制擴展系數(shù),代表性的工作有 FastGCN、LADIES 等。
子圖采樣對圖中的多個子圖進(jìn)行采樣,并將鄰域搜索限制在這些子圖中,而不是在完整的圖上進(jìn)行節(jié)點采樣或邊采樣,代表性的工作有 ClusterGCN、GraphSAINT 等。
5.5 池化模塊
在計算機視覺領(lǐng)域中,我們往往會在卷積層后加入一個池化層,從而得到更通用的特征。復(fù)雜的大規(guī)模圖通常具有豐富的層次結(jié)構(gòu),這對節(jié)點級和圖級別的分類任務(wù)十分重要。
類似地,許多研究人員試圖在圖模型中設(shè)計層次化的池化層,池化模塊主要可以分為兩類:直接池化模塊、層次化池化模塊。
直接池化模塊直接地使用不同的節(jié)點選擇策略根據(jù)節(jié)點學(xué)習(xí)圖級別的表征,此類模塊也被成為讀出函數(shù),代表性的讀出函數(shù)有:簡單的節(jié)點級的最大/平均/求和/注意力操作,Set2set,SortPooling 等。
層次化的池化會考慮圖結(jié)構(gòu)的層次化屬性,代表性的方法有 Graph Coarsening、ECC、DiffPool、gPool、EigenPooling、SAGPool 等。
三、將GNN用于各種類別與規(guī)模的圖
現(xiàn)實世界中的圖往往是復(fù)雜的。針對不同的場景,研究人員提出了針對有向圖、異構(gòu)圖、動態(tài)圖、超圖、有符號圖、大型圖等場景的圖神經(jīng)網(wǎng)絡(luò)模型。

1、有向圖
有向邊往往比無向邊包含更多的信息。例如,在知識圖譜中,若頭實體是尾實體的父類,則邊的方向會提供這種偏序關(guān)系的信息。我們還可以分別對邊的兩個方向建模,而不是簡單地在卷積操作中使用不對稱的鄰接矩陣,代表性的工作有 DGP。
2、異構(gòu)圖
當(dāng)節(jié)點和邊具有多種類別,存在多種模態(tài)時,我們需要處理異構(gòu)圖。具體而言,在異構(gòu)圖中,每個節(jié)點都帶有類型信息,每條邊也帶有類型信息。
最廣為使用的異構(gòu)圖學(xué)習(xí)方法是基于元路徑的方法。元路徑指定了路徑中每個位置的節(jié)點類型。在訓(xùn)練過程中,元路徑被實例化為節(jié)點序列,我們通過鏈接一個元路徑實例兩端的節(jié)點來捕獲兩個可能并不直接相連的節(jié)點的相似度。這樣一來,一個異構(gòu)圖可以被化簡為若干個同構(gòu)圖,我們可以在這些同構(gòu)圖上應(yīng)用圖學(xué)習(xí)算法。
此外,還有一些工作提出了基于邊的方法處理異構(gòu)圖,它們?yōu)椴煌泥従庸?jié)點和邊使用不同的采樣函數(shù)、聚合函數(shù)。代表性的工作有 HetGNN、HGT 等。
我們有時還需要處理關(guān)系圖,這些圖中的邊可能包含類別以外的信息,或者邊的類別數(shù)十分巨大,難以使用基于元路徑或元關(guān)系的方法。針對關(guān)系圖,研究人員提出了 G2S、GGNN、R-GCN 等模型。
3、多重圖
在更復(fù)雜的情況下,圖中的一對節(jié)點可以通過不同類型的多條邊相關(guān)聯(lián)。通過利用不同類型的邊,我們可以組織起若干層圖,每層代表一種類型的關(guān)系。因此,多重圖也可以稱為多視圖圖,代表性的工作有 mGCN 等。
4、動態(tài)圖
在動態(tài)圖中,節(jié)點和邊等圖結(jié)構(gòu)中的元素會隨時間而不斷變化,我們需要同時對圖結(jié)構(gòu)數(shù)據(jù)與時序數(shù)據(jù)建模。代表性的工作有 DCRNN、STGCN、DGNN、EvolveGCN 等。
四、訓(xùn)練情況
在有監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)情況下,數(shù)據(jù)帶有標(biāo)簽,為這些任務(wù)設(shè)計損失函數(shù)較為容易。然而,在無監(jiān)督學(xué)習(xí)問題中,樣本并不帶有標(biāo)簽,因此損失函數(shù)與圖本身提供的信息(例如,輸入的特征或圖的拓?fù)浣Y(jié)構(gòu))密切相關(guān)。如圖 5 所示,針對無監(jiān)督圖學(xué)習(xí)任務(wù),主流的解決方案包括自編碼機或?qū)Ρ葘W(xué)習(xí)。

1、圖自編碼機
圖自編碼機(GAE)首先利用 GCN 對圖中節(jié)點進(jìn)行編碼,然后使用簡單的解碼器重建鄰接矩陣并根據(jù)原始鄰接矩陣和重建鄰接矩陣之間的相似度計算損失函數(shù):

針對各種不同的場景,研究人員提出了 ARGA、VGAE、GALA、MGAE 等 GAE 的變體。
2、對比學(xué)習(xí)
對比學(xué)習(xí)為無監(jiān)督圖表征學(xué)習(xí)開辟了另一條道路。其中,DGI 最大化了節(jié)點表征和圖表征之間的互信息;Infograph 通過最大化圖級別表征和不同尺度上的子結(jié)構(gòu)級別的表征之間的互信息進(jìn)行對比學(xué)習(xí);Hassani 等人通過多視圖對比了一階鄰接矩和圖傳播的表征,在多圖學(xué)習(xí)任務(wù)上實現(xiàn)了目前最有的性能。
五、應(yīng)用場景
目前,圖神經(jīng)網(wǎng)絡(luò)已經(jīng)被廣泛地應(yīng)用于各種有監(jiān)督、半監(jiān)督、無監(jiān)督和強化學(xué)習(xí)場景。這些應(yīng)用場景可以被分為結(jié)構(gòu)化場景和非結(jié)構(gòu)化場景:
在結(jié)構(gòu)化場景下,數(shù)據(jù)具有顯式的關(guān)系結(jié)構(gòu)。一些科學(xué)研究中的問題涉及此類場景,例如,圖挖掘、對物理系統(tǒng)和化學(xué)系統(tǒng)建模。此外,知識圖譜、交通網(wǎng)絡(luò)、推薦系統(tǒng)等工業(yè)應(yīng)用場景也是結(jié)構(gòu)化的。
在非結(jié)構(gòu)化的場景下,數(shù)據(jù)具有隱式的關(guān)系結(jié)構(gòu),或者不存在關(guān)系結(jié)構(gòu)。非結(jié)構(gòu)化數(shù)據(jù)通常包括圖像(計算機視覺)和文本(自然語言處理)。
圖 6 列舉出了一些圖神經(jīng)網(wǎng)絡(luò)的應(yīng)用場景:

六、四大方向
盡管 GNN 近年來在諸多領(lǐng)域取得了巨大的成功,但是現(xiàn)在的 GNN 模型仍然存在以下不足:
魯棒性:GNN 對于對抗性攻擊也十分脆弱。與圖像和文本上的對抗性攻擊相比,防御圖上的對抗性攻擊不僅僅需要關(guān)注特征,還需要考慮結(jié)構(gòu)信息。
可解釋性:對于神經(jīng)模型而言,可解釋性是一個重要的研究方向。GNN 也是一種缺乏可解釋性的黑盒模型。近年來,只有少數(shù)工作為 GNN 提出了示例級的解釋。
圖預(yù)訓(xùn)練:基于神經(jīng)網(wǎng)絡(luò)的方法需要大量的有標(biāo)簽數(shù)據(jù),而獲取海量人工標(biāo)注數(shù)據(jù)的成本非常高。研究人員提出了自監(jiān)督學(xué)習(xí)方法引導(dǎo)模型利用無標(biāo)簽數(shù)據(jù)進(jìn)行學(xué)習(xí),我們可以很容易地從該網(wǎng)絡(luò)或知識庫中獲取這些無標(biāo)簽數(shù)據(jù)。人們通過預(yù)訓(xùn)練技術(shù)在 CV 和 NLP 領(lǐng)域?qū)崿F(xiàn)了自監(jiān)督學(xué)習(xí)。圖上的預(yù)訓(xùn)練任務(wù)仍然面臨著一些挑戰(zhàn),例如:如何設(shè)計與訓(xùn)練任務(wù),現(xiàn)有的 GNN 模型在學(xué)習(xí)結(jié)構(gòu)或特征信息方面的有效性等。
復(fù)雜圖結(jié)構(gòu):在現(xiàn)實應(yīng)用場景下,圖結(jié)構(gòu)往往是靈活多變且復(fù)雜的。人們提出了多種方法處理復(fù)雜的圖結(jié)構(gòu),例如:動態(tài)圖、異構(gòu)圖。隨著社交網(wǎng)絡(luò)的迅速發(fā)展,會涌現(xiàn)出更多的問題、挑戰(zhàn)和應(yīng)用場景,需要更加強大的圖模型。