카테고리 없음
epoch 대신 iteration
devim
2023. 7. 16. 22:28
epoch 이란?
학습 데이터를 몇 번 반복해서 학습할 것인지를 말한다.
batch 란?
인공지능 모델이 학습하는 데이터셋을 말한다.
한 epoch을 실행할 때마다 학습 데이터 전체를 한꺼번에 계산하면 학습이 잘 안될 수가 있다(?)
따라서 학습 데이터를 여러 개의 mini batch 로 나눈다.
그러면 한 epoch을 실행시키는 동안 여러 개의 mini batch 에 대해 학습을 하고
한 epoch이 끝나면 학습 데이터 전체에 대해 학습을 완료하게 된다.
이 과정을 epoch 수만큼 반복한다.
따라서 인공지능 모델을 디자인할 때 배치 사이즈(인공지능 모델이 한 번에 얼만큼의 양의 데이터를 학습할 것인지) 또한 중요한 하이퍼파라미터가 되는데
만약 실무를 수행하면서 학습 데이터의 양이 점점 커지게 된다면 한 epoch 동안 많은 양의 데이터를 학습할 수 있으므로
모델의 학습 결과가 향상되었을 때 그 원인이 모델의 개선사항 때문인지 학습 데이터 양이 더 많아져서인지 알 수 없다.
이때, 한 epoch마다 train result, loss value 등을 살펴보는 것이 아니라
하나의 iteration, 즉 하나의 mini batch 마다 학습 결과를 출력하면 학습 데이터의 양에 상관없이 객관적인 모델 성능 비교가 가능하다.
