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

Graph Convolutional Networks

Atom
October 09, 2020

Graph Convolutional Networks

研究室内のGNN勉強会の資料

Atom

October 09, 2020
Tweet

More Decks by Atom

Other Decks in Technology

Transcript

  1. Contents 1 畳み込み層の正体 畳み込み?なにそれ?おいしいの? 畳み込みとは 相互相関関数 2 Graph Convolutional Networks

    (GCN) GCNの目的 Graph Convolutionalの基本 Graph Convolutionalの中身 3 論文紹介: Modeling Relational Data with Graph Convolutional Networks Entity classification Link prediction 実験結果
  2. 1 畳み込み層の正体 畳み込み?なにそれ?おいしいの? 畳み込みとは 相互相関関数 2 Graph Convolutional Networks (GCN)

    GCNの目的 Graph Convolutionalの基本 Graph Convolutionalの中身 3 論文紹介: Modeling Relational Data with Graph Convolutional Networks Entity classification Link prediction 実験結果 3 / 40
  3. 畳み込みとは なんかスライドさせながら掛けて足す,みんな嫌いなアイツ (f ∗ g)(τ) = ∞ −∞ f(t)g(τ −

    t)dt (1.2.1) 離散で考えると (f ∗ g)(τ) = t f(t)g(τ − t) (1.2.2) 2次元で考えると (f ∗ g)(i, j) = m n f(m, n)g(i − m, j − n) (1.2.3) 5 / 40
  4. O0,0 = 1 m=0 1 n=0 Km,n Ii−m,j−n (1.2.5) =

    K0,0 I0,0 + K0,1 I0,−1 + K1,0 I−1,0 + K1,1 I−1,−1 (1.2.6) Figure: 引用[2] 7 / 40
  5. 相互相関関数 用語 1.1 (相互相関関数;cross-correlation function) (f g)(τ) = ∞ −∞

    f(t)g(τ + t)dt (1.3.7) Oi,j = m n Km,n Ii+m,j+n (1.3.8) Figure: 引用[2] 10 / 40
  6. O0,0 = 1 m=0 1 n=0 Km,n Ii+m,j+n (1.3.9) =

    K0,0 I0,0 + K0,1 I0,1 + K1,0 I1,0 + K1,1 I1,1 (1.3.10) = aw + bx + ey + fz (1.3.11) Figure: 引用[2] 11 / 40
  7. 1 畳み込み層の正体 畳み込み?なにそれ?おいしいの? 畳み込みとは 相互相関関数 2 Graph Convolutional Networks (GCN)

    GCNの目的 Graph Convolutionalの基本 Graph Convolutionalの中身 3 論文紹介: Modeling Relational Data with Graph Convolutional Networks Entity classification Link prediction 実験結果 15 / 40
  8. l + 1層のノードiの状態をh(l+1) i ,活性化関数をσ,関係の集合をR,関係r下 におけるノードiの隣接ノードのインデックス集合をNr i ,正規化定数ci,r ,基 底関数の数をB,基底変換をV

    (l) b ∈ Rd(l+1)×d(l),スカラー係数a(l) rb とする. h(l+1) i = σ   r∈R j∈Nr i 1 ci,r W(l) r h(l) j + W(l) 0 h(l) i   (2.3.1) W(l) r = B b=1 a(l) rb V (l) b (2.3.2) 正規化定数はci,r = |Nr i |, r∈R |Nr i |などとすることで,隣接ノード数に依存 しないように設定することができる. W(l) r はノードiに依らずグラフ全体に適用されるフィルター(カーネル)で ある. 30 / 40
  9. 1 畳み込み層の正体 畳み込み?なにそれ?おいしいの? 畳み込みとは 相互相関関数 2 Graph Convolutional Networks (GCN)

    GCNの目的 Graph Convolutionalの基本 Graph Convolutionalの中身 3 論文紹介: Modeling Relational Data with Graph Convolutional Networks Entity classification Link prediction 実験結果 31 / 40
  10. DistMultでは各関係rに対して行列Rr ∈ Rd×dを割り当て,ei = h(L) i として f(s, r, o)

    = eT s Rr eo (3.2.2) エッジ(s, r, o)のラベルをy ∈ {0, 1},ポジティブサンプリング,ネガティブ サンプリングを含めたエッジ(s, r, o)の集合をT ,ネガティブサンプル数をω, 入力されたグラフのエッジ数を ˆ E,ロジスティックシグモイド関数をσとする と,損失関数Lを以下のような交差エントロピーと設定する. L = − 1 (1 + ω) ˆ E (s,r,o,y)∈T y log σ (f(s, r, o)) + (1 − y) log (1 − σ(f(s, r, o))) (3.2.3) 37 / 40
  11. References I [1] AIcia Solid Project. 【深層学習】畳み込み層の本当の意味、あなたは説明できますか? 【ディープラーニングの 世界 vol.

    5 】 #057. Deep Learning の世界.2020.05.20 https://www.youtube.com/watch?v=vU-JfZNBdYU&list=PLhDAH9aTfnxKXf__soUoAEOrbLAOnVHCP&index=5 [2] 田本芳文. 深層学習の畳み込み層の処理は「畳み込み」じゃなかった件.tdualのブログ.2018.05.02 http://tdual.hatenablog.com/entry/2018/05/02/113110 [3] 畳み込み演算. https://axa.biopapyrus.jp/deep-learning/cnn/convolution.html [4] 小島諒介.グラフニューラルネットワーク入門.2019.10.6 . https://www.slideshare.net/ryosuke-kojima/ss-179423718 [5] piqcy.Graph Convolutionを自然言語処理に応用する Part1.2018.8.31 . https://medium.com/programming-soda/graph-convolution%E3%82%92%E8%87%AA%E7%84%B6%E8%A8%80%E8% AA%9E%E5%87%A6%E7%90%86%E3%81%AB%E5%BF%9C%E7%94%A8%E3%81%99%E3%82%8B-part1-b792d53c4c18 [6] @tktktks10.グラフ構造を畳み込む -Graph Convolutional Networks- https://qiita.com/tktktks10/items/98d21133cf3e121676c3 [7] Michael Schlichtkrull, Thomas N. Kipf, Peter Bloem, Rianne van den Berg, IvanTitov, and Max Welling. Modeling Relational Data with Graph ConvolutionalNetworks.arXiv:1703.06103 [cs, stat], October 2017. [8] 知識グラフの埋め込みとその応用.NTTコミュニケーション科学基礎研究所 http://www.kecl.ntt.co.jp/icl/lirg/members/hayashi/files/stairs-hayashi17.pdf 40 / 40