SOTAVerified

Are Transformers More Robust Than CNNs?

2021-11-10NeurIPS 2021Code Available1· sign in to hype

Yutong Bai, Jieru Mei, Alan Yuille, Cihang Xie

Code Available — Be the first to reproduce this paper.

Reproduce

Code

Abstract

Transformer emerges as a powerful tool for visual recognition. In addition to demonstrating competitive performance on a broad range of visual benchmarks, recent works also argue that Transformers are much more robust than Convolutions Neural Networks (CNNs). Nonetheless, surprisingly, we find these conclusions are drawn from unfair experimental settings, where Transformers and CNNs are compared at different scales and are applied with distinct training frameworks. In this paper, we aim to provide the first fair & in-depth comparisons between Transformers and CNNs, focusing on robustness evaluations. With our unified training setup, we first challenge the previous belief that Transformers outshine CNNs when measuring adversarial robustness. More surprisingly, we find CNNs can easily be as robust as Transformers on defending against adversarial attacks, if they properly adopt Transformers' training recipes. While regarding generalization on out-of-distribution samples, we show pre-training on (external) large-scale datasets is not a fundamental request for enabling Transformers to achieve better performance than CNNs. Moreover, our ablations suggest such stronger generalization is largely benefited by the Transformer's self-attention-like architectures per se, rather than by other training setups. We hope this work can help the community better understand and benchmark the robustness of Transformers and CNNs. The code and models are publicly available at https://github.com/ytongbai/ViTs-vs-CNNs.

Tasks

Benchmark Results

DatasetModelMetricClaimedVerifiedStatus
ImageNetResNet-50 (SGD, Cosine)Accuracy77.4Unverified
ImageNetResNet-50 (SGD, Step)Accuracy76.9Unverified
ImageNetDeiT-S (AdamW, Cosine)Accuracy76.8Unverified
ImageNetResNet-50 (AdamW, Cosine)Accuracy76.4Unverified
ImageNet-AResNet-50 (AdamW, Cosine)Accuracy3.1Unverified
ImageNet-ADeiT-S (AdamW, Cosine)Accuracy12.2Unverified
ImageNet-AResNet-50 (SGD, Cosine)Accuracy3.3Unverified
ImageNet-AResNet-50 (SGD, Step)Accuracy3.2Unverified
ImageNet-CDeiT-S (AdamW, Cosine)mean Corruption Error (mCE)48Unverified
ImageNet-CResNet-50 (SGD, Cosine)mean Corruption Error (mCE)56.9Unverified
ImageNet-CResNet-50 (SGD, Step)mean Corruption Error (mCE)57.9Unverified
ImageNet-CResNet-50 (AdamW, Cosine)mean Corruption Error (mCE)59.3Unverified
Stylized ImageNetDeiT-S (AdamW, Cosine)Accuracy13Unverified
Stylized ImageNetResNet-50 (SGD, Cosine)Accuracy8.4Unverified
Stylized ImageNetResNet-50 (SGD, Step)Accuracy8.3Unverified
Stylized ImageNetResNet-50 (AdamW, Cosine)Accuracy8.1Unverified

Reproductions