ボルツマンマシンにおいては、温度というパラメータがユニットの出力を左右します。 ネットワークの動作中に温度を徐々に下げていくことをシミュレーティッドアニーリング といいます。 温度によって確率はどのように変化していくのでしょう。 下のアプレットは、低温のときと高温のときの「ユニットの状態がが1になる確率の変化」 を表しています。
この図を低温の場合と高温の場合についてそれぞれみていきましょう。
では、実際に温度を下げていくにはどうしたらよいでしょう。 温度を下げる方法は冷却スケジュールと呼ばれ、いろいろな方法が提案されています。 ここでは、比較的はやく収束する冷却スケジュールとして次の方法を使うことにします。
- 高温の場合
温度が高い時はエネルギーも大きく、 先ほどのボールの例では谷底に落ちるに落ちることに比べ、 山を乗り越えることが多くなる。 エネルギーが高いほうへ変化する確率が低温の時より高い。
- 低温の場合
温度が低い時はエネルギーも小さく、エネルギーの変化もほとんどなくなり、 低エネルギーの状態に収束する。
T(t+1)=ρT(t)
ただし、ρ=0.8〜0.9999程度とする。これは、現在の温度をT(t)とし、次に設定する温度T(t+1)は現在の温度のρ倍する というものです。