Поскольку модели машинного обучения становятся все более сложными и распространенными, крайне важно иметь практический и методический подход к оценке их эффективности. Но как лучше всего оценивать свои модели?
Традиционно использовались средние показатели точности, такие как средняя средняя точность (mAP), которые вычисляются по всему набору данных. Хотя эти оценки полезны на этапе проверки концепции, они часто оказываются недостаточными, когда модели развертываются в рабочей среде на реальных данных. В таких случаях вам нужно знать, как ваши модели работают в конкретных сценариях, а не только в целом.
В Encord мы подходим к оценке модели, используя подход, ориентированный на данные, с использованием тестовых примеров модели. Думайте о них как о модульных тестах мира машинного обучения. Запустив свои модели через набор предопределенных тестовых случаев перед продолжением развертывания модели или до развертывания, вы можете выявить любые проблемы или слабые места и повысить точность своей модели. Даже после развертывания тестовые сценарии модели можно использовать для непрерывного мониторинга и оптимизации производительности вашей модели, чтобы убедиться, что она соответствует вашим ожиданиям.
В этой статье мы рассмотрим важность тестовых случаев модели и то, как вы можете определить их с помощью показателей качества.
Мы будем использовать практический пример, чтобы поместить эту структуру в контекст. Представьте, что вы создаете модель системы управления парковкой, которая определяет пропускную способность автомобилей, измеряет вместимость в разное время дня и анализирует распределение автомобилей разных типов.
Вы успешно обучили модель, которая хорошо работает на парковке А в Бостоне, с камерами, которые вы настроили для отслеживания парковки. Ваше доказательство концепции завершено, инвесторы довольны, и они просят вас масштабировать его на разные парковки.
Фото парковки сделаны при различных погодных и дневных условиях.
Однако, когда вы развертываете ту же модель на новой парковке в Бостоне и в другом городе (например, в Миннесоте), вы обнаружите множество новых сценариев, которые вы не учли:
- На парковке в Бостоне у камер чуть более размытое изображение, разный уровень контрастности, а машины ближе к камерам.
- В Миннесоте снег на земле, разные типы линий на парковке и новые типы автомобилей, которых не было в ваших тренировочных данных.
Именно здесь важен практический и методический подход к тестированию этих сценариев.
Давайте подробно рассмотрим концепцию определения тестовых случаев модели, выполнив пять шагов:
- Определение сценариев режима отказа
- Определение тестовых случаев модели
- Оцените детализированную производительность
- Смягчение режимов отказа
- Автоматизация тестовых случаев модели
Определение сценариев режима отказа
Тщательное тестирование модели машинного обучения требует рассмотрения потенциальных режимов отказа, таких как пограничные случаи и выбросы, которые могут повлиять на ее производительность в реальных сценариях. Выявление этих сценариев является важным первым шагом в процессе тестирования любой модели.
Сценарии режима сбоя могут включать в себя широкий спектр факторов, которые могут повлиять на производительность модели, например, изменение условий освещения, уникальные перспективы или изменения в окружающей среде.
Давайте рассмотрим нашу систему управления парковкой. В этом случае некоторые из потенциальных пограничных случаев и выбросов могут включать:
- Снег на стоянке
- Различные типы линий, нарисованных на стоянке
- Новые типы автомобилей, которых не было в ваших тренировочных данных
- Различные условия освещения в разное время суток
- Различные углы камеры, перспективы или расстояние до автомобилей
- Различные погодные условия, такие как дождь или туман
Определив сценарии, в которых ваша модель может дать сбой, вы можете приступить к разработке тестовых случаев модели, которые оценивают способность модели эффективно обрабатывать эти сценарии.
Важно отметить, что определение режимов отказа модели — это не одноразовый процесс, и его следует пересматривать на протяжении всей разработки и развертывания вашей модели. По мере появления новых сценариев может потребоваться добавление новых тестовых случаев, чтобы убедиться, что ваша модель продолжает эффективно работать во всех возможных сценариях.
Кроме того, некоторые сценарии могут потребовать особого внимания, например, добавление новых классов к обучающим данным модели или реализация более сложных алгоритмов для обработки сложных сценариев.
Например, в случае добавления новых типов автомобилей к обучающим данным модели может потребоваться сбор дополнительных данных для эффективного обучения модели на этих новых классах.
Определение тестовых случаев модели
Определение тестовых случаев модели — важный шаг в процессе разработки машинного обучения, поскольку он позволяет оценить производительность модели и определить области для улучшения. Как упоминалось ранее, это включает в себя определение классов новых входных данных помимо тех, что в исходном наборе данных, для которых модель должна работать хорошо, и определение ожидаемого поведения модели на этих новых входных данных.
Определение тестовых случаев начинается с построения гипотез на основе различных сценариев, с которыми модель может столкнуться в реальном мире. Это может включать в себя рассмотрение различных условий окружающей среды, условий освещения, ракурсов камеры или любых других факторов, которые могут повлиять на производительность модели. Далее вы определяете ожидаемое поведение модели в соответствии со сценарием.
Моя модель должна достичь X в сценарии, где Y
Крайне важно, чтобы тестовый пример был поддающимся количественной оценке. То есть нужно уметь измерять, проходит тесткейс или нет. В следующем разделе мы вернемся к тому, как это сделать на практике.
Для системы управления парковкой вы можете определить тестовые примеры модели следующим образом:
- Модель должна достичь mAP 0,75 для обнаружения автомобилей, когда автомобили частично покрыты или окружены снегом.
- Модель должна иметь точность 98% на парковочных местах, когда парковочные линии частично покрыты снегом.
- Модель должна достигать mAP 0,75 для обнаружения автомобилей на парковках в условиях плохой освещенности.
Оцените детализированную производительность
После определения тестовых случаев модели можно оценить производительность с использованием соответствующих показателей производительности для каждого тестового примера модели.
Это может включать измерение mAP модели, точности и отзыва срезов данных, связанных с указанными тестовыми примерами.
Чтобы найти конкретные фрагменты данных, относящиеся к тестовому сценарию вашей модели, мы рекомендуем использовать метрики качества.
Метрики качества полезны для оценки производительности вашей модели на основе определенных критериев, таких как размер объекта, размытые изображения или время суток. На практике это дополнительные параметризации, добавляемые поверх ваших данных, меток и предсказаний модели, и они позволяют вам индексировать ваши данные, метки и предсказания модели семантически релевантными способами. Подробнее здесь.
Затем метрики качества можно использовать для идентификации срезов данных, связанных с тестовыми примерами вашей модели. Чтобы оценить конкретный текстовый набор модели, вы определяете срез данных со свойствами, которые определяет тестовый пример, и оцениваете производительность вашей модели на этом срезе данных.
Смягчение режимов отказа
Если ваш тестовый пример модели дает сбой и модель не работает в соответствии с вашими ожиданиями в определенном сценарии, вам необходимо принять меры для повышения производительности. Именно здесь вступают в действие целевые улучшения качества данных. Эти улучшения могут принимать различные формы и формы, в том числе:
- Кампании по сбору данных. Соберите новые выборки данных, которые охватывают выявленные сценарии. Не забудьте обеспечить разнообразие данных, получая образцы из разных мест и типов парковок. Тем не менее, вы должны регулярно обновлять набор данных, чтобы учитывать новые сценарии и поддерживать производительность модели.
- Переименование кампаний. Если ваши режимы сбоя вызваны ошибками маркировки в существующем наборе данных, было бы полезно исправить любые неточности или несоответствия в маркировке перед сбором новых данных. Если у вас сложный вариант использования, мы рекомендуем сотрудничать с экспертами в предметной области, чтобы обеспечить высокое качество аннотаций.
- Увеличение данных. Применяя такие методы, как поворот, настройка цвета и обрезка, вы можете увеличить разнообразие набора данных. Кроме того, вы можете использовать методы для имитации различных условий освещения, ракурсов камеры или факторов окружающей среды, с которыми модель может столкнуться в реальных сценариях. Внедрение специфичных для предметной области методов дополнения, таких как добавление снега или дождя к изображениям, может еще больше повысить способность модели обобщать различные ситуации.
- Создание синтетических данных. Создание образцов искусственных данных может помочь расширить набор данных, но очень важно убедиться, что сгенерированные данные очень похожи на реальные сценарии, чтобы поддерживать производительность модели. Объединение синтетических данных с реальными данными может увеличить размер и разнообразие набора данных, что может привести к созданию более надежных моделей.
Тестовые примеры автоматизированных моделей
После того, как вы определили свои тестовые случаи модели, вам нужен способ выбрать срезы данных и протестировать их на практике. Вот тут-то и появляются показатели качества и Encord Active.
Encord Active — это набор инструментов с открытым исходным кодом, ориентированный на данные, который позволяет вам исследовать и анализировать распределение ваших данных и производительность модели по этим показателям качества простым и удобным способом.
Приведенная выше диаграмма автоматически создается Encord Active с использованием загруженных прогнозов модели. На диаграмме показана зависимость между производительностью модели и каждой метрикой — насколько производительность модели зависит от каждой метрики.
С помощью показателей качества вы определяете области, в которых модель неэффективна, даже если она по-прежнему обеспечивает высокую общую точность. Таким образом, они идеально подходят для проверки ваших модельных тестов на практике.
Например, метрика качества, которая специально измеряет производительность модели в условиях низкой освещенности (см. «Яркость» среди метрик качества на рисунке выше), поможет вам понять, будет ли ваша модель системы управления парковкой с трудом обнаруживать автомобили в условиях низкой освещенности. световые условия.
Вы также можете использовать метрику качества «Область объекта», чтобы создать тестовый пример модели, который проверяет, есть ли у вашей модели проблемы с объектами разных размеров (разное расстояние до автомобилей приводит к разным областям объектов).
Одним из преимуществ Encord Active является то, что он имеет открытый исходный код и позволяет вам писать свои собственные пользовательские показатели качества для проверки ваших гипотез в различных сценариях.
Совет. Если у вас есть какие-то конкретные вещи, которые вы хотели бы протестировать, свяжитесь с нами, и мы будем рады помочь вам начать работу.
Это означает, что вы можете определить показатели качества, характерные для вашего варианта использования, и оценить производительность вашей модели по ним. Например, вы можете определить метрику качества, которая измеряет производительность модели в условиях сильного дождя (сочетание низкой яркости и размытия).
Наконец, если вы хотите визуально проверить срезы, с которыми борется ваша модель, вы можете визуализировать прогнозы модели (как TP, FP, так и FN), если хотите.
Совет. Вы можете использовать функцию Encord Annotate для прямого исправления надписей, если обнаружите явные ошибки надписей.
Вернемся к примеру с системой управления парковкой:
После того, как вы определили тестовые примеры своей модели и сравнили производительность своей модели с использованием метрик качества, вы можете найти неэффективные «срезы» данных.
Если вы определили тестовый пример модели для сценария со снегом на земле в Миннесоте, вы можете:
- Вычислите показатель качества, который измеряет его производительность в снежных условиях.
- Узнайте, насколько эта метрика влияет на общую производительность.
- Отфильтруйте фрагмент изображений, где производительность вашей модели низкая.
- Запустите кампанию по сбору данных для изображений в аналогичных условиях.
- Настройте автоматический тест модели, который всегда проверяет производительность ваших будущих моделей на заснеженных изображениях.
Совет. Если у вас уже есть база данных неразмеченных данных, вы можете использовать поиск по сходству, чтобы найти изображения, представляющие интерес для ваших кампаний по сбору данных.
Преимущества модели тестового сценария
Поскольку модели машинного обучения продолжают развиваться, их оценка становится важнее, чем когда-либо. Используя структуру тестовых сценариев модели, вы можете получить более полное представление о производительности вашей модели и определить области для улучшения. Этот подход намного эффективнее и безопаснее, чем полагаться исключительно на метрики точности высокого уровня, которых может быть недостаточно для оценки производительности вашей модели в реальных сценариях.
Подводя итог, можно сказать, что преимущества использования модельных тестовых случаев вместо метрик производительности только с высокой степенью точности заключаются в следующем:
Углубленное понимание вашей модели.Вы получаете полное представление о своей модели, оценивая ее в деталях (вместо того, чтобы полагаться на одну общую метрику). систематический анализ ее производительности повысит вашу (и вашу команду) уверенность в ее эффективности во время развертывания и повысит доверие к модели.
Позволяет сконцентрироваться на устранении режимов сбоя модели. Вооружившись углубленной оценкой Encord Active, усилия по улучшению модели можно направить на устранение ее слабых мест. Сосредоточение внимания на более слабых аспектах вашей модели ускоряет ее разработку, оптимизирует время разработки и минимизирует затраты на сбор данных и маркировку.
Полностью настраиваемый для вашего конкретного случая.Одно из преимуществ использования инструментов с открытым исходным кодом, таких как Encord Active, заключается в том, что вы можете писать свои собственные метрики качества и настраивать автоматические триггеры, не полагаясь на проприетарные программное обеспечение.
Если вы заинтересованы во включении тестовых случаев модели в рабочий процесс аннотирования данных и разработки модели, не стесняйтесь обращаться к нам.
Заключение
В этой статье мы начнем с понимания того, почему определение тестовых случаев модели и использование метрик качества для оценки производительности модели по сравнению с ними имеет важное значение. Это практичный и методичный подход к выявлению режимов отказа, ориентированных на данные, в моделях машинного обучения.
Определив тестовые случаи модели, оценив производительность модели по показателям качества и настроив автоматические триггеры для их тестирования, вы можете определить области, в которых модель нуждается в улучшении, соответствующим образом расставить приоритеты в усилиях по маркировке данных и повысить доверие к модели со стороны вашей команды.
Кроме того, он меняет цикл разработки с реактивного на упреждающий, когда вы можете находить и устранять потенциальные проблемы до их возникновения, вместо того, чтобы развертывать свою модель в новом сценарии, выяснять, что у вас низкая производительность, и пытаться это исправить.
Инструменты с открытым исходным кодом, такие как Encord Active, позволяют пользователям записывать свои собственные показатели качества и настраивать автоматические триггеры, не полагаясь на проприетарное программное обеспечение. Это может привести к более тесному сотрудничеству и обмену знаниями в сообществе машинного обучения, что в конечном итоге приведет к созданию более надежных и эффективных моделей машинного обучения в долгосрочной перспективе.
Первоначально опубликовано на https://encord.com.