論文解讀(GRACE)《Deep Graph Contrastive Representation Learning》

發表於2022-03-28

Paper Information

論文標題:Deep Graph Contrastive Representation Learning
論文作者:Yanqiao Zhu, Yichen Xu, Feng Yu, Q. Liu, Shu Wu, Liang Wang
論文來源:2020, ArXiv
論文地址:download 
程式碼地址:download

Abstract

  在本文中,作者提出了一個利用節點級對比目標的無監督圖表示學習框架。具體來說,通過破壞原始圖去生成兩個檢視,並通過最大化這兩個檢視中節點表示的一致性來學習節點表示。

  為了為對比目標提供不同的節點上下文,提出了一種在結構和屬性層次上生成檢視的混合方案。

  此外,作者從互資訊和三元組損失( triplet loss)兩個角度提供了理論證明。並使用真實的資料集對歸納式和直推式學習任務進行了實驗。

1 Introduction

  圖表示學習的目的是學習一個編碼函式,將節點轉換為低維密集嵌入,以保留圖的屬性和結構特徵。

  闡述 DGI 的缺點:

    • DGI 使用平均池化的 readout 函式,不能保證圖嵌入可以從節點中提取有用的資訊,因為它不足以從節點級嵌入中儲存獨特的特徵。
    • DGI 使用特徵變換來生成損壞的檢視。然而,該方案在生成負節點樣本時,在粗粒度級別考慮損壞節點特徵。當特徵矩陣稀疏時,只執行特徵變換不足以為損壞圖中的節點生成不同的鄰域(即上下文),導致對比目標的學習困難。

  GRACE 框架如下:

  

  在本文提出的 GRACE 中,作者首先通過隨機執行 corruption 來生成兩個相關的檢視。然後,使用對比損失來訓練模型,以最大化這兩個檢視中節點嵌入之間的一致性。

  對於如何進行 corruption ,本文從拓撲結構和節點屬性考慮,即 removing edges 和 masking features ,以為不同檢視中的節點提供不同的上下文,從而促進對比目標的優化。

  貢獻總結如下:

    • 首先,我們提出了一個用於無監督圖表示學習的一般對比框架。所提出的 GRACE 框架簡化了以前的工作,並通過最大化兩個圖檢視之間的節點嵌入的一致性來進行工作。
    • 其次,我們提出了兩種特定的方案,removing edges 和 masking features,以生成檢視。
    • 最後,我們利用 6 個流行的公共基準資料集,在常用的線性評估協議下,對轉換和歸納節點分類進行了全面的實證研究。GRACE 始終優於現有的方法,我們的無監督方法在轉換任務上甚至超過了有監督的方法,展示了它在現實應用中的巨大潛力。

2 Related Work

  Contrastive learning of visual representations

  Graph representation learning

3 Deep Graph Contrastive Representation Learning

3.1 Preliminaries

  $\mathcal{G}=(\mathcal{V}, \mathcal{E}), \mathcal{V}=\left\{v_{1}, v_{2}, \ldots, v_{N}\right\}, \mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} $

  特徵矩陣: $\boldsymbol{X} \in \mathbb{R}^{N \times F}$,其中 $\boldsymbol{x}_{i} \in \mathbb{R}^{F} $ 。

  鄰接矩陣: $\boldsymbol{A} \in\{0,1\}^{N \times N} $ ,當 $ \left(v_{i}, v_{j}\right) \in \mathcal{E} $ 時, $\boldsymbol{A}_{i j}=1 $ 。

  在訓練過程中,沒有給 $\mathcal{G}$ 的節點類別資訊。

  目標是學習一個 GNN 編碼器 $f(\boldsymbol{X}, \boldsymbol{A}) \in \mathbb{R}^{N \times F^{\prime}} $ ,輸入圖的特徵矩陣 $\boldsymbol{X}$ 和鄰接矩陣 $\boldsymbol{A}$,輸出低維節點嵌入,即 $ F^{\prime}<<F$。

  將 $ \boldsymbol{H}=f(\boldsymbol{X}, \boldsymbol{A})$ 作為編碼器學到的節點表示,其中 $\boldsymbol{h}_{i}$ 是節點 $v_{i}$ 的表示。這些表示可以用於下游任務中,如節點分類。

3.2 Contrastive Learning of Node Representations

3.2.1 The Contrastive Learning Framework

  與之前利用 local-global 關係來學習表示的工作相反,在 GRACE 中,通過直接最大化節點表示之間的一致性來學習表示。

  首先通過隨機破壞原始圖來生成兩個檢視。然後,採用一個對比目標使得在兩個不同檢視中對應節點彼此一致,並與其他節點的表示區分開來。

  在 GRACE 模型中,每次迭代生成兩個檢視,分別為  $G_{1}$  和  $G_{2}$  。兩個檢視生成的節點表示分別為 $U=f\left(\widetilde{\boldsymbol{X}}_{1}, \widetilde{\boldsymbol{A}}_{1}\right) $ 和  $V=f\left(\widetilde{\boldsymbol{X}}_{2}, \widetilde{\boldsymbol{A}}_{2}\right) $ , 其中  $\widetilde{\boldsymbol{X}}_{*} $ 和 $ \widetilde{\boldsymbol{A}}_{*} $ 是這些檢視的特徵矩陣和鄰接矩陣。

  作者使用一個對比目標(即一個判別器),將這兩個不同檢視中同一節點的表示與其他節點的表示區分開來。

  對於任何節點  $v_{i}$,它在一 個檢視中生成的嵌入  $\boldsymbol{u}_{i}$  被視為 anchor,在另一個檢視中生成的節點嵌入 $\boldsymbol{v}_{i}$ 為正樣本,在兩個檢視中除  $v_{i}$  以外的節點表示【假設有  $M$  個 節點,則負樣本為  ($2 M-2$x)  個】被視為負樣本。定義  $\theta(\boldsymbol{u}, \boldsymbol{v})=s(g(\boldsymbol{u}), g(\boldsymbol{v})) $ ,其中  $s$  為餘弦相似度,  $g$  是一個非線性對映(兩層的MLP)。

  我們將每個正對  $\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right)$  的成對目標定義為:

    ${\large \ell\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right)=\log \frac{e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right) / \tau}}{\underbrace{e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right) / \tau}}_{\text {the positive pair }}+\underbrace{\sum\limits_{k=1}^{N} \mathbb{1}_{[k \neq i]} e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{k}\right) / \tau}}_{\text {inter-view negative pairs }}+\underbrace{\sum\limits_{k=1}^{N} \mathbb{1}_{[k \neq i]} e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{u}_{k}\right) / \tau}}_{\text {intra-view negative pairs }}}} \quad\quad\quad\quad(1)$

  其中:

    • $\mathbb{1}_{[k \neq i]} \in\{0,1\}$ 是指示函式,當 $k \neq i$ 值為 $1$ ;  
    • $\tau $ 是溫度引數;  

  強調一下,本文並沒有進行負取樣,而是給定正對,負樣本對自然而然有其他節點給出。

  由於兩個檢視的節點一樣,所以另一個檢視節點之間的相似性定義為 $\ell\left(\boldsymbol{v}_{i}, \boldsymbol{u}_{i}\right)$ 。

  最終要最大化的總體目標定義為所有正對的平均值:

    $\mathcal{J}=\frac{1}{2 N} \sum\limits _{i=1}^{N}\left[\ell\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right)+\ell\left(\boldsymbol{v}_{i}, \boldsymbol{u}_{i}\right)\right]\quad\quad\quad\quad(2)$

  GRACE 演算法流程:

  

3.2.2 Graph View Generation

  作者設計了兩種圖損壞的方法:removing edges 和 masking features 。

Removing edges (RE)

  在原始圖中隨機地刪除一部分邊。形式上,只刪除現有的邊。

  首先取樣一個隨機掩蔽矩陣 $\widetilde{\boldsymbol{R}} \in\{0,1\}^{N \times N}$,矩陣中每個元素依據伯努利分佈生成。如果 $\boldsymbol{A}_{i j}=1$ ,則它的值來自伯努利分佈 $\widetilde{\boldsymbol{R}}_{i j} \sim \mathcal{B}\left(1-p_{r}\right) $ ,否則 $\widetilde{\boldsymbol{R}}_{i j}=0 $ 。這裡的 $p_{r}$ 是每條邊被刪除的概率。所得到的鄰接矩陣可以計算為

    $\widetilde{\boldsymbol{A}}=\boldsymbol{A} \circ \widetilde{\boldsymbol{R}}\quad\quad\quad(3)$

  其中:$(\boldsymbol{x} \circ \boldsymbol{y})_{i}=x_{i} y_{i}$ 代表著 Hadamard product 。

Masking node features (MF)

  除了去除邊外,我們還在節點特徵中用 $0$ 隨機遮蔽部分維度\特徵。

  形式上,首先對隨機向量  $\widetilde{m} \in\{0,1\}^{F}$  進行取樣,其中它的每個維度值都獨立地從概率為  $1-p_{m}$  的伯努利分佈中提取,即  $\widetilde{m}_{i} \sim   \mathcal{B}\left(1-p_{m}\right) $ 。然後,生成的節點特徵  $\widetilde{\boldsymbol{X}}$  為:

    $\tilde{\boldsymbol{X}}=\left[\boldsymbol{x}_{1} \circ \widetilde{\boldsymbol{m}} ; \boldsymbol{x}_{2} \circ \widetilde{\boldsymbol{m}} ; \cdots ; \boldsymbol{x}_{N} \circ \widetilde{\boldsymbol{m}}\right]^{\top}\quad\quad\quad\quad(4)$

  其中:$[\cdot ;]$ 代表著拼接操作。

  本文提出的 RE 和 MF 方案在技術上與 Dropout 和 DropEdge 相似,但我們的 GRACE 模型和這兩種方法的目的存在根本不同。

    • Dropout 是一種通用的技術,它在訓練期間隨機遮蔽神經元,以防止大規模模型的過擬合。
    • 在圖域中,提出了 DropEdge 來防止 GNN 體系結構過深時的過擬合和緩解過平滑。
    • 然而,我們的 GRACE 框架隨機應用 RE 和 MF 生成圖拓撲和節點特徵層次的對比學習圖。此外,在GRACE中使用的GNN編碼器是一個相當淺的模型,通常只包含兩到三層。

  在我們的補充內容中,我們共同利用這兩種方法來生成檢視。  $\tilde{\mathcal{G}}_{1}$  和  $\widetilde{\mathcal{G}}_{2}$  的生成由兩個超引數  $p_{r}$  和  $p_{m}$  控制。為了在這兩個檢視中提供不同的上下文,這兩個檢視的生成過程使用了兩組不同的超引數  $p_{r, 1}$ 、 $p_{m, 1}$  和  $p_{r, 2}$ 、$ p_{m, 2}$  。實驗表明,我們的模型對  $p_{r}$  和  $p_{m}$  的選擇不敏感,因此原始圖沒有過度損壞,例如,$p_{r} \leq 0.8$  和  $p_{m} \leq 0.8$  。

3.3 Theoretical Justification

  Theorem 1. Let  $\mathbf{X}_{i}=\left\{\boldsymbol{x}_{k}\right\}_{k \in \mathcal{N}(i)}$  be the neighborhood of node  $v_{i}$  that collectively maps to its output embedding, where  $\mathcal{N}(i)$  denotes the set of neighbors of node  $v_{i}$  specified by GNN architectures, and  $\mathbf{X}$  be the corresponding random variable with a uniform distribution  $p\left(\mathbf{X}_{i}\right)=\frac{1}{N}$ . Given two random variables  $\mathbf{U}, \mathbf{V} \in \mathbb{R}^{F^{\prime}}$  being the embedding in the two views, with their joint distribution denoted as  $p(\mathbf{U}, \mathbf{V}) $, our objective  $\mathcal{J}$  is a lower bound of  M I  between encoder input  $\mathbf{X}$  and node representations in two graph views  $\mathbf{U}$, $\mathbf{V} $. Formally,

    $\mathcal{J} \leq I(\mathbf{X} ; \mathbf{U}, \mathbf{V})\quad\quad\quad(2)$

4 Experiments

4.1 Datasets

  

4.2 Experimental Setup

Transductive learning

  在 Transductive learning 中,使用 $2$ 層的 GCN 作為 encoder:

    $\mathrm{GC}_{i}(\boldsymbol{X}, \boldsymbol{A}) =\sigma\left(\hat{\boldsymbol{D}}^{-\frac{1}{2}} \hat{\boldsymbol{A}} \hat{\boldsymbol{D}}^{-\frac{1}{2}} \boldsymbol{X} \boldsymbol{W}_{i}\right)\quad\quad\quad\quad(7)$

    $f(\boldsymbol{X}, \boldsymbol{A})=\mathrm{GC}_{2}\left(\mathrm{GC}_{1}(\boldsymbol{X}, \boldsymbol{A}), \boldsymbol{A}\right)\quad\quad\quad\quad(8)$

Inductive learning on large graphs

  考慮到 Reddit 資料的大規模,本文采用具有殘差連線的三層 GraphSAGE-GCN 作為編碼器,其表述為

    $\widehat{\mathrm{MP}}_{i}(\boldsymbol{X}, \boldsymbol{A}) =\sigma\left(\left[\hat{\boldsymbol{D}}^{-1} \hat{\boldsymbol{A}} \boldsymbol{X} ; \boldsymbol{X}\right] \boldsymbol{W}_{i}\right) \quad\quad\quad\quad(9)$

    $f(\boldsymbol{X}, \boldsymbol{A}) =\widehat{\mathrm{MP}}_{3}\left(\widehat{\mathrm{MP}}_{2}\left(\widehat{\mathrm{MP}}_{1}(\boldsymbol{X}, \boldsymbol{A}), \boldsymbol{A}\right), \boldsymbol{A}\right)\quad\quad\quad\quad(10)$

  這裡使用平均池化傳播規則,作為 $\hat{\boldsymbol{D}}^{-1}$ 對節點特徵的平均值。由於 Reddit 的大規模,它不能完全融入 GPU 記憶體。因此,我們應用子取樣方法,首先隨機選擇一批節點,然後通過對節點鄰居進行替換,得到以每個所選節點為中心的子圖。具體來說,我們分別在 first-, second-, 和 third-hop 取樣 30、25、20 個鄰居。為了在這種基於取樣的設定下生成圖檢視,RE 和 MF 都可以毫不費力地適應於取樣的子圖。 

Inductive learning on multiple graphs.

  對於多圖 PPI 的歸納學習,我們疊加了三個具有跳躍連線的平均池化層,類似於 DGI 。圖卷積編碼器可以表示為

    $\boldsymbol{H}_{1}=\widehat{\mathrm{MP}}_{1}(\boldsymbol{X}, \boldsymbol{A}) \quad\quad\quad\quad(11)$

    $\boldsymbol{H}_{2}=\widehat{\mathrm{MP}}_{2}\left(\boldsymbol{X} \boldsymbol{W}_{\mathrm{skip}}+\boldsymbol{H}_{1}, \boldsymbol{A}\right)\quad\quad\quad\quad(12)$

    $f(\boldsymbol{X}, \boldsymbol{A})=\boldsymbol{H}_{3} =\widehat{\mathrm{MP}}_{3}\left(\boldsymbol{X} \boldsymbol{W}_{\mathrm{skip}}^{\prime}+\boldsymbol{H}_{1}+\boldsymbol{H}_{2}, \boldsymbol{A}\right)\quad\quad\quad\quad(13)$

4.3 Results and Analysis

  

5 Conclusion

  在本文中,我們開發了一種基於節點級一致性最大化的圖對比表示學習框架。我們的模型通過首先使用兩種提出的方案生成圖檢視來學習表示,去除邊和遮蔽節點特徵,然後應用對比損失來最大限度地提高這兩個檢視中節點嵌入的一致性。理論分析揭示了從我們的對比目標與互資訊最大化和經典的三重態損失之間的聯絡,這證明了我們的動機。我們在轉換和感應設定下使用各種真實資料集進行了全面的實驗。實驗結果表明,我們提出的方法能夠始終大大超過現有的先進方法,甚至超過有監督的轉換方法。

 

——————————————————————————————————————————————————

Dataset download links

Cora 
Citeseer 
Pubmed 
DBLP 
Reddit 
PPI 

 

相關文章