English

Making Convolutional Networks Shift-Invariant Again

Computer Vision and Pattern Recognition 2019-06-11 v2 Machine Learning

Abstract

Modern convolutional networks are not shift-invariant, as small input shifts or translations can cause drastic changes in the output. Commonly used downsampling methods, such as max-pooling, strided-convolution, and average-pooling, ignore the sampling theorem. The well-known signal processing fix is anti-aliasing by low-pass filtering before downsampling. However, simply inserting this module into deep networks degrades performance; as a result, it is seldomly used today. We show that when integrated correctly, it is compatible with existing architectural components, such as max-pooling and strided-convolution. We observe \textit{increased accuracy} in ImageNet classification, across several commonly-used architectures, such as ResNet, DenseNet, and MobileNet, indicating effective regularization. Furthermore, we observe \textit{better generalization}, in terms of stability and robustness to input corruptions. Our results demonstrate that this classical signal processing technique has been undeservingly overlooked in modern deep networks. Code and anti-aliased versions of popular networks are available at https://richzhang.github.io/antialiased-cnns/ .

Keywords

Cite

@article{arxiv.1904.11486,
  title  = {Making Convolutional Networks Shift-Invariant Again},
  author = {Richard Zhang},
  journal= {arXiv preprint arXiv:1904.11486},
  year   = {2019}
}

Comments

Accepted to ICML 2019

R2 v1 2026-06-23T08:49:41.232Z