머신 러닝의 획기적인 발전, 즉 모델 학습에 미치는 영향, 과적합을 방지하고 성능을 최적화하는 방법에 대해 Ultralytics YOLO를 통해 알아보세요.
머신 러닝(ML)에서 에포크는 학습 알고리즘을 통해 전체 학습 데이터 세트가 한 번 완전히 통과하는 것을 의미합니다. 이는 모델이 데이터의 예시를 반복적으로 보면서 학습하는 신경망(NN) 훈련의 반복적인 프로세스에서 기본 개념입니다. 에포크 횟수는 모델이 전체 학습 정보 집합에서 학습할 횟수를 결정하는 핵심 파라미터로, 모델의 최종 성능과 품질에 직접적인 영향을 미칩니다.
모델 학습 의 주요 목표는 모델이 데이터에서 패턴을 학습할 수 있도록 하는 것입니다. 이는 모델 가중치라고 하는 모델의 내부 파라미터를 조정하여 모델의 예측과 실제 실측값 사이의 오차를 정량화하는 손실 함수를 최소화함으로써 달성할 수 있습니다. 단일 에포크 동안 모델은 모든 데이터 샘플을 처리하며, 확률적 경사 하강(SGD) 과 같은 최적화 알고리즘이 이러한 가중치를 업데이트합니다.
여러 시대에 걸쳐 모델을 훈련하면 매개변수를 반복적으로 개선할 수 있습니다. 이론적으로 모델은 이미지 분류나 객체 감지 등 각 단계를 거칠 때마다 더 나은 작업을 수행할 수 있어야 합니다. 이 프로세스는 PyTorch 또는 TensorFlow와 같은 널리 사용되는 딥 러닝 프레임워크를 사용하여 관리됩니다.
이 용어들은 서로 연관되어 있지만 교육 과정의 다른 측면을 설명하며 종종 혼동되기도 합니다.
예를 들어 데이터 세트에 10,000개의 이미지가 있고 배치 크기가 100인 경우, 하나의 에포크는 100개의 반복(10,000개 이미지/배치당 100개 이미지)으로 구성됩니다.
정확한 에포크 수를 선택하는 것은 하이퍼파라미터 튜닝의 중요한 부분입니다. 여기에는 두 가지 일반적인 문제를 피하기 위한 균형을 찾는 것이 포함됩니다:
과적합을 방지하기 위한 일반적인 기법은 유효성 검사 세트에서 모델의 성능이 더 이상 개선되지 않으면 학습을 중단하는 조기 중단입니다. TensorBoard와 같은 도구를 사용하거나 기간별 학습 메트릭을 시각화하는 데 도움이 되는 Ultralytics HUB와 같은 플랫폼을 통해 진행 상황을 모니터링할 수 있습니다.
에포크라는 개념은 딥러닝 애플리케이션에서 보편적으로 사용됩니다.
자율 주행: 자율주행 차량의 물체 감지 모델은 Argoverse와 같은 방대한 데이터 세트에서 학습됩니다. Ultralytics YOLO11과 같은 모델은 50~100개의 에포크에 걸쳐 학습될 수 있습니다. 각 에포크가 끝난 후, 평균 평균 정밀도(mAP) 같은 메트릭을 사용하여 검증 세트에서의 성능을 측정합니다. 엔지니어는 배포 전에 속도와 정확도의 균형이 가장 잘 맞는 에포크에서 모델을 선택합니다.
의료 이미지 분석: 뇌 스캔에서 종양을 탐지하는 모델은 특수한 의료 영상 데이터 세트에 대해 학습됩니다. 이러한 데이터 세트는 규모가 작을 수 있기 때문에 수백 회에 걸쳐 모델을 학습시킬 수 있습니다. 과적합을 방지하기 위해 데이터 증강과 같은 기법이 사용되며, 각 에포크 이후에는 검증 손실을 면밀히 모니터링합니다. 이를 통해 최종 모델이 새로운 환자의 스캔에 잘 일반화되도록 보장합니다. 이러한 중요한 애플리케이션에서 성공하려면 확립된 모델 훈련 팁을 따르는 것이 중요합니다.