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. 第3回GNN勉強会: Graph Convolutional Networks
    吉澤亜斗武
    October 6, 2020
    1 / 40

    View full-size slide

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

    View full-size slide

  3. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  11. 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

    View full-size slide

  12. Figure: 引用[1]
    12 / 40

    View full-size slide

  13. Figure: 引用[3]
    13 / 40

    View full-size slide

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

    View full-size slide

  15. 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

    View full-size slide

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

    View full-size slide

  17. Figure: 引用[4]
    17 / 40

    View full-size slide

  18. Figure: 引用[4]
    18 / 40

    View full-size slide

  19. Figure: 引用[4]
    19 / 40

    View full-size slide

  20. Figure: 引用[4]
    20 / 40

    View full-size slide

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

    View full-size slide

  22. Figure: 引用[4]
    22 / 40

    View full-size slide

  23. Figure: 引用[4]
    23 / 40

    View full-size slide

  24. Figure: 引用[4]
    24 / 40

    View full-size slide

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

    25 / 40

    View full-size slide

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

    View full-size slide

  27. Figure: 引用[6]
    27 / 40

    View full-size slide

  28. Figure: 引用[6]
    28 / 40

    View full-size slide

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

    View full-size slide

  30. 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

    View full-size slide

  31. 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

    View full-size slide

  32. 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

    View full-size slide

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

    View full-size slide

  34. Figure: 引用[8]
    34 / 40

    View full-size slide

  35. Figure: 引用[8]
    35 / 40

    View full-size slide

  36. Figure: 引用[8]
    36 / 40

    View full-size slide

  37. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  40. 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

    View full-size slide