今回は前回の記事に引き続きRestricted Boltzmann Machineについて話していきたいと思います。
前回の記事は以下よりご覧ください。
前回の記事は以下よりご覧ください。
RBM(Restricted Boltzmann Machine)とは - LP-tech
音声変換でよく用いられるRBM(Restricted Boltzmann Machine)について紹介します。
1. Boltzmann MachineからRestricted Boltzmann Machineへ
はじめはBoltzmann Machineについての説明をします。
Boltzmann Machineとは前回述べたように、0 or 1の値を持つ素子を用いて、それの重みを更新していく方法です。
Boltzmann Machineとは前回述べたように、0 or 1の値を持つ素子を用いて、それの重みを更新していく方法です。
この状態からRestricted Boltzmann Machine、つまり、「制約つきの」Boltzmann Machineとはどのようになるのでしょうか。
前回の記事で、隠れ素子を導入した場合のBoltzmann Machineでは隠れ変数の数を増やすと任意の分布が近似できることを述べました。これは、より複雑になることで、より複雑な関数が表現できるということですね。
前回の記事で、隠れ素子を導入した場合のBoltzmann Machineでは隠れ変数の数を増やすと任意の分布が近似できることを述べました。これは、より複雑になることで、より複雑な関数が表現できるということですね。
このようにより複雑になったときの問題として、学習がより複雑になる
ということがあります。
これを解決するモデルで提唱されたのが RBMです。
制約として以下のようなものを考えます。
1. Boltzmann Machineに隠れ変数を導入
2. 隠れ変数、可視変数同士は結合しない
これにより、よりモデルがシンプルになるわけですね。それでは次の章でより詳しい構造について見ていきましょう。
1. Boltzmann Machineに隠れ変数を導入
2. 隠れ変数、可視変数同士は結合しない
これにより、よりモデルがシンプルになるわけですね。それでは次の章でより詳しい構造について見ていきましょう。
2. Restricted Boltzmann Machine の制約
これをすることで、学習が非常にスムーズに進むようです。理由としては隠れ変数の周辺化が必要でなくなるからなようです。
DeepLearningの元祖はこのRBMから来ているようですね。
実際、DeepLearningでよく用いられるMLP(多層パーセプトロン)では、層同士の連結などを考えない、シンプルなものです。これは上のRBMの構造とよく似ていますね。
次のページでは、RBMの学習について説明していきます。
DeepLearningの元祖はこのRBMから来ているようですね。
実際、DeepLearningでよく用いられるMLP(多層パーセプトロン)では、層同士の連結などを考えない、シンプルなものです。これは上のRBMの構造とよく似ていますね。
次のページでは、RBMの学習について説明していきます。
via pixabay.com
重み$w$は学習により更新していく。