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

과적합 (Overfitting)

머신 러닝에서 과적합을 식별, 예방 및 해결하는 방법을 알아보세요. 모델 일반화 및 실제 성능을 개선하기 위한 기술을 알아보세요.

과적합은 다음에서 발생합니다. 머신 러닝(ML)에서는 모델이 학습 데이터에 대한 학습 데이터의 특정 세부 사항과 노이즈가 새로운 데이터에 대한 성능에 부정적인 영향을 미칠 정도로 학습할 때 발생합니다. 기본적으로 모델은 학습에 필요한 기본 패턴을 학습하기보다는 예시를 암기하는 것이 아니라 일반화에 필요한 일반화. 그 결과 개발 중에는 높은 높은 정확도를 달성하지만 실제 배포 시에는 신뢰할 수 있는 예측을 제공하지 못합니다.

현상 이해

지도 학습의 맥락에서 목표는 은 보이지 않는 입력, 즉 테스트 데이터에 대해 잘 작동하는 모델을 만드는 것입니다. 테스트 데이터. 과적합은 일반적으로 모델이 다음과 같은 경우에 발생합니다. 사용 가능한 데이터의 양에 비해 모델이 너무 복잡할 때 발생하며, 이러한 상황은 종종 분산이 높다고 설명됩니다. 이러한 모델은 데이터 세트의 무작위 변동이나 '노이즈'를 마치 중요한 특징인 것처럼 포착합니다. 이 딥 러닝(DL)의 핵심 과제입니다, 개발자는 복잡성과 유연성 사이에서 균형을 잡아야 하며, 이를 흔히 편향성-변동성 트레이드오프.

실제 사례

애플리케이션에 따라 과잉 피팅은 심각한 결과를 초래할 수 있습니다:

  • 자율 주행 차량: 자율주행 차량용 비전 시스템 고려 자율주행 차량을 위한 비전 시스템을 고려하세요. 고속도로 이미지로만 훈련된 자율주행 차량용 비전 시스템을 생각해 보세요. 이 모델은 이러한 특정 조명 조건과 도로 텍스처. 결과적으로 비를 만났을 때 정확한 물체 감지에 실패할 수 있습니다, 그림자 또는 도시 환경에서는 정확한 물체 감지에 실패하여 안전에 위험을 초래할 수 있습니다.
  • 의료 진단: In 의료 분야의 AI는 다음과 같이 모델을 학습시킬 수 있습니다. 엑스레이에서 병리를 식별하도록 모델을 학습시킬 수 있습니다. 데이터 세트가 단일 병원에서 제공된 경우, 모델이 해당 병원의 특정 영상 장비에 지나치게 적합할 수 있습니다. 특정 병원 영상 장비의 아티팩트에 과도하게 적합할 수 있습니다. 다음에 적용할 경우 다른 병원의 의료 영상 분석에 다른 병원의 의료 영상 분석에 적용할 경우, 질병의 생물학적 특징이 아닌 장비의 노이즈를 학습했기 때문에 질병의 생물학적 특징.

과적합 식별 및 방지

개발자는 일반적으로 훈련 중 손실 함수를 모니터링하여 과적합을 detect . 손실 함수를 모니터링하여 과적합을 감지합니다. 명확한 지표는 훈련 손실이 계속 감소하는 반면에 검증 데이터 손실이 증가하기 시작하는 경우입니다. 이를 방지하기 위해 이를 해결하기 위해 몇 가지 기술이 사용됩니다:

  • 데이터 증강: 여기에는 훈련 세트의 다양성을 인위적으로 늘리는 것이 포함됩니다. 다음을 통해 회전이나 뒤집기와 같은 무작위 변환을 적용합니다, 데이터 증강은 모델이 정확한 픽셀 배열을 정확한 픽셀 배열을 암기하는 것을 방지합니다.
  • 정규화: L1/L2 정규화 또는 드롭아웃 레이어 추가와 같은 방법은 드롭아웃 레이어 추가와 같은 방법은 지나치게 복잡한 모델에 불이익을 줍니다. 훈련 패스 동안 뉴런의 일부를 효과적으로 무시하여 지나치게 복잡한 모델에 불이익을 줍니다. 신경망이 중복되고 강력한 기능을 학습하도록 합니다.
  • 조기 중지: 이 기술은 검증 지표가 개선되면 훈련 프로세스를 중단하여 개선하여 이후 단계에서 모델이 노이즈를 학습하는 것을 방지합니다. 노이즈를 학습하지 못하도록 합니다.

과적합 vs. 과소적합

이 개념을 다음과 구별하는 것이 중요합니다. 과소 맞춤과 구별하는 것이 중요합니다. 과적합은 모델이 너무 복잡하고 너무 복잡하고 학습 데이터에 맞추기 위해 "너무 열심히" 노력하는 경우(높은 분산)가 과적합인 반면에, 과소적합은 모델이 너무 단순하여 데이터의 기본 추세를 포착하지 못할 때 발생합니다(높은 편향성). 두 경우 모두 예측 성능이 저하되지만 성능이 저하되지만, 그 이유는 정반대입니다. 최적의 모델을 얻으려면 이 두 가지 극단 사이를 탐색해야 합니다.

실제 구현

다음과 같은 최신 라이브러리 ultralytics 예방 전략의 실행을 간소화할 수 있습니다. 예를 들어 사용자가 쉽게 적용할 수 있습니다. 조기 정지 및 중도 탈락 훈련할 때 YOLO11 모델입니다.

from ultralytics import YOLO

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

# Train with 'patience' for early stopping and 'dropout' for regularization
# This helps the model generalize better to new images
results = model.train(
    data="coco8.yaml",
    epochs=100,
    patience=10,  # Stop if validation loss doesn't improve for 10 epochs
    dropout=0.1,  # Randomly drop 10% of units to prevent co-adaptation
)

Ultralytics 커뮤니티 가입

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

지금 참여하기