용어집

오버피팅

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

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

머신 러닝(ML) 에서 과적합은 모델이 학습 데이터를 너무 잘 학습하여 기본 패턴 대신 노이즈와 무작위 변동을 포착할 때 발생합니다. 이로 인해 학습 데이터 세트의 성능은 뛰어나지만 보이지 않는 새로운 데이터에 대한 일반화가 제대로 이루어지지 않습니다. 기본적으로 모델이 너무 복잡해지고 훈련 예시에만 맞춤화되어 개념을 이해하기보다는 답을 암기하는 것과 비슷해집니다. 이는 특히 물체 감지이미지 세분화와 같은 작업을 위해 Ultralytics YOLO 사용되는 신경망과 같은 복잡한 알고리즘을 사용하여 AI 모델을 훈련할 때 흔히 발생하는 문제입니다.

과적합 이해

ML 모델은 학습 데이터의 오류를 최소화하는 것을 목표로 하기 때문에 과적합이 발생합니다. 모델에 과도한 복잡성(예: 딥러닝 모델에 너무 많은 파라미터나 레이어)이 있는 경우, 학습 세트에 존재하는 임의의 노이즈까지 모델에 맞출 수 있습니다. 이러한 노이즈는 실제 기본 패턴을 나타내지 않으며 새로운 데이터 세트에 존재하지 않을 가능성이 높습니다. 특정 날에 누군가의 정확한 치수에 맞춰 정장을 완벽하게 맞춘다고 상상해 보세요. 체중이 약간 변동하거나 다른 사람이 입어보면 잘 맞지 않을 수 있습니다. 머신러닝에서는 학습 데이터에 대한 이러한 '완벽한 맞춤'이 실제 데이터에 대한 유연성과 성능 저하를 초래하며, 이를 흔히 ' 일반화 불량'이라고 합니다.

그 반대의 문제는 모델이 너무 단순하여 데이터의 기본 구조를 포착하지 못하는 과소 적합성입니다. 과소적합 모델은 학습이 충분하지 않기 때문에 학습 데이터와 새로운 데이터 모두에서 성능이 저하됩니다. 목표는 종종 편향-편차 트레이드 오프의 맥락에서 논의되는 최적의 균형을 찾아 보이지 않는 데이터에도 잘 일반화할 수 있는 모델을 만드는 것입니다. 높은 분산은 과적합의 특징이고, 높은 편향은 과소적합의 특징입니다. 이 트레이드오프 개념을 이해하는 것은 모델 개발에 매우 중요합니다.

과적합의 실제 사례

  • 의료 이미지 분석: MRI 스캔에서 종양을 탐지하는 등 의료 이미지 분석을 위해 훈련된 모델을 생각해 보세요. 학습 데이터가 주로 단일 MRI 스캐너 모델에서 제공되는 경우, AI는 해당 기계의 특정 이미지 특성(예: 노이즈 패턴 또는 해상도)에 과도하게 맞출 수 있습니다. 다른 스캐너의 스캔이나 저화질 이미지가 제공되면 일반적인 종양 특징이 아닌 기계별 아티팩트를 학습하기 때문에 성능이 크게 저하될 수 있습니다. 데이터 세트 편향은 이 문제를 악화시킬 수 있습니다.
  • 자율주행 차량: 자율주행 차량에 사용되는 물체 감지 모델은 맑고 화창한 날씨에 촬영된 이미지에 집중적으로 학습될 수 있습니다. 이 모델은 유사한 테스트 데이터에서 높은 정확도를 달성할 수 있지만 폭우, 안개 또는 야간과 같은 불리한 조건에서는 보행자, 자전거 운전자 또는 기타 차량을 안정적으로 감지하지 못할 수 있습니다. 다양한 조건에서 물체의 견고하고 일반적인 특징을 학습하는 대신 훈련 환경의 특정 시각적 단서(예: 짙은 그림자, 밝은 조명)에 과도하게 맞춰진 것입니다. COCO나 Argoverse와 같은 데이터 세트를 사용하여 다양한 학습 데이터를 확보하면 이러한 문제를 완화하는 데 도움이 됩니다.

과적합 식별

과적합은 일반적으로 학습 데이터 세트에서 모델의 성능을 별도의 검증 데이터 세트와 비교하여 식별합니다.

  • 성능 지표: 정확도, 정밀도, 리콜F1 점수와 같은 지표를 모니터링하세요. 학습 지표는 계속 개선되는 반면 검증 지표는 정체되거나 악화된다면 모델이 과적합 상태일 가능성이 높습니다. 손실 함수 값은 일반적으로 훈련 세트에서는 크게 감소하지만 검증 세트에서는 증가하거나 정체됩니다. 평가를 위해 다양한 YOLO 성능 지표를 살펴볼 수 있습니다.
  • 학습 곡선: 학습 및 검증 세트 모두에 대해 학습 기간에 따른 모델의 성능(예: 손실 또는 정확도)을 플로팅하면 시각적인 인사이트를 얻을 수 있습니다. 학습 곡선(개선)과 검증 곡선(정체 또는 저하) 사이의 격차가 커지는 것은 과적합의 전형적인 신호입니다. 학습 곡선을 시각화하면 이를 진단하는 데 도움이 됩니다.

과적합 방지

과적합을 완화하고 모델 일반화를 개선하는 데 도움이 되는 몇 가지 기법이 있습니다:

  • 교차 검증: K-Fold 교차 검증과 같은 기술은 훈련과 검증에 서로 다른 데이터 하위 집합을 사용하여 보이지 않는 데이터에 대한 모델 성능을 더욱 강력하게 추정합니다.
  • 데이터 증강: 회전, 크기 조정, 자르기, 색상 이동과 같은 변환을 적용하여 학습 데이터 세트의 크기와 다양성을 인위적으로 늘립니다. 견고성을 개선하는 데 도움이 되는 Ultralytics YOLO 데이터 증강 기술이 내장되어 있습니다.
  • 정규화: 모델 복잡도(예: 가중치의 크기)에 따라 손실 함수에 페널티를 추가하는 것입니다. 일반적인 방법에는 큰 가중치를 억제하는 L1 및 L2 정규화가 포함됩니다. L1 및 L2 정규화 방법에 대해 자세히 알아보세요.
  • 조기 중지: 훈련 중 유효성 검사 데이터 세트에 대한 모델의 성능을 모니터링하고 유효성 검사 성능이 저하되기 시작하면 훈련 프로세스를 중지하여 이후 단계에서 모델이 노이즈를 학습하는 것을 방지합니다. Keras에서 조기 중지에 대한 설명을 참조하세요.
  • 드롭아웃: 훈련 중에 뉴런 활성화의 일부를 임의로 0으로 설정합니다. 이렇게 하면 네트워크가 단일 뉴런에 의존하지 않는 더 강력한 기능을 학습하게 됩니다. 드롭아웃 개념은 여기에서 자세히 설명합니다.
  • 모델 가지치기: 학습된 신경망 내에서 덜 중요한 매개변수나 연결을 제거하여 성능에 큰 영향을 주지 않으면서 복잡성을 줄이는 작업입니다. Neural Magic 가지치기를 위한 도구를 제공합니다.
  • 모델 아키텍처를 단순화하세요: 덜 복잡한 모델(예: 더 적은 수의 레이어 또는 매개변수)을 사용하면 특히 데이터 세트가 작은 경우 과적합을 방지할 수 있습니다. 여기에는 YOLOv8n YOLOv8x 비교하는 것과 같이 더 작은 모델 변형을 선택하는 것이 포함될 수 있습니다.
  • 더 많은 데이터 확보하기: 고품질 학습 데이터의 양을 늘리는 것은 일반화를 개선하고 과적합을 줄이는 가장 효과적인 방법 중 하나입니다. 다양한 Ultralytics 데이터 세트를 살펴보세요.

과적합을 이해하고 해결함으로써 개발자는 보다 안정적이고 효과적인 AI 모델을 구축할 수 있습니다. Ultralytics HUB와 같은 도구는 실험 추적 및 모델 평가를 지원하여 모델 개발 수명 주기 동안 과적합을 감지하고 완화할 수 있도록 도와줍니다.

모두 보기