728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.
https://welldonecode.tistory.com/126
GD(Gradient Descent)는 방향을 너무 신중하게 (모든 데이터를 전부 고려해서) 결정해서 문제이고,
SGD는 데이터를 하나씩만 보기 때문에 너무 성급하게 방향을 결정한다는 문제점이 있다.
이 둘의 절충안이 mini-batch SGD이다.
batch size만큼 데이터를 뽑아서 방향을 결정한다. (단, 뽑지 않는 데이터가 없게 하기 위해 mini-batch size=5 지만 마지막에 3개가 남았다면 그냥 3개만 뽑아서 결정한다.)
https://arxiv.org/abs/1706.02677
batch size는 크기가 클수록 경사하강법에서 더 신중하게 많은 데이터를 가지고 방향을 결정하기 때문에 유리하다. 하지만100% 맞는 말은 아니다.
위 논문에 의하면 batch size는 약 8k까지가 제일 적당하다.
8k까지는 아래와 같은 방법으로 커버가 가능하다.
- learning rate를 batch size와 정비례하게 같이 증가시킨다.
- learning rate warmup을 사용한다. (처음부터 너무 크면 좋지 않다)
728x90
'AI' 카테고리의 다른 글
Momentum vs RMSProp (0) | 2024.09.01 |
---|---|
파라미터 (parameter) vs 하이퍼파라미터 (hyperparameter) (0) | 2024.09.01 |
SGD (Stochastic Gradient Descent) (0) | 2024.09.01 |
가중치 초기화 기법 (Weight Initialization) (0) | 2024.09.01 |
경사하강법 (Gradient descent) (0) | 2024.08.31 |