Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Journal club] Graph Attention Networks

[Journal club] Graph Attention Networks

More Decks by Semantic Machine Intelligence Lab., Keio Univ.

Other Decks in Technology

Transcript

  1. Petar Veličković(University of Cambridge), Guillem Cucurull(Centre de Visio per Computador),

    Arantxa Casanova(Centre de Visio per Computador), Adriana Romero(Montreal Institute for Learning Algorithms), Pietro Liò(University of Cambridge), Yoshua Bengio(Montreal Institute for Learning Algorithms) Graph Attention Networks Veličković, Petar, et al. "Graph attention networks." ICLR 2018. 慶應義塾大学 杉浦孔明研究室 畑中駿平
  2. 3 • GNN において Edge の情報を Attention の重みとして表現しノードを更新する手法 Graph Attention

    Network ( GAT ) の提案 − 並列化処理が可能となり,Edge を含む計算速度の低下を防止 − Node 間の重要度を変えられることによる解釈性の向上が期待 − 既存手法よりも高いスコアを獲得 概要 1. GNN とは・GNNの歴史 2. GNN の処理内容について (Message Passing Neural Network ) 3. GAT の新規性
  3. 4 • CNN は 画像分類・Semantic Segmentation・機械翻訳などのタスクに幅広く適応 − これらのデータは Grid 構造としてのデータ表現

    • Grid 構造として扱うことができないデータ − 例:交通網・Social Network − Node・Edge 数は一定ではない − グラフとしてデータ表現を獲得する必要 → GNN の登場 背景:Grid 構造では扱えない問題をグラフとして扱う
  4. 5 Graph ML のタスクとして主に3つ Graph focus Node focus Edge focus

    化合物の安全予測 所属チームの予測 リンク予測
  5. 6 GNN の歴史:2005年に登場・2018年は大きく発展 [1] Gori+, 2005 [2] Li+, 2016 [3]

    Bruna+, 2014 [4] Defferrard+, 2016 [5] Kipf+, 2017 [6] Gilmer+, 2017 [7] Monti+, 2017 [8] Hamilton+, 2017 Graph Neural Network [1] 2005 2014 Spectral network [3] 2016 ChebNets [4] Graph Convolution Network [5] 2017 2016 Gated Graph Neural Network [2] Neural Message Passing [6] 2017 MoNet [7] 2018 Graph Attention Network Graph SAGE [8] Spectral Spatial
  6. 7 GNN の歴史:GNN の登場 ( 2005年 ) [1] Gori+, 2005

    [2] Li+, 2016 [3] Bruna+, 2014 [4] Defferrard+, 2016 [5] Kipf+, 2017 [6] Gilmer+, 2017 [7] Monti+, 2017 [8] Hamilton+, 2017 Graph Neural Network [1] 2005 2014 Spectral network [3] 2016 ChebNets [4] Graph Convolution Network [5] 2017 2016 Gated Graph Neural Network [2] Neural Message Passing [6] 2017 MoNet [7] 2018 Graph Attention Network Graph SAGE [8] Spectral Spatial Graph Neural Network ( Gori+ 2005 ) • 各ノードの更新には自身と隣接ノードを使用 • グラフをニューラルネットワークとして扱う
  7. 8 GNN の歴史:Graph に CNN を導入 ( 2017年 ) [1]

    Gori+, 2005 [2] Li+, 2016 [3] Bruna+, 2014 [4] Defferrard+, 2016 [5] Kipf+, 2017 [6] Gilmer+, 2017 [7] Monti+, 2017 [8] Hamilton+, 2017 Graph Neural Network [1] 2005 2014 Spectral network [3] 2016 ChebNets [4] Graph Convolution Network [5] 2017 2016 Gated Graph Neural Network [2] Neural Message Passing [6] 2017 MoNet [7] 2018 Graph Attention Network Graph SAGE [8] Spectral Spatial Graph Convolution Network [ Kipf+, 2017 ]
  8. 9 GNN の歴史:Message Passing フレームワーク ( 2017年 ) [1] Gori+,

    2005 [2] Li+, 2016 [3] Bruna+, 2014 [4] Defferrard+, 2016 [5] Kipf+, 2017 [6] Gilmer+, 2017 [7] Monti+, 2017 [8] Hamilton+, 2017 Graph Neural Network [1] 2005 2014 Spectral network [3] 2016 ChebNets [4] Graph Convolution Network [5] 2017 2016 Gated Graph Neural Network [2] Neural Message Passing [6] 2017 MoNet [7] 2018 Graph Attention Network Graph SAGE [8] Spectral Spatial Neural Message Passing (Gilmer+, 2017 ) • Message Passing というフレームワークで 計算の高速化と汎用性を両立 − MPNN − Message:特徴量変換 − Passing:頂点更新 • 以降の GNN のフレームワークとして確立
  9. 10 MPNNの処理 ( 1/4 ):更新の全体像 ( AGGREGATE・UPDATE ) 3 2

    1 5 4 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 3 2 1 5 4 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … ℎ1 𝑡 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝒙𝟏 𝒙𝟐 𝒙𝟑 … 𝐴𝐺𝐺𝑅𝐸𝐺𝐴𝑇𝐸 𝑈𝑃𝐷𝐴𝑇𝐸 ℎ2 𝑡 ℎ3 𝑡 ℎ4 𝑡 ℎ1 𝑡+1
  10. 11 • A set of node features:𝐡 = ℎ1 ,

    ℎ2 , … , ℎ𝑁 , ℎ𝑖 ∈ ℝ𝐹 • A new set of node features:𝐡′ = ℎ1 ′, ℎ2 ′, … , ℎ𝑁 ′ , ℎ𝑖 ∈ ℝ𝐹′ • 隣接行列は 自己 Loop を含むものとする MPNNの処理 ( 2/4 ):グラフの初期設定 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 0 1 1 ℎ1 ℎ5 … Features per node 𝐡 隣接行列 (adjacency matrix ) [5,4] [5,5] 3 2 1 5 4
  11. 12 • 学習可能な重み行列 ( 𝑤𝑒𝑖𝑔ℎ𝑡 𝑚𝑎𝑡𝑟𝑖𝑥 ) 𝐖 ∈ ℝ𝐹×𝐹′

    • 重み行列 𝐖 をℎ𝑖 と掛け合わせる (ℎ𝑖 ∗ = 𝐖ℎ𝑖 ) MPNNの処理 ( 3/4 ):重み行列と掛け合わせる Features per node 𝐡∗ [5,6] ℎ1 ∗ ℎ5 ∗ … ℎ1 ℎ5 … Features per node 𝐡 [5,4]
  12. 13 • 隣接行列からとなりあう Node の特徴量 ℎ𝑗 ∗ = 𝐖ℎ𝑗 を加算して

    node を更新する • すべての Node に対して同様の更新を行い,中間層の node 特徴量を得る MPNNの処理 ( 4/4 ):ノードの特徴量の更新 ( ℎ1 の場合) Features per node 𝐡∗ [5,6] ℎ1 ∗ ℎ5 ∗ … ℎ𝑖 ′ = σ ෍ 𝑗∈𝑁(𝑖) ℎ𝑗 ∗ = σ ෍ 𝑗∈𝑁(𝑖) 𝐖ℎ𝑗 Features per node 𝐡∗ [5,6] ℎ1 ′ ℎ5 ′ …
  13. 14 • 先ほどの Node の更新式 ℎ𝑖 ′ = σ σ

    𝑗∈𝑁(𝑖) ℎ𝑗 ∗ = σ σ 𝑗∈𝑁(𝑖) 𝐖ℎ𝑗 は Edge の重みが 1 • Attention の要領で Edge に重みをつけて Node を更新 − 並列処理が可能 − Node 間の重要度を変えられることによる解釈性の向上が期待 GAT の概要:Edge に重みをつける
  14. 15 𝑒𝑖𝑗 = 𝑎 𝐖ℎ𝑖 , 𝐖ℎ𝑗 , Attention 係数

    𝑎:ℝ𝐹′ × ℝ𝐹′ → ℝ GAT の手法 ( 1/3 ):𝑒𝑖𝑗 の計算 3 2 1 5 4 𝒆𝟏𝟐 𝒆𝟏𝟑 𝒆𝟏𝟒 The children play in the park.
  15. 16 𝑒𝑖𝑗 を正規化: α𝑖𝑗 = softmax 𝑒𝑖𝑗 = exp(𝑒𝑖𝑗) σ

    𝑘∈𝑁(𝑖) exp(𝑒𝑖𝑘) − 𝑎 は 1層の Feedforward Neural Network ( 重みベクトル 𝒂 ∈ ℝ2𝐹′ )と LeakyReLU からなる α𝑖𝑗 = exp LeakyReLU 𝐚𝑇 𝐖ℎ𝑖 ||𝐖ℎ𝑗 σ 𝑘∈𝑁(𝑖) exp LeakyReLU 𝐚𝑇 𝐖ℎ𝑖 ||𝐖ℎ𝑘 GAT の手法 ( 2/3 ): α𝑖𝑗 の計算 𝑒𝑖𝑗 = 𝑎 𝐖ℎ𝑖 , 𝐖ℎ𝑗
  16. 17 • α𝑖𝑗 を用いて ℎ𝑖 ′ を計算する • 上式を Multi-Head-Attention

    に拡張 − 𝐾 は head 数 − 最終層のみ平均をとる GAT の手法 ( 3/3 ): ℎ𝑖 ′ の計算
  17. 18 • Transductive タスク:「既知だがラベルが未知のノード」についてラベルを予測する − 「既知」とは,学習データ中にノードがあること • Inductive タスク:「未知のノード」に対してラベルを予測する −

    ノードはすでにグラフ内に追加されたとして,周辺ノードを得ることが可能 − Inductive タスクのほうが汎用性能が求められる 実験:3種類の Transductive と1種類の Inductive で実験
  18. 20 • GNN において Edge の情報を Attention の重みとして表現しノードを更新する手法 Graph Attention

    Network ( GAT ) の提案 − 並列化処理が可能となり,Edge を含む計算速度の低下を防止 − Node 間の重要度を変えられることによる解釈性の向上が期待 − 既存手法よりも高いスコアを獲得 まとめ