본문 바로가기
딥러닝

[딥러닝 논문 리뷰] Regularizing Class-wise Predictions via Self-knowledge Distillation

by 미스터탁 2020. 6. 12.

이번에 포스팅할 논문은 "Regularizing Class-wise Predictions via Self-knowledge Distillation" 이라는 논문입니다.

 

최근에 Knwledge Distillation에 관심을 가지기 시작해서 읽어본 논문인데

 

사실 Knwledge Distillation과 크게 상관있지는 않는 논문이네요..ㅋㅋ

 

올해(2020) CVPR에 accept된 논문이고 카이스트에서 나온 논문입니다. 

 

매우 심플하고 쉬운 아이디어를 논문에 잘 녹여낸것 같습니다.

 

 

 

이 논문은 아래 두문장으로 짤막하게 요약할 수 있을 것 같습니다.

 

New Regularization method

- We distill the predictive distribution between different samples of the same label during training

- Consequently, it mitigates overconfident predictions and reduces intra-class variations.

 

결국에, Overfitting을 방지하기 위한 regularization method 논문이며, overfitting을 방지하는 것 뿐만 아니라, 틀린 오답을 내더라도 좀 비슷한 오답을 내겠다라는 것입니다.

 

일반적인 Softmax의 수식은 다음과 같습니다. 여기서 T는 temperature죠. Soft label을 위한 softmax라고 보시면 될 것 같습니다.

 

 

논문의 저자들이 제안하는 Loss는 다음과 같습니다. 

 

X'은 같은 label을 가지는 X를 의미합니다. 즉 L_cls는 현재 X 데이터와 같은 label을 가지는 다른 X' 의 output이 가까워 지도록 학습하게 하는 Loss입니다.

 

여기에 일반적은 Cross entropy Loss를 섞어서 최종적인 Loss를 구성합니다.

 

 

논문에서 제안하는 구조는 다음과 같습니다.

 

직관적으로 이해하기 쉽게 그려져 있는 것을 알 수 잇습니다.

 

새(1)의 이미지를 feed forward 시켜서 나온 output과 또 다른 새(2)의 이미지를 feed forwad시켰을때 나온 output의 차이를 줄이면서 (L_cls) 새(1)의 label을 분류하도록 (L_ce) 학습을 진행하겠다 라는 것입니다.

 

아래 그림의 두번째 그림을 보시면 Woman label에 대하여 Cross-entropy loss만을 사용하였을 경우에는 Table이라는 값으로 오답을 내었지만 저자들이 제안한 loss를 사용하였을 때에는 비슷한 오답은 Girl로 오답을 낸것을 볼 수 있습니다.

 

즉, 제안한 loss를 사용하였을 경우에 overfitting을 방지하고 오답을 내더라도 그나마 정답에 가까운 오답을 내겠다라는 것입니다. 

 

 

알고리즘은 다음과 같습니다.  

 

다양한 데이터셋에 모델별 Loss별 비교실험을 많이 진행하였습니다.

 

 

 

 

Image regularization / Knowledge Distillation 과도 비교를 진행했는데, Regularization기법이나 KD기법을 같이 사용하였을 경우에는 더 좋은 효과를 얻을 수 있다고 합니다.

 

Loss별 학습 후 feature embedding을 T-SNE로 시각화 시킨 결과 입니다.

 

CS-KD loss를 사용하였을 경우에 label별로 grouping이 잘 되는 것을 볼 수 있습니다.

 

 

 

논문에서 제시한 모델이 잘못분류한 다른 예시입니다.  

 

 

개인적으로 매우 심플한 아이디어고 굉장히 읽기도 쉬운 논문이라고 생각합니다. 그리고 본 논문에서 제안한 loss의 효과도 꽤 좋은 것 같습니다. 

반응형

댓글