Probabilistic programs with dynamic computation graphs can define measures over sample spaces with unbounded dimensionality, and thereby constitute programmatic analogues to Bayesian nonparametrics. Owing to the generality of this model class, inference relies on "black-box" Monte Carlo methods that are generally not able to take advantage of conditional independence and exchangeability, which have historically been the cornerstones of efficient inference. We here seek to develop a "middle ground" between probabilistic models with fully dynamic and fully static computation graphs. To this end, we introduce a combinator library for the Probabilistic Torch framework. Combinators are functions that accept models and return transformed models. We assume that models are dynamic, but that model composition is static, in the sense that combinator application takes place prior to evaluating the model on data. Combinators provide primitives for both model and inference composition. Model combinators take the form of classic functional programming constructs such as map and reduce. These constructs define a computation graph at a coarsened level of representation, in which nodes correspond to models, rather than individual variables. Inference combinators - such as enumeration, importance resampling, and Markov Chain Monte Carlo operators - assume a sampling semantics for model evaluation, in which application of combinators preserves proper weighting. Owing to this property, models defined using combinators can be trained using stochastic methods that optimize either variational or wake-sleep style objectives. As a validation of this principle, we use combinators to implement black box inference for hidden Markov models.
翻译:带有动态计算图的概率程序可以定义具有无限制维度的样本空间的测量方法, 从而构成巴伊西亚非参数的模拟程序。 由于模型类的笼统性, 推断依赖于“ 黑盒子” Monte Carlo 方法, 这些方法通常无法利用有条件的独立和可交换性, 这些方法历来是有效推断的基石。 我们在这里寻求开发一个“ 中间点 ”, 以完全动态和完全静态的计算图解为样本空间。 为此, 我们为概率 Toch 框架引入一个梳理库。 组合器是接受模型和返回变换模型的功能。 我们假设模型是动态的, 但模型的构成是静止的, 在评估模型之前, 组合器提供模型和推导力的原始点。 模型梳理器以典型的功能编程模型的形式来构建, 地图和完全静态的计算图。 这些构建的计算图解的计算图解在结构分析层层次上, 在这种模型中, 节理的节流结构中, 与模型相对重的重量和返回的模型,, 而不是隐藏的取样的计算器, 。 选择的计算方法, 。 使用这种排序的计算方法,,, 选择的测序的计算方法,,,, 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 的 进行 的 进行 进行 的 的 进行 的 的 的 进行 进行 的 的 的 的 的 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 的 的 进行 进行 进行 进行 进行 的 的 的 进行 进行 进行 进行 的 进行 进行 进行 进行 进行 进行 进行 进行 进行 的 的 的 进行