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 업데이트 횟수도 줄여 대규모 데이터셋과 복잡한 모델에 대한 훈련을 개선했다고 할 수 있다.