◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
머신 러닝을 공부하다보면 배치(batch), 에포크(epoch)라는 단어에 분명히 만나게 된다.
이 두 단어가 무엇을 지칭하는 것인지를 알아야 보자!
Batch (배치)
기본적으로 💻컴퓨터 공학에서 "batch"는 어떠한 큰 작업을 부분적으로 모아서 처리하는 것을 나타낸다.
Batch는 머신러닝 분야에서 자주 등장한다. 여기서 Batch는 전체 학습 데이터 중에서 모델에 입력하는 작은 일부를 의미한다.
예시를 통해 이해하는게 더 쉽다.
👦 사용 예시
1000개의 학습 데이터가 있을 때 Batch Size는 50이라고 하자.
50개의 학습 데이터는 하나의 세트 Batch가 되어서 학습 모델에 입력된다.
이 과정이 20번(50 x 20 = 1000) 반복되면서 학습 모델은 전체 학습 데이터를 경험하게 되어 학습이 이루어진다.
💡 용어: Batch Processing (배치 처리)
배치 처리는 IT업계에서 자주 용어이다. 머신 러닝뿐만 아니라 다양한 분야에서 사용된다.
기본적으로 위의 머신러닝에서 설명한 내용가 비슷하다. → 여러 작업을 한 번에 모아서 처리하는 방식.
Batch의 특징
대량의 데이터를 처리해야 할 때 (일정 주기 or 일정 사이즈)마다 일관적으로 처리한다.
Epoch (에포크)
Epoch(에포크)는 학습 모델이 전체 학습 데이터를 학습한 횟수이다.
👦 아주 쉬운 예시
하나의 교재에서 시험 내용이 모두 나온다고 가정하자.
교재의 모든 내용을 한 번 다 읽으면 1 Epoch이다. 두번 읽으면 2 Epoch.
👩🏫 중요
많은 Epoch를 사용하면 모델은 데이터에 더 적응하게 된다.
그러나 너무 많은 에포크를 사용하면 모델이 학습 데이터에 과적합(overfitting)될 수 있다.
Iteration (반복)
반복(iteration)은 Batch와 Epoch를 알면 너어어어어무 쉽다.
👦 사용 예시
학습 데이터가 1000개이고 Batch Size가 10이라면, 100개의 Iteration이 된다 (1000/10 = 100)
이것이 2 Epoch 학습 되었다면 200개의 Iteration이 된다 (1000 x 2 = 2000 → 2000/10 = 200)
AWS Batch에 대한 정리) https://jibinary.tistory.com/352
참고자료) https://aws.amazon.com/ko/batch/
'AI > 머신러닝' 카테고리의 다른 글
서브워드 토크나이저 (Subword Tokenizer), BPE (Byte Pair Encoding) 간단 개념 정리 (0) | 2022.10.24 |
---|