6.1.1. 隠れた変数の導入――Learning Deep Architectures for AI

Learning Deep Architectures for AIの翻訳です。

6.1.1.隠れた変数の導入


興味のある多くの場合、我々は例xを完全には観察しない。あるいは、モデルの表現力を高めるために若干の観測しない変数を導入したい。そこで、(やはりxで示される観測される部分と隠れた部分hについて考えることにし
            P(x,h)=\frac{e^{-\rm{Energy}(x,h)}}{Z}        (11)
xだけが観測されるので、周辺確率
            P(x)=\Bigsum_h\frac{e^{-\rm{Energy}(x,h)}}{Z}        (12)
に関心を持つ。このような場合、この式を式7に似た式にするために、以下のように定義する自由エネルギーの表記を導入する。
            P(x)=\frac{e^{-\rm{FreeEnergy}(x)}}{\Bigsum_x e^{-\rm{FreeEnergy}(x)} }        (13)
ただし、Z=\Bigsum_xe^{-\rm{FreeEnergy}(x)}で、つまり
            \rm{FreeEnergy}(x)=-\log\Bigsum_h e^{-\rm{Energy}(x,h)}        (14)
である。log尤度勾配データは、よって、特に興味深い形を持つ。モデルのパラメータ群を表す\thetaを導入しよう。式13から始めて、以下を得る。
      \frac{\partial\log{P}(x)}{\partial\theta}=-\frac{\partial\rm{FreeEnergy}(x)}{\partial\theta}+\frac{1}{Z}\Bigsum_{\hat{x}}e^{-\rm{FreeEnergy}(\tilde{x})}\frac{\partial\rm{FreeEnergy}(\tilde{x})}{\partial\theta}
            =-\frac{\partial\rm{FreeEnergy}(x)}{\partial\theta}+\Bigsum_{\tilde{x}}P(\tilde{x})\frac{\partial\rm{FreeEnergy}(\tilde{x})}{\partial\theta}        (15)
よって、平均log尤度勾配は
      E_{\hat{P}}\left[\frac{\partial\log{P}(x)}{\partial\theta\right\}=-E_{\hat{P}}\left[\frac{\partial\rm{FreeEnergy}(x)}{\partial\theta}\right]+E_P\left[\frac{\partial\rm{FreeEnergy}(x)}{\partial\theta}\right]        (16)
ここで\hat{P}は訓練集合の経験分布を示し、E_Pはモデルの分布Pの下での期待値を示す。よって、仮にPからサンプル抽出出来、自由エネルギーを素直に計算出来たならば、我々はlog尤度勾配の確率的評価子を得るためのモンテカルロ法を持ったことだろう。


もしエネルギーが、個々の隠れたユニットに関係した(あるいは何にも関係しない)項の和として書くことが出来るならば
            \rm{Energy}(x,h)=-\beta(x)+\Bigsum_i\gamma_i(x,h_i),        (17)
これは制限ボルツマンマシンが満足する条件であるが、自由エネルギーと、尤度の分子は素直に計算出来る(それは指数関数的な数の項の和を持っているにもかかわらず)。
     P(x)=\frac{1}{Z}e^{-\rm{FreeEnergy}(x)}=\frac{1}{Z}\Bigsum_he^{-\rm{Energy}(x,h)}
          =\frac{1}{Z}\Bigsum_{h_1}\Bigsum_{h_2}\cdots\Bigsum_{h_k}e^{\beta(x)-\Bigsum_i\gamma_i(x,h_i)}=\frac{1}{Z}\Bigsum_{h_1}\Bigsum_{h_2}\cdots\Bigsum_{h_k}e^{\beta(x)}\prod_ie^{-\gamma_i(x,h_i)}
          =\frac{e^{\beta(x)}}{Z}\Bigsum_{h_1}e^{-\gamma_1(x,h_1)}\Bigsum_{h_2}e^{-\gamma_2(x,h_2)}\cdots\Bigsum_{h_k}e^{-\gamma_k(x,h_k)}
          =\frac{e^{\beta(x)}}{Z}\prod_i\Bigsum_{h_i}e^{-\gamma_i(x,h_i)}         (18)
上で、\Bigsum_{h_i}は、h_iが取り得る値全てについての和である。もしhが連続ならば、全ての和は積分に置換えられ、同じ原則が適用されることに注意。興味のある多くの場合で、(1つの隠れたユニットの値に渡っての)和または積分は計算し易い。\rm{Energy}(x, h)=-\beta+\Bigsum_i\gamma_i(x,h_i)の場合、尤度の分子(つまり自由エネルギー)は正確に計算出来、以下を得る。
            \rm{FreeEnergy}(x)=-\beta(x)-\Bigsum_i\log\Bigsum_{h_i}e^{-\gamma_i(x,h_i)}        (19)