Вопрос или проблема
Предположим, я развернул модель, вручную пометив истинные метки с моими обучающими данными, поскольку в данном случае нет способа получить истинные метки без участия человека. После развертывания модели, если я хотел бы оценить, как модель работает на реальных данных, как я могу это сделать без выборки некоторых из этих реальных данных, которые не идут с истинными метками, и вручную предоставляя им истинные метки? А затем, оценив ее производительность на этой размеченной выборке реальных данных, использовать это в качестве нового обучающего набора для новой модели. Это единственный подход, который я могу придумать, когда нельзя различить истинные метки без человеческого вмешательства, и это не кажется мне слишком автоматизированным.
Существует ли другой способ сделать это без ручной разметки?
В вашем сценарии нет другого способа: единственный способ правильно оценить некоторые реальные данные — это иметь размеченную выборку реальных данных.
Тем не менее, существуют некоторые автоматизированные вещи, которые можно сделать. Хотя это не полная оценка, это может дать некоторые указания на то, выполняет ли модель свои функции:
- Если модель способна измерять вероятность данных, которые она получает, снижение этого значения означает, что у модели возникли некоторые трудности.
- Измерение того, насколько похожи распределения признаков и (предсказанной) целевой переменной между обучающими данными и реальными данными. Если они очень разные, модель, вероятно, будет ошибаться.
- Измерение любых различий в вероятностях, предсказанных моделью. Более низкие вероятности обычно соответствуют более низкому уровню уверенности модели.
Вероятно, существуют и другие методы, особенно основанные на конкретной задаче.
Ответ или решение
После развертывания модели машинного обучения, задача ее оценки и повторного обучения может представлять собой серьезные вызовы, особенно когда отсутствуют метки истинного значения (ground truth labels) для новых, поступающих данных. В данной статье мы рассмотрим подходы к оценке модели на живых данных и возможность ее повторного обучения, когда ручное аннотирование данных невозможно.
Оценка модели без меток истинного значения
-
Сравнение распределения данных: Одним из первых шагов в оценке производительности модели является анализ распределения признаков и предсказанных целевых значений обучающей выборки по сравнению с новыми данными. Если распределения сильно различаются, это может указывать на то, что модель может начать ошибаться, так как она была обучена на другом наборе данных. Метрики, такие как Kullback-Leibler divergence или Wasserstein distance, могут быть использованы для количественной оценки различий в распределении.
-
Измерение вероятности предсказаний: Если модель способна генерировать вероятности предсказаний, можно отслеживать изменения средней вероятности по всей выборке. Снижение этой вероятности может указывать на то, что модель сталкивается с трудностями. Это будет своего рода индикатор того, насколько уверенно модель делает свои предсказания.
-
Контроль аномалий: Важно настроить мониторинг для выявления аномалий в предсказаниях модели. Используйте алгоритмы детекции аномалий для автоматического выявления случаев, когда модель делает неожиданные или неуверенные предсказания. Это может быть полезным для быстрого реагирования на потенциальные проблемы до того, как они начнут влиять на бизнес-процессы.
-
Кросс-валидация модельных метрик: Периодически проводите контрольные проверки с использованием ранее аннотированных данных, чтобы обновить результаты вашей модели. Это может быть выполнено в рамках запланированной периодичности без необходимости постоянного ручного аннотирования.
Повторное обучение модели
Когда необходимо выполнить повторное обучение модели, но нет возможности собирать новые метки, можно рассмотреть следующие подходы:
-
Использование активного обучения: Этот метод предполагает, что модель сама может выбирать наиболее информативные экземпляры данных для перемаркировки. Вы можете периодически извлекать небольшой объем данных, которые модель считает наиболее сложными или неопределенными, и запросить у экспертов их аннотацию. Это позволяет минимизировать затраты и ускорить процесс получения новых меток.
-
Усиленное обучение (Reinforcement Learning): В некоторых случаях применим подход усиленного обучения, где агент (модель) обучается на основе получаемых наград, что позволяет ему адаптироваться к новым данным без необходимости в ручной аннотации.
-
Использование вторичных источников данных: Если возможно, вы можете использовать существующие наборы данных, которые имеют схожую природу с вашими живыми данными. Эти данные могут помочь в расширении и улучшении модели.
-
Методика самообучающихся моделей: Такие подходы позволяют модели повторно обучаться на своих собственных предсказаниях. Например, вы можете выбирать предсказания модели с высокой уверенностью и использовать их как «псевдометки» для тренировки, что, однако, требует тщательной проверки и мониторинга.
Заключение
Эти методы не могут полностью заменить ручное аннотирование, но они могут значительно упростить и ускорить процесс оценки производительности модели и ее повторного обучения. Принятие проактивного подхода к мониторингу и использованию доступных инструментов оценки поможет поддерживать вашу модель на высоком уровне эффективности, даже в условиях ограничения данных. Если у вас возникнут вопросы о внедрении этих методов, или вам понадобится помощь в настройке, не стесняйтесь обращаться к экспертам в области ИТ и машинного обучения.