  Determining whether inputs are out-of-distribution (OOD) is an essential
building block for safely deploying machine learning models in the open world.
However, previous methods relying on the softmax confidence score suffer from
overconfident posterior distributions for OOD data. We propose a unified
framework for OOD detection that uses an energy score. We show that energy
scores better distinguish in- and out-of-distribution samples than the
traditional approach using the softmax scores. Unlike softmax confidence
scores, energy scores are theoretically aligned with the probability density of
the inputs and are less susceptible to the overconfidence issue. Within this
framework, energy can be flexibly used as a scoring function for any
pre-trained neural classifier as well as a trainable cost function to shape the
energy surface explicitly for OOD detection. On a CIFAR-10 pre-trained
WideResNet, using the energy score reduces the average FPR (at TPR 95%) by
18.03% compared to the softmax confidence score. With energy-based training,
our method outperforms the state-of-the-art on common benchmarks.
