論文鏈接:https://arxiv.org/pdf/1812.04202.pdf
深度學(xué)習(xí)在許多領(lǐng)域都取得了成功,在圖上也有許多研究工作。在這篇文章中,作者根據(jù)模型架構(gòu)和訓(xùn)練策略將現(xiàn)有方法分為五類:圖循環(huán)神經(jīng)網(wǎng)絡(luò)、圖卷積網(wǎng)絡(luò)、圖自動(dòng)編碼器、圖強(qiáng)化學(xué)習(xí)和圖對(duì)抗方法,并以系統(tǒng)的方式全面概述這些方法。最后,作者簡(jiǎn)要概述了它們的應(yīng)用,并討論了未來潛在的研究方向。
1. 介紹
傳統(tǒng)的深度學(xué)習(xí)架構(gòu)應(yīng)用于圖存在一些挑戰(zhàn):
- 圖的不規(guī)則結(jié)構(gòu),例如卷積和池化,在圖上的定義并不容易,這個(gè)問題通常被稱為幾何深度學(xué)習(xí)問題。
- 圖的異質(zhì)性和多樣性,圖可以是異質(zhì)的或同質(zhì)的、加權(quán)的或未加權(quán)的、有符號(hào)的或無符號(hào)的。圖的任務(wù)也千差萬別,從節(jié)點(diǎn)分類和鏈接預(yù)測(cè)等以節(jié)點(diǎn)為中心的問題到圖分類和圖生成等以圖為中心的問題。這些不同的類型、屬性和任務(wù)需要不同的模型架構(gòu)來解決特定的問題。
- 大規(guī)模的圖,真實(shí)的圖很容易有數(shù)百萬甚至數(shù)十億的節(jié)點(diǎn)和邊,例如社交網(wǎng)絡(luò)和電子商務(wù)網(wǎng)絡(luò) 。因此,如何設(shè)計(jì)可擴(kuò)展的模型,最好是相對(duì)于圖大小具有線性時(shí)間復(fù)雜度的模型,是一個(gè)關(guān)鍵問題。
- 結(jié)合跨學(xué)科知識(shí),圖通常與其他學(xué)科相關(guān),例如生物學(xué)、化學(xué)和社會(huì)科學(xué)??梢岳妙I(lǐng)域知識(shí)來解決特定問題,但整合領(lǐng)域知識(shí)會(huì)使模型設(shè)計(jì)復(fù)雜化。
根據(jù)模型架構(gòu)和訓(xùn)練策略,可以將將現(xiàn)有基于圖的深度學(xué)習(xí)方法分為五類:
- 圖循環(huán)神經(jīng)網(wǎng)絡(luò) (graph recurrent neural networks,Graph RNN),Graph RNN 通過在節(jié)點(diǎn)級(jí)別或圖級(jí)別的狀態(tài)進(jìn)行建模,來獲得圖的遞歸和序列特征。
- 圖卷積網(wǎng)絡(luò) (graph convolutional networks,GCN),GCN 定義了對(duì)不規(guī)則圖結(jié)構(gòu)的卷積和讀出操作(readout operation),以獲得常見的局部和全局結(jié)構(gòu)特征。
- 圖自動(dòng)編碼器 (graph autoencoder,GAE),GAE 假設(shè)低秩圖結(jié)構(gòu),并采用無監(jiān)督方法進(jìn)行節(jié)點(diǎn)表示學(xué)習(xí)。
- 圖強(qiáng)化學(xué)習(xí)(graph reinforcement learning,Graph RL),圖 RL 定義了基于圖的動(dòng)作和獎(jiǎng)勵(lì),以在遵循約束的同時(shí)獲得有關(guān)圖任務(wù)的反饋。
- 圖對(duì)抗方法(graph adversarial methods),圖對(duì)抗方法采用對(duì)抗訓(xùn)練技術(shù)來增強(qiáng)基于圖的模型的泛化能力,并通過對(duì)抗性攻擊測(cè)試其魯棒性。
2. 一些符號(hào)和定義
: 圖,
: 節(jié)點(diǎn),
N
:邊,
, 邊集是節(jié)點(diǎn)間互相連接的集合的子集
:邊的數(shù)量,
:鄰接矩陣,
代表第 i 行第 j 列的元素,本文中的圖主要是無符號(hào)圖,因此
:節(jié)點(diǎn)上的特征,邊上的特征
:無向圖的拉普拉斯矩陣,定義為
:是A的對(duì)角矩陣,
是
的對(duì)角矩陣。其特征分解記為
:
,是特征值升序排列的對(duì)角矩陣
:
,是特征值對(duì)應(yīng)的特征向量
:轉(zhuǎn)移矩陣,
,其中
表示從節(jié)點(diǎn)
開始,隨機(jī)游走到
的概率。
:
,其中
是到節(jié)點(diǎn)
到
的最短距離,即
是
在k步可達(dá)到的節(jié)點(diǎn)集合。
:第 l 層中的隱藏表示
:
的維度
:非線性激活函數(shù)
:逐元素乘法
:可學(xué)習(xí)參數(shù)
:樣本大小
在圖上學(xué)習(xí)深度模型的任務(wù)可以大致分為兩類:
- 以節(jié)點(diǎn)為中心的任務(wù):這些任務(wù)與圖中的各個(gè)節(jié)點(diǎn)相關(guān)聯(lián)。包括節(jié)點(diǎn)分類、鏈接預(yù)測(cè)和節(jié)點(diǎn)推薦。
- 以圖形為中心的任務(wù):這些任務(wù)與整個(gè)圖形相關(guān)聯(lián)。包括圖分類、估計(jì)各種圖屬性和生成圖。
3. 圖循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN),例如GRU或LSTM是對(duì)序列數(shù)據(jù)建模。在本節(jié)中,Graph RNNs 可以捕獲圖的遞歸和序列特征。圖 RNN 可以大致分為兩類:
- 節(jié)點(diǎn)級(jí) RNNs ,特征位于節(jié)點(diǎn)級(jí)并以節(jié)點(diǎn)狀態(tài)建模
- 圖級(jí) RNNs,特征位于圖級(jí)并以整個(gè)圖狀態(tài)建模

3.1 節(jié)點(diǎn)級(jí) RNNs
圖的節(jié)點(diǎn)級(jí) RNN,也稱為圖神經(jīng)網(wǎng)絡(luò) (GNN)。 GNN 背后的想法很簡(jiǎn)單:對(duì)圖結(jié)構(gòu)信息進(jìn)行編碼,每個(gè)節(jié)點(diǎn) 由一個(gè)低維狀態(tài)向量
表示。受遞歸神經(jīng)網(wǎng)絡(luò)的啟發(fā),采用了狀態(tài)的遞歸定義:
最終的輸出為
對(duì)于以圖為中心的任務(wù),建議添加一個(gè)具有唯一屬性的特殊節(jié)點(diǎn)來表示整個(gè)圖。為了學(xué)習(xí)模型參數(shù),采用以下半監(jiān)督方法:
- 使用 Jacobi 方法,迭代求解
到穩(wěn)定點(diǎn),
- 使用 Almeida-Pineda 算法,執(zhí)行一個(gè)梯度下降步驟,以最小化特定任務(wù)的目標(biāo)函數(shù);
- 然后重復(fù)這個(gè)過程直到收斂
上面兩個(gè)簡(jiǎn)單方程式在中GNN扮演著兩個(gè)重要的角色。實(shí)際上,GNN 統(tǒng)一了一些早期用于處理圖數(shù)據(jù)的方法,例如遞歸神經(jīng)網(wǎng)絡(luò)和馬爾可夫鏈。GNNs 背后的總體思路有著深刻的啟示,許多最先進(jìn)的 GCNs 實(shí)際上都有類似于公式(1) ,遵循在直接連接的節(jié)點(diǎn)鄰域內(nèi)交換信息的相同框架。實(shí)際上,GNNs 和 GCNs 可以統(tǒng)一成一些通用的框架,一個(gè) GNN 就相當(dāng)于一個(gè)使用相同的層達(dá)到穩(wěn)定狀態(tài)的GCN。這一點(diǎn)會(huì)在GCN的篇章中討論。
GNNs 的缺點(diǎn):
- 公式(1)中的
必須是一個(gè)“收縮圖”,這嚴(yán)格限制了建模的能力
- 需要多次迭代梯度下降才能達(dá)到穩(wěn)定狀態(tài),所以 GNNs 的計(jì)算成本很高
由于這些缺點(diǎn)以及可能缺乏計(jì)算能力(GPU 在當(dāng)時(shí)并未廣泛用于深度學(xué)習(xí))以及缺乏研究興趣,因此 GNN 并未成為一般研究的重點(diǎn)。
對(duì) GNNs 的一個(gè)顯著改進(jìn)是門控圖序列神經(jīng)網(wǎng)絡(luò)(gated graph sequence neural networks,GGS NNs),作者使用GRU替換了公式(1)中的遞歸定義 ,從而消除“收縮圖”要求,并支持現(xiàn)代優(yōu)化技術(shù)。具體而言,公式(1)被修改如下:
其中 由更新門計(jì)算,
是更新的候選者,
是偽時(shí)間。其次,作者提議使用幾個(gè)這樣的網(wǎng)絡(luò)按順序運(yùn)行來產(chǎn)生序列輸出,并表明他們的方法可以應(yīng)用于基于序列的任務(wù),例如程序驗(yàn)證。
SSE 采取了與公式(4)類似的方法。然而,SSE 在計(jì)算中沒有使用 GRU,而是采用隨機(jī)定點(diǎn)梯度下降來加速訓(xùn)練過程。該方案基本上在使用局部鄰域計(jì)算穩(wěn)定節(jié)點(diǎn)狀態(tài)和優(yōu)化模型參數(shù)之間交替進(jìn)行,兩種計(jì)算均在隨機(jī)小批量中進(jìn)行。
3.2 圖級(jí) RNNs
圖級(jí) RNN,不是將一個(gè) RNN 應(yīng)用于每個(gè)節(jié)點(diǎn)來學(xué)習(xí)節(jié)點(diǎn)狀態(tài),而是將一個(gè) RNN 應(yīng)用于整個(gè)圖以對(duì)圖狀態(tài)進(jìn)行編碼。
You et al.將圖 RNN 應(yīng)用于圖生成問題。他們采用了兩個(gè) RNN:一個(gè)生成新節(jié)點(diǎn),另一個(gè)以自回歸的方式為新添加的節(jié)點(diǎn)生成邊。他們表明,這種分層 RNN 架構(gòu)比傳統(tǒng)的基于規(guī)則的圖生成模型更有效地從輸入圖中學(xué)習(xí),同時(shí)具有合理的時(shí)間復(fù)雜度。
為了捕獲動(dòng)態(tài)圖的時(shí)間信息,有人提出了動(dòng)態(tài)圖神經(jīng)網(wǎng)絡(luò) (dy-namic graph neural network,DGNN) ,它使用時(shí)間感知 LSTM 來學(xué)習(xí)節(jié)點(diǎn)表示。當(dāng)一條新邊建立時(shí),DGNN 使用 LSTM 更新兩個(gè)交互節(jié)點(diǎn)及其直接鄰居的表示,即考慮一步傳播效應(yīng)。作者表明,時(shí)間感知 LSTM 可以很好地模擬邊形成的建立順序和時(shí)間間隔。
圖 RNN 還可以與其他架構(gòu)相結(jié)合,例如 GCN 或 GAE。例如,為了解決圖稀疏性問題,RMGCNN 將 LSTM 應(yīng)用于 GCN 的結(jié)果以逐步重建圖。通過使用 LSTM,來自圖不同部分的信息可以在不需要多個(gè) GCN 層的情況下擴(kuò)散很長的距離。Dynamic GCN 應(yīng)用 LSTM 從動(dòng)態(tài)網(wǎng)絡(luò)中的不同時(shí)間片收集 GCN 的結(jié)果,以獲得空間和時(shí)間的圖信息。
4. 圖卷積網(wǎng)絡(luò)
GCN 仿照 CNN,,通過設(shè)計(jì)卷積和讀出函數(shù),學(xué)習(xí)圖的局部和全局結(jié)構(gòu)特征。因?yàn)榇蠖鄶?shù) GCN 可以通過反向傳播使用特定于任務(wù)的損失進(jìn)行訓(xùn)練,這里重點(diǎn)介紹采用的架構(gòu)。
4.1 卷積操作
圖卷積可以分為兩組:
- 譜卷積,它通過使用圖傅立葉變換或其擴(kuò)展將節(jié)點(diǎn)表示轉(zhuǎn)換到譜域來執(zhí)行卷積
- 空間卷積,它通過考慮節(jié)點(diǎn)鄰域來執(zhí)行卷積
這兩個(gè)組可以重疊使用。
4.1.1 譜方法
用于圖像或文本的標(biāo)準(zhǔn)卷積運(yùn)算不能直接應(yīng)用于圖,因?yàn)閳D缺乏網(wǎng)格結(jié)構(gòu) 。Bruna等人首先使用圖 拉普拉斯矩陣 , 從譜域中引入圖數(shù)據(jù)的卷積,它在信號(hào)處理中起著與傅立葉基相似的作用。圖卷積運(yùn)算
定義如下:
其中 是定義在節(jié)點(diǎn)上的兩個(gè)信號(hào),
是
的特征向量。
乘以 將圖信號(hào)
轉(zhuǎn)換到譜域(即圖傅立葉變換),而乘以
執(zhí)行逆變換。該定義的有效性是基于卷積定理,即卷積運(yùn)算的傅立葉變換是他們的傅立葉變換的元素乘積。一個(gè)信號(hào)
經(jīng)過濾波器后變?yōu)?br>
(這里的 是乘在
左邊的)
一個(gè)卷積層是通過對(duì)不同的輸入-輸出信號(hào)對(duì)應(yīng)用不同的濾波器來定義的,如下所示:
公式(7)背后的思想類似于傳統(tǒng)的卷積:它將輸入信號(hào)通過一組可學(xué)習(xí)的濾波器來聚合信息,然后進(jìn)行一些非線性轉(zhuǎn)換。通過使用節(jié)點(diǎn)特征作為輸入層,疊加多個(gè)卷積層,整體架構(gòu)類似于CNN。理論分析表明,這種圖卷積運(yùn)算的定義可以模擬CNN的幾何特性。
然而,直接使用公式 (7) 需要學(xué)習(xí) O(N) 的參數(shù),這在實(shí)踐中可能不可行。此外,頻譜域中的濾波器可能不會(huì)定位在空間域中,也就是說,每個(gè)節(jié)點(diǎn)可能會(huì)受到所有其他節(jié)點(diǎn)的影響,而不僅僅是小區(qū)域內(nèi)的節(jié)點(diǎn)。為了緩解這些問題,Brunaet al.建議使用以下平滑過濾器:
其中K是一個(gè)固定的插值核,是可學(xué)習(xí)的插值系數(shù)。作者還將這一思想推廣到圖不是給定的,而是使用有監(jiān)督或無監(jiān)督方法從原始特征構(gòu)造的設(shè)置。
然而,兩個(gè)基本問題仍未解決。
- 首先,因?yàn)槊看斡?jì)算都需要拉普拉斯矩陣的完整特征向量,所以每次前向和后向傳遞的時(shí)間復(fù)雜度至少為
,計(jì)算特征分解需要
復(fù)雜度,這意味著這種方法不是可擴(kuò)展到大規(guī)模圖。
- 其次,由于過濾器依賴于圖的 特征基Q,參數(shù)不能在具有不同大小和結(jié)構(gòu)的多個(gè)圖之間共享。
接下來,我們回顧試圖解決這些限制的兩行工作,然后使用一些通用框架將它們統(tǒng)一起來。
4.1.2 效率方面
為了解決效率問題,ChebNet 提出使用多項(xiàng)式濾波器,如下:
其中 是可學(xué)習(xí)參數(shù),K 是多項(xiàng)式階數(shù)。然后,作者沒有進(jìn)行特征分解,而是使用切比雪夫展開式重寫了公式 (9) :
其中 ,是rescale后的特征值,
是特征值的最大值,
是單位矩陣,
是k階的切比雪夫多項(xiàng)式。由于 Chebyshev 多項(xiàng)式的正交基,重新縮放是必要的。利用拉普拉斯矩陣的多項(xiàng)式作為其特征值的多項(xiàng)式,即
,公式(6)可以重寫為
其中 .
使用切比雪夫多項(xiàng)式的遞歸關(guān)系 ,
,
,也可以得到
現(xiàn)在,因?yàn)橹恍枰?jì)算稀疏矩陣 的矩陣乘法,還有一些向量需要計(jì)算,所以使用稀疏矩陣乘法時(shí)的時(shí)間復(fù)雜度變?yōu)?O(KM),其中 M 是邊數(shù),K 是多項(xiàng)式階數(shù),即時(shí)間復(fù)雜度是線性的邊緣。也很容易看出,這樣的多項(xiàng)式濾波器是嚴(yán)格 K 局部化的:在一次卷積之后,
的表示將僅受其 K 步鄰域
的影響。有趣的是,這個(gè)想法在網(wǎng)絡(luò)嵌入中被獨(dú)立使用,以保留高階近似,為了簡(jiǎn)潔起見省略了細(xì)節(jié)。
Kipf和Welling通過僅使用一階鄰域進(jìn)一步簡(jiǎn)化了濾波:
矩陣形式:
其中, ,也就是,添加了自連接。作者通過設(shè)置k=1和一些細(xì)微的變化,證明了式(14)是式(9)的特例。然后,作者認(rèn)為堆疊足夠數(shù)量的層具有類似于ChebNet 的建模能力,但會(huì)產(chǎn)生更好的結(jié)果。
ChebNet及其擴(kuò)展的一個(gè)重要見解是,它們將譜圖卷積與空間結(jié)構(gòu)聯(lián)系起來。具體而言,它們表明,當(dāng)譜卷積函數(shù)為多項(xiàng)式或一階時(shí),譜圖卷積等價(jià)于空間卷積。此外,式(13)中的卷積與式(1)中GNN中的狀態(tài)定義非常相似,只是卷積定義取代了遞歸定義。
從這一方面來看,GNN可以被視為具有大量相同層以達(dá)到穩(wěn)定狀態(tài)的GCN,即GNN使用具有固定參數(shù)的固定函數(shù)迭代更新節(jié)點(diǎn)隱藏狀態(tài),直到達(dá)到非平衡狀態(tài),而GCN具有預(yù)設(shè)層數(shù),并且每層包含不同的參數(shù)。
還提出了一些譜方法來解決效率問題。例如,CayleyNet 沒有使用公式(10)中的切比雪夫展開,而是采用Cayley多項(xiàng)式來定義圖卷積。除了證明 CayleyNet 與 ChebNet 一樣有效之外,作者還證明了 Cayley 多項(xiàng)式可以檢測(cè)“重要的窄頻帶”,以獲得更好的結(jié)果。于是進(jìn)一步提出了圖小波神經(jīng)網(wǎng)絡(luò)(GWNN),通過重寫方程來用圖小波變換代替譜濾波器中的傅立葉變換。 GWNN 的計(jì)算復(fù)雜度也是 O(KM),即與邊數(shù)成線性關(guān)系。
4.1.3 多個(gè)圖
一系列并行的工作側(cè)重于將圖卷積推廣到任意大小的多個(gè)圖。Neural FPs 提出了一種空間方法,該方法也使用一階鄰居:
由于參數(shù)可以在不同的圖之間共享,并且與圖的大小無關(guān),因此 Neural FPs可以處理任意大小的多個(gè)圖。等式(17)與等式(13)非常相似,然而,Neural FPs 沒有通過添加一個(gè)歸一化項(xiàng)來考慮節(jié)點(diǎn)度的影響,而是建議為不同度的節(jié)點(diǎn)學(xué)習(xí)不同的參數(shù)。該策略對(duì)于小圖(如分子圖)表現(xiàn)良好(即原子作為節(jié)點(diǎn),鍵作為邊),但可能不適用于較大的圖。
(跳過了一些)
4.1.4 Frameworks
基于上述工作,MPNNs 被提出,作為使用消息傳遞函數(shù)在空間域中進(jìn)行圖卷積運(yùn)算的統(tǒng)一框架:
其中和
分別是要學(xué)習(xí)的消息函數(shù)和頂點(diǎn)更新函數(shù),
表示節(jié)點(diǎn)之間傳遞的“消息”。從概念上講,MPNN 是一個(gè)框架,其中每個(gè)節(jié)點(diǎn)根據(jù)其狀態(tài)發(fā)送消息,并根據(jù)從直接鄰居收到的消息更新其狀態(tài)。作者表明,上述框架已經(jīng)包括了許多現(xiàn)有的方法,如 GGS-NNs 、Brunaet al.、Henaffet al.、Neural FPs 、Kipf 和 Welling 和 Kearnes et al.。 此外,作者提出增加一個(gè)連接所有節(jié)點(diǎn)的“主”節(jié)點(diǎn)以加速長距離的消息傳遞,并將隱藏的表示拆分為不同的“塔”以提高泛化能力。作者表明,MPNN 的特定變體可以在預(yù)測(cè)分子特性方面達(dá)到 state-of-the-art。
同時(shí),GraphSAGE 采用了與等式(21)類似的思想,使用了多個(gè)聚合函數(shù),如下所示:
其中 [·,·] 是連接操作,AGGREGATE(·) 表示聚合函數(shù)。作者提出了三個(gè)聚合函數(shù):元素均值、LSTM 和最大池化,如下所示:
其中 和
是要學(xué)習(xí)的參數(shù),max{·}是元素最大值。對(duì)于 LSTM 聚合函數(shù),因?yàn)樾枰粋€(gè)鄰居順序,作者采用了一個(gè)簡(jiǎn)單的隨機(jī)順序。
混合模型網(wǎng)絡(luò)(MoNet)還嘗試使用“模板匹配”將現(xiàn)有的 GCN 模型以及流形的 CNN 統(tǒng)一為一個(gè)通用框架。
圖網(wǎng)絡(luò) (GNs) 為 GCNs 和 GNNs 提出了一個(gè)更通用的框架,它學(xué)習(xí)了三組表示:、
和
分別是節(jié)點(diǎn)、邊和整個(gè)圖的表示。這些表示是使用三個(gè)聚合和三個(gè)更新函數(shù)學(xué)習(xí)的:

消息傳遞函數(shù)都以集合作為輸入,因此它們的參數(shù)長度是可變的,并且這些函數(shù)應(yīng)該對(duì)輸入排列保持不變;一些示例包括逐元素求和、均值和最大值。與 MPNN 相比,GNs 引入了邊表示和整個(gè)圖的表示,從而使框架更加通用。
總之,卷積運(yùn)算已經(jīng)從頻譜域發(fā)展到空間域,從多步鄰居發(fā)展到直接鄰居。目前,從近鄰收集信息(如等式(14))并遵循等式(21)(22)(27) 的框架是圖卷積運(yùn)算最常見的選擇。