圖 embedding 相關論文筆記
- 1 Variational Graph Auto-Encoders(VGAE,GAE)
- 2 Adversarially Regularized Graph Autoencoder for Graph Embedding (ARGA,ARVGA)
- 3 Attributed Graph Clustering: A Deep Attentional Embedding Approach(DAEGC)
- 4 Graph Attention Auto-Encoders(GATE)
- 5 Graph embedding clustering: Graph attention auto-encoder with cluster-specificity distribution(GEC-CSD)
本文包括了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 整體框架
包含兩部分
-
自編碼模型
自編碼模型接受圖的拓撲結構資訊 \(A\) 及節點特徵資訊 \(A\),經過兩層 \(GCN\) 得到 embedding 矩陣 \(Z\),並使用 \(Z\) 重構 \(A\)。
-
對抗模型
對抗模型強制潛變數儘可能匹配先驗分佈 ,該模組用於判斷當前潛變數是來自於編碼器得到的 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\) 模型;decoder 的 loss 由結構和特徵兩部分組成,結構部分與 \(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 迄今提出的圖卷積自編碼器聚類的侷限
-
他們忽略了叢集特異性分佈
上圖為 Cora 資料集上的叢集特異性分佈示意圖。
-
圖1中,當沒有 CSD 約束時,節點的特徵分佈在近 10 個維度上,而且它們非常凌亂。即使在多數維度上,節點的特徵也非常相似,這可能會使演算法將它們全部聚類為同一類。
-
圖2中,節點的特徵在 CSD 約束下更具辨別力。例如,屬於第一個叢集的樣本的特徵主要集中分佈在第6維和第7維。因此,CSD 約束有助於演算法劃分樣本。
-
-
無法同時重構節點屬性和圖結構,導致 embedding 不夠良好
-
embedding 和 clustering 分別獨立進行,因此網路無法通過端到端的方式訓練節點叢集方式,這限制了它的效能
5.2 主要貢獻
- 我們提出了一種新穎的基於圖注意力自編碼器的聚類模型,它加入了節點表示學習和聚類,形成一個統一的框架。 因此,學習到的節點表示不僅可以很好地編碼資料資訊,還可以很好地編碼表徵集群結構。
- 我們發現 \(L_1,L_2\) 範數在表徵圖結構資料的維度 CSD 空間,然後將其應用於學習節點表示,這很好地表徵了叢集結構,因此提高聚類結果。
- 聚類時考慮了節點屬性重構和節點鄰居資訊,這有更好地進行圖 embedding 。
5.3 相關工作的侷限
- \(GAE, ARGAE:\) 只對圖結構資訊進行重構
- \(GATE:\) 重構了圖節點資訊和圖結構資訊,但只做到了 embedding 這一步,還需要後處理操作以得到聚類標籤
- \(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 ----