머신러닝을 할 때 '적절한 배치 사이즈는 무엇일까?' 라는 의문이 생긴다. 이는 극단적인 케이스를 생각해보면 어느정도의 해결책을 찾을 수 있다.
1개의 Training data만 보고 학습을 할경우 해당 데이터에만 최적화되게 그래디언트를 계산할 것이다. 이는 마치 생각대로 돌진하는
돈키호테와 같아 학습이 잘 안이루어질 수 있다.
반면, 배치사이즈를 Training Data 만큼의 숫자로 설정한다면 생각은 많이 하지만 결정은 느린 햄릿과도 같게 된다. 즉, 학습은 잘 이루어질 수 있어도 시간이 너무 너무 오래걸린다는 현실적 한계를 만날 수 있다.
배치 정규화와 연관지어서도 생각해보았다. 평균과 표준편차가 중요한 배치정규화를 위해서는배치의 크기가 클 수록 좋다고 할 수 있다. 하지만 배치의 크기를 키운다는 것은 그만큼 큰 메모리가 필요하다는 말이고, 결국 배치를 키우기 위해서는 장비빨이 좋아야한다는 슬픈 결론에 도달할 수 있다. 그러므로 굳이 결론을 내자면 일반적인 개발환경이라면 메모리가 허용하는 크기 내에서 최대한의 배치크기를 사용하는 것이 답이지 않을까 싶다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit