Quantcast
Channel: ALBERT Official Blog
Viewing all articles
Browse latest Browse all 191

Steerable CNNs の紹介

$
0
0
この画像には alt 属性が指定されておらず、ファイル名は D4_exp-1024x957.png です
こんにちは、先進技術部の古川とプロダクト開発部の中井です。今回は、Steerable CNNs と呼ばれるネットワークの論文解説と Chainer による実装 のレポートを行います。なお、この記事は前任者の実装・レポートを元に、ブログ用に追記・編集したものです。

1. 概要

Steerable CNNs とは

Steerable CNNs は、Taco S. Cohen と Max Welling が提案した、入力画像の平行移動・回転・鏡映の作用を保つような CNNs (Convolutional Neural Networks、畳み込みニューラルネットワーク) です。 このアイディアを発表した論文 [CW17] はICLR 2017 で採択されました。以下のような特徴があります。
  • 高精度である。WideResNet をベースにしたネットワークが CIFAR-100 でエラー率 18.82\% と、当時の最高精度を出した。
  • 上記の精度は、水平反転と平行移動のみのデータオーグメンテーションで達成した。
  • 少ないパラメータ数である。ResNet50 が 2000 万程度、2019 年 5 月現在最高精度の AmoebaNetB は 5.5 億程度あるのに対し、WideResNet ベースのネットワークは 920 万ほどで済んでいる (ただし、その後 EfficientNet-B0 では 400 万程度のパラメータで transfer-learning を使って より低いエラー率を出すなど CNN 自体もさらに進歩しています)。
平行移動・回転・鏡映の作用を保つという制約を加えることで、表現力を大きく犠牲にすることなくパラメータ数を減らすことができていると言えます。

詳しいことは後ほど見ていきますが、 [CW17] で導入された Steerable CNNs は p4mという群の作用に関して同変な CNNs です。群の作用に関して同変な CNNs は [CW17] の Steerable CNNs 以降急速に発展している分野で、様々な群を取り扱った CNNs が発表されています。例えば、[CGW19] により一般的な視点からの扱いが書かれているので参照してみてください。最近では、 [WC19] を元にして2次元データの群の作用に関して同変な CNNs を包括的に扱えるPyTorch 実装のライブラリ e2cnn が出ており、比較的手軽に試すことができます。

群の作用に関して同変な CNNs は、数学や物理で使われる群や表現論を背景にしており、現実に現れる様々な対称性を深層学習で上手く扱う工夫が見られる面白い分野ではないかと思います。

2. 用語説明

ここでは、数学や物理において空間の対称性を表すのに使われる、群、群の作用および群の表現について説明します。

2.1. 群

とは、集合 G とその上の二項演算 \cdot\colon G\times G \to G の組 (G, \cdot) で結合法則・単位元の存在・逆元の存在を満たすものです。詳細は、例えば、[K07] や Wikipedia の群に関する記事 を参照してください。群を表す時に、定義されている演算が自明で混乱がない場合は (G, \cdot) と書かずに単に G と書きます。

G の群演算を 部分集合 H へ制限したものに関してまた群になる時、 HG部分群と言います。

群は、例えば、図形を自身へ写す変換の集合を考えたときに自然に現れます。その場合、群は図形の対称性を表していると考えることができます。

2.2. 群の作用と群の表現

ある群について知りたい時に、そのものを直接調べるだけでけではなく、別の対象に「作用」させてその振る舞いを調べるということが行われます。

(G, \cdot_G) と集合 V が与えられたとします。写像 \cdot \colon G\times V \to V
  • G の任意の元 g, hV の任意の元 v に対して (g\cdot_G h)\cdot v=g\cdot(h\cdot v),
  • G の単位元 eV の任意の元 v に対して e\cdot v= v
を満たす時、V 上の G作用 (左作用) と言います。G の元 g が与えられると、V から V への全単射 (上への 1 1 写像) g\cdot\colon V\to V が定まることが分かります。\mathrm{Aut}(V)V から V 自身への全単射写像全体の集合とすると、\mathrm{Aut}(V) は写像の合成に関して群になります。V 上の G の作用を定めることは、G から \mathrm{Aut}(V) への群準同型を与えることと同じです。

次に、群 (G, \cdot_G) と集合 V が線型空間の場合を考えます。V の線型同型写像全体のなす集合 GL(V) は、写像の合成を演算とすると群になります。写像 \pi\colon G\to GL(V)
  • G の任意の元 g, h に対して \pi(g\cdot_G h)=\pi(g)\circ\pi(h) (\circ は写像の合成),
  • G の単位元 e に対して \pi(e)= \mathrm{id}_V (\mathrm{id}_V は恒等写像)
となる時、群 G の線型空間 V 上の表現 (あるいは、線型表現) と言います。すなわち、群 G の線型空間 V 上の表現とは群準同型 \pi\colon G\to GL(V) のことです。表現は、線型空間と線型変換という構造の下で作用を考えたものと思えます。

表現によって定まる変換を書くときは、g\in G, v\in V に対して \pi(g)v と書くことにします。V の次元 \mathrm{dim} V を表現 \pi次数または次元と言います。

Viewing all articles
Browse latest Browse all 191

Trending Articles