본문 바로가기
AI HW study/Transformer

DeiT에 대하여 다시 정리하면...

by jyun13 2024. 1. 23.

https://velog.io/@heomollang/DeiT-%EA%B4%80%EB%A0%A8-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-%EA%B0%9C%EC%9A%94-%EB%B0%8F-%EC%86%8C%EA%B0%9C

 

[DeiT 관련 논문 리뷰] 01-개요

DeiT 모델을 이해하기 위해 세 개의 논문을 순차적으로 리뷰하도록 하겠습니다. Distilling the Knowledge in a Neural Network(2015) 이 논문에서 DeiT의 훈련 전략의 기초가 되는 distillation에 대해 이해하겠습니

velog.io

 

DeiT는 ViT모델과 동일한 아키텍처(MLP head 제외)이며, convolution 연산 대신 self-attention 매커니즘을 사용하여 입력 이미지의 특징을 추출합니다. 대규모의 데이터셋 없이도 좋은 성능을 달성.

 

-> HOW?

DeiT와 ViT는 self-attention 매커니즘을 사용하여 입력 이미지의 특징을 추출

self-attention을 통해 이미지의 전역 정보를 캡쳐하기 때문에, DeiT 모델이 작은 데이터셋에서도 효과적으로 작동할 수 있었을 것이라 추측 (사실 ViT도 동일하게 self-attention 매커니즘을 사용)

 

-> 결국 self-attention 매커니즘을 사용하는 것도 똑같고, 아키텍처도 동일한데,

왜 DeiT는 large datasets 없이도 좋은 성능을 보이는 걸까? Distillation Strategy때문

= distillation token을 기반으로 한 새로운 Distillation 기법

 

그래서 Distillation가 뭔데?

- 일반적인 Distillation와 논문에서 제시하는 새로운 transformer-specific distillation strategy의 차이는 무엇일까?

 

large model의 크기를 줄이거나, 계산량을 줄여서 모델을 더 가볍고 빠르게 만든다면 딥러닝 모델을 사용해야 함

모델 경량화 기법에는 Pruning, quantization, distillation 등이 있다. 

 

본 논문에서는 ....

- 큰 모델에서 작은 모델로 지식을 "전달"하는 것에 중점을 두었습니다.

- Distilling the Knowledge in a Neural Network에서는 큰 모델과 작은 모델 모두에서 지식을 추출하고 전달하는 것에 중점을 둡니다.

- 더 나아가 soft target vs. hard target의 차이를 분석하고 soft target을 사용하여 작은 모델의 정확도를 향상시키는 방법을 제안함

 

 

teacher 모델의 지식을 student 모델에게 전달하는 방법?

- 앞으로 복잡하고 무거워서 배포할 수 없는 큰 모델을 Teacher model, 단순하고 가벼우며 Teacher model의 지식을 학습할 모델을 student model

(1) "지식"을 모델의 logits을 soft하게 변환시킨 값(=soft targets)으로 상정합니다.
(2) soft하게 변환시킬 때 T(temperature)라는 매개변수가 사용됩니다.

 

soft targets

논문에서는  teacher model의 지식soft targets을 student 모델에게 전달함

즉,  soft targets은 teacher model의 logits을 soft하게 만든 값

 

student 모델이 soft target을 맞추도록 학습하는 방식