Conditional Positional Encodings for Vision Transformers

https://arxiv.org/pdf/2102.10882.pdf

https://github.com/Meituan-AutoML/Twins/blob/main/gvt.py#L305-L325

Abstract

vision Transformer를 위한 conditional positional encoding(CPE)를 제안한다. 미리 정의되어 있고, input token에 따라 달라지지 않는 fixed되거나 학습가능한 positional encoding(PE)와 달리, CPE는 인풋토큰의 local neighborhood에 따라 생성된다. 결과적으로 CPE는 모델이 학습 과정에서 본것보다 긴 인풋 시퀀스에 대해 더 쉽게 generalize될 수 있다. 또한 CPE는 이미지 분류에서의 translation-invariance를 유지함으로서 이미지 분류 정확도를 개선했다. CPE는 간단한 Positon Encoding Generator(PEG)로 쉽게 구현가능하고 현재의 Transformer 프레임워크에 쉽게 결합가능하다. PEG와 함께 우리는 Conditional Positional encoding Vision Transformer(CPVT)를 제안하고, 학습가능한 PE와 결합된 attention map보다 CPVT가 시각적으로 비슷한 attention map을 가짐을 보인다. CPE와 함께, ImageNet 분류 태스크에서 SOTA를 달성하였다.

Introduction

Untitled

트랜스포머는 CNN에 비해 long-distance 정보를 뽑고 이미지 컨텐츠에 따라 dynamic하게 변경되는 receptive field를 가지고 있어 결과적으로 더 유연하고 강력한 구조로 고려되고 있다. 반면에 트랜스포머의 self-attention은 인풋 시퀀스의 순서에 따라 결과가 바뀌지 않는다. 이를 해결하기 위해, 이전 연구들은 인풋 시퀀스에 대해 absolute PE을 취해주었다. 이러한 PE는 학습가능하거나 sin함수로 고정되어 있다. 이러한 방법론들이 효과적이었지만 트랜스포머의 유연성을 저하시켜 다른 어플리케이션에 적용하기 어려웠다. 가령 학습 가능한 임베딩의 경우 PE는 인풋 시퀀스와 길이가 같아야했고, PE의 길이와 값은 학습되고 나면 고정되었다. 이는 만약 학습 과정보다 긴 데이터가 들어왔을 때 성능을 저하시켰다. → 우리의 태거 모델은 지금 어떻게 하고 있나?

비전 태스크에서는 다양한 사이즈의 이미지를 처리해야하기 때문에 이러한 PE는 성능 저하를 일으킨다. 가능한 해결책은 bicubic interpolation을 사용하여 타겟 길이로 보간을 해주는 것인데, 우리의 실험에 따르면 이러한 방법은 성능을 저하시켰다. 추가적으로 컴퓨터 비전에서 인풋 내에서 타겟의 위치에 상관없이 같은 분류를 내는 속성을 가지길 기대하는데 absolute PE는 이러한 속성에 위배된다. 어떤 연구에서는 relative PE를 사용하기도 하는데, 이는 추가적인 계산 비용이 들 뿐만 아니라 표준 트랜스포머와 구현이 달라지게 된다. 또한 relative PE image recognition task에서 필요한 absolute position 정보*를 제공하지 못한다는 한계도 있다.

*https://arxiv.org/pdf/2001.08248.pdf

우리는 인풋 토큰의 local neighborhood에 따라 달라지는 새로운 인코딩을 제안하고자 한다. 즉, 우리의 인코딩은 인풋 사이즈에 따라 달라지고, translation-invariance 하다. 이러한 인코딩을 포함한 새로운 ViT인 CPVT는 이전 ViT보다 높은 성능을 보여준다.

추가적으로 우리는 [CLS] 토큰을 제거하고 translation-invariant한 global average pooling(GAP)를 적용하여 추가적으로 1%의 성능을 향상시켰다. 단순히 GAP를 ViT에 적용하는 것은 이미 translation-invarinant가 깨져있기 때문에 성능 향상이 없었다.

Vision Transformer with Conditional Position Encodings

Motivations

상술한 문제들 때문에 새로운 PE를 제안하게 되었다.

Untitled

  1. 단순히 absolute PE를 제거하는 것을 실험해 보았지만, 성능에 큰 하락이 있었고 이는 PE가 매우 중요한 역할을 함을 의미한다.

  2. DeiT에서는 high-resolution의 이미지에 대해 학습 가능한 PE를 보간하는 방법론을 제안했지만, 모델을 몇 에폭 더 학습하지 않으면 성능이 유의미하게 저하되었다. 보통 high-resolution에 대해서는 추가 파인튜닝 없이 성능이 좋아지기 때문에 이는 바람직하지 못하다고 판단되었다.

  3. relative PE는 상술한 문제들을 해결하지만, absolute position에 대한 정보는 이미지 분류에서 큰 기여를 하기 때문에 성능이 다른 PE보다 좋지 못했다.