Slide 1

Slide 1 text

1 National Institute of Informatics National Institute of Informatics 僕たちがグラフニューラルネットワークを 学ぶ理由 佐藤 竜馬

Slide 2

Slide 2 text

2 National Institute of Informatics グラフは何にでも使える

Slide 3

Slide 3 text

3 National Institute of Informatics グラフは関係を記述するデータ構造 ◼ グラフはものごとの関係を記述するデータ構造 ◼ 頂点はものごとの基本要素を表す 辺は二つの頂点を結び関係を表す 頂点 辺

Slide 4

Slide 4 text

4 National Institute of Informatics ソーシャルネットワークは友人関係を表す ◼ グラフはさまざまな関係を表すことができる ◼ ソーシャルネットワーク 頂点:人 、辺:友人関係

Slide 5

Slide 5 text

5 National Institute of Informatics 交通ネットワークは道路網を表す ◼ 交通ネットワーク 頂点:都市、辺:道路

Slide 6

Slide 6 text

6 National Institute of Informatics グラフは化合物を表すこともできる ◼ 化合物グラフ 頂点:原子、辺:化学結合 H C O H N O N

Slide 7

Slide 7 text

7 National Institute of Informatics グラフはさまざまな事実を柔軟に表すことができる ◼ 知識グラフ 頂点:ものごと、辺:関係や事実 H 画家 is in フィレンツェ レオナルド・ ダ・ヴィンチ サンタ・マリア・ デル・フィオーレ大聖堂 is in is in 生誕 作者 Is a Is a 子弟 ヴェロッキオ

Slide 8

Slide 8 text

8 National Institute of Informatics 画像もまたグラフである ◼ 画像 頂点:画素、辺:隣接関係

Slide 9

Slide 9 text

9 National Institute of Informatics テキストもグラフである ◼ テキスト 頂点:単語の出現、辺:隣接関係 The quick brown fox jumps over the lazy dog

Slide 10

Slide 10 text

10 National Institute of Informatics グラフの組み合わせもグラフ ◼ テキストと知識グラフの組み合わせ Bob visited Florence and enjoyed works by Leonardo da Vicni H 画家 is in フィレンツェ レオナルド・ ダ・ヴィンチ サンタ・マリア・ デル・フィオーレ大聖堂 is in is in 生誕 作者 Is a Is a 子弟 ヴェロッキオ

Slide 11

Slide 11 text

11 National Institute of Informatics ◼ グラフは柔軟で汎用的 人間関係から化合物から画像からテキストまで表現できる ◼ グラフの処理方法を身につければ、これらの形式のデータを 一挙に扱えるようになる 学習コスパがいい、とも言える。一個覚えるだけでいろんな場面 で使える。 グラフは何にでも使える汎用的なデータ構造である グラフは何にでも使える

Slide 12

Slide 12 text

12 National Institute of Informatics グラフニューラルネットワークが扱えるタスク

Slide 13

Slide 13 text

13 National Institute of Informatics 頂点、グラフ、辺単位のタスクがある ◼ グラフデータのタスクは三種類に分けられる ◼ 頂点単位のタスク: 頂点分類、頂点回帰、頂点クラスタリング、… ◼ グラフ単位のタスク: グラフ分類、グラフ回帰、グラフクラスタリング、… ◼ 辺単位のタスク: 接続予測、辺分類、…

Slide 14

Slide 14 text

14 National Institute of Informatics ソーシャルネットワーク上の人を分類する ◼ 頂点分類: 各人が自社の広告を気に入るかどうかを分類する ? ? ?

Slide 15

Slide 15 text

15 National Institute of Informatics 化合物グラフを分類する ◼ グラフ分類: 化合物グラフを薬効の有り無しで分類する H C O H N O N 薬効あり H C O H O H H 薬効あり H C O H N O N H C H H N H H 薬効なし O C O H O H H ? H

Slide 16

Slide 16 text

16 National Institute of Informatics ソーシャルネットワークのアカウント推薦 ◼ 接続予測はグラフ中の辺の有無を予測する Facebook でのおすすめユーザー推薦 ? ?

Slide 17

Slide 17 text

17 National Institute of Informatics 商品推薦も接続予測の一例 ◼ 商品推薦も接続予測として定式化できる 頂点: ユーザー + 映画 辺: 視聴関係 ? ?

Slide 18

Slide 18 text

18 National Institute of Informatics 多くの問題がグラフデータの問題として定式化できる ◼ ユーザー分類、化合物分類、推薦システム、画像セグメンテー ション、画像分類など、多くの問題がグラフ問題として定式化 できる ◼ グラフデータをグラフニューラルネットワークに入力するとこれらの タスクを全て解くことができる グラフニューラルネットワークは全てを解決する

Slide 19

Slide 19 text

19 National Institute of Informatics グラフニューラルネットワーク

Slide 20

Slide 20 text

20 National Institute of Informatics グラフニューラルネットワークはグラフデータを処理する ◼ グラフニューラルネットワーク (GNN) とはグラフデータを処理する ニューラルネットーワーク ◼ グラフを処理さえすれば GNN と呼ばれ、それ以上の具体的な 定義はない かなり自由 GNN

Slide 21

Slide 21 text

21 National Institute of Informatics GNN は周囲から情報を集めることを繰り返す ◼ GNN の基本動作は画像畳み込みと似ている ◼ 各頂点は埋め込みを持ち、周囲の埋め込みを集約することを 繰り返す(頂点が画素に対応)

Slide 22

Slide 22 text

22 National Institute of Informatics GNN は CNN とトランスフォーマーの一般化 ◼ 畳み込みニューラルネットワーク:8 近傍から情報を集める ◼ トランスフォーマー:全要素から情報を集める ◼ グラフニューラルネットワーク:グラフに沿って情報を集める ◼ 画像畳み込みとトランスフォーマーの一般化になっている 格子状の規則的なグラフを使うと GNN は CNN になり、 全結合グラフ(完全グラフ)を使うとトランスフォーマーになる それ以外にもグラフニューラルネットワークは色んな形状のグラフ を扱える

Slide 23

Slide 23 text

23 National Institute of Informatics GNN の動作:まずは頂点特徴量で初期化する 頂点特徴 ユーザー属性ベクトルなど x 2 x 1 x 3 x 5 x 6 x 7 x 4

Slide 24

Slide 24 text

24 National Institute of Informatics GNN の動作:特徴を集約する h 5 = σ(W(x 4 + x 5 + x 6 + x 7 )) h 7 = σ(W(x 5 + x 6 + x 7 )) h 6 = σ(W(x 3 + x 5 + x 7 )) h 4 = σ(W(x 3 + x 4 + x 5 )) h 1 = σ(W(x 1 + x 3 )) h 2 = σ(W(x 2 + x 3 )) h 3 = σ(W(x 1 + x 2 + x 3 + x 4 + x 6 )) ◼ 特徴を集約して変換する 集約関数は全ての頂点で共有する 例:和集約

Slide 25

Slide 25 text

25 National Institute of Informatics GNN の動作:これを繰り返す ◼ 集約と変換を一層一単位としてこれを繰り返す z 5 = σ(V(h 4 + h 5 + h 6 + h 7 )) z 7 = σ(V(h 5 + h 6 + h 7 )) z 6 = σ(V(h 3 + h 5 + h 7 )) z 4 = σ(V(h 3 + h 4 + h 5 )) z 1 = σ(V(h 1 + h 3 )) z 2 = σ(V(h 2 + h 3 )) z 3 = σ(V(h 1 + h 2 + h 3 + h 4 + h 6 ))

Slide 26

Slide 26 text

26 National Institute of Informatics GNN の動作:予測ヘッドを適用する ◼ 最後に、予測ヘッドを独立に適用する 訓練時には、すべてのパラメータが誤差逆伝播法で更新される z 2 z 1 z 3 z 4 z 5 z 6 z 7 y 5 y 7 予測ヘッド y 4 予測ヘッド 予測ヘッド

Slide 27

Slide 27 text

27 National Institute of Informatics PyTorch とシームレスに結合可能 ◼ PyTorch Geometric などのライブラリを使うと CNN などと 同様に簡単に GNN を定義できる https://github.com/joisino/gnnbook 他の例はサポートサイトを参照

Slide 28

Slide 28 text

28 National Institute of Informatics 引用グラフデータの例 ◼ 例:Cora データセット ◼ 頂点:論文(テキスト) ◼ 頂点特徴量:論文要旨の bag of words ◼ 辺:論文 A から B への辺は引用を表す ◼ 頂点ラベル:論文のカテゴリ ◼ タスク:論文のカテゴリを予測する = テキスト分類 ただし、引用関係を活用できる

Slide 29

Slide 29 text

29 National Institute of Informatics 通常のニューラルネットワークと GNN の比較 ◼ 1 層のニューラルネットワークと GNN を考える ◼ 𝑥𝑣 ∈ ℝ𝑑 は生の頂点特徴量 (bag of words) ◼ 線形ニューラルネットワーク:ℎ𝑣 = 𝑊 𝑥𝑣 ◼ GNN: 𝑧𝑣 = σ 𝑢∈𝒩 𝑣 ∪{𝑣} 1 (|𝒩 𝑣 |+1)( 𝒩 𝑢 +1) ℎ𝑢 ◼ 頂点ラベルは Softmax(z v ) で予測する 周囲の h を平均して集約 ただし、少し特殊な正規化 グラフ畳み込みと呼ばれる

Slide 30

Slide 30 text

30 National Institute of Informatics GNN の表現は通常のニューラルネットワークよりよい 𝑇𝑆𝑁𝐸(𝑥𝑣 ) 𝑇𝑆𝑁𝐸(ℎ𝑣 ) 𝑇𝑆𝑁𝐸(𝑧𝑣 ) グラフを考慮せず 集約により表現の質が向上 ニューラルネットワーク 対応する GNN 生特徴量 頂点色はラベル ◼ ニューラルネットワークと GNN のパラメータは同一(W のみ) ◼ 質は GNN の方がよい

Slide 31

Slide 31 text

31 National Institute of Informatics 最新の応用例

Slide 32

Slide 32 text

32 National Institute of Informatics GNN と知識グラフで LLM の質問応答を改善 ◼ Graph Neural Prompting with Large Language Models (AAAI 2024) ◼ 入力:テキストによる質問、選択肢、知識グラフ 出力:回答

Slide 33

Slide 33 text

33 National Institute of Informatics 知識グラフ埋め込みをプロンプトとして用いる ◼ 手法:知識グラフから関連する領域を取り出し、GNN により 埋め込みを計算し、埋め込みを LLM へのプロンプトとする

Slide 34

Slide 34 text

34 National Institute of Informatics GNN と知識グラフにより大幅に精度向上 ◼ 結果: 知識グラフプロンプトにより大幅に精度向上

Slide 35

Slide 35 text

35 National Institute of Informatics GNN による物理シミュレーション ◼ Learning Mesh-Based Simulation with Graph Networks (ICLR 2021) ◼ 入力:物質の状態(布など) 出力:物質がどのように変化するか

Slide 36

Slide 36 text

36 National Institute of Informatics 物質をメッシュグラフとして表現する ◼ アイデア:各物質点は近傍と相互作用する 近い地点は似た方向に動く ◼ 手法:物質上にメッシュグラフを構築し、 GNN により各頂点の移動・変化量を回帰

Slide 37

Slide 37 text

37 National Institute of Informatics 結果:自然で高品質なシミュレーション結果 https://sites.google.com/view/meshgraphnets

Slide 38

Slide 38 text

38 National Institute of Informatics 画像分類に GNN を使う ◼ Vision GNN: An Image is Worth Graph of Nodes (NeurIPS 2022) ◼ タスク:画像分類 (ImageNet) ◼ 提案法はビジョントランスフォーマーに似ている ただし、アテンションをグラフにより制御する 頂点:画像パッチ 辺:パッチ埋め込みの KNN グラフ

Slide 39

Slide 39 text

39 National Institute of Informatics GNN の性能はビジョントランスフォーマー以上 ◼ 結果:GNN はビジョントランスフォーマーを上回る

Slide 40

Slide 40 text

40 National Institute of Informatics 化合物グラフの生成モデル Tags-to-image モデルが近年流行っている もしこれが化合物でできれば革命的 ((best quality)), ((masterpiece)), ((ultra-detailed)), (illustration), (detailed light), (an extremely delicate and beautiful), ..., stars in the eyes, messy floating hair, ... 有機、水溶性、軽量、安価、 無毒、薬用...

Slide 41

Slide 41 text

41 National Institute of Informatics GNN を生成モデルの構成要素として使える ◼ 多くの生成モデルは、ニューラルネットワークの部品を GNN に 変えるだけでグラフデータに適用できる ◼ 例:拡散モデルの U-Net を GNN に変える ◼ VAE や GAN なども GNN と共に使える

Slide 42

Slide 42 text

42 National Institute of Informatics 拡散モデルはデータからノイズを取り除いていく ◼ 拡散モデルは最近人気の候補 ◼ 拡散モデルはデータを受け取り、ノイズ成分を推定する ◼ 拡散モデルは完全なノイズからノイズを推定して取り除くことを 繰り返してデータを生成する https://drive.google.com/file/ d/18zIMEAZzLWjyh8FhVX3cPS lJst1JNiQK/view?usp=sharing

Slide 43

Slide 43 text

43 National Institute of Informatics 拡散モデルのアイデアはグラフデータにも使える ◼ 全く同じアイデアがグラフデータにも使える ◼ GNN はノイジーなグラフを受け取り、どの辺や特徴がノイジーか を推定する → 頂点分類・辺分類問題 https://drive.google.com/file/d /1NyT3FAGMq2LpqbgRoKfPd9s UVmktC0-5/view?usp=sharing

Slide 44

Slide 44 text

44 National Institute of Informatics グラフデータのための拡散モデル ◼ Score-based Generative Modeling of Graphs via the System of Stochastic Differential Equations (ICML 2022) ◼ グラフ構造と頂点特徴量のノイズをモデリングして、頂点特徴量 付きのグラフ、特に化合物グラフを生成する

Slide 45

Slide 45 text

45 National Institute of Informatics グラフ生成モデルは発展途上 ◼ グラフの生成モデルは画像やテキストの生成モデルほどには 成功していない ◼ 一因はデータ量の不足 人々は分子をインターネットに投稿しない ◼ LLM と組み合わせたりシミュレーターと組み合わせたりすること で克服する試みが続いている ◼ 今後に期待 成功すると社会的インパクトは非常に大きい

Slide 46

Slide 46 text

46 National Institute of Informatics 結論

Slide 47

Slide 47 text

47 National Institute of Informatics GNN は何にでも使える ◼ グラフニューラルネットワークはとても守備範囲が広い グラフデータをグラフニューラルネットワークに入力するだけで さまざまな種類のグラフタスクを解くことができる 推薦システム、画像分類、物理シミュレーション、創薬、ソーシャルネットワーク分析… ◼ 他のニューラルネットワークと柔軟に組み合わせることも可能 畳み込みニューラルネットワークやトランスフォーマーの一般化に もなっていてとても汎用性が高い グラフニューラルネットワークは何にでも使えて超便利

Slide 48

Slide 48 text

48 National Institute of Informatics サポートページでコードを公開中 ◼ MIT ライセンスで配布、商用・非商用問わず自由に利用 ◼ 本書を購入していない方も無料で利用可能(でも買ってくれるとうれしい) https://github.com/joisino/gnnbook

Slide 49

Slide 49 text

49 National Institute of Informatics グラフニューラルネットワーク好評発売中! ◼ 機械学習に少しでも携わる方なら必ず面白く読めます!ぜひ https://www.amazon.co.jp/d/4065347823 好評発売中!