검증 데이터로 머신러닝 모델을 최적화하여 과적합을 방지하고, 하이퍼파라미터를 조정하며, 강력한 실제 성능을 보장합니다.
검증 데이터는 머신러닝(ML) 개발 주기에서 중요한 구성 요소입니다. 이는 모델을 맞추는 데 사용되는 학습 데이터 및 최종 평가에 사용되는 테스트 데이터와는 별개의 원본 데이터 세트의 하위 집합입니다. 검증 데이터의 주요 목적은 모델 하이퍼파라미터를 조정하고 모델 아키텍처에 대한 결정을 내리는 동안 학습 데이터 세트에 대한 모델 적합도에 대한 편견 없는 평가를 제공하는 것입니다. 이 프로세스는 보이지 않는 데이터에 대한 최종 성능을 평가하기 전에 최상의 모델 구성을 선택하는 데 도움이 됩니다.
모델 학습 과정에서 머신러닝 모델은 학습 데이터에서 패턴을 학습합니다. 그러나 이 데이터만으로 모델을 평가하면 모델이 단순히 훈련 예제를 암기할 수 있기 때문에 과적합이라고 알려진 현상이 발생할 수 있습니다. 검증 데이터는 체크포인트 역할을 합니다. 개발자는 훈련 중에 주기적으로 이 별도의 세트에 대한 모델의 성능을 평가함으로써 다음과 같이 할 수 있습니다:
강력한 모델 개발을 위해서는 학습, 검증, 테스트 데이터 세트의 차이점을 이해하는 것이 기본입니다:
데이터 세트 버전 관리 및 관리를 위해 Ultralytics HUB와 같은 도구를 사용하여 관리되는 적절한 분리는 테스트 세트의 정보가 훈련 또는 모델 선택 프로세스로 '누수'되어 지나치게 낙관적인 성능 추정치를 초래하는 것을 방지합니다.
검증 데이터는 하이퍼파라미터 튜닝에 없어서는 안 될 필수 요소입니다. 하이퍼파라미터는 학습 프로세스가 시작되기 전에 설정하는 모델 자체 외부의 구성 설정입니다. 예를 들어 학습 속도, 신경망의 레이어 수 또는 사용되는 최적화 알고리즘 유형 등이 있습니다. 개발자는 서로 다른 하이퍼파라미터 조합으로 여러 모델 버전을 학습시키고, 검증 세트에서 각각을 평가한 후 가장 좋은 성능을 내는 조합을 선택합니다. 이러한 체계적인 검색은 그리드 검색 또는 베이지안 최적화와 같은 방법을 사용하여 자동화할 수 있으며, 종종 MLOps 도구와 통합된 플랫폼에서 이를 용이하게 합니다.
사용 가능한 데이터의 양이 제한되어 있는 경우 교차 검증 (특히 K-Fold 교차 검증)이라는 기법을 사용하는 경우가 많습니다. 여기서 학습 데이터는 'K'개의 하위 집합(폴드)으로 나뉩니다. 모델은 매번 K-1개의 폴드를 훈련에 사용하고 나머지 폴드를 유효성 검사 집합으로 사용하여 K번 훈련됩니다. 그런 다음 모든 K회 실행에 대한 성능의 평균을 구합니다. 이렇게 하면 모델 성능을 더 강력하게 추정할 수 있으며, Ultralytics K-Fold 교차 검증 가이드에 설명된 대로 제한된 데이터를 더 잘 활용할 수 있습니다.
요약하자면, 검증 데이터는 신뢰할 수 있고 성능이 뛰어난 인공지능(AI) 모델을 구축하는 데 있어 초석입니다. 이를 통해 효과적인 하이퍼파라미터 튜닝, 모델 선택, 과적합 방지를 가능하게 하여 모델이 학습된 데이터 이상으로 일반화되도록 보장합니다.