ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • batch size vs epoch vs iteration
    Deep Learning 2022. 2. 4. 18:07
    반응형

    아래 글을 참고한 포스팅

    reference

    https://medium.com/mlearning-ai/difference-between-the-batch-size-and-epoch-in-neural-network-2d2cb2a16734

     

    Difference Between the Batch size and Epoch in Neural Network

    Have you ever been confused about the conceptualization of batch size and epoch in neural network? Believe me, most enthusiasts often…

    medium.com

    https://towardsdatascience.com/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9

     

    Epoch vs Batch Size vs Iterations

    Know your code…

    towardsdatascience.com

     

    batch size?

    • batch size는 한 번에 신경망을 통과시킬 샘플의 수를 의미
    • batch size는 일반적으로 mini-batch라고 불림
    • 모델을 업데이트하기 전에 처리되는 샘플의 수

    예를 들어, 1000만 개의 데이터셋(이미지)가 있다고 가정하자. 이 경우 batch size를 정하지 않고 모델을 훈련하면 computational time이 오래 걸리고 효율적인 접근법이 아니다. 그래서 batch size라는 개념이 등장했다. 각 이미지를 개별적으로 훈련할 필요가 없고 모델이 그룹으로 훈련되도록 batch size를 통해 훈련할 수 있다. 

     

    batch size가 클수록 훈련 중 epoch 당 모델이 더 빨라진다.

     

    훈련 데이셋에서 하나 이상의 batch가 생성될 수 있다. batch gradient descent는 모든 훈련 샘플을 사용해 단일 batch를 생성하는 알고리즘이다. stochastic gradient descent 학습 알고리즘은 batch size가 1인 샘플이다. mini-batch gradient descent는 batch size가 1인 샘플보다 크고 훈련 데이터셋의 크기보다 작은 경우이다. 

    • batch gradient descent : batch size = 훈련 데이터셋의 크기
    • stochastic gradient descent : batch size = 1
    • mini-batch gradient descent : 1 < batch size < 훈련 데이터셋의 크기

    mini-batch gradient descent에 대한 많이 쓰이는 batch size는 32, 64, 128 이다.

     

    epoch?

    • 전체 학습 데이터 셋의 패스 수를 나타냄
    • 하나의 epoch는 전체 데이터셋이 신경망을 통해 한 번 forward 및 backward 하는 경우임

    epoch는 머신 러닝에서 사용되는 용어로 머신 러닝 알고리즘이 전체 훈련 데이터셋에 대해 수행하는 패스의 수를 나타낸다. batch size가 전체 훈련 데이터셋이면 epochs의 수는 반복 횟수와 같다.

     

    x축이 epoch이고 y축이 모델의 오류 혹은 ability(e.g. acc, ...)인 선 그래프는 학습 곡선이라고도 하며 모델이 학습 데이터셋에 대해 overfitting, underfitting 혹은 적절하게 학습이 되었는지를 확인하는 데 도움이 된다.

     

    iterations?

    • iteration은 한 번의 epoch를 완료하기 위해 필요한 batch의 개수를 의미함
    • 하나의 epoch에 대해 batch의 개수와 iteration의 개수는 동일함

    2000개의 훈련 샘플들을 가지고 있을 때 500의 batch로 나누면 1 epoch를 완료하기 위해 4번의 iterations가 필요하다.

    반응형

    'Deep Learning' 카테고리의 다른 글

    [PyTorch] pack_padded_sequence, pad_packed_sequence 설명  (0) 2022.02.05

    댓글

Designed by Tistory.