카테고리 없음

[ML] epoch, batch size, iter의 의미

SweetDev 2022. 2. 9. 12:13

https://wooono.tistory.com/94

epoch

: 한 번의 epoch는 인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함.

즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태

epochs = 40이라면 전체 데이터를 40번 사용해서 학습을 거치는 것입니다.

 

▶ 우리는 모델을 만들 때 적절한 epoch 값을 설정해야만 underfitting과 overfitting을 방지할 수 있습니다.

epoch 값이 너무 작다면 underfitting이, 너무 크다면 overfitting이 발생할 확률이 높은 것이죠.

batch size, iteration

:  한 번의 batch마다 주는 데이터 샘플의 size. 여기서 batch(보통 mini-batch라고 표현)는 나눠진 데이터 셋을 뜻하며

iteration는 epoch를 나누어서 실행하는 횟수라고 생각하면 됨.

▶ 일반적으로 미니 배치 사이즈를 크게하면 peak-acc 값을 높일 수 있지만 , 미니배치 사이즈를 작게 가져가는 것이 전반적인 정확도의 안정성을 높일 수 있다.

 

 

small batch일 때는 Flat Minimum으로 수렴할 가능성이 높다. 

 

[출처]

https://m.blog.naver.com/qbxlvnf11/221449297033

https://wooono.tistory.com/94