작성
·
310
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
sec.sensor님, 질문해주셔서 감사합니다.
batch size를 크게 설정하면 GPU와 같은 하드웨어의 병렬 처리 능력을 더 효율적으로 사용하여 각 iteration(반복학습)의 처리 시간을 단축시킬 수 있습니다. 그 결과 학습 속도가 빨라질 수 있죠. 하지만 너무 큰 batch size는 메모리 오버플로우를 일으킬 수 있으며, batch size가 커짐에 따라 학습이 수렴하기까지 필요한 epoch 수가 늘어날 수도 있습니다.
모델 성능과 batch size의 상관관계는 따로 존재합니다. 큰 batch size는 일반적으로 미니배치에서의 gradient 추정이 더 안정적이 되지만, 너무 크면 모델이 지역 최소값(local minima)에 갇히거나 제한된 수의 weight 업데이트로 인해 충분하게 학습이 일어나지 않을 수 있습니다. 반면 작은 batch size는 더 많은 weight 업데이트를 가져와서 종종 학습에 있어 더 나은 일반화를 갖게 되지만, 학습 과정이 불안정해질 수 있고 과적합의 위험도 있습니다.
적절한 batch size는 특정 모델, 데이터, 학습 목표 등에 따라 다를 수 있으며, 경우에 따라 실험을 통해 적절한 값을 찾아야 합니다.
감사합니다~