728x90
반응형
개요
Vision Transformer(ViT)는 자연어 처리에서 뛰어난 성능을 보인 트랜스포머(Transformer) 구조를 이미지 처리에 도입한 혁신적인 딥러닝 모델입니다. 기존 CNN 기반 모델들과 달리, 이미지를 패치 단위로 분할하고 이를 토큰으로 처리하여, 시각적 정보를 글로벌 컨텍스트 기반으로 학습합니다.
1. 개념 및 정의
**ViT(Vision Transformer)**는 이미지를 고정된 크기의 패치로 나눈 후, 각 패치를 임베딩하여 순서가 있는 토큰 시퀀스로 변환한 뒤 트랜스포머 인코더에 입력하는 방식의 이미지 분류 아키텍처입니다.
- 기반 기술: Transformer Encoder (Self-Attention 기반)
- 등장 배경: CNN의 지역적 특성과 한계를 극복, 글로벌 관계 학습
- 주요 논문: Dosovitskiy et al., “An Image is Worth 16x16 Words” (2020, Google Research)
2. 구조 및 작동 원리
단계 | 설명 | 예시 |
패치 분할 | 이미지를 일정 크기(예: 16x16)로 나눔 | 224x224 이미지 → 196개 패치 |
패치 임베딩 | 각 패치를 벡터로 변환 (Flatten + Linear) | 768 차원 임베딩 벡터 생성 |
위치 인코딩 | 패치 순서 정보를 보존 | Learnable or Fixed Positional Encoding |
클래스 토큰 추가 | [CLS] 토큰을 앞에 삽입하여 최종 분류 | [CLS] + Patch Embeddings |
트랜스포머 인코더 | Self-Attention과 MLP 블록 반복 | Multi-Head Attention, LayerNorm 등 |
분류 헤드 | [CLS] 토큰을 통해 클래스 확률 출력 | Linear → Softmax 출력층 |
CNN과 달리 커널이나 필터 없이, 전역 패치 간 관계를 학습합니다.
3. 장점 및 단점
항목 | 장점 | 단점 |
전역 정보 학습 | 이미지 전체 관계 파악 | 대규모 데이터 필요 |
단순 아키텍처 | CNN 대비 블록 구조 일관 | 이미지 증강 효과 낮음 |
사전학습 효과 우수 | Pretraining → Fine-tuning 강점 | 연산량 크고 느림 |
CNN 대비 유연성 | 다양한 비전 태스크에 적용 용이 | 로컬 정보 포착은 약함 |
ViT는 대규모 학습 데이터와 연산 자원이 있을 때 강력한 성능을 발휘합니다.
4. 주요 성능 및 모델 변형
모델 | 입력 해상도 | 파라미터 수 | Top-1 정확도 (ImageNet) |
ViT-B/16 | 224×224 | 86M | 77.9% (Pretrained) |
ViT-L/16 | 224×224 | 307M | 79.6% |
DeiT (Data-efficient ViT) | 224×224 | 86M | 83.1% (No extra data) |
Swin Transformer | Hierarchical 구조 | 다양한 사이즈 | 84%+ (strong augmentation) |
DeiT, Swin, TNT 등 다양한 변형이 ViT 구조를 확장 중입니다.
5. 활용 사례
분야 | 활용 사례 | 설명 |
이미지 분류 | ImageNet, CIFAR | 대규모 데이터 분류 정확도 우수 |
객체 탐지 | DETR, ViTDet | CNN 기반 탐지기와 결합 가능 |
의료 영상 분석 | 병변 탐지, 분할 | 국소+전역 정보 조합이 효과적 |
비전-Language 통합 | CLIP, Flamingo | 텍스트-이미지 공동 임베딩 활용 |
ViT는 고성능 컴퓨팅 환경에서 특히 강력한 비전 백본으로 자리잡고 있습니다.
6. 결론
Vision Transformer는 이미지 처리에 트랜스포머의 가능성을 성공적으로 입증한 구조로, 전통적인 CNN 기반 모델의 한계를 극복하고자 하는 시도에서 탄생했습니다. 특히 전역적 정보를 효과적으로 포착하고, 사전학습을 통한 전이 학습에서 큰 장점을 가지며, 다양한 변형 구조와 함께 차세대 비전 모델의 새로운 패러다임을 제시하고 있습니다.
728x90
반응형
'Topic' 카테고리의 다른 글
TinyML (0) | 2025.05.06 |
---|---|
LoRA (Low-Rank Adaptation) (0) | 2025.05.06 |
Count-min Sketch (0) | 2025.05.06 |
KD-Tree(K-Dimensional Tree) (1) | 2025.05.06 |
Fibonacci Heap (1) | 2025.05.06 |