[21’ ICCV] Understanding Robustness of Transformers for Image Classification

Date:     Updated:

카테고리:

태그:

image


🔍 Abstract

Google Research에서 2021년 ICCV에서 발표한 논문이다. 저자들은 갓 등장했던 ViT의 Robustness를 다양한 방법으로 확인하고자 했다. 크게 두 갈래로 나누어 정리할 수 있다.

  1. Input Perturbation: Input에 Corruption, Perturbation, Adversarial Attack 등을 가해 Robustness를 확인한다.
  2. Model Perturbation: Model Layer를 제거하거나, Attention Range를 변화시키는 등의 방법으로 Model의 Robustness를 확인한다.

이 글에서는 지금까지도 배울 점이 많다고 생각하는 Model Perturbation에 더 집중하여 정리하겠다.


1. Input Perturbation

저자들은 먼저 Input Perturbation을 통해 ViT의 Robustness를 확인했다. 이를 위해 ImageNet Variant 데이터셋들을 사용하였고, 각각의 특징을 정리하면 다음과 같다.

image

(1) ImageNet-CNatural Corruption을 반영한 ImageNet 데이터셋이다.

image

(2) ImageNet-RReal-World Distribution Shifts을 반영한 ImageNet 데이터셋이다.

image

(3) ImageNet-AAdversarial Attacks을 반영한 ImageNet 데이터셋이다.

image

결과는 다음과 같고, 전반적으로 ResNet과 유사하거나 우수한 robustness를 보였다. 이러한 특성은 많은 데이터를 학습하기 때문이라고 저자들은 설명한다. 이러한 robustness는 성능과 마찬가지로 model size가 커질수록 더 좋아지는 경향을 보인다.

image


2. Model Perturbation

2.1. Layer Correlations

image

저자들은 두 데이터셋에 대해 Layer Correlations를 분석하였다. 즉, Representation 값을 여러 Layer에 대해 비교하고 그 유사도를 측정한 것인데, Spatial Token의 경우 late layer로 갈수록 layer-wise correlation이 높아지는 것을 확인할 수 있었다. 즉 많은 redundancy가 존재한다는 것이다. 그리고 ViT은 Inductive Bias가 없음에도 Layer가 여러 Stage로 나뉘어지는 것처럼 보인다. 반대로 [CLS] Token은 초반에 비해 후반에 그 Feature가 급변하는 모습을 보인다. 저자들은 이러한 관찰로부터 Early Layer에서는 Spatial Token끼리의 Interaction이 주로 일어나고, Late Layer에서는 그것들과 [CLS] Token과의 Interaction이 주로 일어난다고 추측했다.


2.2. Lesion Study

image

ViT에서 Layer를 제거하면 어떻게 될까? 놀랍게도 중반부 Layer를 제거하는 것은 성능에 큰 영향을 미치지 않았다. 이는 Layer-wise Correlation이 높아서 redundancy가 많기 때문이라고 저자들은 설명한다. 반면, 초반 Layer를 제거하면 성능이 급격히 떨어지는 것을 확인할 수 있었다. 이는 Early Layer에서는 Spatial Token끼리의 Interaction이 주로 일어나기 때문이라고 저자들은 설명한다. 또한, MLP Block보다 Self-Attention Block이 더 중요하다는 것도 확인할 수 있었다.


2.3. Restricted Attention

image

ViT의 Attention 거리를 제한하면 어떻게 될까? 저자들은 Restricted Attention을 통해 이를 확인하였다. ViT은 이론적으로 Global Attention이 가능하지만, 실제로는 Local Attention을 주로 수행하며 더 중요한 것으로 확인되었다. 한편, 저자들은 Patch 간의 Interaction을 제한하고 [CLS] Token과의 Interaction만 허용한 경우도 실험하였는데, 놀랍게도 Late Layer에서는 그런 상황에서도 정확도가 크게 떨어지지 않았다. 이는 Late Layer에서는 주로 [CLS] Token과의 Interaction이 주로 일어나기 때문이다.


💡 Summary

저자들의 Takeaway Summary를 정리한다.

  1. ViT은 충분한 데이터 하에서 학습했을 때 ResNet과 유사하거나 우수한 Robustness를 보이며, 더 좋은 Scalability를 보인다.
  2. ViT의 Early Layer에서는 Spatial Token끼리의 Interaction이 주로 일어나고, Late Layer에서는 그것들과 [CLS] Token과의 Interaction이 주로 일어난다.
  3. ViT은 이론적으로 Global Attention이 가능하지만, 실제로는 Local Attention을 주로 수행하며 더 중요한 것으로 확인되었다.
  4. ViT은 Layer-wise Correlation이 높아 redundancy가 많다. 특히 ViT의 mid-to-late layer를 제거하여도 성능에 큰 영향을 미치지 않았다.


📃 Reference


Vision 카테고리 내 다른 글 보러가기

댓글 남기기