  A major problem of deep neural networks for image classification is their
vulnerability to domain changes at test-time. Recent methods have proposed to
address this problem with test-time training (TTT), where a two-branch model is
trained to learn a main classification task and also a self-supervised task
used to perform test-time adaptation. However, these techniques require
defining a proxy task specific to the target application. To tackle this
limitation, we propose TTTFlow: a Y-shaped architecture using an unsupervised
head based on Normalizing Flows to learn the normal distribution of latent
features and detect domain shifts in test examples. At inference, keeping the
unsupervised head fixed, we adapt the model to domain-shifted examples by
maximizing the log likelihood of the Normalizing Flow. Our results show that
our method can significantly improve the accuracy with respect to previous
works.
