Appearance
生成モデルの数理 1 —— ボルツマンマシンとMCMC
本章からは、未知のデータに対してラベルを予測するモデル(識別モデル)から離れ、データそのものを生み出す背後の確率分布を学習する「生成モデル」の数理へと足を踏み入れます。 物理学の統計力学を応用したエネルギーベースモデルである「ボルツマンマシン」を題材に、KL情報量に基づく学習の原理と、計算が困難な期待値を求めるための「マルコフ連鎖モンテカルロ法 (MCMC)」の基礎を解き明かします。
1. 生成モデルの目的と経験分布
手元に 個のデータ があるとします。私たちは、これらのデータが背後にある未知の「真のデータ生成分布」から生み出されたと信じています。 しかし、真の分布は誰にもわかりません。そこで、手元のデータがそこに存在する確率を表現した次のような「経験分布」 を定義します。
生成モデルの目的は、私たちが用意したモデルの確率分布 のパラメータ を調整し、この経験分布 に可能な限り「マネさせる」ことです。 分布同士の近さを測る指標として、第0章でも学んだ「KL情報量」を用います。
2. ボルツマンマシンとイシングモデル
モデル分布 として、統計力学の概念を取り入れた次のようなエネルギーベースモデルを採用します。これを「ボルツマンマシン」と呼びます。
ここで は確率の和を1にするための規格化定数(分配関数)です。 ボルツマンマシンの代表的な例が、各要素が か の値をとるスピン系で構成される「イシングモデル」です。エネルギー関数は、変数同士の相互作用 と、各変数への外部からの影響 を用いて次のように書かれます。
3. モーメントマッチングと期待値計算の壁
KL情報量を最小化するために、対数尤度を各パラメータ( や )で偏微分し、勾配法による更新式を導出します。 計算を進めると、パラメータの更新は次のようなシンプルなルールに行き着きます。
括弧の中の第1項は実際のデータから計算された平均値であり、第2項は現在のモデルが予測する期待値です。つまり学習とは、モデルの期待値を実際のデータの平均値に一致させる「モーメントマッチング」のプロセスに他なりません。
しかし、ここで致命的な問題が発生します。第2項のモデルの期待値 を厳密に計算するには、すべての可能な状態の組み合わせ(分配関数 )について足し合わせる必要があり、変数の数が増えると計算量が指数関数的に爆発してしまいます。
4. マルコフ連鎖モンテカルロ法 (MCMC)
厳密な期待値計算が不可能であるため、代わりにモデルの分布 に従ってランダムにサンプリング(乱数生成)を行い、集めたサンプルの平均で期待値を近似するアプローチをとります。 しかし、変数同士が相互作用 で結びついているイシングモデルでは、各変数を独立してサンプリングすることはできません。
そこで登場するのが「マルコフ連鎖モンテカルロ法 (MCMC)」です。 適当な初期状態 から出発し、少しずつ状態を変化させるマルコフ連鎖の遷移確率 を設計します。 時間が十分に経過したあとの「定常分布」 が、目的のボルツマン分布 に一致するように遷移確率 をうまく作ることができれば、最終的に得られる状態を目的の分布からのサンプルとしてみなすことができるのです。
5. 詳細づりあい条件とメトロポリス法
定常分布が目的の分布に一致するための強力な十分条件が、前章でも登場した「詳細づりあい条件」です。
この条件を満たす具体的なアルゴリズムの代表例が「メトロポリス法」です。 メトロポリス法では、遷移のプロセスを提案と受理の2段階に分けます。
- 現在の状態 から、ある変数だけを反転させた新しい状態 を提案します。
- その提案を、以下の確率 に従って受理(採用)するか棄却(元の状態にとどまる)するかを判定します。
この受理確率の形は、エネルギーが下がる(確率が上がる)提案は必ず100%受け入れ、エネルギーが上がる(確率が下がる)提案であっても、確率の比率に応じてたまに受け入れるという物理学的な「熱ゆらぎ」を見事に模倣しています。