論文解讀(gCooL)《Graph Communal Contrastive Learning》

發表於2022-06-05

論文資訊

論文標題:Graph Communal Contrastive Learning
論文作者:Bolian Li, Baoyu Jing, Hanghang Tong
論文來源:2022, WWW
論文地址:download 
論文程式碼:download

1 Introduction

  出發點:GCL 中節點級對比損失會有一定概率將同一社群中的節點視為負對,這是不合理的。

  首先提出一種基於圖結構資訊學習社群劃分的 Dense Community Aggregation(????)演算法。接下來,引入一種新的 Reweighted Self-supervised Cross-contrastive(????)訓練方案,將同一社群中的節點在表示空間中拉得更近。

  本文框架:多檢視對比。

2 Preliminaries

2.1 Similarity Measurement

  Exponent cosine similarity:

    $\delta_{c}\left(x_{1}, x_{2}\right)=\exp \left\{\frac{x_{1}^{T} x_{2} / \tau}{\left\|x_{1}\right\| \cdot\left\|x_{2}\right\|}\right\}  \quad\quad\quad(1)$

  Gaussian RBF similarity:

    $\delta_{e}\left(x_{1}, x_{2}\right)=\exp \left\{-\left\|x_{1}-x_{2}\right\|^{2} / \tau^{2}\right\} \quad\quad\quad(2)$

2.2 Community Detection

  Modularity. 社群劃分中常用的模組度 [42]:

    $ m=\frac{1}{2 M} \sum\limits _{i, j}\left[A[i, j]-\frac{d_{i} d_{j}}{2 M}\right] r(i, j)  \quad\quad\quad(3)$

  其中,$r(i, j)$ 代表著節點 $i$ 和 節點 $j$  是否屬於同一個社群,模組度測量了每條邊對區域性邊緣密度(local edge density  $\left(d_{i} d_{j} / 2 M\right)$)的影響。

  Edge count function.我們定義了鄰接矩陣上的邊計數函式(edge count function):

    $E(C)=\sum\limits _{i, j} \mathbb{1}\left\{A^{C}[i, j] \neq 0\right\}   \quad\quad\quad(4)$

  其中 $A^{C}$ 是社群 $C$ 的鄰接矩陣。

  Edge density function.邊密度函式將真實邊計數與給定社群 $C_{k}$ 中的最大可能邊數進行比較:

    ${\large d(k)=\frac{E\left(C_{k}\right)}{\left|C_{k}\right|\left(\left|C_{k}\right|-1\right)}  }   \quad\quad\quad(5)$

2.3 Attributed Multiplex Graph

  Multiplex graphs 也被稱為 multi-dimensional graphs [39]或 multi-view graphs[12,23,55],它由多個單檢視圖組成,具有共享的節點和屬性,但具有不同的圖結構(通常具有不同型別的連結)[6]。

  Formally, an attributed multiplex graph is  $\mathscr{G}=\left\{G^{1}, G^{2}, \ldots \ldots, G^{R}\right\}$, where  $R \in \mathbb{N}_{+} and each  G^{r}=\left(V, E^{r}\right)$  is an attributed graph. If the number of views  $R=1$, $\mathscr{G}=\left\{G^{1}\right\}$  is equivalent to the attributed graph  $G^{1}$ . We show an example of attributed multiplex graph in Fig.  2 . 

    

3 Method

3.1 Dense Community Aggregation 

  節點級GCL方法容易出現將結構相近的節點作為負樣本配對的問題。本文的方法受到圖中的模組化[42]的啟發,它測量了社群中的 local edge density 。然而,模組化很容易受到邊[36]的變化的干擾,這限制了其在檢測社群時的魯棒性(邊緣在每個時代都會動態變化)。

  因此,我們的目標是增強模組化的魯棒性,並通過最大化每個社群的邊緣密度來進一步擴充套件模組化,同時最小化不同社群之間的邊緣密度。DeCA 通過端到端訓練進行,如 Fig. 3 所示。

    

  我們通過以端到端方式訓練一個隨機初始化的質心矩陣 $\Phi$ 來學習社群劃分,其中每個 $\Phi[k,:]$ 代表第 $k$ 個社群的中心。

  首先,我們將圖中的每個節點以一定的概率分配給社群質心(通過相似度函式 $\text{Eq.1}$ 、$\text{Eq.2}$)。具體地說,我們定義了一個社群分配矩陣 $\boldsymbol{R}$,其中每個 $\boldsymbol{R}[i,:]$ 都是一個標準化的相似度向量,度量第 $i$ 個節點和所有社群質心之間的距離。在形式上,$\boldsymbol{R}$ 是由

    $\boldsymbol{R}=\text { normalize }\left(\delta\left(f_{\theta}(\boldsymbol{X}, \boldsymbol{A}), \boldsymbol{\Phi}\right)\right) \quad\quad\quad(6)$

  其中,$\delta(\cdot)$ 為 2.1 中定義的相似度函式。$f_{\theta}(\cdot)$ 是引數為 $\theta$ 的圖編碼器,$normalize (\cdot)$ 通過將每個社群的概率除以所有概率之和來歸一化,並保持每個 $i$ 的 $\sum_{j} R[i, j]=1$。

  其次,我們採用了兩個目標來訓練社群劃分:社群內密度 (intra-community density):

    $D_{\text {intra }}=\frac{1}{N} \sum\limits _{i, j} \sum\limits_{k}[A[i, j]-d(k)] R[i, k] R[j, k]\quad\quad\quad(7)$

  社群間密度(inter-community density ):

    $D_{\text {inter }}=\frac{1}{N(N-1)} \sum\limits_{i, j} \sum\limits_{k_{1} \neq k_{2}} A[i, j] R\left[i, k_{1}\right] R\left[j, k_{2}\right]  \quad\quad\quad(8)$

  這兩個目標測量了每條邊對 community edge density 的影響(而不是在模組化[42]中使用的區域性邊緣密度)。具體來說,在 $Eq. 7$ 和 $Eq. 8$ 中、$A[i, j]-d(k)$ 和 $A[i, j]-0$ 表示真實區域性密度 $(A[i, j])$ 和預期密度($d(k)$,intercommunity 為 $0$)之間的差距。通過最小化聯合目標,將更新質心矩陣 $\Phi$,以達到合理的社群劃分:

    $l_{D e C A}(R)=\lambda_{w} D_{\text {inter }}-D_{\text {intra }}   \quad\quad\quad(9)$

  其中 $\lambda_{w}$ 是係數。此外,為了提高計算效率,我們在實際實現中稍微修改了 $l_{D e C A}$ 的形式(如附錄C所示)。最後,我們結合了兩個圖檢視的 $l_{D e C A}$ 目標,並同時對它們進行密集的社群聚合:

    $L_{D e C A}=\frac{1}{2}\left[l_{D e C A}\left(R^{1}\right)+l_{D e C A}\left(R^{2}\right)\right]  \quad\quad\quad(10)$

3.2 Reweighted Self-supervised Cross-contrastive Training

  在本節中,我們提出了重加權自監督交叉對比($ReSC$ )訓練方案。我們首先應用圖資料增強來生成兩個圖檢視,然後同時應用節點對比和社群對比來考慮節點級和社群級的資訊。我們引入 node-community 對作為額外的負樣本,以解決與負樣本在相同的社群中配對節點的問題。

3.2.1 Graph augmentation

  屬性掩藏

    $\widetilde{X}=[X[1,:] \odot \boldsymbol{m} ; \boldsymbol{X}[2,:] \odot \boldsymbol{m} ; \ldots \ldots ; \boldsymbol{X}[N,:] \odot \boldsymbol{m}]^{\prime} \quad\quad\quad(11)$

  其中,$m[i] \sim \text { Bernoulli }\left(1-p_{v}\right)$,$\odot $ 代表著 Hadamard product 。

  邊丟棄

  我們通過有概率地從原始邊集 $E$ 中隨機刪除邊來生成增廣邊集 $\widetilde{E}$。

    $P\left\{\left(v_{1}, v_{2}\right) \in \widetilde{E}\right\}=1-p_{e}, \forall\left(v_{1}, v_{2}\right) \in E \quad\quad\quad(12)$

  上述兩種資料增強,本文分別定義為 $t^{1}, t^{2} \sim T$。

  使用上述兩種資料增強生成兩個檢視:$\left(X^{1}, A^{1}\right)=t^{1}(X, A)$、$\left(X^{2}, A^{2}\right)=t^{2}(X, A)$。讓後通過 GCN 編碼器獲得他們的表示:$Z^{1}=f_{\theta}\left(X^{1}, A^{1}\right)  $ 和 $Z^{2}=f_{\theta}\left(X^{2}, A^{2}\right)$。

3.2.2 Node contrast

  在生成兩個圖檢視後,我們同時使用節點對比和社群對比來學習節點表示。我們引入了一個基於InfoNCE[43]的對比損失來對 比節點-節點對:

    $I_{N C E}\left(Z^{1} ; Z^{2}\right)=-\log \sum\limits_{i} \frac{\delta\left(Z^{1}[i,:], Z^{2}[i,:]\right)}{\sum_{j} \delta\left(Z^{1}[i,:], Z^{2}[j,:]\right)} \quad\quad\quad(13)$

  我們對這兩個圖的檢視對稱地應用節點對比度:

    $L_{n o d e}=\frac{1}{2}\left[I_{N C E}\left(Z^{1} ; Z^{2}\right)+I_{N C E}\left(Z^{2} ; Z^{1}\right)\right]\quad\quad\quad(14)$

  它在兩個檢視中區分負對,並強制最大化正對[35]之間的一致性。

3.2.3 Community contrast

  Community contrast 基於 3.1 DeCA,

  首先,我們用 $Eq.10$ 訓練隨機初始化的社群質心矩陣 $\Phi$,得到社群中心。其次,我們採用一個重新加權的交叉對比目標,將一個檢視的節點表示與另一個檢視的社群質心進行對比(一種交叉對比的方式)。我們受到[4]中的交叉預測方案的啟發,並在InfoNCE目標[43]中引入交叉對比,以最大化兩個檢視之間的社群一致性,強制使一個社群中的節點表示接近另一個檢視中對應社群的節點表示。在形式上,社群對比是由

    ${\large \begin{array}{l}l_{\text {com }}(Z, \Phi)=-\log \sum_{i} \frac{\delta\left(Z[i,:], \Phi\left[k_{i},:\right]\right)}{\delta\left(Z[i,:], \Phi\left[k_{i},:\right]\right)+\sum_{k_{i} \neq k} w(i, k) \cdot \delta(Z[i,:], \Phi[k,:])}\end{array}} \quad\quad\quad(15)$

  其中,第 $i$ 個節點被分配給第 $k_{i}$ 個社群。這裡的, $w(i, k)=\exp \left\{-\gamma\|Z[i,:]-\Phi[k,:]\|^{2}\right\}$ 是RBF的權值函式(與 $Eq. 2$ 中的高斯RBF相似度略有不同),這更關注更相似的社群對。在這一目標中,相同社群內的節點表示的相似性最大化,因為它們與相同的質心呈正對比,而在不同的社群中,節點表示被負對比分開。同樣,我們對稱地計算了生成的兩個圖檢視的對比目標:

    $L_{\text {com }}=\frac{1}{2}\left[l_{\text {com }}\left(Z^{1}, \Phi^{2}\right)+l_{\text {com }}\left(Z^{2}, \Phi^{1}\right)\right]\quad\quad\quad(16)$

  其中,$Z^{1}$ 和 $\Phi^{2}$ 分別為檢視1和檢視2的節點表示矩陣。

3.2.4 Joint objective

  我們提出用 $\alpha$-衰減係數將 $L_{n o d e}$, $L_{D e C A}$ 和 $L_{\text {com }}$ 結合成一個聯合目標:

    $L=L_{\text {node }}+\alpha(t) L_{D e C A}+[1-\alpha(t)] L_{\text {com }}\quad\quad\quad(17)$

  其中,係數 $\alpha(t)=\exp \{-t / \eta\}$ 會隨著訓練的進行而順利衰減($t$ 為epoch)。我們觀察到,通過 $DeCA$ 訓練,社群分割槽將穩定在幾百個 epoch內,而 $g CooL$ 模型的訓練通常需要數千個epoch。為此,我們首先將  $\alpha$-衰減主要應用於訓練社群劃分,並逐步將重點轉移到學習節點表示上。

  綜上所述,$ReSC$ 的訓練過程如 Algorithm 1 所示。

   

3.3 Adaptation to Multiplex graphs

  所提出的 $gCooL$ 框架可以很自然地適應於多重圖,並對訓練和推理過程進行了一些修改。我們在不同的圖檢視之間應用對比訓練,並考慮了它們之間的依賴性。

3.3.1 Training

  在多重圖中,我們不再需要通過圖增強來生成圖檢視,因為多重圖中的不同檢視自然是多重檢視的資料。我們建議在每對檢視上檢測社群(????)和學習節點表示(????)。改進後的訓練過程如 Algorithm 2 所示。
  

3.3.2 Inference

  在推理時,我們建議通過分類器融合(後整合方式)結合每個檢視的分類結果:給定?獨立分類器的結果,我們根據每個分類器的置信度(即輸出softmax分佈[17]的最大值)對最終預測進行標記。我們選擇置信度最高的結果作為最終的預測。

4 Experiments

4.1 Experimental Setup

4.1.1 datasets

  

4.1.2 Evaluation protocol

  對於節點分類任務,我們用 Micro-F1 和 Macro-F1 分數來衡量效能。

  對於節點聚類任務,我們使用歸一化互資訊(NMI)評分來衡量效能:

    $N M I=2 I(\hat{Y} ; Y) /[H(\hat{Y})+H(Y)]$

  其中,$\hat{Y}$ 和 $Y$ 分別為預測的聚類索引和類標籤。

  Adjusted Rand Index (ARI): 

    $A R I=R I-\mathbb{E}[R I] /(\max \{R I\}-\mathbb{E}[R I])$

  其中, $RI$ 是RandIndex[51],它測量兩個叢集索引和類標籤之間的相似性。

4.1.3 Baselines

On single-view graphs
  • 1) traditional methods including node2vec [13] and DeepWalk [48],
  • 2) supervised methods including GCN [28]
  • 3) unsupervised methods including MVGRL [16], DGI [59], HDI [21], graph autoencoders (GAE and VGAE) [29] and GCA [78].
On multiplex graphs
  • 1) methods with single-view representations including node2vec [13], DeepWalk [48], GCN [28] and DGI [59]
  • 2) methods with multi-view representations including CMNA [7], MNE [70], HAN [62], DMGI [44] and HDMI [21].

  此外,我們比較了不同的聚類基線,包括K-means、光譜雙聚類(SBC)[30]和模組化[42],以顯示我們提出的 ????(指數餘弦相似度 $DeCA_{c}$ 和高斯RBF相似度  $D e C A_{e}$) 的有效性。

4.2 Quantitative Results 

node classification on single-view graphs (Table 3)

  

node clustering on single-view graphs (Table 4)

  

node classification on multiplex graphs (Table 5)
  
Performance on node clustering

  

 

 

Ablation study

  

4.3 Visual Evaluations

  我們通過視覺化所分配社群的邊緣密度和類熵來說明????的重要性。我們評估每個檢查點五次,並顯示其平均值和偏差。我們將結果與傳統的聚類方法(K-means和光譜雙聚類[30])和前模組化[42]進行了比較。我們還視覺化了消融研究的節點表示。

4.3.1 Edge density

  邊緣密度是基於 $\text{Eq.5}$、按所有社群的平均密度計算: 

    $E D=\frac{1}{K} \sum\limits _{k=1}^{K} d(k)  \quad\quad\quad(18)$

  它被用來衡量????如何學習社群分割槽,從而使群落內密度最大化( Section 3.1)。從Fig4可以看出,經過幾百個 epochs 後,????的效能穩定地優於其他聚類方法。

  

4.3.2 Class entropy

  類熵是對一個社群中類標籤的同質性(一個社群包含一個主要類或具有低熵的程度)的度量。我們認為,一個好的社群分割槽應該區分結構上分離的節點,換句話說,就是區分不同類的節點。類熵計算為所有社群中類標籤的平均熵:

    $C H=-\frac{1}{K} \sum\limits _{k=1}^{K} \sum\limits_{c} P_{k}(c) \log P_{k}(c) \quad\quad\quad(19)$

  其中,$P_{k}(c)$ 為第 $k$ 個社群中第 $c$ 類的出現頻率。從 $Fig. 5$ 可以看出,經過幾百個 epochs 後,????的效能穩定地優於其他聚類方法。

4.3.3 Visualization of node representations

  為了瞭解節點表示是如何分佈的,我們使用t-SNE[57]來減少節點表示的維數以進行視覺化。當應用?????和????時,每個類的節點表示分別分佈更大,這說明了我們所提出的方法的有效性。結果如Table 8 所示。

  

6 Conclusion

  在本文中,我們提出了一種新的圖社群對比學習(?????)框架,通過密集的社群聚合(????)演算法來學習結構相關社群的社群劃分,並通過考慮社群結構的重加權自監督交叉對比(????)訓練方案來學習圖的表示。所提出的?????在多個任務上始終達到了最先進的效能,並且可以自然地適應於多路圖。我們表明,社群資訊有利於圖表示學習的整體效能。

相關文章