O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜

1.918 visualizações

Publicada em

SSII2020 技術動向解説セッション SS1
6/11 (木) 14:00~14:30 メイン会場 (vimeo + sli.do)
グラフ構造をもつデータに対する DNN、すなわち Graph Neural Networks (GNNs) の研究はこの2、3年で参加する研究者が急増している。現状、様々なアーキテクチャの GNN が様々なドメインや様々なタスクで個別に提案され、概観を捉えるのも簡単ではない状態になっている。本チュートリアルは、広範に散らばった GNN 研究の現状についての概観と基盤技術を紹介するとともに、時間が許す範囲でコンピュータビジョン領域における応用例の紹介にも取り組みたい。

Publicada em: Tecnologia
  • Seja o primeiro a comentar

SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜

  1. 1. グラフデータでも深層学習 〜Graph Neural Networks 入門〜 2020/6/11 石黒 勝彦 (Preferred Networks)
  2. 2. Take home message • Graph Neural Networks (GNNs) :グラフのノードの潜在表現を計 算するDNN • 実際的な応用ドメイン:競争激化・・・ • 基本のGNNはConvNetと同じ • 未解決問題: 層を積んでも性能が上がらない問題
  3. 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. 4. 目次 • GNNとは • 概観: グラフデータとノード表現 • 急速な発展: 応用と理論の魅力 • 基本のGNN: GCN • 定式化 • 運用例の説明: 半教師ありグラフ識別 • CV応用例: Sceneグラフの生成 • GNNに関する技術的話題 • 各種資料
  5. 5. GNN: グラフを入力すると何か計算して くれるDNN • 入力:グラフデータ • やること: • 入力されたグラフの各ノード(頂点)/エッジ(辺)の特性を表現する特徴 量を非線形変換する • 変換を複数レイヤで重ね掛けして複雑な変換を実現 • 出力: グラフ内の各ノード/エッジ、あるいはグラフそのものに 対する潜在ベクトル(特徴ベクトル)表現 • 使い道: グラフ内のノードのラベル推定、グラフ全体の特性予 測、グラフ生成のための潜在表現獲得 5 formalな強い定義は存在しない
  6. 6. グラフとは?:関係性を表すデータ構造 • 数学的にはグラフGは • : ノードの(有限)集合 • :エッジの集合 • 通常ノードのペアで表す • 無向 / 有向 • Attributed graph: ノード(あるいはエッジ)がそれぞれラベルや 特徴ベクトルをもつグラフ
  7. 7. Attributed graphの行列表現 • 数式表現が容易、プログラム実装にも好都合 • 特徴量やエッジの表現によってはテンソル(n次元配列)に拡張 特徴行列 隣接行列 :ノード v_i の持つ d次元目の特徴量 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無向グラフなら対称行列になる :ノード v_i からv_jへの エッジの重み(存在)
  8. 8. GNNの機能:潜在表現 H の獲得 ノードの潜在表現行列 グラフの潜在表現ベクトル L層の GNN ノード 予測 タスク グラフ 予測 タスク 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
  9. 9. なぜ、いまGNNか?二面性の魅力 • 応用・実業面:多くのドメインに適用可能、明確なアプリケー ションがある • 技術・理論面:各アイテム(ノード)が非一様に相関する難し めのデータ、理論解析が未成熟  Red Ocean…!!
  10. 10. GNNの応用されているドメイン 化合物グラフ [Jin18JTVAE, Laugier18CGCNN] [http://konect.uni- koblenz.de/networks/ucidata-zachary] 関係ネットワーク シーングラフ [Qi19AttentiveR N] ポイントクラウド[Landrieu_Boussaha19PCS] 物理シミュレータ [Sanchez-Gonzalez20GNS] 知識グラフ [DeCao19QA2]
  11. 11. 2018年から急速に研究が活発化 11 [Kipf18talk] 2018年5月の状況 [Kipf18talk]
  12. 12. 2018年から急速に研究が活発化 12 [Kipf18talk] GNN Workshopが定常開催 (ICLR2018) NeurIPS2018 ICLR2019 ICML2019 NeurIPS2019 More GNN models CVPR2018: [Wang18NLNN] NIPS2018: [Ying18Pooling] ICLR2019: [Xu19GIN] ICML2019: [Wu19SGC] NeurIPS2019: [Anderson19Cormorant] ICLR2020: [Pei20GeomGCN, Klicepra20DimeNet]
  13. 13. Update: ICML 2020 • (Sergey Ivnovさん @SergeyI49013776)の調査によると・・・ • 1088 accepted papersのうち53本がグラフに関する論文とのこと • 個人で追いかけ続けるには厳しいほどの活況が続いていると言 えそうです •  一番の基礎、スタンダードを理解することが重要 https://twitter.com/SergeyI49013776/status/1267768532529557504
  14. 14. 基本のGNN: GCN
  15. 15. 畳み込み積分(convolution) • 二つの関数を、場所(時間)をかえながら作用させあった結果 の重畳を計算します • 音声信号*インパルス応答 → ホールの残響 • デジタル画像*線形フィルタ → エッジ検出、ブラー 15 abcpedia.acoustics.jp
  16. 16. 画像処理の空間Convolution network • 画像データ(regular grid)での有効性は周知のとおりです • 周辺ピクセルの潜在ベクトル値を畳み込む • 位置 x  ピクセル座標 (x,y) 変位 t  ピクセルずれ {-1, 0, 1} 16 [Kipf18talk] 第 レイヤにおける ピクセル座標(x, y)の潜在表現ベクトル
  17. 17. GCN: グラフ上の近似 Conv Net [Kipf_Welling17GCN] • GNN応用では「グラフ上の近似Conv」が使用される • グラフの近似Convは画像Convとほとんど同じ手続き 17 第 レイヤにおける ノードv_iの潜在表現ベクトル ノードjはノードiの間に エッジをもつ(隣接) ノードi 自身の現在の ベクトルも使う(自己link)直接エッジのない ノードの影響は無視
  18. 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. ? ? タスク例: 半教師ありノード予測 19 ノード数: N 教師付きノードのデータ 教師なしノードのデータ 学習(訓練): D_labeledを使って、ノードiの予 測ラベルが当たるようにGNNなどのパラ メータを最適化 予測(テスト): D_unlabeledを入力して、教師 なしノード j の未知ラベル y_jを推定
  20. 20. Forward path 潜在ベクトル h_iを元に、ノードのラベル確率分布 を計算します 例: softmax LレイヤのGNN(GCN)を適用して 潜在ベクトルh_iを求める C = { , }
  21. 21. 目的関数と学習 21 ``Labeled’ ’ 目的関数: D_labeledノードの正解識別確率 (cross entropy) 学習: 誤差逆伝播などを用いて loss = (負の目的関数)を最小化する パラメータを決定
  22. 22. 予測(prediction) 22 ``unlabeled’’ ラベルが未知のノード j に対して、学習 したパラメータを用いてforward path
  23. 23. Many GNN models • [Gilmer17MPNN]: 多くのGNNを包含するクラスを定義 • [Schlichtkrull18RGCN]: エッジの種類によって係数が変わる • [Veličković18GAT]: Attention + GCN • [Hamilton17GraphSAGE]: 巨大グラフに対するサブサンプリング • GNNを生成系の部品として使う研究も多数 • VAE [Jin18JTVAE,Liu18CGVAE] • Normalizing flow [Madhawa19GVNP] • Reinforcement Learning [You18GCPN]
  24. 24. CV応用例: シーングラフの生 成
  25. 25. CV応用例: シーングラフの生成 • ノード: 画像中の物体領域 • エッジ: 物体領域同士の関係 [Qi19AttentiveRN] • 画像入力からコンテンツを要約するグラフデータを 生成したい • 画像のコンテンツの検索や画像理解に有用な表現
  26. 26. Graph R-CNN [Yang18GRCNN] • Graph R-CNN: 3つのコンポーネントからなるモデル • Off-the-shelfなobject detector [Ren15RCNN] (省略) • Proposed: 不要なエッジの枝刈りを行うRePN (省略) • Proposed: Attentional GCNによるノードとエッジの識別 [Yang18GRCNN] GCN + attention
  27. 27. Object-relation拡張グラフ [Yang18GRCNN] [Yang18GRCNN] 物体検出器の結果 (sparsified) 元入力グラフ: ノード = object エッジ = relation ObjectもrelationもGNNに載せるため relation nodeを拡張
  28. 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を結合する
  29. 29. 正解のシーングラフaGCNによる埋め込み表現付きグラフ [Yang18GRCNN]
  30. 30. [Yang18GRCNN]
  31. 31. GNNに関する技術的話題 • GNNの表現能力に関する理論的な解析 • グラフ同型判定問題 • 多層積み重ねると性能が落ちる現象 • “Oversmoothing”
  32. 32. グラフ同型判定能力の限界 [Xu19GIN, Morris19WL] • 同型問題: 2つのグラフが「ノードの繋がりかたの意味で完全に 一致している」かを判定する問題 • GCN含めた既存のGNNについて、グラフ同型判定能力の意味で 解析するのが流行 32 [ https://ja.wikipedia.org/wiki/グラフ同型 ] 一致??
  33. 33. Graph Isomorphism Network (GIN) [Xu19GIN] • 多くのGNN ≦ Weisfiler-Lehman (WL) test アルゴリズム • 2つのグラフがGNNが同型でないと判定できるなら,WL アルゴでも同 型でないと判別できる • GNNがWL アルゴと同等の判別能力をもつため条件を近似的に 満たすGINを提案 33 非線形関数をMLPにすると 普遍性定理から 条件を満たす関数が表現できる
  34. 34. GNNは層を積んでも性能が上がらない問題 34 [Kipf_Welling17GCN] Better
  35. 35. 多層適用時のOversmoothing [Li18Oversmoothing, NT_Maehara19revisit] • GCNのレイヤを重ねていくと全ノードの隠れ埋め込みベクトル が同じような値に近づいていく • そもそも「繋がったノードの潜在ベクトルを近づける」最適化問題を 近似的に解いているため [NT_Maehara19revisit]  予測(識別)が難しくなる、性能が落ちていく 35 ``Karate club’’ネットワークのノード埋め込みの分布 [ Li18Oversmoothing]
  36. 36. 対応策 • 理論的にはいくつかのアプローチで解析されている [Oono_Suzuki20Exponential, Zhang_Meng19GrersNet] • 多層での性能劣化を完全に防ぐ方法はまだ不明 • 互いに近寄ってくる埋め込みベクトルのノルムを一定にする [Zhao_Akoglu20PairNorm] • Residual termの導入 [Kipf_Welling17GCN, Zhang_Meng19GresNet] • L=10層ぐらいにピークをもってくるところまではできる [Zhang_Meng19GresNet] • ポイントクラウドデータに限り、60層まで積むと最高性能という報告 がある [Li19DeepGCNs] 36
  37. 37. Take home message (revisited) • Graph Neural Networks (GNNs) :グラフのノードの潜在表現を計 算するDNN • 実際的な応用ドメイン:競争激化・・・ • 基本のGNNはConvNetと同じ • 未解決問題: 層を積んでも性能が上がらない問題
  38. 38. 資料
  39. 39. サーベイ論文や勉強の資料 • GNNに関するサーベイ論文 • 普通のサーベイ: [Wu19survey] [Zhou18survey] • 数式だけでモデル意図が分かる人向け: [Battaglia18survey] • チュートリアル資料, 勉強会など • 英語: Kipfによるトーク [Kipf18talk], AAAI-20のチュートリアル [Ma20AAAI] • 日本語: 本田さんの資料 [Honda19GNN]など 39
  40. 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. 41. データセット • MoleculeNet [Wu18MoleculeNet] • 色々な化学化合物(低分子)データセットが統一された形式で収録し たデータセットコレクション. I/O, 各種GNN/非GNN手法の実装も付属 (TensorFlow) • Scene Graphs • VRD[Lu16VRD]: お手頃&基本. 5000画像 • Visual Genome[Krishna17VG]: 108K画像 • ポイントクラウド • S3DIS [Armeni16S3DIS]: 屋内(オフィス)のdenseなポイントクラウド。 k-NNなどによってクラウド内の各点を連結してグラフにする必要があ る 41
  42. 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. 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. 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

×