agatan / paper-reading-notes

読んだ論文の管理とメモ置き場
5 stars 0 forks source link

Predict then Propagate: Graph Neural Networks meet Personalized PageRank #26

Open agatan opened 5 years ago

agatan commented 5 years ago

semi-supervised node classification のために PageRank と GNN を組み合わせようという話。 (グラフ中の一部ノードにのみラベルが与えられているとき、全ノードを正しく classification したい。というタスク)

概要

GCN の問題点

Graph Convolutional Network (GCN) は以下のような式で定義される(2 層の場合)。

ここで、 A は normalize された隣接行列, X は feature matrix, W はパラメータ。 直感的には、一層ごとに自身の feature と隣接ノードの feature の平均を取るようなイメージ。

問題は

Personalized PageRank の活用

GCN の層を増やしていくと、propagate の分布は PageRank に似た分布に近づいていく。 PageRank は

を無限 step 計算したときの \pi で、

を無限 step 繰り返したときの分布と一致する。 (GCN との違いは self loop の扱いと normalize の方法だけ。)

が、PageRank は Graph 全体に対するプロパティであり、各ノードに focus したものではない。 そこで Personalized PageRank を使うというアイディアが出てくる。

x は root node, i_x は teleport vector (personalize vector) でここでは [0, 0, ..., 1, 0, ...] のように「自分自身が 1, それ以外は 0」であるような要素 n のベクトル。 Personalized PageRank は「確率 1 - α でランダムウォーク、確率 α で自分自身に戻る」を無限に繰り返したときの分布。 全ノードから見た Personalized PageRank を計算する必要があるので大変。

Personalized propagation of neural predictions (PPNP)

ノードを別個で predict する Network に通した後、周辺にその結果を propagate する PPNP を提案している。

image

Approximate personalized propagation of neural predictions (APPNP)

PPNP は Personalized PageRank を使っているが、全ノードごとに Personalized PageRank を作ると NxN の Dense Matrix を作る必要があるし時間計算量も N^2 でかかってくる。

そこで、topic-sensitive PageRank 的な考え方を活用することで近似しつつ計算量を落とす。 (topic-sensitive PageRank は、topic ごとに teleport vector が定義されるような PageRank。今回の提案手法は topic-sensitive PageRank そのものではない。)

image

K step の power iteration で近似する。(収束したかどうかは見ない。常に固定回数)

評価

image

State of the Art の精度を出している。 PubMed などはグラフが大きいので PPNP は計算できない。が、APPNP は計算可能で性能もよかった。

image

学習時間はシンプルな GCN よりは遅いが、GAT などよりは速い。

image

APPNP の power iteration 数と精度の分析。 最適な K は、max(ラベルのあるノードとの shortest path distance for node in all nodes) と大体同じになっているらしい。

image

「propagate をどのタイミングで活用するか」についての分析。 propagate しない、training 時のみ、inference 時のみ、両方、の 4 pattern ある。