論文筆記-Deep Learning on Graphs: A Survey(下)

論文鏈接:https://arxiv.org/pdf/1812.04202.pdf

關(guān)于圖卷積:論文筆記-Deep Learning on Graphs: A Survey(上)

4.2 讀出操作

使用圖卷積操作,可以學習有用的節(jié)點特征來解決許多以節(jié)點為中心的任務(wù)。然而,為了解決以圖為中心的任務(wù),需要聚合節(jié)點信息以形成圖級表示。在文獻中,這種程序通常稱為讀出操作(readout operation)。

讀出操作也與圖的粗化(graph coarsening)有關(guān),(將一個較大的圖縮小為一個較小的圖),因為可以通過將圖粗化為單個節(jié)點來獲得圖形級表示。

CNN可以進行多級卷積或池運算,降低分辨率。但圖缺乏網(wǎng)格結(jié)構(gòu),無法直接使用。

圖讀出操作的一個關(guān)鍵要求,該操作應(yīng)該對節(jié)點順序保持不變,即,如果我們使用兩個節(jié)點集之間的雙射函數(shù)更改節(jié)點和邊的索引,則整個圖的表示不應(yīng)改變。

4.2.1 統(tǒng)計學

最簡單的順序不變的操作就是統(tǒng)計運算,比如求和、求平均或者 max-pooling。

另一種聚合節(jié)點表示的常用方法是添加一個全連接(FC)層作為最終層。這種方法的優(yōu)點是模型可以為不同的節(jié)點學習不同的權(quán)重;然而,這種方法無法保證順序不變性。

4.2.2 層次聚類

除了節(jié)點和圖級結(jié)構(gòu)之外,圖還表現(xiàn)出豐富的層次結(jié)構(gòu) ,可以通過層次聚類方法進行探索。例如,基于密度的 agglomerative clustering,multi-resolution spectral clustering。 Cheb-Net 和 MoNet 采用了另一種貪心分層聚類算法 Graclus ,一次合并兩個節(jié)點,并采用快速池化方法將節(jié)點重新排列為平衡二叉樹。 ECC 通過特征分解進行分層聚類。然而,這些層次聚類方法都獨立于圖卷積(即,它們可以作為預(yù)處理步驟執(zhí)行,而不是以端到端的方式進行訓練)。

DiffPool 提出了一種與圖卷積聯(lián)合訓練的可微層次聚類算法,作者提出使用隱藏表示來學習每一層的 soft cluster assignment matrix:
S^l = f(A^l, H^l) \tag{30}
這個“粗化”圖的節(jié)點表示和新的鄰接矩陣可以通過根據(jù)S^l取平均獲得:
H^{l+1} = (S^l)^T \hat{H}^{l+1}, A^{l+1}=(S^l)^TA^lS^l \tag{31}
其中 \hat{H}^{l+1} 是通過對 H^l 圖卷積得到的。初始節(jié)點數(shù)N_0=N,最后一層 N_L=1,即單個節(jié)點代表整個圖。

由于集群分配操作是軟的,集群之間的連接不是稀疏的;因此,該方法的時間復(fù)雜度原則上為 O(N2)。

什么是 soft clustering?
傳統(tǒng)的聚類算法會將一個點分配到一個聚類,這種分配是一種硬分配(hard assignment),如果一個點到第一個聚類中心和到第二個聚類中心的距離一樣,但是被分配到了第一個聚類,那么它就不會出現(xiàn)在第二個聚類里。
而軟聚類(soft assignment)為每個點分配一個概率向量,而不是一個固定的標簽。向量的長度等于找到的聚類數(shù)。向量的第 i個概率值是該點屬于第 i 個集群成員的概率。

簡而言之,平均或求和等統(tǒng)計數(shù)據(jù)是最簡單的讀出操作,而與圖卷積聯(lián)合訓練的層次聚類算法更先進,但也更復(fù)雜。還有一些其他方法,例如添加偽節(jié)點或強加節(jié)點順序等。

4.3 改進方法

4.3.1 Attention 機制

在GCN中,節(jié)點鄰域以相等或預(yù)定義的權(quán)重聚集。然而,鄰居的影響可能會有很大差異。受 Attention 機制的啟發(fā),GAT (graph attention networ)通過修改式(13)中的卷積運算,將注意機制引入GCN,如下:
h_i^{l+1} = \rho (\sum_{j \in N(i)} \alpha_{i,j}^l h_j^l \Theta^l) \tag{32}

其中\alpha_{i,j}^l 是在第 l 層的節(jié)點 v_i 對節(jié)點 v_j 的attention:

\alpha_{i,j}' = \frac{exp(LeakyReLU(F(h_i^l \Theta ^l)))}{\sum_{k \in N(i) } exp(LeakyReLU(F(h_i^l \Theta^l, h_k^l \Theta^l)))} \tag{33}

這里的 F() 是另一個需要學習的函數(shù),比如多層感知器(MLP)。為了提高模型的容量和穩(wěn)定性,作者還建議使用多個獨立注意并連接結(jié)果,即多頭注意機制,如下圖。

GAT 中提出的多頭部注意機制。每種顏色表示一個獨立的 attention 向量

HAN 為異構(gòu)圖提出了一種兩級注意機制,即節(jié)點級和語義級注意機制。具體來說,節(jié)點級注意力機制類似于 GAT,但也考慮了節(jié)點類型;因此,它可以為聚合基于元路徑(meta-path)的鄰居分配不同的權(quán)重。然后語義級注意力學習不同元路徑的重要性并輸出最終結(jié)果。

4.3.2 Residual 與Jumping

許多研究觀察到,現(xiàn)有 GCN 最合適的深度通常非常有限,例如 2 層或 3 層。這個問題可能是由于訓練深度 GCN 所涉及的實際困難或過度平滑問題,即更深層中的所有節(jié)點具有相同的表示。為了解決這個問題,可以將類似于 ResNet 的殘差連接添加到 GCN,通過實驗表明,添加殘差連接可以讓網(wǎng)絡(luò)的深度增加,這與 ResNet 的結(jié)果類似:
H^{l+1}=\rho (\tilde{D} ^{- \frac{1}{2}} \tilde{A} \tilde{D}^{- \frac{1}{2} }H^l \Theta^l) + H^l \tag{34}

Column network(CLN)采用了類似的思想,使用了以下具有可學習權(quán)重的殘差連接:
h_i^{l+1} = \alpha_i^l \odot \tilde{h}_i^{l+1} + (1-\alpha_i^l) \odot h_i^l \tag{35}

受個性化 PageRank 的啟發(fā),PPNP 定義了具有連接到初始層的圖卷積:
H_{l+1}= (1?α) \tilde{D}^{?1/2 } \tilde{A } \tilde{D}^{?1/2}H^l+αH^0,\tag{37}
其中 H_0=F_θ(F^V)α 是一個超參數(shù)。所有參數(shù)都在 F_θ(·) 中,而不是在圖卷積中。

Jumping knowledge networks(JK-Nets)提出了另一種架構(gòu),將網(wǎng)絡(luò)的最后一層與所有之前的隱藏層連接,將所有的表示“跳轉(zhuǎn)”到最終的輸出,通過這種方式,模型可以學習選擇性地利用來自不同層的信息。JK-Nets 的公式如下:
h_ i^{final} = AGGREGATE(h_i^0, h_i^1, \cdots, h_i^L) \tag{38}

JK-Nets使用了三個與 GraphSAGE 類似的聚合函數(shù):concatenation、max-pooling 和 LSTM attention。實驗結(jié)果表明,增加 jumping connection 可以提高多個GCN的性能。

4.3.3 Edge Features

對于具有離散值的簡單邊緣特征,如 edge type,一種簡單的方法是針對不同的邊緣類型訓練不同的參數(shù)并聚合結(jié)果。

DCNN 提出了另一種方法,將每個邊轉(zhuǎn)換為連接到該邊的頭和尾節(jié)點的節(jié)點。經(jīng)過這種轉(zhuǎn)換,邊特征可以被視為節(jié)點特征。

LGCN 構(gòu)建了一個線圖 以結(jié)合邊的特征。線圖中的節(jié)點是原始圖中的有向邊,如果信息可以通過原始圖中相應(yīng)的邊流動,則線圖中的兩個節(jié)點是連接的。然后,LGCN采用了兩個GCN:一個在原始圖上,一個在線圖上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容