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

Overfitting

과적합은 모델이 노이즈까지 포함해 학습 데이터를 외우고 새로운 데이터에서는 제대로 작동하지 않을 때 발생합니다. 과적합을 알아차리는 방법과 이를 방지하는 기법을 살펴보세요.

머신러닝 모델이 학습 데이터에 지나치게 맞춰져 실제 패턴뿐 아니라 특정 예시의 노이즈와 특이점까지 학습하면 과적합이 발생합니다. 과적합된 모델은 학습 데이터에서는 점수가 높지만 새 데이터에서는 눈에 띄게 낮은 점수를 보이며, 두 점수의 차이는 과적합의 정도를 나타냅니다. 편향-분산 관점에서 과적합은 높은 분산에 해당합니다. 즉, 모델 예측이 실제로 접한 특정 샘플에 지나치게 좌우됩니다.

과적합 알아보기#

대표적인 징후는 학습 데이터와 검증 데이터 성능의 차이가 커지는 것입니다. 에포크별로 나타낸 학습 곡선에서 학습 손실은 계속 낮아지는 반면 검증 손실은 평탄해졌다가 상승하고, 평균 정밀도(mAP) 같은 검증 지표는 정체되거나 하락합니다. 소규모로 보여주는 전형적인 예에서는 사인파에서 샘플링한 노이즈가 있는 점 12개에 서로 다른 차수의 다항식 두 개를 피팅합니다:

import numpy as np
from numpy.polynomial import Polynomial

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, 12)
y_train = np.sin(2 * np.pi * x_train) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)
y_test = np.sin(2 * np.pi * x_test)

for degree in (3, 9):
    fit = Polynomial.fit(x_train, y_train, degree)
    train_mse = np.mean((fit(x_train) - y_train) ** 2)
    test_mse = np.mean((fit(x_test) - y_test) ** 2)
    print(f"Degree {degree:2d}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}")

9차 다항식은 노이즈에 맞춰 휘어질 만큼 유연하므로 학습 오차를 0.0356에서 0.0148로 낮추지만, 테스트 오차는 0.0182에서 0.1859로 10배 증가시킵니다.

과적합과 과소적합#

과소적합은 반대되는 문제입니다. 모델이 너무 단순하거나 학습 시간이 너무 짧아 데이터의 패턴을 포착하지 못하므로 학습 데이터와 검증 데이터 모두에서 성능이 낮습니다. 두 오차를 비교하면 문제를 구분하고 서로 다른 해결 방법을 찾을 수 있습니다.

일반적인 원인#

  • 데이터에 비해 지나치게 큰 모델 용량: 수백만 개의 파라미터를 가진 신경망은 이미지 수백 장을 그대로 암기할 수 있습니다.
  • 노이즈가 있거나 레이블이 잘못된 데이터: 누락된 박스, 잘못된 클래스, 이상치는 실제 세계에는 없는 오류를 모델이 학습하게 합니다.
  • 지나치게 긴 학습: 유용한 패턴을 학습한 뒤에는 추가 에포크를 대부분 남아 있는 노이즈에 맞추는 데 사용합니다.
  • 범위가 좁은 학습 데이터: 한 대의 카메라로 낮에 촬영한 이미지에만 학습된 검출기는 해당 카메라의 배경과 조명에 과도하게 의존하여 새로운 장소의 객체를 놓칠 수 있습니다.

과적합 방지#

  • 더 많고 다양한 데이터: 실제 예시를 추가하는 것이 가장 직접적인 해결책이며, 데이터 증강은 기존 이미지를 뒤집고, 크기를 조정하고, 색상을 바꾸고, 혼합하여 다양성을 늘립니다.
  • 정규화: 가중치 감쇠는 큰 가중치에 페널티를 부과하며, 드롭아웃은 학습 중 유닛을 무작위로 비활성화하여 단일 특징이 필수 요소가 되지 않도록 합니다.
  • 더 작거나 사전 학습된 모델: 더 작은 모델은 데이터를 암기할 여지가 적으며, 초기 레이어를 고정한 전이 학습은 소규모 데이터셋에서 학습해야 하는 가중치 수를 줄입니다.
  • 조기 종료: 매 에포크 후 검증 데이터를 평가하고 점수가 더 이상 개선되지 않으면 중단하여 모델이 노이즈까지 학습하지 않도록 합니다.
  • 공정한 평가: 교차 검증은 소규모 데이터셋의 일반화 오차를 더 신뢰성 있게 추정하며, 별도의 테스트 세트는 하이퍼파라미터 튜닝 중 검증 데이터에 과적합되는 문제를 찾아냅니다.

Ultralytics YOLO 학습은 patience 인수로 조기 종료를 적용합니다. 이 인수는 검증 적합도(detection의 경우 mAP50-95)가 개선되지 않은 에포크가 해당 횟수에 도달하면 실행을 종료하며, 학습을 끝까지 진행하더라도 최고 성능을 기록한 에포크의 가중치를 best.pt로 저장합니다.

from ultralytics import YOLO

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

# # 최대 100 에포크까지 학습하되, 검증 성능이 20 에포크 동안 개선되지 않으면 중단합니다.
results = model.train(data="coco8.yaml", epochs=100, patience=20)

기본값은 patience=100이며, 이미지가 1,000장 미만인 데이터셋의 경우 YOLO26 파인튜닝 가이드에서는 epochs=50과 patience=20를 제안합니다.

  • 데이터 누수: 학습 데이터와 평가 데이터가 겹쳐 과적합을 감춥니다. 같은 동영상에서 나온 거의 중복된 프레임이 학습 및 검증 분할에 모두 포함되면, 학습 세트를 외운 모델이 검증에서도 여전히 좋은 점수를 얻고 배포 후에야 문제가 드러납니다. 동영상 또는 장면 단위로 분할하면 이를 방지할 수 있습니다.
  • 편법 학습: 모델이 학습 데이터와 검증 데이터 모두에 있는 워터마크나 배경 같은 허위 단서에 의존합니다. 검증 점수는 양호하게 보이지만, 해당 단서가 없는 새 데이터에서는 모델이 실패합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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의 미래를 만들어 가세요!

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