[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을 맞추도록 학습하는 방식
'AI HW study > Transformer' 카테고리의 다른 글
fm_quant 코드 분석 (0) | 2024.01.26 |
---|---|
pytorch-image-models (Timm) model 코드분석 3 (0) | 2024.01.23 |
pytorch-image-models (Timm) model 코드분석 2 (1) | 2024.01.22 |
pytorch-image-models (Timm) model 코드분석 1 (0) | 2024.01.22 |
DeiT Weight Quantization (0) | 2024.01.15 |