Artificial Intelligence/Deep Learning

[딥러닝] batch size(배치사이즈) VS epoch(에포크) VS iteration(반복)

EunjiBest 2022. 1. 22. 01:42

[딥러닝] batch size(배치사이즈) VS epoch(에포크) VS iteration(반복) 

 

 

 

딥러닝을 학습하는 코드이다.

hist = model.fit(x_tn, y_tn, epochs =10, batch_size = 100)

딥러닝을 학습하는 과정에서 epoch와 batch size, interation을 사용한다.

서로 비슷해 보여서 개념이 아주 조금 헷갈린다.

 

batch size

 

전체 트레이닝 데이터를 여러개의 mini batch로 나누었을 때

하나의 미니 배치에 속하는 데이터의 개수를 말한다.

 

그림을 설명하자면,

train data 700개는 각각 100개로 나눠진 mini batch가 7개로 이루어져있다.

각 mini batch는 100개의 데이터 포인트로 구성되어있고 

이를 batch size가 100이라고 한다.

 

이렇게 전체 train data를 작게 나누는 이유는 학습시간을 줄이고 효율적으로

리소스를 하기 위해서이다.

전체 train data를 한번에 넣어버리면 학습시간이 오래걸리기 때문이다.

 

 

 

 epoch

 

전체 트레이닝 셋이 신경망을 통과하는 횟수이다.

epoch = 1는 트레이닝셋의 모든 데이터 포인트가 신명망을 한 번 통과하게 하는 것이다.

 

 

 

 

iteration

1-epoch를 마치는 데 필요한  mini batch의 수이다.

위 그림에서 mini batch 7개를 통과했으니 interation =7이 된다.

 

신경치의 가중치 파라미터는  mini batch당 한 번 업데이트가 되므로

파라미터 업데이트 횟수가 interation 횟수와 동일하다.

 

 

반응형