|
|
--- |
|
|
license: mit |
|
|
language: |
|
|
- en |
|
|
tags: |
|
|
- uncertainty |
|
|
- uncertainty-quantification |
|
|
- code |
|
|
--- |
|
|
|
|
|
# SPC-UQ: A Post-hoc, Efficient, and Unified Uncertainty Quantification Framework |
|
|
|
|
|
This repository contains the official code for **SPC-UQ** (Split-Point Consistency for Uncertainty Quantification), a post-hoc framework that jointly quantifies aleatoric and epistemic uncertainty with a single forward pass. |
|
|
|
|
|
It accompanies the paper: |
|
|
|
|
|
[**"Post-Hoc Split-Point Self-Consistency Verification for Efficient, Unified Quantification of Aleatoric and Epistemic Uncertainty in Deep Learning."**](https://arxiv.org/abs/2509.13262) |
|
|
|
|
|
## Key Features |
|
|
|
|
|
- **Post-hoc** β augments pre-trained network without architectural changes and retraining. |
|
|
- **Unified** β supports both regression and classification tasks in deep learning. |
|
|
- **Efficient** β produces aleatoric and epistemic uncertainty estimates in one forward pass. |
|
|
- **Calibration** β provides mechanisms to calibrate aleatoric uncertainty and improve predictive reliability. |
|
|
|
|
|
## Repository Structure |
|
|
|
|
|
``` |
|
|
Cubic_Regression/ # Toy cubic regression for fast demonstration. |
|
|
MNIST_Classification/ # Digit classification for fast demonstration. |
|
|
UCI_Benchmarks/ # Standard UCI regression datasets for scalar regression evaluation. |
|
|
Monocular_Depth_Estimation/ # Monocular end-to-end image depth estimation for high-dimensional regression. |
|
|
Image_Classification/ # CIFAR-10/100, ImageNet-1K for large-scale image classification. |
|
|
Multimodal_Classification/ # LUMA multimodal benchmark (image/audio/text) for multimodal classification tasks. |
|
|
``` |
|
|
|
|
|
Each directory provides scripts to reproduce the corresponding experiments. |
|
|
|
|
|
## Installation |
|
|
|
|
|
We recommend using [conda](https://docs.conda.io/en/latest/) to manage dependencies. |
|
|
All required packages and versions except Multimodal_Classification are specified in `environment.yml`. |
|
|
|
|
|
### Step 1: Clone the repository |
|
|
```bash |
|
|
huggingface-cli download zzz0527/SPC-UQ --local-dir SPC-UQ |
|
|
cd SPC-UQ |
|
|
``` |
|
|
### Step 2: Create and activate the environment |
|
|
```bash |
|
|
conda env create -f environment.yml |
|
|
conda activate spc_uq |
|
|
``` |
|
|
|
|
|
## Usage |
|
|
|
|
|
Each subdirectory corresponds to a specific benchmark. |
|
|
To run an experiment, navigate into the corresponding folder and follow the instructions provided in its `README.md`. |
|
|
|
|
|
### Quick Start |
|
|
For a fast verification, we provide two lightweight benchmark tasks: |
|
|
|
|
|
```bash |
|
|
# Synthetic cubic regression |
|
|
python Cubic_Regression/run_cubic_tests.py |
|
|
|
|
|
# MNIST classification |
|
|
python MNIST_Classification/run_cls_tests.py |
|
|
``` |
|
|
|
|
|
See the documentation in each subdirectory for details on dataset preparation, configuration options, and advanced usage. |
|
|
|
|
|
## Citation |
|
|
|
|
|
If you use SPC-UQ in your research, please cite our paper: |
|
|
|
|
|
``` |
|
|
@article{zhao2025post, |
|
|
title={Post-Hoc Split-Point Self-Consistency Verification for Efficient, Unified Quantification of Aleatoric and Epistemic Uncertainty in Deep Learning}, |
|
|
author={Zhao, Zhizhong and Chen, Ke}, |
|
|
journal={arXiv preprint arXiv:2509.13262}, |
|
|
year={2025} |
|
|
} |
|
|
``` |