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

Graph Convolutional Networks

Avatar for Atom Atom
October 09, 2020

Graph Convolutional Networks

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

Avatar for Atom

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