論文信息
論文標題:Simple Unsupervised Graph Representation Learning
論文作者:Yujie Mo、Liang Peng、Jie Xu, Xiaoshuang Shi、Xiaofeng Zhu
論文來源:2022 AAAI
論文地址:download
論文代碼:download
1 Introduction
任務驅動:解決對比學習效率低下的問題。【針對數據增強、判別器訓練耗時】
本文工作:
-
- 如何構建錨點嵌入、正嵌入、負嵌入;
- 根據 Triplet loss 設計一種新損失函數;
本文對比學習思想:減小類內距離,增大類間距離。【類似聚類】
研究現狀
-
- 無監督圖表示學習(UGRL)中的對比學習:通常依賴於數據增強來生成輸入內容( input content)及其相關內容(related content),以實現 MI 最大化,從而導致訓練過程的計算成本昂貴。
- 相關工作
- Deep Graph Infomax (DGI)最大化節點表示和圖表示之間的互信息;
- Graphical Mutual Information (GMI)最大化輸入圖和輸出圖之間的互信息;
- GCA 通過各種數據增強,例如,屬性掩蔽或邊擾動,最大化兩個視圖每個節點之間的互信息;
對比學習工作存在的問題:數據增強、高維嵌入表示、對比損失函數設計帶來的訓練時間長問題,有關方法對比如 Figure 1 所示。
問題展開詳述:
-
- 數據增強:GRACE 和 GCA 通過 remove edges 和 mask node 特性,以生成多個視圖。因此,數據增強(包括視圖生成和編碼)的計算成本大約需要 20%-40% 的訓練時間。
- 高維嵌入:通過提高嵌入的維數來提高表示質量,從而增加了訓練時間。部分方法對維度敏感,如 DGI 和 GMI 在 512 維空間上達到了它們最好的精度。
- 目標函數設計為判別器:DGI 和 MVGRL 使用一個判別器來測量節點嵌入和圖嵌入的一致性(判別器為雙線性判別器加 Sigmoid),花費約 10%-30% 的訓練時間。【DGI、GMI、MVGRL、GIC 的判別器為雙線性判別器】
2 Method
基於上述三個問題,本文提出 Simple Unsupervised Graph Representation Learning (SUGRL),框架如 Figure 2 所示:
方法步驟概述:
-
- 首先使用一個多層感知器(MLP)在帶語義信息(semantic information)的輸入 $X$ 上生成 Anchor embedding ;
- 接着基於 Graph structure $A$ 和 Semantic feature $X$ 使用 GCN 生成 Positive embedding。此外在 Anchor embedding 上通過 Neighbour sampling 生成另外一種 Positive embedding;
- 然后在 Anchor embedding 上通過 Row shuffling 生成一種 Negative embedding;
- 計算多重損失。
2.1 Anchor and negative embedding generation
Anchor 研究現狀:大多將 node representation 和 graph summary 作為一個 Anchor 。
比如 :
-
- DGI and MVGRL treat the graph summary as anchors, which is first convolved by GCN and then summarized by a readout function.
- GRACE and GCA regard the node embedding generated in one view as anchors.
上述產生的問題:大多需要經過 GCN 的傳播,比較耗費時間。
Step1:本文生成錨嵌入(Amchor embedding)的方法是使用 MLP 作用在輸入 $X$ 上,從而生成帶語義信息的錨嵌入 。
$\begin{array}{l}\mathbf{X}^{(l+1)}=\text { Dropout }\left(\sigma\left(\mathbf{X}^{(l)} \mathbf{W}^{(l)}\right)\right) \quad\quad \quad\quad (1)\\ \mathbf{H}=\mathbf{X}^{(l+1)} \mathbf{W}^{(l+1)}\quad\quad\quad \quad\quad\quad\quad\quad\quad\quad\quad(2)\end{array}$
關於生成負嵌入,比較流行的方法如 DGI、GIC、MVGRL 采用的策略是:從原始圖中得到一個被破壞的圖,然后用 GCN 獲得負嵌入。
Step2:本文生成負嵌入(Negative embedding)的方法是直接通過行打亂(row-shuffle) 去打亂錨嵌入。
$\mathbf{H}^{-}=\operatorname{Shuffle}\left(\left[\mathbf{h}_{1}, \mathbf{h}_{2}, \ldots, \mathbf{h}_{N}\right]\right)\quad\quad\quad(2)$
2.2 Positive embedding generation
現有的工作通常將結構信息 [ 數據增強后的視圖為新的圖結構 ] 視為正嵌入(Positive embedding),比如相關的工作有 DGI、MVGRL、GRACE、GCA、GIC 。
比如:
-
- 在 GCA 和 GRACE 中采用隨機圖數據增強;
- 在 MVGRL 中的圖擴散;
本文生成了兩種正嵌入(Positive embedding ):
-
- structural embeddings
- neighbor embeddings
2.2.1 Structural information
Step3:為了獲取帶圖的結構信息正嵌入,本文采用了廣泛使用的 GCN 作為基編碼器。
$\mathbf{H}^{+^{(l+1)}}=\sigma\left(\widehat{\mathbf{A}} \mathbf{H}^{+^{(l)}} \mathbf{W}^{(l)}\right)\quad\quad\quad\quad(4)$
注意,本文生成錨嵌入的 MLP 是和 這里的 GCN 共享權重矩陣 $W$ 的。
2.2.2 Neighbor information
Step4:為了得到具有鄰居信息的 正嵌入,作者首先存儲所有節點的鄰居嵌入索引,然后對其進行抽樣,然后計算樣本的平均值。這樣可以有效地獲取節點的鄰居信息:
$\widetilde{\mathbf{h}}_{i}^{+}=\frac{1}{m} \sum\limits _{j=1}^{m}\left\{\mathbf{h}_{j} \mid v_{j} \in \mathcal{N}_{i}\right\}\quad\quad\quad (5)$
其中
-
- $m$ 為采樣鄰居的個數;
- $\mathcal{N}_{i}$ 表示節點 $v_i$ 的一階鄰居(1-hop)集合;
總的來說,
-
- 結構嵌入(structural embedding)關注的是所有鄰居信息,從 GCN 信息傳遞公式 $AXW$ 理解;
- 鄰居嵌入(neighbor embedding)分別的鄰居的某一部分,通過采樣部分鄰居信息;
因此,他們從不同的角度解釋樣本,從而將它們放在一起考慮,可能獲得它們的互補信息。
2.3 Multiplet loss
DGI、GMI、MVGRL、GIC 使用雙線性層作為判別器來區分正、負樣本對,非常耗時間,具體對比可以參考 Figure 6 。
研究損失的目的:
-
- 拉近類內距離,加大類間距離;
- 減少泛化誤差,減小泛化誤差對 UGRL 來說也很重要,因為在訓練過程中如果泛化誤差小,可能會提高對比學習的泛化能力;
在 SUGRL中,本文以 Triplet loss 損失為基礎,設計一個上限損失來避免使用除鑒別器。具體來說,每個樣本的 Triplet loss 可以表示為:
$\alpha+d\left(\mathbf{h}, \mathbf{h}^{+}\right)<d\left(\mathbf{h}, \mathbf{h}^{-}\right)\quad\quad\quad(6)$
其中:
-
- $d(.)$ 是相似度測量方法,如 $\ell_{2}$ -norm distance;
- $\alpha$ 是非負值,代表着 positive 和 negative embeddings 的 "安全距離" ;
通過對所有負樣本求和,$\text{Eq.6}$ 擴展為:【類間分析】
$\mathcal{L}_{\text {triplet }}=\frac{1}{k} \sum_{i=1}^{k}\left\{d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2}-d\left(\mathbf{h}, \mathbf{h}_{i}^{-}\right)^{2}+\alpha\right\}_{+}\quad\quad\quad(7)$
其中
-
- $\{\cdot\}_{+}=\max \{\cdot, 0\} $
- $k$ 代表負樣本數
為了增加類間差異,作者拉大正負樣本之間的距離,作者在兩種 Positive embedding (考慮 Structural information 和 Neighbor information)上執行以下操作:
$\mathcal{L}_{S}=\frac{1}{k} \sum_{i=1}^{k}\left\{d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2}-d\left(\mathbf{h}, \mathbf{h}_{i}^{-}\right)^{2}+\alpha\right\}_{+}\quad\quad\quad(8)$
$\mathcal{L}_{N}=\frac{1}{k} \sum_{j=1}^{k}\left\{d\left(\mathbf{h}, \widetilde{\mathbf{h}}^{+}\right)^{2}-d\left(\mathbf{h}, \mathbf{h}_{j}^{-}\right)^{2}+\alpha\right\}_{+}\quad\quad\quad(9)$
分析上式的兩種情況:
-
- Case 1:$d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2} \geq d\left(\mathbf{h}, \widetilde{\mathbf{h}}^{+}\right)^{2}$
- Case 2:$d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2}<d\left(\mathbf{h}, \widetilde{\mathbf{h}}^{+}\right)^{2}$
對於 Case 1:$d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2} \geq d\left(\mathbf{h}, \widetilde{\mathbf{h}}^{+}\right)^{2} $ ,那么即使 $\text{Eq.9}$ 為 $0$ ,$\text{Eq.8}$ 也不可能小於 $0$ (非負)。此時,我們可以認為 $\mathcal{L}_{S}$ 任然有效,$ \mathcal{L}_{N}$ 是無效的。因此,可以通過 $Eq.8$ 將錨點嵌入和負嵌入相推離,這樣類間差異增大。與 Case 1 類似,Case 2 也可以擴大類間差異。
基於以上分析,Case 1 或 Case 2 都可以增大類間距離。特別是,如果其中一種無效,另一種仍將有效地進一步擴大類間距離。因此,$\text{Eq.8}$ 和 $\text{Eq.9}$ 可以從結構嵌入和鄰域嵌入中獲得互補的信息,從而能夠擴大類間距離。
分析 $\text{Eq.7}$:【類內分析】
$\text{Eq.7}$ 保證的是 $d\left(\mathbf{h}, \mathbf{h}_{i}^{-}\right)^{2} - d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2}\ge \alpha$,這保證了類間距離,但忽略了類內距離(即 Anchor embedding 和 Positive embedding 的距離 )。如果類內距離特別大,那么 $\text{Eq.7}$ 任然非負。在這種情況下,類內的變化可能會很大,但這並不有利於泛化誤差的減少。
為了解決這個問題,作者通過以下目標函數研究了負對和正對的上界(即 $\alpha + \beta$):
$\alpha+d\left(\mathbf{h}, \mathbf{h}^{+}\right)<d\left(\mathbf{h}, \mathbf{h}^{-}\right)<d\left(\mathbf{h}, \mathbf{h}^{+}\right)+\alpha+\beta\quad\quad\quad(10)$
其中:
-
- $\beta$ is a non-negative tuning parameter;
由式 $\alpha+d\left(\mathbf{h}, \mathbf{h}^{+}\right)<d\left(\mathbf{h}, \mathbf{h}^{-}\right)$ 可知類內距離有界;
由式 $d\left(\mathbf{h}, \mathbf{h}^{-}\right)<d\left(\mathbf{h}, \mathbf{h}^{+}\right)+\alpha+\beta$ 可知類間距離有界;
對所有負嵌入的損失加和后,提出的減少類內變化的上界損失定義如下:【理解這里的 $\text{min}$ 請結合 $\text{Eq.11} $ 和 $\text{Eq.10} $】
$\mathcal{L}_{U}=-\frac{1}{k} \sum\limits _{i=1}^{k}\left\{d\left(\mathbf{h}, \mathbf{h}^{+}\right)^{2}-d\left(\mathbf{h}, \mathbf{h}_{i}^{-}\right)^{2}+\alpha+\beta\right\}_{-}\quad\quad\quad(11)$
其中
-
- $\{\cdot\}_{-}=\min \{\cdot, 0\} $
注意到這里並沒有考慮 neighbor information ,這是由於
-
- 每種信息都得到了相似的結果;
- 在實驗中同時使用它們並不能顯著提高模型的性能;
最后,將上述損失整合,可以表示為:
$\mathcal{L}=\omega_{1} \mathcal{L}_{S}+\omega_{2} \mathcal{L}_{N}+\mathcal{L}_{U}\quad\quad\quad(12)$
3 Experiments
數據集
8個基准數據集,包括3個引文網絡數據集(即 Cora, Citeseer 和 Pubmed ), 2個亞馬遜銷售數據集(即照片和計算機),3個大型數據集(即 Ogbn-arxiv、Ogbn-mag 和 Ogbn-products )。
Baseline
1 種傳統算法 DeepWalk, 2 種半監督學習算法(即 GCN 和 GAT),以及8種非監督學習算法( GAE,VGAE、DGI 、GRACE 、GMI 、MVGRL 和 GCA 、GIC 。
節點分類
Table 1 和 Table 2 總結了所有方法在 8 個實際圖結構數據集上的分類精度和執行時間。
結果分析:
-
- 首先,SUGRL在分類精度方面優於所有自監督方法(如DGI、GMI、GRACE、MVGRL、GIC和GCA)。例如,作者的方法與最差的方法DGI和最好的比較方法MVGRL相比,平均分別提高了4.0%和1.9%。與采用標簽信息的半監督方法(GCN 和 GAT)相比,SUGRL也取得了更好的性能。
- 其次,作者的SUGRL的效率是最好的。在8個數據集上,與其他自監督方法相比,SUGRL 分別比最慢的比較方法 GMI 和最快的比較方法 GIC 平均快了 122.4 和 4.4 。
總之,作者的方法在幾乎所有數據集上,在模型性能和執行時間方面,在節點分類方面都優於其他比較方法。原因可以總結如下。
-
- 首先,SUGRL綜合考慮結構信息和鄰域信息,生成兩種正嵌入及其損失函數,這可以將負嵌入推離錨嵌入更遠(即實現較大的類間變異)。
- 其次,SUGRL采用一個上界來保證正埋點和錨埋點之間的距離是有限的(即實現較小的類內變化)。
- 最后,SUGRL去掉了數據增大和鑒別器的步驟,大大減少了訓練時間。最后,SUGRL可用於輸出低維高質量的嵌入,在保持模型有效性的同時減少訓練時間。
消融實驗
UGRL考慮三種信息,即語義信息、結構信息和鄰居信息,生成兩種具有對應對比損失的正對($\mathcal{L}_{S}$和$\mathcal{L}_{N}$)。為了驗證框架中各成分的有效性,作者分別研究了結構信息、鄰居信息和上界的有效性,以及對比損失中各成分的有效性。
類內和類間距離之比的有效性。考慮到類內和類間距離的大小不同,將比率歸一化為 $[0,1]$,在 Figure 3 的數據集Photo上報告類內與類間距離的比率。首先,與本文方法相比,沒有結構或鄰居信息的方法通常輸出更大的比率(即更小的類間變異)。二是無上界的方法,與作者的方法相比,還會輸出更大的比率(即更大的類內變量)。這樣就可以驗證結構信息、鄰居信息或上界信息的有效性。
Hyper-parameter analysis
Efficiency analysis
4 Conclusion
在本文中,作者設計了一個簡單的框架,即簡單無監督圖表示學習(SUGRL),以實現有效和高效的對比學習。為了獲得有效性,作者設計了兩個三重組損失函數來探索結構信息和鄰居信息之間的互補信息,以擴大類間的變化,以及一個上限損失來減少類內的變化。為了提高算法的效率,作者設計了一種去除GCN的生成錨點和負嵌入的方法,並從之前的圖對比學習中去除數據增強和鑒別器。作者對各種真實世界的數據集進行了全面的實驗,實驗結果表明,作者的方法在准確性和可擴展性方面都優於目前最先進的方法。
知識點
補充:triplets loss 知識點
公式為:
$L=\max (d(a, p)-d(a, n)+\operatorname{margin}, 0)$
優化目標:拉近 $a$,$p$ 的距離,拉遠 $a$,$n$ 的距離
- easy triplets : $L=0$ 即 $d(a, p)+ margin <d(a, n)$,這種情況不需要優化,天然 $\mathrm{a}$,$\mathrm{p}$ 的距離很近,$ \mathrm{a} $,$\mathrm{n}$ 的距離遠;
- hard triplets: $d(a, n)<d(a, p) $,即 $a$,$p$ 的距離遠;
- semi-hard triplets : $d(a, p)<d(a, n)<d(a, p)+ margin$,即 $\mathrm{a}$,$\mathrm{n}$ 的距離靠的很近,但是有一個 $margin$ ;
修改歷史
2021-03-25 創建文章
2022-06-10 修訂文章