オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Graph Convolutional Network / GCN

Index

Graph Convolutional Network / GCN

Graph Convolutional Network / GCN は、Graph Convolution を利用した Neural Network.

グラフ畳み込み / Graph Convolution

深層学習で利用されている他のデータ形式との違い

画像解析、音声解析、自然言語処理など、深層学習によって目覚ましい成果をあげている分野においては、 画素が格子状に配置された 2 次元の行列データや単語が時間順に列として配置された 1 次元の 系列データを主な対象としている.

一方、実世界におけるデータの多くはそのような規則的な構造ではなく、グラフの形で表現されている場合もある.

深層学習の手法を一般化し、このような構造データにも適用できるようにしたい.

畳み込みニューラルネットワーク / CNN

畳み込みニューラルネットワークは、画像認識において入力画像の特徴を認識するために用いられる.

画像認識や文字認識においては、個々の単独の画素ではその特徴や全体における役割を把握するのは難しい.

そこで、周囲の画素の情報を加味することによって、初めて画素やフィルタの範囲の特徴を認識できるようになる.

CNN をグラフ構造に適用する際の課題

従来の深層学習において、畳み込みニューラルネットワークは比較的単純な行列やベクトルを対象としていた.

そのような規則的な構造においては、畳み込みのための近傍のフィルタを定義したりすることは比較的容易である.

グラフにおいても、近傍のノードの特徴を用いて自身のノードの特徴を学習することによって、 ノード分類やグラフ分類、リンク予測などのタスクを高精度に行うことが期待できる.

しかしながら、グラフを対象とした畳み込みは、以下のような理由で単純ではない.

  • 隣接頂点数が可変
  • 複雑なトポロジー
  • ノードが順序づけられていない

グラフ畳み込みのアルゴリズム

Spectral Graph Convolutional Network

信号処理の考えに基づいたもの.

信号処理では、信号を周波数領域へと変換することによって、 圧縮やノイズ除去などを効果的に行う.

信号処理では、音声などの波形をフーリエ変換によって周波数変換し、 その上で、ノイズ除去などをして逆変換をする.

Spatial Graph Convolutional Network

個々のノードとエッジで結ばれた周囲のノードの属性情報を集める操作を、 畳み込み演算とみなして表現の学習を行なっている.

メッセージパッシングのグラぐ畳み込みとも呼ばれている.

参考

書籍

Web サイト

  • GNNまとめ(1): GCNの導入
    • GCN
      • Spectral GCN
        • ChebNet
        • GCN (Kipf+)
    • qiita.com