hinton의 knowledge distillation이후에 발명된 knowledge distillation들 알아보기
1. introduction
기본적으로 알고있는 hinton의 최초 distillation이 baseline knowledge distillation
teacher를 여러명 두겠다는 ensemble of teacher
triplet network를 이용한 distillation
조교 선생님도 두겠다는 teacher assistant knowledge distillation
logit이 classification에서만 사용된다는 태생적인 한계 때문에 logit 말고도 다른 것에서도 지식을 배울 수 있다면?
classification 문제 말고도 분명 다른 문제에서도 지식이라는 것이 있을 것임
그래서 예를 들어 최종 layer 말고 중간 layer에서 knowledge를 뽑는 feature distillation이라는 것도 있음
2. overhaul of feature distillation
feature distillation이 여러가지 나왔는데
이쯤에서 잘하고 있는지 고쳐보자, 되돌아보자는 의미가 overhaul
기존의 feature distillation은 마지막 logit이 아닌 중간 중간 feature를 teacher와 student사이에서 비교했음
중간 layer에서 뽑아낸 teacher의 feature와 student의 feature사이 거리를 비교함
기존에는 ReLU를 통과한 후 feature를 뽑아내 student와 teacher사이 거리를 비교했는데
ReLU라는 것이 통과하면 0이상의 양수만 가져오기 때문에
0보다 적은 feature값의 지식은 배우지 못한다고 생각하여 ReLU 이전의 feature를 뽑아서 비교하자는 것이 새로운 feature distillation
이전에는 ReLU이후에 feature distillation layer를 놓아 뽑아서 teacher와 student사이 거리를 비교했는데
이 논문은 ReLU 이전에 layer를 놓아 feature를 뽑은 뒤 teacher와 student사이 거리를 비교하자
ReLU이전에 distillation을 하여 0보다 적은 feature를 배우고자 했는데
의도와는 다르게 student가 배우지 말아야할 것을 쓸데없이 배우게되더라?
논문에서는 “a partial L2 distance function to skip redundant information giving adverse effect to the compression of student”
student 압축에 부정한(adverse) 영향을 주는 쓸데없는(redundant) 정보를 생략하기 위해 partial L2 distance function을 도입했다라고 언급
partial L2 distance 정의를 보면 Si <= Ti <= 0이면 0으로 하고 이 범위 밖이면 Ti , Si의 L2 distance를 계산하자.
마치 distance에 ReLU를 씌운 느낌이랄까
3. data-free knowledge distillation
기존의 knowledge distillation들은 teacher와 student모두 original dataset을 사용해서 training해야했다.
student 학습에 original training set이 필요했다.
그런데 다시 생각해보면 student network를 만드는 기본적인 목적은 smartphone같은 edge device에 넣어 가볍게 사용하려고 만드는 것인데
datacenter에 존재하는 대용량의 train set까지 mobile device에 넣어서 스마트폰에서 학습시켜야된다는게 분명히 아쉬운 부분이다.
“however all of these approaches rely on access to the original training set, which might not always be possible if the network to be compressed was trained on a very large dataset, or on a dataset whose release poses privacy or safety concerns as may be the case for biometrics tasks”
그 외에 privacy 문제도 있다는 것을 언급하고 있다
그렇다면 data-free, 데이터가 없어도, 혹은 데이터가 아주 적더라도 knowledge distillation이 가능할까? 고민하여 제안한 논문
datacenter에서 학습시켜 약간의 meta data와 함께 pretrained teacher model을 deploy하는데
student model이 필요한 시점에 meta data를 reconstruction하여 얻은 data를 가지고
함께 release한 pretrained model을 이용하여 knowledge distillation을 이용한 model compression을 수행한 뒤 smartphone에 deploy
'딥러닝 > light weight modeling' 카테고리의 다른 글
가장 좋은 augmentation을 찾기 위한 시도들 - AutoML, Rand augmentation (0) | 2024.10.01 |
---|---|
knowledge distillation 자세하게 (0) | 2024.09.24 |
activation function quantization에 대하여 (0) | 2024.09.05 |
mixed precision training 자세히 공부하기 (0) | 2024.09.04 |
Deep learning compiler란 무엇인가 (0) | 2024.08.29 |