1. 비전 트랜스포머(ViT)의 개요
- 비전 트랜스포머(Vision Transformer, 이하 ViT)는 2020년 Google Research에서 제안된 이미지 분류 모델임
- 기존 CNN 기반 이미지 분류 구조를 Transformer 구조로 대체함
- 자연어 처리에서 우수한 성능을 보인 Transformer 구조를 이미지 처리에 그대로 적용한 것이 핵심임
- ResNet 등의 CNN 기반 모델 대비 더 적은 inductive bias를 가짐
- 대용량 데이터와 긴 학습 시간이 요구되나, 사전 학습(pretraining)을 거치면 우수한 성능을 보임
2. 기존 CNN과 ViT의 구조적 차이점
(1) CNN의 구조적 특징
- 지역 수용 영역(Receptive Field)을 기반으로 함
- Conv layer → Pooling → Fully Connected Layer로 이어지는 피라미드 구조 사용
- 지역 정보는 잘 포착되나, 전역 정보(Global Context) 확보는 한계가 있음
- Translation Invariance 등 도메인 특화 inductive bias를 강하게 내재함
(2) Transformer의 구조적 특징
- 입력 전체에 대해 self-attention을 수행함으로써 전역적 관계 파악에 유리함
- 위치 정보는 별도의 Positional Encoding으로 주입함
- Multi-Head Attention과 Feedforward Network를 교차적으로 반복함
- Layer Normalization, Residual Connection 구조 활용
(3) CNN vs ViT 비교 정리
항목 | CNN | ViT |
---|---|---|
인덕티브 바이어스 | 강함 | 약함 |
입력 구조 | 2D 이미지 직접 입력 | 패치 분할 후 flatten하여 입력 |
학습 데이터 요구량 | 적음 | 많음 |
성능 향상 방식 | 구조 설계 최적화 | 데이터와 연산량 증가 |
3. ViT의 기본 구조와 처리 절차
(1) 이미지 패치 분할
- 입력 이미지 크기: $( H \times W \times C $)
- 고정 크기의 패치(Patch)로 분할: $( P \times P $)
- 각 패치를 벡터로 변환하여 Flatten한 후 Linear Projection 수행
- 전체 이미지가 $( N = \frac{HW}{P^2} $)개의 시퀀스로 변환됨
(2) Positional Encoding 추가
- Transformer는 순서 정보가 없기 때문에 각 패치에 위치 정보를 부여해야 함
- 학습 가능한 positional embedding 또는 고정된 사인/코사인 방식 사용 가능
(3) 클래스 토큰(class token) 삽입
- [CLS] 토큰을 시퀀스 맨 앞에 추가
- 최종적으로 [CLS] 토큰의 출력만을 이용해 분류 수행
(4) Transformer Encoder 적용
- Multi-Head Self Attention → MLP Block 반복
- 일반적으로 12~24개의 Encoder Layer 사용
- 각 Layer는 Residual Connection과 Layer Norm 포함
(5) 최종 분류
- [CLS] 토큰 출력값을 Fully Connected Layer에 입력하여 class prediction 수행
4. ViT의 수학적 처리 과정
이미지 패치화 및 인코딩
$$
X \in \mathbb{R}^{H \times W \times C} \Rightarrow \text{patches } x_p \in \mathbb{R}^{N \times (P^2 \cdot C)}
$$
$$
Z_0 = [x_{\text{class}}; x_p^1E; x_p^2E; \ldots; x_p^NE] + E_{\text{pos}}
$$
(E는 Linear Projection 행렬, $( E_{\text{pos}} $)는 Positional Encoding)
Transformer Encoder 반복
$$
Z_l' = \text{MSA}(\text{LN}(Z_{l-1})) + Z_{l-1}
$$
$$
Z_l = \text{MLP}(\text{LN}(Z_l')) + Z_l'
$$
최종 출력 및 분류
$$
y = \text{softmax}(W \cdot Z_L^{\text{[CLS]}})
$$
5. ViT의 장단점
(1) 장점
- 전역 정보 처리 능력이 우수함
- 대규모 데이터셋에서 기존 CNN 대비 우수한 성능 달성함
- 구조적 단순함으로 인해 다양한 비전 태스크로 확장 가능함
- 사전학습(pretraining) 및 전이학습(finetuning)에 유리함
(2) 단점
- 작은 데이터셋에서는 CNN보다 성능이 떨어지는 경향 있음
- 학습에 필요한 연산량과 메모리 요구량이 큼
- positional encoding이 정교하지 않으면 성능 저하 가능
- low-level feature 추출 능력은 CNN보다 떨어질 수 있음
6. ViT의 확장 및 응용
(1) DeiT (Data-efficient Image Transformer)
- Knowledge Distillation을 통해 적은 데이터로도 ViT 학습 가능하도록 함
(2) Swin Transformer
- 패치 내부에서 이동식 창 기반의 지역 attention을 수행함으로써 연산량 절감함
- 계층적 구조(Hierarchical)를 통해 다중 해상도 정보 처리 가능함
(3) Hybrid 모델
- 초기 feature 추출은 CNN으로 처리하고 후반은 Transformer 구조를 이용함
- low-level과 high-level feature의 결합 구조로 성능 향상 도모
(4) 응용 분야
- 이미지 분류, 객체 탐지, 이미지 분할, 비디오 처리, 의료 영상 등 다방면 활용 가능함
- CLIP, DINO 등 다양한 self-supervised 및 multi-modal 모델의 backbone으로 활용됨
7. 요약 및 시사점
- CNN 중심의 비전 모델 설계에서 Transformer 기반 설계로의 패러다임 전환 신호임
- 구조적 유연성과 범용성을 확보함으로써 다양한 도메인에서 통합 모델 개발 가능함
- GPU 연산 자원의 활용 증가에 따른 구조 선택 전략 및 자원 최적화 필요성 대두됨
- 향후 인공지능 모델은 modality 통합(텍스트+이미지+음성)을 지향하게 되며, ViT는 그 중심축으로 기능할 수 있음
'IT Study > 인공지능 관련' 카테고리의 다른 글
🤖 AI 반도체(AI Semiconductor) (2) | 2025.03.31 |
---|---|
🤖 트랜스포머(Transformer) (0) | 2025.03.30 |
🤖 셀프 어텐션(Self Attention) (0) | 2025.03.30 |
🤖 지식 증류(Knowledge Distillation) (2) | 2025.03.30 |
🤖 전이 학습(Transfer Learning) (1) | 2025.03.30 |