logo

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

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

논문 리뷰

플루딩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

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