論文解讀(MLGCL)《Multi-Level Graph Contrastive Learning》

發表於2022-04-10

論文資訊

論文標題:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning
論文作者: Kaize Ding 、Yancheng Wang 、Yingzhen Yang、Huan Liu
論文來源:2021, Neurocomputing
論文地址:download
論文程式碼:download

前言

  本文貢獻:

    • 提出多層次圖對比學習框架:聯合節點級和圖級對比學習;
    • 圖負樣本定義;
    • 引入 KNN 圖提取語義資訊;

1 介紹

  本文開發了一個多層次的圖對比學習(MLGCL)框架,用於通過對比圖的拓撲檢視和特徵空間檢視來學習圖資料的魯棒表示。如 Figure 2 所示,使用 KNN 演算法對特徵進行編碼,從而在特徵空間中生成 KNN 檢視。KNN 檢視不僅提供了互補檢視,而且更適合GNN,將兩者對比學習結合,可以顯著提高 GNN 編碼器的魯棒性和適應性。

  

2 方法

  框架流程

    • 步驟一:從增強池 $\tau $ 中取樣一對圖增強函式 ${\tau }_{1}$ 和 ${\tau }_{2}$,並將其應用於輸入圖,生成兩個檢視的增廣圖;  
    • 步驟二:使用一對共享的 GNN 編碼器來提取節點表示,並進一步利用池化層來提取圖表示;  
    • 步驟三:利用一個共享引數的 MLP 層來將兩個檢視中的節點表示投影到計算節點級對比損失的空間中。類似地,還將來自兩個檢視的圖表示投影到計算圖級對比損失的空間中;  
    • 步驟四:通過優化所提出的多級損失函式來學習編碼器的引數;

  MLGCL主要由以下組成部分組成:

    • 圖資料增強:對輸入圖施加擾動,生成同一圖的兩個相關圖。在本工作中,我們從空間檢視中提取增強圖結構來進行對比學習;
    • GNN編碼器:使用基於GNN的編碼器 $f(\cdot)$ 來學習兩個增廣圖的節點表示 $z_{1}$、$z_{2}$;
    • MLP:投影頭 MLP 層 $g(\cdot)$ 將表示法對映到計算對比損失的空間;  
    • 圖池化:使用圖池化層 $ R(\cdot)$ 來學習圖的表示;
    • 損失函式:提出了多級損失函式,同時保持“區域性”和“全域性”資訊;

2.1 圖資料增強

  給定 $G(A、X)$ 的圖結構,先利用 GNN 編碼器提取拓撲圖的編碼特徵 $Z$,然後利用 $\text{KNN}$ 對 $Z$ 的近鄰構造 $\text{KNN}$ 圖($G_{f}\left(A_{f}, X\right)$),其中 $A_{f}$ 為 $\text{KNN}$ 圖的鄰接矩陣。

  構建 $\text{KNN}$ 圖可以描述為兩個步驟:

    • 首先,基於 $ N$ 個編碼特徵 $ Z $ 計算相似度矩陣 $S$;
    • 其次,為每個節點選擇前 $k$ 個相似的節點對來設定邊,最後得到 $\text{KNN}$ 圖的鄰接矩陣 $A_{f} $ ;

  事實上,得到相似度矩陣 $S$ 有許多方案,如基於距離的相似度計算方法(即歐氏距離,馬氏距離),基於餘弦的相似度計算(即餘弦相似 性,皮爾遜相關性)和基於核的相似性計算(即高斯核,拉普拉斯核)。這裡列出三種流行的方法,其中 $x_{i} $ 和 $x_{j} $ 是節點 $i$ 和 $j$ 的 特徵向量:

  • 馬氏距離

    $S_{i j}=\sqrt{\left(x_{i}-x_{j}\right)^{T} M\left(x_{i}-x_{j}\right)}$

  其中 $M$ 是一個正半定矩陣,它起著逆協方差矩陣的作用。 (如果 $M$ 是單位矩陣,則為歐氏距離)
  正半定矩陣:設 $A$ 是 $n$ 階方陣,如果對任何非零向量 $X$,都有 $X ' A X \geq 0$ ,其中 $X ' $ 表示 $X$ 的轉置,就稱 $A$ 為半正定矩陣。

  • 餘弦相似性

  使用兩個向量之間夾角的餘弦值來度量相似性:

    ${\large S_{i j}=\frac{x_{i} \cdot x_{j}}{\left|x_{i}\right|\left|x_{j}\right|}} $

  • 高斯核

    ${\large S_{i j}=e^{-\frac{\left\|x_{i}-x_{j}\right\|^{2}}{2 \sigma^{2}}}} $

  其中, $\sigma$ 是高斯核的核寬度。

  本文選擇餘弦相似性來得到相似性矩陣 $S$ 。

2.2 編碼器

  給定拓撲圖 $G(A, X)$ 和 $\text{KNN}$圖 $G_{f}\left(A_{f}, X\right)$ ,使用雙層 GCN 作為編碼器模型獲得它們的潛在節點表示矩陣。編碼器 $f(\cdot) $ 表示如下: 

    $Z^{l+1}=f(A, X)=\sigma\left(\widetilde{A} Z^{l} W^{l}\right)$

  其中:$\widetilde{A}=\widehat{D}^{-1 / 2} \widehat{A} \widehat{D}{ }^{-1 / 2}$ 是對稱歸一化的鄰接矩陣。

  對於每個檢視的節點表示 $Z_{a} $, $Z_{b} $ ,使用一個圖池化層 $ P(\cdot): \mathbb{R}^{N \times d} \rightarrow \mathbb{R}^{d}$ (即讀出函式),得到它們的圖表示:

    $c=P(H)=\sigma\left(\frac{1}{N} \sum_{i=1}^{N} h_{i}\right)$

  此外,為了對兩個檢視進行相應的節點表示和圖表示對比,使用 MLP 層  $g_{\phi}(\cdot) 和 g_{\varphi}(\cdot): \mathbb{R}^{N \times d} \rightarrow \mathbb{R}^{N \times d}$   將節點和圖表示分別投影到計算對比損失的空間中。

2.3 多級損失函式

  多級損失函式,由兩部分組成:兩個檢視之間低階節點表示的對比,以及兩個檢視之間高階圖表示的對比。

  低階節點表示的對比:給定正對 $(z_i、z_j)$,將節點級對比損失函式定義為

    ${\large \mathcal{L}_{\text {node }}\left(z_{i}^{a}, z_{i}^{b}\right)=\log \frac{\exp \left(\left(z_{i}^{a}\right)^{T} z_{i}^{b} / \tau\right)}{\sum_{j=1, j \neq i}^{K} \exp \left(\left(z_{i}^{a}\right)^{T} z_{i}^{b} / \tau\right)+\exp \left(\left(z_{i}^{a}\right)^{T} z_{j}^{a} / \tau\right)+\exp \left(\left(z_{i}^{a}\right)^{T} z_{j}^{b} / \tau\right)}} $

  由於兩個檢視是對稱的,所以另一個檢視的損失被定義為 $L_{n o d e}\left(z_{i}^{b}, z_{i}^{a}\right)$ 。因此,通過優化以下內容,實現最大化兩個檢視之間的節點的一致性:

    $\mathcal{L}_{n o d e}=\mathcal{L}_{n o d e}\left(z_{i}^{a}, z_{i}^{b}\right)+\mathcal{L}_{n o d e}\left(z_{i}^{b}, z_{i}^{a}\right)$

  高階圖表示的對比:給定正例  $\left(s^{a}, s^{b}\right)$  和負例  $\left(s^{a}, \tilde{s}^{a}\right)$ ,$\left(s^{a}, \tilde{s}^{b}\right)$  ,兩個檢視之間的圖表示對比被定義為:

    ${\large \mathcal{L}_{\text {graph }}\left(s^{a}, s^{b}\right)=\log \frac{\exp \left(\left(s^{a}\right)^{T} s^{b} / \tau\right)}{\exp \left(\left(s^{a}\right)^{T} s^{b} / \tau\right)+\exp \left(\left(s^{a}\right)^{T} \tilde{s}^{a} / \tau\right)+\exp \left(\left(s^{a}\right)^{T} \tilde{s}^{b} / \tau\right)}} $

  本文為生成圖的負樣本,隨機 shuffle 特徵以推匯出負鄰接矩陣 $\widetilde{A}$ 和 $\widetilde{A}_{f}$ ,然後得到負樣本 $\left(s^{a}, \tilde{s}^{a}\right) ,\left(s^{a}, \tilde{s}^{b}\right) $ 。由於對稱性,另一個檢視的損失被定義為 $L_{g r a p h}\left(s^{b}, s^{a}\right) $ 。因此,整體圖表示對比為:

    $\mathcal{L}_{g r a p h}=\mathcal{L}_{g r a p h}\left(s^{a}, s^{b}\right)+\mathcal{L}_{g r a p h}\left(s^{b}, s^{a}\right)$

  最後,通過將節點級對比損失與圖級對比損失相結合,模型的多級損失為:

    $\mathcal{L}=\mathcal{L}_{\text {node }}+\lambda \mathcal{L}_{\text {graph }}$

3 實驗

3.1 資料集

  

3.2 結果

  

  

  

4 結論

  學到:

    • 提出多層次圖對比學習框架:聯合節點級和圖級對比學習;
    • 圖負樣本定義;
    • 引入 $\text{KNN}$ 圖提取語義資訊;  

5 相關論文

2016-AAAI——Deep neural networks for learning graph representations
2021-WWW——Graph structure estimation neural networks
2017-NIPS——Inductive representation learning on large graphs

 

相關文章