0. Abstract
- 거의 모든 머신 러닝 알고리즘의 성능을 향상시키는 매우 간단한 방법은 같은 데이터에 대해 여러 다른 모델을 훈련시킨 후 그들의 예측을 평균내는 것
- 한계점: 모델 전체의 앙상블을 사용하여 예측을 하는 것은 번거롭고, 개별 모델이 큰 신경망인 경우 특히 많은 사용자에게 배포하는 데 너무 많은 계산 비용이 들 수 있습니다.
Caruana와 그의 동료들은 앙상블의 지식을 단일 모델에 압축하여 훨씬 쉽게 배포할 수 있음을 보여주었고,우리는 다른 압축 기술을 사용하여 이 접근 방식을 더 발전시킵니다.- 우리는 MNIST에서 몇 가지 놀라운 결과를 달성하고, 앙상블의 모델들의 지식을 단일 모델에 증류함으로써 많이 사용되는 상업 시스템의 음향 모델을 크게 개선할 수 있음을 보여줍니다.
- 또한, 하나 이상의 전체 모델과 많은 전문가 모델(전체 모델이 혼동하는 미세한 클래스를 구분하는 것을 배우는)로 구성된 새로운 유형의 앙상블을 소개합니다.
- 전문가의 혼합과는 달리, 이러한 전문가 모델은 빠르게 그리고 병렬로 훈련될 수 있습니다.
⇒ 결론) 앙상블을 효율적으로 하자 !
1. Introduction
[1] 증류를 통해 배포가 더 유용하도록
- 기존 머신러닝에서는 훈련과 배포 사이의 다른 요구사항에도 불구하고, 유사한 모델 사용함
- 훈련: 대규모 데이터셋에서 구조 추출 but 실시간 작동이나 계산 자원에 대한 요구사항X
- 배포: 지연시간과 계산 자원에 대해 더 엄격한 요구사항
- 데이터에서 구조 추출 용이 위해, 매우 큰 모델 or 모델의 앙상블 훈련시켜야됨 → 복잡한 모델
- dropout과 같은 강력한 정규화 기법 사용하여 훈련됨
- 훈련된 복잡한 모델로부터 지식을 증류하여 배포에 적합한 모델로 전달 가능
- (= 대규모 모델 앙상블 → 단일 작은 모델로 지식 전달 가능)
[2] distillation방식으로 일반화한다면, 앙상블에 비해 더 좋은 성능 나타날 것
- 새로운 데이터에 잘 적용될 수 있는 일반화 능력 갖춤의 중요성
- 큰 모델로부터 작은 모델로 지식을 전수할 때는, 작은 모델을 큰 모델과 같은 방식으로 일반화하도록 훈련가능
- ex. 여러 다른 모델들의 평균으로 이루어진 대형 모델이 잘 일반화된다면, 같은 방식으로 일반화하도록 훈련된 작은 모델은 앙상블을 훈련시키는 데 사용된 동일한 훈련 세트에서 정상적으로 훈련될 것이고, 테스트 데이터에서 앙상블에 비해 훨씬 더 우수한 성능을 발휘할 것
- 큰 모델로부터 작은 모델로 지식을 전수할 때는, 작은 모델을 큰 모델과 같은 방식으로 일반화하도록 훈련가능
[3] 소프트 타겟, 복잡한 모델의 일반화 능력을 작은 모델에 전달하는 방법
- 복잡한 모델이 간단한 모델들의 큰 앙상블일 경우
- 개별 예측 분포의 산술적 또는 기하학적 평균을 소프트 타겟으로 사용
- 소프트 타겟이 높은 엔트로피를 가질 때
- 작은 모델은 원래 복잡한 모델보다 훨씬 적은 데이터와 훨씬 높은 학습률을 사용하여 훈련가능
[4] temperature 변수, 더 soft target이 되도록
- distillation (최종 softmax의 temperature를 높여서)
- 복잡한 모델(교사 모델) → 복잡한 모델이 더 soft target set를 생성하도록
- 작은 모델(학생 모델) 학습 → 교사모델과 동일한 높은 temperature사용 → soft target과 일치하도록
[5] transfer set과 train set
- transfer set : 작은 모델(학생 모델)훈련시키는데 사용됨
- label이 없는 데이터로 구성
- 원래의 train set
- 원래 train set이 잘 작동하는 방법: 작은 모델(학생 모델)이 복잡한 모델(교사 모델)에 의해 제공된 soft target과 일치 + 진정한 타겟 예측하도록 장려하는 작은 항을 목적 함수에 추가
2. Distillation
- T에 더 높은 값을 사용하면 클래스에 대한 더 부드러운 확률 분포 생성
- distillation의 가장 간단한 학습 과정
- label이 없을 때 (일반적인 경우)
- transfer set에 대해 학습할때,,
- 1) transfer set의 각 케이스에 대해 높은 temperature가진 복잡한 모델(교사 모델) 사용하여 생성된 soft target분포
- 2) distillation 모델로 전달
- 3) distillation model(학생 모델) 훈련 시 동일한 높은 temperature 사용. but 학습 후에는 temperature=1
- label이 있을 때 학습 방법 (일부여도)
- 정확한 label을 사용하여 soft target을 수정
- 2 가지 다른 목적 함수의 가중 평균 사용 (더 나은 접근법 !)
- 1번째 목적함수: soft target과의 cross entropy
- 복잡한 모델로부터 soft target생성하는데 사용된 것 & 동일한 높은 temperature에서 증류된 모델의 softmax 사용하여 계산
- 2번째 목적함수: 정확한 label과의 cross entropy
- 증류된 모델의 softmax에서 동일한 로짓 사용, temperature=1일때 계산
- 1번째 목적함수: soft target과의 cross entropy
- 부드러운 타겟에 의해 생성된 기울기의 크기가 $1/T^2$에 비례= 메타 파라미터의 실험 동안 distillation에 사용되는 temperature가 변경되더라도 hard target과 soft target의 상대적 기여도가 대략 변하지 않도록 보장
- → 하드 타겟과 부드러운 타겟을 모두 사용할 때 이를 $T^2$로 곱하는 것
- label이 없을 때 (일반적인 경우)
3. Preliminary experiments on MNIST
[1] temperature 관련 실험
- 세팅 & 결과 비교
- 60,000개 훈련 데이터 전체
- (baseline+) 1200개의 선형 은닉 유닛을 가진 2개의 은닉층을 가진 단일 큰 신경망으로 훈련
- 특이점
- dropout (정규화 방법): 가중치 제약
- 가중치 공유하는 지수적으로 많은 모델들의 앙상블 훈련
- 입력 이미지의 어떤 방향으로든 최대 두 픽셀까지 jitteriing
- dropout (정규화 방법): 가중치 제약
- 결과
- 67개의 테스트 오류를 달성
- 특이점
- (baseline) 800개의 수정된 선형 은닉 유닛을 가진 2개의 은닉층을 가진 더 작은 신경망으로 훈련
- 특이점
- 정규화 없음
- 결과
- 146개의 오류를 달성
- (knowledge distillation) (temperature=20 추가했을때) 결과
- 74개의 테스트 오류 달성
- = soft target과 일치하는 추가 작업에 대해서만 정규화 함
- 특이점
- 두 은닉층 각각에 300개 이상의 유닛이 있을 때
- (temperature≥ 8일 때) 결과
- 모두 비슷했음
- (temperature≥ 8일 때) 결과
- 두 은닉층 각각에 30개의 유닛이 있을때 (이전보다 극적 감소)
- (2.5 ≤ temperature ≤ 4) 결과
- 더 높거나 낮은 temperature보다 현저히 더 나은 결과
- (2.5 ≤ temperature ≤ 4) 결과
- = transfer set가 어떠한 변환도 포함하지 않아도, 변환된 훈련 데이터로부터 배운 일반화하는 방법에 대한 지식 포함
[2] transfer set 관련 실험
- 세팅 & 결과 비교
- transfer set에서 숫자 3의 모든 예제 생략
- 기본
- 결과
- distillated model은 test set의 1010개의 3중 133개가 3에 해당하는
- 206개의 테스트 오류 달성
- 결과 해석
- 대부분의 오류: 학습된 3 클래스의 bias가 너무 낮기에 발생
- = 모델이 각 클래스에 대해 충분히 '선호도'를 가지지 않기 때문에, 분류 오류가 발생하기 쉬움
- 결과
- bias를 3.5만큼 증가시킴 (테스트셋에서 전체 성능 최적화)
- 결과
- 109개의 테스트 오류 달성
- 결과
4. Experiments on speech recognition
[1] 이 실험의 contribution 요약
- 자동 음성 인식(ASR)에 사용되는 딥 뉴럴 네트워크(DNN) 음향 모델의 앙상블 효과 조사
- 이 실험의 contribution
- 이 논문에서의 distillation전략이 단일 모델로 모델 앙상블하는데에 더 성능 good
- (동일 훈련 데이터로 직접 학습된 동일 크기의 모델보다)
[2] 머 여기서도 distillation방법이 잘 통했다
- 현재 최첨단 ASR시스템 작동 과정
- DNN 사용하여 파형에서 유도된 feature의 (짧은) 시간적 context를
- 숨겨진 마르코프모델(HMM)의 이상 상태들에 대한 확률분포로 매핑
- DNN은 각 시간마다 삼음소(tri-phone) 상태의 클러스터들에 대한 확률분포 생성
- 디코더: 언어 모델 하에서 높은 확률 상태 사용 & 가능한 전사를 생성하는 사이의 최선의 타협을 찾는 HMM 상태들을 통한 경로를 찾음
4.1 Results
[1] 실험 세팅
- 실험 세팅
- 동일한 구조와 훈련 방식으로 10개의 모델을 훈련
- 모델들은 서로 다른 초기값으로 시작되어, 앙상블의 평균 예측이 개별 모델들을 크게 능가하도록
- 데이터 세트를 달리하는 실험은 결과에 큰 영향을 주지 않아, 간단한 접근법 선택
- 증류 과정에서는 온도 [1, 2, 5, 10]을 시험해 보고, 하드 타겟에 대한 교차 엔트로피에 대해 0.5로 설정
[2] Table 1 해석
- Table 1 해석
- 결론) distillated 접근 방식이 하드 레이블 사용하여 단일 모델 훈련시키는 것 보다 성능 좋음
- 10개 모델의 앙상블(10xEnsemble)로 프레임 분류 정확도 개선의 80%이상이 증류된 모델로 전달됨 (MNIST관련 preliminary실험 결과와 유사)
- 앙상블은 목표 함수 불일치로 인해 최종 목표인 WER에 대해 조금 성능 나아짐
- 이후 앙상블에 의해 달성된 WER 개선 → 다시 한번 증류된 모델로 이전됨
[3] 음향 모델 학습 관련 해석
- 음향 모델 학습 관련 해석
- 방법) 학습된 더 큰 모델의 클래스 확률과 일치시킴으로써 작은 음향 모델 학습
- 큰 레이블이 없는 데이터셋 사용 & temperature=1로 distillation 수행
- 하드 레이블로 훈련된 큰 모델과 작은 모델의 오류율 사이 차이의 28%만큼 작은 모델의 오류율 줄임.
5. Training ensembles of specialists on very big datasets
- 각각이 혼동될 수 있는 클래스의 서로 다른 부분 집합에 집중하는 전문가 모델(교사 모델)을 학습
- 대략적인 학습 방법
- 예제 데이터셋 사용 - 우리는 특정 데이터셋의 예를 들어 앙상블 학습에 필요한 전체 계산량을 줄일 수 있는 방법을 보여줍니다.
- 전문가 모델 학습 - 각 전문가 모델이 혼동될 수 있는 서로 다른 클래스의 부분 집합에 초점을 맞추도록 학습함으로써 계산량을 줄입니다.
- 세부 차별화에 초점을 맞춘 전문가의 문제점 - 세부적인 구분에 초점을 맞춘 전문가 모델은 매우 쉽게 과적합(overfit) 될 수 있습니다.
- 과적합 방지 방법 - 과적합을 방지하기 위해 소프트 타겟(soft targets)을 사용하는 방법을 설명합니다.
5.1 The JFT dataset & 5.2 Specialist Models
(직접 만든 ppt로 설명 대체)
6. Soft Targets as Regularizers
코드
https://colab.research.google.com/drive/1H-SV1rQUnHUTg-Hk13896tdjE5HzxFFe?usp=sharing
Comment
1. Temperature(T) 값 설정 기준? 이 논문에선 2~5가 적절하다고 했는데, 이 논문의 실험들에서 그렇게 나온 결과인지 아니면 다른 논문/실험들에도 범용적으로 사용될수있는 기준치인지?
2. knowledge trasfer, knowledge distillation, transfer learning 차이?