JavaScriptを有効にしてください

【論文メモ】Graphormer: Do Transformers Really Perform Bad for Graph Representation?

 ·  ☕ 3 min read

はじめに


  • Transformerをベースとしたグラフ学習手法 (NeurIPS 2021)

  • 構成要素は三つ

    • Centrality Encoding
    • Spatial Encoding
    • Edge Encoding (in the Attention)
  • 特筆すべき点として, この手法はGINGCN, それからGraphSAGEといったGNN手法を一般化したものとなっているらしい


Do Transformers Really Perform Bad for Graph Representation?

論文メモ

  • 構成要素1. Centrality Encoding
    • モチベーション
      • Node Centrality, つまりノードがどれほど別のノードとつながっているかはノードが如何に重要かを示しており, とても有益となり得るので, Encodeしたい
      • 例えばTwitterにおいて, 有名人はフォローが少なくてフォロワーが多い→ノードの次数は直感的にも重要
    • どうするの?
      • ノードの埋め込み表現 hi(0)について
        hi(0)=xi+zdeg(vi)+zdeg(vi)++
      • ただし, 入次数と出次数をそれぞれ, deg,deg+とする
      • 最初だけ( hi(0))なので計算コストもそれほどかからない
      • z,z+Rdは学習可能パラメタとなっていて, Centralityの埋め込みを行う
      • ただし無向グラフなら, deg,deg+を一つのパラメタ degとしても良い

  • 構成要素2. Spatial Encoding
    • モチベーション
      • Transformerの強さは受容野の広さだが, 一方でPositional Encodingが必要
      • どうにかGlobal-Attentionのまま位置情報を保存する形の写像がほしい
      • GNNは隣接ノードしか見ない(AGGREGATE)なので, GNNよりも広い受容野を獲得できる
    • どうするの?
      • ノード間の関係を ϕ(vi,vj)と記述し, QueryとKeyの内積=Attentionを以下のように変更
        Aij=(hiWQ)(hjWK)d+bϕ(vi,vj)
      • Attention自体を修正している点に注意
      • 本論文では ϕ(vi,vj)を最短経路距離(SPD)とする
      • bϕ(vi,vj)は学習可能パラメタ (スカラ)
      • これにより, Attentionを ϕ()で調整できる
      • 例えば ϕ()に対して bϕが単調減少ならば, より周囲にAttentionを掛ける=隣接周囲を注視するようになる

  • 構成要素3. Edge Encoding

    • モチベーション
      • エッジの情報はもちろん重要. たとえば分子の解析などではエッジに結合情報が存在する
      • なので, エッジ eEの特徴量 xeも埋め込みたい
    • どうするの?
      • 最短経路をエッジ情報として埋め込む
      • →最短経路パス SPi,j=(e1,e2,,en)について, Attentioncijを追加
        Aij=(hiWQ)(hjWK)d+bϕ(vi,vj)+cij
      • ただし, xenを最短パス内のエッジ enにおける特徴量として
        cij=1Nn=1Nxen(wnE)
  • その他

    • CLSトークン的な感じでVNodeトークンを追加
      • こいつはノードでもあって, 全てのノードとつながっている超頂点を成す
    • 1-WL testで識別できないグラフでも, SPDを使えば識別可


Supplementary Material: https://openreview.net/attachment?id=OeWooOxFwDa&name=supplementary_material

共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web