Epoch / Batch Size / Step / Iteration

Epoch:

  • 전체 데이터 셋에 대해 한 번(forward pass/backward pass 과정) 학습을 완료한 상태를 1 epoch이라고 한다.
    • epochs = 10 이라면 전체 데이터를 10번 사용해서 학습하는 것이다.
    • 적절한 epoch 값을 설정해야만 underfitting과 overfitting을 예방할 수 있다.
    • epoch 값이 너무 작으면 underfitting, 너무 크면 overfitting이 발생할 확률이 높다.

Batch Size

  • 하나의 Batch마다 주어지는 데이터 샘플의 사이즈
  • Batch(mini-batch)는 나눠진 데이터 셋을 의미
  • 1 Step에서 사용한 데이터 개수
  • SGD batch size = 1

Step

  • 1개의 Batch에서 loss를 계산한 후 Weight와 Bias를 업데이트하는 것을 1 Step이라고 한다.

Epoch, Batch Size, Step은 다음과 같은 관계를 가진다.

n * e = s * b

  • n(num of sample): 전체 학습할 데이터 개수
  • e(epochs): Epoch 수
  • b(batch size): 배치 사이즈
  • s(steps): Step 수

image

댓글남기기