[论文解读] Probabilistic Programming with Gaussian Process Memoization
本文提出 gpmem,一种通过记忆化技术将高斯过程(GPs)嵌入高阶语言的概率编程接口,实现了对任意计算函数的自动统计模拟。通过三个应用——鲁棒回归、贝叶斯结构学习和贝叶斯优化——展示了该方法的有效性:仅使用一个50行的Python库和每个应用少于20行的概率代码,即实现了最先进水平的结果,且用户自定义代码极少。
Gaussian Processes (GPs) are widely used tools in statistics, machine learning, robotics, computer vision, and scientific computation. However, despite their popularity, they can be difficult to apply; all but the simplest classification or regression applications require specification and inference over complex covariance functions that do not admit simple analytical posteriors. This paper shows how to embed Gaussian processes in any higher-order probabilistic programming language, using an idiom based on memoization, and demonstrates its utility by implementing and extending classic and state-of-the-art GP applications. The interface to Gaussian processes, called gpmem, takes an arbitrary real-valued computational process as input and returns a statistical emulator that automatically improve as the original process is invoked and its input-output behavior is recorded. The flexibility of gpmem is illustrated via three applications: (i) robust GP regression with hierarchical hyper-parameter learning, (ii) discovering symbolic expressions from time-series data by fully Bayesian structure learning over kernels generated by a stochastic grammar, and (iii) a bandit formulation of Bayesian optimization with automatic inference and action selection. All applications share a single 50-line Python library and require fewer than 20 lines of probabilistic code each.
研究动机与目标
- 通过一种基于记忆化的新型接口,实现高斯过程在高阶概率编程语言中的无缝集成。
- 在统一框架内支持复杂的高斯过程应用,如分层超参数学习、符号结构发现和贝叶斯优化。
- 通过抽象低级推理和核函数定义,降低基于高斯过程模型的实现负担。
- 实现在涉及高斯过程的概率模型中完全贝叶斯的结构学习与推理编程。
- 证明复杂高斯过程应用可仅用极少的概率代码(少于20行)实现,且共享一个轻量级库。
提出的方法
- 核心技术是 gpmem,一个高阶函数,接收一个源函数和一个核函数,返回一个基于高斯过程的统计模拟器,能够从观测到的输入输出中学习。
- gpmem 使用记忆化机制存储并逐步更新高斯过程后验分布,随着源函数被调用而实现在线学习。
- 该方法支持将任意概率程序作为核函数,允许通过贝叶斯推理联合推断超参数和核结构。
- 它利用 Venture 概率编程平台对外部接口、推理编程和高阶函数的支持,实现高效灵活的高斯过程推理。
- 通过平台提供的推理编程构造,将基于梯度、蒙特卡洛和变分推理的技术结合,形成自定义推理策略。
- 该框架支持建模与推理的嵌套,使高斯过程可用于元优化任务,如对任意目标函数的贝叶斯优化。
实验结果
研究问题
- RQ1能否通过通用的记忆化接口,在高阶概率编程语言中有效嵌入高斯过程?
- RQ2该嵌入机制是否能以极少用户代码支持复杂且前沿的应用,如完全贝叶斯的结构学习和贝叶斯优化?
- RQ3与传统高斯过程库相比,通过 gpmem 集成高斯过程在模型定义和推理灵活性方面,在表达力和效率上表现如何?
- RQ4一个50行的Python库在多大程度上能支持多样化的高斯过程应用,且每个应用仅需少于20行的概率代码?
- RQ5该框架是否能自然支持随机递归、无界支持集和高阶过程,这些是先进概率建模所必需的?
主要发现
- gpmem 接口成功实现了高斯过程在高阶概率编程语言中的端到端集成,支持广泛的应用,且代码量极少。
- 该框架实现了具有分层超参数学习的稳健高斯过程回归,采用完全贝叶斯方法,复现了 Neal (1997) 的结果。
- 它实现了对由随机语法生成的核函数的完全贝叶斯结构学习,扩展了 Automated Statistician 项目,实现了带不确定性感知的模型发现。
- 该方法支持基于 Thompson 采样的贝叶斯优化,具备自动推理与动作选择能力,展示了其在元优化中的实用性。
- 所有三个应用均使用同一套50行Python库实现,每个应用仅需少于20行概率代码,凸显了该框架的简洁性与可重用性。
- 该方法支持高级功能,如随机递归、无界支持和推理嵌套,这些功能对前沿概率建模至关重要。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。