Yolo 비전 선전
선전
지금 참여하기
용어집

에폭

머신 러닝의 획기적인 발전, 즉 모델 학습에 미치는 영향, 과적합을 방지하고 성능을 최적화하는 방법에 대해 Ultralytics YOLO 통해 알아보세요.

트레이닝의 맥락에서 인공 지능(AI) 모델의 경우 에포크는 학습 알고리즘을 통해 전체 학습 데이터 세트가 한 번 완전히 통과하는 것을 의미합니다. 에포크는 학습 알고리즘의 기본적인 학습의 시간 단위 신경망(NN) 훈련에서 기본적인 시간 단위로, 모델이 모델이 제공된 데이터의 모든 샘플을 정확히 한 번 학습할 수 있는 기회를 가졌음을 의미합니다. 딥러닝 모델은 데이터를 한 번만 보고 최적의 성능에 도달하는 경우는 거의 없기 때문에, 일반적으로 훈련에는 여러 번에 걸쳐 이 과정을 여러 번에 걸쳐 반복하여 오류를 최소화하고 내부 파라미터를 개선합니다.

시간 경과에 따른 학습의 메커니즘

에포크 기간 동안의 주요 목표는 모델 가중치를 조정하여 모델 가중치를 조정하여 입력을 올바른 출력에 매핑하는 것입니다. 정확하게 매핑하는 것입니다. 이 과정에서 최적화 알고리즘(예: 스토캐스틱 경사 하강SGD과 같은 최적화 알고리즘이 특정 손실 함수를 사용하여 오류를 계산하고 손실 함수를 사용하여 오차를 계산하고 모델의 내부 상태를 업데이트합니다.

데이터 세트에는 복잡한 변형과 노이즈가 포함되어 있기 때문에 단일 패스 학습으로는 불충분한 경우가 많습니다. 여러 에포크를 반복적으로 실행함으로써 모델은 다음과 같은 작업을 수행할 수 있는 능력을 향상시킵니다. 이미지 분류 또는 세분화. 이 반복적인 개선을 통해 네트워크는 단순히 학습 데이터의 패턴을 암기하는 것이 아니라 학습 데이터의 패턴을 일반화할 수 있습니다. 일반화할 수 있습니다. 다음과 같은 딥러닝 프레임워크는 PyTorchTensorFlow 는 이러한 주기에 걸쳐 학습 루프를 제어하는 메커니즘을 제공하여 이러한 주기에 걸쳐 트레이닝 루프를 제어할 수 있습니다.

에포크 대 배치 대 반복 작업

트레이닝 루프가 효율적으로 작동하는 방식을 이해하려면 서로 밀접하게 관련된 세 가지 용어를 구분하는 것이 중요합니다. 세 가지 용어를 구별하는 것이 중요합니다:

  • Epoch: 전체 데이터 집합을 네트워크를 통해 한 번 전달하는 프로세스입니다.
  • 배치 크기: 모델이 가중치를 업데이트하기 전에 처리되는 샘플 수입니다. 대규모 데이터 세트를 한 번에 메모리에 로드하는 것은 한 번에 로드하는 것은 불가능한 경우가 많으므로 데이터를 배치라고 하는 작은 그룹으로 나눕니다.
  • 반복: 모델이 하나의 배치를 처리하고 가중치를 조정하기 위해 역전파를 수행하여 가중치를 조정하는 단일 업데이트 단계입니다.

예를 들어 10,000개의 이미지로 구성된 데이터 세트가 있고 배치 크기를 100으로 설정한 경우, 한 시기를 완료하는 데 100번의 반복이 필요합니다. 100번의 반복이 필요합니다.

최적의 에포크 수 결정하기

적절한 에포크 수를 선택하는 것은 하이퍼파라미터 튜닝의 중요한 측면입니다. 하이퍼파라미터 튜닝의 중요한 측면입니다. 너무 적거나 또는 너무 많은 주기로 훈련하면 성능이 최적화되지 않을 수 있습니다.

  1. 언더피팅: 모델이 너무 적은 기간 동안 학습하면 데이터의 기본 로직을 포착하지 못하여 다음과 같은 결과가 발생할 수 있습니다. 훈련 및 테스트 세트 모두에서 성능이 저하될 수 있습니다.
  2. 오버피팅: 훈련이 너무 오래 계속되면 모델이 노이즈와 훈련의 특정 세부 사항을 기억하기 시작할 수 있습니다. 설정합니다. 학습 정확도는 높아지지만 유효성 검사 데이터의 성능이 저하됩니다.

이러한 문제를 완화하기 위해 엔지니어는 종종 다음을 사용합니다. 조기 중지: 지정된 총 에포크에 관계없이 검증 손실이 개선되지 않을 때 검증 손실이 더 이상 개선되지 않을 때 훈련을 중단하는 기술을 사용합니다. 다음과 같은 시각화 도구 같은 시각화 도구는 이러한 메트릭을 실시간으로 모니터링하는 데 실시간.

실제 애플리케이션

에포크라는 개념은 다양한 머신 러닝(ML) 영역에서 보편적으로 사용됩니다.

  • 자율 주행: 자율주행 차량 개발 자율 주행 차량을 개발하려면 수백만 개의 거리 장면이 포함된 방대한 양의 수백만 개의 거리 장면이 포함된 대규모 데이터 세트에서 학습된 강력한 객체 감지 모델이 필요합니다. 다음과 같은 모델 YOLO11 과 같은 모델은 다양한 기상 조건에서 보행자와 교통 표지판을 다양한 기상 조건에서 보행자와 교통 표지판을 안정적으로 식별할 수 있습니다. 광범위한 훈련을 통해 시스템이 높은 배포 전 평균 정밀도(mAP) 배포할 수 있습니다.
  • 농업 모니터링: In 정밀 농업에서 드론은 컴퓨터 비전을 사용하여 작물의 상태를 모니터링합니다. 농업 데이터 세트는 규모가 작거나 매우 구체적일 수 있기 때문에 연구자들은 전이 학습을 사용하여 더 적은 기간 동안 사전 학습된 모델을 미세 조정하는 데 더 적은 시간을 투자할 수 있습니다. 데이터 증강을 사용하여 인위적으로 데이터 세트를 확장하고 데이터 세트를 인위적으로 확장하고 과적합을 방지합니다.

코드 예시: 에포크를 사용한 교육

사용 시 ultralytics 라이브러리에서 에포크 수를 지정하는 것은 간단합니다. 라이브러리의 train() 메서드는 epochs 인수를 사용하여 모델이 제공된 데이터를 반복하는 횟수를 제어합니다. 를 반복하는 횟수를 제어합니다.

from ultralytics import YOLO

# Load the YOLO11 model (recommended for latest performance)
model = YOLO("yolo11n.pt")

# Train the model for 50 epochs on the COCO8 dataset
# The 'epochs' argument defines the total passes through the data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

이 스니펫은 모델이 "coco8" 데이터 세트에 대한 이해를 개선하기 위해 "coco8" 데이터 집합을 50회 개별적으로 학습하는 방법을 보여줍니다. 향후 발전을 위해, Ultralytics 현재 개발 중인 훨씬 더 효율적으로 엔드투엔드 훈련을 지원하는 YOLO26을 개발 중이며, 2025년 후반에 출시될 예정입니다. 2025년 후반에 출시될 예정입니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기