#개념

비전 트랜스포머(Vision Transformer, ViT)는 Dosovitskiy 등(2020)이 제안한 모델로, 자연어 처리에서 문장을 단어 토큰의 시퀀스로 다루듯 이미지를 작은 패치의 시퀀스로 다루어 트랜스포머(Transformer) 인코더를 거의 수정 없이 적용한 컴퓨터 비전(Computer Vision) 모델 구조다. 논문 제목 "An Image is Worth 16x16 Words"가 말해주듯, $H \times W \times C$ 크기의 이미지를 $P \times P$ 크기의 겹치지 않는 패치 $N = HW / P^2$개로 자른 뒤, 각 패치를 길이 $P^2 C$의 벡터로 펼치고 학습 가능한 선형 변환으로 $D$차원 벡터에 사상하는 패치 임베딩(Patch Embedding)이 입력의 출발점이다. 예를 들어 $224 \times 224$ 이미지를 $16 \times 16$ 패치로 나누면 196개의 토큰이 만들어지며, 이 선형 변환은 보폭(stride)이 패치 크기와 같은 합성곱 한 층으로 구현하는 것과 동일하다. 패치 시퀀스의 맨 앞에는 BERT의 방식을 따라 학습 가능한 [CLS] 토큰(Class Token)을 덧붙이고, 트랜스포머는 순서 정보를 스스로 알지 못하므로 각 토큰에 학습 가능한 1차원 위치 임베딩(Position Embedding)을 더하여 패치의 공간적 위치를 알려준다. 이렇게 만들어진 $N+1$개의 토큰은 다중 헤드 셀프 어텐션과 MLP 블록, 층 정규화(Layer Normalization), 잔차 연결로 구성된 표준 트랜스포머 인코더 층을 $L$번 통과하며, 마지막 층에서 [CLS] 토큰에 해당하는 출력 벡터를 이미지 전체의 표현으로 삼아 분류 헤드에 연결한다. 모델 크기에 따라 ViT-Base(12층, $D=768$, 약 8,600만 개 파라미터), ViT-Large, ViT-Huge로 구분하며, "ViT-B/16"과 같은 표기에서 뒤의 숫자는 패치 크기를 뜻한다.
ViT의 가장 중요한 특징은 합성곱 신경망(Convolutional Neural Network, CNN)이 구조적으로 갖고 있는 귀납 편향(Inductive Bias)이 거의 없다는 점이다. CNN은 인접한 픽셀끼리 관련이 깊다는 지역성(locality), 물체가 어디에 있든 같은 필터가 반응하는 이동 등변성(translation equivariance), 그리고 작은 특징에서 큰 특징으로 올라가는 계층 구조를 설계 단계에서 내장하고 있어 비교적 적은 데이터로도 잘 학습된다. 반면 ViT는 패치를 자르는 단계와 위치 임베딩 외에는 공간 구조에 대한 어떤 가정도 두지 않으며, 셀프 어텐션은 첫 번째 층부터 이미지 전체를 한 번에 참조하는 전역 수용 영역(global receptive field)을 갖는다. 그 결과 ImageNet-1k(약 130만 장) 규모의 데이터만으로 처음부터 학습하면 같은 크기의 ResNet보다 성능이 낮지만, ImageNet-21k(1,400만 장)나 구글 내부의 JFT-300M(3억 장)처럼 대규모 데이터로 사전 학습한 뒤 전이 학습(Transfer Learning)을 하면 CNN을 넘어서는 정확도를 보이며, 데이터가 커질수록 귀납 편향의 부재가 오히려 표현력의 자유로 바뀐다는 사실이 확인되었다. 학습된 ViT의 어텐션을 분석하면 낮은 층에서 일부 헤드는 가까운 패치에, 일부 헤드는 먼 패치에 주목하여 CNN의 지역 필터와 전역 문맥을 동시에 학습하고, 위치 임베딩은 별도의 2차원 구조를 알려주지 않았음에도 인접 패치와 행·열 관계를 스스로 복원한다. 계산 복잡도 측면에서 셀프 어텐션은 토큰 수 $N$에 대해 $O(N^2 D)$의 비용이 들기 때문에 입력 해상도를 높이면 패치 수가 제곱으로 늘어나 연산량과 메모리가 급격히 증가하며, 패치 크기를 줄여 세밀한 정보를 살리는 것과 계산 비용 사이에는 명확한 절충이 존재한다. 사전 학습보다 높은 해상도로 미세 조정할 때는 학습된 위치 임베딩을 2차원 격자 위에서 보간(interpolation)하여 늘어난 패치 수에 맞추는 방법이 흔히 쓰인다.
ViT 이후의 연구는 대규모 데이터 의존성과 계산 비용이라는 두 약점을 보완하는 방향으로 전개되었다. DeiT(Data-efficient Image Transformers)는 강한 데이터 증강과 정칙화, 그리고 지식 증류(Knowledge Distillation)를 결합하여 ImageNet-1k만으로도 ViT를 경쟁력 있게 학습할 수 있음을 보였다. 특히 [CLS] 토큰과 별도로 증류 토큰(Distillation Token)을 추가하고, 이 토큰이 CNN 교사 모델(RegNet)의 예측 레이블을 맞히도록 학습시켜 CNN의 귀납 편향을 간접적으로 이식했다. Swin Transformer(Shifted Window Transformer)는 어텐션을 이미지 전체가 아니라 $M \times M$ 크기의 지역 윈도우(Window) 안에서만 계산하여 복잡도를 토큰 수에 선형인 $O(N M^2 D)$로 낮추고, 층마다 윈도우의 경계를 절반씩 이동시키는 시프트 윈도우(shifted window) 방식으로 윈도우 사이의 정보 교환을 가능하게 했다. 또한 인접한 $2 \times 2$ 패치를 합치는 패치 병합(patch merging)으로 해상도를 단계적으로 줄이면서 채널을 늘려 CNN처럼 1/4, 1/8, 1/16, 1/32 해상도의 계층적 특징 맵을 만들어 내므로, 특징 피라미드를 요구하는 객체 탐지(Object Detection)와 이미지 분할(Image Segmentation)의 범용 백본으로 자리잡았다. 한편 레이블 없이 표현을 학습하는 자기지도 학습(Self-Supervised Learning)도 ViT에서 큰 성과를 냈다. DINO(Self-Distillation with No Labels)는 같은 이미지의 서로 다른 증강 뷰를 학생 네트워크와 지수 이동 평균으로 갱신되는 교사 네트워크에 입력하고 두 출력 분포를 일치시키는 자기 증류 방식으로 학습하며, 레이블 없이 학습한 [CLS] 토큰의 어텐션 맵이 물체의 경계를 스스로 분할하는 현상을 보여주었다. MAE(Masked Autoencoders)는 BERT의 마스크 언어 모델을 이미지에 옮긴 것으로, 패치의 75%를 무작위로 가리고 보이는 패치만 인코더에 넣은 뒤 가벼운 디코더로 가려진 픽셀을 복원하도록 학습한다. 인코더가 전체 토큰의 1/4만 처리하므로 사전 학습 비용이 크게 줄고, 이렇게 학습한 ViT-Huge는 ImageNet-1k만으로 미세 조정해 87.8%의 정확도를 달성했다. CLIP(Contrastive Language-Image Pre-training)은 인터넷에서 수집한 4억 개의 이미지-텍스트 쌍으로 ViT 이미지 인코더와 텍스트 인코더를 대조 학습하여 두 모달리티를 같은 임베딩(Embedding) 공간에 정렬하며, 학습 시 보지 못한 범주도 "a photo of a {class}"와 같은 텍스트 프롬프트만으로 분류하는 제로샷(zero-shot) 능력을 보여주었다. CLIP의 ViT 인코더는 이후 이미지 검색, 텍스트-이미지 생성 모델, 그리고 이미지를 이해하는 멀티모달 대규모 언어 모델(Large Language Models, LLM)의 시각 입력 모듈로 폭넓게 재사용되고 있다.
트랜스포머는 분류를 넘어 밀집 예측(dense prediction) 과제로도 확장되었다. DETR(DEtection TRansformer)은 CNN 백본이 추출한 특징 맵을 트랜스포머 인코더-디코더에 통과시키고, 학습 가능한 고정 개수의 객체 쿼리(Object Query)가 각각 하나의 물체를 예측하도록 하여 탐지를 집합 예측(set prediction) 문제로 재정의했다. 예측과 정답을 헝가리안 알고리즘(Hungarian algorithm)으로 일대일 매칭하여 손실을 계산하므로 기존 탐지기의 앵커 박스(anchor box)와 비최대 억제(Non-Maximum Suppression, NMS) 같은 수작업 구성 요소가 사라졌으며, 느린 수렴과 작은 물체 성능은 Deformable DETR, DINO-DETR 등의 후속 연구에서 개선되었다. 분할 분야에서는 SegFormer, Mask2Former처럼 트랜스포머 백본과 마스크 기반 디코더를 결합한 모델이 의미론적·인스턴스·파놉틱 분할을 하나의 구조로 통합했고, 2023년 Meta가 공개한 SAM(Segment Anything Model)은 MAE로 사전 학습한 ViT-Huge 이미지 인코더와 점·상자·마스크 등의 프롬프트를 처리하는 프롬프트 인코더, 가벼운 마스크 디코더로 구성되어 11억 개의 마스크를 담은 SA-1B 데이터셋으로 학습된 뒤 처음 보는 이미지에서도 사용자가 지정한 대상을 즉시 분할하는 프롬프트 기반 분할의 기반 모델(foundation model)이 되었다. 이 밖에도 비디오를 시공간 패치로 다루는 ViViT, 확산 모델의 U-Net을 트랜스포머로 대체한 DiT, 3차원 의료 영상과 위성 영상 등으로 ViT의 적용 범위는 계속 넓어지고 있다.
실무에서 ViT를 적용할 때 가장 일반적인 방법은 처음부터 학습하는 것이 아니라 timm이나 Hugging Face에서 제공하는 사전 학습 가중치를 가져와 미세 조정(Fine-tuning)하는 것이다. 데이터가 수천 장 수준으로 적은 경우에는 DINOv2나 CLIP처럼 대규모 자기지도·멀티모달 사전 학습을 거친 백본을 동결하고 선형 분류기만 학습하는 선형 프로빙(linear probing)이 안정적인 선택이며, 비교적 작은 데이터셋과 모바일 환경에서는 ConvNeXt 같은 현대적 CNN이나 MobileViT, EfficientFormer처럼 합성곱과 어텐션을 혼합한 경량 모델이 여전히 경쟁력이 있다. 서빙 관점에서는 ViT-B/16이 $224 \times 224$ 입력 기준 약 17.6 GFLOPs를 소모하고 어텐션의 메모리 사용량이 해상도에 민감하므로, 고해상도 입력이 필요한 경우 Swin 계열의 윈도우 어텐션이나 FlashAttention 같은 메모리 효율적 어텐션 커널, 중요도가 낮은 토큰을 중간 층에서 제거하는 토큰 가지치기(token pruning), 8비트 양자화를 함께 고려해야 한다. 전자상거래에서는 CLIP 또는 DINOv2 기반 ViT로 상품 이미지를 임베딩하여 유사 상품 검색과 이미지 기반 추천, 카테고리 자동 분류, 중복 상품 탐지에 활용하고, 의료 영상과 제조 검사에서는 자기지도 사전 학습으로 레이블 비용을 줄이면서 병변이나 결함 분할 성능을 높이는 방식이 정착되고 있다. 결론적으로 ViT는 이미지를 토큰 시퀀스로 보는 관점의 전환을 통해 언어와 시각을 같은 구조로 다룰 수 있게 했으며, 대규모 사전 학습과 결합하여 현대 컴퓨터 비전과 멀티모달 AI의 표준 백본으로 자리잡았다.

#관련 용어

트랜스포머
셀프 어텐션과 순방향 신경망 블록을 쌓아 시퀀스를 병렬로 처리하는 신경망 구조
어텐션 메커니즘
입력 토큰 사이의 관련성을 계산하여 문맥을 반영한 표현을 만드는 연산
합성곱 신경망
지역성과 이동 등변성을 내장한 합성곱 연산으로 이미지 특징을 추출하는 신경망
전이 학습
대규모 데이터로 사전 학습한 모델의 지식을 새로운 과제에 재사용하는 학습 방법
객체 탐지
이미지 안에서 물체의 위치를 경계 상자로 찾고 종류를 분류하는 컴퓨터 비전 과제
이미지 분할
이미지의 각 픽셀을 물체나 영역 단위로 구분하여 마스크를 생성하는 컴퓨터 비전 과제

#직무 연관도

DA
Data Analyst
낮음
이미지 임베딩 기반 유사 상품 분석이나 시각 데이터 군집화 결과를 해석할 때 기본 원리를 이해하면 도움이 된다
DS
Data Scientist
밀접
이미지 분류·검색·탐지·분할 모델의 백본을 선택하고, 사전 학습 가중치의 미세 조정과 자기지도 학습을 설계하는 데 핵심적인 구조
DE
Data Engineer
높음
어텐션의 계산 복잡도와 메모리 특성을 고려한 추론 최적화, 임베딩 서빙과 GPU 자원 설계에 직접 관련된다

#사용 사례

전자상거래의료제조자율주행인터넷 서비스농업
개요
비전 트랜스포머는 이미지 분류, 유사 이미지 검색과 이미지 기반 추천, 객체 탐지와 프롬프트 기반 분할, 의료 영상 판독, 제조 결함 검사, 위성·드론 영상 분석, 그리고 이미지를 이해하는 멀티모달 언어 모델의 시각 인코더로 활용된다.
사례
패션 전자상거래 플랫폼에서 CLIP 기반 ViT로 상품 이미지를 임베딩하면, 사용자가 촬영한 사진과 유사한 상품을 찾는 이미지 검색과 "베이지색 오버핏 니트" 같은 텍스트로 상품을 찾는 교차 검색을 하나의 벡터 공간에서 처리할 수 있으며, 같은 임베딩을 중복 상품 탐지와 카테고리 자동 분류에도 재사용할 수 있다.

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.