SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKSを読んだのでメモ
はじめに
SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKSを読んだのでメモ.
Fast approximate convolutions on graphs
ここでは次のような多層のgraph convolutional networks(GCN)を考える.
は無向グラフに自己ループを加えた隣接行列を表し,とは学習パラメータ.はReLUなどの活性化関数で,は層目の出力.
Spectral graph convolution
グラフフーリエ変換によるグラフ上でのフィルタリングは次のような入力信号とをパラメータとするフィルタの積によって表現される.
ここではnormalized graph Laplacianの固有ベクトルで,は固有値を対角成分とする対角行列.ここでは固有値の関数と見ることができる.ここでの問題として,固有ベクトル行列の行列積がとなり計算コストが高いことと,グラフラプラシアンの固有値分解の計算が巨大なグラフに対しては現実的でないことがあげられる.ここでは次のような次のチェビシェフ多項式による近似を使ってこの問題を回避する.
ただし,ではの最大固有値.また,はチェビシェフ係数.チェビシェフ多項式はとして再帰的に計算される.
畳み込みの話に戻れば,近似を使った畳み込みの計算は以下のように定義される.
ただし,.重要なのはチェビシェフ多項式の次数がフィルタサイズと対応している.ここまでは前回読んだ論文の内容.
Layer-wise linear model
この論文ではチェビシェフの多項式で近似されたモデルに対しの場合のみについて考える.この場合モデルはグラフラプラシアンに関して線形になっている.そのためモデルの表現力は大きく下がるが,そこはNNの多層構造によって補う.むしろとすることで,過学習を抑制する効果が期待できる.
以降,計算を簡単にするためとして扱う.この近似のもとではgraph convの計算式は以下のようになる.
これはという二つの学習パラメータを持つ.そこで,過学習を抑制するためのさらなるパラメータ数の制限として以下のような表現を用いる.
ここでは一つのパラメータのみを持つ.こんなんありかという感じだがまあ実験的にはいいんでしょう.グラフ上でのフィルタリング処理は元々はグラフ信号処理で研究されていたものなので,deep neural netに適用した際に勾配消失や爆発に関する問題を避けるような工夫はない.そこでさらなるテクニック(論文中でrenormalization trickと呼ばれていた)として,という変換を行う.ただし,.これにより勾配の消失,爆発を抑制できるらしい(よくわからない).
ここまでの定義を,入力信号 (は入力のチャネル数)に対して一般化すると次のようにかける.
は学習パラメータで,は出力.計算オーダーとしてはとなり,は疎な行列と密な行列の積として実装可能.
Semi-supervised node classification
今まで頑張って定義したGCNを使ってsemi-supervised learningをしようというもの.基本的には最終層にsoftmax関数をかけて得た出力と,正解ラベルを使って次のcross-entropyを最小化するよう学習する.
はラベルを持つ各ノードの集合.要はラベルがあるノードだけを使って分類問題を学習するという単純なもの.ただし,この論文ではSGDではなくbatch gradient descentで学習したとのこと.ただし,確率要素を加えるためdropoutを使ったらしい.dropout使うならデータをサンプリングしてSGDでやってもいい気はするけどどうなんでしょうという気持ち.
まとめ
Renormalizationのあたりがよくわからなかったが実験的にはrenormした方が精度が上がっていた.renormしないほうがresnetの残差学習の形になっていていい気がするんだけどよくわからん.でもこの論文の実験結果からもパラメータ2つより1つにした方が精度上がってたから,前の論文でチェビシェフ使った近似の方が精度良くなってたのはやっぱりパラメータ数が減ったからなのか.
後,ひとつ面白かったのはAppendixのBの実験で,2,3層くらいの浅いモデルが一番汎化して精度がよかったこと.データセットの問題かグラフデータの性質かモデルが悪いのかわからないけどGCNでdeepなモデルを学習するのはひとつの課題っぽい.