Representation Learning on Graphs: Methods and Applications まとめ
Kenshin Abe
Introduction
- "Representation Learning on Graphs: Methods and Applications"というsurvey論文のまとめです。
- グラフから、機械学習の入力として簡単に利用できる特徴量を抽出。
やりたいこと
- 無向グラフG=(V,E)が与えられる。
(隣接行列A, 頂点の特徴量X∈Rm∗∣V∣)
- 各頂点またはsubgraphについて、embedding
z∈Rd(d<<∣V∣)
を出力。(後に機械学習で問題を解くときに、必要な情報が復元できるような形にしたい)
- 今回は頂点についてのembeddingのみ扱う。
Encoder Decoder
- この論文で提案されている統一的なフレームワーク
- ENC:V→Rd
d次元のベクトル(embeddings)に圧縮
- DEC:Rd∗Rd→R+
(多くの場合で使われるpairwise decoder)
元のグラフでのsimilaritysG(vi,vj)に近似したい
- L=∑(vi,vj)∈Dl(DEC(zi,zj),sG(vi,vj))
損失関数
既存手法 vs 新規手法
- 既存手法は、人間が調整して機械学習に投げる前の前処理という側面が大きい。
- degree statistics
- graph kernel
- その他手動のヒューリスティクス
- 新規手法は、エンコード手法そのものを機械学習で学習。
- Shallow Embedding
- Neighborhood Autoencoder Methods
- Neighborhood Aggregation and Convolutional Encoders
Shallow Embedding
- ENC(vi)=Zvi (Z∈Rd∗∣V∣,viはワンホットなベクトル)
- Factorization-based
- Random Walk
- 頂点ごとにパラメータが独立なので冗長な可能性が高い
- Encodeの際に元のグラフの頂点の特徴量をうまく扱えない
- 動的なグラフに対応できない
Neighborhood Autoencoder Methods
- unary decoderを採用。
- DEC(ENC(si))≈si を目指す
(siは頂点iのsimilarity vector)
- deep autoencodersにより次元を下げる。
- SDNE, DNGR(siとautoencodersの最適化手法が違う)
- autoencodersのinputサイズが∣V∣なので計算量が大変
- 動的なグラフに対応できない
Neighborhood Aggregation and Convolutional Encoders
- 頂点の特徴量xi ∈Rmをaggregationしていく。
- Graph Convolutional Networks
- column networks
- GraphSAGE algorithm
- AGGREGATEk,Wkを学習
- ほぼ∣V∣の線形時間
- 動的なグラフもok(訓練中に存在しなかった頂点にも対応)
今後
- Subgraph Embeddings
- GCNの具体的手法の論文
- NP困難問題を解く論文
Representation Learning on Graphs
By knshnb
Representation Learning on Graphs
- 57