Contrastive Divergenceについてお勉強してみた

今週はMLど素人でありながら初めてIBISに参加し,様々な刺激を受けて大変良い1週間でした.いつもtwitter上でご活躍を拝見している方々とリアルに会ったり,遠目に眺めてみたり,話をしたりできたので良かったです.

刺激を受けたご講演・発表は数多くあったのですが,Salakhutdinov先生(いまだに発音がわからない)の基調講演も面白い内容でした.Deep Learningが実装できるような計算機環境やデータを自分が準備できそうにないので,Deep Learning自体の進展については遠巻きにながめているしかないのですが,Restricted Boltzmann Machines (RBM)周辺の話は面白いなぁと素直に感じた次第です.現在,学生さんと自分の研究でGaussian Markov Random Fieldの欠損値推定をノリで行っているのですが,IBISに参加してRBM周辺のお勉強をしなくては!と思い立ち,Salakhutdinov, Mnih and Hinton (2007)*1を読み始めました.そこで,Contrastive Divergenceが重要な概念だなぁと気付き,結局Hinton (2002) *2を読むことにしました.ということで,自分の理解のために,とりあえずまとめてみます.

PoEモデルと最尤推定

次のようなモデルを考えます.

これはProducts of Experts (PoE)モデルと呼ばれており,高次元空間では非効率になりがちな混合モデルに対して,Expertsと呼ばれる個々の複雑なモデルの積として表現することでパワフルなモデルになっています.このPoEを真面目に最尤推定することを考えると,次のようになります.
   (a)
ここで,第2項はfantasy dataにおける対数尤度の偏微分の期待値となっており,これに真面目に対応するのは大変です.一つにはGibbs Samplingが考えられますが,計算的に大変なだけでなくfantasy dataの分散が大きいという問題があります.

KL DivergenceとContrastive Divergence

このような得られたデータに対する対数尤度を最大化することはデータ分布と観測変数の均衡分布の間のKL Divergenceを最小化することと等価であることはよく知られています.そこで,KL Divergenceを考えると,次式で表すことができます.

    
ここで,<>はある分布上の期待値を表します.H(P^0)はデータ分布上のエントロピーであり,モデルのパラメータに依存しないので,最適化とは無関係です.最適化のために第2項の偏微分を考えるわけですが,データ分布上で平均化すると,式(a)は次のように書き直すことができます.

ここでは1回のfull stepのGibbs Samplingから生成されるデータベクトルの分布とすると,この式の右辺における上での扱いづらい期待値は次のようにキャンセルアウトできます.
    (b)
PoEモデルでは各expertは扱いやすいモデルが選ばれているため,式(b)の第1項,第2項は計算することができます.第3項はの変化によって起こる1 stepの分布の変化がに与える影響を表しています.これを計算するのは難しいのですが,これは他の2項の影響と比べると小さいので無視することができます.そのため,expertのパラメータはContrastive Divergenceの近似的な微分値に比例する形で調節できます.
(c)

また,式(c)は学習アルゴリズムにおける新たなjustificationを与えています.高次元データセットにおいても,多くの場合,非常に低次元のなめらかな曲がった多様体上にデータはほとんどペタっとなっていたり,近くに集まっていたりします.なので,多様体上の点から始めることで,実用上うまくいきます(いくそうです).

Contrastive Divergenceの解釈

この変形のありがたいところは,式(a)の均衡分布からのサンプリングによる煩雑な計算を避け,を最小化するのではなく,の差を最小化する問題として捉えなおす点です.

直観的には均衡分布へのマルコフ連鎖を実行し,initial derivativeとfinal derivativeを比較することの代わりに,1回のfull step チェインを実行して,最初のステップで初期分布からうろうろするチェインの傾向を小さくするようにパラメータを更新するイメージです.ここらへんは自分もまだなんとなくしか理解していないので,この直観的なイメージがあっているのかわかりませんが….ただ,よりも均衡分布に対して1 step近い分布なので,よりも大きいことが保証されており,このContrastive Divergenceは決して負にならないという性質をもっています.

おわりに

1回のfull step Gibbs Samplingで済むというのがContrastive Divergenceの1番のメリットだと思うので,そのあたりを意識すると,最初に読もうとしていたSalakhutdinov, Mnih and Hinton (2007)も読みやすくなるのでは,と思って次はそっちを読みます.まだ納得するほど理解が進んでいないので,Hinton(2002)に書いてある簡単な例なども手を動かしながら理解したいと思います.

そして,ここまで読んだ人へのご褒美ですが,自分が書いた上よりもわかりやすく書いてある持橋さんの資料を見つけましたので,関心がある人は是非ご覧くださいw

*1:Salakhutdinov, Mnih and Hinton, Restricted Boltzmann machines for collaborative filtering, ICML, 2007.

*2:Hinton, Training products of experts by minimizing contrastive divergence, Neural Computation, 14, 1711-1800.