Appearance
生成モデルの数理 2 —— 制限ボルツマンマシンと変分下界
前章で学んだ純粋なボルツマンマシンは、すべての変数が互いに相互作用を持つため、MCMCを用いたサンプリング(期待値計算)の計算コストが膨大になるという弱点がありました。 本章では、観測できる「可視変数」と観測できない「隠れ変数」を分離し、層内の結合をなくすことで計算を劇的に高速化する「制限ボルツマンマシン(RBM)」の数理と、対数尤度を下から支える「変分下界」の導出を解き明かします。
1. 隠れ変数の導入とRBMの定義
複雑なデータ分布を表現するため、手元にある可視変数 に加えて、背後の要因を表す隠れ変数 を導入します。 さらに計算を簡単にするため、「可視変数同士の結合」と「隠れ変数同士の結合」を完全にゼロにし、 と の間の結合のみを許すネットワーク構造を考えます。これが「制限ボルツマンマシン(RBM)」です。
RBMの同時確率分布 は、パラメータ を用いて次のように定義されます。
ここで、 と はそれぞれの変数に対するバイアス、行列 は層間の結合(重み)を表します。
2. 周辺化と非線形な表現力の獲得
私たちが実際に観測できるのは だけなので、モデルの分布 を得るためには、隠れ変数 のすべてのパターンについて確率を足し合わせる(周辺化する)必要があります。
指数関数の和の計算を進めると、双曲線余弦関数()を用いた積の形に変形できます。
これを指数の肩に載せ直すと、 という非線形な項が現れます。 この をテイラー展開すると、2次の項として が現れます。これを重み で書き直すと、 となり、正定値行列を介した可視変数同士の相互作用(元のボルツマンマシンの層内結合)を近似的に獲得していることがわかります。 つまり、RBMは層を重ねて隠れ変数を増やすことで、層内結合がなくとも極めて複雑な表現力を持つことができるのです。
3. 条件付き独立とギブスサンプリング
層内結合をなくした最大のメリットは、サンプリング(乱数生成)の超高速化です。 が与えられた時の の条件付き確率 を計算すると、各 ごとに完全に独立した確率の積に分解できます。
同様に、 が与えられた時の の条件付き確率 も、各 ごとに独立して計算できます。 これにより、「1変数ずつ順番に更新する」という面倒なMCMCの手間がなくなり、全変数を一斉に並列更新する「ギブスサンプリング」が可能になります。
データを初期値として と の間を行ったり来たりするだけで、容易に目的の分布からのサンプルを取得できるのです。
4. 代理関数の導入(変分下界)
モデルを学習させるため、経験分布とモデルのKL情報量を最小化(対数尤度を最大化)します。 しかし、隠れ変数を含む対数尤度 は、 の中に和()が入っているため、そのままでは計算が困難です。
ここで、第3章や第4章でも登場した「代理関数」の考え方を使います。 任意の確率分布 を導入し、式に強引に掛けたり割ったりします。
ここで「下に凸な関数」の性質(ジェンセンの不等式)を用いると、 と の順序を入れ替えて、関数を「下から支える下限(下界)」を作ることができます。
この右辺を「変分下界(Variational Lower Bound)」と呼びます。 直接対数尤度を最大化する代わりに、この代理関数(下界)を最大化していくことで、安全かつ確実にモデルのパラメータを最適化できるようになります。この考え方は、現代の生成AI(VAEや拡散モデル)にも直結する極めて重要な数理的基盤です。
5. Q関数の最大化と期待値
この代理関数を最大化するプロセスは、EMアルゴリズムの形をとります。 データ ごとに、隠れ変数の推定分布 を前回のパラメータに基づく条件付き確率 に固定し、次のような「Q関数」を定義して新しいパラメータ で最大化します。
この式を展開してパラメータで偏微分すると、更新式の中に や といった「期待値」が再び現れます。 しかし今回は、先ほど導出した高速なギブスサンプリングがあるため、これらの期待値を効率的に計算し、学習をスムーズに進めることができるのです。