반응형
출처: https://blog.naver.com/qbxlvnf11/221449595336
결론부터 말하자면 batch size와 성능의 상관 관계는 아직 정확하게 규정되지는 않았습니다.
task, 데이터에 따라 그 기준이 달라지기 때문입니다.
다만, 일반적으로 32, 64 크기의 mini-batch가 성능에는 가장 좋다고 알려져 있습니다.
batch size를 줄이거나 늘임으로써 얻는 장점을 요약하자면 다음과 같습니다.
▶ batch size를 줄임으로써 얻는 장점
- 필요한 메모리 감소: 전체 데이터를 쪼개어 여러 번 학습하는 것이기 때문에 최소 요구 메모리량을 줄일 수 있음.
▶ batch size를 늘임으로써 얻는 장점
- 아래 graph를 보면 전체 데이터를 활용한 Batch의 경우(파란색 그래프)보다 batch size가 작은 Mni-batch의 경우(초록색 그래프)가 더 fluctuate 한 것을 확인할 수 있음.
(더 flucatuate 하다는 것은 학습이 불안정 해진다는 의미)
▶ 정리
가용 메모리가 적을 때는 batch size를 상대적으로 작게,
보다 안정적으로 학습을 시키고 싶다면 batch size를 상대적으로 높게 설정해주면 됩니다.
다만, 아래 논문 정리글에서도 확인할 수 있듯이
batch size가 커질 수록 일반화 성능은 감소하는 경우가 다소 확인이 되었으니 그 점만 유의해주시면 되겠습니다.
[출처] 머신 러닝 - batch size 적절하게 조절하기|작성자 예비개발자
반응형
'IT기술 관련 > A.I 인공지능' 카테고리의 다른 글
Training and Testing data sets (0) | 2021.02.15 |
---|---|
Sigmoid 대신 ReLU? 상황에 맞는 활성화 함수 사용하기 (0) | 2021.02.15 |
머신 러닝 - epoch, batch size, iteration의 의미 (0) | 2021.02.09 |
한국어 NLP와 딥러닝을 위한 도커이미지 만들기 (0) | 2020.08.06 |
도커를 이용한 딥러닝 환경 구축하기 (0) | 2020.08.06 |