Руководство по тестированию моделей
Введение
После обучения и оценки модели настало время ее протестировать. Тестирование модели включает в себя оценку того, насколько хорошо она работает в реальных сценариях. При тестировании учитываются такие факторы, как точность, надежность, справедливость и то, насколько легко понять решения, принимаемые моделью. Цель - убедиться, что модель работает так, как задумано, дает ожидаемые результаты и соответствует общей цели вашего приложения или проекта.
Смотреть: Как тестировать модели машинного обучения | избежать утечки данных в компьютерном зрении 🚀
Тестирование модели очень похоже на оценку модели, но это два разных этапа в проекте по компьютерному зрению. Оценка модели включает в себя метрики и графики для оценки точности модели. С другой стороны, тестирование модели проверяет, совпадает ли поведение модели с ожиданиями. В этом руководстве мы рассмотрим стратегии тестирования моделей компьютерного зрения.
Тестирование модели и оценка модели. Оценка модели
Для начала давайте на примере разберемся, в чем разница между оценкой и тестированием модели.
Предположим, вы обучили модель компьютерного зрения для распознавания кошек и собак и хотите внедрить ее в зоомагазине для наблюдения за животными. На этапе оценки модели вы используете набор помеченных данных для расчета таких показателей, как точность, прецизионность, отзыв и F1 score. Например, точность модели при различении кошек и собак в данном наборе данных может составлять 98 %.
После оценки вы тестируете модель на изображениях из зоомагазина, чтобы проверить, насколько хорошо она идентифицирует кошек и собак в более разнообразных и реалистичных условиях. Вы проверяете, может ли модель правильно определять кошек и собак, когда они движутся, находятся в разных условиях освещения или частично заслонены такими предметами, как игрушки или мебель. Тестирование модели проверяет, что модель ведет себя так, как ожидается, вне контролируемой среды оценки.
Подготовка к тестированию модели
Модели компьютерного зрения обучаются на основе наборов данных, обнаруживая закономерности, делая прогнозы и оценивая свою работу. Эти наборы данных обычно делятся на обучающие и тестовые, чтобы имитировать реальные условия. Обучающие данные обучают модель, а тестовые проверяют ее точность.
Вот два момента, о которых следует помнить перед тестированием модели:
- Реалистичное представление: Невидимые ранее тестовые данные должны быть похожи на те, с которыми модели придется работать при развертывании. Это помогает получить реалистичное представление о возможностях модели.
- Достаточный размер: Размер тестового набора данных должен быть достаточно большим, чтобы обеспечить надежное понимание того, насколько хорошо работает модель.
Тестирование модели компьютерного зрения
Вот основные шаги, которые необходимо предпринять, чтобы протестировать модель компьютерного зрения и понять ее производительность.
- Выполните предсказания: Используйте модель для составления прогнозов на тестовом наборе данных.
- Сравнить предсказания: Проверьте, насколько хорошо предсказания модели соответствуют реальным меткам (ground truth).
- Рассчитайте показатели эффективности: Вычислите такие показатели, как точность, прецизионность, отзыв и F1 score, чтобы понять сильные и слабые стороны модели. При тестировании особое внимание уделяется тому, как эти показатели отражают реальную производительность.
- Визуализируйте результаты: Создавайте наглядные пособия, такие как матрицы путаницы и ROC-кривые. Они помогут вам выявить конкретные области, в которых модель может работать не лучшим образом в практических приложениях.
Затем можно проанализировать результаты тестирования:
- Неправильно классифицированные изображения: Определите и просмотрите изображения, которые модель классифицировала неправильно, чтобы понять, где она ошибается.
- Анализ ошибок: Проведите тщательный анализ ошибок, чтобы понять их типы (например, ложноположительные и ложноотрицательные) и их возможные причины.
- Предвзятость и справедливость: Проверьте, нет ли предвзятости в прогнозах модели. Убедитесь, что модель одинаково хорошо работает с разными подмножествами данных, особенно если они включают такие чувствительные атрибуты, как раса, пол или возраст.
Тестирование модели YOLO11
Чтобы протестировать модель YOLO11 , вы можете воспользоваться режимом проверки. Это простой способ понять сильные стороны модели и области, требующие улучшения. Кроме того, вам нужно будет правильно отформатировать тестовый набор данных для YOLO11. Более подробную информацию о том, как использовать режим проверки, можно найти на странице документации по проверке модели.
Использование YOLO11 для прогнозирования по нескольким тестовым изображениям
Если вы хотите протестировать обученную модель YOLO11 на нескольких изображениях, хранящихся в папке, вы можете легко сделать это одним махом. Вместо того чтобы использовать режим проверки, который обычно используется для оценки производительности модели на проверочном наборе и предоставления подробных метрик, вы можете просто увидеть прогнозы на всех изображениях в вашем тестовом наборе. Для этого можно использовать режим прогнозирования.
Разница между режимами проверки и предсказания
- Режим проверки: Используется для оценки эффективности модели путем сравнения прогнозов с известными метками (ground truth). Он предоставляет подробные метрики, такие как точность, прецизионность, отзыв и F1 score.
- Режим прогнозирования: Используется для запуска модели на новых, невидимых данных с целью получения прогнозов. Он не предоставляет подробных показателей производительности, но позволяет увидеть, как модель работает на реальных изображениях.
Запуск YOLO11 Предсказания без индивидуального обучения
Если вы хотите протестировать базовую модель YOLO11 , чтобы понять, можно ли использовать ее для вашего приложения без специального обучения, вы можете воспользоваться режимом прогнозирования. Хотя модель предварительно обучена на таких наборах данных, как COCO, запуск предсказаний на вашем собственном наборе данных может дать вам быстрое представление о том, насколько хорошо она может работать в вашем конкретном контексте.
Переоценка и недооценка в машинном обучении
При тестировании моделей машинного обучения, особенно в области компьютерного зрения, важно следить за тем, чтобы не допустить их чрезмерной и недостаточной подгонки. Эти проблемы могут существенно повлиять на то, насколько хорошо ваша модель работает с новыми данными.
Overfitting
Переоценка происходит, когда ваша модель слишком хорошо усваивает обучающие данные, включая шум и детали, которые не обобщаются на новые данные. В компьютерном зрении это означает, что ваша модель может отлично работать с обучающими изображениями, но с трудом - с новыми.
Признаки чрезмерной подгонки
- Высокая точность обучения, низкая точность проверки: если ваша модель очень хорошо работает на обучающих данных, но плохо на проверочных или тестовых данных, то, скорее всего, она перестраивается.
- Визуальный контроль: Иногда можно заметить чрезмерную подгонку, если ваша модель слишком чувствительна к незначительным изменениям или несущественным деталям на изображениях.
Заниженная посадка
Недооптимизация возникает, когда модель не может уловить основные закономерности в данных. В компьютерном зрении недонастроенная модель может даже не распознать правильно объекты на обучающих изображениях.
Признаки недостаточной посадки
- Низкая точность обучения: если ваша модель не может достичь высокой точности на обучающем наборе, возможно, она недостаточно хорошо подходит.
- Визуальная ошибка классификации: Постоянная неспособность распознать очевидные особенности или объекты говорит о недостаточной подгонке.
Баланс между избыточной и недостаточной подгонкой
Главное - найти баланс между чрезмерной и недостаточной подгонкой. В идеале модель должна хорошо работать как на обучающих, так и на проверочных наборах данных. Регулярный мониторинг производительности модели с помощью метрик и визуальных проверок, а также применение правильных стратегий помогут вам добиться наилучших результатов.
Утечка данных в компьютерном зрении и как ее избежать
При тестировании модели важно помнить об утечке данных. Утечка данных происходит, когда для обучения модели случайно используется информация из других наборов данных. Модель может казаться очень точной во время обучения, но при утечке данных она будет плохо работать на новых, невидимых данных.
Почему происходит утечка данных
Утечку данных бывает непросто обнаружить, и часто она возникает из-за скрытых предубеждений в обучающих данных. Вот несколько распространенных способов, с помощью которых это может произойти в компьютерном зрении:
- Перекос камеры: различные ракурсы, освещение, тени и движения камеры могут внести нежелательные изменения.
- Ошибка наложения: логотипы, временные метки и другие наложения на изображения могут ввести модель в заблуждение.
- Предвзятое отношение к шрифтам и объектам: специфические шрифты или объекты, часто встречающиеся в определенных классах, могут исказить результаты обучения модели.
- Пространственная погрешность: дисбаланс между передним и задним планом, распределением ограничительных рамок и расположением объектов может повлиять на обучение.
- Неправильные метки или смещение типов данных могут привести к утечке информации.
Обнаружение утечки данных
Чтобы обнаружить утечку данных, вы можете:
- Проверьте производительность: Если результаты работы модели удивительно хороши, возможно, она протекает.
- Посмотрите на важность характеристик: Если одна функция намного важнее других, это может свидетельствовать об утечке.
- Визуальный контроль: Дважды проверьте, что решения модели имеют интуитивный смысл.
- Проверьте разделение данных: Перед обработкой убедитесь, что данные были разделены правильно.
Предотвращение утечки данных
Чтобы предотвратить утечку данных, используйте разнообразные наборы данных с изображениями или видео с разных камер и в разных условиях. Внимательно изучите данные и убедитесь в отсутствии скрытых предубеждений, например, в том, что все положительные образцы были получены в определенное время суток. Избежание утечки данных поможет сделать ваши модели компьютерного зрения более надежными и эффективными в реальных ситуациях.
Что происходит после тестирования модели
После тестирования модели дальнейшие действия зависят от результатов. Если модель работает хорошо, вы можете внедрить ее в реальную среду. Если результаты неудовлетворительны, необходимо внести улучшения. Это может включать анализ ошибок, сбор большего количества данных, улучшение качества данных, корректировку гиперпараметров и переобучение модели.
Присоединяйтесь к разговору об искусственном интеллекте
Участие в сообществе энтузиастов компьютерного зрения может помочь в решении проблем и более эффективном обучении. Вот несколько способов подключиться, обратиться за помощью и поделиться своими мыслями.
Общественные ресурсы
- Вопросы на GitHub: Изучите репозиторийYOLO11 на GitHub и используйте вкладку Issues, чтобы задавать вопросы, сообщать об ошибках и предлагать новые возможности. Сообщество и сопровождающие очень активны и готовы помочь.
- Ultralytics Сервер Discord: Присоединяйтесь к серверуUltralytics Discord, чтобы общаться с другими пользователями и разработчиками, получать поддержку и делиться своим опытом.
Официальная документация
- Ultralytics YOLO11 Документация: Ознакомьтесь с официальной документацией YOLO11 для получения подробных руководств и полезных советов по различным проектам в области компьютерного зрения.
Эти ресурсы помогут вам справиться с трудностями и оставаться в курсе последних тенденций и практик в сообществе специалистов по компьютерному зрению.
В кратком изложении
Создание надежных моделей компьютерного зрения основано на тщательном тестировании моделей. Протестировав модель на ранее невидимых данных, мы можем проанализировать ее и выявить такие слабые места, как чрезмерная подгонка и утечка данных. Устранение этих проблем до развертывания помогает модели хорошо работать в реальных приложениях. Важно помнить, что тестирование модели так же важно, как и ее оценка, для обеспечения долгосрочного успеха и эффективности модели.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Каковы ключевые различия между оценкой и тестированием моделей в компьютерном зрении?
Оценка модели и тестирование модели - разные этапы проекта по компьютерному зрению. Оценка модели включает в себя использование маркированного набора данных для вычисления таких показателей, как точность, прецизионность, отзыв и F1 score, что дает представление о работе модели с контролируемым набором данных. Тестирование модели, с другой стороны, оценивает производительность модели в реальных сценариях, применяя ее к новым, невидимым данным, чтобы убедиться, что поведение модели соответствует ожиданиям за пределами среды оценки. Подробное руководство см. в разделе " Этапы работы над проектом по компьютерному зрению".
Как протестировать модель Ultralytics YOLO11 на нескольких изображениях?
Чтобы протестировать модель Ultralytics YOLO11 на нескольких изображениях, вы можете использовать режим прогнозирования. В этом режиме можно запустить модель на новых, невидимых данных для получения прогнозов без предоставления подробных метрик. Это идеальный вариант для тестирования производительности в реальных условиях на больших наборах изображений, хранящихся в папке. Для оценки показателей производительности используйте режим проверки.
Что делать, если модель компьютерного зрения демонстрирует признаки чрезмерной или недостаточной подгонки?
Для решения проблемы избыточной подгонки:
- Методы регуляризации, такие как отсев.
- Увеличьте размер обучающего набора данных.
- Упростите архитектуру модели.
Для решения проблемы недостаточной подгонки:
- Используйте более сложную модель.
- Обеспечьте более актуальные функции.
- Увеличьте количество итераций или эпох обучения.
Просматривайте неправильно классифицированные изображения, проводите тщательный анализ ошибок и регулярно отслеживайте показатели эффективности, чтобы поддерживать баланс. Для получения дополнительной информации об этих понятиях изучите наш раздел " Переоценка и недооценка".
Как обнаружить и избежать утечки данных в компьютерном зрении?
Для обнаружения утечки данных:
- Убедитесь, что производительность тестирования не является необычно высокой.
- Проверьте важность функции, чтобы получить неожиданные сведения.
- Интуитивно просматривайте решения модели.
- Убедитесь в правильности разделения данных перед обработкой.
Чтобы избежать утечки данных:
- Используйте различные наборы данных с различными средами.
- Внимательно изучите данные на предмет скрытых предубеждений.
- Убедитесь, что информация между обучающим и тестовым наборами не пересекается.
Подробные стратегии по предотвращению утечки данных приведены в нашем разделе " Утечка данных в компьютерном зрении".
Какие действия следует предпринять после тестирования модели компьютерного зрения?
После тестирования, если производительность модели соответствует целям проекта, приступайте к развертыванию. Если результаты неудовлетворительны, подумайте:
- Анализ ошибок.
- Сбор более разнообразных и качественных данных.
- Настройка гиперпараметров.
- Переобучение модели.
Получите информацию из раздела " Тестирование модели против оценки модели". Раздел "Оценка модели" поможет усовершенствовать и повысить эффективность модели в реальных приложениях.
Как запустить прогнозирование YOLO11 без пользовательского обучения?
Вы можете запустить прогнозирование с помощью предварительно обученной модели YOLO11 на своем наборе данных, чтобы понять, подходит ли она для ваших задач. Используйте режим прогнозирования, чтобы получить быстрое представление о результатах работы, не погружаясь в пользовательское обучение.