ボルツマンマシンのソースを表示
←
ボルツマンマシン
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[File:Boltzmannexamplev1.png|thumb|right|alt=A graphical representation of an example Boltzmann machine.| ボルツマンのグラフの一例。 各エッジ(線)は接続されたユニット同士の依存を意味する。この例では3つの不可視ユニット(hidden; 青)と4つの可視ユニット(visible; 白)がある。 ちなみにこの例は制約を持つボルツマンマシンではない。]] '''ボルツマンマシン'''({{lang-en-short|Boltzmann machine}})は、[[1985年]]に[[ジェフリー・ヒントン]]と{{仮リンク|テレンス・セイノフスキー|en|Terry Sejnowski}}<ref>{{Cite book|和書|author=テレンス・セイノフスキー|title=ディープラーニング革命|publisher=ニュートンプレス |year=2019}}</ref>によって開発された{{仮リンク|確率的ニューラルネットワーク|en|Stochastic neural network|label=確率的}}{{仮リンク|回帰結合型ニューラルネットワーク|en|recurrent neural network}}の一種である。 == 概要 == ボルツマンマシンは、統計的な変動を用いた[[ホップフィールド・ネットワーク]]の一種と見なすことができる。これらはニューラル ネットワークの内部についてを学ぶことができる最初のニューラル ネットワークの 一つで、(十分な時間を与えられれば) 難しい[[組合せ最適化|組合せに関する問題]]を解くことができる。ただしボルツマン・マシンには後述される事柄を含む数々の問題があり、接続制限をもたないボルツマン・マシンは[[機械学習]]や推論のためには実用的であるとは証明されていない。しかしながらボルツマン・マシンは、その局所性とその学習アルゴリズムの[[ヘッブの法則|ヘッブ的性質]]またその並列処理やその動的力学と単純な物理的プロセスとの類似のため、理論として魅力的である。ボルツマンマシンは[[確率密度関数]]自体を計算する。 ボルツマン・マシンは、それらに使用されているサンプリング関数([[統計力学]]においての[[ボルツマン分布]]、つまり、[[ソフトマックス関数]])にちなんで名づけられた。 ==構造== ボルツマン・マシンはホップフィールド・ネットと同様、結び付けられたユニットたちのネットワークでありそのネットワークの持つエネルギーが定義される。それらのユニットもまたホップフィールド・ネット同様1もしくは0(活発もしくは不活発)の出力値をとるが、ホップフィールド・ネットとは違い、[[確率過程|不規則過程]]によってその値は決まる。ネットワーク全体のエネルギー <math>E</math> における意味合いは、ホップフィールド・ネットのものと同様である。グローバルエネルギーの定義はホップフィールド・ネットと同様、以下のようになる: :<math>E = -(\sum_{i<j} w_{ij} \, s_i \, s_j + \sum_i \theta_i \, s_i)</math> * <math>w_{ij}</math> は <math>i</math>番目ユニットと <math>j</math>番目ユニットの間の結合係数 * <math>s_i</math> は <math>i</math>番目ユニットの状態、 <math>s_i \in \{0,1\}</math> * <math>\theta_i</math> は <math>E</math> における <math>i</math>番目ユニットのバイアス。(<math>-\theta_i</math> は <math>i</math>番目ユニットの[[しきい値|閾値]]) コネクションについては2つの制約がある: * <math>w_{ii}=0\qquad \forall i</math> (自分自身とはコネクションがない) * <math>w_{ij}=w_{ji}\qquad \forall i,j</math> (全てのコネクションは対称である) したがって重みは対角成分に0が並ぶ対称行列 <math>W</math> によって与えられる。 一つのユニットが0または1の値をとることによりもたらされるグローバルエネルギーの差 <math>\Delta E_i</math> は: :<math>\Delta E_i = \sum_j w_{ij} \, s_j + \theta_i</math> で与えられ、これは二つのエネルギー状態の差: :<math>\Delta E_i = E_\text{i=off} - E_\text{i=on}</math> である。これにそれぞれのシステムの状態におけるエネルギーと[[ボルツマン因子]]より得られた相関的な確率を代入すると: :<math>\Delta E_i = -k_B\,T\ln(p_\text{i=off}) - (-k_B\,T\ln(p_\text{i=on}))</math> ここでボルツマン因子 <math>k_B</math> は温度に吸収されるとする。各項を移項し、確率の合計が1でなければならないとして: :<math>\frac{\Delta E_i}{T} = \ln(p_\text{i=on}) - \ln(p_\text{i=off})</math> :<math>\frac{\Delta E_i}{T} = \ln(p_\text{i=on}) - \ln(1 - p_\text{i=on})</math> :<math>\frac{\Delta E_i}{T} = \ln\left(\frac{p_\text{i=on}}{1 - p_\text{i=on}}\right)</math> :<math>-\frac{\Delta E_i}{T} = \ln\left(\frac{1 - p_\text{i=on}}{p_\text{i=on}}\right)</math> :<math>-\frac{\Delta E_i}{T} = \ln\left(\frac{1}{p_\text{i=on}} - 1\right)</math> :<math>\exp\left(-\frac{\Delta E_i}{T}\right) = \frac{1}{p_\text{i=on}} - 1</math> となる。定数 <math>T</math> は各システムの温度であるとし、<math>i</math>番目ユニットが1である確率 <math>p_\text{i=on}</math> は: :<math>p_\text{i=on} = \frac{1}{1+\exp(-\frac{\Delta E_i}{T})} = \varsigma_1 \left(\frac{\Delta E_i}{T}\right)</math> となる。<math>\varsigma_1</math> は標準[[シグモイド関数]]。このような関係がボルツマン・マシンにおける確率式らにみられる理論関数の基礎となっている。 ==問題== ボルツマン・マシンは、理論的にはむしろ一般的な計算媒体である。ボルツマン・マシンは不規則過程より平衡統計を算出し、そこにみられる分布を理論的にモデル化し、そのモデルを使ってある全体像の一部分を完成させることができる。だが、ボルツマン・マシンの実用化においては、マシンの規模がある程度まで拡大されると学習が正確に行えなくなるという深刻な問題がある。これにはいくつかの原因があり、最も重要なものとして下記のものがある: *マシンが大きくなると、または接続の強度に依り、マシンが平衡統計を収集するために作動しなければならない時間が指数的に長くなる。 *接続されたユニットたちの活発化の可能性が0と1の中間をとるほど接続の強さが変動しやすい。総合的な影響としては、それらが0か1に落ち着くまで、接続の強度はノイズによりバラバラに変動してしまう。 ==制限ボルツマン・マシン== [[File:Restricted Boltzmann machine.svg|thumb|right|alt=Graphical representation of an example restricted Boltzmann machine |制限ボルツマンマシン(Restricted Boltzmann Machine; RBM)の一例。 制限ボルツマンマシンでは、可視と不可視ユニット間でのみ接続している(可視ユニット同士、または不可視ユニット同士は接続していない)。]] 一般的なボルツマン・マシンの学習はnの指数時間かかるため非実用的であるが、同一層間の接続を認めない「{{ 仮リンク|制限ボルツマン・マシン|en|Restricted Boltzmann machine}} (RBM)」では効率的な計算ができるコントラスティブ・ダイバージェンス(Contrastive Divergence)法が提案されている。制限ボルツマンマシンでは隠れ変数を定義しているが、可視変数の周辺分布を近似することを目的としているため、意味合いとしてはほとんど変わらない。 RBMを1段分学習させた後、その不可視ユニットの活性(ユニットの値に相当)を,より高階層のRBMの学習データとみなす。このRBMを重ねる学習方法は、多階層になっている不可視ユニットを効率的に学習させることができる.この方法は、[[ディープラーニング|深層学習]]のための一般的な方法の一つとなっている。この方式では一つの新しい階層が加えられることで全体としての生成モデルが改善されていく。また拡張されたボルツマン・マシンの型として、バイナリ値だけでなく実数を使うことのできるRBMがある<ref name="ref1">[http://learning.cs.toronto.edu/~hinton/absps/cogscibm.pdf "A Learning Algorithm for Boltzmann Machines"] {{webarchive|url=https://web.archive.org/web/20110718022336/http://learning.cs.toronto.edu/~hinton/absps/cogscibm.pdf |date=2011年7月18日 }}, Ackley, David H.; Hinton, Geoffrey E.; Sejnowski, Terrence J. (1985).</ref>。 RBMの実用例の一つとしては、音声認識ソフトウェアの性能の向上があげられる。 == 出典 == <references /> == 関連項目 == * [[ルートヴィッヒ・ボルツマン]] ** [[ボルツマン分布]] * [[人工知能]] * [[強化学習]] * [[機械学習]] * [[ニューロコンピュータ]] * [[コネクショニズム]] * [[認知科学]] * [[脳科学]] * [[計算論的神経科学]] * [[ヘッブの法則]] * [[フレーム問題]] * [[認知アーキテクチャ]] * [[階層構造]] * [[創発]] * [[コネクトーム]] * [[複素ニューラルネットワーク]] * [[統計力学]] == 外部リンク == *[http://www.scholarpedia.org/article/Boltzmann_Machine Scholarpedia article by Hinton about Boltzmann machines] {{Normdaten}} {{デフォルトソート:ほるつまんましん}} [[Category:人工ニューラルネットワーク]]
このページで使用されているテンプレート:
テンプレート:Cite book
(
ソースを閲覧
)
テンプレート:Lang-en-short
(
ソースを閲覧
)
テンプレート:Normdaten
(
ソースを閲覧
)
テンプレート:Webarchive
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
ボルツマンマシン
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報