epoch, batch size, iteration의 의미

Published onesixx on

epoch, batch size, iteration의 의미

epoch

인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함.

전체 데이터셋에 대해 한 번 학습완료한 상태

epochs = 69 라면 데이터셋을 69번 사용해서 학습을 거치는 것

너무 적거나 많으면, underfitting과 overfitting

iteration

The number of passes to complete one epoch.

데이터셋을 batch 크기만큼씩 epoch를 나누어서 실행하는 횟수

batch size

Total number of training examples present in a single batch.

batch( = 보통 mini-batch라고 표현)

데이터셋을 나누어 여러 묶음으로 만들때, 한 번의 batch(묶음)마다 주는 데이터 샘플의 size

==> iteration는 epoch를 나누어서 실행하는 횟수라고 생각하면 됨.

설명

일반적으로 한 번의 epoch에서 모든 데이터셋을 한꺼번에 집어넣을 수는 없다.

▶ 메모리의 한계와 속도 저하 때문에

그래서 데이터를 나누어서 주게 되는데,

이때 몇 번 나누어서 주는가를 iteration,

각 iteration마다 주는 데이터 사이즈를 batch size라고 합니다.


출처: https://www.slideshare.net/w0ong/ss-82372826

정리

​2000 개의 데이터가 있고, epochs = 20, batch_size = 500이라고 가정합시다.​

그렇다면 1 epoch는 각 데이터의 size가 500인 batch가 들어간 4 번의 iteration으로 나누어집니다.

iteration = 1epoch에서 처리할 데이터 크기 / batch_size

1 epoch 4번 = 2000 / 500

그리고 전체 데이터셋에 대해서는 20 번의 학습이 이루어졌으며, iteration 기준으로 보자면 총 80 번의 학습이 이루어진 것입니다.

Categories: DeepLearning

onesixx

Blog Owner

guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x