Out-of-Distribution Detection with a Single Unconditional Diffusion Model
About
Out-of-distribution (OOD) detection is a critical task in machine learning that seeks to identify abnormal samples. Traditionally, unsupervised methods utilize a deep generative model for OOD detection. However, such approaches require a new model to be trained for each inlier dataset. This paper explores whether a single model can perform OOD detection across diverse tasks. To that end, we introduce Diffusion Paths (DiffPath), which uses a single diffusion model originally trained to perform unconditional generation for OOD detection. We introduce a novel technique of measuring the rate-of-change and curvature of the diffusion paths connecting samples to the standard normal. Extensive experiments show that with a single model, DiffPath is competitive with prior work using individual models on a variety of OOD tasks involving different distributions. Our code is publicly available at https://github.com/clear-nus/diffpath.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Out-of-Distribution Detection | CIFAR-100 SVHN in-distribution out-of-distribution (test) | AUROC72.4 | 107 | |
| Out-of-Distribution Detection | CIFAR-10 (ID) vs Celeb-A (OOD) | AUROC89.9 | 79 | |
| Out-of-Distribution Detection | CELEBA (in-distribution) | AUROC (CIFAR-100)99.8 | 57 | |
| Out-of-Distribution Detection | CIFAR-100 (In-distribution) vs CIFAR-10 (OOD) (test) | AUROC48.3 | 40 | |
| Out-of-Distribution Detection | CIFAR 100 Near OOD | AUROC59 | 38 | |
| Out-of-Distribution Detection | ImageNet | Average AUROC85 | 36 | |
| Out-of-Distribution Detection | CIFAR-10 In-Distribution | AUROC (SVHN)0.91 | 26 | |
| Out-of-Distribution Detection | SVHN In-Distribution | AUROC (CIFAR-10)93.9 | 18 | |
| Out-of-Distribution Detection | SVHN Near-OOD | AUROC91 | 18 | |
| Out-of-Distribution Detection | CIFAR-10 as ID | Score (vs SVHN)0.91 | 16 |