Machine Learning/Basic
Epoch, Batch, Iteration 이란? 차이점은 무엇일까? 무엇이 다른걸까?
LYHyoung
2023. 8. 9. 15:29
728x90
마이크로아키텍처 공격 연구를 위해 조사 중, 공격 대상을 AI를 타겟팅을 해보기로 해서, Machine Learning을 공부하며 기본상식(?)과 같은 내용을 남기고자 한다.
Epoch
Epoch는 훈련 데이터 셋에 포함된 모든 데이터들이 한 번씩 모델을 통과한 횟수를 말한다. 즉 모든 학습 데이터셋을 학습하는 횟수를 말한다.
만약 epoch가 10이라면, 학습 데이터 셋을 10회 모델에 학습시켰다는 것이다.
그렇다면 Batch는 무엇일까?
Batch
Batch는 영어로 "함께 묶다"라는 사전적 의미가 있다.
Machine Learning 에서도 동일하다.
Batch란 연산 한 번에 들어가는 데이터의 크기를 가리킨다.
또한 mini Batch란 단어가 나온다. mini batch는 1 Batch size에 해당하는 데이터 셋을 말한다.
즉, 1회 epoch 안에 m개의 mini batch가 들어가게 된다. (m=1일 경우, 배치 학습법 이라고도 한다)
그럼 Iteration은 무엇일까?
Iteration
iteration은 "반복"이라는 사전적의미를 갖고있다.
역시나 마찬가지로 사전적의미와 비슷한 용어로 사용된다.
iteration은 전체 데이터를 모델에 한번 학습시키는데 필요한 Batch 수를 말한다.
즉, 1 epoch를 마치는데 필요한 파라미터 업데이트 횟수라고 할 수 있다.
728x90