Steerable CNNs の紹介

3. 特徴量マップのなす空間と Steerability

ここでは、特徴量マップのなす空間とは何であるのか、さらに特徴量マップのなす空間が Steerable であるとはどういうことなのか、を説明します。その際に、群の表現を用います。

3.1. 特徴量マップとは

2 次元のカラー画像 (RGB画像) を、各ピクセルごとに 3 次元の実ベクトル ({\rm R成分の値, G成分の値, B成分の値}) を対応させたものとみなします。画像のピクセルが無限に広がっていると考えて、 2 次元のカラー画像を写像

f\colon \mathbb{Z}^2\to \mathbb{R}^3

とみなします。ニューラルネットワークの層の入力や出力として現れる 2 次元信号を特徴量マップと呼ぶことにします。チャネル数 C を固定して、特徴量マップ全体の集合

\mathcal{F}(C) = \{f\colon \mathbb{Z}^2 \to \mathbb{R}^C \;;\; f \ \mathrm{は有限個の点を除いて}\ 0\ \mathrm{である} \}

を考えます。 \mathcal{F}(C)
  • 和: (f+g)(x)=f(x)+g(x),\ f, g\in \mathcal{F}(C),\ x\in \mathbb{Z}^2
  • スカラー倍: (a\cdot f)(x)=a\cdot (f(x)),\ f\in \mathcal{F}(C),\ a\in \mathbb{R}
を考えることができ、可算無限次元の実線型空間となります。

3.2. Steerableとは

次に特徴量マップのなす空間が steerable であることを定義します。

特徴量マップのなす空間 \mathcal{F}(C)\mathcal{F}(C') と、それらの間の写像 \Phi\colon \mathcal{F}(C)\to \mathcal{F}(C') が与えられているとします。さらに、群 G\mathcal{F}(C) 上の (無限次数の) 表現 \pi が与えられているとします。この時、ある \mathcal{F}(C') 上の表現 \pi' が存在して、任意の g\in G と任意の f\in \mathcal{F}(C) に対して、

\Phi(\pi(g)f)=\pi'(g)(\Phi(f))

が成り立つ時、 \mathcal{F}(C')G\Phi に関して steerable であると言います。steerable という呼び方は、 \mathcal{F}(C') の元である特徴量マップを、 \mathcal{F}(C) の元である入力の特徴量マップを与えることなく \pi'(g) によって steer、すなわち「操縦・操舵する」、ことができるという意味合いのようです。

図式で書くと上式は、任意の g\in G に対して以下の図式が可換になること、すなわち、左上の \mathcal{F}(C) から右下の \mathcal{F}(C') へ行く時計周り・反時計周りの 2 つの写像が等しくなる、ということです
上の式が成り立つ時 \Phi は、 G同変 ( Gequivariant) な写像と言います。G が文脈から明らかな時には、単に同変と言いうこともあります。

Steerable CNNs では、 \Phi を convolution 層や活性化関数などを使って構成します。

3.3. Steerable CNNs で今回扱う群

今回取り上げた論文 [CW17] では、特徴量マップのなす空間に作用させる群 G として、 2 次元平面の平行移動・回転・鏡映で表せる p4m と呼ばれる群を考えているため、以後この群を扱うことにします。

p4m は次のような群です
ここで、群の演算は通常の行列の積で定義します。今回はあまり意識することはないですが、 p4m は壁を繰り返し模様で埋める際に現れる対称性で文様群または壁紙群と呼ばれるものの1つです (例えば、Wikipedia の p4m に関する記事 参照)。


p4m は、原点に関する回転・原点を通る縦軸に関する鏡映・平行移動の合成として \mathbb{Z}^2 に作用します。具体的には、作用 y=g\cdot x, g\in p4m,\ x, y\in \mathbb{Z}^2, を

g = \begin{pmatrix}R & T\\ 0 & 1\end{pmatrix} \in p4m,\ R =\begin{pmatrix}(-1)^m \cos(\frac{r\pi}{2}) & -(-1)^m \sin(\frac{r\pi}{2})\\ \sin(\frac{r\pi}{2}) & \cos(\frac{r\pi}{2})\end{pmatrix},\ T =\begin{pmatrix}u\\ v\end{pmatrix}

に対して、

\begin{pmatrix}y \\ 1 \end{pmatrix}= \begin{pmatrix}R & T\\ 0 & 1\end{pmatrix} \begin{pmatrix}x\\ 1\end{pmatrix}

で定義します。 R の部分は回転と鏡映、 T の部分は平行移動に対応しています。 ここではアフィン変換の計算を行う際などにも使われる斉次座標表示を使っています。群・作用の順番で説明しましたが、このような変換の合成を集めてきたものが p4m になっているということもできます。


この作用を踏まえると p4mTR の部分に対応する 2 つの群が組み合わさってできたものと考えることができます。まず、2 つの群

\mathbb{Z}^2 = \left\{\begin{pmatrix}u\\ v\end{pmatrix}\;;\; u, v \in \mathbb{Z}\right\},

D_4 = \left\{\begin{pmatrix}(-1)^m \cos(\frac{r\pi}{2}) & -(-1)^m \sin(\frac{r\pi}{2})\\ \sin(\frac{r\pi}{2}) & \cos(\frac{r\pi}{2}) \end{pmatrix}\;;\; m \in \{0, 1\}, r\in \{0, \pm 1, 2\}\right\}.

を考えます。ここで、 \mathbb{Z}^2 は成分ごとの足し算、 D_4 は行列としての積がそれぞれ群演算です。

次に集合としての直積

\mathbb{Z}^2\times D_4= \{(t, h); t\in \mathbb{Z}^2,\ h\in D_4\}

D_4\mathbb{Z}^2 への回転・鏡映による作用 \cdot ( 2 次正方行列を 2 次元ベクトルへ左からかける) を考えます。この集合 \mathbb{Z}^2\times D_4 において群演算 \cdot_{p4m}

(t, h)\cdot_{p4m}(t', h')=(t + h\cdot t', hh'),\ t,t'\in \mathbb{Z}^2,\ h, h'\in D_4

と定義したものが p4m です。これは、作用 \cdot に関する群 \mathbb{Z}^2 と群 D_4半直積 (例えば、Wikipedia の半直積に関する記事 参照) で、 p4m=\mathbb{Z}^2 \rtimes D_4 のように表記します。 t 成分において群の作用が関わってくるところが直積との違いです。

\mathbb{Z}^2p4m の部分群 {(t, 1)} として自然に埋め込め、 D_4p4m の部分群 {(0, h)} として自然に埋め込めます。各々、 p4m の行列による定義において m=r=0 となる行列のみ、 u=v=0 となる行列のみを考えることに対応しています。


D_4 は正方形の対称性を表す群で二面体群と呼ばれます。生成元とその生成元が満たす関係式を指定することで、群を記述する、群の表示と呼ばれる方法があります (例えば、Wikipedia の群の表示に関する記事 参照) 。 D_4

D_4 = \left<r, m \mid r^4=e, m^2=e, mrmr=e\right>

という表示を持ちます。ここで、 r, m は生成元で、 90 度回転と鏡映に対応する元です。 \mid の右側は生成元が満たす関係式です。 D_48 個の元を持つ有限群です

D_4 = \{e, r, r^2, r^3, m, mr, mr^2, mr^3\}.

D_4 の正方形への作用は下図のようになります。
この画像には alt 属性が指定されておらず、ファイル名は D4_exp-1024x957.png です

3.4. 特徴量マップのなす空間上の表現

入力の特徴量マップとして RGB 画像を考えます。

通常の CNN は、各特徴量マップのなす空間上の空間方向の平行移動による \mathbb{Z}^2 の表現に関して同変であるため、平行移動で不変な特徴を効率よく取ることができます。例えば、画像内のある左右方向のエッジのような部分に強く反応するconvolution 層のフィルタがあるとします。その左右方向のエッジのような部分を平行移動しても同じフィルタが強く反応するため、左右方向のエッジとそれを平行移動したものの特徴を取るにはフィルタ 1 枚分のパラメータを学習すれば十分と考えられます。ところが、通常の CNN は画像の回転・鏡映に関しては同変でないため、convolution 層で回転・鏡映で写りあう特徴を取るには、一般には、異なるフィルタのパラメータを学習することが必要と考えられます。Steerbale CNNs では、回転・鏡映に関してはチャネル方向の変換も絡めて各特徴量マップのなす空間上の表現を考えます。ネットワークをそれらの表現について同変にすることで、入力の RGB 画像の回転・鏡映で写りあう特徴の違いを空間方向の回転・鏡映とチャネル方向の変換が担うようにします。その際、convolution 層では異なるフィルタの間に何かしらの関係があるようにネットワークを設計し、同じ特徴を取るにも通常よりパラメータ数を減らことを目指します。

ここでは、まず、入力の RGB 画像の回転・鏡映で写りあう特徴の違いを空間方向の回転・鏡映とチャネル方向の変換が担うようにするために、特徴量マップのなす空間上でどのような表現を考えるかを説明します。次に、その表現をどのように指定するかを説明します。

3.4.1. Steerable CNNs で考える表現

G=p4m=\mathbb{Z}^2\rtimes D_4 の各特徴量マップのなす空間

\mathcal{F}(C)=\{ f\colon \mathbb{Z}^2 \to \mathbb{R}^C \;;\; f \ \mathrm{は有限個の点を除いて}\ 0 \mathrm{である} \}

上の表現を考えます。

まず、 D_4G の部分群とみなしたものを

H=\{(0,\tilde{h})\;;\; \tilde{h}\in D_4\}\subset \mathbb{Z}^2\rtimes D_4

として、 H\mathbb{R}^C 上の表現 \rho1 つとります。そして、 \mathcal{F}(C) 上の表現 \pi を、 f\in \mathcal{F}(C)t\in \mathbb{Z}^2\tilde{h} \in D_4x\in \mathbb{Z}^2 h=(0, \tilde{h}) に対して

(\pi((t, \tilde{h}))f)(x) = \rho(h)f((t, \tilde{h})^{-1}\cdot x)=\rho(h)f(\tilde{h}^{-1}\cdot (x-t))\ (1)

で定義します。真ん中の辺の \cdotp4m\mathbb{Z}^2 への回転・鏡映と平行移動による作用を表し、最右辺の \cdotD_4\mathbb{Z}^2 への回転・鏡映による作用を表しています (3.3. Steerable CNNs で今回扱う群 参照)。つまり、 \pi((t, \tilde{h}))fx での値は、空間方向 ( \mathbb{Z}^2 方向) の変換 (t,\tilde{h})\cdot で回転・鏡映と平行移動をすると x にくるような点を取り、その点での f の値をチャネル方向 ( \mathbb{R}^C 方向) の線形変換 \rho(h) で変形したもの、になります。

これは、離散群 G=p4m の部分群 H\simeq D_4 の表現 \rho\colon H\to GL(\mathbb{R}^C) を与えることによって定まる、離散群 G=p4m\mathcal{F}(C) 上の表現で、誘導表現と呼ばれるものです[注1]。 \pi = \mathrm{Ind}_H^G \rho と書かれます。

では、改めてこのような表現は Steerable CNNs でどのような役割を果たすのか考えてみます。入力の RGB 画像のなす空間上の表現を、空間方向の回転・鏡映・平行移動のみにし、チャネル方向の表現を自明 (つまり \rho(h) は恒等変換にする) にします。Steerable CNNs では、中間の特徴量マップの表現をチャネル方向にも非自明にして、回転・鏡映についても同変になるようにします。そうすることで、入力の RGB 画像の回転・鏡映で写りあう特徴の違いを空間方向の回転・鏡映とチャネル方向の変換が担うようにしています。

(1) のような表現で CNN を同変 (steerable) にするには、convolution 層ではフィルタの集まり (フィルタバンク) を H-同変になるように設計して異なるフィルタ間に関係を持たせれば十分であること、また、そのような設計をすると通常の convolution 層に比べてどの程度パラメータが削減できるか、について 4.1. Convolution 層の同変なフィルタバンク でもう少し詳しく見ていきます。

3.4.2. 特徴量マップのなす空間上の表現の指定

今回考える G=p4m の特徴量マップのなす空間 \mathcal{F}(C) 上の表現 \pi は、部分群 H\simeq D_4 の有限次元線型空間 \mathbb{R}^C 上の表現 \rho を指定すると決まります。この \rho は、各特徴量マップのなす空間ごとに、あらかじめ決めておくハイパーパラメータになります。

有限群の有限次元空間上の表現を定めることは、表現の定義を満たすように群の各元に対して同型写像を定めることです。既約表現や剰余類という概念を使うと、比較的容易に表現を定めることができます。ここでは、既約表現について簡単に説明します (剰余類については 補足2. 剰余類を用いた置換表現 を参照)。

既約表現は、一言でいえば、これ以上分解できない表現です。正確には、次の通りです。表現 \rho\colon G\to GL(V) に対して、任意の g\in G に対して、 \rho(g)(W)\subset V となるような V の部分空間 WG-不変部分空間と呼びます。表現 \rho\colon G\to GL(V)V{0} 以外に不変部分空間を持たない時、既約であると言います。そうでない時、表現 \rho可約であると言います。

有限群 H に対して、 H\mathbb{C} または \mathbb{R} 線型空間上の任意の有限次元表現は、既約表現の直和に分解されます ( Maschke の定理)。また、直和分解に現れる各既約表現の個数 (重複度) は、分解の仕方によらないことが知られています。

例えば、群 D_4\mathbb{C} または \mathbb{R} 線型空間上の既約表現は以下の \mathrm{A1}, \mathrm{A2}, \mathrm{B1}, \mathrm{B2}, \mathrm{E} で (ここでは、適当に基底を定めて行列表示をしています)、それぞれ表現の次数は 1, 1, 1, 1, 2 です。これらは、 \mathbb{C} 線型空間上の表現の指標や \mathbb{C} 線型空間上の表現と \mathbb{R} 線型空間上の表現の関係を用いて確かめることができます。
この画像には alt 属性が指定されておらず、ファイル名は irreps-1.png です
各既約表現の重複度を指定することで、表現 (の同値類) を指定することができます。また、表現の次数は、既約表現に分解した時の各既約表現の次数の重複度による重み付き和で計算できます。

例えば、表現 \rho の既約表現による直和分解において、 \mathrm{A1},\ \mathrm{A2},\ \mathrm{B1},\ \mathrm{B2},\ \mathrm{E} の重複度を各々 1,\ 2,\ 1,\ 2,\ 2 とする、つまり、

\rho\simeq \mathrm{A1\oplus A2\oplus A2\oplus B1\oplus B2\oplus B2 \oplus E\oplus E}

とすると、表現 \rho の次数は

1\cdot 1+2\cdot 1+1\cdot 1+2\cdot 1+2\cdot 2=10

となります。

有限群の表現については、[S77] [K07] [H] などが参考になります。

[注1] 厳密には、誘導表現の表現空間は、表現 \rho\colon H\to GL(\mathbb{R}^C) と主 HG\to G/H から定まる同伴ベクトル束 G\times_{\rho}\mathbb{R}^C \to G/H の切断の空間 \{f\colon G / H (=\mathbb{Z}^2) \to \mathbb{R}^C\} です。ここでは不変部分空間 \mathcal{F}(C) に定まる表現も誘導表現と呼んでいます。詳しい言葉の定義などは省いていますが、気になる方は、例えば、[CGW19] や [KO05] 10章を参照してください。


古川

最近は主に動画像の分析を行なっています。深層学習に興味があります。大学院時代は位相幾何学をしていました。