making convolutional networks shift invariant again
play

Making Convolutional Networks Shift-Invariant Again Richard Zhang - PowerPoint PPT Presentation

Making Convolutional Networks Shift-Invariant Again Richard Zhang Adobe Research Example classifications P(correct class) P(correct class) not Shift-Invariant Deep Networks are not P(correct class) P(correct class) not Shift-Invariant Deep


  1. Making Convolutional Networks Shift-Invariant Again Richard Zhang Adobe Research

  2. Example classifications P(correct class) P(correct class)

  3. not Shift-Invariant Deep Networks are not P(correct class) P(correct class)

  4. not Shift-Invariant Deep Networks are not P(correct class) P(correct class) Azulay and Weiss. Why y do deep convo volutional networks ks generalize ze so so poorly y to sm small image transf sformations? s? In ArXiv, 2018. Engstrom, Tsipras, Schmidt, Madry. Exp xploring the Landsc scape of Spatial Robust stness. ss. In ICML, 2019.

  5. Why is shift-invariance lost? 5

  6. Why is shift-invariance lost? “ Convo volutions are sh shift-equiva variant ” 6

  7. Why is shift-invariance lost? “ Convo volutions are sh shift-equiva variant ” “ Po Poolin ling builds up sh shift-inva variance ” 7

  8. Why is shift-invariance lost? “ Convo volutions are sh shift-equiva variant ” “ Po Poolin ling builds up sh shift-inva variance ” …but st striding ignores Nyquist sampling theorem and aliase ses 8

  9. Re-examining Max-Pooling 9

  10. Re-examining Max-Pooling max 10

  11. Re-examining Max-Pooling max 11

  12. Re-examining Max-Pooling max 12

  13. Re-examining Max-Pooling max 13

  14. Re-examining Max-Pooling max 14

  15. Re-examining Max-Pooling max 15

  16. Re-examining Max-Pooling max 16

  17. Re-examining Max-Pooling max 17

  18. Re-examining Max-Pooling 18

  19. Re-examining Max-Pooling max 19

  20. Re-examining Max-Pooling max 20

  21. Re-examining Max-Pooling max 21

  22. Re-examining Max-Pooling max 22

  23. Re-examining Max-Pooling max 23

  24. Re-examining Max-Pooling max 24

  25. Re-examining Max-Pooling 25

  26. Re-examining Max-Pooling 26

  27. Re-examining Max-Pooling 27

  28. Re-examining Max-Pooling Max-pooling breaks ks shift-equivariance 28

  29. softmax classifier Shift-equivariance in VGG 1x1 pool5 • CIFAR conv5 • VGG network pool4 • 5 max-pools conv4 pool3 • Test shift-equivariance condition • conv3 pool2 conv2 pool1 conv1 pixels 32x32

  30. softmax classifier Shift-equivariance in VGG 1x1 pool5 • CIFAR conv5 • VGG network pool4 • 5 max-pools conv4 pool3 • Test shift-equivariance condition • conv3 pool2 conv2 pool1 conv1 pixels 32x32

  31. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 conv4 pool3 conv3 Perfect shift-eq. pool2 conv2 pool1 conv1 v1 31 pixels

  32. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 conv4 pool3 conv3 Convolution is shift-equivariant Perfect shift-eq. pool2 conv2 pool1 conv1 v1 32 pixels

  33. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 conv4 pool3 conv3 Perfect shift-eq. pool2 conv2 pool1 po conv1 33 pixels

  34. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 conv4 pool3 conv3 Pooling breaks shift-equivariance Perfect shift-eq. pool2 conv2 pool1 po conv1 34 pixels

  35. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 conv4 pool3 conv3 Perfect shift-eq. pool2 po conv2 pool1 conv1 pixels

  36. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 conv4 pool3 po conv3 Perfect shift-eq. pool2 conv2 pool1 conv1 pixels

  37. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 pool4 po conv4 pool3 conv3 Perfect shift-eq. pool2 conv2 pool1 conv1 pixels

  38. softmax Shift-equivariance, per layer classifier pool5 Large deviation from shift-eq. conv5 po pool4 conv4 pool3 Nyquist theorem ignored when pooling; conv3 sing breaks shift-equivariance aliasi Perfect shift-eq. pool2 conv2 pool1 conv1 pixels

  39. Alternative downsampling methods • Blur+subsample • Antialiasi sing in signal processing; image processing; graphics • Max-pooling • Performs better in deep learning applications [Scherer 2010] 39

  40. Alternative downsampling methods • Blur+subsample • Antialiasi sing in signal processing; image processing; graphics • Max-pooling • Performs better in deep learning applications [Scherer 2010] 40

  41. Alternative downsampling methods • Blur+subsample • Antialiasi sing in signal processing; image processing; graphics • Max-pooling • Performs better in deep learning applications [Scherer 2010] Reconcile antialiasing with max-pooling 41

  42. max( x( ) Baseline (MaxPool) max( x( ) heavy vy aliasi sing

  43. max( x( ) Baseline (MaxPool) max( x( ) heavy vy aliasi sing

  44. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) heavy vy aliasi sing no aliasi sing

  45. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) (2) Subsa sampling heavy vy aliasi sing no aliasi sing heavy vy aliasi sing

  46. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) (2) Subsa sampling heavy vy aliasi sing no aliasi sing heavy vy aliasi sing

  47. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) (2) Subsa sampling heavy vy aliasi sing no aliasi sing heavy vy aliasi sing max( x( ) Anti-aliased (MaxBlurPool) max( x( ) (1) Max x (dense se eva valuation) no aliasi sing

  48. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) (2) Subsa sampling heavy vy aliasi sing no aliasi sing heavy vy aliasi sing max( x( ) Anti-aliased Blur Bl (MaxBlurPool) max( x( ) (1) Max x (dense se eva valuation) (2 (2) ) Anti Anti-aliasi sing filter filter no aliasi sing no aliasi sing

  49. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) (2) Subsa sampling heavy vy aliasi sing no aliasi sing heavy vy aliasi sing max( x( ) Anti-aliased Blur Bl (MaxBlurPool) max( x( ) (1) Max x (dense se eva valuation) (2) (2 ) Anti-aliasi sing filter (3) Subsa sampling no aliasi sing no aliasi sing reduced aliasi sing

  50. max( x( ) max( x( ) Baseline (MaxPool) max( x( ) max( x( ) (1) Max x (dense se eva valuation) (2) Subsa sampling heavy vy aliasi sing no aliasi sing heavy vy aliasi sing max( x( ) Anti-aliased Blur Bl (MaxBlurPool) max( x( ) Evaluated together as “BlurPool” (1) Max x (dense se eva valuation) (2) (2 ) Anti-aliasi sing filter (3) Subsa sampling no aliasi sing no aliasi sing reduced aliasi sing

  51. Antialiasing any downsampling layer • Max Pool • VGG, Alexnet • Strided Convolution • Resnet, MobileNetv2 • Average Pool • DenseNet 51

  52. Antialiasing any downsampling layer • Max Pool • VGG, Alexnet • Strided Convolution • Resnet, MobileNetv2 • Average Pool • DenseNet 52

  53. Antialiasing any downsampling layer • Max Pool • VGG, Alexnet • Strided Convolution • Resnet, MobileNetv2 • Average Pool • DenseNet 53

  54. ImageNet Shift-invariance

  55. ImageNet Shift-invariance Accuracy

  56. ImageNet Shift-invariance Accuracy

  57. ImageNet Baseline Shift-invariance Accuracy

  58. ImageNet Baseline Shift-invariance Antialiased Accuracy

  59. ImageNet Baseline Shift-invariance Antialiased Accuracy

  60. ImageNet Baseline Shift-invariance Antialiased Antialiasing also improves accur accuracy acy Accuracy

  61. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness 61

  62. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness 62

  63. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness 63

  64. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness 64

  65. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness 65

  66. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness 66

  67. Discussion Striding aliases (stride=2) Add antialiasing filter + Improved shift-equivariance + Improved accuracy Additionally + Improved stability to other perturbations + Improved robustness Antialiasing code, pretrained models https://richzhang.github.io/antialiased-cnns/ 67

Recommend


More recommend