Почему это сложно и что с этим делать
Соавтор: Шаяк Сен
Пандемия COVID-19 вызвала большой интерес к дрейфу данных в машинном обучении. Дрейф — ключевая проблема, потому что машинное обучение часто опирается на ключевое предположение: прошлое == будущее. В реальном мире такое случается очень редко. В результате очень важно понимать, как изменения в данных повлияют на поведение модели как до развертывания модели, так и на постоянной основе во время развертывания. Например, во время пандемии COVID-19 модели во многих отраслях работали на неизведанной территории из-за резкого изменения данных и среды.
Во время пандемии специалисты по обработке и анализу данных наблюдали закономерности, подобные показанной на рисунке выше: результаты модели значительно изменились в определенном направлении. И попытаемся ответить на ряд вопросов:
- Что именно в данных вызывает этот сдвиг?
- Как это повлияет на качество моей модели?
- Нужно ли как-то менять модель?
Эта проблема усугубляется в ситуациях, когда наземные данные не доступны мгновенно, что затрудняет измерение точности модели, пока не стало слишком поздно. Это особенно верно в таких случаях, как мошенничество, кредитный риск, маркетинг, когда результаты прогноза могут быть измерены только с определенной задержкой.
Хотя переподготовка рассматривается как панацея, на практике переподготовка без достаточного понимания основных причин и последствий может привести к снижению производительности. В этой статье мы рассмотрим оценки влияния дрейфа и нюансы переподготовки, чтобы подготовить специалистов по обработке и анализу данных для борьбы с дрейфом в сложных условиях. Мы начнем с обзора стандартных терминов и методов дрейфа, а также трудностей обнаружения дрейфа и его последствий. Затем мы обсудим, как понимание природы и основных причин дрейфа может привести к эффективному смягчению последствий на практике.
Обзор дрейфа
Почему происходит дрейф?
Мир и контекст, в котором применяется модель, потенциально продолжают меняться. Некоторые примеры того, как данные, к которым применяется модель и на которых она обучалась, могут существенно различаться:
- Внешний мир изменился: это могут быть внешние события, такие как пандемия и изменение процентных ставок, или могут быть более внутренние события, такие как сбой в модельных пайплайнах, приводящий к проблемам с качеством данных.
- Модель применяется к новому контексту: например, языковая модель, обученная на данных Википедии, затем применяется к новостным статьям.
- Во-первых, обучающие данные были взяты из другого набора: это может быть связано с предвзятостью выборки. Иногда эти предубеждения неизбежны. Например, для заявок на получение кредита наземная правда доступна только для лиц, которым были предоставлены кредиты.
Какие бывают виды дрейфа?
Говоря о дрейфе, может возникнуть ряд различных тесно связанных терминов: сдвиг ковариации, дрейф концепции, дрейф данных, дрейф модели, распад модели, сдвиг набора данных, сдвиг распределения. Эти термины относятся к различным предположениям о том, что меняется.
- Ковариативный сдвиг: изменяется распределение входных признаков.
- Дрейф концепции: меняется взаимосвязь между целевой переменной и входными объектами.
- Распад модели: снижение производительности модели из-за дрейфа.
- Дрейф данных: любое изменение распределения. Иногда это используется для обозначения ковариатного сдвига.
- Другие термины (сдвиг распределения, сдвиг набора данных) обычно могут относиться к любой из вышеперечисленных концепций или их комбинации.
Выявление дрейфа
Стандартный подход к выявлению дрейфа заключается в измерении производительности модели (точности или иных) или в изучении или измерении различий в распределении обучения и развертывания:
- прогнозируемые результаты,
- наземная правда,
- отдельные входные функции или
- совместные входные характеристики.
Все эти подходы дают значимые сигналы дрейфа, и их следует использовать везде, где это возможно. Однако на практике они сталкиваются с серьезными проблемами, которые затрудняют измерение дрейфа.
Проклятие размерности.По мере увеличения количества признаков измерений в данных становится все труднее отличить выборки, взятые из двух распределений. Это делает измерение совместного дрейфа между несколькими функциями особенно сложным и может повлиять на измерение дрейфа в мультиклассовых прогнозах или моделях с несколькими выходными данными. Проклятие также является причиной того, что прямая проверка дрейфа концепции (свойство совместного распределения всех входных и выходных признаков) может оказаться непрактичной. Это, однако, может быть спорным из-за следующего вызова.
Отсутствие достоверных данных.Проверки производительности модели при развертывании может быть достаточно, чтобы убедиться, что отклонение было достаточно значительным, чтобы оправдать вмешательство. К сожалению, основная правда о развертывании может быть недоступна сразу. Например, при принятии кредитного решения вопрос о том, приведет ли кредит к дефолту, может быть недоступен до тех пор, пока срок кредита не пройдет через несколько месяцев или лет. В этих условиях дрейф концепции не может быть определен независимо от других форм дрейфа данных.
Несущественный дрейф. Часто бывает сложно определить влияние проблем с дрейфом в модели. Часто большое изменение функции может быть несущественным, поскольку оно изменяется таким образом, что не влияет на поведение модели. В сочетании с тем фактом, что всегда ожидается некоторая степень дрейфа, может быть очень сложно определить, стоит ли решать проблему дрейфа.
Эти проблемы означают, что какие бы средства обнаружения дрейфа не использовались на практике, они могут быть неточным индикатором фактического дрейфа и фактических последствий. Поэтому важно помнить о стоимости подходов к решению проблемы дрейфа.
Что мы можем сделать с дрейфом?
Измерив различные формы дрейфа среди признаков, предсказаний и/или истинности, мы можем подумать, что с этим делать. Первый вопрос, который необходимо задать, заключается в том, каковы последствия или первопричины дрейфа. То есть являются ли последствия обнаруженного дрейфа достаточно разрушительными, чтобы оправдать потенциально дорогостоящие действия? И если да, то каковы ключевые факторы, влияющие на дрейф. Это, конечно, проще, когда деградация может быть измерена напрямую, но, как мы уже отмечали, в сложных случаях влияние дрейфа на производительность не может быть определено или может быть только оценено.
Дрейф предсказания.Поиск совместно важных функций также является проблемой размерного проклятия, как и измерение дрейфа одновременно нескольких важных функций. Однако разумно сосредоточиться на дрейфе в прогнозируемом распределении выходных данных, предполагая, что это значительно менее размерная концепция. Дрейф между важными входными данными, будь то вместе или независимо, должен отражаться в дрейфе выходных данных.
Анализ первопричины. После обнаружения дрейфа оценка такой модели смещается или точность снижается. Важно понять, каковы первопричины: какая функция объясняет дрейф. Методы измерения важности признаков бесценны для определения первопричин; дрейф важных функций с большей вероятностью приведет к снижению производительности, чем дрейф менее важных функций. Однако стандартные метрики важности функций необходимо скорректировать с учетом дрейфа, а не только важности прогнозирования. Элементы, вызывающие дрейф, могут отличаться от наиболее важных элементов модели.
Оценка точности. Святым Граалем для измерения дрейфа является возможность связать сдвиги в данных с производительностью модели. Это возможность, которую предоставляет платформа TruEra, основанная на уникальных исследованиях нашей команды машинного обучения. Основная идея состоит в том, чтобы агрегировать сдвиги в сопутствующих функциях, чтобы понять, как это может повлиять на производительность модели.
Смягчения
Повторное обучение с дополнительными данными меток часто рекламируется как канонический ответ на дрейф данных, но в зависимости от затрат или нашей уверенности в негативных последствиях дрейфа может быть неуместным. Подход к пониманию дрейфа, основанный на первопричине, может привести к значительно более точным стратегиям смягчения последствий. Устранение проблем с качеством данных
Очень часто основной причиной дрейфа является неисправность части конвейера данных. Возможность проводить анализ первопричин может быстро выявить проблемные функции. Они могут варьироваться от неожиданных отсутствующих значений до несоответствий типов данных, которые трудно найти в больших стогах сена.
Удалить функцию(и), сохранить модель.Один из вариантов работы с функциями, которые являются основными причинами дрейфа, — это просто удалить их из рассмотрения моделью, т. е. заменить их средним значением или режимом обучения. Это не требует сбора дополнительных размеченных данных или переобучения, но может привести к некоторой потере производительности. Однако, если эти потери ниже, чем ожидаемая деградация из-за дрейфа, удаление может быть наиболее рентабельным вариантом.
Удалить функции, переобучить — В некоторых случаях можно удалить дрейфующую функцию и надеяться, что при переобучении будут использоваться альтернативные функции для достижения аналогичной прогностической способности. Обратите внимание, однако, что это не поможет, если альтернативные функции связаны причинно-следственными связями, альтернативы, вероятно, также будут дрейфовать.
Добавить общие функции к новым данным, переобучить —
Дрейф может быть предсказуемым и периодическим (например, розничные расходы, подобные расходам на спиртные напитки на рисунке выше). Распределение периода сбора тренировочных данных на более длительные периоды и периоды, в которых происходят периодические циклы, и включение функций, указывающих время или период (например, сезон, день недели и т. д.), может привести к модели, которая может реагировать на изменения во времени. сам. Это, однако, имеет свои издержки из-за чрезмерного проклятия размерности: если предположить, что дополнительный признак периода является последовательным, объем данных, необходимых для вашей модели, чтобы изучить связь ее целевой концепции с исходными признаками, и теперь дополнительный признак периода увеличивается. . Кроме того, необходимо уделять больше внимания тому, чтобы данные были репрезентативными для соответствующих периодов времени.
Добавить средства предотвращения редких событий, переобучить —
В то время как некоторые индикаторы дрейфа могут быть очевидными и их нетрудно включить в конвейер обучения, «неизвестные неизвестные» время от времени будут появляться. Индикатор глобальной пандемии, например, может показаться подходящей функцией для многих задач моделирования, включение такого индикатора, вероятно, является безнадежным делом. События с большими последствиями уникальны и непредсказуемы. Здесь разработка признаков может выиграть от причинно-следственного анализа основной задачи, поскольку могут быть доступны более широко доступные индикаторы дрейфа. Например, в то время как наличие глобальной пандемии может быть основной причиной сокращения выплат по определенным видам кредитов, промежуточная причина, такая как (без)занятость, может служить таким же успехом и может охватывать, в качестве посредника, другие неожиданные события, которые трудно планировать. Таким образом, включение локального или глобального экономического индикатора во время обучающей выборки может помочь модели принятия кредитных решений реагировать на дрейф в принятой ею концепции.
Добавить функции к существующим данным, переобучить.Еще один менее затратный вариант — включить дополнительные функции в набор обучающих данных. Если это можно сделать для существующего набора обучающих данных, стоимость метки не потребуется оплачивать. Добавление признаков, указывающих на дрейф, как указано выше, потребует, чтобы существующие данные охватывали достаточные периоды времени.
Независимо от того, требуются ли новые размеченные данные, использование признаков, указывающих на дрейф, эффективно преобразует проблему дрейфа понятий в проблему ковариантного сдвига.
Переоценка данных, переобучение. Теоретически распределение между входными данными и метками может представлять концепцию, которая не меняется от времени обучения до времени развертывания. На практике это не означает, что конкретный обучающий алгоритм при определенных обстоятельствах или фазе луны будет обучаться этому на выборке имеющихся у него данных. Одна из причин несоответствия заключается в том, что данные обучения недостаточно репрезентативны в определенных регионах, чтобы обучение могло выделить достаточную мощность модели. Если данные развертывания становятся плотными в этом регионе (т. е. дрейфуют), производительность может снизиться. Предполагая, что в регионе есть хотя бы несколько обучающих выборок, можно использовать их взвешивание, чтобы помочь последующему переобучению выделить больше возможностей модели в важных регионах.
Подведение итогов
Дрейф — это сложная проблема, с которой сталкиваются специалисты по данным при развертывании моделей. В этом блоге мы изложили основные причины, которые затрудняют понимание и отладку дрейфа, а также подходы к руководству по уменьшению дрейфа.
- Отсутствие наземной истины усложняет проблему определения существенного дрейфа.
- Различные методы определения дрейфа в разной степени не дают уверенности в дрейфе и его последствиях для работы модели.
- Инструменты для анализа первопричин дрейфа могут направить специалистов по данным к правильным решениям для устранения дрейфа. Решения могут включать или не включать маркировку дополнительных данных или переобучение, а также могут включать в себя исправление конвейеров данных или настройку функций, используемых в моделях.