본문 바로가기

머신러닝 읽어주는 남자

model knowledge distillation

반응형

관련 논문: Distilling the knowledge in a neural network(2015)

 

distillation: 정제. 즉, 불순물이 많은 앙상블(ensemble) 모델에 불필요한 부분을 걷어내고 최소한만을 남기는 행위

 

Why?

일반적으로 앙상블 모델을 사용하면 regularization이 되어 성능이 향상됨(3%)

but 너무 크고 무거운게 함정

그래서 싱글 모델로 앙상블 모델의 성능을 얻어내기 위함

 

How?

- 방법 1.

기존 데이터에 노이즈를 섞어서 새로운 데이터 생성 -> 앙상블 모델로 레이블링 -> 많아진 데이터로 싱글 모델 학습

데이터가 아주아주 많으면 오버피팅 문제를 해결할 수 있어서 효과적임

 

-방법 2.

방법1처럼 데이터를 더 생성 -> 앙상블 모델에서 나온 logit 값으로 레이블링(약간의 노이즈를 섞어주면 더 좋음) -> 새로운 데이터로 싱글모델 학습

노이즈를 섞어주면 레귤러라이즈 효과가 생김

 

-방법 3

앙상블 모델에서 나온 확률값(softmax)값으로 레이블링 -> 이를 학습

추가적으로 전통적인 소프트맥스은 한 레이블에 비교적 쏠리는 극단적으로 나오기 때문에,

Temperature라는 개념을 도입

logit값에 나누어주어, 모든 클래스에 확률분포가 고루 나뉘도록 만들어줌

temperature:2~5 정도로 설정

또한 cross entropy 계산시에 정답레이블에 1값을 주지 않고 각각의 클래스의 확률값을 넣어거 계산한다.

 

What?

앙상블 모델보다는 조금 못 하지만, 일반 싱글보다는 월등한 모델을 싱글모델과 동등한 코스트로 얻을 수 있다

반응형