Single Layer Predictive Normalized Maximum Likelihood for Out-of-Distribution Detection

NeurIPS 2021  ยท  Koby Bibas, Meir Feder, Tal Hassner ยท

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 {\em 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 {\em 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.

PDF Abstract NeurIPS 2021 PDF NeurIPS 2021 Abstract
Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Out-of-Distribution Detection CIFAR-100 vs Gaussian DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-100 vs Gaussian ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-100 vs ImageNet (C) DenseNet-BC-100 AUROC 99.0 # 1
Out-of-Distribution Detection CIFAR-100 vs ImageNet (C) ResNet-34 AUROC 98.4 # 2
Out-of-Distribution Detection CIFAR-100 vs ImageNet (R) ResNet-34 AUROC 99.2 # 2
Out-of-Distribution Detection CIFAR-100 vs ImageNet (R) DenseNet-BC-100 AUROC 99.5 # 1
Out-of-Distribution Detection CIFAR-100 vs iSUN DenseNet-BC-100 AUROC 99.5 # 1
Out-of-Distribution Detection CIFAR-100 vs iSUN ResNet-34 AUROC 99.3 # 2
Out-of-Distribution Detection CIFAR-100 vs LSUN (C) ResNet-34 AUROC 97.8 # 1
Out-of-Distribution Detection CIFAR-100 vs LSUN (C) DenseNet-BC-100 AUROC 96.1 # 2
Out-of-Distribution Detection CIFAR-100 vs LSUN (R) ResNet-34 AUROC 99.6 # 2
Out-of-Distribution Detection CIFAR-100 vs LSUN (R) DenseNet-BC-100 AUROC 99.7 # 1
Out-of-Distribution Detection CIFAR-100 vs SVHN DenseNet-BC-100 AUROC 98.4 # 2
Out-of-Distribution Detection CIFAR-100 vs SVHN ResNet-34 AUROC 97.9 # 3
Out-of-Distribution Detection CIFAR-100 vs Uniform DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-100 vs Uniform ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs Gaussian ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs Gaussian DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs ImageNet (C) ResNet-34 AUROC 99.8 # 2
Out-of-Distribution Detection CIFAR-10 vs ImageNet (C) DenseNet-BC-100 AUROC 99.9 # 1
Out-of-Distribution Detection CIFAR-10 vs ImageNet (R) ResNet-34 AUROC 99.9 # 1
Out-of-Distribution Detection CIFAR-10 vs ImageNet (R) DenseNet-BC-100 AUROC 99.9 # 1
Out-of-Distribution Detection CIFAR-10 vs iSUN DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs iSUN ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs LSUN (C) DenseNet-BC-100 AUROC 99.9 # 1
Out-of-Distribution Detection CIFAR-10 vs LSUN (C) ResNet-34 AUROC 99.5 # 2
Out-of-Distribution Detection CIFAR-10 vs LSUN (R) ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs LSUN (R) DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs SVHN ResNet-34 AUROC 99.8 # 2
Out-of-Distribution Detection CIFAR-10 vs SVHN DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs Uniform DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection CIFAR-10 vs Uniform ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs CIFAR-10 DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs CIFAR-10 ResNet-34 AUROC 99.8 # 2
Out-of-Distribution Detection SVHN vs CIFAR-100 ResNet-34 AUROC 99.8 # 2
Out-of-Distribution Detection SVHN vs CIFAR-100 DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs Gaussian DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs Gaussian ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs ImageNet (C) ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs ImageNet (C) DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs ImageNet (R) ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs ImageNet (R) DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs iSUN DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs iSUN ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs LSUN (C) DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs LSUN (C) ResNet-34 AUROC 99.9 # 2
Out-of-Distribution Detection SVHN vs LSUN (R) ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs LSUN (R) DenseNet-BC-100 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs Uniform ResNet-34 AUROC 100 # 1
Out-of-Distribution Detection SVHN vs Uniform DenseNet-BC-100 AUROC 100 # 1

Methods