Skip to main content
QUICK REVIEW

[論文レビュー] Deep Probabilistic Programming

Dustin Tran, Matthew D. Hoffman|arXiv (Cornell University)|Jan 13, 2017
Generative Adversarial Networks and Image Synthesis参考文献 41被引用数 83
ひとこと要約

Edward は推論を第一級市民として扱うチューリング完備の確率的プログラミング言語で、速度のために TensorFlow と統合し、VI、MCMC、GANs を含むモデリングと推論手法の柔軟な組成をサポートします。

ABSTRACT

We propose Edward, a Turing-complete probabilistic programming language. Edward defines two compositional representations---random variables and inference. By treating inference as a first class citizen, on a par with modeling, we show that probabilistic programming can be as flexible and computationally efficient as traditional deep learning. For flexibility, Edward makes it easy to fit the same model using a variety of composable inference methods, ranging from point estimation to variational inference to MCMC. In addition, Edward can reuse the modeling representation as part of inference, facilitating the design of rich variational models and generative adversarial networks. For efficiency, Edward is integrated into TensorFlow, providing significant speedups over existing probabilistic systems. For example, we show on a benchmark logistic regression task that Edward is at least 35x faster than Stan and 6x faster than PyMC3. Further, Edward incurs no runtime overhead: it is as fast as handwritten TensorFlow.

研究の動機と目的

  • 確率的プログラミングを高度化し、モデリングと推論を統合するチューリング完備で組合可能な言語を導入する。
  • 推論中のモデル表現の再利用を可能にし、表現豊かな変分推論やGANベースのアプローチをサポートする。
  • 計算グラフ(TensorFlow)と統合して、手書きコードに匹敵する効率を達成する。
  • 推論手法(VI、MCMC、MAP、GANs)における柔軟性と大規模データへのスケーラビリティを実証する。
  • ベンチマークと事前学習モデルの公開リポジトリ(Probability Zoo)を提供する。

提案手法

  • 2つのコア組成表現を定義する:確率変数(ログ密度とサンプリングを持つグラフ埋め込みオブジェクトとして)と推論(後方パラメータを変更する第一級オブジェクトとして)。
  • 確率的プログラムを計算グラフ上に埋め込み、リッチなモデル-決定論的ハイブリッドと深層アーキテクチャを可能にする。
  • 確率的な制御フローとデータサブサンプリングをサポートし、巨大データへスケールしつつグラフベースの推論を維持する。
  • モジュール化された Inference クラスを通じて、変分推論、モンテカルロ、MAP、GANベースの手法など複数の推論アルゴリズムを統一的なフレームワークで提供する。
  • 推論をモデリングと組み合わせられるようにする(例:変分EM の E・M ステップの交互実行)。
  • TensorFlow とのエンドツーエンドの統合を実証し、実行時の高速性とGPU加速を実現する(例:大規模ロジスティック回帰での HMC)。

実験結果

リサーチクエスチョン

  • RQ1推論を第一級市民として扱うことで、深層学習と同等に柔軟で効率的な確率的プログラミング言語を作ることは可能か。
  • RQ2確率モデルを推論と相互に、また互いに組み合わせて、変分推論、VAE、GAN などの進展を支援できるか。
  • RQ3計算グラフ(TensorFlow)と統合することによって得られる性能とスケーラビリティの利点はどのようなものか。
  • RQ4同一モデル上で様々な推論戦略を比較することで、VAEsやベイズRNNsなどのタスクにおける違いは何か。
  • RQ5確率的プログラムフレームワークに対して、確率的制御フローとデータサブサンプリングを効果的に統合できるか。

主な発見

Model / InferenceRuntime (s)
Handwritten NumPy (1 CPU)534
Stan (1 CPU)171
PyMC3 (12 CPU)30.0
Edward (12 CPU)8.2
Handwritten TensorFlow (GPU)5.0
Edward (GPU)4.9
  • Edward はベンチマーク上で既存の確率的システムよりも大幅な高速化を達成している(例:HMCとロジスティック回帰)。
  • 大規模なロジスティック回帰タスクでは、GPU実行時に Stan に約35倍、PyMC3 に約6倍の高速性を示し、ハンドワイヤード TensorFlow に対する実行時オーバーヘッドはない。
  • 変分推論とモンテカルロ推論を同一モデル内で組み合わせて比較可能にし、異なる目的関数と勾配推定量を用いた柔軟な実験を可能にする。
  • 推論とモデリングを単一の計算グラフ内で統合でき、推論部品とモデリング部品の表現を再利用できる。
  • Probability Zoo は事前学習済みモデルと事後因子のコミュニティリソースを提供し、研究と再現性を加速する。
  • VAEs とベイズ RNNs の実験は、組成的な推論と動的制御フローを持つ複雑な確率プログラムの構築の容易さを示している。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。