검증 데이터로 머신러닝 모델을 최적화하여 과적합을 방지하고, 하이퍼파라미터를 조정하며, 강력한 실제 성능을 보장합니다.
검증 데이터는 모델의 하이퍼파라미터를 조정하는 동안 모델의 적합성을 편견 없이 평가하는 데 사용되는 훈련 프로세스에서 보류된 데이터 샘플입니다. 검증 세트의 주요 역할은 머신 러닝(ML) 모델의 성능을 자주, 독립적으로 평가하여 모델 개발을 안내하는 것입니다. 이 피드백 루프는 강력한 인공 지능(AI) 시스템을 만드는 데 있어 핵심적인 개념인, 기존에 본 데이터에서 잘 작동할 뿐만 아니라 새로운 데이터에 효과적으로 일반화할 수 있는 모델을 구축하는 데 필수적입니다.
검증 데이터의 주요 목적은 과적합을 방지하는 것입니다. 과적합은 모델이 학습 데이터를 너무 잘 학습하여 새로운 데이터에 적용되지 않는 노이즈와 세부 사항을 포착하여 성능을 저하시킬 때 발생합니다. 개발자는 정기적으로(예: 각 에포크 이후) 유효성 검사 세트에 대해 모델을 테스트함으로써 일반화 오류를 모니터링할 수 있습니다. 학습 데이터의 성능이 계속 향상되는 반면 검증 데이터의 성능이 정체되거나 저하된다면 이는 과적합의 명백한 신호입니다.
이 평가 프로세스는 하이퍼파라미터 튜닝에 매우 중요합니다. 하이퍼파라미터는 데이터에서 학습되지 않는 학습 속도나 배치 크기와 같은 모델 외부의 구성 설정입니다. 검증 세트를 사용하면 다양한 하이퍼파라미터 조합을 실험하여 최상의 성능을 내는 세트를 찾을 수 있습니다. 이 반복적인 프로세스는 모델 선택 및 최적화의 핵심 부분입니다.
일반적인 ML 프로젝트에서 데이터 세트는 세 개의 하위 집합으로 나뉘며, 각각의 역할을 이해하는 것은 기본입니다. 데이터 분할에 대한 일반적인 접근 방식은 학습에 70%, 검증에 15%, 테스트에 15%를 할당하는 것입니다.
특히 검증 세트와 테스트 세트를 엄격하게 분리하는 것은 모델의 기능을 정확하게 평가하고 편향성-편차 트레이드오프를 피하는 데 매우 중요합니다.
사용 가능한 데이터의 양이 제한되어 있는 경우 교차 검증 (특히 K-Fold 교차 검증)이라는 기법을 사용하는 경우가 많습니다. 여기서 학습 데이터는 'K'개의 하위 집합(폴드)으로 나뉩니다. 모델은 매번 K-1개의 폴드를 훈련에 사용하고 나머지 폴드를 유효성 검사 집합으로 사용하여 K번 훈련됩니다. 그런 다음 모든 K회 실행에 대한 성능의 평균을 구합니다. 이렇게 하면 모델 성능을 더 강력하게 추정하고 제한된 데이터를 더 잘 활용할 수 있으며, scikit-learn 설명서 및 Ultralytics K-Fold 교차 검증 가이드와 같은 리소스에 설명된 대로 더 나은 결과를 얻을 수 있습니다.
요약하자면, 유효성 검사 데이터는 PyTorch 및 TensorFlow와 같은 프레임워크로 신뢰할 수 있는 고성능 AI 모델을 구축하는 데 있어 초석입니다. 이를 통해 효과적인 하이퍼파라미터 조정, 모델 선택, 과적합 방지를 가능하게 하여 모델이 학습된 데이터 이상으로 일반화되도록 보장합니다. 이러한 데이터 세트를 효과적으로 관리하기 위한 통합 도구를 제공하는 플랫폼이 바로 Ultralytics HUB입니다.