Borch: A Deep Universal Probabilistic Programming Language
This addresses the problem of uncertainty quantification in deep learning for researchers and practitioners, offering a practical tool for probabilistic modeling, though it appears incremental as it builds on existing frameworks like PyTorch.
The paper tackles the challenge of integrating uncertainty representation into deep neural networks by introducing Borch, a scalable deep universal probabilistic programming language built on PyTorch, which enables models to represent, learn, and report uncertainty in predictions.
Ever since the Multilayered Perceptron was first introduced the connectionist community has struggled with the concept of uncertainty and how this could be represented in these types of models. This past decade has seen a lot of effort in trying to join the principled approach of probabilistic modeling with the scalable nature of deep neural networks. While the theoretical benefits of this consolidation are clear, there are also several important practical aspects of these endeavors; namely to force the models we create to represent, learn, and report uncertainty in every prediction that is made. Many of these efforts have been based on extending existing frameworks with additional structures. We present Borch, a scalable deep universal probabilistic programming language, built on top of PyTorch. The code is available for download and use in our repository https://gitlab.com/desupervised/borch.