위키득계정 ↗
기술

지식 증류

지식 증류기술
영문명
Knowledge distillation
역할 구분
학습 신호를 제공하는 교사와 배우는 학생
대표 신호
클래스별 연속적인 확률 목표
주요 목적
추론 비용 절감과 학습 정보 전달
지식 증류는 교사 모형의 출력이나 표현을 학습 신호로 사용해 학생 모형을 훈련하는 방법이다. 큰 모형이나 앙상블의 동작을 더 작은 모형으로 옮기는 데 활용하며, 단순히 가중치 파일을 압축하는 작업과 구별한다.

정답 하나보다 많은 신호

정답 클래스 하나를 표시한 목표에서는 나머지 클래스가 모두 같은 0으로 나타난다. 교사의 확률 출력에는 어떤 오답이 상대적으로 비슷한지에 대한 정보도 있다. 학생은 최상위 정답뿐 아니라 이 분포의 모양을 배우도록 훈련할 수 있다. 교사가 틀린 정보도 전달할 수 있으므로 교사의 출력을 실제 정답과 동일시하지 않는다.

온도를 사용하는 학습

교사와 학생의 로짓에 같은 온도 T를 적용해 확률을 완만하게 만든 뒤 두 확률 분포 사이의 교차 엔트로피 등을 줄인다. 실제 정답에 대한 손실을 함께 쓰기도 한다. 온도를 바꿀 때 연성 목표 손실에 T²를 곱하는 관례는 그쪽 기울기 크기의 변화를 보정하기 위한 것이다. 출력 확률을 사후 보정하는 온도 스케일링과 목적이 다르다.

같은 최상위 정답의 다른 분포

세 클래스에 대한 교사 목표가 (0.7,0.2,0.1)이라고 하자. 학생 A는 (0.7,0.2,0.1), 학생 B는 (0.7,0.1,0.2)를 출력한다. 둘 다 최상위 클래스와 그 확률은 같지만 연성 목표의 교차 엔트로피는 B가 A보다 0.1ln2≈0.0693만큼 크다. 나머지 후보 사이 관계까지 학습 신호가 된다는 자체 예제다.

비용과 성능의 확인

교사를 쓰는 학습 단계의 비용과 학생만 쓰는 추론 단계의 비용은 따로 측정한다. 작은 학생이 교사의 모든 동작을 그대로 재현하거나 항상 더 정확해지는 것은 아니다. 전이 자료의 범위, 학생 용량, 손실의 비중과 평가 환경에 따라 결과가 달라진다. 실제 배포에서는 정확도와 지연, 메모리 사용량을 함께 비교한다.

관련 문서

딥 앙상블 / 온도 스케일링 / 교차 엔트로피 / 소프트맥스 함수 / 신경망 / FitNets