딥러닝, 논문 리뷰

[딥러닝, 논문리뷰] Distilling the Knowledge in a Neural Network

cheorish 2025. 3. 3. 04:43

 

 

 

https://arxiv.org/abs/1503.02531
 

Distilling the Knowledge in a Neural Network

A very simple way to improve the performance of almost any machine learning algorithm is to train many different models on the same data and then to average their predictions. Unfortunately, making predictions using a whole ensemble of models is cumbersome

arxiv.org

 

트랜스포머 기반으로 딥러닝의 급속한 발전을 토대로 많은 인공지능 모델들이 서비스 현장에 나와있음에도 불구하고 학습 해야 하는 지식들이 많아지면 많아질수록 몸집이 헤비해져가는 뉴럴넷의 문제점을 해결하기 위해 딥러닝의 아버지라 불리우는 제프리 힌튼 교수를 필두로 집필 된 논문 입니다.

 

특히 NLP, Vision 등 많은 딥러닝 기법에서도 활용되며 이번 DeepSeek에서도 증류를 통한 경량화 모델을 만들었음에 위 논문을 집중 해야 할 필요가 있어 정리하도록 하겠습니다.

 

1. Abstract

앙상블 러닝을 통한 머신러닝 모델의 향상을 시켰지만, 여러개의 모델을 동시에 사용하면서 예측하는 것은 계산 비용이 큰 문제점이 있었음.

 

특히, 개별 모델이 대형 신경망일 경우, 실시간 예측이 어려울 수 있는 문제점들이 있었는데, 이를 해결할 수 있는 방법이 지식의 증류 (Knowledge Distillation)라고 논문에서는 설명합니다.

 

Caruana 등 연구에서는 여러 개의 몯레이 학습한 지식 단일 모델에 압축할 수 있음을 보여주었고, 본 논문에서는 그를 기반으로 발전시킨 새로운 압축 기법을 제안함.

 

주요하게 주목할 점

  • MNIST 데이터셋 실험: 제안된 방법을 적용하여 놀라운 성능 향상을 확인
  • 음성 인식 모델 개선: 상업적으로 많이 사용되는 음향 모델에 지식 증류를 적용하여 성능을 대폭 향상

새로운 앙상블 모델 제안

  • 기존의 앙상블 모델(여러 개의 전체 모델을 평균 내는 방식)과 달리, 본 연구에서는 새로운 형태의 앙상블을 도입합니다.
  • 특정 세부 클래스에 특화된 모델들을 추가하여, 기존 모델들이 혼동하는 세밀한 클래스 구분 능력을 향상시킵니다.
  • Mixture of Experts(MoE)와의 차이점: 기존 MoE 방식과 달리, 제안된 specialist 모델들은 독립적으로 빠르게 학습이 가능합니다.

2. Introduction

논문에서는 곤충의 변태 과정을 비유로 들어, 머신러닝 모델의 학습과정과 배포 과정의 차이를 설명하고 있음.

 

 

  • 애벌레: 성장에 최적화된 형태 → 환경에서 에너지를 최대한 흡수하고 영양을 저장.
  • 성충: 이동과 번식에 최적화된 형태 → 환경에 대한 적응력과 효율성이 필요.

이와 유사하게, 머신러닝에서는 훈련 과정배포 과정이 근본적으로 다른 요구사항을 가집니다.

 

정리 내용 

구분 훈련 과정 배포 과정 
목적 데이터에서 구조를 추출하여 패턴 학습 실시간 예측 수행 
연산 요구량 매우 높음 (대량의 데이터 학습) 낮아야 함 (빠른 응답 필요)
데이터 크기 크고 중복된 데이터 새로운 입력에 대한 일반화
시간 제약 없음 (긴 학습 시간 가능) 실시간 처리 필수
모델 크기 크고 복잡한 모델 가능 작은 모델이 필요

 

 

 

  • 일반적으로 훈련 모델은 매우 크고 계산량이 많지만, 배포 모델은 빠르고 가벼워야 합니다.
  • 하지만, 현재 많은 머신러닝 시스템에서는 훈련과 배포에 동일한 모델을 사용하는 경우가 많아 비효율적인 문제가 발생합니다.

그렇기에 이러한 문제를 해결하기 위한 지식 증류에 대해서 설명하고자 합니다.

 

앞서 설명한 곤충의 변태로 비유 된 내용을 모델에 적용한다고 하면 더 나은 접근법을 생각할 수 있다고 하는데

 

크고 복잡한 모델을 훈련하면서 최대한 많은 정보를 학습하고, 이후에는 이 모델의 지식을 작은 모델에 전이하는 방식이 유리하다라고 설명합니다.

 

이러한 개념을 지식 증류라고 합니다.

 

기존에는 모델의 지식을 훈련된 모델의 매개변수로만 생각하는 경향이 있었음.

 

즉, 우리는 모델의 지식을 개별 가중치와 편향 값으로 이해하려고 했음.  하지만, 모델 형태를 변경하면서도 동일한 지식을 유지하는 것이 가능할까? 라는 질문이 자연스럽게 제기됨 

 

이 개념적 장벽 때문에, 모델의 형태를 바꾸면서도 성능을 유지하는 방법을 연구하는 것이 어려웠습니다.

 

그래서 논문에서는 더 추상적인 관점에서 모델의 지식을 정의할 필요가 있다고 주장함. 단순히, 가중치의 값이 아닌 입력벡터에서 출력벡터로의 매핑 자체가 학습된 지식이라는 관점임.

 

즉, 학습된 모델이 입력에 대해 어떻게 일반화하고 출력을 생성하는지가 핵심적인 지식이라고 합니다.

 

  • 신경망 모델의 학습 과정과 부수적 효과
    • 다중 클래스 모델을 예로 들어 설명함 
    • 일반적으로, 모델은 정답 클래스의 로그 확률 평균을 최대화 하는 방식으로 훈련함 
    • 하지만 이 과정에서 부수적인 효과가 발생하는데 
      • 훈련된 모델은 정답이 아닌 오답 클래스에도 확률을 할당하게 됨 
      • 이 때, 오답 클래스들 사이에서도 상대적인 확률 차이가 존재함 
  • 상대적 확률과 일반화 
    • 오답 클래스의 상대적인 확률 크기는 모델의 일반화 방식에 대한 중요한 정보를 제공함 
      • 에를 들어서, 이미지 분류 모델이 BMW 차량의 사진을 인식할 때
        • BMW가 쓰레기 수거차량으로 오인될 확률은 매우 적음
        • 하지만 BMW가 당근으로 오인될 확률은 훨씬 더 낮음 
        • 즉, BMW와 쓰레기 수거차량이 서로 유사하다고 모델이 학습한 것이며, 이는 모델의 일반화 패턴을 이해하는 데 도움이 됨 
        • 모델이 오류를 범하더라도 비슷한 클래스끼리 오인하는 경향이 있음을 알 수 있음 

위 내용을 쉽게 설명하자면 

 

예제

  • 만약 우리가 사람 얼굴을 구별하는 AI를 만든다고 하면,
    • 모델이 정답을 맞히는 과정도 중요하지만,
    • 틀린 답을 고르는 방식도 중요함.
    • 예를 들어, "이 사람은 A일 확률이 80%, B일 확률이 15%, C일 확률이 5%"라고 모델이 판단한다고 하면,
    • A가 아니더라도 B라는 비슷한 사람을 고를 확률이 높은 것이 중요 정보라는 겁니다. 
  • 그러니까, 모델이 틀린 답을 선택하는 과정도 그냥 버리지 않고, 이를 활용하면 모델을 더 똑똑하게 만들 수 있다는 뜻입니다.

지식 증류(Knowledge Distillation)에서 일반화(Generalization)와 소프트 타겟(Soft Targets)의 역할

 

  • 모델의 학습 목표와 일반화
    • 머신러닝 모델은 훈련 데이터에서 성능을 최적화 하도록 학습 됨 
    • 하지만 실제 목표는 새로운 데이터에 대해서도 잘 작동하는 것(일반화)
    • 즉 모델이 훈련 데이터에서만 좋은 성능을 내는 것이 아니라, 새로운 상황에서도 올바르게 예측해야 함 
  • 문제점 
    • 일반적인 학습 방식으로는 어떻게 일반화할지를 학습하는 정보가 부족함 
    • 따라서, 단순히 훈련 데이터에서의 성능을 높이는 것이 아니라, 더 나은 일반화 능력을 가진 모델을 만드는 것이 필요함 

지식 증류(Knowledge Distillation)로 일반화 능력 향상

  • 지식 증류를 활용하면, 작은 모델도 큰 모델처럼 일반화 할 수 있음
  • 만약 큰 모델이 일반화를 잘 한다면
    • 그 이유는 여러 모델을 앙상블 하여 평균적인 학습 패턴을 가지기 때문일 가능성이 높음.
    • 작은 모델이 같은 방식으로 일반화하도록 학습하면, 단순히 훈련 데이터에서 학습하는 것보다 테스트 데이터에서 성능이 향상됨.

소프트 타겟(Soft Targets) 사용 방법

 

주요 내용 

  • 소프트 타겟(Soft Targets)
    • 큰 모델이 예측하는 확률 값의 분포를 의미
    • 단순히 정답과 오답만 주는 것이 아니라, 각 클래스에 대한 확률 값을 활용 하여 더 많은 정보를 전달함 
  • 소프트 타겟을 활용하는 방식 
    • 훈련 데이터 또는 별도의 전이 데이터를 사용 가능 
    • 만약 큰 모델이 여러 개의 작은 모델로 이루어진 앙상블이라면, 각각의 예측 결과를 산술 평균 또는 기하 평균으로 결합하여 소프트 타겟 생성 
  • 소프트 타겟의 장점 
    • 훈련 데이터가 적어도 모델을 더 효과적으로 학습 가능 
    • 일반적인 학습보다 더 높은 학습률로 학습 가능 

그림으로 이해하는 증류모델 학습 메커니즘

 

 

MNIST 예제에서 소프트 타겟의 정보량

"MNIST 같은 데이터셋에서는, 작은 확률 값들의 상대적 비율이 중요한 정보를 담고 있다."

 

📌 주요 내용

  • 예제: MNIST 손글씨 데이터셋
    • 큰 모델(Teacher Model)이 높은 정확도로 예측 가능.
    • 그러나, 오답 클래스들 사이의 상대적 확률 정보가 매우 중요.
  • 예제 분석
    • 숫자 '2'를 인식할 때:
      • 한 버전의 '2'는 '3'으로 분류될 확률이 10−610^{-6}, '7'으로 분류될 확률이 10−910^{-9}
      • 다른 버전의 '2'는 반대로 '7'으로 분류될 확률이 10−610^{-6}, '3'으로 분류될 확률이 10−910^{-9}
    • 이러한 작은 확률 값의 차이가 의미하는 바:
      • 어떤 '2'는 '3'과 더 비슷하고,
      • 어떤 '2'는 '7'과 더 비슷함.
    • 이런 확률 분포 정보가 숫자들 간의 유사성을 학습하는 데 중요한 역할을 함.

예제를 통한 더욱 더 심화한 이해 

 

입력 이미지 하드 타겟 소프트 타겟
숫자 2 2 → 100% ([0, 0, 1, 0, 0, 0, 0, 0, 0, 0]) 2 → 85%, 3 → 10%, 7 → 5% ([0, 0, 0.85, 0.10, 0, 0, 0, 0.05, 0, 0])
숫자 7 7 → 100% ([0, 0, 0, 0, 0, 0, 0, 1, 0, 0]) 7 → 80%, 1 → 15%, 4 → 5% ([0, 0, 0, 0, 0, 0, 0, 0.80, 0.15, 0.05])

 

 

일반적인 머신러닝 모델은 정답(1) / 오답(0) 형태의 "하드 타겟(Hard Targets)을 사용해서 학습합니다.
하지만 소프트 타겟은 다음과 같이 각 클래스에 대한 확률 값 전체를 학습하는 방식입니다.

 

✔ 하드 타겟(Hard Targets)

  • 정답(1) / 오답(0)으로만 구성됨.
  • 예: 숫자 2를 학습할 때 → "2"가 100% 정답이고, 나머지는 전부 0%

✔ 소프트 타겟(Soft Targets)

  • 큰 모델이 예측한 확률 분포 전체를 작은 모델이 학습.
  • 예: 숫자 2를 학습할 때 → "2"가 85% 정답이지만, "3"이 10%, "7"이 5% 확률을 가짐
  • 이 확률 값들이 작은 모델이 학습해야 할 목표(타겟)가 됨.

 

3. Distillation

 

위 구간은 증류화 과정에서 소프트맥스(Softmax) 함수와 온도 매개변수(Temperature, \(T\) )가 어떻게 확률을 조정하는지 설명하는 내용 입니다.

 

 

$$
q_i = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}
$$

 

수식 설명:

  • \(z_i\) = 해당 클래스 ii의 로짓 값 (신경망 출력)
  • \(T\)  = 온도(Temperature) 매개변수
  • \(q_i\) = 클래스 ii에 대한 확률 값

다시 상기시키는 소프트맥스의 역할

 

  • 모든 출력값을 0~1 사이의 확률 값으로 변환
  • 총합이 항상 1이 되도록 정규화(Normalization)

 

예를 들어, 신경망이 아래와 같은 로짓 값을 출력했다고 가정하자

클래스 로짓값(\(z\)) 소프트맥스 확률 (\(T = 1\))
3.0 0.843
고양이 1.5 0.150
여우 0.5 0.047

 

 

  • 소프트맥스를 적용하면 개(dog)의 확률이 가장 높아지고, 총합이 1이 됨.
  • 즉, 신경망이 입력을 보고 "이건 84.3% 확률로 개야!" 라고 예측하는 것과 같음

온도(Temperature, \(T\))의 역할

  • 소프트맥스 함수에서 온도 매개변수 \(T\) 를 조절하면, 확률 분포를 조정할 수 있습니다.

조건 1. 온도가 낮을 때 (\(T < 1 \)) → 확률이 극단적으로 변함 

  • 높은 로짓 값은 더욱 높은 확률이 되고, 낮은 로짓 값은 거의 0에 가까워짐
  • 즉, 모델이 한 가지 클래스에 대해 확신이 매우 강해짐 
  • 너무 낮은 온도는 모델이 과적합 될 가능성을 높임 

조건 2. 온도가 높을 때 (\(T > 1 \)) →  확률 분포가 부드러워짐

  • 모든 클래스의 확률이 더 균등해짐.
  • 작은 모델이 학습할 때 더 많은 정보(Soft Targets)를 얻을 수 있음.
  • 일반적으로 지식 증류(Knowledge Distillation)에서 T 값을 높여 부드러운 확률을 생성함.

 

그림으로 이해하는 Temperature의 증류 과정

 

 

다음은 지식 증류 과정에서 온도(Temperature, \(T\))를 조절하는 방법과, 소프트 타겟, 그리고 정답 레이블의 조합 방법을 설명하는데 자세히 정리해볼 예정 

 

1. 온도(Temperature, \(T\))와 소프트 타겟의 관계

  • 온도 \(T\) 를 높이면, 클래스 확률 분포가 부드러워진다.
    • 일반적으로 소프트맥스는 온도 \(T\) = 1로 사용함
    • 하지만 온도를 높이면 확률 값들이 균등하게 퍼짐 
    • 예를 들어 숫자 "2"를 분류한다고 치면 
클래스 로짓 (\(z\)) \(T=1\) \(T=5\)
2 (정답) 10 0.95 0.60
3 (오답) 5 0.04 0.30
7 (오답) 2 0.01 0.10

 

  • \(T=1\) 일 때 "2"에 대한 확률이 95%로 매우 높고 나머지는 0에 가까움 
  • \(T=5\) 일 때 "2" 에 대한 확률이 여전히 가장 높은 확률이지만 "3"과 "7"도 비교적 높은 확률을 가짐 
  • 이렇게 하면 작은 모델(Student Model)이 “틀린 답들 간의 관계”도 학습할 수 있음 → 일반화 능력 향상

2. 지식 증류 과정에서 온도 \(T\) 조절 방법

  1. 큰 모델(Teacher Model)이 높은 온도(T>1)로 소프트맥스를 사용하여 소프트 타겟(Soft Targets) 생성.
  2. 이 소프트 타겟을 작은 모델(Student Model)의 학습 데이터로 사용.

즉, 학습 중에는 부드러운 확률 분포를 사용해 일반화를 돕고,

최종적으로 배포할 때는 기존 소프트맥스처럼 동작하도록 설정한다는 의미

 

3. 소프트 타겟(Soft Targets) + 정답(Hard Targets) 함께 사용하기

 

작은 모델이 학습할 때.

  • 소프트 타겟(Soft Targets) → 큰 모델이 예측한 부드러운 확률 분포
  • 하드 타겟(Hard Targets) → 기존 정답 레이블 (ex: “2”는 100%, 나머지는 0%)

이 두 가지를 함께 학습하면 성능이 향상

 

4. 두 개의 목적 함수(Objective Function) 조합

 

소프트 타겟과 정답 레이블을 함께 학습시키는 방법을 설명하는 부분

 

1. 소프트 타겟과의 크로스 엔트로피 손실 (Cross-Entropy with Soft Targets)

 

  1. 온도 \(T>1\) 을 사용한 소프트맥스를 기반으로 계산.
  2. 큰 모델(Teacher Model)처럼 일반화하는 능력을 학습하도록 도움.

2. 정답 레이블과의 크로스 엔트로피 손실 (Cross-Entropy with Hard Targets)

 

  1. 온도 \(T=1\) 을 사용하여 일반적인 소프트맥스 손실 적용.
  2. 정확한 정답을 맞히는 능력을 학습하도록 도움.

훈련하면서 레이블의 손실보다는 소프트 타겟이 더 중요하다고 논문에서는 설명하면서, 일반적으로 소프트 타겟의 가중치를 높이고, 하드 타겟(정답 레이블)의 가중치는 낮추는 것이 성능에 좋다고 합니다.

 

마지막으로 온도 조절에 따른 그래디언트(Gradient) 스케일링

 

온도 \(T\) 가 높아지면, 소프트 타겟의 그래디언트 크기는 \(1/T^2\) 비율로 감소함.

→ 따라서, 소프트 타겟 손실을 계산할 때 그래디언트를 \(T^2\) 만큼 다시 곱해줘야 균형이 맞음.

 

📌 왜 그래디언트를 조절해야 할까?

 

  • 온도를 높이면 확률 값들이 부드러워지므로, 그래디언트가 작아짐.
  • 하지만 그래디언트가 너무 작아지면 학습이 잘 안 되기 때문에, \(T^2\) 을 곱해서 균형을 맞춤.
  • 이렇게 하면 소프트 타겟과 하드 타겟이 적절한 비율로 반영됨.

 

3-1. Matching Logits is a Special Case of Distillation

 

이 부분에서는 지식 증류(Knowledge Distillation)에서 작은 모델(Student Model)이 큰 모델(Teacher Model)의 로짓(logits)을 어떻게 학습하는지 설명하고 있음 


특히, 온도(Temperature, \(T\))가 높은 경우, 지식 증류는 로짓 매칭과 유사한 방식으로 동작한다는 점을 수식적으로 증명함

 

1. 소프트 타겟의 그래디언트 (Gradient of Soft Targets)

즉, 전이 데이터(Transfer Set)를 사용하여 작은 모델(Student Model)을 학습할 때,
각 클래스 ii에 대한 로짓 \(z_i\)의 변화율(Gradient, 미분 값)은 다음과 같이 계산됨.

 

$$
\frac{\partial C}{\partial z_i} =
\frac{1}{T} (q_i - p_i) =
\frac{1}{T} \left(
\frac{e^{z_i/T}}{\sum_j e^{z_j/T}} -
\frac{e^{v_i/T}}{\sum_j e^{v_j/T}}
\right)
$$

 

여기서,

  • \(C\) = 손실 함수 (Loss Function, 크로스 엔트로피)
  • \(z_i\) = 작은 모델(Student Model)의 로짓 값
  • \(v_i\) = 큰 모델(Teacher Model)의 로짓 값
  • \(p_i\) = 큰 모델이 예측한 확률(소프트 타겟)
  • \(q_i\) = 작은 모델이 예측한 확률
  • \(T\) = 온도(Temperature)

 

위 식을 보면, 작은 모델과 큰 모델의 확률 차이(q)가 그래디언트의 핵심 요소입니다.
즉, 작은 모델이 큰 모델의 확률 분포를 따라가도록 학습됨을 의미함

2. 온도가 높을 때의 근사식

온도 \( T \)가 매우 높을 경우(\( T \gg 1 \)), 위 수식을 근사할 수 있다.

$$
\frac{\partial C}{\partial z_i} \approx
\frac{1}{T} \left(
\frac{1 + z_i/T}{N + \sum_j z_j/T} -
\frac{1 + v_i/T}{N + \sum_j v_j/T}
\right)
$$

만약 각 전이 데이터 샘플에서 로짓 값의 평균을 0으로 정규화 했다면, 즉

$$
\sum_j z_j = \sum_j v_j = 0
$$

위 근사식은 더욱 단순하게 변형된다.

$$
\frac{\partial C}{\partial z_i} \approx
\frac{1}{N T^2} (z_i - v_i)
$$

즉, 온도가 매우 높은 경우(\( T \gg 1 \)), 작은 모델(Student Model)의 학습 과정은 단순히 큰 모델(Teacher Model)의 로짓을 그대로 따라가는 것과 같아진다.

3. 로짓 매칭과 온도 조절의 관계

온도가 매우 높다면, 지식 증류의 과정은 단순한 로짓 차이(Logit Difference) 최소화 과정과 동일하다.

$$
\frac{1}{2} (z_i - v_i)^2
$$

즉, 온도가 높을수록 작은 모델이 큰 모델의 로짓을 직접적으로 매칭하는 방향으로 학습됨을 의미한다.

반대로, 온도가 낮을수록(\( T \)이 작을수록), 작은 모델은 큰 모델이 예측한 확률(소프트 타겟)을 더 강하게 따르게 된다

---

4. 큰 음수 값의 로짓(Logits)이 미치는 영향

온도가 낮은 경우, 작은 모델(Student Model)은 가장 높은 로짓(Logits)에 집중하여 학습 한다.  
하지만 온도가 높아지면, 작은 모델은 모든 로짓을 더 균등하게 고려하게 됨.

즉, 온도가 낮으면 작은 모델은 "가장 가능성이 높은 클래스"에 집중하지만, 온도가 높으면 "다양한 클래스 간의 관계"도 학습함.

이것은 장점이 될 수도, 단점이 될 수도 있다.
- 너무 큰 음수 로짓 값들은 손실 함수에 거의 영향을 주지 않으므로, 신뢰성이 낮을 가능성이 있음.
- 온도를 낮추면, 작은 모델이 이러한 신뢰성이 낮은 로짓을 무시할 수 있음 → 학습 안정성 증가.

5. 최적의 온도 선택

작은 모델(Student Model)의 크기가 너무 작아 큰 모델(Teacher Model)의 모든 지식을 담기 어렵다면,  
중간 정도의 온도(\(T\))를 사용하는 것이 가장 효과적이다.

  • 너무 높은 온도 → 불필요한 정보까지 학습할 수 있음 (하지만 중요한 세부 정보도 얻을 수 있음)
  • 너무 낮은 온도 → 가장 중요한 정보만 학습하지만, 일부 중요한 세부 정보가 손실될 수 있음
  • 적절한 중간 온도 → 작은 모델이 꼭 필요한 정보만 학습하면서 일반화 성능이 향상됨

✅ 온도 \(T\)가 높을 때, 지식 증류는 단순한 로짓 매칭(\(z_i - v_i\))을 최소화하는 방식과 동일   
✅ 온도가 낮으면, 작은 모델이 큰 모델이 예측한 확률을 더 강하게 따름
✅ 온도를 적절히 조정하면, 작은 모델이 중요한 정보만 학습하면서 일반화 능력이 향상됨
✅ 너무 큰 음수 로짓 값들은 신뢰성이 낮을 수 있으며, 이를 무시하는 것이 유리할 수도 있음
✅ 결론적으로, 작은 모델이 큰 모델의 모든 정보를 학습하기 어려울 때, 중간 정도의 온도(\(T\))가 가장 효과적임

 

3. Preliminary Experiments on MNIST

 

MNIST 데이터셋에서의 사전 실험 

 


1. 대형 신경망(Teacher Model) 학습

 

  • 구조:** 은닉층(hidden layers) 2개, 각 1200개의 Rectified Linear Units (ReLU)
  • 훈련 데이터: MNIST의 60,000개 이미지 사용
  • 규제 방법: Dropout + 가중치 제한(Weight Constraints) 사용 
    • Dropout은 거대한 앙상블 모델을 학습하는 것과 같은 효과를 가짐.
  • 데이터 변형: 입력 이미지를 최대 2픽셀까지 랜덤 이동(jittering)하여 데이터 증강(Data Augmentation) 수행.
  • 성능: 테스트 오류(Test Errors) 67개 기록 (높은 성능)

2. 작은 신경망(Student Model) 학습 - 일반적인 방법

  • 구조: 은닉층 2개, 각 800개의 ReLU
  • 규제: 없음 (즉, Dropout이나 Weight Constraints 적용 X)
  • 성능: 테스트 오류 146개 (성능 저하)

즉, 작은 모델은 규제가 없으면 일반화 성능이 크게 떨어짐.

3. 작은 모델에 지식 증류(KD) 적용 - 소프트 타겟 사용

 

  • 소프트 타겟(Soft Targets) 적용:   
    • 큰 모델(Teacher)이 생성한 확률 분포를 학습하도록 유도.
      • 소프트맥스 온도(Temperature) = 20로 설정하여 부드러운 확률을 생성.
      • 규제 방식: 오직 소프트 타겟 학습만 수행 (Dropout 없음)
      • 성능: 테스트 오류 74개   
      • 기존의 146개 오류에서 절반 가까이 감소 즉, 소프트 타겟만 추가했을 뿐인데 작은 모델의 성능이 크게 향상됨.

 

4. 작은 모델 크기에 따른 온도(T) 설정 최적화

 

각 은닉층에 300개 이상의 뉴런이 있을 때   

온도 \( T > 8 \) 이상에서는 결과가 거의 동일. 즉, 어느 정도 크기가 있는 모델은 높은 온도에서도 잘 학습됨.

 

 

 

  • 각 은닉층을 30개 뉴런으로 극단적으로 줄였을 때 
    • 최적의 온도: \( T = 2.5 \sim 4 \)
    • 즉, 너무 높은 온도에서는 학습이 잘 안 되므로 적절한 온도 조절이 필요

5. '3' 숫자를 제외한 데이터셋으로 실험

전이 데이터(Transfer Set)에서 숫자 '3'을 완전히 제거
  즉, 모델은 '3'을 전혀 본 적이 없는 상태로 학습됨.

테스트 오류: 206개 발생 

그중 133개(약 65%)가 숫자 '3'을 인식하는 과정에서 발생
 즉, '3'을 훈련 중 본 적이 없어서 오답이 많음

 

 

'3' 클래스의 편향(bias)을 +3.5 조정하면
  총 오류 개수: 109개 (206 → 109로 감소!)
  '3'에 대한 오류: 14개만 발생 (133 → 14로 감소!)
  - 즉, 적절한 편향 조절을 통해, 모델이 본 적 없는 숫자도 인식 가능.

 

결론  

 지식 증류 모델은 훈련 중 보지 않은 클래스도 일부 학습할 수 있음
 예) '3'을 본 적이 없지만, 다른 숫자와의 관계를 학습하면서 98.6% 정확도로 예측 가능


전이 데이터(Transfer Set) = 숫자 '7'과 '8'만 포함 → 테스트 오류: 47.3% (즉, 거의 반은 오답)
 즉, 다른 숫자들을 충분히 학습하지 못해서 성능이 크게 떨어짐

 

'7'과 '8' 클래스의 편향을 -7.6 조정하면 → 테스트 오류: 13.2%로 감소

즉, 편향을 조정하면 모델이 다른 숫자도 더 잘 예측할 수 있음

 

 


 

나머지 부분들은 실험 내용들 치곤 내용이 너무 길어서 간략하게 요약만 하고 끝내겠습니다.

 

4. 음성 인식 실험 (Section 4: Speech Recognition Experiments)

DNN을 이용한 음향 모델(Acoustic Model)에서 지식 증류를 적용
대형 모델(8층, 2560 ReLU, 85M 파라미터)이 프레임 정확도 58.9%, 단어 오류율(WER) 10.9% 기록
같은 크기의 모델이라도, 증류된 모델이 직접 학습한 모델보다 훨씬 좋은 성능을 보임
즉, 지식 증류는 모델 크기를 줄이면서도 성능을 유지하는 효과적인 방법임

 

5. 전문가 모델(Specialist Models) 실험 (Section 5: Ensembles of Specialists)

일반 모델(Generalist Model) + 전문가 모델(Specialist Models) 조합 실험
전문가 모델은 특정 클래스에 최적화되어 있으며, 일반 모델과 함께 사용하면 성능 향상
지식 증류를 통해 전문가 모델을 단일 모델로 압축해도 성능이 크게 저하되지 않음
특정 클래스만 다루는 전문가 모델이 효과적으로 동작하지만, 너무 작은 모델로 압축하면 정보 손실 발생 가능00

 

📌 논문의 핵심 결론 (Key Takeaways)

지식 증류(Knowledge Distillation)는 작은 모델(Student Model)도 큰 모델(Teacher Model)의 성능을 유지하도록 학습하는 강력한 방법
음성 인식, 이미지 인식 등 다양한 도메인에서 지식 증류가 효과적임을 실험적으로 검증
온도(Temperature) 조절이 중요한 하이퍼파라미터이며, 모델 크기에 따라 최적의 값이 다름
전문가 모델(Specialist Models)도 증류를 통해 단일 모델로 압축 가능하며, 성능 저하를 최소화할 수 있음