ボルツマンマシン
一般的なボルツマン・マシンの学習はnの指数時間かかるため非実用的であるが、同一層間の接続を認めない「制限ボルツマン・マシン(英語版) (RBM)」では効率的な計算ができるコントラスティブ・ダイバージェンス(Contrastive Divergence)法が提案されている。制限ボルツマンマシンでは隠れ変数を定義しているが、可視変数の周辺分布を近似することを目的としているため、意味合いとしてはほとんど変わらない。
RBMを1段分学習させた後、その不可視ユニットの活性(ユニットの値に相当)を,より高階層のRBMの学習データとみなす。このRBMを重ねる学習方法は、多階層になっている不可視ユニットを効率的に学習させることができる.この方法は、深層学習のための一般的な方法の一つとなっている。この方式では一つの新しい階層が加えられることで全体としての生成モデルが改善されていく。また拡張されたボルツマン・マシンの型として、バイナリ値だけでなく実数を使うことのできるRBMがある。
RBMの実用例の一つとしては、音声認識ソフトウェアの性能の向上があげられる。
( − θ i {\displaystyle -\theta _{i}} は i {\displaystyle i} 番目ユニットの閾値)
コネクションについては2つの制約がある:
w i i = 0 ∀ i {\displaystyle w_{ii}=0\qquad \forall i} (自分自身とはコネクションがない)
w i j = w j i ∀ i , j {\displaystyle w_{ij}=w_{ji}\qquad \forall i,j} (全てのコネクションは対称である)
したがって重みは対角成分に0が並ぶ対称行列 W {\displaystyle W} によって与えられる。
一つのユニットが0または1の値をとることによりもたらされるグローバルエネルギーの差 Δ E i {\displaystyle \Delta E_{i}} は:
Δ E i = ∑ j w i j s j + θ i {\displaystyle \Delta E_{i}=\sum _{j}w_{ij}\,s_{j}+\theta _{i}}
で与えられ、これは二つのエネルギー状態の差:
Δ E i = E i=off − E i=on {\displaystyle \Delta E_{i}=E_{\text{i=off}}-E_{\text{i=on}}}
である。これにそれぞれのシステムの状態におけるエネルギーとボルツマン因子より得られた相関的な確率を代入すると: