Best Paper review/Others

[3분 컷 리뷰] Regularizing Neural Networks by Penalizing Confident Output Distributions 해석

연금(Pension)술사 2023. 12. 26. 13:59

요약


- 뉴털네트워크를 이용할때, 엔트로피(entropy)가 낮은 경우를 패널티를 줘서 over-confidencence 문제를 해소를 보임.

- 2가지 패널티 방법론을 제시: 라벨스무딩, Confidence penality

- 이미지 분류, 언어모델, 번역, 등의 다양한 문제에서의 이 방법론을 적용하여 해소됨을 보임.

 
 

Figure 1. 논문에서 제시한 2가지 방법론을 사용한 경우의 MNIST 데이터에서의 model confidence 분포. 첫번째그림에서는 예측값의 분포가 0아니면 1이 었는데, 컨피던스의 정규화과정을 거치면서 무조건 0,1이기보다는 중간값을 제시하여 불확실성에 대한 수치를 반영함.

 

사전지식(Preliminary)


*엔트로피가 낮다= 0 또는 1로만 모델이 분류하여 예측이 이분화(dichotomy)된 것을 의미합니다. 하지만, 세상의 모든예측이 확실할수만은 없죠.
* 엔트로피의 정의는 다음을 참고하세요.
 

 

방법론(method)


- H은 엔트로피를 의미해서 모델이 반환하는 값을 이용해서 다음의 식을 계산합니다.

$L(\theta) = - \sum logp_{\theta}(y|x) - H(p_{\theta}( y|x ))$

이 수식이 의미하는 것은 Loss = (negative log-likelihood) - (beta * negative entropy) 입니다. 즉, 손실값 = 오분류 오차 - (가중치 * 분포도)을 의미하는 것이죠. 추가로 beta 가 들어가 있는데, beta을 줘서 너무 강하게 한쪽으로만 에측하지 않도록 패널티을 추가하는 형식입니다.

 

- 방법론 1. Annealing 과 Threhold방법론

힌지 손실함수(Hinge loss)을 사용하는 방식입니다.

$L(\theta) = - \sum logp_{\theta}(y|x) - \beta max(0, \tau - H((p_{\theta}(y|x) ))$

위 식에서는 엔트로피가 타우($\tau$)보다 큰 경우만 패널티를 주는 수식으로 변경했습니다. 이렇게하는 이유는 지도학습의 경우에는 학습 초반에 빨리 파라미터가 수렴하는 것이 좋은데, 이럴려면 초반에는 패널티가 좀 적어야하고, 학습후반에 패널티를 키워야합니다.즉, 패널티를 초반에는 안주고, 후반에는 줘야합니다. 따라서, 이를 구현하기위해서 힌지로스(=>max(0, tau - 함수값))을 써서 다음과 같이 구현했습니다.
 
- 방법론 2. 라벨 스무딩(Label smoothing)
사전 라벨의 분포를 사용하는 방법입니다. 사전 라벨이 균일하다면, 예측된 라벨의 분포도 균일하길 바라바면서 KL Divergence로 두 분포의 거리를 패널티로 주는 방법입니다.
 
  $L(\theta) = - \sum logp_{\theta}(y|x) - D_{KL}(u \|\|H((p_{\theta}(y|x) ))$

 

실험(Experiments) 및 결과(Results)


실험으로는 이미지 분류를 진행했고 MNIST에서는 오차율이 약간 크게나왔습니다. (Table 1). 하지만 그레디언트의 크기자체는 다른 방법론보다 작아진 것을 볼 수 있는데요.이는 더 빨리 수렴했음을 의미합니다.(FIgure 1)

 

언어모델에서도 이 방법론을 적용했는데요. 여전히 다른 모델이 성능이 좋지만, Zaremba et al (2014)의 모델을 그대로 적용한 경우 confidence penalty가 가장 낮았습니다(Table 3)

 

결론

- 정리하면 이 논문에서는 "모델의 신뢰도(model confidence)"을 정규화하는 방법 2가지을 제시했습니다: confidence penality, label smoothing). 이 두 방법론은 지도학습에서 향상된 성능을 보였습니다.

 

반응형