ボルツマンマシン 点击打开链接
ボルツマンマシンは、Hinton、Sejnowskiらによって1980年代半ばに開発された、確率的に動作するニューラルネットワーク。19世紀の物理学者で統計熱力学の創始者とされる、ボルツマン(Boltzmann)の名を用いた。
ネットワークの動作に温度の概念を取り入れ、最初は激しく徐々に穏やかに動作する(擬似焼きなまし法)ように工夫している。
最急降下法による誤差逆伝播法や、ホップフィールド・ネットワークは、局所解への捕捉が宿命的な問題としてある。
ボルツマンマシンは、確率的に敢えて良くない解に移動する事を取り入れ、局所解からの脱出を試み、成果を挙げた。しかし、計算時間が長い等の克服すべき課題もある。
ニューラルネットワークに擬似焼きなまし法を取り入れたものは、全て広い意味でのボルツマンマシンと考えられるが、ここでは、出力関数に取り入れた例を紹介する。
局所解収束(捕捉)の問題
最急降下法等による最適化方法では、図のように局所解(微分係数が0になる箇所)に陥ると、それ以上の状態変化は起きず、最適解に到達する事が出来ない。
青い玉が解で、その動きが解の変化とする。横軸は、様々な解を並べたもので、縦軸は解の評価値だ(ここでは、下(値が小さくなる)に行く程、評価値がよいものとする)。
ホップフィールド・ネットワークのエネルギー変化もこの例で、常に減少する方向にしか動かないので、いったん局所解に入ると、そこで止まってしまう。
局所解捕捉からの脱出は、進化型計算でも課題となり、進化や最適化手法の多くに共通する課題と言える。
擬似焼きなまし法(シミュレーティド・アニーリング)
金属工学の焼きなましは、金属材料を熱した後で徐々に冷やし、結晶の欠陥を減らす方法だ。これを真似て、アルゴリズム化したものが擬似焼きなまし法となる。
動作の初期は温度が高く、解の動きは激しく、或る確率で改悪の方向にも動く。これにより、局所解からの脱出が可能となるが、同時にせっかく最適解になっても、そこから飛び出して(変化して)しまう事もある。
しかし、次第に温度は下がり、動きが乏しくなると、最適解から出てしまう事もなくなり、解が最適解に留まる事が期待出来る。
直感的にも、最初に大きく揺らして徐々に小さくすると、一番低い所にボール等が集まる事が感じられる。実際、様々な実験によっても、最適解の得られる確率が高まる事が明らかになっている。
擬似焼きなまし法の出力関数への導入
ニューラルネットワークの出力関数によく用いられるシグモイド関数は、以下のように、入力値が負であれば出力値は0.5未満、正であれば0.5以上となる。
これに擬似やきなまし法を導入する場合、出力関数の式を以下のように変形する。
ここで、Tが温度の役割を果たす。右辺の値は0~1となるが、これを出力値とするのではなく、そのまま、出力値が1となる確率Pにする。
Tの値によってグラフは様々に変化し、例えば、以下のようになる。T=3、細胞の内部状態(x)が2のとき、実線の矢印で示した範囲が、出力値が1になる確率だ。
T=1.0のとき、通常のシグモイド関数になる。Tの値が大きい程、グラフは水平に近くなる。T=∞(無限大)でグラフは水平になり、細胞の内部状態がどうあれ、出力値が1になる確率と0になる確率は半々となる。Tが大きいと、内部状態が低くても出力したり、高くても出力しなくなる事が増える。
Tの値が小さい程、より内部状態を反映した出力値となる。Tが無い式で、1を出力する内部状態のときは、1を出力する確率が高まる。
擬似焼きなまし法の温度の設定
初期温度、及び減少方法の決め方により、ボルツマンマシンの性能は変化し、設計者の手腕に掛っている。
ホップフィールド・ネットワークに応用する場合、非同期に一つの細胞が状態変化するたびに、温度を下げていく。
下げ率は、一回毎に前回の温度の0.8~0.99倍程度にする事が多い。初期温度は、T=5.0、T=3.0あたりで、設計者によりまちまちである。
温度の下げ率が小さい程、最適解に落ち着く可能性は高くなるが、その代わり計算時間が長くなる。下げ率が大きいと、計算時間は短く出来るが、局所解に捕捉される危険が高まる。