Batch/Epoch/Iteration

하영영
|2024. 7. 22. 11:40

1. Batch size

: 모델의 가중치들을 한 번 업데이트 할 때, 사용하는 데이터들의 집합(수)

 

EX)

2000개의 문제를 200개씩 나눠서 푸는 것

(batch size = 200)

 

 

 

2. Epoch

: 모델이 전체 데이터를 모두 사용하여 학습을 한 횟수

 

- 1-epoch : 전체 데이터셋이 순전파+역전파를 통해 신경망을 한 번 통과한 것

- epoch값이 너무 작으면 underfitting, 너무 크면 overfitting

 

EX)

문제집에 있는 모든 문제(2000)를 풀고 채점까지 맞춘 것.

-> 3-epoch는 같은 문제집을 처음부터 끝까지 총 3회 풀었다는 것을 의미함.

 

 

3. Iteration

: 1 epoch에 필요한 batch의 개수

= 파라미터 업데이트를 수행한 횟수

= Step

 

EX)

2000개의 데이터  200개의 batch size

   전체 데이터셋을 처리하기 위해 10번 반복해서 업데이트가 이뤄짐 (2000 = 200x10)

   -> 10번의 파라미터 업데이트 = 10 iteration

 

2000개의 데이터 -> batch size=500 / epoch=20 설정

   ->  1epoch 당 필요한 iteration -> 2000/500 = 4

        총 iteration 수 : 4 x 20 epochs = 80 iterations

  따라서, 모델의 파라미터는 총 80번 업데이트 됨! 

 

 

 

 

요약

batch size : 모델의 가중치들을 한 번 업데이트 할 때 사용하는 데이터의 개수
epoch : 모델이 전체 데이터를 모두 사용하여 학습을 한 횟수
iteration : 1-epoch에 필요한 batch의 개수

batch size = 200

epoch = 1 ~ (학습횟수는 본인이 설정)

iteration = 10 (만일, epoch가 10이라면, iterarion은 10x10=100)

 

 

 

 

* 출처

https://bruders.tistory.com/79

 

 

'딥러닝 이론' 카테고리의 다른 글

기계 학습의 과정  (0) 2024.07.22
Gradient Descent(경사 하강법)  (0) 2024.07.22