[리뷰] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
-
728x90
반응형
이번에는 최근 CV 분야에서도 SOTA를 달성하고 있는 Transformer에 관련된 ICLR 2021에 게재된 논문인 ViT(An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale)를 읽고, 리뷰해보고자 합니다.
Index 1. Background 1.1. Attention, Self-Attention, Transformer 1.2. Inductive Bias 2. Abstract 3. Introduction 4. Related Work 4.1. Transformer 4.2. Attention in CV 4.3. On the relationship between self attention and convolutional layers 4.4. Self-Attention combine CNN 5. Method 5.1. Whole Architecture 5.2. Linear Projection 5.3. Class Embedding 5.4. Positional Embedding 5.5. Multi-head Attention 5.6. Inductive Bias 5.7. Hybrid Architecture 5.8. Fine-Tuning And Higher Resolution 6. Experiment 7. Conclusion
x∈RH×W×C인 이미지 를 token화 시키기 위해, 이미지를 N개의 P×P×C 크기의 patch로 분할
이것을 1D로 reshape한 latent vector를 이용
NLP의 transformer의 input sequence는 D차원의 vector이므로, Linear Projection이라는 과정을 추가하여 patch embedding이라는 아래 형태의 D차원 vector 제작
z0=[xclass;x1pE;x2pE;…;xNpE]+Epos
E∈R(P2×C)×D, Epos∈R(N+1)×D
5.3. Class Embedding
BERT의 [class] 토큰과 비슷하게, Linear Projection의 결과에 learnable한 class embedding을 이용
5.4. Positional Embedding
모델이 이미지의 구조를 학습할 수 있도록 함
원래 2D 위치 정보를 사용하려 하였으나, 성능 향상이 보이지 않아 학습 가능한 1D 위치 정보를 사용
즉, transformer의 encoder에 입력으로 class embedding, positional embedding, patch embedding이 사용됨
5.5. Multi-head Attention
여러 개의 attention layer를 병렬로 이용
모호한 정보에 대한 인코딩을 각 layer별로 다른 관점에서 정보를 수집하여 보완
집단 지성과 같이, 최종적으로 연관성이 높은 단어에 focus하는 효과
5.6. Inductive Bias
CNN은 locality, two-dimensional neighborhood structure, translation equivariance와 같은 inductive bias 존재
Locality(=Locality of Pixel Dependencies) : 이미지를 구성하는 특징들은 이미지 전체가 아닌 일부 지역들에 근접한 픽셀들로만 구성되고 근접한 픽셀들끼리만 종속성을 갖는다는 가정
아래 그림에서 '코'라는 특징은 파란색 사각형 안에 있는 픽셀값에서만 표현되고, 해당 픽셀들끼리만 관계를 가짐
빨간색 사각형 안의 픽셀들은 파란색 사각형 안의 픽셀과는 종속성이 없음
즉, 종속성을 갖는 픽셀들은 local하게 존재
Convolution 연산은 이러한 이미지의 locality 특징에 잘 부합하는 방식으로 동작.
Translation Equivariance : 입력의 위치 변화에 따라 출력 또한 입력과 동일하게 변화하는 것
Convolution 연산은 Translation equivariant하다는 특성을 가짐
ViT는 전체 정보를 고려하므로 CNN과 같은 inductive bias가 존재하지 않아, data-driven training으로 이 문제를 해결
5.7. Hybrid Architecture
patch embedding을 구할 때 raw 이미지를 이용하여 patch를 생성하는 대신, CNN을 이용한 feature map을 input sequence로 이용 가능
특별한 경우 patch의 크기는 1×1을 가질 수 있음
input sequence가 feature map을 flatten하여 transformer의 차원으로 projection한 것을 의미
class embedding, position embedding은 이전과 동일한 방법 적용
5.8. Fine-Tuning And Higher Resolution
큰 데이터 셋에서 pre-train하고, 더 작은 downstream task에서 fine-tuning 수행
pre-train 시 보다, 더 높은 해상도의 이미지로 fine-tuning하는 것이 더 좋은 결과를 가져옴
대신 기존의 positional embedding이 더 이상 의미가 없어지게 되므로, 입력 이미지 크기 내 patch의 위치에 맞게 positional embedding도 2D interpolation을 적용
ViT 내에서 수동적으로 이미지의 2차원 구조에 대한 inductive bias를 추가
pre-train된 prediction head를 제거하고, 0으로 초기화된 D×K feed-forward layer를 붙여줌
K는 downstream class의 개수
6. Experiment
다음과 같은 환경에서 실험
pre-training : ImageNet, ImageNet-21K, JFT 이용
transfer learning : ImageNet, CIFAR 10/100, Oxford-IIIT Pets 등 이용
Model Variants
Inspecting Vision Transformers
ViT는 가장 하위의 layer에서도 전체 이미지에 대한 정보를 통합할 수 있음
낮은 Network depth에서도 attention을 통해 global 하게 정보를 사용할 수 있음
depth가 증가함에 따라 attention distance도 증가
Comparison to SOTA
모든 데이터셋에서 BiT-L과 비슷하거나 더 나은 수치를 보여줌
학습한 cost가 낮음
Pre-training Data Requirements
중간 크기의 데이터셋에서 학습했을 때, ResNet보다 약간 낮은 수치의 정확도를 보이는데, 이는 inductive bias가 부족함을 의미
그러나, 큰 데이터셋에서 사전 학습했을 때 충분히 학습이 되어 잘 작동함을 보여줌
Scaling Study
ResNet보다 동일한 성능을 내기 위해 반 정도의 컴퓨팅이 필요
하이브리드 모델이 적은 computing cost에서는 ViT를 능가하지만, cost를 늘리게 되면 큰 차이가 없음
모델이 saturate되지 않으며, 스케일링이 가능nuScenes dataset에서3D tracking시,다른 model과의 성능 비교MOTS dataset에서 instance sementation시, 다른 model과의 성능 비교YouTube-VIS dataset에서 instance sementation시, 다른 model과의 성능 비교