SHADE: INFORMATION-BASED REGULARIZATION FOR DEEP LEARNINGを読んだのでメモ
はじめに
SHADE: INFORMATION-BASED REGULARIZATION FOR DEEP LEARNINGを読んだのでメモ.ICIP2018のベストペーパーに選ばれた論文.(調べてみるとICLR2018にrejectされてた)
SHADE: SHAnnon DEcay
まずを入力の変数,を出力の変数,をモデルパラメータ,をNNによる変換の表現として定義する.ここでは分類問題を考え,次のような目的関数を最適化する問題を解く.
ここでは新しい正則化項,shannon decayを提案する.
Conditional entropy-based regularization
条件付きエントロピーを使ったクラス内の不変性に焦点を当てる.もともとInfromation Bottleneck(IB)と呼ばれる相互情報量を正則化に使う手法があり,ここではこのが中間表現にどれほどの不変性を与えるかを考える.学習したDNNがdeterministicであれば,であり,同時にが成り立つ.が固定ならばとは負の相関を持つ.は入力の再構成誤差の下限を与えていて,このことから得られた表現から入力を復元するのがどれくらい難しいかを測ることができる.すなわち条件付きエントロピーのみを考えれば入力をよく表現する(言い換えれば不変的な)特徴を得ることが可能.
DNNは入力に対しレイヤー数の変換を加える.層目の出力をとすれば次の関係が成り立つ.
ある層の条件付きエントロピーはその後に続く層の条件付きエントロピーの上界を与えることになる.よってここでは全てのレイヤーにを最小化するような正則化を導入する.すなわち正則化項として次の形を与える.
さらにlayer-wiseな正則化からunit-wiseな正則化へと議論を広げる.レイヤーの表現に対して各座標(ユニット)の表現をとし,その次元をとする.上界は異なるユニットの独立性を仮定して考えることが可能で,このynit-wiseな条件付きエントロピーの最小化をすることが提案手法のSHADE.最終的な正則化は次のような形で記述される.
以下,をとして表現する.
正則化項の定義はできたが問題として条件付きエントロピーをどのように計算するかが残る.基本的にを計算する上で必要なの分布が未知であるため計算することができない.[tx:H(Y|C)=\sum_{c\in\mathcal{C}}p(c)H(Y|c)]から条件付き情報量を計算するには個の異なるエントロピーを計算する必要があり,ImageNetなどの1000クラス分類を考えた時には扱いにくい.
そこで条件付き情報量を計算するためのトリックとして潜在変数を導入する.これはの場合に,の場合にとなるような変数で,ベルヌーイ分布に従う確率変数として仮定する.するとのようなマルコフ連鎖を仮定できる.よって定常状態になった時にはが成り立ち,最終的に条件付きエントロピーを次のように計算できる.
これはとの二つの場合のみについて計算すればいいため扱いやすい.
ただこのままでは,クラス数の増加による計算の扱い難さは解決したが根本のエントロピーの計算ができない点については解決していない.そこでエントロピーそのものではなくという上界を利用して計算する.これは任意の連続な分布について成り立ち,もし分布がガウシアンであれば等号が成り立つ.
以上をまとめれば最終的に提案手法であるSHADEの正則化は次のようになる.
ただし,あるレイヤーのあるユニットに関するは次のように計算される.
ようはミニバッチを使って近似しようというもの.ここではを使って次のように計算する.
また,は移動平均を使って推定精度を高める(詳細は論文のAlgorithm 1).よって以上の議論を踏まえればSHADEは次のように書き直せる.
まとめ
ギリシャからの帰りの乗り換え時間を利用して論文読んだけど疲れと睡魔から読み違いをしていそうで怖い.実験結果は劇的に良くなるという結果ではないものの安定して精度向上している感じ.ただICIPの論文は4ページと書ききれないことが多々ある気がするのでICLRに投稿された方も少し読んでみたい.