머신러닝 및 딥러닝/자연어처리

Batch size와 Learning rate의 상관 관계

viamemine 2023. 11. 18. 18:40
728x90
반응형

 

batch size는 그저 모든 데이터를 한 번에 학습하기에는 학습량이 너무 많기 떄문에

속도 측면으로 데이터를 쪼개어 학습한다고만 생각할 수 있다.

하지만 loss 수렴 측면에서도 batch size가 중요한 역할을 한다.

 

batch size 작으면 learning rate도 작게 

batch size 크면 learning rate도 크게 .... 

 

1. Learning rate가 클 때,

 

Learning rate가 크면, 한 번의 step에서 파라미터 학습이 크게 진행되기 때문에 보폭이 커진다.

보폭이 크기 때문에 조금 더 빨리 수렴이 가능하고, 그만큼 local minimum에 빠질 위험이 적다.

하지만 너무 크면, Loss가 전혀 줄지 않을 수도 있다. 수렴하지 않는 것이다. 

 

 

 

2. Learning rate가 작을 때,

Learning rate가 작으면, step 보폭이 작아서 조금씩 학습한다.

보폭이 작기 때문에 오버슛이 생기지 않는다.

하지만, 작은 보폭 때문에 local minimum에 빠질 위험이 있다. 

 

 

 

1. batch size가 클 때,

batch size가 크면, 한 번 학습할 때 많은 데이터로 학습을 한다. 

학습이 빠르고 어느 정도 수준까지 수렴이 매우 빠르다.

이는 local minimum에 빠질 확률이 작은 것과 같다.

 

하지만, 작은 batch size보다 overfitting의 위험이 있다.

batch가 크면 계산되는 loss 값의 편차가 작기 때문이다.

 

 

 

 

2. batch size가 작을 때,

1 epoch당 iteration이 크기 때문에 step이 많아진다. 

작은 batch는 작은 데이터로 학습하기 때문에 loss의 분산이 커서 

(한 번에 계산하는 데이터의 양이 작음) regularize 효과가 있다. 

조금 더 다양하고 예리하게 학습이 된다. 

 

하지만, step이 많아서 local minimum으로 빠질 수 있다.

학습시간이 오래걸린다.

728x90