CV-005, NL-116, An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ICLR-2021)

■ Comment

  • 이 논문은 사실 Transformer 구조를 그대로 CV에서 적용한게 끝이다.
    • 사실 selfie와 모델 느낌은 거의 똑같다.
    • 차이는 selfie는 label 없이 완전 self-supervised한 것이고, 이 논문은 class가 있는 데이터를 가지고 pretraining한 것이다.
    • pretraining데이터로는 public ImageNet-21k 데이터세트 혹은 in-house JFT-300M을 사용한다고 한다.
  • NLP와 달리, 이미지는 2차원이니까, position embedding이 조금 달라질 수 있다.
    • 즉 2차원 position embedding이 가능한데, 이렇게 해보면 성능이 별로 향상안된다고 한다.
    • 즉 1차원 position embedding을 그냥 사용한다.
  • 근데 그렇다면 어떻게 이미지를 1차원 입력으로 넣을까?
    • 이 부분은 가장 쉬운 방법은 이미지를 패치로 쪼갠다.
      • 쪼갠 패치를 그냥 일렬로 쭉 넣는 것이다.
    • 두 번째 방법은 미리 CNN feature을 뽑고, 이를 Transformer 차원에 맞춰서 projection하고 flattening하여 넣는 것이다.
      • 이 방법을 여기선 하이브리드라고 하는데, 작은 모델에선 성능 차이가 발생하지만 모델이 커지면 큰 차이가 없다고 한다.
  • 나머지는 NLP와 크게 다른 부분은 없고, self-attention으로 비주얼라이징해보면, 나름 attention이 잘 이뤄지는 것 같다.
  • 약점으로는 이것은 이미지 분류에 쓰이는 pre-training이고 image detection, segmentation쪽으로는 활용하기 어렵다는 것이다.
    • 언어로치면, BERT을 generation에 활용하기 어려운 느낌이다.
    • 따라서 NLP에서는 GPT가 있고, 이미지쪽에서도 저쪽에 맞는 pretraining 모델이 따로 개발될 것으로 생각된다.

0 ABSTRACT 

  • Transformer 구조는 NLP 테스크에서 사실상 표준이 되었지만, computer vision에 대한 적용은 아직 한계가 남아있다.
  • 비전에서, attention은 그들의 전체적인 구조를 유지하면서 CNN와 함께 적용되거나 CNN의 특정 components을 대체하는데 사용된다.
  • 우리는 CNN에 대한 이러한 의존이 필수적이지 않고 이미지 patches의 시퀀스들에 직접적으로 적용된 pure transformer가 image classification tasks에서 잘 수행할 수 있음을 보여준다.
  • 많은 데이터로부터 pre-trained되고 다양한 mid-sized or small image recognition 벤치마크들에 (ImageNet, CIFAR-100, VTAB, etc.) 대해 transferred될 때, Vision Transformer (ViT)는 학습에 적은 계산 리소스만을 요구하면서 SoTA CNN과 비교하여 좋은 결과를 얻는다.

1 INTRODUCTION 

  • self-attention 기반의 구조들은, 특히 Transformers은 NLP에서 모덷ㄹ의 선택이 되었다.
  • 많은 텍스트 코퍼스에 대해 pre-train하고 작은 task-specific dataset에 fine-tune하는 것이 지배적인 접근법이다.
  • Transformers의 계산 효율성 및 확장성 덕분에, 100B 파라미터들을 넘는 전례없는 사이즈에 대한 모델들을 학습할 수 있게 되었다.
  • 모델들과 데이터세트들이 커짐에 따라, 성능이 포화가 여전히 되지 않고 있다.
  • 컴퓨터비전에서, 그러나, CNN 구조들은 여전히 남아있다.
  • NLP 성공에 영감받아, 다양한 연구들은 CNN과 같은 구조들과 self-attention을 결합하고 몇 개는 convolutions을 완전히 대체했다.
    • 후자의 모델들은, 이론적으로는 효율적이라도 specialized attention patterns의 사용때문에 최신 하드웨어 가속기에서 아직 효과적으로 확장되지 않았다.
  • 그래서, large-scale 이미지 인식에서, 전통적인 ResNet과 같은 구조들은 여전히 SoTA이다.
  • NAP에서 Transformer 확장의 성공에서 영감받아 최소한의 가능한 수정으로 우리는 전통적인 Transformer을 직접적으로 이미지에 적용하는 실험을 한다.
  • 이를 위해, 우리는 이미지를 patches로 나누고 이러한 pathces의 linear embeddings 시퀀스들을 Transformer의 입력으로 제공한다.
  • 이미지 패치들은 NLP 어플리케이션의 토큰들과 같은 방법으로 다뤄진다.
  • 우리는 모델을 supervised fashion에서 image classification에 대한 모델을 학습한다.
  • ImageNet과 같은 mid-sized 데이터세트들을 강한 regularization없이 학습할 때, 이러한 모델들은 비슷한 크기의 Resnets보다 몇 퍼센트 낮은 정확도를 제공한다.
  • 이것은 걷보기에 실망스러운 결과를 예상할 수 있다.
    • Transformers은 CNNs translation equivariacne와 locality와 같은 고유의 inductive biases가 부족하다.
    • 그래서 충분하지 않은 데이터에 대해 학습할 때, 잘 일반화되지 않는다.
    • 그러나, 모델들이 많은 데이터세트들에 (14M-300M images) 대해 학습하면 달라진다.
  • 우리는 대규모 훈련이 inductive bias을 능가하는 것을 알아낸다.
  • 우리의 Vision Transformer (ViT)는 충분한 스케일에 대해 pre-trained되고 적은 데이터포인트들을 가지는 task에 trasnferred될 때 좋은 결과를 가진다.
  • public ImageNet-21k 데이터세트 혹은 in-house JFT-300M 데이터세트에 대해 pre-trained될 때, ViT는 여러 image recognition 벤치마크들에대해 SoTA들 달성한다.
  • 특별히, 가장 좋은 모델들은 ImageNet에서 88.55%, ImageNet-Real에서 90.72%, CIFAR-100에서 94.55%, 19개 tasks에 적합한 VTAB에서 77.63% 성능을 달성한다.

2 RELATED WORK

  • 변압기는 Vaswani et al. (2017)은 기계 번역을위한 것이며 이후 많은 NLP 작업에서 최첨단 방법이되었습니다.
  • 대형 Transformer 기반 모델은 종종 대형 말뭉치에 대해 사전 훈련 된 후 당면한 작업에 맞게 미세 조정됩니다.
  • BERT (Devlin et al., 2019)는 잡음 제거 자체 감독 사전 훈련 작업을 사용하는 반면 GPT 작업 라인은 사전 훈련 작업으로 언어 모델링을 사용합니다 (Radford et al., 2018; 2019; Brown et al., 2020).
  • 자기주의를 이미지에 순진하게 적용하려면 각 픽셀이 다른 모든 픽셀에주의를 기울여야합니다.
  • 픽셀 수의 2 차 비용을 사용하면 실제 입력 크기로 확장되지 않습니다.
  • 따라서 이미지 처리의 맥락에서 Transformers를 적용하기 위해 과거에 몇 가지 근사치가 시도되었습니다.
  • Parmar et al. (2018)은 전 세계적으로가 아닌 각 쿼리 픽셀에 대해 지역 이웃에만 자기주의를 적용했습니다.
  • 이러한 로컬 다중 머리 내적 자기주의 블록은 회선을 완전히 대체 할 수 있습니다 (Hu et al., 2019; Ramachandran et al., 2019; Zhao et al., 2020).
  • 다른 작업 라인에서 Sparse Transformers (Child et al., 2019)는 이미지에 적용하기 위해 확장 가능한 근사치를 글로벌 자기주의에 사용합니다.
  • 주의를 스케일링하는 또 다른 방법은 다양한 크기의 블록에 적용하는 것입니다 (Weissenborn et al., 2019), 극단적 인 경우에는 개별 축을 ​​따라서 만 적용합니다 (Ho et al., 2019; Wang et al., 2020a).
  • 이러한 전문 어텐션 아키텍처 중 상당수는 컴퓨터 비전 작업에서 유망한 결과를 보여 주지만 복잡한 엔지니어링을 하드웨어 가속기에 효율적으로 구현해야합니다.
  • 우리와 가장 관련이있는 것은 Cordonnier et al. (2020), 입력 이미지에서 크기 2 × 2의 패치를 추출하고 그 위에 완전한 자기주의를 적용합니다.
  • 이 모델은 ViT와 매우 유사하지만 대규모 사전 훈련이 바닐라 트랜스포머가 최첨단 CNN과 경쟁 (또는 그보다 더 우수)하게 만든다는 것을 입증하기 위해 더 나아가고 있습니다.
  • 또한 Cordonnier et al. (2020) 2 × 2 픽셀의 작은 패치 크기를 사용하여 모델을 작은 해상도 이미지에만 적용 할 수 있으며 중간 해상도 이미지도 처리합니다.
  • 컨볼 루션 신경망 (CNN)과 자기주의 형태를 결합하는데도 많은 관심이있었습니다. 
    • 이미지 분류 (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 et al., 2020a)로, 이미지 해상도와 색 공간을 줄인 후 이미지 픽셀에 트랜스포머를 적용합니다.
  • 모델은 생성 모델로 감독되지 않은 방식으로 학습되며, 결과 표현은 분류 성능을 위해 미세 조정되거나 선형으로 조사되어 ImageNet에서 72 %의 최대 정확도를 달성 할 수 있습니다.
  • 우리의 연구는 표준 ImageNet 데이터 세트보다 더 큰 규모로 이미지 인식을 탐구하는 논문 모음을 증가시키고 있습니다.
  • 추가 데이터 소스를 사용하면 표준 벤치 마크에서 최신 결과를 얻을 수 있습니다 (Mahajan et al., 2018; Touvron et al., 2019; Xie et al., 2020).
  • 또한 Sun et al. (2017) CNN 성능이 데이터 세트 크기에 따라 어떻게 확장되는지 연구하고 Kolesnikov et al. (2020); Djolonga et al. (2020) ImageNet-21k 및 JFT-300M과 같은 대규모 데이터 세트에서 CNN 전이 학습에 대한 경험적 탐색을 수행합니다.
  • 후자의 두 데이터 세트에도 초점을 맞추지 만 이전 작업에 사용 된 ResNet 기반 모델 대신 Transformers를 학습시킵니다.

3 METHOD

  • 이 모델 디자인에서, 우리는 가능한한 기존의 Transformer을 따른다.
  • 이러한 의도적인 장점은 간단한 setup으로 확장가능한 NLP transformer 구조이기 때문이고 그들의 효율적인 실행은 대부분에서 사용될 수 있다.

3.1 VISION TRANSFORMER (VIT)

  • An overview of the model is depicted in Figure 1. 
  • 기본 Transformer은 토큰 임베딩의 1D 시퀀스들을 입력받는다.
  • 2D 이미지들을 다루기 위해, 우리는 image x ∈ R^{H×W×C}을 flattened 2D patches 으로 reshape한다.
    • 여기서 (H, W)은 기존 이미지의 resolution이다. (가로, 세로)
    • C는 channels의 숫자이다.
    • (P, P)는 각 이미지 패치의 resolution이다.
    • 결과적으로 는 pathces의 숫자이다.
    • 이는 효과적으로 Transformer의 입력 시퀀스 길이의 역할을 한다.
  • Transformer은 그것의 모든 layers을 통하여 constant latent vector size D을 사용하고 그래서 우리는 flatten pathces을 학습가능한 linear projection을 통하여 D로 매핑한다. (식 1참고)
    • 우리는 patch embeddings을 이 porjection의 출력을 말한다.
  • BERT의 [class] 토큰과 비슷하게, 우리는 학습가능한 임베딩을 embedded patches ()의 시퀀스에 붙인다.
    • 이것의 Transformer 인코더의 출력은 으로 image representations 역할을 한다.
    • pre-training과 fine-tuning 동안, classification head는 에 붙여진다.
    • classification head는 하나의 hidden layer을 가지는 MLP로 실행되고 fine-tuning에는 single linear layer에 의해 수행된다.
  • Position embeddings은 positional 정보를 유지하기 위해 patch embeddingds에 더해진다.
    • 우리는 일반적인 학습가능한 1D positional embeddings을 사용한다. 왜냐하면 우리는 아직 더 발전된 2D-aware position embeddings을 사용했을 때로부터 크게 성능향상을 관측하지 못했기 때문이다. (Appendix D.4)
    • 이 부분은 살짝 의아하긴 한듯. 직관적으로는 2D 포지션이 좋을거 같은데..
  • 결과적으로 embedding vecotrs의 시퀀스는 인코더에 입력으로 역할을 한다.
  • Transformer encoder은 multi-headed self-attention과 MLP 블락들의 교차적인 layers로 구성된다.
  • 매 블락이전에 Layernorm (LN)은 적용되고 residual connections은 매 block 이후에 연결된다.
  • MLP은 비선형인 GELU을 가지는 2개의 layers로 구성된다.
  • Inductive bias. 
    • Vision Transformer은 CNNs에 비해 image-specific inductive bias을 적게 가진다.
    • CNNs에서는 locality, two-dimensional neighborhood 구조와 translation equivariance들이 모델 전체를 통하여 각 layer에서 수행된다.
    • ViT에서 유일하게 MLP layers은 local하고 translaiontally 동일하고 반면에 self-attention은 global하다.
    • 2차원의 neighborhood structure는 매우 드물게 사용된다.
      • 모델의 첫 시작에서 이미지를 패치들로 cutting할 때와 fine-tuning에서 다른 resolutions을 가지는 이미지들의 position embeddings을 adjusting할 때 사용된다. (아래에서 설명)
    • 그 외에는, 초기화 타임에서 position embeddings은 패치들의 2D positions에 대한 정보를 전달하지 않고 모든 patches들 사이의 spatial relations은 scratch로부터 학습된다.
  • Hybrid Architecture. 
    • raw 이미지 패치들의 대안으로 입력 시퀀스는 CNN의 feature maps에서 형성될 수 있다. (이것도 나쁘지는 않은 생각인데?)
    • 하이브리드 모델에서, patch embedding projection E (식1 )은 CNN feature map으로부터 patches을 뽑아서 적용하게 된다.
    • 스페켤 케이스로써, pathces는 spatial size 1x1을 가지고, 이는 입력 시퀀스가 심플하게 feature map의 spatial dimmesion을 flattening하고 Transformer dimension으로 projecting하는 것이다.
    • classification input embedding과 position embeddins은 위에서 설명한 것처럼 추가된다.

3.2 FINE-TUNING AND HIGHER RESOLUTION

  • 일반적으로 ViT을 큰 데이터세트에서 pre-train하고 작은편인 다운스트림 테스크들에서 fine-tune을 한다.
  • 이를 위해, 우리는 pre-trained predicition head와 attach된 zero-initialized D x K feedforward layer을 삭제한다.
    • K는 다운스트림 클래스들의 개수이다.
  • 이는 종종 pre-training보다 더 큰 resolution에서 fine-tune되는데 이점을 가진다.
  • 더 높은 해상도의 이미지를 공급할 때 패치 크기를 동일하게 유지하므로 유효 시퀀스 길이가 더 커집니다.
  • Vision Transformer은 임의의 시퀀스 길이들을 다룰 수 있으나 pre-trained position embeddins은 의미가 없을 수도 있다.
  • 따라서 원본 이미지에서의 위치에 따라 pre-trained position embeddings의 2D interpolation을 수행합니다.
  • 이 resolution 조정 및 패치 추출은 이미지의 2D 구조에 대한 유도 바이어스가 Vision Transformer에 수동으로 주입되는 유일한 지점입니다.

4 EXPERIMENTS

  • ResNet, Vision Transformer (ViT) 및 하이브리드의 표현 학습 기능을 평가합니다. 
  • 각 모델의 데이터 요구 사항을 이해하기 위해 다양한 크기의 데이터 세트를 사전 교육하고 많은 벤치 마크 작업을 평가합니다. 
  • 모델 사전 훈련의 계산 비용을 고려할 때 ViT는 더 낮은 사전 훈련 비용으로 대부분의 인식 벤치 마크에서 최첨단을 달성하여 매우 유리하게 수행됩니다. 
  • 마지막으로 자가 감독을 이용한 작은 실험을 수행하여자가 감독 ViT가 미래에 대한 약속을 가지고 있음을 보여줍니다.

4.1 SETUP (번역)

  • Datasets
    • 모델 확장 성을 탐색하기 위해 1k 클래스 및 1.3M 이미지가 포함 된 ILSVRC-2012 ImageNet 데이터 세트 (이하 ImageNet이라고 함), 21,000 개 클래스 및 1400 만 이미지가 포함 된 수퍼 세트 ImageNet-21k (Deng et al., 2009)를 사용합니다. ) 및 JFT (Sun et al., 2017), 18k 클래스 및 303M 고해상도 이미지. 사전 훈련 데이터 세트를 w.r.t. Kolesnikov et al.에 따른 다운 스트림 작업의 테스트 세트. (2020). 
    • 이러한 데이터 세트에서 훈련 된 모델을 여러 벤치 마크 작업으로 전송합니다. 
    • 원본 유효성 검사 레이블의 ImageNet 및 정리 된 ReaL 레이블 (Beyer et al., 2020), 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 개의 학습 예제를 사용하여 다양한 작업에 대한 낮은 데이터 전송을 평가합니다. 작업은 자연 – 위와 같은 작업, 애완 동물, CIFAR 등의 세 그룹으로 나뉩니다. 전문 – 의료 및 위성 이미지, 구조적 – 현지화와 같은 기하학적 이해가 필요한 작업.
  • Model Variants.

  • Training & Fine-tuning.
    • β1 = 0.9, β2 = 0.999, 배치 크기 4096의 Adam (Kingma & Ba, 2015)을 사용하여 ResNets를 포함한 모든 모델을 훈련하고 0.1의 높은 가중치 감쇠를 적용하여 모두 전송에 유용함을 확인했습니다. 
    • 모델 (부록 D.1은 일반적인 관행과 달리 Adam이 우리 설정에서 ResNets에 대해 SGD보다 약간 더 잘 작동 함을 보여줍니다). 
    • 선형 학습률 워밍업 및 감쇠를 사용합니다. 자세한 내용은 부록 B.1을 참조하세요.
    • 미세 조정을 위해 모든 모델에 대해 모멘텀 배치 크기 512 인 SGD를 사용합니다. 부록 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.

4.2 COMPARISON TO STATE OF THE ART

  •  

4.3 PRE-TRAINING DATA REQUIREMENTS

4.4 SCALING STUDY

  • 하이브리드는 모델 크기가 작은 경우 순수 Transformers보다 향상되지만 큰 모델에서는 간격이 사라집니다.

4.5 INSPECTING VISION TRANSFORMER


  • 이 부분은 신기한 것 같다. 역시 이미지는 보여주기에 좋은 도메인인 듯..

4.6 SELF-SUPERVISION

5 CONCLUSION

  • 우리는 Transformers을 image recognitions에 직접적으로 적용하는 방법을 살펴보았다.
  • CV에서 self-attnetion을 사용한 이전의 연구들과 달리, 초기의 patch extraction setup와는 별도로 우리는 image-specific inductive biases을 도입하지 않는다.
  • 대신에, 우리는 이미지를 패치들의 시퀀스로 해석하여 그것을 NLP에서 사용하던 Transformer encoder로 처리한다.
  • 이것은 심플하지만 확장성있는 전략은 큰 데이터세트에서 pretraining할 때, 놀랍도록 잘 작동한다.
  • 그래서, Vision Transformer은 많은 이미지 분류데이터세트에서 같거나 초과하는 SoTA을 달성하고 pre-train 비용이 상대적으로 저렴하다.
  • 이러한 초기 결과는 고무적이지만 많은 과제가 남아 있습니다.
  • 한가지는 다른 CV 테스크에대한 (detection과 segmentaion) ViT 적용이다.
    • Carion의 결과와 결합된 우리의 결과는 이 접근 방식의 가능성을 나타냅니다.
  • 다른 챌린지는 계속해서 self-supervised pre-training methods을 탐구하는 것이다.
  • 우리의 초기 실험들은 self-supervised pre-training로부터 향상을 보여주지만, 여전히 self-supervised와 large-scale supervised pretraining 사이의 큰 gap이 존재한다.
  • Finally, further scaling of ViT would likely lead to improved performance. 

Reference

댓글