논문 · arXiv 2010.11929
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
세 줄 요약
- 🎯 합성곱 신경망은 강력한 귀납적 편향(inductive bias) 덕분에 컴퓨터 비전을 지배해 왔으나, 표준 트랜스포머는 2D 이미지에 직접적이고 확장 가능한 적용 방식이 부족했습니다.
- 🔧 이미지를 고정 크기의 평탄화된 패치(예: 16x16)로 분할하고, 이를 선형 투영하여 토큰 임베딩으로 만든 뒤 위치 임베딩을 더하고 [class] 토큰을 앞에 붙여 표준 트랜스포머 인코더에 통과시킵니다.
- 📈 JFT-300M에서 사전 학습 시 ViT-H/14는 ImageNet에서 top-1 정확도 88.55%, ImageNet ReaL에서 90.72%, VTAB에서 77.63%를 기록하며, 유사한 CNN 대비 현저히 적은 사전 학습 연산량을 사용했습니다.
초록
트랜스포머(Transformer) 아키텍처는 자연어 처리 분야의 사실상 표준이 되었지만, 컴퓨터 비전 분야의 적용은 여전히 제한적이었습니다. 비전 분야에서 어텐션(attention)은 합성곱 신경망과 결합되어 사용되거나, 합성곱 신경망의 전체 구조를 유지한 채 특정 구성 요소를 대체하는 데 주로 사용되었습니다. 본 논문에서는 이러한 CNN에 대한 의존이 필수적이지 않으며, 이미지 패치 시퀀스에 직접 적용된 순수 트랜스포머만으로도 이미지 분류 작업에서 매우 뛰어난 성능을 낼 수 있음을 보여줍니다. 대규모 데이터로 사전 학습한 후 여러 중소형 이미지 인식 벤치마크(ImageNet, CIFAR-100, VTAB 등)로 전이 학습했을 때, Vision Transformer (ViT)는 최신 합성곱 신경망과 비교해 훨씬 적은 연산 자원으로 학습하면서도 뛰어난 결과를 달성했습니다.
영어 원문 초록
While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.
논문 해설
문제점 및 연구 배경
합성곱 아키텍처(예: ResNet)는 이동 불변성(translation equivariance) 및 2차원 지역성(locality)과 같은 내장된 귀납적 편향(inductive bias) 덕분에 오랫동안 현대 컴퓨터 비전의 기반이 되어 왔습니다. 반면 트랜스포머(Transformer)는 높은 연산 효율성과 뛰어난 확장성으로 자연어 처리(NLP)의 표준이 되었으나, 비전에 셀프 어텐션을 도입하려는 기존 시도들은 주로 어텐션을 CNN 백본과 결합하거나 하드웨어 가속기에서 효율적인 확장이 어려운 특수 국소/축 어텐션(local/axial attention) 패턴을 사용하는 방식이었습니다. 본 논문은 최소한의 수정만 거친 순수 트랜스포머 아키텍처를 이미지 패치 시퀀스에 직접 적용함으로써 최신 CNN과 경쟁하거나 이를 뛰어넘을 수 있는지 탐구합니다.
핵심 아이디어
- 단어 시퀀스로서의 이미지: 이미지 를 크기의 겹치지 않는 패치로 분할합니다. 평탄화된 패치는 NLP의 토큰과 완전히 동일하게 취급됩니다.
- 최소한의 귀납적 편향: 공간적 지역성과 이동 불변성이 모든 계층에 내재된 CNN과 달리, ViT는 패치 전반에 걸쳐 전역 셀프 어텐션(global self-attention)을 사용합니다. 2D 구조 정보는 패치를 추출할 때와 고해상도 미세 조정을 위해 위치 임베딩을 보간할 때만 참조됩니다.
- 규모가 귀납적 편향을 능가: 강한 귀납적 편향이 없기 때문에, ViT는 중소 규모 데이터셋(강한 정규화가 없는 표준 ImageNet 등)에서 ResNet보다 성능이 떨어집니다. 그러나 대규모 데이터셋(1400만 장의 ImageNet-21k 또는 3억 300만 장의 JFT-300M)에서 사전 학습할 경우, ViT는 훈련 FLOPs를 대폭 줄이면서도 CNN의 성능과 맞먹거나 이를 뛰어넘습니다.
방법론
- 패치 임베딩 및 입력 구성: 패치 크기 가 주어지면 이미지는 개의 패치로 분할됩니다. 각각의 평탄화된 패치 는 투영 행렬 를 통해 차원으로 선형 투영됩니다. 학습 가능한 분류 토큰 가 맨 앞에 추가되며, 1D 학습 가능 위치 임베딩 가 더해집니다:
- 트랜스포머 인코더 레이어: 시퀀스는 Multihead Self-Attention (MSA)과 MLP 블록이 교차되는 개의 동일한 블록을 통과하며, 사전 레이어 정규화(pre-LayerNorm, LN)와 잔차 연결(residual connections)을 사용합니다:
- 표현 및 분류 헤드: 표현은 첫 번째 출력 토큰으로부터 도출됩니다: 사전 학습 중에는 하나의 은닉층을 가진 소형 MLP가 분류 헤드 역할을 하며, 미세 조정 단계에서는 단일 선형 투영()으로 대체됩니다.
- 고해상도 미세 조정: 더 높은 해상도(예: 또는 )로 미세 조정할 때 패치 크기 는 고정되어 시퀀스 길이 이 증가합니다. 사전 학습된 1D 위치 임베딩은 원래의 2D 공간 격자 위치에 맞춰 2D 바이큐빅 보간법(bicubic interpolation)을 통해 조정됩니다.
결과
- 최신 기술(SOTA)과의 비교:
- JFT-300M에서 사전 학습된 ViT-H/14는 2.5k TPUv3-core-days를 사용하여 ImageNet에서 88.55%, ImageNet ReaL에서 90.72%, CIFAR-100에서 94.55%, VTAB 19개 태스크 스위트에서 **77.63%**를 달성했습니다.
- JFT-300M에서 사전 학습된 ViT-L/16은 0.68k TPUv3-core-days만을 사용하여 ImageNet에서 **87.76%**를 기록, BiT-L(ResNet152x4, 87.54%, 9.9k TPUv3-core-days)을 능가하고 Noisy Student EfficientNet-L2(88.4/88.5%, 12.3k TPUv3-core-days)에 근접했습니다.
- 공개 데이터셋 사전 학습: ImageNet-21k에서 사전 학습된 ViT-L/16은 ImageNet에서 **85.30%**를 달성했습니다.
- 연산량 대 성능 트레이드오프: JFT-300M 스케일링 실험 전반에서, 순수 ViT는 파레토 프론티어(Pareto frontier)에서 ResNet을 압도하며 동일한 정확도를 달성하는 데 에서 더 적은 연산량을 필요로 했습니다.
- 내부 표현 분석: 하위 레이어에는 작고 국소화된 어텐션 거리를 갖는 헤드와 함께 이미지 전체를 아우르는 어텐션 헤드가 공존합니다. 어텐션 거리는 일반적으로 깊이에 따라 단조 증가합니다.
한계점 및 열린 질문
- 데이터 의존성(Data Hunger): 대규모 사전 학습 데이터(ImageNet-21k 또는 JFT-300M)가 없거나 강력한 정규화 기법이 적용되지 않으면 ViT는 소규모 데이터셋에서 일반화 능력이 떨어집니다.
- 자기지도 학습 성능 격차: 마스크 패치 예측(masked patch prediction)을 사용한 초기 실험은 ImageNet에서 79.9%(ViT-B/16)를 기록하여 지도 사전 학습 대비 4%의 성능 격차를 보였습니다.
- 조밀한 예측(Dense Prediction) 작업 적용: 본 초기 연구는 분류 작업에만 집중했습니다. 객체 탐지 및 시맨틱 세그멘테이션과 같은 조밀한 공간 예측 작업에 순수 패치 트랜스포머를 적응시키는 것은 여전히 활발한 연구 과제입니다.
핵심 용어
- Vision Transformer (ViT)
- 합성곱 특징 추출 없이 비전 작업을 위해 겹치지 않는 이미지 패치 시퀀스에 직접 적용되는 순수 트랜스포머 아키텍처.
- Patch Embeddings
- 평탄화된 픽셀 패치를 모델의 잠재 공간으로 선형 투영하여 얻은 차원 표현.
- Classification Token ([class])
- 패치 시퀀스 맨 앞에 추가되는 학습 가능한 토큰으로, 최종 트랜스포머 레이어를 통과한 후의 출력 상태가 전체 이미지 표현으로 사용됨.
- Inductive Bias
- 아키텍처에 내장된 가정. CNN에서는 공간적 지역성과 이동 불변성 등이 이에 해당하며, ViT에는 이러한 가정이 거의 존재하지 않음.
- Position Embeddings
- 시퀀스 내에서 공간적 순서 정보를 유지하기 위해 패치 임베딩에 더해지는 1D 학습 가능 벡터.
- Attention Distance
- 어텐션 헤드가 정보를 통합하는 이미지 내의 평균 공간 거리로, 개념적으로 CNN의 수용 영역(receptive field) 크기와 유사함.
- Hybrid Architecture
- 원시 이미지 픽셀 대신 초기 합성곱 백본에서 추출된 특징 맵에 패치 임베딩 투영을 적용하는 모델.
- Visual Task Adaptation Benchmark (VTAB)
- 자연(Natural), 특화(Specialized), 구조화(Structured) 그룹으로 분류된 19개의 다양한 비전 작업으로 구성되며 태스크당 1,000개의 예제를 사용하여 평가하는 벤치마크 스위트.
자주 묻는 질문
ImageNet-1k와 같은 소규모 데이터셋에서 ViT가 ResNet보다 성능이 떨어지는 이유는 무엇인가요?
트랜스포머는 지역성이나 이동 불변성과 같은 합성곱 기반의 귀납적 편향이 없습니다. 소규모 데이터셋에서는 공간적 관계를 처음부터 학습해야 하므로 과적합되기 쉬운 반면, ResNet은 이러한 편향이 구조적으로 내장되어 있어 제한된 데이터에서도 표본 효율성이 높습니다.
ViT는 미세 조정 시 서로 다르거나 더 높은 해상도의 이미지를 어떻게 처리하나요?
ViT는 패치 크기를 일정하게 유지하므로 전체 시퀀스 길이가 늘어납니다. 사전 학습된 1D 위치 임베딩은 원래의 2D 격자에 다시 매핑된 후, 새로운 격자 크기에 맞춰 2D 바이큐빅 보간법을 통해 보간됩니다.
2D 구조를 고려한 위치 임베딩이 표준 1D 임베딩보다 ViT 성능을 향상시키나요?
아닙니다. 저자들은 모델이 2D 행/열 위상 관계를 스스로 쉽게 학습하기 때문에, 2D 좌표 임베딩이나 상대적 위치 임베딩이 표준 학습 가능 1D 위치 임베딩과 사실상 동일한 성능을 낸다는 것을 발견했습니다.
ViT와 하이브리드(Hybrid) 아키텍처의 차이점은 무엇인가요?
순수 ViT는 원시 입력 이미지를 픽셀 크기의 패치로 직접 분할하여 선형 투영을 적용합니다. 반면 하이브리드 모델은 이미지를 초기 ResNet 백본에 먼저 통과시킨 후, 생성된 중간 특징 맵에서 패치 토큰을 추출합니다.
이 페이지의 해설은 AI가 논문을 바탕으로 작성했으며 오류가 있을 수 있습니다. 자세한 내용은 원문을 확인하세요.