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 方法之间切换。

相关

  • 项目
  • 项目
  • 项目
  • 项目