Single Layer Predictive Normalized Maximum Likelihood for Out-of-Distribution Detection
Koby Bibas, Meir Feder, Tal Hassner
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/kobybibas/pnml_ood_detectionOfficialIn paperpytorch★ 25
Abstract
Detecting out-of-distribution (OOD) samples is vital for developing machine learning based models for critical safety systems. Common approaches for OOD detection assume access to some OOD samples during training which may not be available in a real-life scenario. Instead, we utilize the predictive normalized maximum likelihood (pNML) learner, in which no assumptions are made on the tested input. We derive an explicit expression of the pNML and its generalization error, denoted as the regret, for a single layer neural network (NN). We show that this learner generalizes well when (i) the test vector resides in a subspace spanned by the eigenvectors associated with the large eigenvalues of the empirical correlation matrix of the training data, or (ii) the test sample is far from the decision boundary. Furthermore, we describe how to efficiently apply the derived pNML regret to any pretrained deep NN, by employing the explicit pNML for the last layer, followed by the softmax function. Applying the derived regret to deep NN requires neither additional tunable parameters nor extra data. We extensively evaluate our approach on 74 OOD detection benchmarks using DenseNet-100, ResNet-34, and WideResNet-40 models trained with CIFAR-100, CIFAR-10, SVHN, and ImageNet-30 showing a significant improvement of up to 15.6\% over recent leading methods.
Tasks
Benchmark Results
| Dataset | Model | Metric | Claimed | Verified | Status |
|---|---|---|---|---|---|
| CIFAR-100 vs Gaussian | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| CIFAR-100 vs Gaussian | ResNet-34 | AUROC | 100 | — | Unverified |
| CIFAR-100 vs ImageNet (C) | ResNet-34 | AUROC | 98.4 | — | Unverified |
| CIFAR-100 vs ImageNet (C) | DenseNet-BC-100 | AUROC | 99 | — | Unverified |
| CIFAR-100 vs ImageNet (R) | ResNet-34 | AUROC | 99.2 | — | Unverified |
| CIFAR-100 vs ImageNet (R) | DenseNet-BC-100 | AUROC | 99.5 | — | Unverified |
| CIFAR-100 vs iSUN | ResNet-34 | AUROC | 99.3 | — | Unverified |
| CIFAR-100 vs iSUN | DenseNet-BC-100 | AUROC | 99.5 | — | Unverified |
| CIFAR-100 vs LSUN (C) | DenseNet-BC-100 | AUROC | 96.1 | — | Unverified |
| CIFAR-100 vs LSUN (C) | ResNet-34 | AUROC | 97.8 | — | Unverified |
| CIFAR-100 vs LSUN (R) | ResNet-34 | AUROC | 99.6 | — | Unverified |
| CIFAR-100 vs LSUN (R) | DenseNet-BC-100 | AUROC | 99.7 | — | Unverified |
| CIFAR-100 vs SVHN | DenseNet-BC-100 | AUROC | 98.4 | — | Unverified |
| CIFAR-100 vs SVHN | ResNet-34 | AUROC | 97.9 | — | Unverified |
| CIFAR-100 vs Uniform | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| CIFAR-100 vs Uniform | ResNet-34 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs Gaussian | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs Gaussian | ResNet-34 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs ImageNet (C) | ResNet-34 | AUROC | 99.8 | — | Unverified |
| CIFAR-10 vs ImageNet (C) | DenseNet-BC-100 | AUROC | 99.9 | — | Unverified |
| CIFAR-10 vs ImageNet (R) | ResNet-34 | AUROC | 99.9 | — | Unverified |
| CIFAR-10 vs ImageNet (R) | DenseNet-BC-100 | AUROC | 99.9 | — | Unverified |
| CIFAR-10 vs iSUN | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs iSUN | ResNet-34 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs LSUN (C) | ResNet-34 | AUROC | 99.5 | — | Unverified |
| CIFAR-10 vs LSUN (C) | DenseNet-BC-100 | AUROC | 99.9 | — | Unverified |
| CIFAR-10 vs LSUN (R) | ResNet-34 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs LSUN (R) | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs SVHN | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs SVHN | ResNet-34 | AUROC | 99.8 | — | Unverified |
| CIFAR-10 vs Uniform | ResNet-34 | AUROC | 100 | — | Unverified |
| CIFAR-10 vs Uniform | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs CIFAR-10 | ResNet-34 | AUROC | 99.8 | — | Unverified |
| SVHN vs CIFAR-10 | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs CIFAR-100 | ResNet-34 | AUROC | 99.8 | — | Unverified |
| SVHN vs CIFAR-100 | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs Gaussian | ResNet-34 | AUROC | 100 | — | Unverified |
| SVHN vs Gaussian | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs ImageNet (C) | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs ImageNet (C) | ResNet-34 | AUROC | 100 | — | Unverified |
| SVHN vs ImageNet (R) | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs ImageNet (R) | ResNet-34 | AUROC | 100 | — | Unverified |
| SVHN vs iSUN | ResNet-34 | AUROC | 100 | — | Unverified |
| SVHN vs iSUN | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs LSUN (C) | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs LSUN (C) | ResNet-34 | AUROC | 99.9 | — | Unverified |
| SVHN vs LSUN (R) | ResNet-34 | AUROC | 100 | — | Unverified |
| SVHN vs LSUN (R) | DenseNet-BC-100 | AUROC | 100 | — | Unverified |
| SVHN vs Uniform | ResNet-34 | AUROC | 100 | — | Unverified |
| SVHN vs Uniform | DenseNet-BC-100 | AUROC | 100 | — | Unverified |