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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend