1.1K Views
May 19, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2024前期輪読会#3 グラフィカルニューラルネットワーク3.1,2 京都大学 経済学部 大澤 衡正 0
目次 1 メッセージ伝達による定式化 2 グラフ畳み込み NN(GCN) 3 グラフ注意ネットワーク(GAT) 4 ゲート付きグラフ NN(GGNN) 5 単純グラフ畳み込み(SGC) 6 同類・異類選好グラフ畳み込みNN(H2GCN) 1
3.グラフィカルニューラルネットワークの定式化 2
メッセージ伝達による定式化 問題 : 頂点埋め込みの計算 入力を頂点特徴量付きグラフ G = (V,E,X) として V:頂点集合 E:辺集合 X:頂点特徴ベクトル n:頂点数 d:各頂点の特徴ベクトルの次元 出力:頂点特徴量とグラフ構造を考慮した頂点の埋め込み Z ∈ R**(n*d) を求めることを考える ・先ずは頂点特徴ベクトルによって初期化:hv(0) = Xv(∀v∈V) ・次に集約関数を使ってhv(l+1)を更新 ・L回繰り返して求めたい頂点の埋め込みZを得る 3
メッセージ伝達による定式化 アルゴリズムの定式化 ←初期化 ←L回集約関数による中間表現の更新を行う ←Zにそれぞれの頂点の最終的な集約結果を格納 ←頂点埋め込みとしてZを得る 4
グラフ畳み込み NN(GCN) 集約関数: 5
画像認識における畳み込みの例 畳み込みなし 畳み込みあり • 移動不変性を持たないので、 対象が移動すると認識できない • 周辺の情報も併せてサンプリングすることで 対象の移動にも対応 認識対象を 学習 位置の変化に 対応できない 6
グラフ畳み込み NN(GCN) 隣接する頂点の情報を足し合わせて中間表現hvを更新することで、畳み込みを行う 重み 活性化関数 隣接する頂点 中間表現hvのノルムが巨大化しないように 次数の平方根で正規化 7
NN(GCN)実用上の形 全頂点の中間表現をH(l) = [h1(l), … ,hv(l)]とすると、 以下より、隣接行列を掛けることは隣接頂点の和をとることに対応する ⇒ 先述の集約関数は行列の積算によって表現できる ⇒ 行列計算ライブラリ等を用いて高速に計算できる 8
単純グラフ畳み込み(SGC) 集約関数: መ Z = 𝐴**L XW ・グラフ畳み込みネットワークから活性化関数を削除したシンプルなモデル ・各重みWnの積は一つの重みWで表現可能なので、それをまとめたものが上記の集約関数 利点 ◆ 実装が簡単 ◆ 非常に高速 ◆ グラフ畳み込みネットワークと同程度の性能を発揮するケースもある !?!? 9
ゲート付きグラフ NN(GGNN) 集約関数: 10
RNN,LSTM,GRNの比較 時系列データを扱う3種類のモデル RNN LSTM t-1での出力O(t-1)を H(t-1)として記録しておき、 tにおける入力Xと合わせる H(t-1) H(t) GRU H(t) C(t-1) × + × H(t-1) × × 忘 C(t) リ + × O(t) 出 更 N 入 N N H(t) H(t-1) X(t) X(t-1) O(t) O(t) X(t) 11
2. 便利なテンプレ集 RNN,LSTM,GRNの比較 時系列データを扱う3種類のモデル RNN LSTM GOOD GOOD LSTMの計算量縮小のため ⚫ 比較的簡単に時系列データ を扱える ⚫ メモリセル搭載で 勾配消失を解決 ⚫ 忘却・入出力ゲートで 重み衝突を解決 ⚫ 忘却・入力ゲートを 一つのニューロンで管理 ⚫ メモリセル機能を削除 BAD GRU 以上の変更からくる調整として ⚫ 勾配消失の問題 ⚫ 重み衝突の問題 BAD ⚫ 計算量が膨大 ⚫ 出力ゲートを削除 ⚫ リセットゲートを追加 12
2. 便利なテンプレ集 2ブロック分割 集約関数 モデル H(t) 更新ゲート × N × H(t-1) 過去出力 リ + × O(t) リセットゲート 過去出力 更 N リセットニューロン 更新ニューロン X(t) 入力 13
同類・異類選好グラフ畳み込みNN(H2GCN) 集約関数: 14
同類・異類選好グラフ畳み込みNNの3つの特徴 集約する頂点を 2本以上の辺で関わる 途中の層の表現も 他の頂点と区別 頂点も集約 埋め込みとして利用 集約する頂点自信を除いた 隣接頂点集合を意味する 2本の線でつながる 隣接頂点集合を意味する 複数のベクトル表現を 結合することを意味する 15
グラフ注意ネットワーク(GAT) 集約関数: 先ほどのGCNにαの項が追加された 16
グラフ注意ネットワーク(GAT) 先ほどの集約関数における、以下の部分が頂点の重みづけを学習するためのモデルを示す 訓練の過程を安定させるためにはマルチヘッド注意を用いるとよい 複数のパラメータを用意して、それぞれの結果を連結する 17
18