ViT
ViT (Vision Transformer## 개요
ViT(V Transformer)는 전통적인 컨루션 신경(Convolutional Neural Network,) 대신 랜스포머(Transformer 아키텍처를 기으로 이미지 인식 작업을 수행하는 컴퓨터비전 모델입니다. 2020년글 딥마인드(Google Brain) 팀이 발표한 논문 "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale" 에서 처음 소개되었으며, 이는 이미지 처리 분야에서 트랜스포머 기반 모델의 가능성을 입증한 획기적인 연구로 평가받고 있습니다.
ViT는 자연어 처리(NLP)에서 큰 성과를 거둔 트랜스포머 구조를 이미지 데이터에 적용하기 위해 이미지를 패치(patch)로 분할하고, 각 패치를 하나의 "토큰"처럼 처리함으로써 시퀀스 기반 학습이 가능하도록 설계되었습니다. 이 접근 방식은 CNN 기반 모델의 근본적인 제한을 극복하고, 대규모 데이터와 계산 자원을 활용할 경우 기존 모델들을 성능 면에서 능가할 수 있음을 보여주었습니다.
기본 원리
1. 이미지의 토큰화 (Patch Embedding)
ViT의 핵심 아이디어는 이미지를 작은 정사각형 영역(패치)으로 나누는 것입니다. 예를 들어, 224×224 크기의 이미지를 16×16 크기의 패치로 분할하면 총 196개의 패치가 생성됩니다. 각 패치는 하나의 벡터로 선형 변환되어 패치 임베딩(Patch Embedding)이 됩니다.
이 과정은 다음과 같이 표현할 수 있습니다:
x_p ∈ ℝ^(N × (P² × C)) → E ∈ ℝ^(N × D)
N: 패치 수 (예: 196)P: 패치 크기 (예: 16)C: 채널 수 (예: RGB의 3)D: 임베딩 차원
이 임베딩 벡터들은 위치 정보를 유지 위해 포지션 임베딩(Positional Embedding)과 함께 입력으로 사용됩니다.
2. 클래스 토큰(Class Token) 추가
ViT는 NLP의 [CLS] 토큰과 유사하게, 전체 이미지의 분류를 담당하는 특수 토큰인 클래스 토큰(Class Token)을 시퀀스의 앞에 추가합니다. 이 토큰은 트랜스포머의 모든 레이어를 거치며 이미지 전체의 정보를 집약하게 되고, 최종적으로 이 토큰의 출력을 사용해 분류 작업을 수행합니다.
3. 트랜스포머 인코더 구조
패치 임베딩과 클래스 토큰, 포지션 임베딩이 결합된 입력은 표준 트랜스포머 인코더에 입력됩니다. 인코더는 다음과 같은 구성 요소로 이루어집니다:
- 멀티헤드 어텐션(Multi-Head Attention): 각 패치 간의 관계를 모델링
- 피드포워드 네트워크(Feed-Forward Network): 비선형 변환 수행
- 층 정규화(Layer Normalization) 및 잔차 연결(Residual Connection): 안정적인 학습 보장
ViT는 일반적으로 12개 이상의 인코더 레이어를 사용하며, 모델 크기에 따라 레이어 수와 임베딩 차원이 조정됩니다.
주요 모델 변형
ViT는 기본 구조 외에도 다양한 확장 및 최적화된 버전이 존재합니다:
| 모델 이름 | 설명 |
|---|---|
| ViT-Base | 기본 모델 (12개의 레이어, 768차원 임베딩) |
| ViT-Large | 더 깊고 넓은 구조 (24레이어, 1024차원) |
| ViT-Huge | 대규모 모델 (32레이어, 1280차원), 최고 성능 제공 |
| DeiT (Data-efficient Image Transformer) | 작은 데이터셋에서도 학습 가능한 지식 증류 기법 적용 |
| Swin Transformer | 계층적 구조와 슬라이딩 윈도우를 도입하여 효율성 향상 |
장점과 한계
장점
- 장거리 의존성 모델링: CNN은 국소적 필터를 사용하지만, ViT는 어텐션 메커니즘을 통해 이미지의 전역 정보를 직접적으로 학습할 수 있음.
- 구조의 단순성: CNN과 달리 복잡한 컨볼루션 연산 없이 통일된 트랜스포머 아키텍처만으로 처리 가능.
- 확장성: 더 많은 데이터와 더 큰 모델 크기에서 성능이 지속적으로 향상됨.
한계
- 대규모 데이터 의존성: 작은 데이터셋에서는 성능이 CNN에 미치지 못함.
- 계산 비용: 고해상도 이미지 처리 시 패치 수가 많아져 어텐션 계산 복잡도(O(N²))가 급증.
- 해석 가능성: CNN의 필터와 달리 어텐션 맵의 해석이 직관적이지 않을 수 있음.
활용 분야
ViT는 다음과 같은 컴퓨터비전 응용 분야에서 활용되고 있습니다:
- 이미지 분류 (ImageNet 등)
- 객체 탐지 (DETR 등과 결합)
- 의료 영상 분석 (암 검출, MRI 분석)
- 자율주행 (장면 이해)
- 이미지 생성 (Diffusion 모델과 결합)
참고 자료
- Dosovitskiy, A. et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
- Touvron, H. et al. (021). Training data-efficient image transformers & distillation through attention. (DeiT)
- Liu, Z. et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV.
ViT는 CNN 중심의 컴퓨터비전 패러다임에 도전장을 던진 모델로, 대규모 데이터와 강력한 컴퓨팅 인프라를 바탕으로 한 미래 지향적인 아키텍처로 평가받고 있습니다. 점차 효율성과 경량화 기술이 발전함에 따라, ViT 기반 모델은 다양한 실시간 및 엣지 컴퓨팅 환경에서도 널리 사용될 전망입니다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.