연세대 인공지능학회 YAI

[논문 리뷰] Vision Transformer(ViT) 본문

컴퓨터비전 : CV/Transformer based

[논문 리뷰] Vision Transformer(ViT)

_YAI_ 2022. 4. 6. 22:46

Vision Transformer(ViT)

** YAI 9기 조용기님이 비전논문심화팀에서 작성한 글입니다.

논문 소개

Papers with Code - Vision Transformer Explained

 

Papers with Code - Vision Transformer Explained

The Vision Transformer, or ViT, is a model for image classification that employs a Transformer-like architecture over patches of the image. An image is split into fixed-size patches, each of them are then linearly embedded, position embeddings are added, a

paperswithcode.com

GitHub - google-research/vision_transformer

 

GitHub - google-research/vision_transformer

Contribute to google-research/vision_transformer development by creating an account on GitHub.

github.com


1. Introduction

  • Self-attention 기반의 아키텍처, 특히 Transformer는 자연어 처리 (neural language processing, NLP)에서 표준 모델이다.
    • 대규모 텍스트 말뭉치 (corpus)에서 사전훈련을 진행한 후 더 작은 작업별 데이터셋에서 미세조정을 수행하는 것이 일반적인 접근 방법이다.
    • Transformer의 계산적 효율성과 확장성 덕분에, 100B 이상의 파라미터로 전례 없는 크기의 모델 훈련이 가능하게 되었다.
  • 이에 반해 컴퓨터 비전에서는 컨볼루션 아키텍처가 일반적으로 사용되고 있다.
    • NLP 분야에서의 성공에 힘입어, CNN 같은 아키텍처에 self-attention을 결합하는 다양한 연구가 있었으며, 그 중 일부는 컨볼루션을 완전히 대체할 정도의 성능을 보여주었다.
    • 컨볼루션이 완전히 대체된 모델은 이론상 효율적이지만, 전문적인 attention 패턴을 사용했으므로 아직 최신 하드웨어 가속기에 확장되지 않았다.
    • 따라서 대규모 이미지 인식 작업에서는 ResNet과 같은 아키텍처가 여전히 SOTA를 차지하고 있다.
  • 이 논문에서는 NLP에서 Transformer 확장의 성공에 힘입어, 최소한의 수정을 가한 Transformer를 이미지에 직접적으로 적용하는 실험을 진행했다.
    • 이를 위해, 이미지를 패치로 분할하고 (이 이미지 패치는 NLP에서 토큰 (단어)로 취급된다) 분할된 패치의 선형 임베딩 시퀀스를 만들어 Transformer의 입력으로 사용한다.
    • 이미지 분류 모델 훈련에는 지도 학습 방식을 사용했다.
  • 강력한 정규화 없이 ImageNet과 같은 중간 규모의 데이터셋에서 훈련되었을 때, 이 모델과 비슷한 크기인 ResNet보다 조금 낮은 퍼센트의 정확도를 산출해내었다.
    • 이는 Transformer가 CNN 고유의 translation equivalence와 locality같은 귀납적 편향 (inductive bias)이 부족하기 때문에 부족한 양의 데이터에 훈련될 때 제대로 일반화되지 않기 때문으로 예측할 수 있다.
  • 그러나 더 큰 크기의 데이터셋에서 모델을 훈련시킬 때는 이러한 대규모 훈련의 결과 귀납적 편향을 능가했다.
    • 논문의 Vision Transformer (ViT)는 충분한 규모로 사전훈련되고 더 적은 데이터 포인트가 있는 작업으로 전달되면 훌륭한 결과를 얻어내었다.
    • ImageNet-21k 데이터셋이나 JFT-300M 데이터셋에서 사전훈련되면, ViT는 다중 이미지 인식 벤치마크에서 SOTA에 접근하거나 능가하는 모습을 보여주었다. 특히, 최상의 모델은 ImageNet에서 88.55%, ImageNet-ReaL에서 90.72%, CIFAR-100에서 94.55%, 19개 작업의 VTAB (Visual Task Adaptation Benchmark)에서 77.63%의 정확도에 도달한다.

2. Related Work

  • Transformer는 기계 번역 작업에서 제안되어 많은 NLP 작업에서 SOTA 방법이 되었다.
    • 대규모의 Transformer 기반 모델은 보통 대규모 말뭉치에 사전훈련되고 당면한 작업에 미세조정된다.
      • BERT는 자기지도 학습을 이용한 사전훈련 작업에 대한 denoising을 사용한다.
      • GPT에서는 사전훈련 작업으로 언어 모델링을 사용한다.
  • Self-attention을 이미지에 naive하게 사용하려면 각 픽셀이 모든 다른 픽셀에 대해 attention을 적용해야 한다.
    • 픽셀 수에 대한 이차 비용 함수를 사용할 경우 실제 입력 크기로 확장되지 않으므로 이미지 처리에서 transformer를 사용하기 위해 몇 가지 근사 방법이 제안되었다.
    • Parmar et al.은 self-attention을 각 query 픽셀에 대해 global하게 적용하는 대신 local neighborhood에만 적용했다.
      • 이러한 local multi-head dot-product self attention block은 컨볼루션을 완전히 대체할 수 있다.
    • Sparse Transformer는 global self-attention에 확장 가능한 근사를 사용했다.
    • Attention을 확장하는 또다른 방법은 다양한 크기의 블록에 attention을 적용하는 것인데, 극단적인 경우에 개별 축에만 적용되었다.
    • 이러한 전문화된 attention 매커니즘은 컴퓨터 비전 작업에서 좋은 결과를 보여주지만, 하드웨어 가속기에 효율적으로 구현되기 위해 복잡한 엔지니어링 작업을 필요로 한다.
  • 논문의 모델과 가장 비슷한 작업은 입력 이미지로부터 2 × 2 크기의 패치를 추출하고 맨 위에 full self-attention을 적용하는 Cordonnier et al.의 모델이었다.
    • ViT와 매우 비슷하나, ViT는 대규모 사전작업이 Transformer를 SOTA CNN에 경쟁력이 있도록 만들었다.
    • 또한 Cordonnier et al.의 모델이 2 × 2 픽셀의 작은 패치 크기를 사용하여 저해상도에만 적용이 가능한 반면, ViT가 중간 크기의 해상도를 다룰 수 있다는 점도 다르다.
  • CNN을 self-attention과 결합하거나, self-attention을 사용하여 CNN의 출력을 처리하는 방식도 많은 연구가 있었다.
    • CNN과의 결합 : augmenting feature maps for image classification (Bello et al., 2019)
    • CNN 출력 처리 : object detection (Hu et al., 2018; Carion et al., 2020), video processing (Wang et al., 2018; Sun et al., 2019), image classification (Wu et al., 2020), unsupervised object discovery (Locatello et al., 2020), or unified text-vision tasks (Chen et al., 2020c; Lu et al., 2019; Li et al., 2019)
  • ViT와 관련한 또 다른 모델로는 이미지의 해상도와 색상 공간을 줄인 후 Transformer를 이미지 픽셀에 적용하는 image GPT (iGPT)가 있었다.
    • 비지도 학습 생성 모델로 훈련되었으며, 결과 표현이 분류 성능을 위해 미세조정되거나 linear probe가 적용되었다.
    • 이 모델은 ImageNet에서 최대 정확도 72%를 달성했다.
  • ViT는 표준 ImageNet 데이터셋보다 더 큰 규모의 이미지 인식도 수행한다.
    • 추가적인 데이터 소스를 사용하면 표준 벤치마크에서 SOTA의 결과를 얻어낼 수 있었다.
    • 이 논문에서는 ImageNet-21k와 JFT-300M 데이터셋을 사용했으며, ResNet 기반 모델 대신 Transformer를 훈련시켰다.

3. Method

3.1 Vision Transformer (ViT)

Figure 1: Model overview. We split an image into fixed-size patches, linearly embed each of them, add position embeddings, and feed the resulting sequence of vectors to a standard Transformer encoder. In order to perform classification, we use the standard approach of adding an extra learnable “classification token” to the sequence. The illustration of the Transformer encoder was inspired by Vaswani et al. (2017).

  • 표준 Transformer는 입력으로 1차원의 토큰 임베딩 시퀀스를 받는다.
  • 2차원 이미지를 입력으로 사용하기 위해, 이미지 $\bf{x}\in\mathbb{R}^{H\times W\times C}$ 를 flatten된 2차원 패치 $\bf{x}_p\in\mathbb{R}^{N\times(P^2\cdot C)} $ 로 reshape한다.
    • $(H,W)$는 원래 이미지의 해상도, $C$는 채널 수이며 $(P,P)$는 각 이미지 패치의 해상도이다.
    • $N=HW/P^2$는 계산된 패치 개수이며 Transformer의 effective input sequence 길이로 작용한다.
  • Transformer는 상수의 잠재 벡터 (latent vector) 크기 $D$를 사용하며, 이에 따라 패치는 학습 가능한 선형 투영을 통해 flatten된 후 $D$ 차원으로 매핑된다 (Eq. 1).
    • 이 투영의 출력을 패치 임베딩 (patch embedding)이라고 부른다.
  • BERT의 [class] 토큰과 비슷하게, 패치 임베딩의 맨 앞에 학습 가능한 임베딩을 붙인다 ($\bf{z}_0^0=\bf{x}_\text{class}$) (Eq. 4). 이 임베딩이 Transformer 인코더를 통과한 출력 ($\bf{z}_L^0$)의 상태가 이미지 표현 $\bf{y}$ 역할을 한다.
    • 사전훈련과 미세조정 동안, classification head는 $\bf{z}_L^0$에 연결된다.
    • Classification head는 사전훈련 동안 은닉층이 하나인 MLP로, 미세조정 동안 단일 선형 레이어로 구현된다.
  • 위치 정보를 유지하기 위해 위치 임베딩 (position embedding)이 패치 임베딩에 추가되었다.
    • 학습 가능한 1차원 위치 임베딩을 사용했다. 2차원 위치 임베딩은 상당한 성능 향상을 보이지 않았다 (Appendix D.4).
    • 생성된 임베딩 벡터 시퀀스는 인코더의 입력으로 사용된다.
  • Transformer 인코더는 multiheaded self-attention (MSA, Appendix A)과 MLP 블록 (Eq. 2, 3)으로 구성되어 있다.
    • Layernorm (LN)이 두 블록 앞에 각각 적용되었으며, residual connection은 두 블록 뒤에 각각 적용되었다.
  • MLP는 GELU를 비선형 활성화 함수를 사용한 두 레이어를 포함한다.

Inductive bias

  • Vision Transformer는 CNN보다 이미지별 귀납적 편향이 많이 부족하다.
    • CNN에서는 locality, 2D neighborhood structure, 그리고 translation equivariance가 모델 전체에서 적용된다.
  • ViT에서는 MLP 레이어만 locality와 translation equivariance를 가지며 self-attention은 이러한 특성을 가지고 있지 않는다.
    • 2D neighborhood structure는 모델의 시작 부분에서 이미지를 패치로 자르고, 미세조정 동안에는 서로 다른 해상도에 대해 위치 임베딩을 조정하는 등으로 드물게 사용된다.
      • 초기화시 위치 임베딩은 패치의 2D 위치 정보를 전달하지 않으며 패치의 모든 공간 관계는 처음부터 학습해야 한다.

Hybrid Architecture

  • 원래의 이미지 패치에 대한 대안으로, 입력 시퀀스는 CNN의 feature map으로부터 만들어질 수 있다.
    • 이 hybrid 모델에서는 패치 임베딩 투영 $\bf{E}$ (Eq. 1)이 CNN feature map에서 추출된 패치에 적용된다.
    • 패치는 1 × 1 크기를 가지며 이는 입력 시퀀스가 feature map의 공간 차원을 단순히 flatten하고 Transformer 차원에 투영함을 의미한다.
    • 분류 입력 임베딩과 위치 임베딩이 위의 과정대로 추가된다.

3.2 Fine-tuning and Higher Resolution

  • 일반적으로, ViT를 대규모 데이터셋에 사전훈련시키고 작은 개별 작업에 미세조정한다.
    • 이를 위해, 사전훈련된 prediction head를 제거하고 0으로 초기화된 $D\times K$ 피드포워드 레이어를 추가했다.
      • 이 때 $K$는 클래스의 수이다.
    • 사전훈련보다 높은 해상도로 미세조정하는 것이 종종 효과적이다.
      • 고해상도의 이미지를 사용하면 패치 크기를 똑같이 유지할 때 더 큰 effective sequence를 가지게 된다.
  • ViT는 임의의 시퀀스 길이를 다룰 수 있으나, 사전훈련된 위치 임베딩에서는 그렇지 못할 수 있다.
    • 따라서 논문에서는 사전훈련된 위치 임베딩의 원 이미지 상의 위치에 따른 2D 보간을 적용한다.
  • 이 해상도 조정과 패치 추출이 ViT가 사용할 수 있는 이미지 2D 구조에 대한 유일한 귀납적 편향이다.

4. Experiment

  • ResNet, ViT, 그리고 hybrid 아키텍처의 표현 학습 능력을 평가했다.
    • 각 모델의 데이터 요구 사항을 이해하기 위해, 다양한 크기의 데이터셋에 사전학습 후 많은 벤치마크를 사용해 평가했다.
    • ViT는 대부분의 인식 벤치마크에서 적은 사전훈련 비용으로 SOTA를 달성했다.
  • 자기지도 학습을 사용한 실험도 진행했다.

4.1 Set up

Datasets

  • 모델 확장성을 탐구하기 위해 다음의 데이터셋들을 사용했다.
    • ILSVRC-2012 ImageNet 1k 1.3M images, and ImageNet-21k 14M images
    • JFT with 18k classes and 303M high-resolution images
  • Kolesnikov et al. 을 따라 downstream task의 테스트 세트에 맞춰 사전훈련 데이터셋에서 중복을 제거했다.
  • 데이터셋들로 훈련된 모델을 다음의 벤치마크 테스트에 대해 전이학습시켰다. 전처리는 Kolesnikov et al. 의 방식을 따랐다.
    • ImageNet on the original validation labels and the cleaned-up ReaL labels
    • CIFAR-10/100
    • Oxford-IIIT Pets
    • Oxford Flowers-102
  • 19-task VTAB 분류 작업 또한 사용하여 모델을 평가했다.
    • VTAB은 작업별로 1000개의 훈련 샘플을 사용하여 low-data의 다양한 작업에 대한 전이학습을 평가한다.
    • 작업은 세 가지 그룹으로 나뉜다.
      • Natural : Pets, CIFAR와 같은 작업
      • Specialized : 의료나 위성 이미지
      • Structured : localization과 같은 기하학적 이해가 필요한 작업

Model Variants

Table 1: Details of Vision Transformer model variants.

  • BERT에서 사용된 설정을 기반으로 ViT 설정을 구성했으며, 이는 Table 1에 요약되어 있다.
  • “Base”와 “Large” 모델은 BERT의 모델을 직접 채택했으며, 논문에서는 더 큰 “Huge” 모델을 추가헀다.
  • 이 논문에서는 모델 크기와 입력 패치 크기에 대한 모델 표기법을 사용한다.
    • 예를 들어 ViT-L/16은 입력 패치 크기 16 × 16의 “Large” 모델이다.
  • Transformer의 시퀀스 길이는 패치 크기의 제곱에 반비례하므로 더 작은 패치 크기를 가진 모델의 계산 비용이 더 많이 든다.
  • CNN baseline에서는 ResNet을 사용하며 Batch Normalization 레이어를 Group Normalization으로 대체하고 standardized convolution을 사용했다.
    • 이러한 “ResNet (BiT)”에서의 수정 사항은 전이학습 성능을 향상시킨다.
  • Hybrid 아키텍처에서는 ViT에 중간 feature-map을 패치 크기 1 × 1로 사용했다.
    • 서로 다른 시퀀스 길이로 실험하기 위해 다음을 사용했다.
      1. ResNet50의 stage 4 출력
      2. ResNet40의 같은 수 레이어의 stage 3 출력 (4배 긴 시퀀스 길이)

Training & Fine-tuning

  • 훈련 : 다음의 하이퍼파라미터 값들이 전이학습에 효과적임을 찾아냈다.
    • 최적화기 : Adam with $\beta_1=0.9,\beta_2=0.999$
    • 배치 크기 : 4096
    • 가중치 감쇠 : 0.1 (높은 값을 채택)
    • 선형 학습률에 warm up과 decay를 적용 (Appendix B.1)
  • 미세조정
    • 최적화기 : SGD with momentum
    • 배치 크기 : 512
    • Table 2의 ImageNet 결과에서는 다음과 같은 변경이 있었다.
      • 해상도 변경 : ViT-L/16 → 512, ViT-H/16 → 518
      • Polyak & Judisky averaging with a factor of 0.999

Metrics

  • Few-shot과 fine-tuning 정확도를 사용하여 downstream dataset의 결과를 측정했다.
    • Fine-tuning 정확도 : 각 데이터셋에 대한 미세조정 이후에 성능을 측정했다.
    • Few-shot 정확도 : 훈련 이미지 부분집합의 (frozen) representation을 ${-1,1}^K$ 타깃 벡터로 매핑하는, 정규화된 최소제곱법 (regularized least squares, RLS) 회귀를 계산하여 측정했다.
  • 주로 fine-tuning 정확도에 주목하지만, fine-tuning 비용이 너무 클 때 빠른 측정을 위해 few-shot 정확도를 사용했다.

4.2 Comparison to State of the Art

  • ViT-H/14와 ViT-L/16을 SOTA CNN들과 비교했다.
    • 첫 번째 비교는 large ResNet에 지도 전이학습을 진행한 Big Transfer (BiT)이다.
    • 두 번째 비교는 레이블 없는 ImageNet과 JET-300M으로 large EfficientNet에 준지도 학습을 진행한 Noisy Student이다.
    • 모든 모델들은 TPUv3 하드웨어로 훈련되었으며, 각 모델을 사전훈련하는데 걸린 TPUv3-core-days, 즉 훈련에 사용된 TPUv3 core 수에 일별 훈련시간을 곱한 것을 기록했다.
      Table 2: Comparison with state of the art on popular image classification benchmarks. We report mean and standard deviation of the accuracies, averaged over three fine-tuning runs. Vision Transformer models pre-trained on the JFT-300M dataset outperform ResNet-based baselines on all datasets, while taking substantially less computational resources to pre-train. ViT pre-trained on the smaller public ImageNet-21k dataset performs well too. Slightly improved 88:5% result reported in Touvron et al. (2020).

Figure 2: Breakdown of VTAB performance in Natural, Specialized, and Structured task groups.

4.3 Pre-training Data Requirements

  • Vision Transformer는 JFT-300M 데이터셋에서 사전훈련될 경우 좋은 성능을 보인다.
  • 이 section에서는 ResNet보다 적은 귀납적 편향을 가지는 ViT에서 데이터셋 크기의 중요성을 두 가지 실험을 통해 탐구한다.
    1. ViT 모델을 증가하는 크기의 다른 데이터셋들 (ImageNet, ImageNet-21k, JFT-300M)에 사전훈련시킨다. Figure 3에서는 ImageNet에서 사전훈련된 결과를, Table 5에서는 다른 데이터셋에 대한 결과를 보여주고 있다 (ImageNet에서 사전훈련된 모델들은 또한 ImageNet에서 해상도를 키워서 미세조정되었다).
      • 더 작은 데이터셋에서 성능을 향상시키기 위해, weight decay, dropout, label smoothing의 세 가지 기본 정규화 매개변수를 추가했다.
      • 가장 작은 ImageNet에서 사전훈련된 ViT-Large 모델은 적당한 정규화를 사용했음에도 ViT-Base 모델에 비해 낮은 성능을 보여주었다. ImageNet-21k 사전훈련에서도 성능 양상은 비슷했다. 가장 큰 JFT-300M에서 더 큰 모델의 이점을 볼 수 있었다.
      • Figure 3에서는 또한 다양한 크기의 BiT 모델의 성능 영역도 확인할 수 있다. BiT CNN은 ImageNet에서 ViT를 능가하지만, JFT-300M에서는 ViT의 성능이 우세하다.
    2. 모델을 JFM-300M 데이터셋 전체와 그 무작위 9M , 30M, 90M 부분집합에서 훈련시켰다. Figure 4에서 결과를 보여준다.
      • 부분집합에서는 추가적인 정규화를 가하지 않고 똑같은 하이퍼파라미터를 사용해, 고유 모델 속성을 평가했다.
      • Early-stopping을 사용해 훈련 중 최상의 검증 정확도를 측정했으며, 계산 비용울 줄이기 위해 fine-tuning 정확도 대신 few-shot 선형 정확도를 측정했다.
      • 더 작은 데이터셋에서 ViT가 비슷한 계산 비용으로 ResNet보다 과적합되었다. 예를 들어 ViT-B/32가 ResNet50보다 조금 더 빠르고, 9M에서는 성능이 좋지 않지만 90M+에서는 더 좋은 성능을 보여준다.
  • 이러한 결과는 컨볼루션의 귀납적 편향이 작은 데이터셋에서는 유용하지만, 더 큰 데이터셋에서는 데이터에서 직접적으로 패턴을 학습하는 것이 충분하고 심지어 유용하다는 것을 암시한다.

Figure 3: Transfer to ImageNet. While large ViT models perform worse than BiT ResNets (shaded area) when pre-trained on small datasets, they shine when pre-trained on larger datasets. Similarly, larger ViT variants overtake smaller ones as the dataset grows.
Figure 4: Linear few-shot evaluation on ImageNet versus pre-training size. ResNets perform better with smaller pre-training datasets but plateau sooner than ViT, which performs better with larger pre-training. ViT-b is ViT-B with all hidden dimensions halved.

4.4 Scaling Study

  • JFT-300M으로부터의 전이학습 성능을 측정하기 위해 여러 모델에 대한 scaling study를 수행했다.
    • 여기서 데이터의 크기가 모델 성능에 병목이 되지 않으며, 각 모델의 사전훈련 비용 대비 성능을 평가했다 (Figure 5, Appendix D.5, Table 6).

Figure 5: Performance versus pre-training compute for different architectures: Vision Transformers, ResNets, and hybrids. Vision Transformers generally outperform ResNets with the same computational budget. Hybrids improve upon pure Transformers for smaller model sizes, but the gap vanishes for larger models.

  • Figure 5에서 몇 가지 패턴을 관측할 수 있었다.
    1. ViT는 성능/계산량 트레이드오프에서 ResNet에 비해 월등했다. 같은 성능을 얻어는데 ViT는 2~4 배 적은 비용이 들었다.
    2. Hybrid는 적은 계산에서 ViT보다 우수하지만 모델이 커질 수록 그 차이가 사라졌다.
    3. ViT는 시도한 스케일에서 포화되지 않는 것으로 보여 성능이 더 좋아질 수 있음을 암시한다.

4.5 Inspecting Vision Transformer

  • Vision Transformer가 이미지 데이터 처리를 어떻게 하는지 이해하기 위해 내부 표현 (internal representation)을 분석했다.

Figure 7: Left: Filters of the initial linear embedding of RGB values of ViT-L/32.

  • ViT의 첫 번째 레이어는 flatten된 패치를 저차원 공간으로 선형 투영한다.
    • Figure 7 (left)에서는 학습된 임베딩 필터에서 맨 위의 주성분 (principal component, PC)를 보여준다.
    • 각 성분들은 각 패치 미세 구조의 저차원 표현에 대한 기저 함수와 유사하다.

Figure 7: Center: Similarity of position embeddings of ViT-L/32. Tiles show the cosine similarity between the position embedding of the patch with the indicated row and column and the position embeddings of all other patches.

  • 투영 이후에는 패치 표현에 학습된 위치 임베딩이 추가된다.
    • Figure 7 (center)에서는 모델이 위치 임베딩 유사도 (position embedding similarity)로 이미지 내 거리 인코딩을 학습함을 보여준다. 가까운 패치가 더 비슷한 위치 임베딩을 가지는 것으로 보인다.
    • 또한 행-열 구조를 볼 수 있다. 똑같은 행/열의 패치는 비슷한 임베딩을 가진다.
    • 때때로 더 큰 그리드에서 사인파 구조가 분명하게 드러난다 (Appendix D).
    • 위치 임베딩이 2D 이미지 위상을 학습한다는 사실은 hand-crafted 2D 임베딩이 성능 향상을 못하는 이유를 설명한다.

Figure 7: Right: Size of attended area by head and network depth. Each dot shows the mean attention distance across images for one of 16 heads at one layer. See Appendix D.7 for details.

  • Self-attention를 통해, ViT는 심지어 가장 아래의 레이어에서도 전체 이미지에 걸쳐 정보를 통합할 수 있다.
    • Figure 7 (right)에서 attention 가중치에 기반해 논문에서는 신경망이 이러한 능력을 얼마나 사용하는지 조사했다.
    • 이 “attention distance”는 CNN의 receptive field 크기와 유사하다.
    • 일부 attention head는 가장 아래의 레이어에서 이미 존재하는 대부분의 이미지에 attention을 가하며 이는 모델이 실제로 전역적으로 정보를 통합하는 능력을 사용함을 알 수 있다.
      • 다른 attention head는 낮은 레이어에서 작은 attention distance를 가진다.
    • 이 highly localized attention은 ResNet을 사용하는 hybrid 모델보다 Transformer에서 두드러지며, 이는 CNN의 초기 컨볼루션 레이어와 비슷한 기능을 수행함을 시사한다.
    • 또한 attention distance는 신경망의 깊이에 따라 증가한다.
  • 전역적으로 모델이 분류 작업에서 의미적으로 관련이 있는 영역에 attention을 가한다는 사실을 알아내었다 (Figure 6).

Figure 6: Representative examples of attention from the output token to the input space. See Appendix D.7 for details.

4.6 Self-supervision

  • Transformer는 NLP 작업에서 인상적인 성능을 보여주었다.
    • 이 성능의 대부분은 Transformer의 확장성 뿐만 아니라 대규모의 자기지도 사전학습에서 비롯된다.
  • 논문에서는 BERT에서 사용된 마스크 언어 모델 작업을 따라해, 자기지도 학습 마스크 패치 예측에 대한 예비 탐색을 수행했다.
    • 자기지도 사전훈련을 사용해 ViT-B/16 모델은 ImageNet에서 79.9% 정확도를 달성했다.
      • 처음부터 훈련되었을 때에 비해 2%의 향상이 있었으나, 지도 사전훈련에 비해서는 여전히 4% 낮은 성능을 보였다.

5. Conclusion

  • 컴퓨터 비전에서 self-attention을 사용한 이전 연구들과 다르게, Vision Trasformer는 초기 패치 추출 스텝을 제외한 나머지 아키텍처에서 이미지별 귀납적 편향을 사용하지 않았다.
    • 그 대신 이미지를 패치의 시퀀스로 해석하고 NLP에서 사용하는 표준 Transformer 인코더로 처리했다.
    • 이 간단하고 확장 가능한 전략은 대규모 데이터셋 사전훈련과 같이 사용될 경우 훌륭한 성능을 보여준다.
    • 따라서 ViT는 많은 이미지 분류 데이터셋에서 SOTA 이상의 성능을 보여주면서 적은 훈련 비용을 필요로 하는 모델이다.
  • ViT는 좋은 성능을 보여주지만, 아직 해결할 과제가 많이 남아있다.
    1. 탐지와 세그멘테이션 등의 다른 비전 작업에 적용
    2. 자기지도 사전훈련 방법의 탐구
    3. ViT 모델 크기의 확장
Comments