Making Convolutional Networks Shift-Invariant Again

25 Apr 2019  ·  Richard Zhang ·

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/ .

PDF Abstract
Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Domain Generalization VizWiz-Classification ResNet-101 (lpf3) Accuracy - All Images 41.7 # 26
Accuracy - Corrupted Images 35.7 # 24
Accuracy - Clean Images 46.1 # 26
Domain Generalization VizWiz-Classification AlexNet (lpf5) Accuracy - All Images 22.7 # 89
Accuracy - Corrupted Images 18.4 # 86
Accuracy - Clean Images 26.8 # 87
Domain Generalization VizWiz-Classification AlexNet (lpf2) Accuracy - All Images 22.8 # 88
Accuracy - Corrupted Images 18.2 # 87
Accuracy - Clean Images 26.8 # 87
Domain Generalization VizWiz-Classification AlexNet (lpf3) Accuracy - All Images 23.1 # 87
Accuracy - Corrupted Images 17.5 # 88
Accuracy - Clean Images 26.8 # 87
Domain Generalization VizWiz-Classification VGG-16 (lpf2) Accuracy - All Images 33.5 # 79
Accuracy - Corrupted Images 26.7 # 79
Accuracy - Clean Images 38.5 # 77
Domain Generalization VizWiz-Classification VGG-16 (lpf5) Accuracy - All Images 34.5 # 76
Accuracy - Corrupted Images 27.8 # 75
Accuracy - Clean Images 39.4 # 73
Domain Generalization VizWiz-Classification ResNet-18 (lpf5) Accuracy - All Images 34.7 # 73
Accuracy - Corrupted Images 27.7 # 76
Accuracy - Clean Images 38.9 # 76
Domain Generalization VizWiz-Classification VGG-16 (lpf3) Accuracy - All Images 35.1 # 71
Accuracy - Corrupted Images 28.2 # 74
Accuracy - Clean Images 40 # 67
Domain Generalization VizWiz-Classification ResNet-18 (lpf2) Accuracy - All Images 35.5 # 69
Accuracy - Corrupted Images 28.7 # 69
Accuracy - Clean Images 40.1 # 64
Domain Generalization VizWiz-Classification MobileNetV2 (lpf2) Accuracy - All Images 35.5 # 69
Accuracy - Corrupted Images 30.3 # 59
Accuracy - Clean Images 39.2 # 75
Domain Generalization VizWiz-Classification ResNet-18 (lpf3) Accuracy - All Images 35.6 # 68
Accuracy - Corrupted Images 28.5 # 70
Accuracy - Clean Images 39.5 # 71
Domain Generalization VizWiz-Classification MobileNetV2 (lpf5) Accuracy - All Images 35.8 # 66
Accuracy - Corrupted Images 29.1 # 67
Accuracy - Clean Images 40.1 # 64
Domain Generalization VizWiz-Classification MobileNetV2 (lpf3) Accuracy - All Images 36 # 64
Accuracy - Corrupted Images 30.4 # 58
Accuracy - Clean Images 40.3 # 63
Domain Generalization VizWiz-Classification VGG-16 BN (lpf3) Accuracy - All Images 36.9 # 56
Accuracy - Corrupted Images 30.6 # 57
Accuracy - Clean Images 42.1 # 53
Domain Generalization VizWiz-Classification VGG-16 BN (lpf5) Accuracy - All Images 37 # 55
Accuracy - Corrupted Images 30.8 # 55
Accuracy - Clean Images 41.7 # 55
Domain Generalization VizWiz-Classification VGG-16 BN (lpf2) Accuracy - All Images 37.2 # 53
Accuracy - Corrupted Images 31.3 # 51
Accuracy - Clean Images 41.8 # 54
Domain Generalization VizWiz-Classification ResNet-34 (lpf5) Accuracy - All Images 37.2 # 53
Accuracy - Corrupted Images 29.9 # 64
Accuracy - Clean Images 42.5 # 51
Domain Generalization VizWiz-Classification ResNet-34 (lpf3) Accuracy - All Images 38.3 # 44
Accuracy - Corrupted Images 31.9 # 47
Accuracy - Clean Images 42.9 # 43
Domain Generalization VizWiz-Classification ResNet-34 (lpf2) Accuracy - All Images 38.3 # 44
Accuracy - Corrupted Images 32.4 # 42
Accuracy - Clean Images 42.8 # 45
Domain Generalization VizWiz-Classification DenseNet-121 (lpf3) Accuracy - All Images 38.3 # 44
Accuracy - Corrupted Images 32.3 # 45
Accuracy - Clean Images 42.8 # 45
Domain Generalization VizWiz-Classification DenseNet-121 (lpf2) Accuracy - All Images 38.3 # 44
Accuracy - Corrupted Images 31.7 # 48
Accuracy - Clean Images 43.1 # 42
Domain Generalization VizWiz-Classification DenseNet121 (lpf5) Accuracy - All Images 38.7 # 43
Accuracy - Corrupted Images 32 # 46
Accuracy - Clean Images 42.7 # 48
Domain Generalization VizWiz-Classification ResNet-50 (lpf3) Accuracy - All Images 40 # 37
Accuracy - Corrupted Images 34.3 # 32
Accuracy - Clean Images 44.7 # 35
Domain Generalization VizWiz-Classification ResNet-50 (lpf2) Accuracy - All Images 40.3 # 35
Accuracy - Corrupted Images 33.4 # 38
Accuracy - Clean Images 45.1 # 33
Domain Generalization VizWiz-Classification ResNet-101 (lpf5) Accuracy - All Images 41 # 32
Accuracy - Corrupted Images 34.8 # 31
Accuracy - Clean Images 45.8 # 28
Domain Generalization VizWiz-Classification ResNet-101 (lpf2) Accuracy - All Images 41.1 # 31
Accuracy - Corrupted Images 35.1 # 28
Accuracy - Clean Images 45.2 # 32
Domain Generalization VizWiz-Classification ResNet-50 (lpf5) Accuracy - All Images 41.5 # 29
Accuracy - Corrupted Images 35.2 # 27
Accuracy - Clean Images 45.3 # 30

Methods