サーベイ論文の確認と追加調査⑥(Convolutional Graph Neural Networks)|Graph Neural Networkの研究を俯瞰する #6

f:id:lib-arts:20200209171324p:plain

グラフ理論やCNNをグラフ理論に応用したグラフ畳み込みネットワークについては下記で以前に簡単に取り扱いました。

ベースライン論文におけるGraphのCNN学習アルゴリズム|ベースから理解するGraph Convolutional Networks #2 - Liberal Art’s diary

もう少し俯瞰的に取り扱えればということで簡単に調べてみたのですが、2019年のサーベイ論文を見つけましたのでこちらを読み進めつつ必要に応じて追加調査を行えればと思います。

[1901.00596] A Comprehensive Survey on Graph Neural Networks

#1ではAbstractについて、#2ではIntroductionについて、#3ではBackground & Definition(Section2)について、#4ではCategorization and Frameworks(Section3)について、#5ではRecurrent graph neural networksについて取り扱いました。

サーベイ論文の確認と追加調査②(Introduction)|Graph Neural Networkの研究を俯瞰する #2 - Liberal Art’s diary

サーベイ論文の確認と追加調査③(Background & Definition)|Graph Neural Networkの研究を俯瞰する #3 - Liberal Art’s diary

サーベイ論文の確認と追加調査④(Categorization and Frameworks)|Graph Neural Networkの研究を俯瞰する #4 - Liberal Art’s diary

#6ではSection5のConvolutional Graph Neural Networksについて取り扱っていきます。
以下目次になります。
1. Convolutional Graph Neural Networks(Section5)
1-1. Spectral-based ConvGNNs(Section5-A)
1-2. Spatial-based ConvGNNs(Section5-B)
1-3. Graph Pooling Modules(Section5-C)
1-4. Discussion of Theoretical Aspects(Section5-D)
2. まとめ


1. Convolutional Graph Neural Networks(Section5)
1節ではSection5のConvolutional Graph Neural Networksについて取り扱います。

f:id:lib-arts:20200217192002p:plain

冒頭部では、ConvGNNs(Convolutional Graph Neural Network)とRecGNNsとの関連について記載されており、ConvGNNsの形式が他のニューラルネットワークと複合するにあたって効率的かつ便利であったため、ConvGNNsの利用が近年非常に増えてきているとされています。ConvGNNsはspectral-basedとspatial-basedの二つのカテゴリに分けることができるとされています。spectral-basedがSection5-A、spatial-basedがSection5-Bでそれぞれ詳しく記述されているため、それぞれ1-1節、1-2節で確認して行きます。


1-1. Spectral-based ConvGNNs(Section5-A)
1-1節ではSection5-AのSpectral-based ConvGNNsについて取り扱います。

f:id:lib-arts:20200217193352p:plain

f:id:lib-arts:20200217193411p:plain

第一パラグラフの前半では、Spectral-basedな手法はgraph signal processingに基づいていることについて言及し、いくつかの数式を用いて問題を定義しています。ここで正規化ラプラシアン行列(normalized graph Laplacian matrix)の\mathbf{L}を導入し、ここで用いられている\mathbf{D}はノードの次数の対角行列(diagonal matrix)、\mathbf{A}は隣接行列(Adjacency matrix)、\mathbf{I_{n}}単位行列を表しています。ここで\mathbf{L}の行列分解を考え、\mathbf{L}=\mathbf{U}\mathbf{\Lambda}\mathbf{U}^{T}のように書いています。ここで\mathbf{\Lambda}\mathbf{L}固有値の対角ベクトル(diagonal matrix of eigenvalues)を表すとされています。

f:id:lib-arts:20200217200512p:plain

第一パラグラフの後半では、シグナル\mathbf{x}に対するグラフフーリエ変換(graph Fourier transform)としてF(\mathbf{x}) = \mathbf{U}^{T} \mathbf{x}を定義し、また逆フーリエ変換(inverse graph Fourier transform)としてF^{-1}(\mathbf{\hat{x}}) = \mathbf{U} \mathbf{\hat{x}}を定義しています。この時、\hat{x}F(\mathbf{x})の出力を意味しているとされています。この時グラフの畳み込み(graph convolution)は数式(4)や(5)で表すことができるとしています。以後の記述は今回は省略します。


1-2. Spatial-based ConvGNNs(Section5-B)
1-2節ではSection5-BのSpatial-based ConvGNNsについて取り扱います。

f:id:lib-arts:20200217201536p:plain

第一パラグラフでは、画像などにおける従来のCNNの演算(convolutional operation of a conventional CNN)と同様にspatial-basedの演算を定義するとしています。

f:id:lib-arts:20200217201955p:plain

上記のFigure1で概念的なイメージが記載されています。左が画像に対する畳み込みで画像などに用いられる通常のCNNなどで使われており、右がGraph Convolutionとして定義されています。

f:id:lib-arts:20200217202601p:plain

第二パラグラフではRecGNNsのGNN*と並行で提案された、NN4G(Neural Network for Graphs)がspatial-based ConvGNNsの最初の研究であるとされています。畳み込みの演算としては数式(15)で記載されており、後ろの項でパラメータのθを用いて隠れ層の値の畳み込みを行なっています。また、数式(16)は数式(15)を行列の形式で書き直したものであるとされています。以降は今回は省略します。


1-3. Graph Pooling Modules(Section5-C)
1-3節ではSection5-CのGraph Pooling Modulesについて取り扱います。

f:id:lib-arts:20200217203543p:plain

f:id:lib-arts:20200217203602p:plain

入力したgraph dataのdown samplingを行うにあたってpoolingを行うとされており、poolingに置いて一番シンプルな方法として平均(mean)/最大値(max)/合計(sum)などがあげられています。ここでKはレイヤーのインデックスを表しているとされています。処理の概要についてはつかめたので以降の内容は省略します。


1-4. Discussion of Theoretical Aspects(Section5-D)
今回は省略します。


2. まとめ
#6ではSection5のConvolutional graph neural networksについて取り扱いました。
#7では引き続き、Section6のGraph AutoEncodersについて確認していきます。