論文解讀(Graphormer)《Do Transformers Really Perform Bad for Graph Representation?》

發表於2022-04-30

論文資訊

論文標題:Do Transformers Really Perform Bad for Graph Representation?
論文作者:Chengxuan Ying, Tianle Cai, Shengjie Luo, Shuxin Zheng, Guolin Ke, Di He, Yanming Shen, Tie-Yan Liu
論文來源:2021, NeurIPS
論文地址:download 
論文程式碼:download

1 Introduction

   創新點:將 Transfomer 用於圖表示領域。

    • 首先,我們提出了中心性編碼(Centrality Encoding)來捕獲圖中節點的重要性;
    • 其次,我們提出了一種新的空間編碼(Spatial Encoding)來捕獲節點之間的結構關係;

2 Method

預備知識:

  Transformer 兩個重要模組:

    • a self-attention module
    • a position-wise feed-forward network (FFN)

  設 $H=\left[h_{1}^{\top}, \cdots, h_{n}^{\top}\right]^{\top} \in \mathbb{R}^{n \times d}$ 表示自注意模組的輸入,其中 $d$ 是隱藏維數,$h_{i} \in \mathbb{R}^{1 \times d}$ 。輸入 $H$ 由三個矩陣 $W_{Q} \in \mathbb{R}^{d \times d_{K}}$、$W_{K} \in \mathbb{R}^{d \times d_{K}}$ 、  $W_{V} \in \mathbb{R}^{d \times d_{V}} $ 投影到相應的表示形式 $Q$、$K$、$V$。自注意(self-attention)的計算:

    $Q=H W_{Q}, \quad K=H W_{K}, \quad V=H W_{V} \quad\quad\quad(3)$

    $A=\frac{Q K^{\top}}{\sqrt{d_{K}}}, \quad \operatorname{Attn}(H)=\operatorname{softmax}(A) V \quad\quad\quad(4)$

  其中,$A$ 是一個捕獲 queries 和 keys 之間的相似性的矩陣。

  為了便於說明,我們考慮了單頭自注意,並假設 $d_K=d_V=d$。對多頭注意力的擴充套件是標準的和直接的,為了簡單起見,我們省略了偏差項

2.1 Structural Encodings in Graphormer

  如上述所述,在 Transformer 中使用圖結構資訊很重要,為此在Graphormer  提出了三種簡單而有效的編碼器設計。如 Figure 1 所示。

   

2.1.1 Centrality Encoding

  在 $\text{Eq.4}$ 中,根據節點間的語義相關性計算注意力分佈。然而,節點中心性(衡量節點在圖中的重要性),可以認為是圖中強烈的訊號。例如,擁有大量粉絲的名人是預測社交網路發展趨勢的重要因素。這些資訊在當前的注意力計算中被忽略了,我們認為它應該是 Transformer  模型的一個有價值的訊號。

  在 Graphormer 中,使用度中心性,作為神經網路的附加訊號。具體地說,開發了一箇中心性編碼方法,它根據每個節點的度和出度給每個節點分配兩個實值嵌入向量。當中心性編碼應用於每個節點時,只需將其新增到節點特徵中作為輸入。

    $h_{i}^{(0)}=x_{i}+z_{\operatorname{deg}^{-}\left(v_{i}\right)}^{-}+z_{\operatorname{deg}^{+}\left(v_{i}\right)}^{+} \quad\quad\quad(5)$

  其中,$z^{-}, z^{+} \in \mathbb{R}^{d}$ 分別是由入度 $deg  { }^{-}\left(v_{i}\right)$ 和 出度 $\operatorname{deg}^{+}\left(v_{i}\right)$ 指定的可學習的嵌入向量。對於無向圖,$deg  { }^{-}\left(v_{i}\right)$ 和 $\operatorname{deg}^{+}\left(v_{i}\right)$ 可以統一為 $\operatorname{deg}\left(v_{i}\right)$。通過在輸入中使用中心性編碼,softmax attention 可以捕獲 queries 和 keys  中的節點重要性訊號。因此,該模型可以同時捕獲注意機制中的語義相關性和節點的重要性。

2.1.2 Spatial Encoding

  在每個 Transformer 層中,每個 token 都可以關注任何位置的資訊,但需要解決的問題是空間位置資訊表示(位置依賴資訊)。對於順序資料我們使用一個位置嵌入向量,對 Tramsformer 層中的任何兩個位置的相對距離進行編碼。

  但是對於圖來說,節點順序不是按序列排放的,它存在於多維空間,通過邊連線。為了對圖空間位置資訊進行編碼,本文提出了一種新的 Spatial Encoding 方法。

  具體地說,對於任何圖 $G$,定義函式 $\phi\left(v_{i}, v_{j}\right): V \times V \rightarrow \mathbb{R}$ 測量 $v_{i}$ 和 $v_{j}$ 之間的空間關係。函式 $\phi$ 可通過圖中節點之間的連通性來定義。在本文中,對於連通節點  $v_{i}$  和  $v_{j}$ , $\phi\left(v_{i}, v_{j}\right)$ 定義為 $v_{i}$  和  $v_{j}$  之間的最短路徑(SPD)的距離。如果 $v_{i}$  和  $v_{j}$ 不連通,將 $\phi$ 設定為一個特殊的值,即 $-1$。本文對給每對連通節點分配一個可學習的標量,將作為自注意模組中的一個偏差項。 $ A_{i j}$ 表示為 Query-Key 乘積矩陣 $A$ 的 $(i,j)$ 元素,因此有:

    $A_{i j}=\frac{\left(h_{i} W_{Q}\right)\left(h_{j} W_{K}\right)^{T}}{\sqrt{d}}+b_{\phi\left(v_{i}, v_{j}\right)} \quad\quad\quad(6)$

  $b_{\phi\left(v_{i}, v_{j}\right)}$ 是一個由 $\phi\left(v_{i}, v_{j}\right)$ 索引的可學習的標量,並在所有層中共享。

  對比於 GNNs,好處是:

    • 首先,GNNs 的感受域侷限於鄰居,而在 $Eq.6$ 中所涉及的範圍是全域性資訊,每個節點可以關注其他節點;
    • 其次,通過使用 $b_{\phi\left(v_{i}, v_{j}\right)}$ ,單個 Transformer 層中的每個節點都可以根據圖的結構資訊自適應地關注所有其他節點。如果 $b_{\phi\left(v_{i}, v_{j}\right)}$ 是相對於 $\phi\left(v_{i}, v_{j}\right)$ 的遞減函式,對於每個節點,模型可能會更關注其附近的節點,而對遠離它較少的節點;

2.1.3 Edge Encoding in the Attention

  類比於原子之間的鍵,邊之間的關係也很重要,將邊編碼與節點特徵一起放入網路中是必不可少的。

  以往的邊編碼方法有兩種形式:

    • 將邊特徵新增到相關節點的特徵中;
    • 對於每個節點,其關聯邊的特徵將與聚合中的節點特徵一起使用;  

  然而,這種使用邊特徵的方法只將邊資訊傳播到相關的節點,這可能不是利用邊緣資訊表示整個圖的有效方法。

  為了更好的將邊特徵編碼到注意力層,本文提出了一種新的邊編碼方式。

  注意機制需要估計每個節點對 $\left(v_{i}, v_{j}\right)$ 的相關性,對於每個有序節點對 $\left(v_{i}, v_{j}\right)$ ,我們找到了從 $v_{i}$ 到 $v_{j}$ 的最短路徑 $\mathrm{SP}_{i j}=\left(e_{1}, e_{2}, \ldots, e_{N}\right)$ ,並計算了邊特徵的點積和沿路徑的可學習嵌入的平均值。所提出的邊編碼通過一個偏差項將邊特徵合併到注意模組中。

  具體地說,我們修改了 $Eq.3$ 中 $A$ 的 $(i,j)$ 元素,通過加入邊編碼 $c_{i j}$ ,$A$ 進一步表示為:

    $A_{i j}=\frac{\left(h_{i} W_{Q}\right)\left(h_{j} W_{K}\right)^{T}}{\sqrt{d}}+b_{\phi\left(v_{i}, v_{j}\right)}+c_{i j}, \;\;\;\; \text {    where }\;\;\;\; c_{i j}=\frac{1}{N} \sum\limits_{n=1}^{N} x_{e_{n}}\left(w_{n}^{E}\right)^{T} \quad\quad\quad(7)$

  其中 $x_{e_{n}}$ 為 $\mathrm{SP}_{i j}$, $w_{n}^{E} \in \mathbb{R}^{d_{E}}$ 中第 $n$ 條邊的特徵,$w_{n}^{E} \in \mathbb{R}^{d_{E}}$ 為第 $n$ 個權值向量,$d_{E}$ 為邊特徵的維數。

2.2 Implementation Details of Graphormer

Graphormer Layer

  Graphormer 是建立在經典 Transformer 編碼器上。此外,在多頭自注意(MHA)和前饋塊(FFN)之前應用層歸一化(LN)。對於 FFN 子層,將輸入、輸出和隱藏層的維數設定為與 $d$ 相同的維數。我們正式地描述了 Graphormer 層如下:

    $h^{\prime}(l) =\operatorname{MHA}\left(\mathbf{L N}\left(h^{(l-1)}\right)\right)+h^{(l-1)} \quad\quad\quad(8)$

    $h^{(l)} =\operatorname{FFN}\left(\operatorname{LN}\left(h^{\prime}(l)\right)\right)+h^{\prime}(l) \quad\quad\quad(9)$

Special Node

  如前一節所述,我們提出了各種圖池函式來表示圖的嵌入。在 Graphormer 中,在圖中新增了一個名為 $[VNode]$ 的特殊節點,並分別在 $[VNode]$ 和每個節點之間分別進行連線。在 AGGREGATE-COMBINE 步驟中,$[VNode]$  的表示已被更新為圖中的普通節點,而整個圖 $h_G$ 的表示將是最後一層 $[VNode]$ 的節點特徵。在 $BERT$ 模型中,有一個類似的標記,即 $[CLS]$,它是每個序列開頭附加的特殊標記,用於表示下游任務的序列級特徵。雖然 $[VNode]$ 連線到圖中的所有其他節點,這意味著對於任何 $\phi\left([\mathrm{VNode}], v_{j}\right)$ 和 $\phi\left(v_{i}\right. , [VNode]  )$,最短路徑的距離為 $1$,但該連線不是物理的。為了區分物理和虛擬的連線,受[25]的啟發,我們將 $b_{\phi\left([\text { VNode }], v_{j}\right)}$ 和 $b_{\phi\left(v_{i},[\text { VNode }]\right)}$ 的所有空間編碼重置為一個獨特的可學習標量。

2.3 How Powerful is Graphormer?

  Graphormer 可以表示 AGGREGATE 和 COMBINE 操作。

  Fact 1. By choosing proper weights and distance function  $\phi$ , the Graphormer layer can represent AGGREGATE and COMBINE steps of popular GNN models such as GIN, GCN, GraphSAGE.

  該事實說明:

    • 1) Spatial encoding 使自注意模組能夠區分節點 $v_{i}$ 的鄰域集 $\mathcal{N}\left(v_{i}\right)$,從而使 softmax 函式能夠計算出 $\mathcal{N}\left(v_{i}\right)$ 上的平均統計量;
    • 2) 知道一個節點的程度,鄰居的平均值可以轉換為鄰居的和;
    • 3) 通過 multiple heads 和 FFN, $v_{i}$ 和 $\mathcal{N}\left(v_{i}\right)$ 的表示可以分別處理,然後再組合在一起;

  此外,進一步表明,通過使用空間編碼,訊號訊號器可以超越經典的資訊傳遞 GNNs,其表達能力不超過 1-WL 測試。

Connection between Self-attention and Virtual Node

  除了比流行的 GNN 具有更好的表達性外,我們還發現在使用自注意和虛擬節點啟發式之間存在著有趣的聯絡。如 OGB[22] 的排行榜所示,虛擬節點技巧在圖中增加了連線到現有圖中的所有節點,可以顯著提高現有 GNN 的效能。從概念上講,虛擬節點的好處是它可以聚合整個圖的資訊(比如 READOUT ),然後將其傳播到每個節點。然而,在圖中簡單地新增一個超節點可能會導致資訊傳播的意外過度平滑。相反,我們發現這種圖級的聚合和傳播操作可以通過普通的自注意自然地實現,而不需要額外的編碼。具體地說,我們可以證明以下事實:

  Fact 2. By choosing proper weights, every node representation of the output of a Graphormer layer without additional encodings can represent MEAN READOUT functions.

  這一事實利用了自我注意,每個節點可以注意所有其他節點。因此,它可以模擬圖級讀出(READOUT)操作,從整個圖中聚合資訊。除了理論上的論證外,我們還發現 Graphormer 沒有遇到過度平滑的問題,這使得改進具有可擴充套件性。這一事實也激勵了我們為圖形讀出引入一個特殊的節點(見上一小節)。

3 Experiment

  

  

4 Conclusion

  我們探討了變壓器在圖表示中的直接應用。通過三種新的圖結構編碼,所提出的製圖器在廣泛的流行的基準資料集上工作得非常好。雖然這些初步結果令人鼓舞,但仍存在許多挑戰。例如,自注意模組的二次複雜度限制了隱指器在大圖上的應用。因此,今後發展高效磨粉劑是必要的。通過在特定的圖資料集上利用領域知識驅動的編碼,可以預期提高效能。最後,提出了一種適用的圖取樣策略來提取節點表示。我們把他們留給以後的工作吧。

 

相關文章