QUICK REVIEW
[論文レビュー] Pyro: Deep Universal Probabilistic Programming
Eli Bingham, Jonathan P. Chen|arXiv (Cornell University)|Oct 18, 2018
Gaussian Processes and Bayesian Inference参考文献 9被引用数 589
ひとこと要約
Pyroは、複雑なAIモデルのスケーラブルで柔軟な推論を可能にするPyTorchベースの確率的プログラミング言語で、確率的変分推論とモジュラー効果ハンドラ(Poutine)を介して。
ABSTRACT
Pyro is a probabilistic programming language built on Python as a platform for developing advanced probabilistic models in AI research. To scale to large datasets and high-dimensional models, Pyro uses stochastic variational inference algorithms and probability distributions built on top of PyTorch, a modern GPU-accelerated deep learning framework. To accommodate complex or model-specific algorithmic behavior, Pyro leverages Poutine, a library of composable building blocks for modifying the behavior of probabilistic programs.
研究の動機と目的
- AI研究のために表現力が高く、スケーラブルで柔軟性があり、最小限のPPLデザインを動機づける。
- 大規模データセットと高次元モデルをサポートするために、PyTorch上に構築された組込み型Python PPLとしてのPyroを提示する。
- モデル、推論、ランタイムの関心事を分離するための組み換え可能なプログラム変換を提供するPoutineを導入する。
- VAEとDeep Markov Modelの実験を通じて実用的なスケーラビリティと柔軟性を示す。
- PyTorch distributionsの統合を含むオープン性とエコシステムの協力を強調する。
提案手法
- ランダム性のためのpyro.sampleと学習可能なパラメータのためのpyro.paramという2つの原始を用いてPythonにPyroを埋め込む。
- 勾配ベースの最適化を用いた確率的変分推論(SVI)で後方分布を近似する。
- GPU加速されたテンソル計算と逆伝搬自動微分のためにPyTorchを活用する。
- プログラムの挙動を変更するエフェクトハンドラを提供するPoutineを活用し、推論コードと言語意味論を分離する。
- モデル内で任意のPython制御フローをサポートし、データ依存構造やサンプル内のobsを通じた非正規化モデルを含む。
- モデルに依存しうる近似後方分布を提供し、モデルと同じ入力を使用するガイドを提供する。
実験結果
リサーチクエスチョン
- RQ1確率的プログラミング言語はAI研究において表現力、スケーラビリティ、柔軟性、最小性をどのようにバランスさせるべきか?
- RQ2PyTorchをバックエンドとするPPLは、複雑で高次元かつ共役でないモデルをスケーラブルな推論でサポートできるか?
- RQ3表現力を制約せず、柔軟なモデル固有の推論を可能にする抽象化(Poutineのようなもの)は何か?
- RQ4代表的な深層生成モデル(例:VAE、DMM)における正確さと効率の観点でPyroの性能はどうか?
- RQ5既存のエコシステム(例:PyTorch distributions)との統合が使いやすさと性能に与える影響は?
主な発見
- Pyroはデータ依存の制御フローと非正規化モデルを伴う表現力の高いモデルを可能にしつつ、GPU加速計算とミニバッチSVIによってスケーラビリティを保つ。
- SVIは勾配ベースの最適化を用いた主要な推論エンジンであり、PyTorchの自動微分とGPU加速によりサポートされる。
- Poutineはモデル、推論、ランタイムの関心事を分離するモジュール化されたエフェクトハンドラの集合を提供し、モデル固有の推論戦略を可能にする。
- PyroのVAEとDMMの実験は、参照実装と同等の結果を示し、高次元モデルへのスケーラビリティを示す。
- 自己回帰フロー(IAF)は最小限のコードで組み込み可能で、近似後方分布の表現力を大幅に向上させつつ、計算オーバーヘッドは大きくない。
- PyroとPyTorch Distributionsの統合は実用性を高め、より広いエコシステムに貢献する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。