본문으로 건너뛰기
CodeEmporium조회 3

지식 증류(Knowledge Distillation) 완벽 가이드: 원리부터 구현까지

대형 교사 모델의 지식을 소형 학생 모델로 전수하여 추론 속도를 높이고 정확도 손실을 최소화하는 지식 증류 기법의 역사와 수학적 원리를 다룬다.

챕터별 상세

00:00

지식 증류의 정의와 필요성

지식 증류는 대형 교사 모델의 동작을 모방하도록 소형 학생 모델을 학습시키는 모델 압축 기법이다. 추론 속도를 높이면서도 정확도 손실을 최소화하는 것이 주된 목표이다. 모바일 애플리케이션과 같이 CPU 및 메모리 자원이 제한된 환경에서 고성능 모델을 배포하기 위해 사용된다.
01:52

모델 압축의 역사: MUNGE 알고리즘

2006년 코넬 대학교 연구진은 소형 모델이 대형 모델의 출력을 모방하도록 학습될 수 있음을 증명했다. 당시 MUNGE 알고리즘을 사용하여 합성 데이터셋을 생성하고, 이를 통해 학생 모델이 교사 모델의 출력 확률 분포를 따라가도록 학습시켰다. 하지만 교사 모델이 너무 강력할 경우 출력 분포가 원-핫(One-hot) 형태에 가까워져 풍부한 정보 전달이 어렵다는 한계가 있었다.

MUNGE는 데이터 포인트 주변에 가우시안 노이즈를 추가하여 새로운 합성 데이터를 생성하는 초기 데이터 증강 기법이다.

03:10

로짓 매칭과 다크 지식의 전수

2014년에는 Softmax 이전의 값인 로짓(Logit)을 직접 매칭하는 방식이 도입됐다. 이를 통해 클래스 간의 상대적인 관계 정보를 담은 '다크 지식(Dark Knowledge)'을 학생 모델에 전달했다. 예를 들어 특정 이미지가 '개'일 확률이 높지만 '자동차'보다는 '고양이'에 더 가깝다는 정보를 로짓 값을 통해 보존하여 학생 모델의 학습 효율을 높였다.
04:17

온도 스케일링을 통한 확률 분포 완화

2015년 제프리 힌튼(Geoffrey Hinton) 등은 온도 스케일링(Temperature Scaling)을 도입한 지식 증류 기법을 제안했다. 로짓 값을 온도 T로 나누어 Softmax를 적용함으로써 확률 분포를 부드럽게(Softened) 만들었다. T가 높을수록 정답 외 클래스의 확률이 높아져 다크 지식이 더 명확하게 드러나며, 학생 모델은 이를 통해 교사 모델의 판단 근거를 더 잘 학습했다.
05:49

지식 증류의 3단계 학습 프로세스

지식 증류는 교사 모델 학습, 학생 모델 학습, 추론의 3단계로 진행된다. 학습 단계에서는 교사 모델의 가중치를 고정한 채 학생 모델의 로짓과 교사의 로짓을 온도 T로 스케일링하여 KL 발산(KL Divergence) 손실을 계산한다. 동시에 학생 모델의 출력과 실제 정답(Ground Truth) 사이의 교차 엔트로피(Cross Entropy) 손실을 합산하여 최종 손실 함수를 구성한다. 추론 시에는 온도를 다시 1로 설정하여 일반적인 예측을 수행한다.
python
import torch.nn.functional as F

def distillation_loss(student_logits, teacher_logits, labels, T, alpha):
    # Softened probabilities with temperature T
    soft_loss = F.kl_div(
        F.log_softmax(student_logits / T, dim=1),
        F.softmax(teacher_logits / T, dim=1),
        reduction='batchmean'
    ) * (T ** 2)
    
    # Standard cross entropy with ground truth
    hard_loss = F.cross_entropy(student_logits, labels)
    
    return alpha * hard_loss + (1 - alpha) * soft_loss

온도 스케일링과 KL 발산을 활용한 지식 증류 손실 함수 구현 예시

09:47

지식 증류와 로짓 매칭의 수학적 관계

지식 증류 손실 함수의 KL 발산 부분은 온도가 매우 높을 때 로짓 매칭 손실과 수학적으로 비례하게 된다. 이는 지식 증류가 로짓 매칭을 포함하는 더 일반화된 프레임워크임을 의미한다. 따라서 지식 증류는 온도 조절을 통해 로짓 매칭의 장점을 취하면서도 확률 분포 기반 학습의 안정성을 동시에 확보했다.

용어 해설

지식 증류(Knowledge Distillation)
거대한 교사(Teacher) 모델의 예측 확률 분포를 작은 학생(Student) 모델이 모방하도록 학습시키는 모델 압축 기법이다. 단순한 정답 레이블뿐만 아니라 오답 클래스 간의 상대적 관계까지 학습하여 소형 모델의 성능을 극대화한다. 자원이 제한된 모바일이나 에지 기기에서 고성능 AI를 실행하기 위해 필수적이다.
로짓 매칭(Logit Matching)
Softmax 함수를 통과하기 전의 값인 로짓(Logit)을 교사 모델과 학생 모델 간에 직접 비교하여 오차를 줄이는 방식이다. 확률값으로 변환되기 전의 풍부한 수치 정보를 직접 전달할 수 있어 클래스 간의 미세한 상관관계를 보존하는 데 유리하다. 지식 증류의 초기 형태이자 핵심 구성 요소 중 하나이다.
다크 지식(Dark Knowledge)
교사 모델이 예측한 확률 분포에서 정답이 아닌 클래스들이 가진 상대적인 확률 값을 의미한다. 예를 들어 '개' 사진을 보고 '고양이'일 확률이 '자동차'일 확률보다 높게 나왔다면, 이는 해당 이미지가 고양이와 유사한 특징을 가졌다는 중요한 정보를 담고 있다. 이러한 잠재적 정보를 학생 모델에 전수하는 것이 지식 증류의 핵심이다.
온도 스케일링(Temperature Scaling)
Softmax 함수의 입력값(로짓)을 특정 상수 T(온도)로 나누어 출력 확률 분포의 부드러운 정도를 조절하는 기법이다. T가 1보다 크면 확률 분포가 평탄해져서 정답 외의 클래스 정보(Dark Knowledge)가 더 잘 드러나게 된다. 학습 시에는 높은 온도를 사용하고 추론 시에는 T=1을 사용하여 원래의 분포를 회복한다.
쿨백-라이블러 발산(KL Divergence)
두 확률 분포 간의 차이를 측정하는 통계적 거리 지표이다. 지식 증류에서는 교사 모델의 부드러운 확률 분포와 학생 모델의 확률 분포 사이의 차이를 계산하는 손실 함수로 사용된다. 이 값을 최소화함으로써 학생 모델이 교사 모델의 판단 기준을 최대한 유사하게 따라가도록 유도한다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 16.수집 2026. 03. 17.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.