본문 바로가기
새우의 테크/논문 이야기

[Paper] Conditional Positional Encodings for Vision Transformers

by 오새우 2022. 8. 25.

오늘 훑어볼 논문은 'Conditional Positional Encodings for Vision Transformers' 이라는 논문입니다.

원래 ViT (Vision Transformers) 에서는 각 이미지를 자른 후, 이에 해당하는 predefined positional embedding을 넣어줍니다. (a)

사실 이러한 방식은 비전 분야에 국한된 것이 아니라, 다른 다양한 분야들에서도 비슷하게 적용되죠.

 

허나 본 논문에서는 predefine 된 pe가 아닌, learnable 한 pe를 사용하는 방법을 제안합니다. (b)

또한 레이어 하나를 제외하고, 마지막에 Global Average Pooling을 넣어주는 (GAP) 를 사용하면 퍼포먼스가 올라간다는 것까지 보여줍니다. (c) (논문에서 메인은 아닌 것 같습니다.)

출처: 논문

논문에서는 learnable 한 pe를 두었을 때의 장점으로 

1) 모델이 training 과정에서 본 것보다 긴 sequence를 봤을 때 쉽게 적응할 수 있다.

2) image classification에서 중요한 translation-invariance를 유지할 수 있다. (사물의 위치가 바뀌어도 동일한 output)

를 꼽았습니다. 

 

이 두 장점이 어떻게 도출되는지는, 위 그림의 PEG 모델에 대해 살펴보면서 이야기 해보겠습니다.

출처: 논문

간단한 방식인데요, d dimension을 가진 N개의 토큰이 있다고 가정했을 때 (이미지 청크를 직렬화 한 N개), 우선 이걸 다시 H x W로 만들어줍니다. 그 후, F 함수에 아무 함수나 적용시켜도 되지만, 논문에서는 2D convolution을 시켜줍니다. 그 후 다시 아까와 같은 방식으로 토큰을 직렬화 시켜주면 (N x d), 각 토큰에 대한 positional embedding을 얻을 수 있습니다. 

 

아까 언급된 두 장점도 이 2d convolution에서 나오는데요, 

1) absolute한 pe가 아니라 relative 한 pe를 생성하기 때문에, 길이가 길어도 더 잘 adapt할 수 있다고 주장합니다. (relative pe의 장점 채용)

2) convolution을 통해 주변 정보를 보고, 이를 바탕으로 PE를 생성하기 때문에 predefine 된 pe와 달리 translation-invariance를 유지할 수 있다고 주장합니다.

 

출처: 논문

ImageNet 데이터셋에서 SOTA들과 비교했을 때, 퍼포먼스 우위를 보여주네요.

 

기존 pe는 sinosoidal 한 주기함수적인 장점이 있는 것으로 알고 있는데, 이걸 버리고 conditional 한 pe를 만들어 translation-invariance의 장점을 주장하는 부분이 재미있었습니다.

댓글