Fire Engine

消防士→ITエンジニア→研究者

論文解説 Group Equivariant Convolutional Networks

前回の記事では、Equivariant Neural Networksというデータの対称性に着目した深層学習の設計の新しいパラダイムについて概観した。

blog.tsurubee.tech

今回は、2016年に登場したEquivariant Neural Networksの先駆け的な存在であるGroup Equivariant Convolution Networksの論文を解説する。

目次

論文紹介

タイトル:Group Equivariant Convolutional Networks(ICML 2016)

著者:Taco S. Cohen, Max Welling

アブストラクト和訳

我々は、対称性を利用することでサンプルの複雑さを軽減する畳み込みニューラルネットワークの自然な一般化であるGroup Equivariant Convolutional Neural Networks(G-CNNs)を紹介する。G-CNNsはG-convolutionsという新しいタイプの層を用い、通常の畳み込み層よりも実質的に高度な重みの共有を享受できる。G-convolutionsは、パラメータ数を増やすことなく、ネットワークの表現力を向上させる。G-convolutionsは使いやすく、並進、反射、回転によって生成される離散的な群に対して、無視できるほどの計算量で実装することが可能である。G-CNNはCIFAR10と回転したMNISTでSOTAの性能を達成した。

群論の予備知識

ここでは、論文を理解するために必要な群論の知識を簡単に説明する。

群の定義

空でない集合 G上に二項演算  G \times G \rightarrow Gが定義されていて、次の性質を満たすとき、 Gを群という。

(1) 結合法則

 任意の a, b, c \in Gに対して、 (ab)c=a(bc)が成り立つ。

(2) 単位元の存在

 ある e \in Gが存在し、任意の a \in Gに対して、 ae=ea=aを満たす。
 元 e単位元という。

(3) 逆元の存在

 任意の a \in Gに対して、 ab=ba=eを満たす b \in Gが存在する。
 元 bを逆元という。

群の具体例

1. 並進群(Translation group)

群の簡単な例として、2次元整数の並進の集合である \mathbb{Z}^2がある。 これは、元として2次元の座標 (n, m)、演算として単純な足し算を考える。 そうすると、結合法則を満たすことは自明であり、単位元 (0, 0)、逆元は (-n, -m)となることから、前述の群の定義を満たすことが確認できる。

2. p4m群

任意の並進移動と、任意の回転中心における90度の回転操作を元とした集合を考える場合、集合は、並進移動・回転操作の合成に対して群となる。また、p4群に鏡映操作を加えた群をp4m群と呼び、この二つの群が、論文中のG-CNNsで対象としている群である。

p4m群の演算は、4つの整数 m, r, u, vを用いて以下のように行列として表現できる。

p4m群の行列表現

ここで、 m \in \left\{0, 1\right\} 0 \leq r \lt 4 (u, v) \in \mathbb{Z}^2である。

準同型写像

 fを群 Gから群 G'への写像とする。任意の a, b \in Gに対して、

 f(ab) = f(a)f(b) \tag{1}

を満たす写像 f準同型写像という。 ここで、 abは群 G上の演算であるが、 f(a)f(b)は群 G'上の演算であることに注意されたい。 準同型写像は、群の演算の性質が引き継がれていることを示しており、このことを「群の構造を保つ」という。

群の作用

群の本質は、それがある対象に「作用する」ことである。

線形代数と群の表現Ⅰの「はじめに」より)

とあるように、作用というのは群論において重要な概念である。
 Gを群、 Xを集合とすると、 G Xへ(左から)作用するとは、写像 L: G \times X \ni (g, x) \longmapsto L(g, x) = L_g(x) \in Xであり、次の二つの性質を満たすものである。

(1)  L(e)=I_X

 群 G単位元に対応する X上の置換は X上の恒等変換である

(2)  L(g_1g_2)=L(g_1)L(g_2)  (g_1,g_2\in G)

 群 Gの二つの元の積 g_1 g_2に対応する X上の置換は、 g_1および g_2にそれぞれ対応する置換の合成(合成写像)である。

(2)の条件は、式(1)の準同型写像と同じ形をしている。 すなわち、群 Gが集合 Xに作用するとは,  Gの各元 gに対して、準同型写像の定理を満たす X上の変換 L(g)が与えられているときをいう。

同変性

同変性の概要図

入力 xについて以下の式を満たすとき、「変換  \Phi は操作  T_g に対して同変である」という。 同変性のより詳細な説明は前回の記事を参照。

 \displaystyle
\Phi(T_gx)=T'_g\Phi(x) \tag{2}


従来のCNNの同変性

CNNの畳み込み層から得られる特徴マップfは、各ピクセルの座標 (p,q) \in \mathbb{Z}^2において、 K次元のベクトルを返す関数  f: \mathbb{Z}^2 \rightarrow \mathbb{R}^K と表現できる。 Kはチャネル数を示している。
ここで、特徴マップ fにある群 Gの元 gを作用させることを考えると、下式のように表せる。

 \lbrack L_g f\rbrack(x) = f(g^{-1}x)  \tag{3}

ここでなぜ gの逆元が登場するかなど関数への作用については、線形代数と群の表現Ⅰの「8.2 群の関数への作用」の解説が直感的でわかりやすい。ここでは、操作を gとして抽象化して書いているが、例えば、 gが並進 t = (u, v) \in \mathbb{Z}^2を表現するのであれば、 g^{-1}xは単純に x - tを意味する。

ここから、従来のCNNが並進移動に対して同変性を持つことを示す。フィルタ \psiを用いた畳み込み処理(正確には相互相関であるが、以降慣例に従い畳み込みと呼ぶ)は以下の式で表される。

 \displaystyle
\lbrack f \star \psi \rbrack(x)=\sum_{y\in \mathbb{Z}^2} \sum_k f_k(y)\psi_k(y-x)  \tag{4}

 kはチャネルのインデックスを示している。ここで、一つのチャネルに着目すると、以下の式変形から並進移動の後に畳み込みをしたものは、畳み込みをした後に並進移動をしたものと同じであることがわかる。

 \displaystyle
\begin{eqnarray}
\lbrack \lbrack L_tf \rbrack \star \psi \rbrack(x) & = & \sum_{y\in \mathbb{Z}^2} f(y-t)\psi(y-x) \\
& = & \sum_{y\in \mathbb{Z}^2} f(y)\psi(y+t-x) \\
& = & \sum_{y\in \mathbb{Z}^2} f(y)\psi(y-(x-t)) \\
& = & \lbrack L_t \lbrack f \star \psi \rbrack \rbrack(x) \\
\end{eqnarray}


2行目は、 y \rightarrow y+tを代入している。この結果は、畳み込み処理は並進群に対して同変であることを意味している。 また、従来のCNNにおける特徴マップ fは、群 \mathbb{Z}^2上の関数と捉えることができる。 G-CNNsではこれを任意の群に対して一般化する。

Group equivariant Convolutional Neural Networks(G-CNNs)

G-CNNsとは

前述のように従来のCNNの畳み込み層はデータの並進移動に対する同変性を持つが、下図のように回転操作に対しては同変性を持たない。 つまり、入力画像を畳み込み処理して得られた特徴マップを左上に並進移動させたものは、入力画像を同様に左上に並進移動した画像を畳み込み処理して得られた特徴マップと一致するが、同様のことは回転操作に対しては成り立たない。

従来のCNNの同変性

これは、例に挙げた手書き数字のように画像内の認識対象に上下左右の明確な向きがある場合には問題になりにくいが、同じ画像でも例えば衛星画像や顕微鏡画像など明確な向きが存在しないものも多く、この場合は回転しても画像の意味は変わらないため、回転に対する同変性が望まれる。 Group equivariant Convolutional Neural Networks(G-CNNs)では並進移動に加えて、鏡映および90度の倍数の回転操作に対する同変性を持つように一般化した畳み込み層(G-convolutions)を実現した。

群上の関数

G-CNNsにおける特徴マップは、群 \mathbb{Z}^2上の関数ではなく、任意の群 G上の関数であり、特に論文中では群p4およびp4m上の関数として定義されている。この群上の関数は非常にイメージしづらいが、論文のFigure 1では以下のようにp4群上の特徴マップのイメージが描かれている。

出典:『Group Equivariant Convolutional Networks』のFigure 1

図の左のように、90度の倍数の回転に関連する4つの特徴マップを円上に描く。そうすると、この図の各ピクセルは回転座標(ピクセルが現れる特徴マップ)と2つの並進座標(特徴マップ内のピクセル位置)を持っている。p4上の関数に90度回転 rをかけると、各特徴マップはその赤い矢印に従って、同時に90度回転を行う。この操作の結果が図の右に示されている。

G-convolution:群同変な畳み込み層

G-CNNsでは独自に3つの層(G-convolution、G-pooling、nonlinearity)を定義しているが、ここではG-convolutionについてのみ解説する。 G-CNNsのp4群上の畳み込み層の処理の全体像が下のスライドにわかりやすくまとまっている。

出典:AMMI Course "Geometric Deep Learning" - Lecture 8 (Groups & Homogeneous spaces)

ここで重要なポイントとして、G-CNNsの畳み込み層は第1層目と第2層目以降ではその性質が大きく異なる。なぜなら、第1層目のフィルタは \mathbb{Z}^2上の関数であるが、第2層目以降では G上の関数になるからである。

第1層目

式(4)の従来のCNNの畳み込み処理は、画像や特徴マップに対してフィルタをシフトさせ、内積を計算する。このフィルタのシフトをある群 Gからの一般的な変換に置き換えることで、G-CNNの第1層で用いられるG-correlationを得ることができる。

 \displaystyle
\lbrack f \star \psi \rbrack(g)=\sum_{y\in \mathbb{Z}^2} \sum_k f_k(y)\psi_k(g^{-1}y) \tag{5}


上式の入力画像 fとフィルタ \psiはともに \mathbb{Z}^2上の関数であるが、特徴マップ f \star \psiは群 G上の関数である。

第2層目以降

第2層目以降では、入力の特徴マップが群 G上の関数であるため、フィルタ \psiも群 G上の関数である必要がある。

 \displaystyle
\lbrack f \star \psi \rbrack(g)=\sum_{h\in G} \sum_k f_k(y)\psi_k(g^{-1}h) \tag{6}


この式が群の作用に対して同変になることの証明は論文の式(12)にある。 従来のCNNやG-CNNsの畳み込み処理の式は、並べて比較してみると何が変わっているのかわかりやすい。

畳み込み処理(相互相関)の比較

「CNN」から「G-CNNs第1層目」では、 -xという並進移動が群の演算 g^{-1}(例えば回転操作)に一般化されている。また「G-CNNs1層目」から「G-CNNs第2層目以降」では、特徴マップとフィルタがともに群 G上の関数となる。数式上では \mathbb{Z}^2上の y G上の hに置き換えられているのみである。

これらの式を用いて、実際にG-CNNsの畳み込み層がどのように特徴マップを処理しているのかは、下の記事に視覚的に解説されているので非常に参考になる。

medium.com

評価結果

論文の評価では、Rotated MNISTとCIFAR-10を用いた実験を行い、G-CNNsは当時のSOTA性能を達成した。

Rotated MNIST

データセットとして、ランダムに回転させたMNISTを用いた。ベースラインとなる通常のCNNモデルとして、3×3畳み込みの7層(最終層は4×4)、各層20チャネルのCNNを用いた(Z2CNN)。次に、各畳み込みをp4-Convolutionで置き換え、Z2CNNとパラメーター数をほぼ同一にするためにフィルタ数を \sqrt{4}=2で割った。最後の畳み込み層の後に回転に対するMax Poolingを追加した(P4CNN)。また、ネットワークアーキテクチャにおいて、中間層で同変性を持たせることが重要であり、早期に不変性を持つことは望ましくないという仮説の検証のために、P4CNNの各畳み込み層の後に、回転に対するMax Poolingを行ったモデルも比較した(P4CNNRotationPooling)。評価結果は、以下の表の通りである。

Group Equivariant Convolutional Networks』のTable 1

提案するP4CNNはZ2CNNの誤差を半減させることがわかった。また、各層が回転に対する不変性を持つP4CNNRotationPoolingは、Z2CNNよりも優れているが、P4CNNよりは誤差が大きいことから、中間層で同変性を持たせることが性能向上に寄与していることが示された。

CIFAR-10

モデルとして、p4、p4m、および標準的な \mathbb{Z}^2の畳み込みを、2種類のベースラインアーキテクチャ(All-CNN、ResNet44)で比較した。またData Augmentationの影響を評価するために、CIFAR10のデータを水平反転と小さな平行移動により増強したCIFAR10+も合わせて評価した。評価結果を以下の表に示す。

Group Equivariant Convolutional Networks』のTable 2

CIFAR10、CIFAR10+のいずれにおいても、ResNet44のp4m-CNNが最も高い性能を示した。また、All-CNNをベースラインアーキテクチャとして用いた場合においても、パラメータ数は同等であるにもかかわらずp4m-CNNが高い性能を示した。

まとめ

今回の記事では、従来の畳み込み層をp4群やp4m群に対して同変性を持つように一般化したG-CNNsの論文について解説した。G-CNNsは、パラメータ数を増やすことなくネットワークの表現力を向上させることができ、回転したMNISTとCIFAR-10で従来のCNNを大きく上回る性能を達成した。G-CNNsの大きな制約としては、対象とする群が離散群に限られることである。また、計算量が群のサイズに比例して大きくなるため、サイズの大きな群に対する適用も難しい。しかし、G-CNNsの提案後に、計算量が群のサイズに依存しない同変なネットワークや連続群に適用可能なネットワークが提案されている。今後はそれらの論文についても見ていきたい。