normal-computing/posteriors

Uncertainty quantification with PyTorch

解決的問題

它提供了一個通用的 Python 函式庫,用於機器學習模型的不確定性量化 (UQ),讓開發者能夠了解模型對其預測結果的信心程度,而不僅僅是提供單一的點估計。

運作方式

該函式庫使用基於 PyTorch 和 torch.func 的函數式方法,使其具備可組合性與可擴充性。使用者定義一個 log_posterior 函數和溫度設定,然後對模型參數應用轉換。它支援多種貝氏學習方法來估計模型權重的後驗分佈,包括:

  • 變分推論 (VI)
  • 拉普拉斯近似
  • 隨機梯度 MCMC (SGMCMC)
  • 擴展卡爾曼濾波器 (EKF)

適用對象

它專為使用 PyTorch 模型且需要實作貝氏學習和不確定性量化的研究人員與開發者設計,特別是那些使用 Hugging Face transformers 函式庫或 PyTorch Lightning 的人。

亮點

  • 可組合:與 transformerslightningtorchoptpyro 無縫協作。
  • 函數式設計:更接近數學定義且易於測試。
  • 可擴充:專為處理大型模型和大型資料集而設計。
  • 可替換演算法:允許使用者以最少的程式碼變更在不同 UQ 方法之間切換。

相關

  • 專案
  • 專案
  • 專案
  • 專案