Awesome
Shape-Texture Debiased Neural Network Training
Code and models for the paper Shape-Texture Debiased Neural Network Training (ICLR 2021).
Introduction
<div align="center"> <img src="teaser.jpg" width="800px" /> </div>Convolutional Neural Networks are often biased towards either texture or shape, depending on the training dataset (Geirhos et al. 2019). Our ablation shows that such bias degenerates model performance. Motivated by this observation, we develop a simple algorithm for shape-texture debiased learning.
Experiments show that our method successfully improves model performance on several image recognition benchmarks and adversarial robustness. For example, by training on ImageNet, it helps ResNet-152 achieve substantial improvements on ImageNet (+1.2%), ImageNet-A (+5.2%), ImageNet-C (+8.3%) and Stylized-ImageNet (+11.1%), and on defending against FGSM adversarial attacker on ImageNet (+14.4%). Our method also claims to be compatible to other advanced data augmentation strategies, eg, Mixup and CutMix.
Dependencies:
- PyTorch = 1.4.0 with GPU support
Model Zoo:
Shape-Texture Debiased Models | ImageNet (Top-1 Acc.) |
---|---|
ResNet-50 :arrow_down: | 76.9 |
ResNet-101 :arrow_down: | 78.9 |
ResNet-152 :arrow_down: | 79.8 |
Mixup-ResNeXt-101 :arrow_down: | 80.5 |
CutMix-ResNeXt-101 :arrow_down: | 81.2 |
We also provide the checkpoint for the Shape-Biased ResNet-50 :arrow_down: and the Texture-Biased ResNet-50 :arrow_down:. See issue#2 for more details.
Training & Testing:
Please see the Training recipes / Testing recipes for how to train / test the models.
Acknowledgements
Part of this code comes from pytorch-classification and AdaIN.
Citation
If you use our code, models or wish to refer to our results, please use the following BibTex entry:
@article{li2020shapetexture,
author = {Li, Yingwei and Yu, Qihang and Tan, Mingxing and Mei, Jieru and Tang, Peng and Shen, Wei and Yuille, Alan and Xie, Cihang},
title = {Shape-Texture Debiased Neural Network Training},
journal = {arXiv preprint arXiv:2010.05981},
year = {2020}
}