본문 바로가기
AIML 분야/KD, MultiTask, Foundation Model, Fusion등

Born-Again Neural Networks 매우 잠깐 구경

by 포숑은 맛있어 2020. 12. 29.
반응형

arxiv.org/pdf/1805.04770.pdf

이하 BAN이라고 줄여서 쓰겠음. 아마 다들 한번쯤 들어봤을법한 논문인데 직접 논문을 열어본건 처음임.

 

일단 이 논문을 리뷰하는 이유는, BAN과 같은 목적으로 당장 KD 코드를 짜야하는 상황인데 코드를 뜯어보기 전에 어떻게 돌아가는건지 빠르게 확인하기 위함.


 

What is the paper about?

Task : Knowledge Distillation

Main idea : We study KD from a new perspective: rather than compressing models, we train students parameterized identically to their teachers. 따라서, "identical capacity"가 아이디어의 출발점이다.

 

# Keywords

Knowledge Distillation, Image Classification

 

Method

teacher는 GT label로 학습.

student는 teacher의 logit을 가지고 학습.

k번째 student는 k-1번째 student의 logit을 가지고 학습.

이렇게 계속 전수한다. 마지막 student를 사용하는 것 같다.

 

또는 앙상블을 사용할 수도 있다.

 

이걸 보고 걱정했던게, 전부 메모리에 올리려면 메모리가 크지 않나? 이것. 그러면 다른 task에는 쓰기 어렵다.

뭐 실험결과 보면 앙상블 안 써도 괜찮아서 그러려니 했다.

 

Loss

Default : teacher와 student간의 CE loss를 쓴다고 한다.

정말 dark knowledge가 효력이 있는건지, 어떤 부분에서 그런건지 알아보기 위해 CWTM, DKPP 방식으로도 해봤다.

CWTM: argmax인것만 남기고 나머지 정보 날림

DKPP: argmax인 것은 그대로, 나머지는 permutation 하는 듯

Experiment

일부러 CIFAR-100을 가져왔다. CIFAR-10, PTB 등등 데이터셋에서 있다.

여기서 BAN-1,2,3이 하나만 쓴거고, Ens 쓴건 앙상블이다.

 

1. CIFAR10에서는 그렇게 엄청 차이는 없는데, CIFAR100으로 넘어오니까 크다.

=> 더 어려워서 그런가? 확실히 class도 많아지니까 어려웠다보다.

=> 그러면 내가 원래 하려는 action recognition에서는 많은 도움이 될 것 같은데?

그 어떤 경우에서도 teacher보다 error가 큰건 없으니까 항상 도움은 된다는거다. 신기하다. 같은 capacity인데?

 

2. single network만으로도 괜찮다.

 

3. 하지만 앙상블을 하면 더 좋아진다.

 


Summary

- 처음에 생각했던것처럼 효과를 보는게 가능은 하겠다는 희망을 얻음.

- 코드 보러가자. distillation 한번 다 했으면 메모리에서 내리면 되니까 크게 걱정 안해도 되겠다.

반응형

댓글