Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Epoch

에포크는 모델이 학습 데이터를 한 차례 모두 처리하는 과정입니다. 에포크와 배치 및 반복 횟수의 관계, 적절한 학습 에포크 수를 살펴봅니다.

에포크는 머신러닝 모델이 전체 학습 데이터셋을 한 번 완전히 통과하는 과정입니다. 에포크마다 모든 학습 예제가 모델 가중치 업데이트에 정확히 한 번씩 기여합니다. 딥러닝 모델은 한 번의 통과만으로 충분히 학습되는 경우가 드물기 때문에 여러 에포크에 걸쳐 학습하며, 일반적으로 신경망이 예측을 개선함에 따라 각 에포크에서 학습 데이터의 오류가 감소합니다.

에폭, 배치, 반복의 차이#

학습 실행의 구조를 설명하는 용어 세 가지가 있으며, 각 용어는 앞 용어 안에 포함됩니다.

  • 에포크: 학습 데이터셋 전체를 한 번 통과하는 과정입니다.
  • 배치: 한 단계에서 함께 처리하는 예제 그룹입니다. 데이터셋 전체가 GPU 메모리에 한 번에 들어가는 경우는 드물기 때문에 각 에포크는 보통 데이터를 섞은 뒤 배치로 나뉩니다.
  • 반복: 손실 함수를 배치에 적용해 계산하고 그 기울기를 역전파로 전달한 뒤 가중치를 한 번 업데이트하는 과정입니다. "스텝"은 같은 의미로 쓰입니다.

에포크당 반복 횟수는 데이터셋 크기를 배치 크기로 나눈 뒤 올림한 값입니다. 이미지 1,000개로 구성된 데이터셋에서 배치 크기가 100이면 에포크당 10회 반복하므로, 50 에포크는 가중치 업데이트 500회에 해당합니다. PyTorch에서는 이 구조를 에포크를 반복하는 외부 루프와 DataLoader이 제공하는 배치를 반복하는 내부 루프로 구현합니다.

import torch
from torch.utils.data import DataLoader, TensorDataset

torch.manual_seed(0)

# 1,000 noisy samples of the line y = 3x + 2, served in shuffled batches of 100
x = torch.rand(1000, 1)
y = 3 * x + 2 + 0.1 * torch.randn(1000, 1)
loader = DataLoader(TensorDataset(x, y), batch_size=100, shuffle=True)

model = torch.nn.Linear(1, 1)
optimizer = torch.optim.SGD(model.parameters(), lr=0.5)

for epoch in range(5):  # one epoch = one full pass over all 1,000 samples
    for xb, yb in loader:  # 1,000 / 100 = 10 iterations per epoch
        loss = torch.nn.functional.mse_loss(model(xb), yb)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"Epoch {epoch + 1}: {len(loader)} iterations, last batch loss {loss.item():.4f}")

각 에포크는 10회 반복하며, 모델이 실제 직선에 수렴함에 따라 마지막 배치의 손실은 첫 번째 에포크 후 0.1096에서 다섯 번째 에포크 후 0.0088로 감소합니다. 데이터 증강을 적용하면 각 에포크에서 모든 이미지가 새롭게 변환된 형태로 사용되므로, 후속 에포크는 동일한 이미지의 반복이 아니라 다양성을 더합니다.

에포크 수 선택하기#

에포크 수는 하이퍼파라미터 튜닝의 주요 설정 중 하나입니다. 에포크가 너무 적으면 모델이 과소적합되어 학습 데이터와 검증 데이터 모두에서 오류가 높게 나타납니다. 에포크가 너무 많으면 과적합이 발생할 수 있습니다. 이 경우 모델이 학습 예제를 암기하기 시작하면서 학습 손실은 계속 낮아지지만 검증 점수는 정체되거나 하락합니다. 적절한 에포크 수는 데이터셋과 모델의 크기, 학습률 스케줄, 전이 학습을 통해 사전 학습된 가중치로 학습을 시작하는지에 따라 달라집니다. 규모도 영향을 줍니다. 소규모 비전 데이터셋은 수백 에포크 동안 학습하는 경우가 많지만, 대규모 언어 모델은 데이터를 한 번도 다 보지 못하는 경우가 있으며, GPT-3는 필터링된 Common Crawl 데이터에서 0.44 에포크를 완료했습니다.

조기 종료를 사용하면 에포크 수를 자동으로 선택할 수 있습니다. 매 에포크 후 검증 데이터로 모델을 평가하고 최고 성능의 체크포인트를 보관하며, 인내심(patience)이라고 하는 지정된 에포크 수 동안 검증 점수가 개선되지 않으면 학습을 종료합니다.

에포크 기반 학습 스케줄#

종료 시점 외에도 학습률 워밍업 및 감쇠, 증강 강도 등 여러 학습 설정이 에포크 스케줄에 따라 변경됩니다. Ultralytics YOLO 학습에서 epochs와 patience은 모두 기본값이 100이며, 학습률은 첫 3개 에포크에 걸쳐 워밍업됩니다. 모자이크 증강은 마지막 10개 에포크 동안 비활성화되어(close_mosaic=10) 모델이 실제 입력과 비슷한 이미지로 학습을 마칩니다. YOLO26 학습 레시피는 모델 크기에 따라 에포크 수가 얼마나 달라지는지 보여줍니다. Objects365에서 150 에포크 동안 사전 학습한 뒤, COCO 미세 조정은 YOLO26n에서 245 에포크, YOLO26x에서 40 에포크 동안 진행되었습니다.

from ultralytics import YOLO

# 사전 학습된 YOLO26n 모델을 불러옵니다
model = YOLO("yolo26n.pt")

# 50 에포크 동안 학습합니다. COCO8 학습 이미지 전체를 50회 통과합니다.
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

이 실행 중 학습기는 매 에포크 후 YOLO26 모델을 검증하고, 매번 last.pt을 덮어쓰며, 탐지 작업에서 mAP50-95인 검증 적합도가 최고 기록을 경신할 때마다 best.pt를 저장합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요