Ultralytics YOLO 에서 머신 러닝의 획기적인 발전이 모델 학습에 미치는 영향, 과적합 방지, 성능 최적화에 대해 알아보세요.
머신러닝(ML)에서, 특히 딥러닝 모델 학습의 맥락에서 에포크는 학습 알고리즘을 통해 전체 학습 데이터 세트가 한 번 완전히 통과하는 것을 의미합니다. 모델 학습은 모델이 데이터를 반복적으로 처리하여 패턴을 학습하는 반복적인 프로세스입니다. 에포크는 알고리즘이 전체 데이터 세트에서 작동하는 횟수를 정의하는 기본 하이퍼파라미터로, 모델이 데이터 내의 각 예제에서 여러 번 학습할 수 있도록 합니다.
학습 과정에서 모델의 내부 매개변수 또는 가중치는 예측 오류에 따라 조정됩니다. 이러한 조정은 일반적으로 경사 하 강과 같은 최적화 알고리즘 또는 그 변형(예: Adam Optimizer)을 사용하여 이루어집니다. 하나의 에포크는 학습 데이터 세트의 모든 샘플이 모델의 내부 파라미터를 한 번씩 업데이트할 기회를 가졌음을 의미합니다. 대규모 데이터 세트의 경우 전체 데이터 세트를 한 번에 처리하면 계산 비용이 많이 들기 때문에 데이터를 배치라고 하는 작은 덩어리로 나누어 처리하는 경우가 많습니다.
시대를 관련 용어와 구분하는 것이 중요합니다:
책을 읽는 것처럼 생각하면 책 전체가 데이터 집합이고, 한 장이 배치이며, 한 장을 읽는 것이 반복이고, 책 전체를 처음부터 끝까지 읽는 것이 한 시대라고 할 수 있습니다.
에포크 수는 모델이 전체 데이터 세트에서 학습하는 횟수를 결정하기 때문에 중요한 하이퍼파라미터입니다.
적절한 균형을 찾는 것이 좋은 모델 성능과 일반화를 달성하는 데 핵심입니다. 이를 위해서는 훈련 중에 별도의 검증 데이터 세트에서 모델의 성능을 모니터링해야 하는 경우가 많습니다.
최적의 값은 데이터의 복잡성, 데이터 세트의 크기, 모델 아키텍처 및 학습 속도에 따라 달라지며, 하나의 "정확한" 에포크 수는 존재하지 않습니다. 일반적인 접근 방식은 다음과 같습니다:
에포크는 대부분의 딥 러닝 프레임워크에서 표준 매개변수입니다:
fit
메서드를 사용합니다.에포크는 머신러닝에서 반복 학습의 초석으로, 데이터에 대한 충분한 노출의 필요성과 과적합의 위험 사이에서 균형을 유지합니다. 스탠퍼드의 CS231n 과정이나 머신 러닝 마스터리 블로그와 같은 리소스에서 설명하는 대로 신중한 실험과 모니터링을 통해 적절한 수의 에포크를 선택하는 것이 효과적인 모델을 구축하는 데 핵심입니다. 더 자세한 정의는 Google 머신 러닝 용어집과 같은 리소스에서 확인할 수 있습니다.