Vision Transformer: “An Image is Worth 16x16 Words”

Jan. 8, 2023, 2:47 p.m. · 6 min read · 🌐︎ ko

deep learning computer vision paper review

Abstract

NLP에서는 Transformer 구조가 사실상의 표준으로 자리잡았으나, CV에서는 응용이 제한적

본 논문은 이러한 CNN에 대한 의존이 필수적이지 않으며, image patch에 직접 pure transformer를 적용해도 classification 문제에 좋은 성능을 보임을 확인

Vision Transformer(ViT)는 적은 계산량에도 불구하고 여러 벤치마크에서 state-of-the-art CNN에 비교해서도 좋은 성능을 보임

Introduction

Transformer를 위시한 self-attention 기반 아키텍처는 NLP의 주류로 사용되고 있음, 일반적으로 거대 corpus로 훈련 후 fine tuing하는 방식으로 사용

그러나 CV에서는 아직 CNN 기반 아키텍처가 주류. self-attention을 결합하려는 시도는 있었으나 ResNet-like architecture들이 여전히 SOTA의 자리를 차지

본 연구에서는 NLP에 영감을 받아 image에 최소한의 수정을 가한 standard Transformer를 적용해 실험.

ImageNet과 같은 mid-size dataset을 strong regularization없이 훈련시켰을 때에는 비슷한 크기의 ResNet보다 수 퍼센트 낮은 성능.

그러나 큰 데이터셋으로 (14M - 300M images) 훈련시 이를 극복 가능.

Transformer는 NLP에서 매우 널리 사용, large corpora에서 pre-train 후 fine-tune하여 사용하는 경우 많음.

Self-attention을 naive하게 적용시 pixel 수의 제곱에 비례 → 비현실적

본 연구와 가장 연관성 높은 모델: Cordonnier et al. (2020)

본 논문과 깊은 연관을 가진 또 다른 예시: image GPT(iGPT). image resolution과 color space를 축소한 후, Transformer를 image pixel에 적용.

기본 ImageNet보다 dataset size가 커지면(ImageNet-21k, JFT-300M) CNN의 성능이 얼마나 더 좋아지는지에 대해서는 이미 연구가 많이 진행 → 이러한 데이터셋을 이러한 연구들에서 사용된 ResNet 기반 모델 대신 Transformer에 적용

Method

최대한 original Transformer에 가깝도록 설계됨

Vision Transformer (ViT)

2D image의 처리를 위해서,

Inductive Bias

Hybrid Architecture

Fine-Tuning and Higher Resolution

일반적으로 ViT를 large dataset에서 훈련 후 smaller downstream task에 적용

더 높은 해상도의 이미지에 적용하고 싶을 때는 patch size를 유지, sequence length가 늘어나도록 함. (임의의 sequence length에 대해 적용 가능)

Experiments

ResNet, ViT, hybrid의 representation learning 능력을 평가.

Setup

Dataset

Model Variant

Training & Fine-tuning

Metrics

Comparison to State of the Art

비교 대상

ViT-L/16 model을 JFT-300M dataset으로 사전학습시킨 것이 모든 태스크에서 BiT-L을 이기면서도 computing 자원은 덜 차지

Pre-training Data Requirements

앞에서 매우 큰 사이즈의 JFT-300M dataset으로 pretraining 시켰을 때는 좋은 성능을 보이는 것을 확인.

JFT-300M의 부분집합 (9M, 30M, 90M)으로 pretranining

Scaling Study

  1. performance / training time trade-off에서, ViT가 ResNet보다 우위
  2. computation budget이 충분하지 않을때에는 Hybrid > ViT. 그러나 모델이 커지면 차이는 없어짐

    • convolutional local feature processing이 ViT를 도와줄거라는 일반적인 예상과 반대
  3. ViT는 실험에서 사용된 범위 내에서는 scaling에 따라 saturate가 되지 않았음. → 더 model size를 키우면 성능이 개선될 여지

Inspecting Vision Transformer

ViT의 첫 번째 layer는 flattened patch를 low-dimensional space로 projection

Projection 후에는 learned positional embedding이 patch representation에 더해지게 되는데, 이는 image 내 patch의 위치를 자동으로 학습

self-attention은 ViT가 가장 낮은 layer에서부터 모든 정보를 통합적으로 사용하도록 함

Self-Supervision

트레이닝에 필요한 데이터가 너무 많기 때문에, 일일이 라벨링을 하기 힘들 수 있음 → BERT와 같이 masked patch prediction을 통해 pre-training하는 방법

Conclusion

Transformer의 image recognition으로의 응용 방법을 살펴봄

CV에서 self-attention을 도입한 선행연구와 달리, patch extraction을 제외하면 inductive bias 없이 학습. NLP의 Transformer에서 변형을 최소화

향후 연구 과제