probability: 深層ネットワーク統合を備えた確率論的推論および統計分析のためのライブラリ

probability: 深層ネットワーク統合を備えた確率論的推論および統計分析のためのライブラリ

何を解決するか

確率論的推論と統計分析のためのフレームワークを提供し、開発者が確率論的手法を深層学習ネットワークと統合できるようにします。ハードウェアアクセラレーション(GPUs)と分散計算を活用することで、大規模な複雑な統計計算と推論を実行するという課題を解決します。

仕組み

このライブラリは、階層化されたアーキテクチャで構成されています:

  • Layer 0 (Numerical Operations): TensorFlowの数値演算を利用し、特に効率的な行列フリーの実装のために LinearOperator クラスを使用します。
  • Layer 1 (Statistical Building Blocks): 膨大な確率分布のコレクション (tfp.distributions) と、Bijectors (tfp.bijectors) と呼ばれる確率変数の可逆変換を提供します。
  • Layer 2 (Model Building): 相互依存する変数間の結合分布や、不確実性を取り入れる確率論的ニューラルネットワーク層の作成を可能にします。
  • Layer 3 (Probabilistic Inference): サンプリングのための Markov chain Monte Carlo (MCMC)、最適化のための Variational Inference (VI)、および特化した確率的オプティマイザを含む、積分を近似するためのアルゴリズムを実装しています。

さらに、JAXと併用する場合、このライブラリは「Tensor-friendly Probability」として動作させることができます。

対象者

TensorFlowまたはJAXのスケーラビリティを必要とする、確率論的機械学習、ベイズニューラルネットワーク、および複雑な統計モデリングに取り組む研究者や開発者向けに設計されています。

ハイライト

  • Hardware Acceleration: 大規模モデル向けに GPUs と分散計算をサポートしています。
  • Flexible Substrates: TensorFlow と JAX の両方で動作します。
  • Comprehensive Toolset: 基本的な分布から高度な MCMC や Variational Inference アルゴリズムまで、あらゆるものを含んでいます。
  • Uncertainty Integration: 標準的なニューラルネットワーク関数に不確実性を追加するための確率論的層を提供します。

Sources