Skip to main content
QUICK REVIEW

[論文レビュー] Functional Tensors for Probabilistic Programming

Fritz Obermeyer, Eli Bingham|arXiv (Cornell University)|Oct 23, 2019
Gaussian Processes and Bayesian Inference参考文献 36被引用数 11
ひとこと要約

この論文は、確率的プログラミングにおける正確かつ近似推論を統合的なフレームワークで可能にするソフトウェア抽象概念である関数的テンソル(funsors)を導入する。テンソルを連続的分布や記号的演算をサポートするように一般化することで、変数消去による並列的かつ正確な推論と、混合推論戦略を効率的に行える。Pyroにおける実装では、離散的および連続的変数の両方をサポートしている。

ABSTRACT

It is a significant challenge to design probabilistic programming systems that can accommodate a wide variety of inference strategies within a unified framework. Noting that the versatility of modern automatic differentiation frameworks is based in large part on the unifying concept of tensors, we describe a software abstraction for integration --functional tensors-- that captures many of the benefits of tensors, while also being able to describe continuous probability distributions. Moreover, functional tensors are a natural candidate for generalized variable elimination and parallel-scan filtering algorithms that enable parallel exact inference for a large family of tractable modeling motifs. We demonstrate the versatility of functional tensors by integrating them into the modeling frontend and inference backend of the Pyro programming language. In experiments we show that the resulting framework enables a large variety of inference strategies, including those that mix exact and approximate inference.

研究の動機と目的

  • メッセージパッシング、MCMC、変分推論といった多様な推論戦略を、1つの確率的プログラミングフレームワーク内で統一すること。
  • テンソル抽象化を連続的確率分布および記号的積分を扱えるように拡張し、複雑なモデルにおける正確な推論を可能にすること。
  • ブラックボックス変分推論と、カルマンフィルタリングのような正確な手法を組み合わせた混合推論戦略をサポートすること。
  • 自動微分と記号的操作を両方サポートする、効率的で合成可能な確率的プログラムのための中間表現を提供すること。
  • 一般化された変数消去とスキャンベースのフィルタリングアルゴリズムを通じて、並列的かつ正確な推論を効率的に行えること。

提案手法

  • Funsorsは、実数値配列、デルタ関数、ガウス分布を含むテンソルを一般化し、確率密度の記号的表現を可能にする。
  • フレームワークは、マージナル化(∑)、積(∏)、代入、関数適用といった操作を備えた、遅延評価の式を扱う一階言語を導入する。
  • 主な構成要素には、テンソル(離散要因)、ガウス(正規化分布)、デルタ(点質量)があり、すべてO(1)のメモリブロックに基づくため、GPU加速計算が効率的に行える。
  • ブロードキャストは、整数でない型(例:実数ベクトル)の自由変数をサポートするように拡張され、確率的モデルの形状に配慮した合成が可能になる。
  • 推論アルゴリズムは、funsor式の非標準的解釈として実装され、正確な推論と近似推論を透明に混在可能にする。
  • システムは確率的プログラムを、記号的積分とモンテカルロサンプリングの両方をサポートする統一された中間表現にコンパイルする。

実験結果

リサーチクエスチョン

  • RQ1統一的なソフトウェア抽象化により、テンソル演算を連続的確率分布に一般化し、正確な推論を可能にすることができるか?
  • RQ2関数的テンソルは、広範な可解な確率的モデルのクラスにおいて、効率的で並列的な正確な推論を実現できるか?
  • RQ3funsorsは、記号的変数消去とブラックボックス変分推論を組み合わせた混合推論戦略をサポートできるか?
  • RQ4連続的および離散的変数を含む確率的プログラムに対して、遅延的で記号的な表現を使う場合の性能と表現力のトレードオフは何か?
  • RQ5funsor抽象化は、既存の確率的プログラミング言語に統合可能であり、正確な推論と近似推論の両方をサポートできるか?

主な発見

  • funsorフレームワークは、テンソルベースの計算を連続的確率分布に成功裏に拡張し、ガウス分布やデルタ関数のような密度の記号的表現を可能にした。
  • 一般化された変数消去とスキャンベースのフィルタリングアルゴリズムを通じて、funsorsは複雑な依存関係を持つモデルに対しても、効率的で並列的な正確な推論を可能にする。
  • フレームワークは、記号的計算とモンテカルロ計算を統合することで、カルマンフィルタリングとブラックボックス変分推論を組み合わせた混合推論戦略を実現する。
  • Pyroにおける実験では、funsorsがガウス混合モデルのような複雑なモデルを、最適化された1つの統一された中間表現に変換・表現できることを示した。
  • 実装では、funsor式がO(1)のメモリブロックに基づいていることが確認され、モデルサイズに比例して効率的にスケーリングするGPU加速演算が可能になった。
  • 統一された型システムにより、離散的および連続的潜在変数をサポートし、ブロードキャストを整数でない型にまで拡張することで、合成可能で形状に配慮した確率的モデリングが可能になった。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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