■ 공부/논문리뷰

AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

J U N E 2024. 8. 26. 11:40

출처: https://arxiv.org/pdf/2010.11929

 

Abstract

Transformer 아키텍처는 자연어 처리 작업에서 사실상 표준(de-facto standard)이 되었지만, 이를 컴퓨터 비전 분야에 적용하는 경우는 여전히 제한적입니다. 비전(이미지 처리)에서는 주로 주의 메커니즘(attention)이 합성곱 신경망(convolutional networks, CNN)과 함께 사용되거나, CNN의 특정 구성 요소를 대체하는 방식으로 활용되면서도 전체적인 구조는 유지됩니다. 우리는 이러한 CNN에 대한 의존이 필수적이지 않으며, 이미지 패치(image patches)의 시퀀스(sequence)에 순수한 트랜스포머(pure transformer)를 직접 적용해도 이미지 분류 작업에서 매우 우수한 성능을 발휘할 수 있음을 보여줍니다. 대량의 데이터를 사용해 사전 학습(pre-trained)한 후, 중간 크기 또는 소규모 이미지 인식 벤치마크(예: ImageNet, CIFAR-100, VTAB 등)로 전이(transferred)했을 때, Vision Transformer (ViT)는 최첨단 CNN과 비교해 탁월한 결과를 달성하며, 학습에 필요한 계산 자원도 상당히 적게 소요됩니다.


Introduction

자기-어텐션(self-attention) 기반 아키텍처, 특히 트랜스포머(Transformer)는 자연어 처리(NLP)에서 선택된 모델로 자리 잡았습니다. 주된 접근법은 대규모 텍스트 코퍼스에 대해 사전 학습(pre-training)을 수행한 후, 보다 작은 특정 작업 데이터셋에 대해 미세 조정(fine-tuning)을 하는 것입니다(Devlin et al., 2019). 트랜스포머의 계산 효율성과 확장 가능성 덕분에, 1000억 개 이상의 파라미터를 가진 전례 없는 크기의 모델들을 훈련하는 것이 가능해졌습니다(Brown et al., 2020; Lepikhin et al., 2020). 모델과 데이터셋의 크기가 계속 증가함에 따라, 성능이 포화되는 징후는 여전히 보이지 않고 있습니다.

자기-어텐션(Self-Attention)
시퀀스 데이터를 처리할 때, 시퀀스의 각 요소가 다른 모든 요소들과의 관계를 학습할 수 있도록 하는 메커니즘입니다. 이 메커니즘은 특히 트랜스포머(Transformer) 모델에서 중요한 역할을 하며, 자연어 처리(NLP)와 컴퓨터 비전(CV) 등 다양한 분야에서 사용됩니다.
자기-어텐션의 주요 아이디어는 입력 시퀀스의 각 요소(예: 단어, 이미지 패치 등)가 다른 모든 요소들과 어떻게 관련되어 있는지를 학습하는 것입니다. 이를 통해 모델은 전체 시퀀스의 맥락(context)을 이해할 수 있게 됩니다.

자기-어텐션의 동작 방식
쿼리, 키, 밸류(Query, Key, Value) 생성: 입력 시퀀스의 각 요소에 대해 쿼리(Query), 키(Key), 밸류(Value)라는 세 가지 벡터를 생성합니다. 이 벡터들은 일반적으로 입력 벡터에 가중치 행렬을 곱하여 만들어집니다.
유사도 계산: 각 쿼리 벡터와 모든 키 벡터 간의 유사도를 계산합니다. 유사도는 보통 내적(dot product)으로 계산되며, 이를 통해 어떤 요소가 다른 요소와 얼마나 관련이 있는지를 측정합니다.
어텐션 가중치 계산: 유사도 값을 정규화하여 어텐션 가중치를 계산합니다. 소프트맥스(softmax) 함수를 사용하여 가중치를 확률 값으로 변환합니다.
출력 생성: 각 밸류 벡터에 해당 어텐션 가중치를 곱한 후, 이를 합산하여 최종 출력을 생성합니다. 이 과정은 시퀀스의 각 요소에 대해 반복됩니다.

자기-어텐션의 장점
병렬 처리 가능: 자기-어텐션은 모든 요소가 동시에 계산될 수 있어 병렬 처리가 가능합니다. 이는 순차적으로 계산해야 하는 RNN(Recurrent Neural Networks)보다 훨씬 효율적입니다.긴 종속성 학습: 자기-어텐션은 시퀀스의 길이에 상관없이 모든 요소 간의 관계를 학습할 수 있어, 긴 종속성(long-range dependencies)을 잘 처리할 수 있습니다.문맥 이해: 입력의 모든 요소를 서로 비교하면서 문맥을 이해할 수 있기 때문에, 특정 요소가 시퀀스의 다른 부분과 어떻게 연결되어 있는지 파악할 수 있습니다.

사용 사례
자기-어텐션은 트랜스포머 모델의 핵심 구성 요소로, 언어 번역, 텍스트 생성, 이미지 처리 등 다양한 작업에 사용됩니다. 특히 BERT, GPT, ViT(Vision Transformer)와 같은 유명한 모델들이 이 메커니즘을 기반으로 하고 있습니다.

 

그러나 컴퓨터 비전 분야에서는 여전히 합성곱 아키텍처(CNN)가 지배적입니다(LeCun et al., 1989; Krizhevsky et al., 2012; He et al., 2016). NLP의 성공에 영감을 받아, 여러 연구에서는 CNN과 유사한 아키텍처에 자기-어텐션(self-attention)을 결합하려고 시도하고 있습니다(Wang et al., 2018; Carion et al., 2020). 일부 연구에서는 합성곱을 완전히 대체하기도 합니다(Ramachandran et al., 2019; Wang et al., 2020a). 이러한 모델들은 이론적으로는 효율적이지만, 특수한 어텐션 패턴을 사용하기 때문에 현대 하드웨어 가속기에서 효과적으로 확장되지 못했습니다. 따라서 대규모 이미지 인식 작업에서는 여전히 고전적인 ResNet과 유사한 아키텍처가 최첨단 기술로 자리잡고 있습니다(Mahajan et al., 2018; Xie et al., 2020; Kolesnikov et al., 2020).

 

NLP에서 트랜스포머(Transformer)의 확장 성공에 영감을 받아, 우리는 최소한의 수정만으로 표준 트랜스포머를 이미지에 직접 적용하는 실험을 진행했습니다. 이를 위해 이미지를 여러 패치로 분할하고, 이 패치들의 선형 임베딩 시퀀스를 트랜스포머에 입력으로 제공했습니다. 이미지 패치는 NLP 응용에서 단어(토큰)와 동일한 방식으로 처리됩니다. 우리는 이 모델을 감독 학습 방식으로 이미지 분류 작업에 훈련시켰습니다.

 

이러한 모델들을 강력한 정규화 없이 ImageNet과 같은 중간 크기의 데이터셋에서 훈련했을 때, 유사한 크기의 ResNet에 비해 몇 퍼센트 포인트 낮은 수준의 다소 겸손한 정확도를 보였습니다. 이 겉보기에는 실망스러운 결과는 어느 정도 예상될 수 있습니다. 트랜스포머는 CNN이 본질적으로 가지고 있는 몇 가지 귀납적 편향(inductive bias), 예를 들어 평행 이동 등변성(translation equivariance)과 지역성(locality) 같은 특성을 가지고 있지 않기 때문에, 충분하지 않은 양의 데이터로 훈련될 때 일반화 성능이 좋지 않습니다.

 

귀납적 편향(Inductive bias)
기계 학습 모델이 학습할 때, 주어진 데이터 이외의 추가적인 가정이나 규칙을 의미합니다. 이러한 편향은 모델이 학습할 때 특정 패턴이나 구조를 더 쉽게 학습하도록 도와주는 역할을 합니다.
귀납적 편향이 없으면 모델은 모든 가능한 패턴을 동일하게 고려해야 하며, 이는 학습을 어렵고 비효율적으로 만듭니다. 예를 들어, **합성곱 신경망(CNN)**의 경우, **지역성(locality)**과 **평행 이동 등변성(translation equivariance)**이라는 귀납적 편향을 가지고 있습니다. CNN은 이미지 처리에서 특정 위치나 작은 지역의 픽셀들 간의 관계를 잘 학습할 수 있도록 설계되어 있습니다. 이는 이미지의 패턴이 어디에 위치하든 동일한 방식으로 처리할 수 있는 특성을 제공합니다. 이러한 특성 덕분에 CNN은 상대적으로 적은 양의 데이터로도 좋은 성능을 낼 수 있습니다.
반면에, 트랜스포머(Transformers) 같은 모델은 이런 이미지 특유의 귀납적 편향을 가지지 않아서 더 많은 데이터를 필요로 하거나, 패턴을 학습하는 데 더 어려움을 겪을 수 있습니다. 그러나 그 대신, 트랜스포머는 전역적인 관계를 학습하는 데 강점을 가지며, 더 큰 데이터셋에서 잘 동작할 수 있습니다.
간단히 말해, 귀납적 편향은 모델이 더 빠르고 효율적으로 학습할 수 있도록 돕는, 모델에 내재된 사전 지식이나 가정입니다.

 

그러나 모델이 더 큰 데이터셋(1,400만~3억 개의 이미지)에서 훈련될 경우 상황은 달라집니다. 우리는 대규모 학습이 귀납적 편향을 능가한다는 것을 발견했습니다. 우리의 Vision Transformer(ViT)는 충분한 규모로 사전 학습된 후, 데이터 포인트가 적은 작업에 전이되었을 때 우수한 결과를 얻습니다. ViT는 공개된 ImageNet-21k 데이터셋이나 사내의 JFT-300M 데이터셋에서 사전 학습된 후, 여러 이미지 인식 벤치마크에서 최첨단 성능에 근접하거나 이를 능가합니다. 특히, 가장 우수한 모델은 ImageNet에서 88.55%, ImageNet-ReaL에서 90.72%, CIFAR-100에서 94.55%, 그리고 19개의 작업으로 구성된 VTAB에서 77.63%의 정확도를 기록했습니다.

 


2. Related Work (관련 연구)

트랜스포머(Transformers)는 Vaswani 등(2017)에 의해 기계 번역을 위해 제안되었으며, 이후 많은 자연어 처리(NLP) 작업에서 최첨단 방법으로 자리잡았습니다. 대형 트랜스포머 기반 모델들은 종종 대규모 코퍼스에서 사전 학습(pre-training)을 수행한 후, 해당 작업에 맞게 미세 조정(fine-tuning)됩니다. 예를 들어, BERT(Devlin 등, 2019)는 자기 지도 학습(self-supervised learning)의 일종인 노이즈 제거 사전 학습 작업(denoising pre-training task)을 사용하며, GPT 계열의 연구는 언어 모델링(language modeling)을 사전 학습 작업으로 사용합니다(Radford 등, 2018; 2019; Brown 등, 2020).

 

이미지에 자기-어텐션(self-attention)을 단순히 적용하려면 각 픽셀이 다른 모든 픽셀에 주목(attend)해야 합니다. 픽셀 수에 따른 비용이 제곱적으로 증가하기 때문에, 이러한 방식은 현실적인 입력 크기에서는 확장되지 않습니다. 따라서 이미지 처리 맥락에서 트랜스포머를 적용하기 위해 과거에는 여러 가지 근사 방법들이 시도되었습니다. Parmar 등(2018)은 각 쿼리 픽셀에 대해 글로벌이 아닌 로컬 영역에서만 자기-어텐션을 적용했습니다. 이러한 로컬 다중-헤드 점곱 자기-어텐션 블록(local multi-head dot-product self-attention blocks)은 합성곱을 완전히 대체할 수 있습니다(Hu 등, 2019; Ramachandran 등, 2019; Zhao 등, 2020). 다른 접근법으로는 Sparse Transformers(Child 등, 2019)가 글로벌 자기-어텐션을 확장 가능한 방식으로 근사하여 이미지를 처리할 수 있도록 했습니다. 주목을 확장하는 또 다른 방법은 다양한 크기의 블록(blocks)으로 어텐션을 적용하는 것인데, 극단적인 경우 개별 축(axis)만을 따라 적용할 수도 있습니다(Ho 등, 2019; Wang 등, 2020a). 이러한 특화된 어텐션 아키텍처 중 다수는 컴퓨터 비전 작업에서 유망한 결과를 보여주지만, 하드웨어 가속기에서 효율적으로 구현하기 위해서는 복잡한 엔지니어링이 필요합니다.

 

우리 연구와 가장 관련이 있는 것은 Cordonnier 등(2020)의 모델로, 이 모델은 입력 이미지에서 2 × 2 크기의 패치를 추출한 후, 그 위에 완전한 자기-어텐션을 적용합니다. 이 모델은 ViT와 매우 유사하지만, 우리 연구는 대규모 사전 학습이 단순한 트랜스포머(vanilla transformers)를 최첨단 CNN과 경쟁할 수 있을 만큼 강력하게 만들 수 있음을 추가로 입증합니다. 또한, Cordonnier 등(2020)은 2 × 2 픽셀의 작은 패치 크기를 사용하여 이 모델이 작은 해상도의 이미지에만 적용될 수 있도록 했지만, 우리는 중간 해상도의 이미지도 처리할 수 있습니다.

 

또한, 합성곱 신경망(CNN)과 자기-어텐션(self-attention)을 결합하려는 시도에도 많은 관심이 있었습니다. 예를 들어, 이미지 분류를 위해 특징 맵(feature maps)을 강화하거나(Bello et al., 2019), 객체 검출을 위해 CNN의 출력을 자기-어텐션을 통해 추가 처리하는 방식이 있습니다(Hu et al., 2018; Carion et al., 2020). 이 밖에도 비디오 처리(Wang et al., 2018; Sun et al., 2019), 이미지 분류(Wu et al., 2020), 비지도 객체 발견(Locatello et al., 2020), 또는 통합 텍스트-비전 작업(Chen et al., 2020c; Lu et al., 2019; Li et al., 2019)에서 이러한 접근이 사용되고 있습니다.

 

또 다른 최근의 관련 모델로는 이미지 GPT(iGPT) (Chen 등, 2020a)가 있습니다. 이 모델은 이미지 해상도와 색상 공간을 축소한 후 트랜스포머를 이미지 픽셀에 적용합니다. 이 모델은 생성 모델로서 비지도 학습 방식으로 훈련되며, 생성된 표현은 이후 분류 성능을 위해 미세 조정되거나 선형 탐색될 수 있습니다. 이 방법으로 ImageNet에서 최대 72%의 정확도를 달성했습니다.

 

우리의 연구는 표준 ImageNet 데이터셋보다 더 큰 규모에서 이미지 인식을 탐구하는 논문들이 점점 늘어나고 있는 가운데 그 대열에 합류합니다. 추가적인 데이터 소스를 사용하면 표준 벤치마크에서 최첨단 결과를 달성할 수 있습니다(Mahajan et al., 2018; Touvron et al., 2019; Xie et al., 2020). 또한, Sun 등(2017)은 데이터셋 크기에 따라 CNN 성능이 어떻게 확장되는지를 연구했으며, Kolesnikov 등(2020)과 Djolonga 등(2020)은 ImageNet-21k 및 JFT-300M과 같은 대규모 데이터셋에서 CNN 전이 학습을 경험적으로 탐구했습니다. 우리는 이 두 데이터셋에 중점을 두고 연구하지만, 이전 연구들에서 사용된 ResNet 기반 모델 대신 트랜스포머를 훈련합니다.

그림 1: 모델 개요
우리는 이미지를 고정 크기의 패치로 분할하고, 각 패치를 선형적으로 임베딩한 후, 위치 임베딩(position embeddings)을 추가하여 생성된 벡터 시퀀스를 표준 트랜스포머 인코더에 입력합니다. 분류를 수행하기 위해, 우리는 시퀀스에 추가 학습 가능한 "분류 토큰(classification token)"을 추가하는 표준 접근 방식을 사용합니다. 트랜스포머 인코더의 일러스트레이션은 Vaswani 등(2017)의 연구에서 영감을 받았습니다.


3. 방법 (Method)

모델 설계에서는 원래의 트랜스포머(Transformer, Vaswani et al., 2017)를 최대한 충실히 따릅니다. 이처럼 의도적으로 단순한 설정의 장점은 확장 가능한 NLP 트랜스포머 아키텍처와 그 효율적인 구현을 거의 수정 없이 사용할 수 있다는 점입니다.

 

3.1 Vision Transformer (ViT)

모델의 개요는 그림 1에 나와 있습니다. 표준 트랜스포머는 1D 시퀀스의 토큰 임베딩을 입력으로 받습니다. 2D 이미지를 처리하기 위해, 우리는 이미지를 2D 패치로 평면화된 시퀀스로 재구성합니다. 여기서 (H,W)(H, W)는 원본 이미지의 해상도, CC는 채널 수, (P,P)(P, P)는 각 이미지 패치의 해상도, 그리고 N=HWP2N = \frac{HW}{P^2}는 생성된 패치의 수로, 트랜스포머의 실질적인 입력 시퀀스 길이로도 사용됩니다. 트랜스포머는 모든 층에서 일정한 잠재 벡터 크기 D를 사용하므로, 우리는 패치를 평면화하고 학습 가능한 선형 투영을 통해 D 차원으로 매핑합니다(식 1). 이 투영의 출력을 패치 임베딩(patch embeddings)이라고 부릅니다

 

 

BERT의 [class][class] 토큰과 유사하게, 우리는 학습 가능한 임베딩을 임베딩된 패치 시퀀스의 앞에 추가합니다 (z00=xclassz_0^0 = x_{class}). 이 임베딩의 상태는 트랜스포머 인코더의 출력 시점에서 이미지 표현 yy로 사용됩니다(식 4). 사전 학습과 미세 조정(fine-tuning) 단계 모두에서, 분류 헤드가 z0Lz_0^L에 연결됩니다. 사전 학습 시에는 분류 헤드가 하나의 은닉층을 가진 MLP(다층 퍼셉트론)로 구현되며, 미세 조정 시에는 단일 선형층으로 구현됩니다.

 

 

위치 정보를 유지하기 위해 패치 임베딩에 위치 임베딩을 추가합니다. 우리는 표준 학습 가능한 1D 위치 임베딩을 사용합니다. 이는 더 고급의 2D 인식 위치 임베딩을 사용해도 성능이 크게 향상되지 않았기 때문입니다(부록 D.4 참조). 이렇게 생성된 임베딩 벡터 시퀀스는 인코더의 입력으로 사용됩니다.

 

트랜스포머 인코더(Vaswani et al., 2017)는 다중 헤드 자기-어텐션(MSA, 부록 A 참조)과 MLP 블록(식 2, 3)으로 구성된 교차 층으로 이루어져 있습니다. 각 블록 이전에는 레이어 정규화(Layernorm, LN)가 적용되며, 각 블록 이후에는 잔차 연결(residual connections)이 적용됩니다(Wang et al., 2019; Baevski & Auli, 2019).

귀납적 편향(Inductive bias): Vision Transformer(ViT)는 CNN에 비해 이미지에 특화된 귀납적 편향이 훨씬 적다는 점을 주목할 필요가 있습니다. CNN에서는 지역성(locality), 2차원 이웃 구조, 그리고 평행 이동 등변성(translation equivariance)이 모델 전체의 각 층에 내재되어 있습니다. 반면, ViT에서는 MLP 층만이 지역적이고 평행 이동에 대해 등변성을 가지며, 자기-어텐션 층은 전역적(global)입니다. 2차원 이웃 구조는 매우 제한적으로 사용됩니다. 모델의 시작 단계에서 이미지를 패치로 분할할 때와 미세 조정 시 다른 해상도의 이미지에 대해 위치 임베딩을 조정할 때만 사용됩니다(아래에 설명된 대로). 그 외에는, 초기화 시 위치 임베딩은 패치의 2차원 위치에 대한 정보를 전혀 포함하지 않으며, 패치 간의 모든 공간적 관계는 처음부터 학습해야 합니다.

 

하이브리드 아키텍처(Hybrid Architecture): 원시 이미지 패치 대신, 입력 시퀀스는 CNN의 특징 맵(feature maps)으로부터 형성될 수 있습니다(LeCun et al., 1989). 이 하이브리드 모델에서는 패치 임베딩 투영 EE (식 1)가 CNN 특징 맵에서 추출된 패치에 적용됩니다. 특별한 경우로, 패치의 공간 크기가 1×11 \times 1일 수 있는데, 이는 입력 시퀀스가 특징 맵의 공간적 차원을 단순히 평탄화하고 트랜스포머 차원으로 투영하여 얻어짐을 의미합니다. 분류 입력 임베딩과 위치 임베딩은 앞서 설명한 대로 추가됩니다.

 

3.2 미세 조정(Fine-Tuning)과 고해상도 처리

일반적으로 우리는 ViT를 대규모 데이터셋에서 사전 학습한 후, (더 작은) 다운스트림 작업에 미세 조정을 수행합니다. 이를 위해, 사전 학습된 예측 헤드를 제거하고, D×KD \times K 크기의 피드포워드 레이어를 추가합니다. 여기서 K는 다운스트림 작업의 클래스 수입니다. 미세 조정을 사전 학습보다 더 높은 해상도에서 수행하는 것이 종종 유익합니다(Touvron et al., 2019; Kolesnikov et al., 2020). 더 높은 해상도의 이미지를 입력할 때, 패치 크기는 동일하게 유지되며, 이로 인해 더 긴 유효 시퀀스 길이가 생깁니다. Vision Transformer는 임의의 시퀀스 길이를 처리할 수 있습니다(메모리 제한 내에서). 그러나 사전 학습된 위치 임베딩이 더 이상 의미를 가지지 않을 수 있습니다. 따라서 우리는 사전 학습된 위치 임베딩을 원본 이미지에서의 위치에 따라 2D 보간을 수행합니다. 이 해상도 조정 및 패치 추출은 이미지의 2D 구조에 대한 귀납적 편향이 Vision Transformer에 수동으로 주입되는 유일한 지점입니다.


4. 실험 (EXPERIMENTS)

우리는 ResNet, Vision Transformer (ViT), 그리고 하이브리드 모델의 표현 학습 능력을 평가합니다. 각 모델의 데이터 요구 사항을 이해하기 위해, 우리는 다양한 크기의 데이터셋에서 사전 학습을 수행하고 여러 벤치마크 작업을 평가합니다. 모델 사전 학습의 계산 비용을 고려했을 때, ViT는 매우 유리하게 작용하며, 대부분의 인식 벤치마크에서 더 낮은 사전 학습 비용으로 최첨단 성능을 달성합니다. 마지막으로, 우리는 자기 지도 학습을 사용한 작은 실험을 수행하여, 자기 지도 학습된 ViT가 미래에 유망한 가능성을 가지고 있음을 보여줍니다.

 

4.1 설정 (Setup)

데이터셋(Datasets): 모델의 확장 가능성을 탐구하기 위해, 우리는 1,000개의 클래스와 130만 개의 이미지로 구성된 ILSVRC-2012 ImageNet 데이터셋(이하 ImageNet으로 지칭)을 사용하며, 2만 1,000개의 클래스와 1,400만 개의 이미지로 구성된 상위 집합인 ImageNet-21k(Deng et al., 2009), 그리고 1만 8,000개의 클래스와 3억 300만 개의 고해상도 이미지로 구성된 JFT(Sun et al., 2017)를 사용합니다. 우리는 Kolesnikov et al.(2020)을 따라 다운스트림 작업의 테스트 세트에 대해 사전 학습 데이터셋을 중복 제거(de-duplicate)합니다. 이러한 데이터셋에서 학습된 모델을 여러 벤치마크 작업에 전이합니다: 원래의 검증 라벨과 정리된 ReaL 라벨(Beyer et al., 2020)을 사용하는 ImageNet, 그리고 CIFAR-10/100(Krizhevsky, 2009), Oxford-IIIT Pets(Parkhi et al., 2012), Oxford Flowers-102(Nilsback & Zisserman, 2008) 등이 있습니다. 이러한 데이터셋에 대한 전처리는 Kolesnikov et al.(2020)을 따릅니다.

 

 

우리는 또한 19개의 작업으로 구성된 VTAB 분류 세트(Zhai et al., 2019b)에서도 평가를 수행합니다. VTAB는 각 작업당 1,000개의 학습 예제를 사용하여 다양한 작업으로의 적은 데이터 전이를 평가합니다. 이 작업들은 세 가지 그룹으로 나뉩니다: Natural – 앞서 언급한 Pets, CIFAR 등과 같은 작업, Specialized – 의료 및 위성 이미지와 관련된 작업, 그리고 Structured – 위치 지정과 같은 기하학적 이해를 필요로 하는 작업들입니다.

 

모델 변형 (Model Variants): ViT 구성은 BERT(Devlin et al., 2019)에서 사용된 구성을 기반으로 하며, 이를 표 1에 요약했습니다. "Base"와 "Large" 모델은 BERT에서 직접 채택되었으며, 우리는 더 큰 "Huge" 모델을 추가했습니다. 이후에는 간단한 표기법을 사용하여 모델 크기와 입력 패치 크기를 나타냅니다. 예를 들어, ViT-L/16은 "Large" 변형 모델에 16×16 입력 패치 크기를 사용하는 것을 의미합니다. 트랜스포머의 시퀀스 길이는 패치 크기의 제곱에 반비례하므로, 패치 크기가 작을수록 모델의 계산 비용이 더 많이 듭니다.

 

기준 CNNs로는 ResNet(He et al., 2016)을 사용하지만, 배치 정규화(Batch Normalization) 층(Ioffe & Szegedy, 2015)을 그룹 정규화(Group Normalization) (Wu & He, 2018)로 대체하고, 표준화된 합성곱(Standardized Convolutions) (Qiao et al., 2019)을 사용했습니다. 이러한 수정은 전이 학습 성능을 향상시키며(Kolesnikov et al., 2020), 수정된 모델을 "ResNet (BiT)"라고 명명합니다. 하이브리드 모델의 경우, 중간 특징 맵을 ViT에 입력으로 주고, 패치 크기는 "1 픽셀"로 설정합니다. 다양한 시퀀스 길이를 실험하기 위해, (i) 일반 ResNet50의 4단계 출력(Stage 4)을 사용하거나, (ii) 4단계를 제거하고 동일한 수의 층을 3단계(Stage 3)에 배치하여(총 층 수는 유지), 확장된 3단계의 출력을 사용합니다. 옵션 (ii)은 시퀀스 길이가 4배 더 길어지며, 더 많은 계산 비용이 드는 ViT 모델을 만듭니다.

 

훈련 및 미세 조정(Training & Fine-tuning): 우리는 ResNet을 포함한 모든 모델을 Adam(Kingma & Ba, 2015) 옵티마이저를 사용하여 훈련합니다. 여기서 β1=0.9\beta_1 = 0.9, β2=0.999\beta_2 = 0.999이며, 배치 크기는 4096으로 설정하고, 가중치 감소(weight decay)를 0.1로 높게 적용했습니다. 이는 모든 모델의 전이 학습에 유용하다는 것을 발견했습니다(부록 D.1에서 일반적인 관행과는 달리, 우리의 설정에서는 Adam이 ResNet의 경우 SGD보다 약간 더 잘 작동함을 보여줍니다). 우리는 선형 학습률 워밍업 및 감소(linear learning rate warmup and decay)를 사용했으며, 자세한 내용은 부록 B.1을 참조하십시오. 미세 조정(fine-tuning) 시에는 모든 모델에 대해 모멘텀(momentum)이 적용된 SGD와 배치 크기 512를 사용했으며, 이는 부록 B.1.1에 자세히 설명되어 있습니다. 표 2의 ImageNet 결과에서는 더 높은 해상도에서 미세 조정을 수행했습니다: ViT-L/16은 512, ViT-H/14는 518 해상도로 미세 조정했으며, 또한 Polyak & Juditsky (1992) 평균화 방법을 0.9999의 팩터로 사용했습니다(Ramachandran et al., 2019; Wang et al., 2020b).

 

평가지표(Metrics): 우리는 다운스트림 데이터셋에 대한 결과를 소수 샷(few-shot) 또는 미세 조정(fine-tuning) 정확도를 통해 보고합니다. 미세 조정 정확도는 각 모델을 해당 데이터셋에서 미세 조정한 후의 성능을 나타냅니다. 소수 샷 정확도는 훈련 이미지 하위 집합의 (고정된) 표현을 −1,1K{-1, 1}^K 타겟 벡터로 매핑하는 정규화된 최소 제곱 회귀 문제를 풀어 얻습니다. 이 방식은 닫힌 형식으로 정확한 해를 도출할 수 있게 해줍니다. 우리는 주로 미세 조정 성능에 중점을 두지만, 미세 조정이 너무 비용이 많이 드는 경우 빠른 실시간 평가를 위해 선형 소수 샷 정확도를 사용할 때도 있습니다.

 

4.2 최첨단 기술과의 비교 (Comparison to State of the Art)

우리는 먼저 가장 큰 모델들인 ViT-H/14와 ViT-L/16을 문헌에서 보고된 최첨단 CNN과 비교합니다. 첫 번째 비교 대상은 Big Transfer (BiT)(Kolesnikov et al., 2020)로, 이는 대형 ResNet을 사용한 지도 전이 학습을 수행합니다. 두 번째 비교 대상은 Noisy Student(Xie et al., 2020)로, 이는 ImageNet과 JFT-300M에서 레이블을 제거한 상태로 반지도 학습을 사용해 훈련된 대형 EfficientNet입니다. 현재 Noisy Student는 ImageNet에서, 그리고 BiT-L은 여기 보고된 다른 데이터셋에서 최첨단 성능을 보이고 있습니다. 모든 모델은 TPUv3 하드웨어에서 훈련되었으며, 우리는 각 모델의 사전 학습에 소요된 TPUv3 코어-일(TPUv3-core-days)의 수를 보고합니다. 이는 훈련에 사용된 TPUv3 코어(칩당 2개) 수에 훈련 시간(일 단위)을 곱한 값입니다.

 

표 2에 결과가 나와 있습니다. JFT-300M에서 사전 학습된 더 작은 ViT-L/16 모델은 동일한 데이터셋에서 사전 학습된 BiT-L을 모든 작업에서 능가하면서도, 훈련에 필요한 계산 자원은 상당히 적습니다. 더 큰 모델인 ViT-H/14는 성능을 더욱 향상시켰으며, 특히 더 도전적인 데이터셋인 ImageNet, CIFAR-100, 그리고 VTAB 세트에서 성능이 더욱 개선되었습니다. 

 

 

흥미롭게도, 이 모델은 이전 최첨단 모델들보다 사전 학습에 필요한 계산량이 상당히 적었습니다. 그러나 사전 학습 효율성은 아키텍처 선택뿐만 아니라 학습 스케줄, 옵티마이저, 가중치 감소(weight decay) 등 다른 매개변수들에 의해서도 영향을 받을 수 있다는 점을 주목해야 합니다. 다양한 아키텍처에 대한 성능과 계산량의 관계에 대한 통제된 연구는 4.4절에서 다룹니다. 마지막으로, 공개된 ImageNet-21k 데이터셋에서 사전 학습된 ViT-L/16 모델은 사전 학습에 더 적은 자원을 필요로 하면서도 대부분의 데이터셋에서 우수한 성능을 보였습니다. 이 모델은 표준 클라우드 TPUv3(8개의 코어)로 약 30일 동안 훈련할 수 있었습니다.

 

그림 2는 VTAB 작업들을 각 그룹으로 분류하고, 이 벤치마크에서 이전의 최첨단(SOTA) 방법들과 비교한 결과를 보여줍니다: BiT, VIVI – ImageNet과 Youtube에서 함께 학습된 ResNet(Tschannen et al., 2020), 그리고 S4L – ImageNet에서 지도 학습과 반지도 학습을 결합한 방법(Zhai et al., 2019a). ViT-H/14는 Natural 및 Structured 작업에서 BiT-R152x4와 다른 방법들을 능가했습니다. Specialized 작업에서는 상위 두 모델의 성능이 유사합니다.

 

4.3 사전 학습 데이터 요구 사항 (Pre-training Data Requirements)

Vision Transformer는 대규모 JFT-300M 데이터셋에서 사전 학습되었을 때 우수한 성능을 보입니다. ViT는 ResNet보다 시각적 귀납적 편향이 적기 때문에, 데이터셋의 크기가 얼마나 중요한 역할을 할까요? 이를 알아보기 위해 두 가지 실험 시리즈를 수행합니다.

 

먼저, 우리는 ViT 모델을 점점 더 큰 데이터셋에서 사전 학습했습니다: ImageNet, ImageNet-21k, 그리고 JFT-300M. 작은 데이터셋에서 성능을 향상시키기 위해, 우리는 세 가지 기본적인 정규화 매개변수(가중치 감소, 드롭아웃, 라벨 스무딩)를 최적화했습니다. 그림 3은 ImageNet으로 미세 조정한 후의 결과를 보여줍니다(다른 데이터셋에 대한 결과는 표 5에 나와 있습니다)2. 가장 작은 데이터셋인 ImageNet에서 사전 학습된 경우, ViT-Large 모델은 (적당한) 정규화에도 불구하고 ViT-Base 모델보다 성능이 떨어집니다. ImageNet-21k에서 사전 학습한 경우, 두 모델의 성능은 유사합니다. JFT-300M에서 사전 학습했을 때에야 비로소 더 큰 모델의 이점이 완전히 나타나는 것을 볼 수 있습니다.

 

그림 3은 또한 다양한 크기의 BiT 모델들이 달성한 성능 영역을 보여줍니다. BiT CNN들은 ImageNet에서 ViT보다 우수한 성능을 보이지만, 더 큰 데이터셋에서 ViT가 성능을 능가합니다.

 

 

둘째, 우리는 모델을 9M, 30M, 90M의 랜덤 하위 집합과 전체 JFT-300M 데이터셋에서 훈련합니다. 작은 하위 집합에서는 추가적인 정규화를 수행하지 않고, 모든 설정에서 동일한 하이퍼파라미터를 사용합니다. 이렇게 함으로써, 우리는 정규화의 효과가 아닌 모델의 고유한 특성을 평가합니다. 다만, 우리는 조기 종료(early-stopping)를 사용하며, 훈련 중 달성된 최고의 검증 정확도를 보고합니다. 계산 비용을 절약하기 위해, 전체 미세 조정 정확도 대신 소수 샷 선형 정확도를 보고합니다. 그림 4에 결과가 나와 있습니다. Vision Transformers는 더 작은 데이터셋에서 유사한 계산 비용을 가진 ResNet보다 과적합(overfit)하는 경향이 있습니다. 예를 들어, ViT-B/32는 ResNet50보다 약간 더 빠르지만, 9M 하위 집합에서는 성능이 훨씬 떨어지며, 90M 이상의 하위 집합에서는 더 나은 성능을 보입니다. ResNet152x2와 ViT-L/16도 동일한 패턴을 보입니다. 이 결과는 합성곱 귀납적 편향이 더 작은 데이터셋에서는 유용하지만, 더 큰 데이터셋에서는 관련 패턴을 데이터에서 직접 학습하는 것이 충분히 효과적이고, 오히려 이점이 될 수 있다는 직관을 강화해줍니다.

 

전반적으로, ImageNet에서의 소수 샷 결과(그림 4)와 VTAB에서의 적은 데이터 결과(표 2)는 매우 적은 데이터로 전이 학습을 수행하는 데 있어 유망해 보입니다. ViT의 소수 샷 특성에 대한 추가 분석은 향후 연구에서 흥미로운 방향이 될 것입니다.

 

 

4.4 확장 연구 (Scaling Study)

우리는 JFT-300M에서 전이 성능을 평가하여 다양한 모델에 대한 통제된 확장 연구를 수행합니다. 이 설정에서는 데이터 크기가 모델 성능의 병목이 되지 않으며, 각 모델의 사전 학습 비용 대비 성능을 평가합니다. 모델 세트에는 다음이 포함됩니다: 7개의 ResNet, R50x1, R50x2, R101x1, R152x1, R152x2 (이들은 7 에포크 동안 사전 학습됨), 그리고 14 에포크 동안 사전 학습된 R152x2와 R200x3; 6개의 Vision Transformer, ViT-B/32, B/16, L/32, L/16 (이들은 7 에포크 동안 사전 학습됨), 그리고 14 에포크 동안 사전 학습된 L/16과 H/14; 5개의 하이브리드 모델, R50+ViT-B/32, B/16, L/32, L/16 (이들은 7 에포크 동안 사전 학습됨), 그리고 14 에포크 동안 사전 학습된 R50+ViT-L/16 (하이브리드 모델의 경우, 모델 이름 끝의 숫자는 패치 크기를 나타내는 것이 아니라 ResNet 백본에서의 전체 다운샘플링 비율을 나타냅니다).

 

 

그림 5는 전이 성능 대 전체 사전 학습 계산 비용을 보여줍니다(계산 비용에 대한 자세한 내용은 부록 D.5 참조). 각 모델별 자세한 결과는 부록 표 6에 제공됩니다. 몇 가지 패턴을 관찰할 수 있습니다. 첫째, Vision Transformer는 성능/계산 비용 측면에서 ResNet을 압도합니다. ViT는 동일한 성능을 달성하기 위해 약 2-4배 적은 계산 비용을 사용합니다(5개 데이터셋 평균). 둘째, 하이브리드 모델은 작은 계산 예산에서는 ViT보다 약간 더 나은 성능을 보이지만, 더 큰 모델에서는 그 차이가 사라집니다. 이 결과는 다소 놀라운 결과로, 모든 크기에서 합성곱 기반의 로컬 특징 처리가 ViT에 도움을 줄 것으로 예상할 수 있기 때문입니다. 셋째, Vision Transformer는 실험 범위 내에서 성능이 포화되지 않는 것으로 보이며, 이는 향후 확장 연구의 동기를 부여합니다.

 

4.5 Vision Transformer 분석하기 (Inspecting Vision Transformer)

Vision Transformer가 이미지 데이터를 어떻게 처리하는지 이해하기 시작하기 위해, 우리는 모델의 내부 표현을 분석합니다. Vision Transformer의 첫 번째 층은 평탄화된 패치를 더 낮은 차원의 공간으로 선형 투영합니다(식 1). 그림 7(왼쪽)은 학습된 임베딩 필터의 주요 성분을 보여줍니다. 이 성분들은 각 패치 내의 세부 구조에 대한 저차원 표현을 위한 그럴듯한 기저 함수로 보입니다.

 

 

투영(projection) 후, 학습된 위치 임베딩이 패치 표현에 추가됩니다. 그림 7(중앙)은 모델이 위치 임베딩의 유사성을 통해 이미지 내 거리를 인코딩하도록 학습함을 보여줍니다. 즉, 더 가까운 패치들은 더 유사한 위치 임베딩을 가지는 경향이 있습니다. 또한, 행-열 구조가 나타나며, 같은 행/열에 있는 패치들이 유사한 임베딩을 가집니다. 마지막으로, 더 큰 그리드에서는 때때로 사인 곡선 구조가 나타납니다(부록 D 참조). 위치 임베딩이 2D 이미지의 위상을 표현하도록 학습된다는 점은 2D 인식 임베딩 변형을 수작업으로 만들었을 때 성능이 향상되지 않는 이유를 설명해줍니다(부록 D.4 참조)

 

 

자기-어텐션(self-attention)은 ViT가 가장 낮은 층에서도 이미지 전체에 걸쳐 정보를 통합할 수 있게 해줍니다. 우리는 네트워크가 이 능력을 어느 정도로 활용하는지 조사했습니다. 구체적으로, 어텐션 가중치에 기반해 정보가 통합되는 이미지 공간 내의 평균 거리를 계산했습니다(그림 7, 오른쪽). 이 "어텐션 거리"는 CNN에서의 수용 영역 크기와 유사합니다. 우리는 일부 헤드가 이미 가장 낮은 층에서 이미지 대부분에 주목(attend)하고 있음을 발견했으며, 이는 정보 통합의 전역적(global) 능력이 실제로 모델에 의해 사용되고 있음을 보여줍니다. 다른 어텐션 헤드는 낮은 층에서 일관되게 작은 어텐션 거리를 가지며, 이는 트랜스포머 이전에 ResNet을 적용하는 하이브리드 모델에서 덜 두드러지게 나타납니다(그림 7, 오른쪽). 이는 이러한 로컬화된 어텐션이 CNN에서의 초기 합성곱 층과 유사한 기능을 할 수 있음을 시사합니다. 또한, 네트워크 깊이에 따라 어텐션 거리가 증가합니다. 전반적으로, 모델이 분류에 의미 있는 이미지 영역에 주목한다는 것을 발견했습니다(그림 6).

 

4.6 자기 지도 학습 (Self-Supervision)

트랜스포머는 NLP 작업에서 인상적인 성능을 보여줍니다. 그러나 이러한 성공은 뛰어난 확장성뿐만 아니라 대규모 자기 지도 사전 학습에서도 기인합니다(Devlin et al., 2019; Radford et al., 2018). 우리는 또한 BERT에서 사용된 마스크드 언어 모델링 작업을 모방하여 자기 지도 학습을 위한 마스크드 패치 예측(masked patch prediction)을 예비적으로 탐구했습니다. 자기 지도 사전 학습을 통해, 더 작은 ViT-B/16 모델은 ImageNet에서 79.9%의 정확도를 달성했으며, 이는 처음부터 학습했을 때보다 2%의 유의미한 향상을 보여주지만, 여전히 지도 학습 사전 학습보다 4% 뒤쳐져 있습니다. 추가적인 세부 사항은 부록 B.1.2에 포함되어 있습니다. 우리는 대조적 사전 학습(contrastive pre-training)에 대한 탐구(Chen et al., 2020b; He et al., 2020; Bachman et al., 2019; Henaff et al., 2020)를 향후 연구로 남겨둡니다. 

 

 

왼쪽: ViT-L/32의 RGB 값 초기 선형 임베딩 필터.
중앙: ViT-L/32의 위치 임베딩 유사도. 타일은 해당 행과 열의 패치 위치 임베딩과 다른 모든 패치의 위치 임베딩 간의 코사인 유사도를 보여줍니다.
오른쪽: 헤드 및 네트워크 깊이에 따른 주목 영역의 크기. 각 점은 한 층에 있는 16개 헤드 중 하나에 대한 이미지별 평균 어텐션 거리를 나타냅니다. 자세한 내용은 부록 D.7을 참조하십시오.

D.7
ViT가 자기-어텐션을 사용하여 이미지 전체에서 정보를 어떻게 통합하는지 이해하기 위해, 우리는 다양한 층에서 어텐션 가중치가 걸친 평균 거리를 분석했습니다(그림 11). 이 "어텐션 거리"는 CNN에서의 수용 영역 크기와 유사합니다. 평균 어텐션 거리는 낮은 층의 헤드들 간에 크게 달라지며, 일부 헤드는 이미지 대부분에 주목하는 반면, 다른 헤드는 쿼리 위치나 그 근처의 작은 영역에 주목합니다. 깊이가 증가함에 따라 모든 헤드의 어텐션 거리가 증가합니다. 네트워크의 후반부에서는 대부분의 헤드가 토큰 전반에 걸쳐 널리 주목합니다.

 


5 결론 (Conclusion)

우리는 트랜스포머(Transformers)를 이미지 인식에 직접 적용하는 방법을 탐구했습니다. 컴퓨터 비전에서 자기-어텐션을 사용하는 이전 연구들과 달리, 우리는 초기 패치 추출 단계를 제외하고는 아키텍처에 이미지 특유의 귀납적 편향을 도입하지 않았습니다. 대신, 이미지를 패치 시퀀스로 해석하고 이를 NLP에서 사용되는 표준 트랜스포머 인코더로 처리했습니다. 이 단순하지만 확장 가능한 전략은 대규모 데이터셋에서 사전 학습과 결합되었을 때 놀랍도록 잘 작동합니다. 따라서 Vision Transformer는 많은 이미지 분류 데이터셋에서 최첨단 성능을 달성하거나 이를 능가하며, 사전 학습 비용도 상대적으로 저렴합니다.

 

이 초기 결과들은 고무적이지만, 여전히 많은 과제가 남아 있습니다. 하나는 ViT를 탐지(detection)와 분할(segmentation)과 같은 다른 컴퓨터 비전 작업에 적용하는 것입니다. 우리의 결과는 Carion et al. (2020)의 연구와 함께 이 접근법의 가능성을 보여줍니다. 또 다른 과제는 자기 지도 사전 학습 방법을 계속 탐구하는 것입니다. 초기 실험에서 자기 지도 사전 학습을 통해 성능이 향상되는 것을 확인했지만, 여전히 자기 지도 학습과 대규모 지도 학습 사전 학습 사이에는 큰 차이가 존재합니다. 마지막으로, ViT의 추가적인 확장은 성능 향상으로 이어질 가능성이 큽니다.