変分推論とMCMC:どちらを選択するか


36

Gibbsサンプリング、Metropolis HastingsなどのMCMCのさまざまなフレーバーを含め、VIとMCMCの両方の一般的なアイデアが得られたと思います。このペーパーでは、両方の方法のすばらしい説明を提供します。

次の質問があります。

  • ベイジアン推論を行いたい場合、なぜ一方の方法をもう一方より選択するのですか?
  • 各方法の長所と短所は何ですか?

これはかなり広範な質問であることを理解していますが、洞察をいただければ幸いです。

回答:


34

長い回答については、Blei、Kucukelbir、McAuliffeをご覧ください。この短い答えはそこから大きく引き出されます。

  • MCMCは漸近的に正確です。VIはそうではありません。制限では、MCMCはターゲット分布を正確に近似します。VIは保証なしで提供されます。
  • MCMCは計算コストが高くなります。一般に、VIは高速です。

つまり、計算に時間を費やして見積もりの​​精度を評価するとき、MCMCが勝ちます。我々は便宜-か、我々はデータで作業していることを犠牲に耐えることができるならば、大きなので、我々は持っているトレードオフ-VIは自然な選択であることを確認します。

または、上記の著者によってより雄弁かつ徹底的に説明されているように:

したがって、変分推論は、多くのモデルをすばやく探索したい大規模なデータセットおよびシナリオに適しています。MCMCは、より正確なサンプルに対してより大きな計算コストを喜んで支払う、より小さなデータセットおよびシナリオに適しています。たとえば、MCMCを20年かけて小規模ながら高価なデータセットを収集し、モデルが適切であると確信しており、正確な推論が必要な設定でMCMCを使用する場合があります。テキストの確率モデルを10億のテキストドキュメントに当てはめる場合、および推論を使用して多数のユーザーに検索結果を提供する場合、変分推論を使用する場合があります。このシナリオでは、分散計算と確率的最適化を使用して推論をスケーリングおよび高速化し、データのさまざまなモデルを簡単に探索できます。


StanはMCMC(NUTS)を実行する最速のソフトウェアだと思います。変分推論を行うのに最も速い(またはより強力な)ものは何ですか?
スカン

3
@skan素晴らしい質問!汎用VIソフトウェアに最も近いものはedwardですが、自分で使用したことはありません。(VIの多くのアプリケーションは、目的の特定のモデルに適合するアルゴリズムを導出するという点でカスタムです。)
ショーンイースター

2
StanはVIもサポートしています。stanの唯一の制限は、離散変数をサンプリングできないことです。
RJTK

また、StanがGPUでADVIを実行しているとは思わない...まだとにかく。変分推論のための最速のソフトウェアは、TensorFlow Probability(TFP)またはPyroである可能性が高く、どちらも高度に最適化されたディープラーニングフレームワーク(CUDAなど)上に構築されています。TFPは、Dustin TranによるEdwardの初期の仕事から生まれました。DustinTranは、GoogleでTFPを率いています。
アダムエリクソン

@AdamErickson FYI:Stanは徐々にGPUの使用を開始しますarxiv.org/abs/1907.01063
Tim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.