HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

機械学習における最適化と統計物理の発想

 

 

follow us in feedly

機械学習では何らかの評価関数を最小化(あるいは最大化)することで学習を行います。

もしも評価関数が凸関数ならば勾配法によって確実に最適解を得られます。しかし機械学習においては評価関数はかなり複雑になるケースが多く、単純な勾配法では最適解は得られません。そのような状態で最適化を行なうための様々な手法が考案されていますが、その中でも統計物理の発想から生まれた最適化手法を紹介します。理論的に面白く、またディープラーニングの皮切りとなったDeep Belief Networkの構成要素となっているボルツマンマシンの学習は、ここで紹介するシミュレーテッドアニーリングによって行うことができます。(ただし、DBNでは制約付きボルツマンマシンの条件を使って、もっと簡易で早い学習を行っています)

 

統計物理と最適化

ボルツマンマシンの評価関数は、物理学でのイジングモデルのエネルギー関数に相当します。イジングモデルなるものは、粒子の相互作用によって何が起こるのかを記述するために考案されました。基本的にエネルギーが低くなるように現象は起こりますから、これは自然がエネルギー関数を最小化する問題を解いているとみなすことができます。すなわち統計物理が築いた数理を、最適化や機械学習では丸々流用することができるのです

イジングモデル

物理学は一体どういう理屈でどのような現象が起こるのかを数理モデルで説明しようとしてきました。当然イジングモデルも現象を説明するために非常によく調べられています。

イジングモデルは複数の粒子1つ1つのスピンが上向きとなるか下向きとなるかの組み合わせによって、如何なる振る舞いをするかを記述しようとしたものです。隣り合う粒子は、異なった向きのスピンであったほうが安定しているので、格子状の粒子構造であれば、上向きと下向きが交互に並んだ状態が最も安定の状態です。

f:id:s0sem0y:20160320223733p:plain
図参照元:

1-1.第1章:はじめに - 磁性体の計算機シミュレーション実験サポートページ

上記の図ではスピンが完全に交互に並んではいません。もしも交互に並んでいない場合はエネルギーを低くしようとして、どこかのスピンが反対向きに変わります。ともかくエネルギーを下げられるところまで下げるスピンの組み合わせを得ようと自然は振る舞うのです。

イジングモデルの組み合わせ最適化問題とその振る舞い

画像のモデルでは、如何なる状態がエネルギーを最小にする組み合わせであるかは自明です。統計物理では、更に組み合わせ最適化問題を自然が解こうとする時間発展も重要になります。

今回の場合解が分かっていますが、最適解が如何なる組み合わせかわからない場合には、逐次的に関数を評価しながら解いていくことになります。これを行おうにもイジングモデルなる単純なケースでさえ、エネルギーが最も低い状態である、スピンが交互に並んだ状態まで行き着かないケースも出てくるのです。

例えば上下左右のいずれとも上ならば、自分自身は下を向いておけばいいのですが、上下左右のうち半分が上で半分が下ならば、自分自身はどちらを向けば最も安定した状態になれるでしょうか?もちろん上下左右の粒子にはそれぞれの周りの粒子の影響もありこれは、結局これらが相互作用し合う中で完全に交互に並んだ状態に行き着くことができないケースが出てくるのです。粒子の間隔や構造には物質ごとに個性がありますが、その個性が物質特有の性質を出しているに違いません。

また、外部からの熱の影響なども振る舞いに関わってきます。

機械学習や最適化の視点

機械学習や最適化の立場から見れば、今評価関数なるものを最小化したいのならば、エネルギー関数でそれを定義して、しかもエネルギーが最も安定となるような条件を統計物理から盗んでこればいいということになります。すなわち統計物理の現象をシミュレーションしようとしてきた様々な数値手法が、そのまま機械学習には使えるのです。平均場近似とかギブスサンプリングはまさしく統計物理の手法そのものです。

ところで、イジングモデルによって自然界においての組み合わせ問題の振る舞いが記述されていますが、コンピュータ上では自然界と全く同条件である必要はありません。設定さえできれば、条件は自然には起こりえないものでも何でも良いのです。

スピンの向きの変化は、エネルギーを最小化しようとすることで起こりました。しかし、局所最小値を捉えてしまうことによって、本当の最適解(イジングモデルではスピンの向きが交互)の組み合わせに辿りつけないということが起こってきます。しかしこれ以上変化ができないという状態に陥ったとしても、外部からエネルギーを与えて一旦その状態を脱出させることで、違う状態遷移を起こし、もっと低いエネルギーへと辿り着くことも期待できます。

要するに熱を与えて粒子を揺さぶって、もう一度最適化問題を解き直してもらうということを行うのです。これは評価関数の勾配を逆向きに登る動作に相当します。このエネルギーに逆らった移動の度合いを温度で制御することで、上手く大域的最適解を見つけるようにするのが、最適化においての興味になってきます。そのときの温度の制御は当然自然界で行える温度の振る舞いでなくても良いです。

このような温度を上手く制御して、組合せ最適化問題を解く手法をシミュレーテッドアニーリングと言います。

また温度の代わりに磁場をうまく制御して、量子力学のトンネル効果に相当する現象を起こし、最適化問題を解く手法を量子アニーリングと言います。D-wave社が発表した量子コンピュータは、まさしくこの量子アニーリングによって最適化問題を解く計算機となっています。

トンネル効果は評価関数の勾配を登るのではなく、確率的にワープするイメージです。量子力学は、ある状態が確率的に重ね合わさっていると解釈されており、無限に高いポテンシャルの壁でなければ、非常に小さい確率で向こう側へ状態が遷移する(というより向こう側にいる)という確率が存在し、それを再現したものになります。

所感と書籍紹介

ハイテク技術である機械学習や最適化も、その根底には古くからある伝統的な分野の貢献が大きいと思います。これをしっかり意識しておきたいです。

最近の機械学習ブームは、情報化社会に対応していくことを、専門でない一般の人たちも意識し始めた現れであり大変良いことだと思います。しかし、あまりにも技術志向・応用志向が強すぎるのか、ディープラーニングやプログラムをやっている友人ですら、ボルツマンマシンなどの基礎的な発想を知らなかったりします。逆に基礎から機械学習や最適化の発想を心得ているというのは必ず強みになるはずです。いくら情報の世界の技術の移り変わりが早いとはいっても、その根底にある部分は必ず共通しているはずです。

特に応用ではディープボルツマンマシンの研究の今後に期待しています。

今回の統計物理のことを意識した考え方は以下の書籍を読み影響を受けました。

 

情報の統計力学 (パリティ物理学コース―クローズアップ)

情報の統計力学 (パリティ物理学コース―クローズアップ)

 

 あと、以下の本はこの視点から気になっている本です。

 

スピングラス理論と情報統計力学【新物理学選書】 (岩波オンデマンドブックス)

スピングラス理論と情報統計力学【新物理学選書】 (岩波オンデマンドブックス)

 

 オンデマンドしかなくて(薄そうな割に)非常に値段が高いので読むかどうかは分かりませんがメモ程度に。