[Paper review]Deep double descent

오영주·2021년 12월 2일
2

DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT (2020, ICLR)

Classical vs Modern에서의 직관

  • classical한 통계분야에서 '모델이 너무 크면 좋지 않다'라는게 기본적인 인식있음
    • (Bias-variance trade-off: 모델 복잡도가 올라가면 bias는 작아지지만, variance 는 커진다)
  • 반면 뉴럴넷에서는 '모델은 클수록 좋다'라는 인식이 있다.
  • 또한 효율적인 training 시간에 대한 논의도 진행 중
    • early stopping이 test performance 를 증가시킨다 vs error 가 0까지 충분히 수렴할때까지 triaining 시키는게 낫다)
  • 모델 크기와 트레이닝 시간에 대한 논쟁은 많을지라도, '데이터는 많을수록 좋다' 라는 점에 대해서는 전통적인 분야에서도 neural net 분야에서도 동의하는 부분

Double descent

  • deep learning 모델은 모델 복잡도와 training/testing error 와의 관계에서 두 개의 서로 다른 regime(구간)을 가지게 된다.
  • 구간1. Under-parameterized regime (underfitting 구간)
    • 모델이 충분히 복잡하지 않은 구간에서는 복잡해질수록 training/test error 감소
    • 요 구간을 쫌 지나면, classical 한 통계분야에서와 마찬가지로 Bias-variance trade-off가 발생함 (모델이 복잡해질수록 오히려 error 가 상승)
  • 구간2. Over-parameterized regime(overfitting 이 발생하는 구간)
    • 모델이 충분히 커져서 trade-off 구간을 뛰어넘으면, 즉 0에 가까운 training error를 달성하고 나면, 그 이상 복잡도를 증가시켰을때에 "모델은 클수록 좋다"라는 현대적 직관에 따라 테스트 오류만 감소한다.
  • 위의 두 개의 구간에서 test/training error 가 한번씩 하강하는 곡선을 그리게 되는데 (구간 1에서 하강하다 상승, 구간 2에서 다시 하강) 이걸 double descent 라고 부른다.
  • (근데 double descent 의 발견은 이 논문에서 처음 한 건 아니다. 이미 다른 논문들에서 밝힌 바 있고, 이게 이 논문의 main contribution은 아니다)

Main contribution

    1. double descent 현상이 다양한 task, architecture, optimization method 에서 일어나는 흔한 현상임을 실험으로 밝혔다.
    • (이 논문은 실험만으로 쓰여진 논문이라고 봐도 과언이 아니다, 정말 많은 실험으로써 증명했다...)
    • model complexity 뿐 아니라 epoch 에도 double descent 가 영향받음을 보였다.
      • 모델이 아주 가볍거나, 아주 무거울때에는 epoch을 증가시킬수록 error 가 감소하지만, 그 중간 사이즈의 모델의 경우에는 오히려 epoch 을 늘릴수록 증가하는 구간이 발생한다.
    • 위의 왼쪽 그래프에서 resnet 의 parameter를 증가시킬수록 error 가 감소하다가 어느 순간부터 다시 증가하고 (이 증가에 돌입해서 다시 감소하여 이전보다 error 가 감소하기까지의 구간을 critical regime 이라 부른다) 어떤 임계점을 지나고 나면 다시 감소한다.(이 임계점을 interpolation threshold라 부른다)
    • 위의 오른쪽 그래프에서 보면 epoch의 증감에 따라 double descent 양상이 달라짐을 알 수 있다. 모델이 아주 가볍거나, 아주 무거울때에는 epoch을 증가시킬수록 error 가 감소하지만, 그 중간 사이즈의 모델의 경우에는 오히려 epoch 을 늘릴수록 증가하는 구간이 발생한다.
    1. Effective Model Complexity (EMC)라는 Complexity measurement를 도입하고 double descent 는 EMC 의 function으로 나타낼 수 있음을 보였다.
    • EMC : 모델의 training error 를 0에 가깝게 만들어주는 최대 데이터의 갯수 (EMC 가 클수록 complexity 가 높은 것)
    • -> 왜 갑자기 데이터 수가 나올까?
      • 모델이 복잡할수록 더 많은 데이터로 학습시켜야 training error 가 0으로 갈 수 있다.
      • 즉, EMC 가 크다는 것은 complexity 가 높은 것.

실험 결과

가설과 검증

  • EMC
    • main contribution 부분에서 밝혔듯, 이 논문에서는 EMC 라는 모델의 복잡성을 나타낼 지표를 제안한다.
    • 모델의 training error 를 0에 가깝게 만들어주는 최대 training 데이터의 갯수를 뜻하며, EMC 가 클수록 complexity 가 높은 것이다.)
  • 위의 EMC 를 바탕으로 각 구간에서 아래와 같이 세가지 가정을 세운다.
    1. Under-paremeterized regime - Under fit 구간에서 EMC가 충분히 작다면, test error가 작아질 것이다.
    2. Over-parameterized regime - Over fit 구간에서 EMC가 충분히 크다면, test error 가 작아질 것이다.
    3. Critically parameterized regime - underfit 구간과 overfit 구간이 교차되는 지점에서는 test error 를 증가시킬수도, 감소시킬수도 있다.

Double Descent 현상의 실험

double decent 는 Model size 와 epoch에 dependent 하다

  • 논문에서 진행한 실험을 다 볼 필요는 없을 것 같고, 사실 논문 맨 처음에 나온 사진이 모든 실험을 요약해준다.
  • 여러 모델을 실험해봤더니 model size 뿐만이 아니라 train epoch double descent 가 일반적으로 관측되었다고 한다.
  • 위의 왼쪽 그래프에서 resnet 의 parameter를 증가시킬수록 error 가 감소하다가 어느 순간부터 다시 증가하고 (이 증가에 돌입해서 다시 감소하여 이전보다 error 가 감소하기까지의 구간을 critical regime 이라 부른다) 어떤 임계점을 지나고 나면 다시 감소한다.(이 임계점을 interpolation threshold라 부른다)
  • 위의 오른쪽 그래프에서 보면 epoch의 증감에 따라 double descent 양상이 달라짐을 알 수 있다. 모델이 아주 가볍거나, 아주 무거울때에는 epoch을 증가시킬수록 error 가 감소하지만, 그 중간 사이즈의 모델의 경우에는 오히려 epoch 을 늘릴수록 증가하는 구간이 발생한다.

Model-Wise Double Descent

  • 여러 학습 세팅을 바꾼 상태에서, 모델 size 를 키웠을 때, double descent 현상이 어떻게 나타나는지 실험했다.

Label noise 에 따른 Double Descent

  • label noise 가 커질수록 double descent 현상이 심화된다.

Data augmentation 의 효과

  • augmentation 을 하면 double descent 가 완화된다.

Optimizer

  • 어떤 optimizer 를 써도 double descent 는 일어난다.

Embedding dimension

  • 일반적으로 embedding size 가 크면 모델 성능이 좋아지지만,
profile
data scientist

0개의 댓글