Index
Graph Convolutional Network / GCN
Graph Convolutional Network / GCN は、Graph Convolution を利用した Neural Network.
グラフ畳み込み / Graph Convolution
深層学習で利用されている他のデータ形式との違い
画像解析、音声解析、自然言語処理など、深層学習によって目覚ましい成果をあげている分野においては、
画素が格子状に配置された 2 次元の行列データや単語が時間順に列として配置された 1 次元の
系列データを主な対象としている.
一方、実世界におけるデータの多くはそのような規則的な構造ではなく、グラフの形で表現されている場合もある.
深層学習の手法を一般化し、このような構造データにも適用できるようにしたい.
畳み込みニューラルネットワーク / CNN
畳み込みニューラルネットワークは、画像認識において入力画像の特徴を認識するために用いられる.
画像認識や文字認識においては、個々の単独の画素ではその特徴や全体における役割を把握するのは難しい.
そこで、周囲の画素の情報を加味することによって、初めて画素やフィルタの範囲の特徴を認識できるようになる.
- フィルタリング / 畳み込み演算
CNN をグラフ構造に適用する際の課題
従来の深層学習において、畳み込みニューラルネットワークは比較的単純な行列やベクトルを対象としていた.
そのような規則的な構造においては、畳み込みのための近傍のフィルタを定義したりすることは比較的容易である.
グラフにおいても、近傍のノードの特徴を用いて自身のノードの特徴を学習することによって、
ノード分類やグラフ分類、リンク予測などのタスクを高精度に行うことが期待できる.
しかしながら、グラフを対象とした畳み込みは、以下のような理由で単純ではない.
- 隣接頂点数が可変
- 複雑なトポロジー
- ノードが順序づけられていない
グラフ畳み込みのアルゴリズム
Spectral Graph Convolutional Network
信号処理の考えに基づいたもの.
信号処理では、信号を周波数領域へと変換することによって、
圧縮やノイズ除去などを効果的に行う.
信号処理では、音声などの波形をフーリエ変換によって周波数変換し、
その上で、ノイズ除去などをして逆変換をする.
Spectral Graph Convolutional Network
Spatial Graph Convolutional Network
個々のノードとエッジで結ばれた周囲のノードの属性情報を集める操作を、
畳み込み演算とみなして表現の学習を行なっている.
メッセージパッシングのグラぐ畳み込みとも呼ばれている.
- Spatial Graph Convolutional Network
参考
書籍
- グラフニューラルネットワーク PyTorch による実装
- 1 グラフニューラルネットワークとは
- 1.2 グラフを対象とした畳み込み
- 3 グラフにおける畳み込み
- 3.1 グラフ畳み込みにおけるアプローチ
- 3.2 Spectral Graph Convolution
- 3.3 Spatial Graph Convolution
- 1 グラフニューラルネットワークとは
Web サイト
- GNNまとめ(1): GCNの導入
- GCN
- Spectral GCN
- ChebNet
- GCN (Kipf+)
- Spectral GCN
- qiita.com
- GCN