Slide 1

Slide 1 text

第3回GNN勉強会: Graph Convolutional Networks 吉澤亜斗武 October 6, 2020 1 / 40

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

畳み込み?なにそれ?おいしいの? Figure: 引用[1] 4 / 40

Slide 5

Slide 5 text

畳み込みとは なんかスライドさせながら掛けて足す,みんな嫌いなアイツ (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

Slide 6

Slide 6 text

入力Iとフィルター(カーネル)Kを畳み込んで出力Oi,j を計算してみる. Oi,j = m n Km,n Ii−m,j−n (1.2.4) Figure: 引用[2] 6 / 40

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

お気づき頂けただろうか? カーネルの座標軸が反転していることを… Figure: 引用[2] 8 / 40

Slide 9

Slide 9 text

座標軸が反転してようが,していまいが,入力にカーネルを掛けて足すこ とには変わりないので,本質的には何も問題がない. が,正直気持ち悪い. 同じ座標軸で,同じ位置のカーネルを掛けたいと思いませんか? 思いますよね? 少なくとも僕はそう思います. みんな,そうやっていますよ. やっていないのはあなただけです. 9 / 40

Slide 10

Slide 10 text

相互相関関数 用語 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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Figure: 引用[1] 12 / 40

Slide 13

Slide 13 text

Figure: 引用[3] 13 / 40

Slide 14

Slide 14 text

まとめ 畳み込み層の正体 畳み込み層では畳み込み相互相関が行なわれ,カーネルとの類似度を計算す ることで,特徴量を生成することができる. カーネルは実際には複数用意され,それらをチャンネルといい,様々な特徴 量を生成する. CNNではConvolution層の後に(Max-)Pooling層を適用して,特徴量を取り出すこ とができる. 特に画像処理では輪郭抽出,画像認識において重要である. 14 / 40

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

GCNの目的 GCNの目的(タスク)は大きく3つに分類できる. Graph-centric (Graph classification) Node-centric (Entity classification) Link prediction 16 / 40

Slide 17

Slide 17 text

Figure: 引用[4] 17 / 40

Slide 18

Slide 18 text

Figure: 引用[4] 18 / 40

Slide 19

Slide 19 text

Figure: 引用[4] 19 / 40

Slide 20

Slide 20 text

Figure: 引用[4] 20 / 40

Slide 21

Slide 21 text

Graph Convolutionalの基本 Figure: 引用[4] 21 / 40

Slide 22

Slide 22 text

Figure: 引用[4] 22 / 40

Slide 23

Slide 23 text

Figure: 引用[4] 23 / 40

Slide 24

Slide 24 text

Figure: 引用[4] 24 / 40

Slide 25

Slide 25 text

2種類のGCN Spatial Method 周辺ノードの情報を同じフィルター(カーネル)による処理で畳 み込む手法. Spectral Method フーリエ級数展開によるスペクトル分解(固有値分解)を用いた クラスタリングを基にした手法.固有値分解が必要のため処理が 重い(詳しくは知らない…) 現在はSpectral MethodはSpatial Methodで近似できるとされ,処理が軽い Spatial Methodに合流された(参考[5]) . 25 / 40

Slide 26

Slide 26 text

Graph Convolutionalの中身 Figure: 引用[6] 26 / 40

Slide 27

Slide 27 text

Figure: 引用[6] 27 / 40

Slide 28

Slide 28 text

Figure: 引用[6] 28 / 40

Slide 29

Slide 29 text

(Relational-) GCN Figure: 引用[7] 29 / 40

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Entity classification ラベルがついたノード集合をY,エントリー(クラス)数をK,ノードiが エントリーkであるラベルをtik ∈ {0, 1},最終層Lをsoftmax層として,その出 力をh(L) ik とすると,損失関数Lを以下のような交差エントロピーと設定する. L = − i∈Y K k=1 tik ln h(L) ik (3.1.1) すべてのノードにラベルがなくてもよく,半教師あり学習が可能である. 32 / 40

Slide 33

Slide 33 text

Link prediction subjectノードsとobjectノードoとの関係rを表すエッジ(s, r, o)のスコア関 数f(s, r, o)を求める必要がある. DistMultモデルをデコーダーとして用いることでf(s, r, o)を求める. 33 / 40

Slide 34

Slide 34 text

Figure: 引用[8] 34 / 40

Slide 35

Slide 35 text

Figure: 引用[8] 35 / 40

Slide 36

Slide 36 text

Figure: 引用[8] 36 / 40

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

実験結果 直接的なエッジを多く含むデータセットでは有効な一方で,大局的なハブ ノードを持つデータセットでは劣っている(Entity classification). Figure: 引用[7] 38 / 40

Slide 39

Slide 39 text

DistMultへの依存が大きいため,DistMultが従来手法より劣っている場合は 提案手法も劣っている(Link prediction). Figure: 引用[7] 39 / 40

Slide 40

Slide 40 text

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