Understanding the Effective Receptive Field in Deep Convolutional Neural Networksを読んだのでメモ
はじめに
Understanding the Effective Receptive Field in Deep Convolutional Neural Networksを読んだのでメモ.
気持ち
CNNにおけるreceptive fieldをちゃんと解析しようというもの.ここではeffective receptive field(ERF)という上位の概念を導入する.ERFは通常のreceptive fieldの考え方と違い,出力にどれだけ貢献しているかに着目してreceptive fieldの大きさを考える.
Effective receptive field
番目の層の特徴マップの位置の値をとし,入力を,出力をとする.ただし,中心ピクセルをとする.ERFは出力に影響を与えた入力の領域として定義する.ここでの影響は出力の中心ピクセルの入力に対する勾配によって測る.議論を簡単にするためここでは,任意の損失関数に対して,のように,出力の中心ピクセル以外は勾配を考えないものとする.また,を層目の特徴マップのピクセルの勾配とする.
まず単純なケースとしてカーネルサイズの畳み込み層層からなるモデルを考える.つまりプーリングや活性化関数はないものとする.さらに特殊な場合として全ての重みが1でバイアスがないものとする.するとこの場合は重み行列がランク落ちするため1Dの畳み込みに分解可能.なので以下1Dの畳み込みとして考える.初期の勾配(中心のみ1でその他0)を,畳み込みフィルタをとすると畳み込みはデルタ関数を使って
と表現できる.ただし,はピクセルのインデックスを表す.今畳み込み層のみで構成されたモデルを考えているため入力に対する勾配はとして畳み込みの繰り返しを使って表現できる.この畳み込みは離散時間フーリエ変換
を使って,重畳積分定理から次のように周波数空間で計算できる.
これを逆フーリエ変換すれば欲しい勾配が計算可能.
の場合ではこの勾配は2次元ガウス分布に従う値となり,の場合にもガウス分布のような分布になる.細かいことは別な文献に譲っていたのでここでは割愛.
次に重みの値がランダムな場合を考える.この時勾配は次のようにかける.
は層目の位置の重みを表す.初期の重みは平均0,分散の固定の分布から独立にサンプリングされているものとし,勾配は重みと独立であると仮定する.この仮定は非線形関数のないモデルだから成り立つ仮定で一般的ではないことに注意.重みの平均が0,勾配と重みが独立であるという仮定から勾配の期待値は
となる.また,分散は
となる.つまり,receptive fieldはガウス分布の形を取る.また,分散の値を見れば層の場合には分散の値がとなる.
さらに一般的な状況として,各重みが異なる値,異なる分散を持つとする.ここでは再び1次元の畳み込みを考える.ここでは一般性を失わず重みがと正規化されているとする.
が得られる.これは一番単純なケースでの解析に対して重みがかかっただけの違い.が正規化されている場合,はという確率に等しくなるらしい.ただし,の関係を満たし,はに関するi.i.dなmultinomial variable.この辺りも詳しいことは参考文献に譲っているため細かいことは割愛.重要な点は重みがという分布に従い,これは中心極限定理から層の数が増えればガウス分布として表現できるということ.するとこのガウス分布は次のような平均と分散を持つ.
ここで面白いのは,effective receptive fieldはこの分布の標準偏差だけ広がると考えるとERFのサイズはのオーダーになるということ.通常のreceptive fieldが層の数に線形,すなわちに従って広がることを考えるとERFのサイズはだけ小さくなっていることがわかる.
ここで重みがと一様である場合にはERFの大きさはになる.
さらに非線形関数を導入した場合を考える.任意の非線形関数をで表現する.ここでは一般的でないが解析のしやすさから,非線形関数を通ったのち畳み込みという順番で処理が進むとする.すると勾配は次のように計算できる.
ただしは層目のピクセルに対する非線形関数の微分を表す.ReLUの場合には指示関数を使ってと表すことができる.さらなる仮定としてが平均0で分散が1の対象な分布に従うとし,は重みと上の層の勾配に独立であるとする.すると,分散は
となる.また,と定数になる.
Experiments
基本的には解析結果と一致して導出したガウス分布に従うERFを持つ.ただし,ReLUを使った場合にはERFがガウス分布に従わないという結果が得られたが,これはReLUにより値が0になった部分は勾配を伝えないことに起因するという.また,cifar10等で実験した場合,receptive fieldは画像サイズより大きくなるはずがERFは画像サイズ未満の領域しか持たないことも確認した.興味深いのは学習が進むにつれてERFが広がっていくらしい.
解析結果から新しい初期化方法として畳み込みカーネルの中心に比べ周りの値を大きくするという初期化方法を実験的に検証.条件次第では学習速度が速くなるらしいが基本的にはそんなに恩恵はないとのこと.
まとめ
一部の細かい議論が参考文献に投げているのと自分の数学力のなさから少しわかりにくかった.解析的に出力への依存が高い領域を求めていて,なかなか一般的な状況までは解析できていなくとも非常に有用な内容だった.特にERFが層の数の平方根に比例するというのは興味深い知見.