Глоссарий

Данные проверки

Оптимизируй модели машинного обучения с помощью валидных данных, чтобы предотвратить перебор, настроить гиперпараметры и обеспечить надежную работу в реальном мире.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Валидационные данные - важнейший компонент в цикле разработки Machine Learning (ML). Это отдельное подмножество исходного набора данных, отличное от обучающих данных, использованных для подгонки модели, и тестовых данных, используемых для окончательной оценки. Основная цель валидационных данных - обеспечить беспристрастную оценку соответствия модели на обучающем наборе данных при настройке гиперпараметров модели и принятии решений об архитектуре модели. Этот процесс помогает выбрать наилучшую конфигурацию модели, прежде чем оценивать ее окончательную производительность на невидимых данных.

Роль проверочных данных

В процессе обучения модели ML-модель изучает закономерности на основе обучающих данных. Однако оценка модели только по этим данным может ввести в заблуждение, так как модель может просто запомнить обучающие примеры, а это явление известно как overfitting. Валидационные данные выступают в качестве контрольной точки. Оценивая работу модели на этом отдельном наборе периодически во время обучения, разработчики могут:

  1. Настрой гиперпараметры: Настрой такие параметры, как скорость обучения, размер партии или сложность модели, основываясь на показателях производительности(Accuracy, mAP и т. д.), рассчитанных на валидационном множестве. Для этого часто используются техники, которые обсуждаются в руководствах по настройке гиперпараметров.
  2. Выбирай модели: Сравнивай различные архитектуры или версии моделей (например, сравнивай Ultralytics YOLOv8 с YOLOv10) на основе их эффективности при проверке.
  3. Предотвращай оверфиттинг: Следи за показателями валидации, чтобы обнаружить, когда модель начинает работать хуже на валидном наборе даже при улучшении результатов обучения, что свидетельствует о переподгонке. Такие техники, как ранняя остановка, опираются на показатели валидации.

Данные для проверки в сравнении с данными для тренировок и тестов

Понимание различий между тренировочными, валидационными и тестовыми наборами данных имеет фундаментальное значение для разработки надежных моделей:

  • Обучающие данные: Самая большая часть набора данных, которая используется непосредственно алгоритмом обучения для изучения паттернов и настройки весов модели. Модель "видит" эти данные часто во время циклов обучения(эпох).
  • Валидационные данные: Меньшая часть, которая косвенно используется во время обучения. Модель не обучается непосредственно на этих данных, но производительность на этом наборе позволяет принимать решения о гиперпараметрах и структуре модели. Он дает обратную связь о том, насколько хорошо модель может обобщать новые данные на этапе разработки.
  • Тестовые данные: Совершенно отдельная порция данных, которую модель не видела ни во время обучения, ни во время валидации. Она используется только один раз после завершения обучения и настройки, чтобы дать окончательную, непредвзятую оценку способности модели к обобщению на невидимых реальных данных.

Правильное разделение, часто осуществляемое с помощью таких инструментов, как Ultralytics HUB для версионирования и управления наборами данных, гарантирует, что информация из тестового набора не "просочится" в процесс обучения или выбора модели, что приведет к чрезмерно оптимистичным оценкам производительности.

Настройка гиперпараметров и выбор модели

Валидационные данные незаменимы для настройки гиперпараметров. Гиперпараметры - это внешние по отношению к самой модели параметры конфигурации, задаваемые до начала процесса обучения. В качестве примера можно привести скорость обучения, количество слоев в нейронной сети или тип используемого алгоритма оптимизации. Разработчики обучают несколько версий модели с различными комбинациями гиперпараметров, оценивают каждую из них на валидационном множестве и выбирают ту комбинацию, которая дает наилучшую производительность. Этот систематический поиск можно автоматизировать с помощью таких методов, как Grid Search или Bayesian Optimization, что часто облегчается платформами, интегрированными с инструментами MLOps.

Примеры из реальной жизни

  1. Обнаружение объектовв компьютерном зрении: При обучении Ultralytics YOLO модели для обнаружения объектов на изображениях (например, используя набор данных VisDrone), часть помеченных изображений откладывается в качестве валидных данных. Во время обучения на этом валидационном наборе после каждой эпохи вычисляется mAP (средняя точность) модели. Этот показатель помогает решить, когда следует прекратить обучение (ранняя остановка) или какой набор методов дополнения данных работает лучше всего, перед окончательной проверкой производительности на тестовом наборе. Эффективные стратегии оценки моделей во многом зависят от этого разделения.
  2. Обработка естественного языка Классификация текста: При разработке модели, классифицирующей отзывы покупателей как положительные или отрицательные(анализ настроения), валидационный набор используется для выбора оптимальной архитектуры (например, LSTM против Transformer) или настройки гиперпараметров, таких как коэффициент отсева. Модель, получившая наивысший F1-score или точность на валидационном множестве, будет выбрана для финального тестирования. Такие ресурсы, как Hugging Face часто предоставляют наборы данных, предварительно разделенные для этой цели.

Кросс-валидация

Когда количество доступных данных ограничено, часто используется техника, называемая кросс-валидацией (в частности, K-Fold Cross-Validation). Здесь обучающие данные разбиваются на "K" подмножеств (складок). Модель обучается K раз, каждый раз используя K-1 складку для обучения, а оставшуюся складку - в качестве валидационного набора. Затем производительность усредняется по всем K прогонам. Это дает более надежную оценку производительности модели и позволяет лучше использовать ограниченные данные, как объясняется в руководствеUltralytics по перекрестной валидации K-Fold.

В общем, валидационные данные - это краеугольный камень построения надежных и высокопроизводительных моделей искусственного интеллекта (ИИ). Они позволяют эффективно настраивать гиперпараметры, подбирать модели и предотвращать перебор, гарантируя, что модели будут обобщать гораздо больше данных, на которых они были обучены.

Читать полностью