Batch Size 정리 이걸로 끝!

Batch Size : Number of samples that will be passed through to the network at one time
-> 한번에 신경망에 들어가는 데이터 양 (데이터 양이 방대하면 신경망 모델에 데이터를 다 넣기 어렵기 때문에 쪼개서 넣음)

Epoch : One single pass of all the data through to the network
-> 모든 데이터가 신경망에 다 들어가서 모델이 그 모든 데이터를 몇번 학습하는지 (그 횟수가 epoch)

예시: 1,000개의 강아지 사진을 가지고 강아지 종류를 알아보기 위한 모델을 만든다고 예를 들고
batch size가 10이면(=한번에 10개의 강아지 사진씩 신경망에 들어간다는 뜻)
전체 데이터 양이 1,000개이므로 하나의 epoch를 완료하기 위해 100개의 batch가 필요함(= 100 batches per epoch).
batch size * batch = full data size

근데 왜 batch를 사용할까? 왜 데이터를 잘게 쪼개서 신경망에 넣을까?

데이터를 잘게 쪼개서 신경망에 넣어야 모델을 더 빠르게 학습시킬 수 있기 때문 (Larger batches = smaller batch size = faster training), 하지만 단점은 너무 잘게 쪼개면 모델의 정확도가 떨어짐, 신경망에 한번에 주입하는 데이터의 양(batch size)이 적기 때문에.

하지만 batch size가 너무 커도 문제. 데이터의 batch size가 크면(~100) 컴퓨터가 100개의 데이터를 한번에 process 할 수 어려울 수 있기 때문. batch size가 얼마나 되야하는지 모델 학습시키는데 많이 고려하고 적용해야 함.

*이 영상 참조했어요! 이제 batch size에 대해 확실히 알 것 같아요!




Leave a Comment