MLE vs. Contrastive Divergence Learning

Restricted Boltzman Machineのプログラムを組んでみたのだけれど、上手く学習ができない。

真面目にCD learningの勉強をしなければと思い立ち、1次元ガウスの場合で計算をしてみた。以下、その結果。


下図は、ガウスの平均と精度パラメータの学習過程である。

KLvsCD_fig1

Gradient descent版の最尤推定と比較してみると、学習が遅いことがわかる。しかし、下図のように尤度でみると、毎イテレーションで、基本的に単調増加はしている。ただし、保証はされていない。

KLvsCD_fig2

おまけに、今回真面目に計算して分かったのだが、Contrastive Divergenceとは経験分布(データ)と真のモデル分布とのKullback Leibler Divergenceの超荒い近似であるようだ。RBMでは、潜在変数のGibbs Samplingが必要なため、さらにその近似精度が下がるであろうことは推測できる。

すなわち、学習には忍耐が必要・・・ということか。

上記の詳細はこちら


ということで、CD学習が正しく機能することは分かったので、もう少し頑張ってみようかな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA