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
一番左が入力層でCチャンネル、一番右が出力層でFチャンネル、Yはラベルがついているデータによる教師ラベル。
結果
4つのデータセットについて実験を行なっている。(データの詳細は論文を参照https://arxiv.org/pdf/1609.02907.pdf)
他のベースラインと比較して分類精度・訓練時間で優れている。