본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2024-1] 주서영 - Don't Decay the Learning Rate, Increase the Batch Size

by 영써 2024. 4. 12.

Abstract

  • 모델은 generalizaion(일반화)를 시키는 것이 목표인데 이 논문은 그 방법 중 학습률(learning rate)배치 크기(batch size)에 대해 다룬다.
  • 일반적으로 학습률을 감소시키는 대신 훈련 중에 배치 크기를 증가시키는 방법을 제안했다.
  • 최적화(Optimization) 방법 중 SGD, SGD momentum, Nesterov momentum, Adam을 쓸 때에 동등한 테스트 정확도를 달성하면서 배치 크기를 증가시킴에 따라 parameter 업데이트 수를 줄이고, 훈련 시간을 단축했다.

 

1. Introduction

  • 확률적 경사 하강법(SGD)은 딥러닝에서 가장 널리 사용되는 최적화 기법이지만 큰 배치 크기로 훈련할 때 테스트 세트의 정확도가 떨어지는 일반화 문제가 있다.
  • 일반적으로 학습률을 점진적으로 감소시키는 simulated annealing을 쓰지만 학습률이 떨어지는 만큼 배치 크기를 늘리는 방법을 사용했다.
  • 모멘텀 $m$에 대해 $\mathrm{scale}\,B ∝ \frac{1}{(1 − m)}$만큼 배치 크기를 증가 시켰지만 테스트 정확도가 약간 감소하는 경향이 있었다고 한다.

 

2. Stochastic gradient descent and convex optimization

  • 볼록 함수(convex function)의 최소값에 도달하기 위해서는 learning rate를 줄이는 것이 일반적이지만 noise로 최적화 과정에 영향을 줄 수 있다.
  • 배치 크기를 조절함으로써 이러한 잡음의 영향을 줄여 관리할 수 있었다고 한다.

 

3. Simulated annealing and the generalization gap

  • 작은 배치 훈련 과정에서 큰 배치 훈련보다 테스트 세트에 대해 더 잘 일반화된다는 것이 밝혀져있지만 큰 배치를 사용할 때 이점을 잃을 수 있기에 simulated annealing을 통해 문제를 해결하고자 한다.

 

4. The effective learning rate and the accumaltion variable

  • SGD 대신 모멘텀을 포함한 SGD가 noise scale점에서 많이 사용된다.
  • learning rate와 momentum coefficient(모멘텀 계수)를 증가시키면서 동시에 batch size를 조정함으로써 parameter 업데이트 횟수를 줄여 최적화 과정을 향상시킨다.

  • 3가지 scheduling rule 사용
    • Decaying learning rate : batch size를 유지하면서 learning rate를 $\frac{1}{5}$씩 줄이기
    • Increasing batch size : learning rate를 유지하면서 batch size를 $5$배씩 늘리기
    • Hybrid : 처음 learning rate에서만 batch size 증가하고 그 다음 똑같이 learning rate 줄이기

 

5. Experiments

  • 5.1 Simulated annealing in a wide RESNET: CIFAR-10에서 Wide ResNet을 사용한 실험을 통해 3가지 scheculing rule에 대해 learning 감소와 batch size 증가 결과가 동일함을 알 수 있다.
  • batch size를 조정하는것이 똑같이 training loss 감소에 기여하는 것을 알 수 있다.

 

  • momentum와 Nesterov momentum에서도 동일하다.

 

  • momentum을 안쓰는 SGD와 Adam에서도 결과가 비슷하다.
  • Adam에서는 decaying learning rate가 조금 더 좋은 것으로 보인다.

 

  • Default settings
    • learning rate : 0.1
    • decay factor : 5
    • momentum : 0.9
    • batch size : 128
  • Increased momentum coefficient가 성능이 조금 낮게 나왔다.

 

  • 5.2 Increasing the effective learning rate: learning rate를 효율적으로 증가시키는 방법을 통해 필요한 parameter 업데이트 수를 줄일 수 있음을 알 수 있다.

  • Trained Inception ResNet-V2
    • first decay step에서만 batch size를 늘림
    • Ghost batch size : 32
    • initial learning rate : 3.0
    • momentum : 0.9
    • initial batch size : 8192

 

  • 5.3 Training IMAGENET in 2500 parameter updates: ImageNet을 훈련하는 데 필요한 파라미터 업데이트 수를 대폭 감소시키는 방법을 적용했다.

  • momentum 결과에 따른 테스트 정확도

 

  • 5.4 Training IMAGENET in 30 minutes: 30분 만에 ImageNet에서 높은 검증 정확도를 달성하도록 ResNet-50을 훈련했다고 한다.

 

6. Conclusions

  • learning rate를 감소시키는 대신 batch size를 증가시켜 학습 시간을 단축시키고 parameter 업데이트 횟수도 줄여 대규모 데이터셋과 복잡한 모델에 대한 훈련을 개선했다고 할 수 있다.