GNN 勉強会
A Comprehensive Survey on Graph Neural Networks
坂田・森研 M1 三浦 崇寛
東京大学 技術経営戦略学専攻 坂田・森研究室2019/6/28 1
進め方
• 各週1人発表
• どういう形でも構わない(論文読み、質問会、実装etc…)
• 発表資料はGithubに格納
• https://github.com/hirotosuzuki/GnnSelfStudy
• .mdファイルでのメモなどあるとありがたいです
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 2
参考資料
• 学科同期の山田くんのKERNEL勉強会資料
• https://speakerdeck.com/roy29fuku/graph-neural-networksgai-guan
• Qiita: GNNまとめ
• https://qiita.com/shionhonda/items/d27b8f13f7e9232a4ae5
• https://qiita.com/shionhonda/items/0d747b00fe6ddaff26e2
• https://qiita.com/shionhonda/items/e11a9cf4699878723844
• Slideshare: Graph Attention Networks
• https://www.slideshare.net/takahirokubo7792/graph-attention-network
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 3
目次
• Graph
• Neural Networkの概観
• Graph Neural Networkの歴史
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 4
Graphとは
ノード(頂点)とエッジ(辺)
で 構成されるデータ構造
ノード:
エッジ:
5
Graphとは
右のグラフはこんな感じに表現
頂点集合V = {1, 2, 3, 4}
辺集合E = {{1, 2}, {1, 3}, {2, 3}, {2, 4}, {3, 4}}
グラフG = (V, E)
別の言い方で定義すると
E ⊆[V]2 を満たす
G = (V, E) の集合の組
をグラフと呼ぶ
1 2
3 4
6
いろんなGraph
向きがある ノードがmulti type
エッジがmulti typeループがあ
る 7
Graphで表現できるもの
ノード: 人(男性, 女性, …)
エッジ: 人間関係(友人, …)
8
Structured deep models: Deep learning on graphs and
beyond
karate club
Graphで表現できるもの
ノード: 原子(C, H, …)
エッジ: 結合(単結合, …)
9
Structured deep models: Deep learning on graphs and
beyond
Graphで表現できるもの
ノード: タンパク質
エッジ: PPI
https://academic.oup.com/peds/article/24/9/635/1556325
10
Structured deep models: Deep learning on graphs and
beyond
Graphで表現できるもの
ノード: エンティティ(人名, 地名, …)
エッジ: 関係(所属, 親子, …)
11
Structured deep models: Deep learning on graphs and
beyond
Graphで表現できるもの
現実の多くのデータを
グラフで表現できる!
12
Graphで解きたい課題
完璧ではないデータの欠損部分を補完したり、新しいデータを分類したり
・ノードの分類
・グラフの分類(ex. 化学物質の分類)
・リンクの予測(ノード同士が隣接か否か)
・エッジの分類
Structured deep models: Deep learning on graphs and
beyond
13
目次
• Graph
• Neural Networkの概観
• Graph Neural Networkの歴史
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 14
Neural Networkの概観
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 15
Object detection Machine tranlation Speech recognition
特徴量設計から特徴量抽出の時代へ
Neural Networkの概観
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 16
CNN
主に画像
LSTM
主に文書
Auto Encoder
画像や文書
GPUパワーの発展
アルゴリズムの開発
大規模データの蓄積
+
+
線形空間上では高度なタスクがこなせるようになってきた
Neural Networkの概観
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 17
Graphに適用させるには課題がいくつかある
ノード数不定(しかも大きい)
隣接ノード数不定 ノード同士が独立ではなく
関係を持つリンクによって繋がっている
タスク設計が特殊
リンク推定、エッジの時系列
目次
• Graph
• Neural Networkの概観
• Graph Neural Networkの歴史
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 18
GNNsの歴史
Structured deep models: Deep learning on graphs and
beyond
19
GNNsの歴史① 生誕
Structured deep models: Deep learning on graphs and
beyond
Graphをニューラルネットで扱っ
た
20
Graph Neueral Networks [Gori+ 2005]
各ノードの更新には自身と隣接ノードを利用
21
Structured deep models: Deep learning on graphs and
beyond
ne[n]: ノードnと隣接するノード集合
ln: ノードnのラベル
xn: ノードnの状態
on: ノードnの出力
まとめると
Graph Neueral Networks [Gori+ 2005]
Fwがcontraction mapping(縮尺写像)なら
Fw, Gwは解を持ち、unique
22
1つ1つneighborを計算するので
Computational Costが高い(扱えて数千)
GNNsの歴史② Convolution
Structured deep models: Deep learning on graphs and
beyond
CNNの畳み込みの概念を導入して計算効率↑
23
Convolutional Neural Networksおさらい
2012: HintonのAlexNet
ディープラーニングが盛り上がったきっかけ
CNNは画像など格子状のデータ構造に適用可能
Structured deep models: Deep learning on graphs and
beyond
24
Graph Convolutional Networks
[Duvenaud+ 2015, Li+ 2016, Scichtkrull+ 2017]
CNNの畳み込みの概念をGraphに適用
グラフ構造は非定型(ノードの数、各ノードの隣接ノード数)
→畳み込みの操作を適用するために工夫が必要
Wu et al., 2019
25
Euclidean non-Euclidean
Graph Convolutional Networks
[Duvenaud+ 2015, Li+ 2016, Scichtkrull+ 2017]
CNNの畳み込みの概念をGraphに適用
エッジを重みとして扱った
Structured deep models: Deep learning on graphs and
beyond
26
Relational Graph Convolutional Networks [Scichtkrull+ 2017]
relation要素を追加
graph: G = (V, E, R)
nodes: vi ∈V
edges: (vi, r, vj) ∈E
relation type: r ∈R Schlichtkrull et al., 2017
27
Relational Graph Convolutional Networks [Scichtkrull+ 2017]
hi(l): l層目のノードviのhidden state
Nir: ノードviに対して関係rで隣接するノード集合
ci,r: 隣接するノードの数を正規化、ex. |Nir|
これを各ノードごとに並列で計算、実践的には計
算の効率のためにsparse matrixを用いる
層を重ねることで、複数のリレーションをまた
ぐ ノード同士の関係を導くのに役立つ
あるノード(赤)に着目した時の更新
各関係性の入出力に関わる隣接ノード・自己ルー
プも計算してそれぞれ緑の行列を取得、
concat、ReLUで分類
Schlichtkrull et al., 2017
28
GNNsの歴史③ Attention
Structured deep models: Deep learning on graphs and
beyond
attentionを取り入れた
Attention Mechanismおさらい
33
入力ごとの重要度合いを考慮した
A Beginner's Guide to Attention Mechanisms and Memory
Networks
Graph Attention Networks [Monti+ 2017, Hoshen 2017, Veličković+ 2018]
34
どのノードとの隣接を重視するかattentionで表現した
GCNでaij(1/cij)は隣接ノード数に依存していた
GraphAttention Networksではより重要なものを重み付ける
Wu et al., 2019
GCN Graph Attention Networks
GNNsの歴史④ グラフの生成
Structured deep models: Deep learning on graphs and
beyond
Version 1: Generate graph (or predict new links) between known entities
Version 2: Generate graphs from scratch (single embedding vector)
Graphで解きたい課題 “古典的* ” なもの
Structured deep models: Deep learning on graphs and
beyond
完璧ではないデータの欠損部分を補完したり、新しいデータを分類したり
*Kipf曰く
classical
33
Graphで解きたい課題 “新しい”もの
34
Graph Auto-encoders
力学的相互作用を構造を調べる
ことなく、グラフから推定する
因果関係の推定や
タンパク質相互作用の解明に期
待
Structured deep models: Deep learning on graphs and
beyond
Graphで解きたい課題 “新しい”もの
Graph Generative Networks
MolGAN
分子をグラフで表現
descriminator: GANで学習
reword: RLで学習
分子の生成への応用が期待
Structured deep models: Deep learning on graphs and
beyond
35
Ñetwork EmbeddingとGNNの違い
• Network Embedding
• Matrix factorization (隣接行列をいじって次元削減しよう)
• Random Walk(ネットワークを所与として、移動情報をentityに埋めこもう)
• Deep Learningを使った手法(GAE)
• 分類、クラスタリング、recommendation
• GNN
• 畳み込み
• Attention
• 生成モデル
36東京大学 技術経営戦略学専攻 坂田・森研究室2019/6/28
Matrix Factorization
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 37
隣接行列
A
N
N =
特徴行列
U
N
F
F
特徴行列
U-1
N
F××
固有値行列
Σ-1
Random Walk
2019/6/28 東京大学 技術経営戦略学専攻 坂田・森研究室 38
1
0
0
…
0
0
表現行列
0
1
1
…
1
0
入力 出力
× =

SakataMoriLab GNN勉強会第一回資料