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),一种软件抽象,通过在统一框架中支持精确推理与近似推理,将基于张量的计算扩展至概率编程。通过将张量推广以支持连续分布和符号运算,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 和变分推理——于单一概率编程框架之中。
  • 将张量抽象扩展至处理连续概率分布和符号积分,以实现对复杂模型的精确推理。
  • 支持混合推理策略,结合黑箱变分推理与精确方法(如卡尔曼滤波)。
  • 提供高性能、可组合的概率程序中间表示,支持自动微分与符号操作。
  • 通过广义变量消去与基于扫描的滤波算法,实现高效、并行的精确推理。

提出的方法

  • Funsors 将张量推广至包含实值数组、狄拉克函数和高斯分布,支持对概率密度的符号化表示。
  • 该框架引入了一阶懒惰表达式语言,支持求和(∑)、乘积(∏)、代换与函数应用等操作。
  • 核心组件包括 Tensor(离散因子)、Gaussian(归一化分布)和 Delta(点质量),均由 O(1) 内存块支持,实现高效的 GPU 加速计算。
  • 广播机制扩展至支持非整数类型(如实值向量)的自由变量,实现概率模型的形状感知组合。
  • 推理算法作为 funsor 表达式的非标准语义实现,支持精确与近似推理的透明混合。
  • 系统将概率程序编译为统一的中间表示,支持符号积分与蒙特卡洛采样。

实验结果

研究问题

  • RQ1能否通过统一的软件抽象将张量运算推广至支持连续概率分布,并实现精确推理?
  • RQ2函数张量如何在广泛的一类可 tractable 概率模型上实现高效、并行的精确推理?
  • RQ3funsors 是否能支持混合推理策略,结合符号变量消去与黑箱变分推理?
  • RQ4使用懒惰、符号化表示处理具有连续与离散变量的概率程序时,性能与表达力之间的权衡如何?
  • RQ5如何将 funsor 抽象集成到现有概率编程语言中,以同时支持精确与近似推理?

主要发现

  • funsor 框架成功将基于张量的计算扩展至连续概率分布,支持对高斯分布和狄拉克函数等密度的符号化表示。
  • 通过广义变量消去与基于扫描的滤波算法,函数张量支持高效、并行的精确推理,即使在具有复杂依赖关系的模型中亦然。
  • 该框架实现了混合推理策略,例如将卡尔曼滤波与黑箱变分推理结合,通过统一符号计算与蒙特卡洛计算实现。
  • 在 Pyro 中的实验表明,funsors 能够将复杂模型(如高斯混合模型)表示并编译为单一、优化的中间表示。
  • 实现表明,funsor 表达式由 O(1) 内存块支持,支持 GPU 加速操作,且随模型规模高效扩展。
  • 系统通过统一的类型系统支持离散与连续隐变量,并将广播扩展至非整数类型,实现可组合、形状感知的概率建模。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。