Vision Transformer (ViT) 정리

송다은·2025년 3월 4일

Vision Transformer(ViT)란?

Vision Transformer(ViT)는 이미지를 처리하는 Transformer 기반의 딥러닝 모델→ 기존의 CNN(합성곱 신경망) 대신 Transformer를 사용하여 이미지에서 패턴을 학습하며, 자연어 처리(NLP)에서 성공한 Transformer 구조를 컴퓨터 비전에 적용한 모델.


1. ViT의 핵심 개념

ViT는 이미지를 Transformer가 처리할 수 있도록 작은 패치(patch) 단위로 분할하여 입력

이를 통해 CNN처럼 필터를 사용하지 않고도 이미지의 특성을 학습할 수 있음

핵심 과정

  1. 이미지 패칭(Image to Patches)
    • 입력 이미지를 고정 크기의 패치(예: 16x16) 로 나누어 1D 시퀀스로 변환
  2. 패치 임베딩(Patch Embedding)
    • 각 패치를 선형 변환(FC Layer)하여 벡터 형태로 변환
  3. 위치 인코딩(Positional Encoding) 추가
    • 패치들의 순서를 유지하기 위해 Transformer의 위치 인코딩을 추가
  4. Transformer Encoder를 통해 학습
    • 기존 NLP에서 사용하는 Self-Attention을 적용하여 전체 이미지 패치 간 관계 학습
  5. 최종 분류(Classification Head) 수행
    • 최종적으로 CLS(Class Token) 벡터를 사용하여 예측 수행

2. ViT vs CNN 비교

ViT (Vision Transformer)CNN (Convolutional Neural Network)
특징 추출 방식Self-Attention을 사용하여 전체 이미지의 관계를 학습합성곱 필터를 사용하여 국소적인 특징을 학습
연산 효율성작은 데이터셋에서는 비효율적, 대량의 데이터가 필요상대적으로 데이터 효율적
전이 학습(Transfer Learning)사전 학습된 대형 모델을 활용하면 성능 우수작은 데이터셋에서도 성능이 좋음
모델 유연성패치 크기, 구조 변경이 가능필터 크기 및 구조 변경이 어려움

ViT의 장점

  • 장기적인 관계(Long-Range Dependencies) 학습 가능
  • 더 큰 receptive field(한 번에 더 넓은 영역을 봄)
  • 자연어 처리(NLP)와의 통합이 용이

ViT의 단점

  • CNN보다 더 많은 데이터가 필요함 (데이터가 적으면 CNN이 더 강력)
  • 연산량이 많음 (Self-Attention 연산이 복잡)
profile
Anomaly Detection, AI Security, Multimodal

0개의 댓글