Skip to main content
QUICK REVIEW

[论文解读] GPflow: A Gaussian process library using TensorFlow

Alexander Matthews, Mark van der Wilk|arXiv (Cornell University)|Oct 27, 2016
Gaussian Processes and Bayesian Inference被引用 305
一句话总结

GPflow 是一个基于 TensorFlow 的高斯过程库,使用变分推断作为主要近似方法,支持 GPU 加速,强调测试和开源开发,前端 Python 类似于 GPy。

ABSTRACT

GPflow is a Gaussian process library that uses TensorFlow for its core computations and Python for its front end. The distinguishing features of GPflow are that it uses variational inference as the primary approximation method, provides concise code through the use of automatic differentiation, has been engineered with a particular emphasis on software testing and is able to exploit GPU hardware.

研究动机与目标

  • 推动一个快速、可扩展且可验证正确性的高斯过程库。
  • 提供一个简洁、可扩展的 Python 接口,灵感来自 GPy。
  • 利用自动微分和 GPU 硬件简化实现并加速计算。
  • 通过添加所需的 GP 功能(如 Cholesky 微分)和 GPU 解决方案为 TensorFlow 作出贡献。
  • 通过健全的测试和文档确保开源可用性。

提出的方法

  • 使用 TensorFlow 实现核心 GP 计算和用于梯度的自动微分。
  • 采用变分推断作为处理非共轭性和可扩展性的主要近似方法。
  • 提供一个干净的面向对象的 Python 前端,具有用于推断方法的共享基类。
  • 贡献新的 TensorFlow 操作(如 Cholesky 微分)和 GPU 加速的线性代数,以实现可扩展的 GP 推断。
  • 提供一套推断选项,包括在可能时的精确推断,以及针对非高斯似然的各种变分/(MCMC)方法(如 HMC)。
  • 保持高代码覆盖率(约 99%)和持续集成以保证质量。

实验结果

研究问题

  • RQ1如何通过变分稀疏性使高斯过程推断对大数据集具有可扩展性?
  • RQ2基于 TensorFlow 的 GPflow 能否在统一框架内提供高效且准确的变分、MCMC 和精确推断?
  • RQ3哪些软件工程实践(测试、开源、GPU 支持)能提高 GP 库的可用性和可扩展性?
  • RQ4在 CPU 与 GPU 部署时,GPflow 与现有库(如 GPy)在性能和可用性方面的比较如何?

主要发现

  • GPflow 在可能的情况下支持精确推断,以及各种可扩展的变分方法(变分稀疏)。
  • 它依赖自动微分来最小化梯度编码,并在 GPU 上运行以加速。
  • GPflow 的 Python 前端是面向对象的,设计沿袭自 GPy,但其核心计算在 TensorFlow 中运行。
  • 该库显示出高水平的测试覆盖率,在报告中约为 99%。
  • 定时实验表明,GPU 加速相对于仅 CPU 的运行在基于 MNIST 的变分 GP 分类器上获得了可观的加速。
  • GPflow 代码和前端以 Apache 2.0 许可开源发布。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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