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 |