Path: blob/master/site/zh-cn/probability/overview.md
25115 views
TensorFlow Probability
TensorFlow Probability 是 TensorFlow 中用于概率推理和统计分析的库。TensorFlow Probability 是 TensorFlow 生态系统的一部分,提供了概率方法与深度网络的集成、使用自动微分的基于梯度的推理,并能扩展到包含硬件加速 (GPU) 和分布式计算的大型数据集和大型模型。
要开始使用 TensorFlow Probability,请参阅安装指南并查看 Python 笔记本教程{:.external}。
组件
我们的概率机器学习工具采用如下结构:
第 0 层:TensorFlow
数值运算(尤其是 LinearOperator
类)使无矩阵实现成为可能,这类实现可以利用特定结构(对角、低秩等)实现高效的计算。它由 TensorFlow Probability 团队构建和维护,已成为核心 TensorFlow 中 tf.linalg
的一部分。
第 1 层:统计构建块
分布 (
tfp.distributions
):一个包含批次和广播{:.external}语义的概率分布和相关统计数据的大型集合。Bijector (
tfp.bijectors
):随机变量的可逆和可组合转换。Bijector 提供了类别丰富的变换分布,包括对数正态分布{:.external}等经典示例以及掩码自回归流{:.external}等复杂的深度学习模型。
第 2 层:模型构建
联合分布(例如
tfp.distributions.JointDistributionSequential
):一个或多个可能相互依赖的分布上的联合分布。有关使用 TFP 的JointDistribution
进行建模的介绍,请查看此 colab概率层 (
tfp.layers
):对其表示的函数具有不确定性的神经网络层,扩展了 TensorFlow 层。
第 3 层:概率推理
马尔可夫链蒙特卡洛方法 (
tfp.mcmc
):通过采样来近似积分的算法。包括汉密尔顿蒙特卡洛算法{:.external}、随机游走梅特罗波利斯-黑斯廷斯算法以及构建自定义过渡内核的能力。变分推理 (
tfp.vi
):通过优化来近似积分的算法。优化器 (
tfp.optimizer
):随机优化方法,扩展了 TensorFlow 优化器。包括 随机梯度朗之万动力学{:.external}。蒙特卡洛 (
tfp.monte_carlo
):用于计算蒙特卡洛期望的工具。
TensorFlow Probability 正在积极开发,接口可能变化。
示例
除了导航中列出的 Python 笔记本教程{:.external}外,还提供了一些示例脚本:
报告问题
使用 TensorFlow Probability 问题跟踪器报告错误或提交功能请求。