TensorFlow Probability 是 TensorFlow 中用於機率推理和統計分析的程式庫。作為 TensorFlow 生態系統的一部分,TensorFlow Probability 提供機率方法與深度網路的整合、使用自動微分的梯度式推論,以及透過硬體加速 (GPU) 和分散式運算來擴展至大型資料集和模型。
若要開始使用 TensorFlow Probability,請參閱安裝指南並檢視Python 筆記本教學課程。
元件
我們的機率機器學習工具結構如下
第 0 層:TensorFlow
數值運算—特別是 LinearOperator
類別 — 支援免矩陣實作,能夠運用特定結構 (對角、低秩等) 進行有效率的運算。它由 TensorFlow Probability 團隊建構和維護,並且是核心 TensorFlow 中 tf.linalg
的一部分。
第 1 層:統計建構區塊
- 分佈 (
tfp.distributions
):大量機率分佈和相關統計資料的集合,具有批次和廣播語意。 - 雙射器 (
tfp.bijectors
):隨機變數的可逆且可組合轉換。雙射器提供豐富的轉換分佈類別,從對數常態分佈等經典範例到複雜的深度學習模型,例如遮罩式自迴歸流。
第 2 層:模型建構
- 聯合分佈 (例如,
tfp.distributions.JointDistributionSequential
):一個或多個可能相互依賴的分佈的聯合分佈。如需 TFPJointDistribution
建模簡介,請查看此 Colab - 機率層 (
tfp.layers
):神經網路層,其函數表示具有不確定性,擴充了 TensorFlow 層。
第 3 層:機率推論
- 馬可夫鏈蒙地卡羅法 (
tfp.mcmc
):透過取樣逼近積分的演算法。包括哈密頓蒙地卡羅法、隨機漫步 Metropolis-Hastings 以及建構自訂轉換核心的能力。 - 變分推論 (
tfp.vi
):透過最佳化逼近積分的演算法。 - 最佳化工具 (
tfp.optimizer
):隨機最佳化方法,擴充了 TensorFlow 最佳化工具。包括隨機梯度朗之萬動力學。 - 蒙地卡羅法 (
tfp.monte_carlo
):用於計算蒙地卡羅期望值的工具。
TensorFlow Probability 仍在積極開發中,介面可能會變更。
範例
除了導覽中列出的Python 筆記本教學課程外,還有一些範例指令碼可用
回報問題
使用TensorFlow Probability 問題追蹤器回報錯誤或功能要求。