1. 程式人生 > 其它 >圖 embedding 相關論文筆記

圖 embedding 相關論文筆記

目錄

本文包括了GCN,GAT,HGNN,HGAT及基於這些模型的AE,或Clustering相關論文。著重介紹其方法、框架、訓練流程、效果。

名稱 會議/期刊 時間
Variational Graph Auto-Encoders NIPS 2016
Adversarially Regularized Graph Autoencoder for Graph Embedding 2019.1
Attributed Graph Clustering: A Deep Attentional Embedding Approach IJCAI 2019.1
Graph Attention Auto-Encoders 2019.5.26
Graph embedding clustering: Graph attention auto-encoder with cluster-specificity distribution 2021.5

1 Variational Graph Auto-Encoders(VGAE,GAE)

本文只介紹圖自編碼器部分,不介紹變分圖自編碼器。

1.1 編碼器

編碼器部分為一個二層GCN,原始圖的鄰接矩陣 \(A\) 和節點特徵矩陣 \(X\) 被送入 \(GCN\) ,網路輸出節點 embedding 矩陣 \(Z\)

\[Z = GCN(X,A) \]

1.2 解碼器

這裡解碼器與編碼器並非完全對稱的結構,即並非embedding 再經過兩層 \(GCN\) 得到一個與輸入特徵同緯度的節點特徵矩陣\(\hat{X}\),並考慮 \(\hat{X}\)\(X\) 的重構(有的模型是這麼做的,本文後面會提到),而是簡單將 \(Z\) 乘以自身轉置,以計算節點間相似度:

\[\hat{A} = sigmoid(ZZ^T) \]

將節點間相似度看作兩個節點間存在邊的概率,以此衡量重構圖和原始圖之間的差異,從而計算重構誤差:

\[L = E_{q(Z|X,A)}[\log p(A|Z)] \]

上式本質上是計算 \(A\)\(\hat{A}\) 的交叉熵。

1.3 實驗結果

* 代表不使用節點特徵矩陣 \(X\) ,僅考慮圖結構資訊 \(A\)


2 Adversarially Regularized Graph Autoencoder for Graph Embedding (ARGA,ARVGA)

本文在GAE的基礎上增添了一個對抗模型,總體稱為ARGA;如果引入變分機制,則為在VGAE的基礎上增添對抗模型,整體稱為ARVGA。本文同樣不介紹變分的部分,只介紹 ARGA。

2.2 問題定義

  • 一個圖被表示為 \(G = \{V,E,X\}\)\(V\) 為節點集合 \(V=\{v_i\}_{i=1...n}\)\(E\) 為邊集合,每一個元素都是一個二元組 \(e_{i,j}=<v_i,v_j> \in E\) 根據 \(V,E\) 可以構造圖 \(G\) 的鄰接矩陣 \(A\) ,這是一個 \(01-\)矩陣, \(A_{ij}=1 \ \ \ \iff \ \ \ e_{i,j} \in E\) 。 矩陣 \(X \in \R^{N\times F}\),表示著每一個節點的初始特徵。

  • embedding

    給定一個圖 \(G\), 我們的任務是將每一個節點 \(v_i \in V\) 的特徵從 \(\R^{F}\) 對映到一個低維空間 \(\R^d\)。即需要構造一個函式 \(f\),完成 \(f:(A,X) \to Z\),其中 \(z_i^T\) 是矩陣 \(Z \in \R^{n\times d}\) 的第 \(i\) 行。我們將 \(Z\) 稱為 embedding 矩陣,期望這個 embedding 可以重構拓撲結構 \(A\) 和節點特徵矩陣 \(X\)

2.2 整體框架

包含兩部分

  1. 自編碼模型

    自編碼模型接受圖的拓撲結構資訊 \(A\) 及節點特徵資訊 \(A\),經過兩層 \(GCN\) 得到 embedding 矩陣 \(Z\),並使用 \(Z\) 重構 \(A\)

  2. 對抗模型

    對抗模型強制潛變數儘可能匹配先驗分佈 ,該模組用於判斷當前潛變數是來自於編碼器得到的 embedding 矩陣 \(Z\) 還是先驗分佈(本文假設為高斯分佈)所產生的噪聲。

整個框架圖如下:

2.2.1 自編碼模型

這一部分與GAE完全相同

2.2.2 對抗模型

我們將先驗分佈產生的高斯噪聲視作真實樣本,將 embedding 視作 虛假樣本,利用判別器強制使得 embedding 匹配先驗分佈,以使 embedding 滿足高斯分佈。這是一種 VAE-GAN 的思想。需要注意的是,\(Z'\) 來自於 \(GCN-1\) 的輸出 \(+\) 高斯噪聲 , \(Z\) 來自於 \(GCN-2\) 的輸出,二者維度不一定相同,因此判別器在對二者進行判別時,需要各自經過兩個輸入維度不同的 \(MLP\),最終輸出一個實數來代表分數 \(R\)

2.3 實驗結果

可以看到,節點聚類任務上,ARGE還是明顯優於GAE的。

3 Attributed Graph Clustering: A Deep Attentional Embedding Approach(DAEGC)

本文是一個 t-order 模型,即原本的 \(GCN\) 只考慮了一階鄰域,而本方法考慮了 \(t\) 階鄰域。與此相同的還有與本模型同時提出的 \(AGC\) 模型。二者的區別在於 \(DAEGC\) 為 $t-order $ 注意力模型,而 \(AGC\)\(t-order\) 卷積模型

3.1 模型

首先對圖的鄰接矩陣 \(A\) 進行轉移獲取 \(t-order\) 鄰接矩陣:

\[A = \frac{A + A^2 + A^3 + ... + A^t}{t} \]

然後 encoder 就是一個簡單的 \(GAT\) 模型;decoderloss 由結構和特徵兩部分組成,結構部分與 \(GAE\) 相同,都是 $\hat{A}_{ij} = sigmoid(z_i^T z_j) $ 且 \(L_r = \sum_{i=1}^n loss(A_{i,j}, \hat{A}_{i,j})\);特徵部分採用鄰域這一思想,在損失函式中引入中心節點 \(u\),這樣就能表示中心節點周圍對於 \(u\) 的距離,使得 \(P\) 的分佈儘量接近 \(Q\) 的分佈,即上調 \(P\) ,下調 \(Q\)

3.2 實驗結果

\(DAEGC\) 效果比 \(GAE\) 好很多

4 Graph Attention Auto-Encoders(GATE)

這個之前寫過一個部落格

https://www.cnblogs.com/popodynasty/p/15064675.html

5 Graph embedding clustering: Graph attention auto-encoder with cluster-specificity distribution(GEC-CSD)

這是一個最近提出的圖深度聚類的 SOTA 方法。本篇論文提出的模型將節點表示學習(nodes representations learning)和聚類(clustering)統一到一個框架中,並提出一個新的深度圖注意力自編碼器(deep graph attention auto-encoder)來做節點聚類,從而利用自注意力機制(self-attention mechanism)和節點屬性重構(node attributes reconstruction)來表示節點。此外,該模型還通過\(L_1,L_2\) 範數來約束節點分佈。

5.1 迄今提出的圖卷積自編碼器聚類的侷限

  1. 他們忽略了叢集特異性分佈

    上圖為 Cora 資料集上的叢集特異性分佈示意圖。

    • 圖1中,當沒有 CSD 約束時,節點的特徵分佈在近 10 個維度上,而且它們非常凌亂。即使在多數維度上,節點的特徵也非常相似,這可能會使演算法將它們全部聚類為同一類。

    • 圖2中,節點的特徵在 CSD 約束下更具辨別力。例如,屬於第一個叢集的樣本的特徵主要集中分佈在第6維和第7維。因此,CSD 約束有助於演算法劃分樣本。

  2. 無法同時重構節點屬性和圖結構,導致 embedding 不夠良好

  3. embeddingclustering 分別獨立進行,因此網路無法通過端到端的方式訓練節點叢集方式,這限制了它的效能

5.2 主要貢獻

  1. 我們提出了一種新穎的基於圖注意力自編碼器的聚類模型,它加入了節點表示學習和聚類,形成一個統一的框架。 因此,學習到的節點表示不僅可以很好地編碼資料資訊,還可以很好地編碼表徵集群結構。
  2. 我們發現 \(L_1,L_2\) 範數在表徵圖結構資料的維度 CSD 空間,然後將其應用於學習節點表示,這很好地表徵了叢集結構,因此提高聚類結果。
  3. 聚類時考慮了節點屬性重構和節點鄰居資訊,這有更好地進行圖 embedding

5.3 相關工作的侷限

  1. \(GAE, ARGAE:\) 只對圖結構資訊進行重構
  2. \(GATE:\) 重構了圖節點資訊和圖結構資訊,但只做到了 embedding 這一步,還需要後處理操作以得到聚類標籤
  3. \(DAEGC:\) 得到 embedding 並進行了聚類工作,但解碼器部分只是簡單地進行了一個 \(sigmoid(Z^TZ)\) 計算相似度,即解碼器無法學習

無論如何,之前的方法都沒考慮 CSD 約束。

5.4 模型

圖為 \(GEC-CSD\) 的整體架構:

該模型包含兩部分:

  • 生成器 \(G\)

    事實上生成器 \(G\) 就是在之前學到的 \(GATE\) 的基礎上,加上了 \(L_{1,2}\) 正規化約束。

    • encoder 輸入 \(A, X\) ,通過兩層非線性的圖自注意力編碼器,得到潛變數 embedding 矩陣 \(Z\)

      為了使潛變數 embedding \(Z\) 更具有意義,我們強制 \(Z\) 的實際分佈 \(Q\) 儘可能近似一個目標分佈 \(P\)。根據 \(t-SNE\) 的思想,如果分佈 \(P\) 和分佈 \(Q\) 相似,則兩個空間的資料也應該近似。因此如果對 \(Z\) 進行聚類得到的簇 \(\mu_t\) 不夠理想,那麼 \(P,Q\) 就會有較大的差距。

    • decoder 分為兩部分,一部分採用內積重建圖結構 \(A\), 另一部分採用兩層非線性的圖自注意力解碼器,重建圖節點資訊 \(X\)。之前提到 decoder 是部分可學習的,此處可以看出 Inner Product Decoder 不可學習, Graph Attention Decoder 可學習。

    重構損失:

    \[L_R = \frac{1}{N}\sum_{S=1}^N[||x_S-\hat{x}_S]||^2_2 - \epsilon_r \sum_{j \in N_S} \phi (-z_S^Tz_j) \]

    \(L_{1,2}\) 正規化懲罰(使得 embedding \(Z\) 的實際分佈 \(Q\) 近似目標分佈\(P\)):

    $$ L_C = \sum f(Q,P) = \epsilon_c ||Q-P||^2_F $$ *CSD* 損失(使聚類滿足叢集特異性分佈): $$ L_{CSD} = \beta||Z||^2_{1,2}=\beta\sum_{S=1}^N||Z_S||^2_1 $$
  • 判別器 \(D:\)

    判別器用於判斷當前資料來自目標分佈 \(P\)(true)還是 \(G\) 產生的實際分佈 \(Q\) (false)

5.5 實驗結果

\(SOTA\) 方法

---- suffer now and live the rest of your life as a champion ----