LoginSignup
5
5

More than 5 years have passed since last update.

Semi-Supervised Classification with Graph Convolutional Networksのまとめ

Last updated at Posted at 2017-05-03

Semi-Supervised Classification with Graph Convolutional Networks
https://arxiv.org/pdf/1609.02907.pdf
について簡単にまとめる。

概要

  • グラフ構造の半教師付き学習。
  • グラフを直接操作するようにCNNを効果的に変形したものを用いて学習する。
  • グラフの局所的な構造とノードの特徴をエンコードするよう隠れ層を学習する。

Graph Convolutional Networks(GCNs)とは

画像を入力できるのがConvolutional Neural Networkなら、グラフをそのまま入力できるネットワークがGraph Convolutional Networkです。

手法

以下の規則に従ったmulti-layer Graph Convolutional Networksを考える。

H^{(l+1)}=\sigma\bigl(\tilde D^{-\frac{1}{2}}\tilde A\tilde D^{-\frac{1}{2}}H^{(l)}W^{(l)}\bigr)

ここで $\tilde A=A+I_{N},\quad A\in \mathbb R^{N\times N}$はグラフの隣接行列, $I_{N}$は単位行列, 
$\tilde D_{ii}=\sum_{j}\tilde A_{ij}$, $W^{(l)}$は各層に固有の重み行列で学習可能, $H^{(l)}\in \mathbb R^{N\times D}$はl番目の隠れ層の出力, $H^{(0)}$は入力。

このネットワークを用いてグラフのノードの分類を行う。

論文では2層のGCNsを用いている。

実験に用いたネットワークの構成はXを入力, Zを出力として、以下の通り。

Z=softmax\bigl(\tilde A\,ReLU(\tilde AXW^{(0)})W^{(1)}\bigr)

ラベルが付いているデータに対してsoftmax cross entropyを用いて学習する。

画像

論文よりhttps://arxiv.org/pdf/1609.02907.pdf
スクリーンショット 2017-05-03 19.15.01.png
一番左が入力層でCチャンネル、一番右が出力層でFチャンネル、Yはラベルがついているデータによる教師ラベル。

結果

4つのデータセットについて実験を行なっている。(データの詳細は論文を参照https://arxiv.org/pdf/1609.02907.pdf)

スクリーンショット 2017-05-03 18.40.32.png

他のベースラインと比較して分類精度・訓練時間で優れている。

参考記事 https://tkipf.github.io/graph-convolutional-networks/

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5