Open Shumpei-Kikuta opened 5 years ago
Hongyang Gao, Zhengyang Wang, Shuiwang Ji KDD 2018
画像データにおいてCNNが高精度を達成し、非常に大きな影響を与えている。画像データはグラフデータの特定のケースとみなすことができるため、グラフデータに対しても工夫をすることでCNNが適用できると考えられる。 したがって、この論文ではグラフデータに対し、CNNを適用する手法を提案し、グラフデータにおいても、高精度を達成できることを実験で示す。
Deep Learningは特定のタスクにおいて非常に大きなインパクトを与え、特に画像データにおけるCNNの利用は当然のこととされている。グラフの分類タスクにおいてもCNNを利用することで高精度を達成できると考えられるため、本論文ではこの手法を提案する。 また、グラフデータに対して畳み込み演算を適用する動きはGCN(Graph Convolution Networks) や、GAT(Graph Attention Networks)などによって、これまでにもなされている。しかし、今までの提案手法は、グラフデータを変形させず、畳み込み演算を変形させることでグラフデータに用いられてきた。提案手法においては、グラフデータを変形し、畳み込み演算は純粋なものを用いることでCNN同様高い精度を達成することを目指す。
グラフデータにおけるCNNの利用について、2点の問題がある。
これらの問題点を解決するため、以下の手法が提案された。
計算の全体像 それぞれのノードは特徴量を持っている。それらをまず低次元に埋め込む。その後、LGCL layerによって隣接ノードの特徴量をaggregating(まとめ上げ) していく。 emebedding layerにおいては、通常の線形変換が用いられる。
LGCL layerの導入 LGCL layerにおいては以下の計算を行う。 A: 隣接行列、k: 一定の隣接ノードの個数(ハイパーパラメータ), Xl: 特徴量C, ノード数Nとした際のマトリックス, c: 1-D convolution, g: k-largest Node selection (以下に示す)
K-largest Node Selection 隣接ノードを一定の個数とし、それらを並び変えるための演算。 全体像は以下の通り。 オレンジに注目して、その周りのノードについて、特徴量ごとに、大きい順に取得し、並べることを繰り返す。そうすることで、{特徴量: C} × {(隣接ノード数+ 自分): k + 1}のマトリックスが得られる。 この演算を行うことで、K-largest Node Selectionは完了する。
1-D convolution 得られたマトリックスに対し、一次元畳み込み演算を適用する 。
このK-largest Node Selectionと、1-D convolution を繰り返すことで、徐々に特徴量を洗練させていく。特徴量としては、隣接関係を考慮され、元の特徴量よりも洗練されたものが得られる。
GCNと合わせてコーディングしたい。
Published
Hongyang Gao, Zhengyang Wang, Shuiwang Ji KDD 2018
Summary
画像データにおいてCNNが高精度を達成し、非常に大きな影響を与えている。画像データはグラフデータの特定のケースとみなすことができるため、グラフデータに対しても工夫をすることでCNNが適用できると考えられる。 したがって、この論文ではグラフデータに対し、CNNを適用する手法を提案し、グラフデータにおいても、高精度を達成できることを実験で示す。
Why
Deep Learningは特定のタスクにおいて非常に大きなインパクトを与え、特に画像データにおけるCNNの利用は当然のこととされている。グラフの分類タスクにおいてもCNNを利用することで高精度を達成できると考えられるため、本論文ではこの手法を提案する。 また、グラフデータに対して畳み込み演算を適用する動きはGCN(Graph Convolution Networks) や、GAT(Graph Attention Networks)などによって、これまでにもなされている。しかし、今までの提案手法は、グラフデータを変形させず、畳み込み演算を変形させることでグラフデータに用いられてきた。提案手法においては、グラフデータを変形し、畳み込み演算は純粋なものを用いることでCNN同様高い精度を達成することを目指す。
What
グラフデータにおけるCNNの利用について、2点の問題がある。
これらの問題点を解決するため、以下の手法が提案された。
計算の全体像 それぞれのノードは特徴量を持っている。それらをまず低次元に埋め込む。その後、LGCL layerによって隣接ノードの特徴量をaggregating(まとめ上げ) していく。 emebedding layerにおいては、通常の線形変換が用いられる。
LGCL layerの導入 LGCL layerにおいては以下の計算を行う。 A: 隣接行列、k: 一定の隣接ノードの個数(ハイパーパラメータ), Xl: 特徴量C, ノード数Nとした際のマトリックス, c: 1-D convolution, g: k-largest Node selection (以下に示す)
K-largest Node Selection 隣接ノードを一定の個数とし、それらを並び変えるための演算。 全体像は以下の通り。 オレンジに注目して、その周りのノードについて、特徴量ごとに、大きい順に取得し、並べることを繰り返す。そうすることで、{特徴量: C} × {(隣接ノード数+ 自分): k + 1}のマトリックスが得られる。 この演算を行うことで、K-largest Node Selectionは完了する。
1-D convolution 得られたマトリックスに対し、一次元畳み込み演算を適用する 。
このK-largest Node Selectionと、1-D convolution を繰り返すことで、徐々に特徴量を洗練させていく。特徴量としては、隣接関係を考慮され、元の特徴量よりも洗練されたものが得られる。