変分ベイズ法
From Wikipedia, the free encyclopedia
変分ベイズ法(へんぶんベイズほう、英: variational Bayes)は、ベイズ統計学において、解析的に求めることが難しい事後分布を、扱いやすい確率分布で近似し、その近似分布を最適化によって求める手法である[1][2]。変分ベイズ学習と呼ばれることもある[2]。
より一般には、計算が難しい確率分布を最適化によって近似する方法を変分推論(英: variational inference)という。変分ベイズ法は、変分推論をベイズモデルの事後分布の近似に用いるものである。本項では、この広い方法論を「変分推論」、ベイズモデルへの適用を「変分ベイズ法」と呼ぶ。
代表的な変分ベイズ法では、近似分布と事後分布との隔たりをカルバック・ライブラー情報量によって評価する。マルコフ連鎖モンテカルロ法(MCMC)が事後分布を近似する標本を生成するのに対し、変分ベイズ法は近似分布を定める最適化問題を解く。一般に高速で大規模データへ拡張しやすい一方、得られる分布は近似であり、近似分布族の選び方や最適化の結果によっては、事後分散を過小評価したり、事後分布の複数の最頻領域を十分に表せなかったりする[1][3]。
定式化
観測変数を 、潜在変数や未知のモデルパラメータをまとめて とする。モデルの同時分布が
で与えられているとき、ベイズ推論では事後分布
を求める。分母の
は周辺尤度であり、事後分布の正規化定数でもある。離散変数については、積分を総和に置き換える。潜在変数の次元が高い場合や、積分を解析的に計算できない場合には、事後分布やそれに関する期待値を正確に求めることが難しい[3][4]。
変分ベイズ法では、計算可能な近似分布からなる集合 を定め、その中から事後分布に近い分布 を選ぶ。代表的な定式化は
である。ここで、
は から へのカルバック・ライブラー情報量である。近似分布族 を豊かにすると事後分布を柔軟に近似できる一方、最適化は難しくなる。単純な分布族を選ぶと計算は容易になるが、表現できる依存関係や分布の形が限られる[1][5]。
対数周辺尤度の下限
事後分布 は、通常、計算が難しい周辺尤度 を含むため、前節のカルバック・ライブラー情報量をそのまま評価できない。そこで、次の量を用いる。
これは対数周辺尤度の下限(英語: evidence lower bound、ELBO)である。対数周辺尤度は
と分解できる。カルバック・ライブラー情報量は非負であるため、
が成り立つ。したがって、ELBOを最大化することは、近似分布と事後分布とのカルバック・ライブラー情報量を最小化することと同値である[3][1]。
文献によっては、
を変分自由エネルギーと呼び、
をベイズ自由エネルギーと呼ぶ。このとき、
が成り立つ。したがって、ELBOの最大化、変分自由エネルギーの最小化、近似分布と事後分布とのカルバック・ライブラー情報量の最小化は、同じ最適化問題を表す[2]。
平均場近似
変分ベイズ法で広く使われる近似の一つが平均場近似である。未知変数を のように複数の群へ分け、近似分布が
と分解できると仮定する。この仮定は、元のモデルに含まれる依存関係を取り除くものではなく、近似分布のもとで各群を独立に扱うものである。各因子 の分布形を必ずしも最初から指定する必要はないが、因子間の相関は表現できなくなる[3][1]。
ほかの因子を固定してELBOを最大化すると、第 因子の最適な更新は
となる。ここで は、 を除くすべての因子の積を表す。この更新を各因子について順に繰り返す方法を座標上昇変分推論(coordinate ascent variational inference、CAVI)という[1]。
各因子を正確に最適化する座標更新では、ELBOは減少しない。ただし、ELBOは一般に変分パラメータの同時関数として凹とは限らず、最大化問題は非凸となる。このため、初期値や更新方法によって異なる局所解に収束することがある[5]。
条件付き共役モデル
変分ベイズ法は、モデルが条件付き共役性をもつ場合に特に計算しやすい。変数 の完全条件付き分布
が指数型分布族に属し、その自然パラメータがほかの変数の関数として表される場合、平均場近似における最適な因子 も、通常、同じ指数型分布族に属する[1][2]。
この場合、完全条件付き分布の自然パラメータに現れる他の変数の関数を、それらの変分分布に関する期待値で置き換えることによって、各変分因子を更新できる。これは、ギブスサンプリングが完全条件付き分布から値を無作為に生成するのに対し、変分ベイズ法が分布のパラメータや期待値を反復的に受け渡す方法とみなすことができる[1]。
適切な共役事前分布を選んだ混合モデル、ベイズ線形回帰、一部の隠れマルコフモデルなどでは、各因子の更新式を解析的に導けることがある。一方、条件付き共役性をもたないモデルでは、数値積分、モンテカルロ積分、勾配法などを組み合わせる必要がある。
発展的な方法
構造化変分推論
平均場近似では因子間の依存関係を表現できないため、強い相関をもつ変数の近似には適さないことがある。構造化変分推論では、変数の一部をまとめて一つの因子とするなど、重要な依存関係を残した近似分布を用いる。近似精度を高められる可能性がある一方、期待値の計算と最適化は複雑になる[4][1]。
確率的変分推論
確率的変分推論(stochastic variational inference、SVI)は、データの一部を無作為に抽出してELBOの勾配を推定し、確率的勾配法によって変分パラメータを更新する方法である。全データを各反復で処理する必要がないため、大規模データに適用しやすい[6][1]。
自動微分変分推論
自動微分変分推論(automatic differentiation variational inference、ADVI)は、制約付きのモデルパラメータを制約のない実数空間へ変換し、ガウス分布などの近似分布についてELBOを最適化する方法である。自動微分を用いて勾配を計算するため、モデルごとに座標更新式を手作業で導出する必要を減らせる。条件付き共役性を必要とせず、幅広いモデルへ同じ計算手順を適用できる[7]。
償却変分推論
複数の観測について変分パラメータを個別に最適化する代わりに、観測値から変分パラメータを出力する関数を学習し、その計算を観測間で共有する方法を償却変分推論(amortized variational inference)という。出力関数にはニューラルネットワークが用いられることが多い。変分オートエンコーダーは、推論ネットワークによって近似事後分布のパラメータを求める代表例である[8]。
他の推論法との関係
マルコフ連鎖モンテカルロ法
変分ベイズ法とMCMCは、いずれも計算が難しい事後分布を扱うために用いられるが、近似の仕方が異なる[1]。
| 変分ベイズ法 | MCMC | |
|---|---|---|
| 基本操作 | 近似分布を定める最適化問題を解く | 事後分布を定常分布とするマルコフ連鎖から標本を生成する |
| 得られるもの | パラメータで表された近似分布 | 事後分布を近似する標本列 |
| 計算上の傾向 | 高速化、確率的最適化、分散処理を利用しやすい | モデルによっては多数の反復を必要とし、標本間に自己相関が生じる |
| 正確性 | 選んだ近似分布族と最適化結果に依存する | 適切な条件のもとで、十分に長く実行すれば対象分布へ漸近する |
| 主な問題 | 近似誤差、局所解、分散の過小評価 | 収束判定、混合の遅さ、計算時間 |
どちらが適するかは、データ量、モデルの構造、事後分布の形、必要な精度などに依存する。両者は排他的ではなく、変分分布をMCMCの提案分布の一部として利用するなど、組み合わせた方法も研究されている[1]。
EMアルゴリズム
EMアルゴリズムも、対数尤度の下限を反復的に改善する方法として変分推論と関係している。通常のEMアルゴリズムでは、Eステップで潜在変数の条件付き分布に関する期待値を求め、Mステップでモデルパラメータの点推定値を更新する。
潜在変数の条件付き分布を正確に求められない場合に、Eステップを変分近似で置き換える方法を変分EM法という。一方、変分ベイズ法では、モデルパラメータにも事前分布を置き、潜在変数とパラメータを含む事後分布を近似する[1][3]。
性質と限界
変分ベイズ法の結果は、確率モデルだけでなく、近似分布族、目的関数、最適化アルゴリズムにも依存する。
- 計算量と拡張性
- 座標上昇法、確率的最適化、自動微分、並列計算などを利用できるため、MCMCより短時間で近似結果を得られる場合がある。特に、大規模なデータ集合を扱う場合や、複数のモデルを繰り返し検討する場合に利用される[1]。
- 不確実性の過小評価
- の最小化では、事後密度が低い領域に近似分布が確率質量を置くことが強く罰せられる一方、近似分布が事後分布の一部を覆わないことは相対的に弱くしか反映されない。このため、近似分布が一つの最頻領域へ集中し、裾やほかの最頻領域を十分に表さないことがある。平均場近似では変数間の相関も表現できず、事後分散を過小評価することがある[3][1]。
- 局所解
- ELBOの最大化問題は一般に非凸であり、初期値や更新順序によって異なる解が得られることがある。このため、複数の初期値から計算し、ELBOや事後予測分布に基づく予測性能を比較することがある[5]。
- ELBOによる評価
- ELBOは反復計算の進行や収束を監視する指標として利用できる。しかし、ELBOが収束したことは、近似分布が事後分布に十分近いことを意味しない。また、異なるモデルのELBOを周辺尤度の代用として単純に比較すると、モデルごとに近似誤差が異なるため、誤ったモデル選択につながる可能性がある[1]。
応用
変分ベイズ法は、潜在変数を含む確率モデルや大規模な確率的グラフィカルモデルで用いられる。代表的な応用には次のものがある[3][4][2]。
- 混合モデルおよび混合ガウスモデル
- 行列分解、低ランク近似、欠損値の推定
- 隠れマルコフモデルなどの時系列モデル
- 文書集合のトピックモデル
- ベイズ線形回帰、変数選択、関連度自動決定
- ニューラルネットワークの重みの事後分布の近似
- 変分オートエンコーダーなどの深層生成モデル[8]
平均場変分推論では、混合モデルの成分割当てやトピックモデルの単語・話題割当てのような局所潜在変数と、成分パラメータや話題分布のような大域変数を別々の因子として表すことが多い。確率的変分推論では、データの一部に対応する局所変数を更新し、その結果を用いて大域変数を更新する[6][1]。
実装とソフトウェア
変分ベイズ法を実装するには、モデルの同時対数密度、近似分布、ELBOまたはその勾配を計算する必要がある。条件付き共役モデルでは座標更新式を解析的に実装できる。非共役モデルでは、再パラメータ化、モンテカルロによる勾配推定、自動微分などが用いられる[1][7][8]。
汎用的な確率的プログラミング環境では、利用者が確率モデルと近似分布を記述し、ソフトウェアがELBOの評価、勾配計算、最適化を行う。PyroやNumPyroでは、確率モデルを model、近似分布を guide として記述する。
これらのソフトウェアを利用する場合も、ELBOの推移だけで近似精度を判断することはできない。異なる初期値から得られた結果、事後予測分布、可能であればMCMCによる結果などと比較し、近似の妥当性を確認する必要がある[1]。
歴史
関連項目
- ベイズ推定
- 近似ベイズ計算
- マルコフ連鎖モンテカルロ法
- ギブスサンプリング
- EMアルゴリズム
- 変分法
- 共役事前分布
- 指数型分布族
- 変分メッセージパッシング
- 変分オートエンコーダー
- 期待値伝播法