본문으로 건너뛰기

Vision Transformer (ViT) 완벽 가이드: 작동 원리부터 학습 방법까지

Vision Transformer(ViT)의 아키텍처와 CNN과의 차이점, 그리고 대규모 데이터셋에서의 성능 우위를 바탕으로 한 사전 학습 및 파인튜닝 과정을 상세히 다룹니다.

챕터별 상세

00:00

Vision Transformer(ViT)의 정의와 기본 구조

Vision Transformer(ViT)는 Transformer 아키텍처를 컴퓨터 비전 작업에 적용한 모델이다. 이미지를 고정된 크기의 패치로 분할하고 각 패치를 벡터로 인코딩하여 시퀀스 데이터처럼 처리한다. 여기에 위치 정보를 제공하는 Positional Embedding과 분류를 위한 Class Embedding을 추가하여 Transformer Encoder에 입력한다. 최종적으로 MLP Head를 통해 이미지의 클래스를 예측하는 구조를 가진다.
01:41

ViT의 등장 배경과 Transformer의 성공

2017년 등장한 Transformer는 기계 번역을 포함한 NLP 분야에서 SOTA를 달성하며 큰 성공을 거두었다. BERT와 GPT 같은 모델들이 대규모 데이터 사전 학습 후 특정 작업에 파인튜닝하는 프레임워크를 표준화했다. 이러한 성공에 영감을 받은 연구자들은 Transformer를 이미지 분류, 세그멘테이션, 객체 탐지 등 비전 문제에 적용하기 시작했다. 당시 비전 분야는 ResNet과 같은 CNN 기반 모델이 주도하고 있었다.
04:30

CNN의 귀납적 편향(Inductive Bias)과 한계

CNN은 이미지 처리에 최적화된 네 가지 주요 귀납적 편향을 가진다. 인접 픽셀 간의 관계를 중시하는 Locality, 객체 위치 변화에 대응하는 Translation Equivariance, 작은 왜곡을 무시하는 Pooling 기법, 그리고 저수준에서 고수준 특징으로 나아가는 Hierarchical Feature Learning이 그것이다. 이러한 구조적 가정은 데이터가 적을 때 효율적이지만, 모델의 유연성을 제한하는 요소가 되기도 한다. ViT는 이러한 편향을 최소화하여 데이터로부터 직접 관계를 학습하도록 설계되었다.
08:30

데이터 스케일링에 따른 ViT와 ResNet의 성능 역전

ImageNet-1K와 같이 약 130만 장 규모의 데이터셋에서는 ResNet이 ViT보다 우수한 성능을 보인다. 하지만 학습 데이터가 1,400만 장에서 3억 장(JFT-300M)으로 늘어날수록 ViT의 성능이 급격히 향상되어 ResNet을 추월한다. 이는 대규모 데이터 환경에서 데이터 스케일링의 효과가 CNN의 구조적 이점을 압도함을 증명한다. 데이터가 충분하다면 ViT가 이미지의 복잡한 패턴을 더 잘 학습할 수 있다.
09:50

ViT의 사전 학습(Pre-training) 상세 프로세스

224x224 해상도의 이미지를 16x16 크기의 패치로 분할하여 총 196개의 패치를 생성한다. 각 패치는 공유 MLP 레이어를 거쳐 512차원의 벡터로 변환되는 Patch Embedding 과정을 거친다. 여기에 이미지 전체 정보를 대표하는 학습 가능한 Class Token과 각 패치의 위치 정보를 나타내는 Positional Embedding이 추가된다. 이 데이터는 12개의 레이어로 구성된 Transformer Encoder를 통과하며 패치 간의 전역적 관계를 학습한다. 최종적으로 Cross Entropy Loss를 사용하여 모델 파라미터를 업데이트한다.
15:13

고해상도 이미지를 위한 파인튜닝(Fine-tuning) 기법

사전 학습된 ViT를 384x384와 같은 고해상도 이미지에 적용할 때는 패치 수가 576개로 증가한다. 이때 기존에 학습된 196개의 Positional Embedding을 2D Bilinear Interpolation을 통해 576개로 확장하여 사용한다. 분류 헤드(MLP + Softmax)는 새로운 작업의 클래스 수에 맞춰 교체하고 다시 초기화한다. 이 과정을 통해 고해상도 이미지의 세밀한 특징을 포착하면서도 사전 학습된 지식을 효과적으로 전이할 수 있다.

용어 해설

귀납적 편향(Inductive Bias)
학습 알고리즘이 보지 못한 데이터에 대해 예측하기 위해 사용하는 가정들의 집합이다. CNN은 인접 픽셀 간의 관계를 중시하는 가정을 가지며, 이는 데이터가 적을 때 효율적인 학습을 돕지만 데이터가 매우 많을 때는 오히려 제약이 될 수 있다.
이동 등가성(Translation Equivariance)
입력 이미지 내에서 객체의 위치가 바뀌어도 출력 결과에서 해당 객체를 동일하게 인식할 수 있는 특성이다. CNN은 컨볼루션 필터를 이미지 전체에 공유하여 적용함으로써 이 특성을 구조적으로 내장하고 있다.
위치 임베딩(Positional Embedding)
Transformer 아키텍처에서 데이터의 순서나 위치 정보를 모델에 전달하기 위해 추가하는 벡터이다. ViT는 이미지를 패치로 나누어 처리하므로 각 패치가 이미지의 어느 부분에 해당하는지 알려주는 위치 정보가 필수적이다.
패치 임베딩(Patch Embedding)
이미지를 작은 격자 단위(패치)로 나누고 이를 선형 변환을 통해 고차원 벡터로 투영하는 과정이다. ViT는 2D 이미지를 1D 시퀀스 데이터로 변환하여 Transformer의 입력 형식에 맞추기 위해 이 기법을 사용한다.
지역성(Locality)
이미지에서 인접한 픽셀들이 서로 밀접한 관련이 있다는 특성이다. CNN은 작은 커널을 사용하여 이 지역적 특징을 추출하는 데 최적화되어 있으나, ViT는 Self-Attention을 통해 이미지 전체의 전역적 관계를 먼저 파악하려는 경향이 있다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2025. 12. 16.수집 2026. 02. 21.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.