Posted at

講談社機械学習プロフェッショナルシリーズ『深層学習』の学習 第8章 ボルツマンマシン

More than 1 year has passed since last update.

注意:『深層学習 (機械学習プロフェッショナルシリーズ)



を読むにあたって、自分が読みたいな、こんな記事があったら参考になるな、という基準で書いております。私は機械学習も数学も専門家ではないので誤っている箇所も多々あるかと思いますが参考となると幸いです。

本章は正直未消化ですみません。


第8章 ボルツマンマシン


8.1 データの生成モデル

とくになし


8.2 ボルツマンマシン


8.2.1 確率的構造

とくになし


8.2.2 学習


  • p134

\frac{\partial{L(\theta})}{\partial{\theta}}=0 の計算をする必要があるが、対数をとったものの微分 \\

\frac{\partial{log{L(\theta}})}{\partial{\theta}} = \frac{1}{L(\theta)}\frac{\partial{L(\theta})}{\partial{\theta}} = 0 を計算しても、極値の\theta を求める意味では同じ \\
そして、対数を取ると\Piが\Sigmaつまり掛け算を足し算で計算すればよくなり以降の計算が楽になる

(8.5a)の導出が分からない

\begin{align}

\frac{\partial{logL(\mathbf{\theta})}}{\partial{b_i}}&=\frac{\partial{}}{\partial{b_i}}\Sigma_n{\{-\Phi-logZ\}} \\
&=\frac{\partial}{\partial{b_i}}\Sigma_n{\{\Sigma_i{b_ix_i+\Sigma_{i,j}{w_{ij}x_ix_j-log{\Sigma_x{\exp(-\Phi)}}}}\}} \\
&=\Sigma_n{x_{ni}}+N\Sigma_x{\frac{\partial{\Phi}}{\partial{b_i}}}
???\\
&=\Sigma_n{x_{ni}}+NE_\theta[x_ix_j] となるところが分からない……
\end{align}


8.3 ギブスサンプリング

(8.8)も分かりません


8.4 隠れ変数を持つボルツマンマシン


8.4.1 確率的構造

とくになし


8.4.2 学習


  • p139 (8.10)

\begin{align}

\log{L(\mathbf{\theta})}&=\log\Pi_n{\Sigma_h{p}} \\
&=\log{\Pi_n{\Sigma_h{\frac{1}{Z}\exp{(-\Phi)}}}} \\
&=\Sigma_n{\{\log{\Sigma_h{\exp{(-\Phi)}-\log{Z(\theta)}}}\}} \\
&\propto \frac{1}{N}\Sigma_n{[\log{\Sigma_h{\exp{(-\Phi)}-\log{Z(\theta)}}}]}
\end{align}


8.5 制約ボルツマンマシン(RBM)


8.6 RBMの学習


8.7 その他のユニット


8.8 ディープビリーフネットワーク


8.9 ディープボルツマンマシン


8.10 性能比較


まとめ


  • ボルツマンマシン


    • 無向エッジで結ばれた構造

    • ネットワークの挙動を確率的に記述出来、データの生成モデルとして利用される



  • 制限ボルツマンマシン(RBM)


    • 隠れ変数を含むボルツマンマシンの一種

    • 可視変数のユニットと隠れ変数のユニット間のみ結合があり、可視変数のユニットどうし、あるいは隠れ変数どうしは結合を持たない



  • ディープビリーフネットワーク(DBN)


    • ユニットを層上に並べ、最上位層のみ層間を無向エッジで結び、それ以外の層間は下向きの有向エッジで結んだ構造



  • ディープボルツマンマシン


    • ディープビリーフネットワーク(DBN)の有向エッジをすべて無向エッジで置き換えた構造のボルツマンマシン=RBNを積み重ねたもの