TyXe:基于 Pyro 的 Pytorch 贝叶斯神经网络库
机器学习
2021-10-04 v1 机器学习
摘要
我们介绍 TyXe,一个构建于 Pytorch 和 Pyro 之上的贝叶斯神经网络库。我们的首要设计原则是清晰分离架构、先验、推断和似然规范,从而实现灵活的工作流,使用户能快速迭代这些组件的组合。与现有包不同,TyXe 不实现任何层类,而是依赖通用 Pytorch 代码定义的架构。TyXe 随后为所指定架构的贝叶斯处理提供针对典型先验、变分指南、推断技术和层选择的模块化选择。用于方差缩减的采样技巧,如局部重参数化或 flipout,被实现为效果处理器,可独立于其他规范应用。我们展示了 TyXe 的易用性,以探索来自不同库的流行模型的贝叶斯版本:使用纯 Pytorch 神经网络的玩具回归;使用 torchvision ResNets 的大规模图像分类;基于 DGL 的图神经网络;以及构建于 Pytorch3D 之上的神经辐射场。最后,我们为变分持续学习提供便捷的抽象。在所有情况下,从确定性神经网络到贝叶斯神经网络的改动对现有代码修改极小,为广泛的研究人员和从业者提供了实用的不确定性估计技术途径。该库可在 https://github.com/TyXe-BDL/TyXe 获取。
引用
@article{arxiv.2110.00276,
title = {TyXe: Pyro-based Bayesian neural nets for Pytorch},
author = {Hippolyt Ritter and Theofanis Karaletsos},
journal= {arXiv preprint arXiv:2110.00276},
year = {2021}
}
备注
Previously presented at PROBPROG 2020