LoginSignup
9
4

More than 5 years have passed since last update.

Introducting TensorFlow Probability 要約

Last updated at Posted at 2018-06-01

以下の記事の要約です。

Introducting TensorFlow Probability

2018 TensorFlow Developer Summit で TensorFlow Probability (確率的プログラミングのツールボックス) が発表されました。

TensorFlow Probability を使くべき場面:

  • 生成モデルを作り潜在プロセスを推論したいとき
  • 不確実性を評価したいとき
  • データ点の数と比べて多数の特徴量を持つとき
  • データが構造化されているとき (例:グループ、空間、グラフ、language semantics) そしてこの構造を事前知識として使いたいとき
  • 逆問題を解くとき (注:Deep Learning でない)

これらを CPU, GPU, TPU どれを使っても実行できます。

TensorFlow Probability の構成要素

  1. Layer 0: TensorFlow
  2. Layer 1: Statistical Building Blocks
    • Distributions
    • Bijectors (変数変換するときに使う)
  3. Layer 2: Model Building
    • Edward2 (tfp.edward2)
    • Probablistic Layers (tfp.layers) Neural network のレイヤー
    • Trainable Distributions (tfp.trainable_distributions)
      1 つの Tensor でパラメタライズされた確率分布。これは確率分布を出力とする Neural Network を作ることを容易にします。
  4. Layer 3: Probablistic Inference
    • MCMC
    • 変分推論
    • Optimizers
    • Monte Carlo (注:MCMC でなく)

コード例

(注:以下の IPython Notebooks が参考になります。Python 2 系のコードなので注意)
examples/jupyter_notebooks

  • Linear Mixed Effects Models (階層線形モデル)
  • Gaussian Copula (ガウシアン コピュラ)
  • Variational Autoencoder (変分AE)
  • Bayesian neural Networks
9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4