Paper Review/Computer Vision

[OUTTA Alpha팀 논문 리뷰 요약] Part 5-4. ViT

YeonJuJeon 2025. 1. 3. 19:54

논문 링크: 2010.11929

 

OUTTA 논문 리뷰 링크: [2024-2] 전윤경-An image is worth 16X16 Words : transformers for image recognition at scale

 

[2024-2] 전윤경-An image is worth 16X16 Words : transformers for image recognition at scale

0. AbstractTransformer 아키텍처를 이미지 패치 시퀀스에 적용한 Vision Transformer(ViT)는 CNN 없이도 이미지 분류 작업에서 뛰어난 성능을 발휘한다. ViT는 대규모 데이터로 사전 학습 후 전이 학습 시, 최

blog.outta.ai


1. Introduction

  • Transformer 구조는 NLP에서 성공적으로 활용됨.
    • 높은 연산 효율성확장성이 특징.
    • 데이터셋과 모델 크기가 커져도 성능이 포화되지 않고 지속적으로 개선.
  • Computer Vision Task에서 Transformer 구조 적용의 어려움:
    • Self-Attention$O(n^2)$ 복잡도로 계산 비용이 높음.
    • CNN 기반 모델과의 하드웨어 가속기 호환성이 부족.
  • Vision Transformer (ViT):
    • 이미지를 패치 단위로 분할하여 Transformer 입력으로 사용.
    • Inductive Bias가 부족하지만, 대규모 데이터셋에서 사전학습을 통해 극복.
    • ImageNet-21k 및 JFT-300M에서 사전학습 후 다양한 다운스트림 데이터셋에서 우수한 성능 달성.

2. Related Work

  • NLP:
    • Vaswani et al. (2017): Transformer 구조 제안.
    • Devlin et al. (2019): BERT로 Self-Supervised Pretraining 도입.
    • GPT 시리즈: 언어 모델링 기반 사전학습 수행.
  • Computer Vision:
    • Self-Attention을 CNN에 적용하거나 대체하려는 다양한 시도.
    • Cordonnier et al. (2020): 2x2 패치로 Self-Attention 적용 (ViT와 유사).
    • Image GPT (Chen et al., 2020): Transformer를 이미지 픽셀 단위에 적용.
  • ViT의 차별점:
    • 대규모 데이터셋(ImageNet-21k, JFT-300M)을 활용한 학습.
    • 기존 CNN 기반 ResNet보다 더 좋은 성능 달성.

3. Methodology

3.1 Architecture

Patch Embedding:

  • 이미지를 크기 $(P, P)$ 패치로 분할: $$N = \frac{H \cdot W}{P^2}$$
    • $H, W$: 입력 이미지 크기.
    • $P$: 패치 크기.
  • 각 패치를 1D 벡터로 변환하고, Linear Projection을 통해 고정 차원 $D$로 변환.

Positional Embedding:

  • 각 패치에 위치 정보를 추가하여 순서 학습 가능.
  • 패치 임베딩 벡터에 위치 임베딩 벡터를 더함.

Transformer Encoder:

  • Multi-Head Self-Attention (MSA)MLP Block으로 구성.
  • Layer NormalizationResidual Connection 적용.

Classification Head:

  • 패치 임베딩 앞에 CLS 토큰 추가 → 이미지 전체 표현.
  • 최종 출력 $\text{CLS} 토큰을 사용해 Linear Layer로 분류 수행.

3.2 Attention

  1. Self-Attention:
    • 입력 $z$를 $Q, K, V$로 변환: $$\quad W^{QKV} \in \mathbb{R}^{D \times 3D}
    • Attention 가중치 계산: $$A = \text{softmax}\left(\frac{QK^T}{\sqrt{D_h}}\right)$$
      • $D_h = \frac{D}{k}$, $k$: Attention Head 개수.
  2. Multi-Head Self-Attention (MSA):
    • 여러 개의 Self-Attention Head 출력 병합: $$MSA(z) = \text{Concat}(SA_1(z), \dots, SA_k(z)) W^{MSA}, \quad W^{MSA} \in \mathbb{R}^{kD_h \times D}$$
  3. Feedforward Network (FFN):
    • 두 개의 Fully Connected Layer: $$FFN(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2$$
      • $W_1 \in \mathbb{R}^{D \times D_{hidden}}, W_2 \in \mathbb{R}^{D_{hidden} \times D}$

3.3 Inductive Bias

  1. CNN과 Inductive Bias
    • CNN은 이미지에 특화된 다음과 같은 Inductive Bias를 가짐:
      • Locality: 근접 픽셀 간의 종속성을 활용.
      • Translation Equivariance: 입력 변화에 따라 출력이 동일하게 변화.
    • ViT는 이러한 Inductive Bias가 약함.
    • Locality / Translation Equivariance
  2. ViT의 Inductive Bias 보완
    • Data-Driven Training:
      • 대규모 데이터셋에서 학습하여 Inductive Bias 부족을 극복.
    • Positional Embedding:
      • 패치 간의 관계를 학습하여 Locality와 Translation Equivariance 간접 학습.
    • Hybrid Architecture:
      • CNN으로 Feature Map을 추출하여 Transformer에 입력으로 사용 → Locality와 Translation Equivariance 활용.
  3. Fine-Tuning with Higher Resolution
    • 사전학습된 모델을 더 높은 해상도에서 Fine-Tuning 시 성능 향상.
    • 기존 Positional Embedding은 해상도 변화로 왜곡될 수 있음.
    • 2D Interpolation:
      • Positional Embedding을 보간하여 새로운 해상도에 맞춤.
      • 이를 통해 ViT 내부에 이미지에 특화된 Inductive Bias를 추가적으로 포함.


4. Inspecting Vision Transformer (ViT의 내부 분석)

ViT의 내부 작동을 분석하기 위해 3가지 실험을 수행:

4.1. 필터 시각화 (Filter Visualization)

  • 목적: Linear Projection 레이어가 학습한 Low-Level Feature를 이해.
  • 방법:
    • 첫 번째 Linear Projection의 주요 요소 28개를 선정하여 시각화 (PCA로 차원 축소한 것으로 추정).
    • 기존 가중치 행렬을 변환 후 시각화.
  • 결과:
    • CNN 초기 레이어에서 나타나는 Edge, Color 등 Low-Level Feature와 유사한 패턴.
    • ViT도 CNN처럼 Low-Level Feature를 효과적으로 학습.

4.2. 위치 임베딩 유사도 분석 (Positional Embedding Similarity Analysis)

  • 목적: ViT의 Positional Embedding이 패치 간 위치 관계를 얼마나 잘 학습했는지 평가.
  • 방법:
    • 각 패치의 Positional Embedding을 코사인 유사도 히트맵으로 표현.
    • -번째 행과 j-번째 열의 값은 두 패치 위치 간 유사도.
  • 결과:
    • 가까운 패치일수록 높은 유사도를 보임.
    • 같은 열과 같은 행 내에서도 높은 유사도.
    • 1D Positional Embedding만으로도 2D 이미지 위상을 잘 파악.
    • ViT는 추가적인 2D 구조 정보 없이도 위치 관계를 효과적으로 학습.

3. Attention Distance 분석

  • 목적: Self-Attention 메커니즘이 이미지의 전역적 특성지역적 특성을 어떻게 학습하는지 평가.
  • 방법:
    • Attention Weight를 기반으로 Mean Attention Distance를 계산:
      • 각 픽셀이 주목하는 영역(거리)의 평균.
    • CNN의 Receptive Field 개념과 비교.
  • 결과:
    • ViT는 첫 번째 레이어부터 전역적 특성(Global Features) 학습 가능.
    • 깊은 레이어로 갈수록 대부분의 Attention Head가 전역적 특성을 잘 포착.
    • 최종적으로는 분류 작업에 중요한 부분을 집중적으로 학습.

5. Experiments

5.1 Datasets

  • Pretraining:
    • ImageNet-21k (14M 이미지), JFT-300M (303M 이미지).
  • Downstream Tasks:
    • ImageNet, CIFAR-10/100, VTAB(19개 Task 포함).

5.2 Results

  • Accuracy:
    • ImageNet: 88.55%, CIFAR-100: 94.55%.
  • Comparison with SOTA:
    • 대규모 데이터셋에서 ViT는 ResNet 기반 CNN보다 우수한 성능.

6. Conclusion

  • 기여:
    • Transformer를 Image Recognition에 성공적으로 적용.
    • CNN 대비 Inductive Bias가 약하지만, 대규모 데이터셋으로 극복.
    • Task-Agnostic 구조로 높은 확장성과 유연성 제공.
  • 한계:
    • Segmentation, Detection 등 다른 Vision Task에 대한 적용은 추가 연구 필요.
    • Self-Supervised Learning 방법론의 최적화 필요.