논문 리뷰: Do We Need Zero Training Loss After Achieving Zero Training Error? 📂머신러닝

논문 리뷰: Do We Need Zero Training Loss After Achieving Zero Training Error?

flooding do we need zero training loss after achieving zero training error review

논문 리뷰

플루딩flooding은 ICML 2020에서 발표된 Do We Need Zero Training Loss After Achieving Zero Training Error?에서 소개된 레귤라이제이션 기법을 말한다. 이 논문의 저자는 오버피팅이 일어나는 이유가 아래 그림과 같이 지나치게 작은 트레이닝 로스라고 말한다.

1.png

따라서 아래 그림과 같이 학습 과정에서 트레이닝 로스가 특정한 값 이하로 내려가지 않게 조절하면 테스트 로스를 줄일 수 있을 것이라는 것이 논문 내용의 핵심이다.

2.png

이런 식으로 기준이 되는 트레이닝 로스의 최솟값을 지정해주는 것을 플루딩Flooding이라 한다. 저자는 플루딩 기법이 테스트 로스를 줄여주면서도 그 알고리즘이 놀랍도록 쉽다고 한다. 기존의 로스를 $L$라고 한다면 플루딩을 적용한 로스 $\tilde{L}$는 아래와 같다.

$$ \tilde{L}(\boldsymbol{\theta}) = \left| L(\boldsymbol{\theta})-b \right| +b,\quad b>0 $$

$\boldsymbol{\theta}$는 모델의 파라매터이다. 여기서 $b$를 플루딩 레벨Flooding Level 이라고 부른다. $\tilde{J}$의 기울기는 $J(\boldsymbol{\theta})>b$일 때 $J(\boldsymbol{\theta})$와 같은 방향, $J(\boldsymbol{\theta})<b$일 때 $J(\theta)$와 반대 반향이다. 아래의 자료는 실제 트레이닝 결과이다.

3.png

$W$는 Weight decay, $E$는 Early stopping, $F$는 Flooding을 의미하고 해당 기법이 적용되었을 때 체크로 표시했다. 빨간색 하이라이트는 가장 좋은 성능을 의미한다. 반으로 나눠서 오른쪽에 있는 결과들이 플루딩을 적용했을 때의 결과인데 하이라이트가 많음을 알 수 있다. 아래의 그래프는 플루딩 레벨을 조절해가며 CIFAR-10으로 테스트한 결과이다.

4.png

빨간색 선이 플루딩이 있을 때의 테스트 로스이고, 주황색 선이 플루딩이 없을 때의 테스트 로스이다. 주황색선은 트레이닝 로스가 줄어듦에 따라 발산하지만 빨간색 선은 발산하지 않음을 알 수 있다. 즉, 오버피팅이 일어나지 않았음을 의미한다.

댓글