Epoch 뜻 - epoch tteus

배치는 메모리에서 CPU에 올릴 수 있는 최대 데이터(이미지) 양
에포크는 모델 훈련 반복 횟수

if 배치 사이즈가 너무 크면 아래의 문제가 발생
1. 학습 속도가 느려짐
2. 메모리 부족 문제
-> 배치 사이즈를 줄여서 많은 배치로 나눠 훈련시키는게 좋음

if 배치 사이즈가 너무 작으면 아래의 문제가 발생
1. 적은 샘플로 가중치가 자주 업데이트 되어 불안정하게 훈련됨

그래서 배치 사이즈를 바꿔가면서 효율적으로 훈련되는 경우를 찾아야함.

1. 사전적 의미

batch

(일괄적으로 처리되는) 집단, 무리
한 회분(한 번에 만들어 내는 음식기계 등의 양)
(일괄 처리를 위해) 함께 묶다

epoch

(중요한 사건·변화들이 일어난) 시대 (=era)

iteration

(계산·컴퓨터 처리 절차의) 반복

2. batch size

전체 트레이닝 데이터 셋을 여러 작은 그룹을 나누었을 때 batch size는 하나의 소그룹에 속하는 데이터 수를 의미함.

전체 트레이닝 셋을 작게 나누는 이유는 트레이닝 데이터를 통째로 신경망에 넣으면 비효율적인 리소스 사용으로 학습 시간이 오래 걸리기 때문

3. epoch

딥러닝에서 epoch는 전체 트레이닝 셋이 신경망을 통과한 횟수 의미함.

예를 들어, 1-epoch는 전체 트레이닝 셋이 하나의 신경망에 적용되어 순전파와 역전파를 통해 신경망을 한 번 통과했다는 것을 의미함.

4. iteration

마지막으로 iteration1-epoch를 마치는데 필요한 미니배치 갯수를 의미함.

다른 말로, 1-epoch를 마치는데 필요한 파라미터 업데이트 횟수 이기도 함.

각 미니 배치 마다 파라미터 업데이터가 한번씩 진행되므로 iteration은 파라미터 업데이트 횟수이자 미니배치 갯수임

예를 들어, 700개의 데이터를 100개씩 7개의 미니배치로 나누었을때, 1-epoch를 위해서는 7-iteration이 필요하며 7번의 파라미터 업데이트가 진행됨.

We obtain at the 2000 epoch, a sum squared error equals to 0.001, which represents a good result.

Ice could be stable there at the present epoch if the atmospheric water content increased by only a factor of several.

In this case, these black holes are evaporating in our present epoch.

These active periods are separated by epochs of neuronal silence, called interspindle lulls.

An epoch is the time necessary to run through all training examples.

In the beginning of the colonial epoch, colonial officials had little means to carry out colonial policies.

To compare the activity across cells, we isolated eight epochs that we felt captured the major periods within each trial.

There was no linear correlation between the number of words produced in a 20 s epoch and the amount of positive formal thought disorder.

The same monitors were used in all subjects with epoch periods of 30s.

If generally speaking the ruling ideas of any epoch tend to be those of the ruling class, there have always been other histories.

The model managed to converge twice before the 1000 epoch limit, and its overall accuracy is 99.33%.

The independent and identically distributed inputs occur at time epochs that also form a stationary renewal process.

Estimates for the incremental cost and effectiveness per epoch over the full 12-month period are presented.

To allow for flexible treatment effects over time, we estimate separate coefficients for the different epochs.

Across and even within domain and epoch, one term is often preferred to the other.

예문에 나오는 어떤 견해나 의견은 Cambridge Dictionary 편집자, Cambridge University Press, 사전교열관의 의견을 표현하는 것은 아닙니다.

이번 포스팅의 주제는 텐서플로우나 케라스 등을 사용해서 모델을 만들어 보았으면 다들 아실 용어인 epoch와 batch size 그리고 iteration입니다.

▶ 알고리즘이 iterative 하다는 것: gradient descent와 같이 결과를 내기 위해서 여러 번의 최적화 과정을 거쳐야 되는 알고리즘

optimization 과정

▶ 다루어야 할 데이터가 너무 많기도 하고(메모리가 부족하기도 하고) 한 번의 계산으로 최적화된 값을 찾는 것은 힘듭니다. 따라서, 머신 러닝에서 최적화(optimization)를 할 때는 일반적으로 여러 번 학습 과정을 거칩니다. 또한, 한 번의 학습 과정 역시 사용하는 데이터를 나누는 방식으로 세분화 시킵니다.

이때, epoch, batch size, iteration라는 개념이 필요합니다.

- epoch

One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE

(한 번의 epoch는 인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함. 즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태)

▶ 신경망에서 사용되는 역전파 알고리즘(backpropagation algorithm)은 파라미터를 사용하여 입력부터 출력까지의 각 계층의 weight를 계산하는 과정을 거치는 순방향 패스(forward pass), forward pass를 반대로 거슬러 올라가며 다시 한 번 계산 과정을 거처 기존의 weight를 수정하는 역방향 패스(backward pass)로 나뉩니다. 이 전체 데이터 셋에 대해 해당 과정(forward pass + backward pass)이 완료되면 한 번의 epoch가 진행됐다고 볼 수 있습니다.

역전파 알고리즘이 무엇인지 잘 모른다고 하더라도 epoch를 전체 데이터 셋에 대해 한 번의 학습 과정이 완료됐다고 단편적으로 이해하셔도 모델을 학습 시키는 데는 무리가 없습니다.

epochs = 40이라면 전체 데이터를 40번 사용해서 학습을 거치는 것입니다.

▶ 우리는 모델을 만들 때 적절한 epoch 값을 설정해야만 underfitting과 overfitting을 방지할 수 있습니다.

epoch 값이 너무 작다면 underfitting이 너무 크다면 overfitting이 발생할 확률이 높은 것이죠.

- batch size

Total number of training examples present in a single batch.

- iteration

The number of passes to complete one epoch.

batch size는 한 번의 batch마다 주는 데이터 샘플의 size. 여기서 batch(보통 mini-batch라고 표현)는 나눠진 데이터 셋을 뜻하며 iteration는 epoch를 나누어서 실행하는 횟수라고 생각하면 됨.

▶ 메모리의 한계와 속도 저하 때문에 대부분의 경우에는 한 번의 epoch에서 모든 데이터를 한꺼번에 집어넣을 수는 없습니다. 그래서 데이터를 나누어서 주게 되는데 이때 몇 번 나누어서 주는가를 iteration, 각 iteration마다 주는 데이터 사이즈를 batch size라고 합니다.

- 정리

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

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

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

Toplist

최신 우편물

태그