Vine Copulas as Differentiable Computational Graphs
Tuoyuan Cheng, Thibault Vatter, Thomas Nagler, Kan Chen

TL;DR
This paper introduces a differentiable computational graph framework for vine copulas, enabling their integration into machine learning pipelines with improved scalability, sampling, and uncertainty quantification capabilities.
Contribution
We present the vine computational graph, a novel DAG-based abstraction that facilitates efficient algorithms and GPU-accelerated implementation for vine copulas in deep learning.
Findings
Gradient flow through vines improves autoencoder performance
Vine-based uncertainty quantification outperforms MC-dropout and ensembles
New algorithms enable scalable sampling and structure construction
Abstract
Vine copulas are sophisticated models for multivariate distributions and are increasingly used in machine learning. To facilitate their integration into modern ML pipelines, we introduce the vine computational graph, a DAG that abstracts the multilevel vine structure and associated computations. On this foundation, we devise new algorithms for conditional sampling, efficient sampling-order scheduling, and constructing vine structures for customized conditioning variables. We implement these ideas in torchvinecopulib, a GPU-accelerated Python library built upon PyTorch, delivering improved scalability for fitting, sampling, and density evaluation. Our experiments illustrate how gradient flowing through the vine can improve Vine Copula Autoencoders and that incorporating vines for uncertainty quantification in deep learning can outperform MC-dropout, deep ensembles, and Bayesian Neural…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsData Management and Algorithms · Rough Sets and Fuzzy Logic
MethodsLib
