If your data distribution shifts, use self-learning

We demonstrate that self-learning techniques like entropy minimization and pseudo-labeling are simple and effective at improving performance of a deployed computer vision model under systematic domain shifts. We conduct a wide range of large-scale experiments and show consistent improvements irrespective of the model architecture, the pre-training technique or the type of distribution shift. At the same time, self-learning is simple to use in practice because it does not require knowledge or access to the original training data or scheme, is robust to hyperparameter choices, is straight-forward to implement and requires only a few adaptation epochs. This makes self-learning techniques highly attractive for any practitioner who applies machine learning algorithms in the real world. We present state-of-the-art adaptation results on CIFAR10-C (8.5% error), ImageNet-C (22.0% mCE), ImageNet-R (17.4% error) and ImageNet-A (14.8% error), theoretically study the dynamics of self-supervised adaptation methods and propose a new classification dataset (ImageNet-D) which is challenging even with adaptation.

PDF Abstract

Results from the Paper


 Ranked #1 on Unsupervised Domain Adaptation on ImageNet-A (using extra training data)

     Get a GitHub badge
Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Unsupervised Domain Adaptation ImageNet-A EfficientNet-L2 NoisyStudent + RPL Top 1 Error 14.8 # 1
Unsupervised Domain Adaptation ImageNet-C ResNet50 + ENT mean Corruption Error (mCE) 51.6 # 14
Unsupervised Domain Adaptation ImageNet-C ResNet50 + RPL mean Corruption Error (mCE) 50.5 # 13
Unsupervised Domain Adaptation ImageNet-C EfficientNet-L2+ENT mean Corruption Error (mCE) 23.0 # 2
Unsupervised Domain Adaptation ImageNet-C ResNeXt101 32x8d + DeepAug + Augmix + ENT mean Corruption Error (mCE) 35.5 # 4
Unsupervised Domain Adaptation ImageNet-C ResNeXt101 32x8d + ENT mean Corruption Error (mCE) 44.3 # 10
Unsupervised Domain Adaptation ImageNet-C EfficientNet-L2+RPL mean Corruption Error (mCE) 22.0 # 1
Unsupervised Domain Adaptation ImageNet-C ResNeXt101 32x8d + IG-3.5B + ENT mean Corruption Error (mCE) 40.8 # 7
Unsupervised Domain Adaptation ImageNet-C ResNeXt101 32x8d + IG-3.5B + RPL mean Corruption Error (mCE) 40.9 # 8
Unsupervised Domain Adaptation ImageNet-C ResNeXt101 32x8d + DeepAug + Augmix + RPL mean Corruption Error (mCE) 34.8 # 3
Unsupervised Domain Adaptation ImageNet-C ResNeXt101 32x8d + RPL mean Corruption Error (mCE) 43.2 # 9
Unsupervised Domain Adaptation ImageNet-R ResNet50 + RPL Top 1 Error 54.1 # 6
Unsupervised Domain Adaptation ImageNet-R ResNet50 + ENT Top 1 Error 56.1 # 7
Unsupervised Domain Adaptation ImageNet-R EfficientNet-L2 Noisy Student + ENT Top 1 Error 19.7 # 3
Unsupervised Domain Adaptation ImageNet-R EfficientNet-L2 Noisy Student + RPL Top 1 Error 17.4 # 2

Methods