ボルツマンマシンとは
本の紹介
基本的には、
- 作者: 岡谷貴之
- 出版社/メーカー: 講談社
- 発売日: 2015/04/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
の最終章をいろいろと端折りながら紹介する。
ボルツマンマシンの状態
すごく大雑把に言えば、ボルツマンマシンとは指数型分布族の一種のこと。 下の絵の様な構造を持っている。
ここで、丸はユニットとよばれ、それぞれ0か1の値をとり、ユニットの全体が確率変数となる。 つまりユニットが個あった場合、そのボルツマンマシンは上の確率分布になっている。 上の絵の場合はユニットが10個あるので、とりうる値としては0000000000から1111111111までの1024個あることになる。
ここで、このとる値のことを状態と呼ぶことにして、で表すことにする。 つまり絵の場合は、だ。
また、番目のユニットがとる値をで表すことにする。
エネルギーと確率
ユニットが個あった場合、そのボルツマンマシンは上の確率分布になっている。 と書いたが、その分布は具体的にどう決めるのだろうか?
物理ではよく「エネルギーが低いと安定する」と言われるけれど、その概念を持ち出してくる。 「安定する」というのを、「確率が高い」と読み替える。 とにかく、ボルツマンマシンの確率分布はエネルギーを用いて定義する。
ここで、エネルギー関数を考える。これは、状態が決まればエネルギーの大きさが決まる関数のこと。 今は物理をやっているわけではないのでエネルギーの単位は考えない。大きさだけ分かればいい。
このエネルギーに応じて、ある状態にある確率が
であるとする。つまり、
であるとする。この確率分布はBoltzmann分布と呼ばれて*1、統計力学でよく目にする。
見てのとおり、エネルギーが大きいと確率が低いと言うのが分かる。
エネルギー関数と指数型分布族
上で書いたとおり、ある状態がボルツマン分布に従うならば、エネルギー関数を決めれば確率が求まると言うことが分かる。
ところで、指数型分布族は、
と言う形をしていた。もしエネルギー関数がパラメータに対して、
と言う形をしているならば、ボルツマン分布は指数型分布族(の元)になっている。
ボルツマンマシンの確率分布
ここで、各ユニットとユニット間に対して実数パラメータとを導入しよう。 これらを使ってエネルギー関数が、
とかけている場合、これは実数パラメータとに関する指数型分布族になっている。
ボルツマンマシンは、この確率分布に従う。
基本的なボルツマンマシンの使用方法は、次のとおり。
- 学習データからラベルに対応した実数パラメータとを学習する。
- サンプルがどのラベルに対応しているかを検定する。(=サンプルにラベル付けを行う。)
検定の方法については、ちょっと前に書いた
bocchi-talks-information.hatenablog.com
の方法を少し工夫するとできるのだけれども、 学習データからラベルに対応した実数パラメータとを学習するのは、結構骨が折れる。 次回はこのボルツマンマシンの学習について書きたいと思う。
*1:Gibbs分布とも、Gibbs=Boltzmann分布とも呼ばれる。