지식 증류
큰 모델(Teacher Network)로부터 증류한 지식을 작은 모델(Student Network)로 transfer하는 일련의 과정
- Q1. Knowledge Distillation은 도대체 왜 등장했을까?
- Q2. Knowledge Distillation은 언제 처음으로 등장했을까?
- Q3. Knowledge Distillation은 어떻게 하는 걸까?
Q1. Knowledge Distillation은 도대체 왜 등장했을까?
모델 배포(model deployment) 측면에서 지식 증류의 필요
- 대규모 모델은 성능은 뛰어나지만, 추론 속도나 메모리 측면에서 실사용에 부담이 크다.
- 지식 증류를 활용하면 모델을 압축하면서도 정확도 손실을 최소화할 수 있다.
방법
- teacher 모델의 예측 확률 분포(soft target)를 활용하여 student 모델을 학습시킨다.
- 이 때, 정답뿐만 아니라 오답에 대한 예측 확률도 함께 전달되므로, student 모델은 teacher의 일반화된 판단 기준을 더 잘 학습할 수 있다.
Q2. Knowledge Distillation은 언제 처음으로 등장했을까?
Knowledge Distillation은 NIPS 2014 workshop에서 발표한 논문 “Distilling the Knowledge in a Neural Network”에서 처음으로 등장한 개념