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加速をサポートし、テストとオープンソース開発を重視し、GPyに似たPythonフロントエンドを持つ。

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.

研究の動機と目的

  • 高速でスケーラブルかつ検証可能に正しいガウス過程ライブラリを動機づける。
  • GPyに触発された簡潔で拡張性のあるPythonインターフェースを提供する。
  • 自動微分とGPUハードウェアを活用して実装を容易にし計算を高速化する。
  • 必要なGP機能(例:Cholesky微分)とGPUソリューションを追加することでTensorFlowへ貢献する。
  • 堅牢なテストとドキュメントを備えたオープンソースとしての提供を保証する。

提案手法

  • コアのGP計算と勾配の自動微分を実装するためにTensorFlowを使用する。
  • 共役性の非対応とスケーリングに対処する主要な近似として変分推論を採用する。
  • 推論メソッドの共通基底クラスを持つ、クリーンなオブジェクト指向のPythonフロントエンドを提供する。
  • TensorFlowの新しい演算(例:Cholesky微分)とGPU加速線形代数を貢献して、スケーラブルなGP推論を実現する。
  • 可能な場合の厳密推論を含む推論オプションのスイートと、非ガウス的尤度に対する変分/MCMC法(例:HMC)を提供する。
  • 高いコードカバレッジ(約99%)と品質保証のための継続的インテグレーションを維持する。)

実験結果

リサーチクエスチョン

  • RQ1変分スパース性を用いてガウス過程推論を大規模データセットへスケーラブルにする方法は?
  • RQ2TensorFlowベースのGPflowは統一されたフレームワーク内で効率的かつ正確な変分推定、MCMC、および厳密推論を提供できるか?
  • RQ3ソフトウェア工学の実践(テスト、オープンソース、GPUサポート)はGPライブラリの使いやすさと拡張性をどう改善するか?
  • RQ4CPUとGPUで実行した場合の性能と使いやすさの観点で、GPflowは既存のライブラリ(例:GPy)とどう比較されるか?

主な発見

  • GPflowは可能な場所で厳密推論をサポートし、さまざまなスケーラブルな変分法(変分スパース性)を提供します。
  • 勾配計算を簡略化するために自動微分に依存し、速度向上のためにGPU上で動作します。
  • GPflowのPythonフロントエンドはオブジェクト指向で、GPyと設計系譜を共有しますが、コアの計算はTensorFlowで実行されます。
  • このライブラリは高いテストカバレッジを示し、報告によれば約99%を達成しています。
  • MNISTベースの変分GP分類器で、GPU加速がCPUのみの実行に比べてかなりのスピードアップを示すタイム計測実験を行っています。
  • GPflowのコードとフロントエンドはApache 2.0ライセンスの下でオープンソースとして公開されています。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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