論文解讀(AutoSSL)《Automated Self-Supervised Learning for Graphs》

發表於2022-04-13

論文資訊

論文標題:Automated Self-Supervised Learning for Graphs
論文作者:Wei Jin, Xiaorui Liu, Xiangyu Zhao, Yao Ma, Neil Shah, Jiliang Tang
論文來源:2022, ICLR
論文地址:download 
論文程式碼:download 

Abstract

  研究現狀:

    • 不同的代理任務對不同資料集的下游任務的影響不同,表明代理任務的使用對於圖的自監督學習至關重要;
    • 當前工作大多基於單一的代理任務;

  本文工作:設計多個代理任務並使用不同的權重。

1 Introduction

  首先 Figure1 (a)(b)  給出不同的 SSL 任務在不同的資料集具有不同的下游效能的例子:

  

  從 Figure1 (a)(b) 這一觀察結果表明,SSL任務的成功在很大程度上依賴於資料集和下游任務。用單一任務學習表徵自然會導致忽略其他任務中的有用資訊。

  其次,Figure1 (c) 說明聯合使用不同的SSL任務使用不同權重的的重要性。

  那麼,對於不同的SSL任務使用不同權重所要面臨的問題:

    • 首先是搜尋空間巨大,所以本文希望能自動學習到這些權重;  
    • 其次,尋找最優任務權重通常需要下游效能的指導,這在無監督設定下是自然缺失的;  

  由於在 SSL 過程中缺乏地面真實標籤,我們提出了一種偽同質性度量來評估從特定的 SSL 任務組合中訓練出來的節點嵌入的質量。

  本文貢獻:

    • 為了彌合無監督表示和下游標籤之間的差距,我們提出了偽同質性來衡量表示的質量。此外,在給定具有高同質性的圖時,我們從理論上證明了 pseudo-homophily 最大化可以幫助最大化偽標籤與下游標籤之間互資訊的上界。
    • 基於 pseudo-homophily,我們提出了兩種有效搜尋SSL任務的策略,一種採用 evolution algorithm,另一種通過 meta-gradient descent 進行可微搜尋。Autossl能夠在搜尋期間調整任務的權重,如 Figure1 (d) 所示。
    • 我們通過在8個真實資料集上組合各種不同的任務來評估所提出的自動。大量的實驗表明,自動可以顯著改善單個任務在節點聚類和節點分類方面的效能(例如,在節點聚類方面的相對提高高達10.0%)。

2 Related work

  以下內容不全,單純是我存在的知識欠缺部分。

  • Self-Supervised Learning in GNNs
    • 具體來說,這些SSL方法構造了一個預定義的代理任務,為未標記的節點/圖分配偽標籤,然後在設計的代理任務上訓練模型來學習表示。以對比學習為例,基於同質性假設,相似性越高認為標籤一致(算是偽標籤),通過最大化互資訊下界的損失函式,來指導模型訓練; 
  • Multi-Task Self-Supervised Learning
    • 本文工作可以被認為是這種型別;
  • Automated Loss Function Search
    • 無基於無監督條件下,損失函式組合的設計並沒有被過多的研究;

3 Method

  該節將介紹本文提出的框架:automated self-supervised task search(AutoSSL)。

  給定一個圖 $\mathcal{G}$,一個 GNN 編碼器 $f_{\theta}(\cdot)$ 和一組 $n$個自監督損失$ \left\{\ell_{1}, \ell_{2}, \ldots, \ell_{n}\right\} $,我們的目標是學習一組損失權重 $\left\{\lambda_{1}, \lambda_{2}, \ldots, \lambda_{n}\right\} $,這樣使用加權損失組合 $\sum_{i=1}^{n} \lambda_{i} \ell_{i}$ 訓練的 $f_{\theta}(\cdot)$ 可以從給定的圖資料中提取有意義的特徵。關鍵的挑戰是如何從數學上定義“有意義的特徵”。如果我們可以訪問下游任務的標籤,我們就可以將“有意義的特性”定義為可以在給定的下游任務上具有高效能的特性(節點嵌入)。然後,我們可以簡單地採用下游效能作為優化目標,並將自動自監督任務搜尋的問題表述如下:

    $\underset{\lambda_{1}, \cdots, \lambda_{n}}{\text{min}}\mathcal{H}\left(f_{\theta^{*}}(\mathcal{G})\right), \quad\quad \text { s.t. } \theta^{*}=\arg \underset{\theta}{\text{min}} \mathcal{L}\left(f_{\theta},\left\{\lambda_{i}\right\},\left\{\ell_{i}\right\}\right)=\arg \underset{\theta}{\text{min}} \sum\limits _{i=1}^{n} \lambda_{i} \ell_{i}\left(f_{\theta}(\mathcal{G})\right) \quad\quad\quad(1)$

  其中,$\mathcal{H}$  表示所獲得的節點嵌入的質量度量,它可以是任何評估下游效能的度量,如節點分類任務的交叉熵損失。然而,在自監督設定下,我們無法訪問標記資料,因此不能使用下游效能來衡量嵌入質量。相反,我們需要一個無監督的質量度量 $\mathcal{H}$  來評估所獲得的嵌入的質量。簡而言之,自動化自監督學習的一個挑戰是:如何在不訪問下游任務的標籤資訊的情況下構建自動化任務搜尋的目標。

3.1 Pseudo-homophily

  Definition 1 (Homophily). The homophily of a graph $G$ with node label vector $y$ is given by

    $h(\mathcal{G}, y)=\frac{1}{|\mathcal{E}|} \sum\limits _{\left(v_{1}, v_{2}\right) \in \mathcal{E}} \mathbb{1}\left(y_{v_{1}}=y_{v_{2}}\right)\quad\quad\quad(2)$

  where $y_{v_{i}}$  indicates node $v_{i} $ 's label and $\mathbb{1}(\cdot) $ is the indicator function. 

  不同資料集同質性計算:

  

  如前所述,在 SSL 的任務中,真實標籤是不可用的。基於 DeepCluster(Caronetal.,2018),我們使用學習特徵的聚類分配作為偽標籤來訓練神經網路,我們建議基於聚類分配來計算同質性,我們稱之為偽同質性(pseudo-homophily)。具體來說,首先對得到的節點嵌入進行 $\text{k-means}$ 聚類,得到 $k$ 個聚類。然後將聚類結果作為偽標籤,基於$\text{Eq.2}$進行同質性計算 。

理論分析

  在這項工作中,我們提出通過最大化偽同質性來實現自我監督的任務搜尋。為了理解它的合理性,我們發展了以下定理來證明偽同質性最大化與偽標籤與真實標籤之間的互資訊的上界有關。

  Theorem 1:給定一張圖 $\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}$,一個偽標籤向量 $A \in   \{0,1\}^{N}$ ,一個真實標籤向量 $B \in\{0,1\}^{N} $ ,我們定義 $A$ 和 $B$ 在 $\mathcal{G}$ 上的同質性分別為 $h_{A}$ 和 $h_{B}$ 。如果 $A$ 和 $B$ 中的類分佈是平衡的且 $h_{A}<h_{B}$ ,那麼有 

  1、$A$ 和 $B$ 之間的互資訊 $M I(A, B) $ 擁有上界 $\mathcal{U}_{A, B}$ ,且

        $\mathcal{U}_{A, B}=\frac{1}{N}\left[2 \Delta \log \left(\frac{4}{N} \Delta\right)+2\left(\frac{N}{2}-\Delta\right) \log \left(\frac{4}{N}\left(\frac{N}{2}-\Delta\right)\right)\right]$ 

        其中:$\Delta=\frac{\left(h_{B}-h_{A}\right)|\mathcal{E}|}{2 d_{\max }} $ ,$d_{\max }$ 表示圖中最大的節點度。

  2、如果 $h_{A}<h_{A^{\prime}}<h_{B}$,我們有 $\mathcal{U}_{A, B}<\mathcal{U}_{A^{\prime}, B} $

  上述定理表明,偽同質性和真實同質性之間的差異越大,偽標籤和真實標籤之間的互資訊的上界就越小。因此,由於我們假設圖的偽同質性很高,所以最大化偽偽同質性就是最大化偽標籤和真實標籤之間的互資訊的上界。

3.2 Search algorithms

  上一節分析了最大化偽同質性的重要性,因此對於 $\text{Eq.1}$ 的優化問題,可以簡單地將 $\mathcal{H}$ 設定為負的偽同質性(negative pseudo-homophily),但是,對特定任務組合的評估涉及到模型的擬合和偽同配性的評估,這花銷是非常昂貴的。因此,SSL task 任務搜尋的另一個挑戰是如何設計一個高效的演算法。接下來,詳細介紹了本文設計的兩種搜尋策略,即 AUTOSSL-ES 和 AUTOSSL-DS。

3.2.1 AutoSSL-ES:Evolutionary strategy

  Evolution 演算法由於其設計的並行性,經常用於自動機器學習,如超引數調優。本文使用了協方差矩陣自適應進化策略(covariance matrix adaptation evolution strategy,CMA-ES),這是 state-of-theart 的連續黑盒函式優化器,用來優化組合的自監督損失。本文將這種 SSL 任務搜尋方法命名為AutoSSL-ES。

  在 CMA-ES 的每次迭代中,它從多元正態分佈中抽取一組候選解(即任務權值 $\left\{\lambda_{i}\right\}$),並在組合損失函式下訓練 GNN 編碼器。

    • 在 CMA-ES 的每次迭代中,它從多元正態分佈中抽取一組候選解(即任務權值 $\left\{\lambda_{i}\right\}$),並在組合損失函式下訓練 GNN 編碼器;
    • 然後由 $\mathcal{H}$ 評估來自訓練編碼器的嵌入;
    • 基於 $\mathcal{H}$ ,CMA-ES調整正態分佈,以給予可能產生較低 $\mathcal{H}$ 值的樣本更高的概率;

3.2.2 AutoSSL-DS:Differentiable search meta-gradient descent

  雖然上述 AutoSSL-ES 是可並行的,但搜尋成本仍然昂貴,因為它需要評估大量的候選組合,其中每個評估都涉及在大型訓練時期擬合模型。因此,希望開發基於梯度的搜尋方法來加速搜尋過程。在本小節中,我們將介紹我們提出的框架的另一種變體,AutoSSL-DS,它通過元梯度下降來執行可微搜尋。然而,偽同質性是不可微的,因為它是基於 k-means 聚類的硬聚類分配。接下來,我們將首先介紹如何使聚類過程成為可微搜尋,然後介紹如何執行可微搜尋。

Soft Clustering

  雖然 k-means 聚類將資料樣本的 hard assignments 給聚類,但它可以看作是高斯混合模型的一種特殊情況,它基於後驗概率進行軟賦值。給定一個具有質心 $\left\{\mathbf{c}_{1}, \mathbf{c}_{2}, \ldots, \mathbf{c}_{k}\right\}$ 和固定方差 $\sigma^{2}$ 的高斯混合模型,我們可以計算後驗概率如下:

    $p\left(\mathbf{x} \mid \mathbf{c}_{i}\right)=\frac{1}{\sqrt{2 \pi \sigma^{2}}} \exp \left(-\frac{\left\|\mathbf{x}-\mathbf{c}_{i}\right\|_{2}}{2 \sigma^{2}}\right)\quad\quad\quad(3)$

  其中,$\mathrm{x}$ 是資料樣本的特徵向量,考慮一個等同的先驗:$p\left(\mathbf{c}_{1}\right)=p\left(\mathbf{c}_{2}\right)=\ldots=p\left(\mathbf{c}_{k}\right)$ ,可以計算特徵向量 $\mathrm{x}$ 屬於簇 $\mathbf{x}$ 的概率:

    $p\left(\mathbf{c}_{i} \mid \mathbf{x}\right)=\frac{p\left(\mathbf{c}_{i}\right) p\left(\mathbf{x} \mid \mathbf{c}_{i}\right)}{\sum\limits _{j}^{k} p\left(\mathbf{c}_{j}\right) p\left(\mathbf{x} \mid \mathbf{c}_{j}\right)}=\frac{\exp -\frac{\left(\mathbf{x}-\mathbf{c}_{i}\right)^{2}}{2 \sigma^{2}}}{\sum\limits_{j=1}^{k} \exp -\frac{\left(\mathbf{x}-\mathbf{c}_{j}\right)^{2}}{2 \sigma^{2}}}\quad\quad\quad(4)$

  當  $\sigma \rightarrow 0$  ,可以獲得如同  $k -means$ 的 hard assignments。計算特徵向量屬於某個簇的概率就簡化成了計算它們之間的距離。因此可以構建同質性 loss function:

    $\mathcal{H}\left(f_{\theta^{*}}(\mathcal{G})\right)=\frac{1}{k|\mathcal{E}|} \sum\limits _{i=1}^{k} \sum\limits_{\left(v_{1}, v_{2}\right) \in \mathcal{E}} \ell\left(p\left(\mathbf{c}_{i} \mid \mathbf{x}_{v_{1}}\right), p\left(\mathbf{c}_{i} \mid \mathbf{x}_{v_{2}}\right)\right)\quad\quad\quad(5)$

  $\ell $ 用於度量兩個輸入之間的差異,也就是在計算圖中相鄰的節點之間的標籤分佈差異,這是一個 soft assignments,因此可以計算  $\mathcal{H}$  相對於編碼器引數  $\theta$  的梯度。

  演算法如下:

  

Search via Meta Gradient Descent

    $\underset{\lambda_{1}, \cdots, \lambda_{n}}{\text{min}}\mathcal{H}\left(f_{\theta^{*}}(\mathcal{G})\right), \quad\quad \text { s.t. } \theta^{*}=\arg \underset{\theta}{\text{min}} \mathcal{L}\left(f_{\theta},\left\{\lambda_{i}\right\},\left\{\ell_{i}\right\}\right)=\arg \underset{\theta}{\text{min}} \sum\limits _{i=1}^{n} \lambda_{i} \ell_{i}\left(f_{\theta}(\mathcal{G})\right) \quad\quad\quad(1)$

  這個優化問題是二層決策(bilevel)問題,求解的一般方式是通過梯度下降演算法交替地優化內部和外部問題。然而,由於$\mathcal{H}$與  ${\lambda_i}$ 沒有直接關係,不能對 $\text{Eq.1}$ 中的外部問題進行梯度下降。這個問題可以使用元梯度,即梯度相對於超引數,它在解決元學習中的 bilevel 問題中得到了廣泛的應用。為了獲得元梯度,需要通過神經網路的學習階段進行反向傳播。具體地說,$\mathcal{H}$相對於 ${\lambda_i}$ 的元梯度為:

    $\nabla_{\left\{\lambda_{i}\right\}}^{\text {meta }}:=\nabla_{\left\{\lambda_{i}\right\}} \mathcal{H}\left(f_{\theta^{*}}(G)\right) \quad \text { s.t. } \theta^{*}=\operatorname{opt}_{\theta}\left(\mathcal{L}\left(f_{\theta},\left\{\lambda_{i}, \ell_{i}\right\}\right)\right)\quad\quad\quad(6)$

  其中,$opt_{\theta }$ 表示內部獲得 $\theta^{*}$ 的優化函式,通常是多步梯度下降。如將 $opt_{\theta }$ 視為 $T+1$ 步的梯度下降,學習率為$\epsilon$:

    $\theta_{t+1}=\theta_{t}-\epsilon \nabla_{\theta_{t}} \mathcal{L}\left(f_{\theta_{t}},\left\{\lambda_{i}, \ell_{i}\right\}\right)\quad\quad\quad(7)$

  通過展開訓練過程,可以將元梯度表示為

    $\nabla_{\left\{\lambda_{i}\right\}}^{\text {meta }}:=\nabla_{\left\{\lambda_{i}\right\}} \mathcal{H}\left(f_{\theta_{T}}(G)\right)=\nabla_{f_{\theta_{T}}} \mathcal{H}\left(f_{\theta_{T}}(G)\right) \cdot\left[\nabla_{\left\{\lambda_{i}\right\}} f_{\theta_{T}}(G)+\nabla_{\theta_{T}} f_{\theta_{T}}(G) \nabla_{\left\{\lambda_{i}\right\}} \theta_{T}\right]\quad\quad\quad(8)$

  其中, 

    $\nabla_{\left\{\lambda_{i}\right\}} \theta_{T}=\nabla_{\left\{\lambda_{i}\right\}} \theta_{T-1}-\epsilon \nabla_{\left\{\lambda_{i}\right\}} \nabla_{\theta_{T-1}} \mathcal{L}\left(f_{\theta_{T-1}},\left\{\lambda_{i}, \ell_{i}\right\}\right)$

  由於 $\nabla_{\left\{\lambda_{i}\right\}} f_{\theta_{T}}(G)=0$,因此:

    $\nabla_{\left\{\lambda_{i}\right\}}^{\text {meta }}:=\nabla_{\left\{\lambda_{i}\right\}} \mathcal{H}\left(f_{\theta_{T}}(G)\right)=\nabla_{f_{\theta_{T}}} \mathcal{H}\left(f_{\theta_{T}}(G)\right) \cdot \nabla_{\theta_{T}} f_{\theta_{T}}(G) \nabla_{\left\{\lambda_{i}\right\}} \theta_{T}\quad\quad\quad(9)$

  由 $\text{Eq.7}$,$\theta_{T-1}$  也取決於權重  $\left\{\lambda_{i}\right\}$  ,因此對權重的偏導鏈將會追溯到  $\theta_{0}$  ,通過展開所有的內部優化步驟,獲得了元梯度  $\nabla_{\left\{\lambda_{i}\right\}}^{\mathrm{meta}}$  ,使用這個實現了 $ \left\{\lambda_{i}\right\}$  的梯度下降優化:

  演算法如下:

  

 

4 Experiment

  Q1:與訓練個體SSL任務相比,AutoSSL 能否獲得更好的效能?
  Q2:與 AutoSSL 相比,其他無監督節點表示學習基線和有監督節點表示學習基線如何?
  Q3:我們能否觀察到 AutoSSL 的偽同質性目標與下游分類效能之間的關係?
  Q4:在自動訓練過程中,SSL任務的權重、偽同質性目標和下游效能如何演變?

4.1 performance comparison with individual tasks

  

 

4.2 Performance comparison with supervised and unsupervised baselines 

  

 

4.3 Relation between downstream performance and pseudo-homophily

  

 

4.4 Evolution of SSL task weights ,pseudo-homophily and performance

  

 

5 Conclusion 

  圖自監督學習在學習表達性節點/圖表示方面取得了巨大的成功。然而,在這項工作中,我們發現為圖設計的SSL任務在不同的資料集和下游任務上的表現有所不同。因此,組合多個SSL任務來聯合編碼多個資訊源併產生更一般化的表示是值得的。然而,在沒有訪問標記資料的情況下,它給測量SSL任務組合的質量帶來了巨大的挑戰。為了解決這個問題,我們利用圖的同質性,提出偽同質性來衡量SSL任務組合的質量。然後我們從理論上證明了最大化偽同質性有助於最大化偽標籤和地面真標籤之間互資訊的上界。在偽同質性測度的基礎上,我們開發了兩種自動框架和自動-ds來有效地搜尋任務權值。大量的實驗表明,autossl能夠通過組合各種SSL任務來產生更泛化的表示。

 

高斯混合模型  

 https://blog.csdn.net/weixin_39478524/article/details/109368216

 https://zhuanlan.zhihu.com/p/81255623

  

相關文章