ボルツマンマシン

ボルツマンのグラフの一例。 各エッジ(線)は接続されたユニット同士の依存を意味する。この例では3つの不可視ユニット(hidden; 青)と4つの可視ユニット(visible; 白)がある。 ちなみにこの例は制約を持つボルツマンマシンではない。
ボルツマン・マシン(英: Boltzmann machine)は、1985年にジェフリー・ヒントン(英:Geoffrey Hinton)とテリー・セジュノスキー(英:Terry Sejnowski)によって開発された、確率リカレント ニューラルネットワークの一種。
目次
1 概要
2 構造
3 問題
4 制限ボルツマン・マシン
5 関連項目
6 Reference
7 External links
概要
ボルツマンマシンは、統計的な変動をもちいたホップフィールド・ネットワークの一種と見なすことができる。これらはニューラル ネットワークの内部についてを学ぶことができる最初のニューラル ネットワークの 一つで、(十分な時間を与えられれば) 難しい組合せに関する問題を解くことができる。
ただしボルツマン・マシンには後述される事柄を含む数々の問題があり、接続制限をもたないボルツマン・マシンは機械学習や推論のためには実用的であるとは証明されていない。しかしながらボルツマン・マシンは、その局所性とその学習アルゴリズムのヘッブ的性質またその並列処理やその動的力学と単純な物理的プロセスとの類似のため、理論として魅力的である。ボルツマンマシンは確率分布関数自体を計算する。
ボルツマン・マシンは、それらに使用されているサンプリング関数(統計力学においてのボルツマン分布)にちなんで名づけられた。
構造
ボルツマン・マシンはホップフィールド・ネットと同様、結び付けられたユニットたちのネットワークでありそのネットワークの持つエネルギーが定義される。それらのユニットもまたホップフィールド・ネット同様1もしくは0(活発もしくは不活発)の出力値をとるが、ホップフィールド・ネットとは違い、不規則過程によってその値は決まる。ネットワーク全体のエネルギー E{displaystyle E} における意味合いは、ホップフィールド・ネットのものと同様である。
グローバルエネルギー の定義はホップフィールド・ネットと同様、以下のようになる:
- E=−(∑i<jwijsisj+∑iθisi){displaystyle E=-(sum _{i<j}w_{ij},s_{i},s_{j}+sum _{i}theta _{i},s_{i})}
wij{displaystyle w_{ij}}は i{displaystyle i}
番目ユニットと j{displaystyle j}
番目ユニットの間の結合係数
si{displaystyle s_{i}}は i{displaystyle i}
番目ユニットの状態、 si∈{0,1}{displaystyle s_{i}in {0,1}}
θi{displaystyle theta _{i}}は E{displaystyle E}
における i{displaystyle i}
番目ユニットのバイアス。(−θi{displaystyle -theta _{i}}
は i{displaystyle i}
番目ユニットの閾値)
コネクションについては二つの制約がある:
wii=0∀i{displaystyle w_{ii}=0qquad forall i}(自分自身とはコネクションがない)
wij=wji∀i,j{displaystyle w_{ij}=w_{ji}qquad forall i,j}(全てのコネクションは対称である)
したがって重みは対角成分に0が並ぶ対称行列 W{displaystyle W} によって与えられる。
一つのユニットが0または1の値をとることによりもたらされるグローバルエネルギーの差 ΔEi{displaystyle Delta E_{i}} は:
- ΔEi=∑jwijsj+θi{displaystyle Delta E_{i}=sum _{j}w_{ij},s_{j}+theta _{i}}
で与えられ、これは二つのエネルギー状態の差:
- ΔEi=Ei=off−Ei=on{displaystyle Delta E_{i}=E_{text{i=off}}-E_{text{i=on}}}
である。これにそれぞれのシステムの状態におけるエネルギーとボルツマン因子より得られた相関的な確率を代入すると:
- ΔEi=−kBTln(pi=off)−(−kBTln(pi=on)){displaystyle Delta E_{i}=-k_{B},Tln(p_{text{i=off}})-(-k_{B},Tln(p_{text{i=on}}))}
ここでボルツマン因子 kB{displaystyle k_{B}} は温度に吸収されるとする。各項を移項し、確率の合計が1でなければならないとして:
- ΔEiT=ln(pi=on)−ln(pi=off){displaystyle {frac {Delta E_{i}}{T}}=ln(p_{text{i=on}})-ln(p_{text{i=off}})}
- ΔEiT=ln(pi=on)−ln(1−pi=on){displaystyle {frac {Delta E_{i}}{T}}=ln(p_{text{i=on}})-ln(1-p_{text{i=on}})}
- ΔEiT=ln(pi=on1−pi=on){displaystyle {frac {Delta E_{i}}{T}}=ln left({frac {p_{text{i=on}}}{1-p_{text{i=on}}}}right)}
- −ΔEiT=ln(1−pi=onpi=on){displaystyle -{frac {Delta E_{i}}{T}}=ln left({frac {1-p_{text{i=on}}}{p_{text{i=on}}}}right)}
- −ΔEiT=ln(1pi=on−1){displaystyle -{frac {Delta E_{i}}{T}}=ln left({frac {1}{p_{text{i=on}}}}-1right)}
- exp(−ΔEiT)=1pi=on−1{displaystyle exp left(-{frac {Delta E_{i}}{T}}right)={frac {1}{p_{text{i=on}}}}-1}
となる。
定数 T{displaystyle T} は各システムの温度であるとし、i{displaystyle i}
番目ユニットが1である確率 pi=on{displaystyle p_{text{i=on}}}
は:
- pi=on=11+exp(−ΔEiT){displaystyle p_{text{i=on}}={frac {1}{1+exp(-{frac {Delta E_{i}}{T}})}}}
となる。
このような関係がボルツマン・マシンにおける確率式らにみられる理論関数の基礎となっている。
問題
ボルツマン・マシンは、理論的にはむしろ一般的な計算媒体である。ボルツマン・マシンは不規則過程より平衡統計を算出し、そこにみられる分布を理論的にモデル化し、そのモデルを使ってある全体像の一部分を完成させることができる。だが、ボルツマン・マシンの実用化においては、マシンの規模がある程度まで拡大されると学習が正確に行えなくなるという深刻な問題がある。これにはいくつかの原因があり、最も重要なものとして下記のものがある:
- マシンが平衡統計を収集するために作動しなければならない時間は、マシンの大きさにより、また接続の強度により、指数的に永くなる。
- 接続されたユニットたちの活発化の可能性が0と1の間をとると接続の強さがより変動しやすい。総合的な影響としては、それらが0か1に落ち着くまで、接続の強度はノイズによりバラバラに動いてしまう。
制限ボルツマン・マシン

制限ボルツマンマシン(Restricted Boltzmann Machine; RBM)の一例。 制限ボルツマンマシンでは、可視と不可視ユニット間でのみ接続している。(可視ユニット同士、または不可視ユニット同士は接続していない。)
一般的なボルツマン・マシンの学習はnの指数時間かかるため非実用的であるが、同一層間の接続を認めない「制限ボルツマン・マシン(RBM)」(詳細は英:Restricted Boltzmann machine参照
)では効率的な計算ができるコントラスティブ・ダイバージェンス(Contrastive Divergence)法が提案されている。制限ボルツマンマシンでは隠れ変数を定義しているが、可視変数の周辺分布を近似することを目的としているため、意味合いとしてはほとんど変わらない。
RBMを1段分学習させた後、その不可視ユニットの活性(ユニットの値に相当)を,より高階層のRBMの学習データとみなす。
このRBMを重ねる学習方法は、多階層になっている不可視ユニットを効率的に学習させることができる.この方法は、深層学習のための一般的な方法の一つとなっている。
この方式では一つの新しい階層が加えられることで全体としての生成モデルが改善されていく。
また拡張されたボルツマン・マシンの型として、バイナリ値だけでなく実数を使うことのできるRBMがあり、通常のボルツマン・マシンとともにこちら[1]で概要が説明されている。
RBMの実用例の一つとしては、音声認識ソフトウェアのパフォーマンスの向上があげられる。
関連項目
- 人工知能
- 強化学習
- 機械学習
- ニューロコンピュータ
- コネクショニズム
- 認知科学
- 脳科学
- 計算論的神経科学
- ヘッブの法則
- フレーム問題
- 認知アーキテクチャ
- 階層構造
- 創発
- コネクトーム
- 複素ニューラルネットワーク
- 統計力学
- en:Boltzmann machine
- en:Restricted Boltzmann machine
- en:Markov Random Field
- en:Neuroevolution
- en:Synaptotropic hypothesis
Reference
^ "A Learning Algorithm for Boltzmann Machines" Archived 2011年7月18日, at the Wayback Machine., Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985).
External links
- Scholarpedia article by Hinton about Boltzmann machines