본문 바로가기
AI HW/Transformer

Training data-efficient image transformers& distillation through attention 논문 읽기

by jyun13 2024. 1. 11.

Abstract

이미지 이해 작업을 수행하는 어텐션에 기반한 신경망에 대한 연구 내용


1. 배경 및 동기:
- 최근에는 어텐션만을 기반으로 하는 신경망이 이미지 분류와 같은 작업에서 성능을 보인 바 있습니다. 

- 그러나 이러한 고성능 비전 트랜스포머들은 수억 개의 이미지를 사용한 대규모 인프라에서 사전 훈련되어 제한된 환경에서만 사용될 수 있었다.

2. 연구 목표:
- 본 논문에서는 오직 ImageNet 데이터만을 사용하여 합리적인 컴퓨팅 리소스와 시간 내에 경쟁력 있는 합성곱을 사용하지 않는 트랜스포머를 생성


3. 주요 결과 및 성과:
- 86M 매개변수를 가진 기준 비전 트랜스포머는 외부 데이터 없이도 ImageNet에서 83.1%의 top-1 정확도를 달성
- 특히, 트랜스포머에 특화된 teacher-student strategy을 소개 : 이는 학생이 어텐션을 통해 teacher으로부터 학습하도록 하는 distillation token을 사용

4. 토큰 기반 증류의 효과:
- 이 token-based distillation은 특히 teacher이 합성곱 신경망(convnet)인 경우 효과적임을 보여줌. 이는 ImageNet에서 85.2%의 정확도를 달성하며, 다른 작업으로 전이될 때도 합성곱 신경망과 경쟁력 있는 결과를 얻을 수 있음을 시사

5. 공유 자원:
   - 연구는 코드와 모델을 공유하여 다른 연구자들이 결과를 재현하고 활용할 수 있도록 함.

 

 

1 Introduction

1. CNN 및 이미지 분류에 대한 배경:
   - CNN은 특히 이미지 분류에서 이미지 이해 작업의 주요 디자인 패러다임이었습니다.
   - CNN의 성공은 ImageNet과 같은 대규모 훈련 데이터셋에서 이미지 분류와 같은 작업에서 명확히 입증되었습니다.

2. CNN에 어텐션 메커니즘 통합:
   - 자연어 처리에서 어텐션 기반 모델의 성공을 착안하여 CNN에 어텐션 메커니즘을 통합하는 데 관심이 증가
   - 트랜스포머 구성 요소를 CNN과 결합하는 하이브리드 아키텍처가 비전 작업에 활용되고 있습니다.

3. 비전 트랜스포머(ViT) 소개:
   - Dosovitskiy 등이 소개한 ViT는 자연어 처리에서 빌려온 아키텍처로, 입력으로 원시 이미지 패치를 사용하여 이미지 분류에 적용됩니다.
   - 해당 논문에서는 큰 사설 레이블 데이터셋(JFT-300M)을 사용하여 트랜스포머를 훈련시켜 우수한 결과를 보여줌


4. 트랜스포머의 일반화에 대한 도전과제:
   - Dosovitskiy 등의 논문에서는 트랜스포머가 충분하지 않은 데이터로 훈련되면 일반화가 잘 되지 않을 수 있다는 도전과제를 강조
   - 이러한 모델을 훈련시키기 위해서는 많은 컴퓨팅 자원이 필요

5. Data-efficient Image Transformers (DeiT)의 제안:
   - 본 논문에서는 8-GPU 노드에서 2~3일 동안 훈련된 DeiT를 소개합니다. 이 모델은 유사한 매개변수 및 효율성을 갖는 CNN과 경쟁력 있는 결과를 달성합니다.
   - 해당 모델은 Imagenet 데이터셋만을 사용하여 훈련되며, Dosovitskiy 등의 비전 트랜스포머 아키텍처와 timm 라이브러리의 개선을 기반으로 합니다.
   - 이전 결과 대비 큰 성능 향상이 보고되었으며, 핵심 훈련 하이퍼파라미터 및 성공적인 훈련을 위한 요소를 상세히 다루는 실험적 연구가 제시되었습니다.

6. Model Distillation에 대한 접근:
   - 본 논문에서는 이러한 모델을 증류(distillation)하는 문제에 대응
   - DeiT라는 트랜스포머에 특화된 토큰 기반 전략을 소개하며, 기존 증류 방법에 비해 유리함을 입증

 

In summary, our work makes the following contributions:

1. 컨볼루션 레이어 없이도 경쟁력 있는 신경망 성능

2. 새로운 distillation 절차 및 distillation 토큰

3. 컨볼루션 신경망으로부터의 학습

4. Downstream Tasks(하류 작업)으로의 전이 가능성

-> 컨볼루션 레이어 없이도 경쟁력 있는 성능을 달성하는 신경망, 트랜스포머에 특화된 디스틸레이션 전략, 컨볼루션 신경망으로부터의 향상된 학습, 그리고 다양한 하류 작업으로의 성공적인 전이성을 제시

 

논문 구조:

  • 섹션 2에서는 관련 연구를 검토하고, 섹션 3에서는 이미지 분류를 위한 트랜스포머에 중점을 둡니다.
  • 섹션 4에서는 트랜스포머를 위한 distillation 전략을 소개하며, distillation 토큰 사용을 강조합니다.
  • 섹션 5는 실험 섹션으로, 컨볼루션 신경망 및 최근 트랜스포머와의 비교와 함께 트랜스포머 특화 디스틸레이션의 비교 평가가 포함됩니다.
  • 섹션 6에서는 훈련 체계를 자세히 다루며, 데이터 효율적인 훈련 선택사항에 대한 광범위한 실험적 연구를 포함하여 DeiT의 핵심 구성 요소에 대한 통찰을 제공합니다.
  • 논문은 섹션 7에서 마무리됩니다.

 

2 Related work

1. 이미지 분류의 중요성과 컨볼루션 신경망의 우세성:
- 이미지 분류는 컴퓨터 비전에서 중요한 핵심 역할을 하며, 이해의 진전을 측정하는 기준으로 자주 활용됩니다. 진전은 주로 탐지 또는 세분화와 같은 관련 작업의 향상으로 이어집니다.
- 2012년 AlexNet 이후로 컨볼루션 신경망(convnets)이 이미지 분류의 표준이 되었고, ImageNet 데이터셋에서의 최신 기술 진화는 컨볼루션 신경망 아키텍처와 학습의 진전을 반영하고 있습니다.

2. 트랜스포머의 도전과 혼합 아키텍처의 경쟁력:
- 트랜스포머를 이미지 분류에 사용하려는 시도가 여러 차례 이루어졌지만, 현재까지 그 성능은 컨볼루션 신경망에 미치지 못했습니다.
- 그럼에도 불구하고, 컨볼루션 신경망과 트랜스포머를 결합한 혼합 아키텍처, 특히 self-attention 메커니즘을 포함한 모델은 최근 이미지 분류, 탐지, 비디오 처리, 비지도 객체 발견, 통합 텍스트-비전 작업에서 경쟁력 있는 결과를 보여주고 있습니다.

3. 비전 트랜스포머(ViT)의 등장과 우수성:
- 최근에는 ImageNet에서 the state of the art에 가까운 성능을 가진 Vision transformers (ViT)가 등장했습니다. 이 모델은 어떠한 컨볼루션도 사용하지 않고도 놀라운 성능을 보여주었습니다.
- 그러나 해당 연구에 따르면 학습된 트랜스포머가 효과적으로 작동하려면 거대한 정리된 데이터에 대한 사전 훈련 단계가 필요합니다. 본 논문에서는 Imagenet1k만 사용하여 대규모 훈련 데이터셋 없이도 강력한 성능을 달성하였습니다.

4. 트랜스포머와 컨볼루션의 상호 영향 및 Knowledge Distillation:
- 트랜스포머 아키텍처는 기계 번역을 위해 Vaswani et al.에 의해 소개되었으며, 현재는 자연어 처리(NLP) 작업에 대한 기준 모델입니다.
- 컨볼루션 신경망에 대한 이미지 분류의 여러 개선 사항은 트랜스포머에서 영감을 받았습니다.
- 지식 증류(Knowledge Distillation, KD)는 teacher 네트워크에서 나오는 "soft" 레이블을 활용하는 학생 모델의 훈련 패러다임을 나타냅니다. 이를 통해 학생 모델의 성능이 향상되거나 선생 모델을 더 작은 크기로 압축하는 방식으로 해석할 수 있습니다.
- 이 연구에서는 트랜스포머 학생을 컨볼루션 또는 트랜스포머 선생으로 지식 증류하는 방법을 연구하고 새로운 트랜스포머 특화 지식 증류 절차를 소개하며 그 우수성을 보여줍니다.

 

3 Vision transformer: overview

Vision Transformer와 그 구성 요소

 

1. 비전 트랜스포머 개요:
   비전 트랜스포머 또는 ViT는 컴퓨터 비전 작업을 위한 모델 아키텍처입니다. 이는 원래 자연어 처리를 위해 고안된 트랜스포머 아키텍처를 비전 작업에 맞게 조정한 것입니다. 여기서 트랜스포머는 이미지 패치의 시퀀스를 처리하는 데 사용됩니다.

2. 멀티헤드 셀프 어텐션(MSA):
   - **어텐션 메커니즘:** (키, 값) 벡터 쌍을 사용하는 학습 가능한 연관 메모리를 활용합니다.
   - **쿼리-키 매칭:** 쿼리 벡터(q)는 키 벡터(K) 집합과의 내적을 통해 일치시킵니다.
   - **스케일 조정 및 정규화된 가중치:** 내적값은 스케일 조정되고 소프트맥스 함수를 사용하여 정규화된 가중치를 얻습니다.
   - **가중치 합산:** 어텐션의 출력은 값 벡터(V)의 가중 합계입니다.
   - **수식:** Attention(Q, K, V) = Softmax(QK>/√d)V, 여기서 소프트맥스는 행별로 적용되며, √d는 정규화를 제공합니다.

3. 셀프 어텐션 레이어:
   - **행렬 계산:** 쿼리(Q), 키(K), 및 값(V) 행렬은 선형 변환을 통해 입력 벡터(X)에서 계산됩니다.
   - **선형 변환:** 행렬 Q, K, V는 입력 행렬 X를 선형 변환 행렬 WQ, WK, WV와의 곱으로 얻습니다.
   - **입력 벡터 간 어텐션:** 어텐션은 모든 입력 벡터 간에 계산됩니다.

4. 멀티헤드 셀프 어텐션 레이어 (MSA):
   - **다중 어텐션 헤드:** MSA는 입력에 적용되는 여러 어텐션 "헤드"를 고려합니다.
   - **출력 시퀀스:** 각 어텐션 헤드는 크기 N × d의 시퀀스를 생성합니다.
   - **재배치:** 모든 어텐션 헤드의 시퀀스는 N × dh 시퀀스로 재배치되며, 여기서 dh는 모든 헤드의 연결된 차원입니다.
   - **재투영:** 연결된 시퀀스는 선형 레이어에 의해 N × D 시퀀스로 재투영됩니다. 여기서 D는 원래 입력 차원입니다.

요약하면 비전 트랜스포머는 멀티헤드 셀프 어텐션 메커니즘을 사용하여 다른 이미지 패치 간의 관계를 포착합니다. 셀프 어텐션 레이어는 쿼리, 키, 및 값 행렬을 계산하며, 다중 헤드는 모델이 입력 데이터의 다양한 특징과 상호 작용을 포착할 수 있게 합니다.