Mutual Information Neural Estimationを読んだのでメモ
はじめに
Mutual Information Neural Estimationを読んだのでメモ.書き終わってちょっと殴り書きすぎたと反省.正直このメモ読んでもよくわからないと思う…
気持ち
相互情報量は二つの確率変数の依存関係を知る良い指標だが一般的に計算するのが難しく,離散変数または確率分布が既知の問題を除いて基本的に扱いにくい.また,ノンパラメトリックカーネル密度推定やガウス性を仮定した場合にも高次元になると計算が困難になる.そこでscalableでflexibleでback-prop可能でcompletely trainableな新たな手法を理論解析付きで提案するという話.
相互情報量
相互情報量は簡単に言えば二つの確率変数の依存関係を測る尺度で,相互情報量が0の時二つの確率変数は独立となり,のように因子分解された形でかける.相互情報量はいろんな書き方ができるが論文では次の表現を用いる.
は相互情報量エントロピーを示し,は条件付きエントロピーを表す.条件付きエントロピーはで表すことができる.これらの関係を使うと相互情報量は次のようなKLダイバージェンスの形で表現することができる.
この辺りは情報理論の初等的な教科書に書いてある内容.式からもわかるように相互情報量が大きければとのKLダイバージェンスが大きくなるということで確率変数の依存関係が強くなる.
Dual representations of the KL-divergence
以下で説明するDonsker-Varadhan representationと-divergence representationと呼ばれる二つのKL-divergenceの表現が提案手法の核となる理論らしい.
Theorem 1 (Donsker-Varahan representation)
KLダイバージェンスは次のような表現を持つ.
証明
関数が与えられた時,で定義されるギブス分布を考える.ただし,.すると次のような関係を考えることができる.
を次のようなgapとして定義する.
すると,は次のようなのKLダイバージェンスとして定義できる.
ただし,の関係を使った.KLダイバージェンスは負の値を取らないためとなりあらゆるにおいて次の不等式が成立する.
上の関係はの時に等式が成り立ち,その時よりの形をとる.ただし,は定数.この時のをoptimal functionsとして名付ける.よって,右辺の上界,すなわちがoptimal functionsである場合等号が成立するのでTheorem 1が成り立つ.
-divergence representation
KLダイバージェンスは次の下界が成り立つことも知られている.
一般のにおいてはDonsker-Varadhanの下界の方が負の項が対数表現になっているため上式の下界よりも大きくなることがわかる.
Mutual Information Neural Estimator
提案手法であるMINEの定式化をする.MINEではパラメータを持つDNNで表現された関数族によってを与える.このネットワークをstatistics networkと呼び,次のような相互情報量の下界を与えるものとする.
このをneural information measureと呼び次のように定義する.
この期待値はからのサンプリングなどを用いて計算され,勾配上昇法を使って最大化することで上界を求める.これは情報量の新しいクラスであって,ニューラルネットワークの表現力から任意の精度で相互情報量を近似することができる.
Difinition 3.1 (Mutual Information Neural Estimator)
をニューラルネットで表現される関数の集合とするとMINEは次のように定義される.
ただし,はi.i.dに得られた個のサンプルから計算される経験分布を表す.また,-divergence representationに従った下界を与えたものをMINE-として定義する.今までの議論からMINEとMINE-を比較すれば,MINEの方が良い近似を与えるが,mini-batchを使ったSGDで求められる勾配にはバイアスがのるとのこと.
Correctiong the bias from the stochastic gradients
MINEの勾配は次のように計算ができる.
右辺第2項の期待値はミニバッチから計算され,full batchの勾配にバイアスがのった推定結果を導く(この辺りがうまく理解できなかったがMINE-の方はunbiasな勾配を導けるらしい).ただし,分母を期待値の移動平均として置き換えることでそのバイアスは減らせるらしい.もっと言えばsmall learning rateを使えばバイアスを任意の大きさに抑えることができるとのこと.
Theoretical properties
ここでMINEのconsistencyとconvergenceを解析する.
Consistency
MINEはstatistics networkとデータ分布からのサンプルの選び方に依存する.
Definition 3.2 (Strong consistency)
次の関係性において全てのにおいてが成り立ち次の関係が成り立つstatistics networkを選択したとき,推定器はstrongly consistentとなる.
知識不足でconsistencyの意味がいまいちわからなかったが,consistencyの話はのサイズに関連したapproximation problemと経験測度(empirical measure)に関するestimation problemの二つの問題に分けられるらしい.
以下,面倒なnotationを避けるためとして定義し.をempirical versionとする.また,とする.
Lemma 1 (approximation)
とする.compact domainにおいて次の関係を満たすパラメータを持つニューラルネットの関数族が存在する.
証明
とすると,は次の式を満たす.
単純に左辺にを代入すれば求まる.これに対し,関数に関して,正のgapは次のようにかける.
最後の不等式はからとなることから示せる.
の定数とし,が定数によってboundされる場合を考える.ここで,ニューラルネットのuniversal approximation theoremを考えれば,次の関係を満たすfeedforward network functionを選択することができる.
がでのリプシッツ連続であることから,次の関係が得られる.
さらに三角不等式とから次の不等式が得られる.
一般の場合についても解説されていたが割愛.
Lemma 2 (estimation)
とする.compact domainにおけるパラメータのニューラルネットの族が与えられたとき,次の関係を満たすが存在する.
証明
まずはに三角不等式を使う.
導出はにそれぞれ代入してでまとめて三角不等式を使うだけ.compact domain上で定義された関数はboundされる.さらに関数は定数によってと一様にboundされる.が定数に対してのリプシッツ連続であるため次の関係が成り立つ.
がコンパクトで,feedforward network functionが連続であることから,関数との族はuniform law of large numbersを満たすらしい.が与えられたとき,次の関係を満たしとなるようなを選ぶことができる.
三角不等式とリプシッツ連続の性質を合わせることで以下の関係が導かれる.
よってlemma 2が成り立つ.
Sample complexity
提案している推定器のsample complexityを議論する.まず仮定として,相互情報量はneural information measureによって十分に近似可能であるとする.ここではLemma 2に手を加えてneural information measureの推定量が十分な精度と信頼度を達成するのにどれくらいのサンプル数が必要かを与える.
まず以下の仮定を置く.関数は-bounded()であり,パラメータに関して-リプシッツであるとする.domainがboundされていて,定数に関してが成り立つ.以下の定理は次元のパラメータ空間においてのsample complexityを持つことを示す.
Theorem 3
任意の値のaccuracyとconfidence parametersが与えられたとき,以下をの関係を満たす.
書くのに力尽きたので証明は割愛.
Maximizing mutual information to improve GANs
実験の一つとして行っていたGANの改善.GANの目的関数は以下のように記述される.
ここではinfoGANの枠組みを考えて,入力はノイズとコードを合わせたとする.ここではサンプルとコード間の相互情報量を最大化することでmode collapseが怒るのを防ぐアプローチを考える.するとgeneratorの目的関数は次のようになる.
Generatorはのパラメータに関して微分可能で,statistics networkは微分可能な関数であることからback-propと勾配上昇法を使うことで相互情報量を最大化することができる.相互情報量は任意の大きさにできてしまうためここではadaptive gradient clippingを使ってdiscriminatorとstatistics networkからくる勾配が同じ程度になるようにしたとのこと.ちなみにadaptive gradient clippingはmutual informationから計算される勾配を次のようにclippingすること.
ただし,はそれぞれdiscriminatorの勾配と相互情報量の勾配.実験結果を見る限りは通常のGANに比べてMode collapsを回避しているよう.
まとめ
証明等をかなり殴り書いたせいで結局論文の主張がこのメモから分かりにくくなってしまったけど,簡単に言えば相互情報量をニューラルネットを使ってとして推定可能で,その推定精度がサンプル数次第で任意精度を達成可能というところを証明した論文.実装ではGANのように生成モデル+相互情報量を推定するstatistics networkを用意して目的関数に相互情報量の最大化を組み込む感じ.手法自体はすごくシンプルでアルゴリズムテーブル1を見れば実装もなんとなく予想できる.
これかなり有用な手法な気がするので,とりあえず実装してどんなもんか確認したい.ただ実装が公開されてないのとclippingの実装がめんどくさそう.
一応MINEを使ってInfoGANを実装して遊んでみた内容もメモした.