Batch Size, 얼마나 줘야 좋을까? 딥러닝 성능과 일반화의 균형 찾기

Bean·2025년 5월 11일
0

인공지능

목록 보기
25/123

Batch Size가 딥러닝 모델 성능에 미치는 영향

1. 배치 사이즈(Batch Size)란?

배치 사이즈는 딥러닝 모델이 한 번의 학습 스텝에서 처리하는 데이터 샘플 수를 말합니다. 예를 들어, batch size가 32라면, 모델은 32개의 데이터를 보고 손실(loss)을 계산하고, 그에 대한 기울기(gradient)를 계산해 파라미터를 업데이트합니다.


2. 배치 사이즈의 크기에 따른 장단점

🔹 작은 배치 사이즈 (예: 8~32)

  • 장점

    • 일반화 성능이 좋을 수 있음 (적당한 노이즈가 규제 효과)
    • 메모리 효율이 좋음 (낮은 GPU 요구)
  • 단점

    • 학습 속도가 느림 (많은 반복 필요)
    • gradient의 분산이 커서 불안정할 수 있음
    • BatchNorm 사용 시 통계가 불안정할 수 있음

🔸 큰 배치 사이즈 (예: 128~1024 이상)

  • 장점

    • 학습 속도가 빠름 (GPU 효율 ↑)
    • gradient가 더 안정적
  • 단점

    • 과적합 위험 증가
    • 일반화 성능이 떨어질 수 있음
    • 메모리 사용량이 큼

3. 너무 작은 배치 사이즈는 오히려 성능을 해칠 수 있다?

작은 배치 사이즈는 일반화에 유리하다고 알려져 있지만, 너무 작을 경우 (예: batch size 2나 4) 오히려 다음과 같은 문제가 생길 수 있습니다:

  • gradient 노이즈가 지나치게 커져서 최적점을 잘 찾지 못하고 불안정한 학습 진행
  • BatchNorm과 같은 정규화 기법이 제대로 작동하지 않음
  • 수렴 속도가 매우 느려지고, 오히려 일반화 성능까지 저하될 수 있음

📌 실제 연구에서도 확인됨:

  • "Revisiting Small Batch Training for Deep Neural Networks" (Masters & Luschi, 2018): 너무 작은 배치는 학습과 일반화 모두에 좋지 않다는 결과

4. 적절한 Batch Size는?

적절한 배치 사이즈는 다음 요소에 따라 달라집니다:

항목권장 배치 사이즈
이미지 분류 (CNN)32 ~ 256
자연어 처리 (RNN/Transformer)16 ~ 64
작은 데이터셋8 ~ 32
대용량 GPU 사용128 ~ 1024

⚠️ Batch Size를 키울 땐 Learning Rate도 함께 조정해야 합니다.
일반적으로는 linear scaling rule(batch size를 2배 → learning rate도 2배) 사용


5. 정리

배치 사이즈일반화 성능수렴 속도메모리 사용특징
너무 작음 (2~4)❌ 불안정❌ 느림✅ 낮음과도한 노이즈로 역효과 가능
적절 (32~128)✅ 안정적✅ 빠름✅ 효율적대부분의 경우 추천
너무 큼 (1024 이상)❌ 과적합 위험✅ 빠름❌ 높음일반화 성능 주의 필요

✅ 마무리 Tip

  • 작은 배치 사이즈가 항상 좋은 건 아닙니다.
  • 너무 작으면 학습이 불안정해지고, 일반화도 나빠질 수 있습니다.
  • 적절한 배치 사이즈를 찾기 위해서는 실험과 검증, 그리고 **리소스(GPU 메모리)**에 맞는 조정이 중요합니다.
profile
AI developer

0개의 댓글