Capsule Graph Neural Network
DLゼミ
2019.11.08
北海道⼤学⼤学院情報科学院 調和系⼯学研究室
博⼠1年 平間友⼤
Zhang Xinyi*, Lihui Chen*
*School of Electrical and Electronic Engineering Nanyang Technological University, Singapore
論⽂URL https://openreview.net/pdf?id=Byl8BnRcYm
引⽤: Xinyi Zhang and Lihui Chen. Capsule graph neural network. ICLR, 2019.
https://openreview.net/pdf?id=Byl8BnRcYm
・タイトル
  Capsule Graph Neural Network
・発表学会(ポスター)
  ICLR2019(International Conference on Learning Representations)
・著者
  Zhang Xinyi, Lihui Chen
・所属
  School of Electrical and Electronic Engineering Nanyang Technological University, Singapore
・実装
  Tensorflow:https://github.com/XinyiZ001/CapsGNN
  Pytorch:https://github.com/benedekrozemberczki/CapsGNN.
論⽂情報
・Graph Neural Networks(GNN)から学習した⾼品質のノード埋め込みは、幅広いノー
ドベースのアプリケーションに適⽤されており、最先端(SOTA)のパフォーマンスを達成
している。しかし,スカラーノード表現ではノード/グラフの特徴を保存するには不⼗分で
あると考える.
・CapsuleNeural Network(CapsNet)で提案されるカプセルの概念を⽤いたカプセルグ
ラフニューラルネットワーク(CapsGNN)を提案し、既存のGNNベースのグラフ埋め込
みアルゴリズムの改善を⾏った.10個のグラフ構造化データセットを使⽤した広範な評価に
より、CapsGNNはいくつかのグラフ分類タスクで他のSOTAテクニックよりも優れているこ
とを検証した.
論⽂概要
Capsule Graph Neural Network(CGNN)構造
背景
・グラフニューラルネットワーク(GNN)から学習したノードはSOTAのパ
フォーマンスを持っている.
・しかし,ノード/グラフのプロパティを効率的に保持するにはスカラー
ノード表現では不⼗分.
↓
・より⼊⼒の特徴表現を効率的に得るため,抽出したノードをベクトルの集
合で表現するカプセル構造をもつCapsNetを加えると・・・?
グラフとは
Scarselli, Franco, et al. "The graph neural network model." IEEE Transactions on Neural Networks 20.1 (2008): 61-80.
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4700287
グラフ構造データの例 SNS,辞書,構造式,画像?など,ノードとのつながり
Graph Convolutional Network
Schlichtkrull, Michael, et al. "Modeling relational data with graph convolutional networks." European Semantic Web Conference. Springer, Cham, 2018.
https://arxiv.org/pdf/1703.06103.pdf
参考:https://qiita.com/tktktks10/items/98d21133cf3e121676c3
:ノード における 番⽬の中間層
:Relation(関係)の集合
:関係 におけるノードiの隣接ノードの集合
線形結合→活性化関数へ
h(l+1)
i
i l + 1
R
N r
CapusuleNet
畳み込み層 畳み込みカプセル層 (l) DigitCaps (l+1)
畳み込み層: 入力画像から256次元の特徴抽出
畳み込みカプセル層: 32 8次元
DigitCaps層: 16次元 10個(クラス)のベクトル
CNN
CapsNet
・CNNをベースとし、カプセル構造を持ったCapsNetを提案
 - 特徴をスカラー→ベクトルで表現
 - 各特徴ベクトル(カプセル)同⼠を繋ぐ
 - 画像内に存在するエンティティの特性を表現する
 ・ポーズ(位置,サイズ,⽅向)・幾何形状・速度
 ・反射特性・⾊合い・テクスチャ
Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. "Dynamic routing between capsules." Advances in neural information processing systems. 2017.
紹介スライド:https://www.slideshare.net/harmonylab/dynamic-routing-between-capsules-86065078
CapusuleNet
・ダイナミックルーティングアルゴリズム
 カプセル間の結合強度を計算(バックプロパゲーションではない)
https://github.com/naturomics/CapsNet-Tensorflow
画像の空間情報を
持ったベクトル
ラベルとの空間的な関連
性の重み付け行列
ルーティング手法による各予測
ベクトルの結合強度
CapusuleNet
DigitCaps層から数字の画像を復元するデコーダー
CapusuleNet
・DigitCapsは⼊⼒の特徴を捉えており,再現可能
・Lossの計算に以下の式を加えることでより精度が向上している
紹介論⽂「CapsGNN」でもこれを利⽤(Lkは後述)
Reconstruction Loss 復元画素値-⼊⼒値Loss = Lk + 0.0005 × ( )2
Capsule Graph Neural Network
Capsule Graph Neural Network(CGNN)構造の概要
Block1)ノードカプセル抽出ブロック:GNNを適⽤し、異なる受容フィールドを持つローカル頂点の特徴を抽出し、Primary Capsulesを構築
Block2)グラフカプセル抽出ブロック:アテンションとルーティングを⽤いて、グラフカプセルを⽣成
Block3)グラフ分類ブロック:ルーティングを適⽤し、グラフ分類⽤のクラスカプセルを⽣成
→次ページから各ブロックの詳細について説明します.
cl = 2
P = 16
d = 8
5層
Capsule Graph Neural Network
Block1
GNN(GCN)を適⽤し、異なる受容フィールド
を持つローカル頂点の特徴を抽出し、Primary
Capsulesを構築
:レイヤー のノード特徴量
i :チャンネルの座標
:チャンネル数
:学習する重み⾏列
:⾮線形活性化関数
:情報変換⾏列
:グラフGの次数⾏列
:グラフGの隣接⾏列
Zl
l
j
d
Wl
f
T
D
A
GCNを利⽤したPrimary Capsuleの計算式
⼊⼒グラフのノード特徴量の計算
正規化ラプラシアン⾏列?
Capsule Graph Neural Network
Block2
Primary Capsuleからアテンションとルーティン
グアルゴリズムを⽤いてグラフカプセルを⽣成
・Attention
・Primary Capsuleのサイズは⼊⼒グラフのサイズに依存
→各ノードカプセルをスケーリングし,異なるグラフから⽣成されるグラフカプセルの
サイズが⼤きく異る場合でも,⽐較可能にする
・グラフのより関連性の⾼い部分に着⽬できるようモデルをガイドする
↓
2層の全結合層によるFFNでAttention値を求める(Additive Attention:加法注意)
Capsule Graph Neural Network
・Attentionモジュール
・Primary Capsuleをreshape
・2層の全結合層によって各チャンネルのアテンション値を⽣成
・各⾏ごとに正規化(Node-based Normalization)
・スケーリングされたカプセルとPrimary Capsuleを乗算
ノード の全カプセルを連結n
ノード の 番⽬のカプセルn i
アテンション値
Capsule Graph Neural Network
Block3
⽣成されたグラフカプセルにルーティングを適⽤し,
クラス分類を⾏うためのクラスカプセルを⽣成
Claasification Loss
Reconstruction Loss
⼊⼒グラフがクラスkの場合, および
が⼤きい場合における初期学習段階でカプセルの⻑さが短くなることを防⽌
 クラス分類の場合0.5,バイナリは1
m + = 0.9,m − +0.1 Tk = 1
λ : K
K:クラスk
再構成するのは⼊⼒ノードのヒストグラム
:⼊⼒グラフが持つ属性iのノード数
:デコードされた値
:⼊⼒グラフに属性 のノードが含まれる場合1
クラス分類においては,0.1にスケーリング
mi
di
MPi i
実験設定
10分割交差検証(学習:8,テスト:1,検証:1)
・10個のベンチマークデータセットを⽤いて,分類タスクにおける
SOTAのアプローチと本⼿法の⽐較
・カプセルによる影響の調査
・⽣成されたグラフ/クラスカプセルの簡単な分析
データセット
ハイパーパラメータは資料最後に添付
実験結果
・Bioデータセットに対する各⼿法との⽐較
 ・各分割のテストデータの平均精度
実験結果
・Socialデータセットに対する各⼿法との⽐較
 ・各分割のテストデータの平均精度
実験結果
・カプセルの効果を確認するため,カプセルブロックを
全結合層に置き換えたものと⽐較する(テストデータ:NCI1)
dn − dg − P
: ノードカプセルの次元
: グラフカプセルの次元
: グラフカプセルの数
dn
dg
P
Accuracy
全結合層の次元数
dg − P
実験結果
・⾼次元データを可視化するt-SNE
を⽤いた各チャンネルのカプセルの分布
REDDIT-M12K
データセットの例
グラフカプセル
クラスカプセル
近似のイメージ*
https://blog.albert2005.co.jp/2015/12/02/tsne/
まとめ
・流⾏りのGNN,Attentionに加え,ICLR2019で唯⼀?CapsNetを組み合わ
せたグラフ構造データに対する新しいモデル「CapsGNN」を提案
・10のデータセットのうち,6のデータセットでSOTA達成
・ソーシャルデータセットに特に有効
・カプセルの持つ特性,説明は今後の課題.ただし,スカラーベースの⼿法
では困難な説明が将来可能になるはず.
個⼈の感想
・デコードについては特に記載ないため,Lossの⼤きさや再現精度について
は述べられていない
→カプセルがうまくグラフを表現できてるのか,精度のみでは不明
ハイパーパラメータ

Capsule Graph Neural Network