2016年11月1日 更新

RBMとは〜Boltzmann Machinesからの発展〜

前回のBoltzmann MachineからRestricted Boltzmann Machineへの拡張をします。

196 view お気に入り 0
今回は前回の記事に引き続きRestricted Boltzmann Machineについて話していきたいと思います。
前回の記事は以下よりご覧ください。

1. Boltzmann MachineからRestricted Boltzmann Machineへ

はじめはBoltzmann Machineについての説明をします。
Boltzmann Machineとは前回述べたように、0 or 1の値を持つ素子を用いて、それの重みを更新していく方法です。
Boltzmann Machine

Boltzmann Machine

$x_{1},x_{2},x_{3},x_{4}$は0,1の値をとる。
重み$w$は学習により更新していく。
この状態からRestricted Boltzmann Machine、つまり、「制約つきの」Boltzmann Machineとはどのようになるのでしょうか。

前回の記事で、隠れ素子を導入した場合のBoltzmann Machineでは隠れ変数の数を増やすと任意の分布が近似できることを述べました。これは、より複雑になることで、より複雑な関数が表現できるということですね。
このようにより複雑になったときの問題として、学習がより複雑になる ということがあります。

これを解決するモデルで提唱されたのが RBMです。

制約として以下のようなものを考えます。

1. Boltzmann Machineに隠れ変数を導入
2. 隠れ変数、可視変数同士は結合しない

これにより、よりモデルがシンプルになるわけですね。それでは次の章でより詳しい構造について見ていきましょう。

2. Restricted Boltzmann Machine の制約

Restricted Boltzmann Machine

Restricted Boltzmann Machine

$h$同士、$v$同士が結合していないモデルがRBM
これをすることで、学習が非常にスムーズに進むようです。理由としては隠れ変数の周辺化が必要でなくなるからなようです。

DeepLearningの元祖はこのRBMから来ているようですね。

実際、DeepLearningでよく用いられるMLP(多層パーセプトロン)では、層同士の連結などを考えない、シンプルなものです。これは上のRBMの構造とよく似ていますね。

次のページでは、RBMの学習について説明していきます。
Free photo: Prairie, Highway, The Scenery - Free Image on Pixabay - 679016 (2629)

22 件

関連する記事 こんな記事も人気です♪

この記事のキュレーター

三好 裕之 三好 裕之