Contenu connexe
Similaire à SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜 (20)
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
- 2. Take home message
• Graph Neural Networks (GNNs) :グラフのノードの潜在表現を計
算するDNN
• 実際的な応用ドメイン:競争激化・・・
• 基本のGNNはConvNetと同じ
• 未解決問題: 層を積んでも性能が上がらない問題
- 3. 担当者について
名前: 石黒 勝彦 (博士(工学))
職歴:
2006-2016: NTT コミュニケーション科学基礎研究所
2016-2018: 株式会社みらい翻訳/NTT DoCoMo
2018- : 株式会社Preferred Networks
専門分野:
構造データ(関係データ、時系列データ)やメディアデータ(画像、動画像、音響信号)の確率
的なモデリング
Bayesian Nonparametrics, Bayesian Inference
Graph Neural Networks, 特に分子グラフへの応用
連絡先:
k-ishiguro.com (個人HP)
ishiguro@preferred.jp(弊社の業務に関する話), k.ishiguro.jp@ieee.org(その他)
3
www.amazon.co.jp
- 4. 目次
• GNNとは
• 概観: グラフデータとノード表現
• 急速な発展: 応用と理論の魅力
• 基本のGNN: GCN
• 定式化
• 運用例の説明: 半教師ありグラフ識別
• CV応用例: Sceneグラフの生成
• GNNに関する技術的話題
• 各種資料
- 5. GNN: グラフを入力すると何か計算して
くれるDNN
• 入力:グラフデータ
• やること:
• 入力されたグラフの各ノード(頂点)/エッジ(辺)の特性を表現する特徴
量を非線形変換する
• 変換を複数レイヤで重ね掛けして複雑な変換を実現
• 出力: グラフ内の各ノード/エッジ、あるいはグラフそのものに
対する潜在ベクトル(特徴ベクトル)表現
• 使い道: グラフ内のノードのラベル推定、グラフ全体の特性予
測、グラフ生成のための潜在表現獲得
5
formalな強い定義は存在しない
- 13. Update: ICML 2020
• (Sergey Ivnovさん @SergeyI49013776)の調査によると・・・
• 1088 accepted papersのうち53本がグラフに関する論文とのこと
• 個人で追いかけ続けるには厳しいほどの活況が続いていると言
えそうです
• 一番の基礎、スタンダードを理解することが重要
https://twitter.com/SergeyI49013776/status/1267768532529557504
- 17. GCN: グラフ上の近似 Conv Net [Kipf_Welling17GCN]
• GNN応用では「グラフ上の近似Conv」が使用される
• グラフの近似Convは画像Convとほとんど同じ手続き
17
第 レイヤにおける
ノードv_iの潜在表現ベクトル
ノードjはノードiの間に
エッジをもつ(隣接)
ノードi 自身の現在の
ベクトルも使う(自己link)直接エッジのない
ノードの影響は無視
- 18. GCN: グラフ上の近似 Conv Net [Kipf_Welling17GCN]
• 行列表現ではよりコンパクトに、隣接行列による情報伝播の制
約が効いていることが明確にわかる
18
第 レイヤにおける、全ノードの潜在表現行列
2 0 0 0 0
0 3 0 0 0
0 0 2 0 0
0 0 0 1 0
0 0 0 0 2
0 1 1 0 0
1 0 0 1 1
1 0 0 0 1
0 1 0 0 0
0 1 1 0 0
自己link(I)と隣接ノード(A)以
外のノードはゼロ消しされる
- 19. ? ?
タスク例: 半教師ありノード予測
19
ノード数: N
教師付きノードのデータ
教師なしノードのデータ
学習(訓練): D_labeledを使って、ノードiの予
測ラベルが当たるようにGNNなどのパラ
メータを最適化
予測(テスト): D_unlabeledを入力して、教師
なしノード j の未知ラベル y_jを推定
- 23. Many GNN models
• [Gilmer17MPNN]: 多くのGNNを包含するクラスを定義
• [Schlichtkrull18RGCN]: エッジの種類によって係数が変わる
• [Veličković18GAT]: Attention + GCN
• [Hamilton17GraphSAGE]: 巨大グラフに対するサブサンプリング
• GNNを生成系の部品として使う研究も多数
• VAE [Jin18JTVAE,Liu18CGVAE]
• Normalizing flow [Madhawa19GVNP]
• Reinforcement Learning [You18GCPN]
- 25. CV応用例: シーングラフの生成
• ノード: 画像中の物体領域
• エッジ: 物体領域同士の関係
[Qi19AttentiveRN]
• 画像入力からコンテンツを要約するグラフデータを
生成したい
• 画像のコンテンツの検索や画像理解に有用な表現
- 26. Graph R-CNN [Yang18GRCNN]
• Graph R-CNN: 3つのコンポーネントからなるモデル
• Off-the-shelfなobject detector [Ren15RCNN] (省略)
• Proposed: 不要なエッジの枝刈りを行うRePN (省略)
• Proposed: Attentional GCNによるノードとエッジの識別
[Yang18GRCNN]
GCN +
attention
- 28. Attentional GCN [Yang18GRCNN])
object nodeとrelation nodeの
潜在表現ベクトル z_{i,o}, z_{i,r} を計算
-- attentional GCNを利用
GCN
Attentional GCN
Learnable
attention
隣接行列(固定)
[Yang18GRCNN]ではnode typeに合わせて複数のattentionを結合する
- 33. Graph Isomorphism Network (GIN) [Xu19GIN]
• 多くのGNN ≦ Weisfiler-Lehman (WL) test アルゴリズム
• 2つのグラフがGNNが同型でないと判定できるなら,WL アルゴでも同
型でないと判別できる
• GNNがWL アルゴと同等の判別能力をもつため条件を近似的に
満たすGINを提案
33
非線形関数をMLPにすると
普遍性定理から
条件を満たす関数が表現できる
- 37. Take home message (revisited)
• Graph Neural Networks (GNNs) :グラフのノードの潜在表現を計
算するDNN
• 実際的な応用ドメイン:競争激化・・・
• 基本のGNNはConvNetと同じ
• 未解決問題: 層を積んでも性能が上がらない問題
- 39. サーベイ論文や勉強の資料
• GNNに関するサーベイ論文
• 普通のサーベイ: [Wu19survey] [Zhou18survey]
• 数式だけでモデル意図が分かる人向け: [Battaglia18survey]
• チュートリアル資料, 勉強会など
• 英語: Kipfによるトーク [Kipf18talk], AAAI-20のチュートリアル
[Ma20AAAI]
• 日本語: 本田さんの資料 [Honda19GNN]など
39
- 40. データセット
• Prof. Leskovec (stanford)提供のコレクション
• Stanford Large Network Dataset collections
http://snap.stanford.edu/data/index.html
• UC Santa Cruz LINQS group提供のコレクション
• https://linqs.soe.ucsc.edu/data
• cora/citeseer/pubmedのオリジナルも↑の中にあります
• train/valid/test split: https://github.com/kimiyoung/planetoid
40
- 41. データセット
• MoleculeNet [Wu18MoleculeNet]
• 色々な化学化合物(低分子)データセットが統一された形式で収録し
たデータセットコレクション. I/O, 各種GNN/非GNN手法の実装も付属
(TensorFlow)
• Scene Graphs
• VRD[Lu16VRD]: お手頃&基本. 5000画像
• Visual Genome[Krishna17VG]: 108K画像
• ポイントクラウド
• S3DIS [Armeni16S3DIS]: 屋内(オフィス)のdenseなポイントクラウド。
k-NNなどによってクラウド内の各点を連結してグラフにする必要があ
る
41
- 42. GNNのライブラリ
• Chainer
• Chainer Chemistry https://github.com/pfnet-research/chainer-chemistry
• Chem graph(化合物グラフ)に特化したIO
• (major dev.が終わったので、ある意味安定して使えるともいえる)
• Pytorch
• PyTorch Geometric (PyG) https://www.dgl.ai/
• Deep Graph Library (DGL) https://www.dgl.ai/ <-- 一番メジャーかも
42
- 43. References A-L
• [Anderson19Cormorant] Anderson+, “Comorant: Covariant Molecular Neural Networks”, NeurIPS, 2019.
• [Armeni16S3DIS] Armeni+, “3D Semantics Parsing of Large-scale Indoor Spaces”, CVPR, 2016.
• [Battaglia18survey] Battaglia+, “Relational Inductive Biases, Deep Learning, and Graph Networks”, arXiv: 1806.01261v3 [cs.LG], 2018.
• [DeCao19QA2] De Cao+, “Question Answering by Reasoning Across Documents with Graph Convolutional Networks“, ICML Workshop, 2019.
• [Hamilton17GraphSAGE] Hamilton+, “Inductive Representation Learning on Large Graphs”, NIPS 2017.
• [Honda19GNN] Honda, “GNNまとめ(1-3)”, 2019. https://qiita.com/shionhonda/items/d27b8f13f7e9232a4ae5
https://qiita.com/shionhonda/items/0d747b00fe6ddaff26e2
https://qiita.com/shionhonda/items/e11a9cf4699878723844
• [Jin18JTVAE] Jin+, “Junction Tree Variational Autoencoder for Molecular Graph Generation”, ICML 2018.
• [Kipf18talk] Kipf, “Structured Deep Models: Deep learning on graphs and beyond”, 2018. http://tkipf.github.io/misc/SlidesCambridge.pdf
• [Kipf_Welling17GCN] Kipf and Welling, “Semi-supervised Classification with Graph Convolutional Networks”, ICLR 2017.
• [Klicepra20DimeNet] Klicepra+, “Directional Message Passing for Molecular Graphs”, ICLR 2020.
• [Krishna17VG] Krishna+, “Visual genome: Connecting language and vision using crowdsourced dense image annotations”, ICCV, 2017.
• [Landrieu_Boussaha19PCS] Landrieu and Boussaha, “Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning”, CVPR, 2019.
• [Laugier18CGCNN] Laugier+, “Predicting thermoelectric properties from crystal graphs and material descriptors - first application for functional
materials”, NeurIPS Workshop, 2018.
• [Li18Oversmoothing] Li+, “Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning”, arXiv: 1801.07606 [cs.LG], 2018.
• [Li19DeepGCNs] Li+, “DeepGCNs: can GCNs go as deep as CNNs?”, ICCV 2019.
• [Lu16VRD] Lu+,”Visual Relationship Detection with Language Priors”, ECCV, 2016.
• [Liu18CGVAE] Liu+, “Constrained Graph Variational Autoencoders for Molecule Design”, NeurIPS 2018.
43
- 44. References M-Z
• [Ma20AAAI] Ma+, “Graph Neural Networks: Models and Applications”, AAAI, 2020. http://cse.msu.edu/~mayao4/tutorials/aaai2020/
• [Madhawa19GNVP] Madhawa+, “GraphNVP: An Invertible Flow Model for Generating Molecular Graphs”, arXiv: 1905.11600, 2019.
• [Morris19WL] Morris+, “Weisfeiler and Lehman Go Neural: Higher-order Graph Neural Networks”, AAAI, 2019.
• [NT_Maehara19revisit] NT and Maehara, “Revisiting Graph Neural Networks: All We Have is Low-pass Filters”, arXiv: 1905.09550, 2019.
• [Oono_Suzuki20Exponential] Oono and Suzuki, “Graph Neural Networks Exponentially Lose Expressive Power for Node Classification”, ICLR 2020.
• [Pei20GeomGCN] Pei+, “Geom-GCN: Geometric Graph Convolutional Networks”, ICLR, 2020.
• [Qi19AttentiveRN] Qi+, “Attentive Relataional Networks for Mapping Images to Scene Graphs”, CVPR, 2019.
• [Sanchez-Gonzalez20GNS] Sanchez-Gonzalez+, “Learning to Simulate Complex Physics with Graph Networks”, arXiv: 2002.09405. 2020.
• [Schlichtkrull18RGCN] Modeling Relational Data with Graph Convolutional Networks, ESWC 2018.
• [Veličković18GAT] Veličković+, “Graph Attention Networks”, ICLR 2018.
• [Wang18NLNN] Wang+, “Non-local Neural Networks”, CVPR 2018.
• [Wu18MoleculeNet] Wu+, “MoleculeNet: a benchmark for molecular machine learning”, Chemical Science, 9(513), 2018.
• [Wu19SGC] Wu+, “Simplifying Graph Convolutional Networks”, in Proc. ICML, 2019.
• [Wu19survey] Wu+, “A Comprehensive Survey on Graph Neural Networks”, arXiv:1901.00596v1 [cs.LG], 2019.
• [Xu19GIN] Xu+, “How powerful are Graph Neural Networks?”, in Proc. ICLR, 2019.
• [Yang18GRCNN] Yang+, “Graph R-CNN for Scene Graph Generation”, ECCV, 2018.
• [Ying18Pooling] Ying+, “Hierarchical Graph Representation Learning with Differentiable Pooling”, NeurIPS, 2018.
• [You18GCPN] You+, “Graph Convolutional Policy Network for Goal-Directed Molecular Graph Generation”, NeurIPS 2018.
• [Zhang_Meng19GresNet] Zhang and Meng, “GresNet: Graph Residual Network for Reviving Deep gNNs from Suspended Animation”, arXiv 2019.
• [Zhao_Akoglu20PairNorm] Zhao and Akoglu, “PairNorm: Tackling Oversmoothing in GNNs”, ICLR, 2020.
• [Zhou18survey] Zhou+, “Graph Neural Networks: A Review of Methods and Applications”, arXiv: 1812.08434v2 [cs.LG], 2018.
44