Paper Review

[논문 리뷰] Position, Padding and Predictions: A Deeper Look at Position Information in CNNs

슈넌 2021. 8. 5. 11:20

Position, Padding and Predictions:

A Deeper Look at Position Information in CNNs


Abstract

 

  • CNN은 fully connected networks에 비해 엄청난 성능을 보여주었다.
  • 이 논문에서 정확한 위치 정보를 갖고 있는지 실험한다.
  • 최적의 위치 정보를 encode 하는 방법은 무엇인지 확인하고,
  • 위치 정보가 semantic representations에 어떤 영향을 끼치는지 확인한다.
  • 위치 정보가 항상 성능을 개선시키는지 확인한다.
  • 결과적으로 위치 정보가 도움이 될 수도 있고 성능을 해칠 수도 있다는 것을 알게 된다.

 


1. Introduction

 

Section 3까지 이전 논문에서 다뤘던 내용이기 때문에 간단하게 정리하도록 하겠다. 자세한 내용이 궁금하다면 이전 논문 요약 글을 먼저 읽기 바란다. (참고:[논문 리뷰] How Much Position Information Do Convolutional Neural Networks Encode?) 위치 정보를 갖고 있다는 것을 알게 된 계기는 salient detection의 결과를 보고 나서이다. Crop 된 사진들을 비교했을 때 결과가 같게 나와야 하지만, 다르게 나오는 것을 볼 수 있다. 이것으로 CNN이 위치 정보를 학습한다는 생각을 한다.

 

canvas 위에 image를 붙여서 실험하여 위치 정보와 boundary effect와의 관계를 확인한다. 또한, padding이 boundary effect를 줄이고, 위치 정보를 학습하는데 역할을 한다는 것을 확인한다.

 

Boundary effect와 위치 정보에 대해 완전히 이해하기 위해 5가지의 가설을 세운다.

 

  1. Zero padding이 가장 많은 위치 정보를 학습한다.
  2. 다양한 canvas 색깔이 성능에 영향을 미친다.
  3. 위치 정보가 semantic 정보와 관련이 있다.
  4. Boundary effect가 image의 모든 위치에 발생한다.
  5. Position Encoding이 항상 성능을 개선한다.

이전 논문에서 연구한 결과인 CNN이 위치 정보를 갖고 있고, zero padding이 위치 정보의 main source임을 통해 다음 contribution을 도출한다.

  • grid-based strategy를 통해 border effects가 border로부터 거리에 따라 어떻게 변하는지 확인한다.
  • zero padding이 다른 padding보다 위치정보를 더 많이 학습한다.
  • high level feature에서 위치 정보가 얼마나 있는지 추정한다.
  • 이러한 실험들을 통해 수치적인 결과와 시각적인 결과를 얻어 boundary effect가 CNN에 상당한 영향을 끼친다는 것을 알게된다.

 


2. Related Work

 

Absolute Position Information in CNNs: feature map들을 시각화하는 방법과 feature map으로부터 location 정보를 받아오는 것, zero padding이 위치 정보의 key source라는 연구, boundary로부터 떨어진 거리에 따른 연구를 참고하여 실험하였다.

 

Explicit Positional Encoding: 위치 정보를 따로 networks에 넣어주는 방법도 사용되었다. 앞서 리뷰했던 CoordConv가 대표적인 예시이다. (참고: [논문 리뷰] CoordConv) 이외에도 다양한 형태의 위치 정보를 inject 하기 위한 많은 연구가 진행되었다.

 

Boundary Effects in CNNs: boundary effect는 생물학 분야에서 많이 연구되는 분야이다. 이것을 해결하기 위해 이전 연구들에서 convolutional filters를 특정한 값으로 해주거나, convolution activation을 reweighting 해주는 방법을 고안하였다.

 

이 논문에서는 boundary effect와 위치 정보가 어떠한 관계가 있는지 확인할 예정이다.

 


3. Absolute Position Information in CNNs

 

이 부분은 앞서 말한 논문과 내용이 완전히 같으므로 빠르게 설명하고 지나가겠다. 여기서 위치 정보가 CNN에 존재하는지 확인하기 위해 PosENet을 만들어서 위치 정보를 뽑아내는 데 성공한다. 그리고 이러한 위치 정보가 padding의 존재 유무에 따라 달라지는 것을 확인한다.

 

추가되는 내용으로는 3.4에서 다양한 padding 방법들을 사용하고 그에 따른 성능 비교를 한다. 아래 표를 보면 zero padding과 partial padding이 성능이 좋은 것을 볼 수 있는데, 이것 또한 0으로 padding을 해주는 것이기 때문에 zero padding의 성능으로 볼 수 있다. 그다음으로는 circular padding이 좋은 성능을 보이는데, 이 이유는 반대편의 값을 가져오기 때문에 어느 정도 위치와 관련되기 때문이라고 추측한다.

 


4. Location Dependant Tasks for Positional Analysis

 

Boundary effect와 위치 정보의 관계를 알아내기 위해 새로운 실험 방법을 고안한다. Grid-based input을 넣어서 boundary effect를 관찰하는 방법을 사용한다. 또한 canvas의 색을 다르게 실험하고, 위치 정보가 어떻게 semantic features를 학습하는데 영향을 끼치는지 확인한다.

 

 

1. Experimental Settings and Implementation Details

실험을 할 때 canvas는 위와 같은 환경으로 맞추어 주었다. Grid는 k x k로, 해주었다. 위의 사진은 k = 3인 경우이고 사진의 크기가 32 x 32인 경우이다. Canvas에 놓인 사진의 위치를 다르게 하거나, canvas의 색깔을 달리해서 실험을 한다. k = 3, 5, 7, 9, 11, 13인 경우로 나눠서 실험을 진행하였다. Grid의 크기를 다르게 한 이유는 image의 boundary에서 효과 차이를 보기 위함이다. 또한 zero padding을 제거했을 때 크기가 맞지 않는 경우에는 성능 비교를 위해 bilinear interpolation으로 크기를 맞춰주었다.

 

2. Network Implementation Without Padding

Zero padding을 제거하였을 때 resolution의 차이가 있으므로 bilinear interpolation을 적용시켜서 실험을 해보았다. White canvas의 경우 성능이 안 좋은 것을 볼 수 있고, zero padding을 제거했을 때 segmentation의 경우 성능이 안 좋아지는 것을 볼 수 있다. 이로써 resolution의 크기를 맞춰주는 것이 성능개선에 도움이 된다는 것을 알 수 있다.

 

3. Location Dependant Image Classification

이번 실험에서 알 수 있는 것은 zero padding을 제거해도 black canvas를 사용하면 zero padding과 같은 역할을 하면서 성능의 차이가 없다는 것을 알 수 있다. 또한, zero padding을 제거한 상태에서, grid가 증가할수록 border effect의 영향이 커져 position information을 적게 encoding하는 것을 알 수 있다.

 

4. Location Dependant Image Segmentation

위의 표에서 segmentation task의 경우 Grid가 증가할 수록 성능이 많이 저하되는 것을 볼 수 있다. 이 이유는 성능 측정을 mIoU로 하기 때문에 background에 대한 성능도 같이 계산하기 때문이다. Grid가 커지면 background의 영역이 많이 늘어나게 되고, position 정보를 encode 하는 영역이 많아지게 된다. 그래서 black canvas의 성능은 많이 떨어지지는 않지만 white나 mean canvas는 성능이 많이 떨어지게 된다.

 

5. Relationship Between Receptive Field Size and Boundary Effects

Receptive field와 boundary effects 간의 관계를 알기 위해서 receptive field가 다른 ResNet과 BagNet을 사용한다. BagNet은 ResNet을 변형한 모델로 receptive field가 각각 9, 17, 33인 모델이 있다. 위의 표를 보면 알 수 있듯이 BagNet의 receptive field가 작아질수록 성능이 저하되는 것을 볼 수 있다. 특히 segmentation task의 경우 성능이 눈에 띄게 낮아지는 것을 볼 수 있다. 이를 통해 큰 receptive field가 boundary effect를 감소시키는 것을 알 수 있다.

 


5. Interesting Representations for Dimensionality Estimation

 

이 부분을 이해하기 위해서는 Dimensionality Estimation이라는 개념을 이해해야 한다. 우리가 모델을 거쳐서 얻은 high level feature들은 각 정보를 담고 있는데, 그 feature들의 차원들이 각각 어떠한 정보를 담고 있는지를 수치로 표현한 것이다. 여기서는 위치 정보와 semantic 정보를 얼마나 많은 차원에 담고 있는지 비교한다.

위의 표를 보면 알 수 있듯이 zero padding이 있을 때보다 없을 때가 위치 정보와 class 정보를 적게 담고 있다. 이것을 통해서 location 정보와 semantic 정보가 zero padding을 통해서 더 많이 학습되는 것을 볼 수 있다.

 


6. Pre-Location Analysis

 

1. Distance-to-Border Analysis: What Input Regions Suffer Most from Border Effects?

위의 표는 border로부터의 거리마다 성능 차이를 확인한 것이다. 전체적으로 border에 가까울수록 성능이 낮아지는 것을 확인할 수 있다. 또한 black canvas를 사용했을 때는 성능이 많이 떨어지지 않는 것도 확인 할 수 있었고 오히려 segmentation task에서는 성능이 더 좋아지는 것도 확인 할 수 있었다. 

 

2. Are Border Effects Only at the Border?

위의 사진은 filter activation을 시각화해서 비교한 것이다. 사진을 보면 알 수 있듯이 padding을 제거했을 때 border 쪽에서는 형체가 거의 사라지는 것을 볼 수 있다. 또한, 깊은 layer로 갈수록 중앙에 있을 때도 형체가 점점 사라지고 blur 된 형상을 볼 수 있다. 이를 통해서 border effect가 border뿐만 아니라 모든 곳에서 일어나는 것을 확인하였다.

 

3. Does Encoding Location Enable the Learning of Semantics?

위의 사진을 보면 각 위치에 따라, canvas의 색깔에 따라서 confidence map을 시각화한 것이다. Black canvas의 경우 zero padding의 유무 관계없이 좋은 성능을 보여주는 반면 white나 mean canvas의 경우에는 zero padding이 없을 때 border effect가 나타나는 것을 볼 수 있다. 이를 통해 position 정보다 semantic에 대해 학습하는 것을 가능하게 해 준다는 것을 알 수 있다.

이 사진은 classification task를 t-SNE를 통해 시각화한 것이다. Zero padding이 있을 때와 없을 때를 비교하면, zero padding이 없을 때보다 있을 때가 각 class마다 구분이 더 명확하게 된다. 특히 이러한 효과는 border 쪽에 있을 때 더 명확히 구분이 가능하다. 이것을 통해 위치 정보가 classification task를 학습하는데도 도움이 된다는 것을 알 수 있다.

 

4. Canvas Analysis: Why Do Explicit Zeros Inject Location Information?

Canvas를 사용하게 되면 대부분의 영역이 background class로 들어가게 된다. 이렇게 되면 CNN은 background를 잘 맞추도록 학습이 될 것이다.

위의 사진은 filter activation을 시각화한 것이다. 밝을수록 activation이 높고 어두울수록 낮다. Black canvas의 경우 배경 부분이 activation이 높은 것을 확인할 수 있다. 반면에 white, mean canvas는 배경은 어두운 것을 확인할 수 있다. 이것을 통해 black canvas만이 주변 배경들을 통해 학습을 하고 있는 것을 알 수 있다. 이는 black canvas가 위치 정보를 배경을 통해 얻어낸다고 생각할 수 있다. 그리고 더 깊은 layer로 들어가게 되면 black canvas의 경우 다양한 형태가 나타나지만 white나 mean의 경우 Gaussian Filter와 비슷한 형태를 띠게 된다. 이를 통해 black canvas가 위치 정보와 semantic 정보를 더 잘 학습한다는 것을 알 수 있다.

 


7. Applicability To Semantic Segmentation, Texture Recognition, Data Augmentation, and Adversarial Robustness

 

1. Semantic Segmentation

DeepLabv3을 사용하여 실험을 진행한다. Zero padding을 제거했을 때와 padding 종류를 바꿨을 때를 비교한다. 또한 border effect를 확인하기 위해 border 쪽으로부터 몇 퍼센트의 영역을 측정했는지 확인한다. 예를 들어 0%~5%는 거의 border에 가까운 영역만을 의미한다.

위의 표에서 알 수 있듯이 zero padding을 제거하면 위치 정보를 적게 학습하기 때문에 모든 영역에서 성능이 떨어졌고, 특히 border에 가까운 부분에서 더 큰 성능 저하가 일어났다. 또한 reflect padding의 경우에는 전체를 봤을 때는 성능 변화가 거의 없지만 border 부분에서는 border effect 때문에 성능 저하가 일어났다.

 

2. Texture Recognition

Texture recognition은 texture에 대한 것을 인식하는 것으로 위치 정보가 필요하지 않다. 그렇기 때문에 위치 정보를 학습하지 않아도 성능 차이가 없을 것으로 예상했다.

위의 표를 보면 reflect padding이 성능이 가장 높은 것을 보여 주는데, 이는 위치 정보를 학습하지 않았기 때문이라고 말한다. 그리고 padding을 제거했을 때가 위치 정보가 더 적음에도 불구하고 성능이 낮은 이유는 padding을 제거하면서 생기는 border effect 때문이다.

 

3. Canvas Analysis: Cutout & Adversarial Robustness

Cutout은 사진에 검은색 사각형을 덧붙여서 data augmentation을 하는 방법이다. 여기서는 검은색과 하얀색 두 가지 사각형을 붙여서 각각 실험하였다. Adversarial Robustness는 adversarial attack으로부터 성능 저하가 얼마나 덜 일어나는지 확인하는 것이다.

실험에서 보여주듯이 Segmentation의 성능은 거의 변화가 없는 반면에 robustness는 white로 cutout을 했을 때 성능이 더 좋아진 것을 볼 수 있다. 논문에서는 black canvas가 꼭 좋지만은 않다는 것을 주장하고 싶은 것 같은데, canvas와 cutout은 method가 아예 다르기 때문에 이것이 적절한 실험인지는 모르겠다.

 


8. Conclusion

 

결론은 앞에서 말한 5가지 가설에 대한 대답이다.

  1. Zero padding이 가장 많은 위치 정보를 학습한다. - T
  2. 다양한 canvas 색깔이 성능에 영향을 미친다. - T
  3. 위치 정보가 semantic 정보와 관련이 있다. - T
  4. Boundary effect가 image의 모든 위치에 발생한다. -T
  5. Position Encoding이 항상 성능을 개선한다. - F

Zero padding이 위치 정보를 가장 많이 학습하고, black canvas가 zero padding과 같은 역할로 위치 정보를 학습한다. 위치 정보와 semantic 정보는 정비례 관계이다. Boundary effect는 border 뿐만 아니라 모든 위치에서 발생한다. 위치 정보는 항상 성능을 개선시키는 것이 아니라 위치 정보에 dependent한 task에만 성능 개선이 일어난다.

 


이번 논문은 저번 논문에서 더 나아가 위치 정보가 어떻게 학습되는지 확인해본 것이다. 하지만 중간중간 실험들에서 맞지 않는 실험들이 몇 개 있었기에(BagNet, Cutout 등) 조심히 읽어야 할 필요가 있는 것 같다.

 

질문이나 오류가 있다면 편하게 댓글 달아주세요!