챕터별 상세
지식 증류의 정의와 필요성
모델 압축의 역사: MUNGE 알고리즘
MUNGE는 데이터 포인트 주변에 가우시안 노이즈를 추가하여 새로운 합성 데이터를 생성하는 초기 데이터 증강 기법이다.
로짓 매칭과 다크 지식의 전수
온도 스케일링을 통한 확률 분포 완화
지식 증류의 3단계 학습 프로세스
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 발산을 활용한 지식 증류 손실 함수 구현 예시
지식 증류와 로짓 매칭의 수학적 관계
용어 해설
- 지식 증류(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 Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
