Валидация моделей машинного обучения с упором на надежность

Трудности в восприятии реальности

Как образцы данных могут превратить нашу модель в фиктивный пакет

Часть 2 статьи Валидация моделей машинного обучения с упором на надежность

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

Среди прочего, он ответит на следующие вопросы:

  • Почему попытка представить население может потерпеть неудачу?
  • Почему так важно обучать и тестировать на объективных и репрезентативных данных?
  • Как среда модели влияет на ее надежность?

Процесс генерации данных

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

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

Большинство методов проверки требуют, чтобы обучающая и целевая выборки соответствовали предположению об идентичном и независимом распределении (i.i.d.), что означает, что они происходят из одного и того же генеративного процесса и не зависят друг от друга. Однако выборки данных из примера не взяты из одного и того же распределения, поскольку две камеры создают данные, распределенные по-разному, и, таким образом, не удовлетворяют требованию i.i.d. [1, с. 46–47]

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

Высокая зависимость от данных

На этом этапе должно быть ясно, что производительность моделей машинного обучения, а также возможность получения надежной оценки производительности сильно зависят от данных, с которыми сталкивается алгоритм. Во многих случаях данные производятся другими системами, которые могут со временем изменить свои выходные данные либо в количественном, либо в качественном отношении. Эти изменения могут происходить неявно системой или явно, например, путем ремонта сломанного датчика. Если наша модель соответствует значениям сломанного датчика, она может не соответствовать скорректированным значениям. Таким образом, даже если изменение в системе производства данных было сделано с целью улучшения, оно может нанести ущерб производительности потребляющей модели. Иногда эти зависимости трудно обнаружить, поэтому Sculley et al. утверждают, что зависимости данных в системах ML стоят больше, чем зависимости кода, вызывающие зависимость отдела. Они обнаружили, что

«…зависимости данных в системах ML обладают аналогичной способностью создавать долги, но их может быть труднее обнаружить». [2, стр. 3]

Предлагаемая ими стратегия смягчения последствий заключается в том, чтобы хранить версию входного сигнала до тех пор, пока изменения не будут полностью проверены и одобрены. Другой проблемой являются недостаточно используемые зависимости данных, которые представляют собой входные сигналы, не вносящие существенного вклада в какое-либо улучшение модели. В статье Скалли и соавт. это по сравнению с недостаточно используемыми пакетами в коде. Эти ненужные входные функции часто остаются незамеченными и делают модель более уязвимой с точки зрения изменений. Чтобы обнаружить их, они предлагают проводить оценки с исключением одной функции. [2]

Неспособность представить население

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

Информация отсутствует полностью

Если соответствующие функции полностью отсутствуют в обучающем наборе, модель не имеет возможности изучить связанные шаблоны и, следовательно, будет плохо работать в производственной среде. Отсутствие обучающих данных в определенных областях входного пространства приводит к эпистемологической неопределенности. Это означает, что модель, если ее протестировать на данных из этих областей, дает иррациональные результаты. [3]
Как это происходит? Я выяснил три причины отсутствия функций.

1. Пропущено случайно
При взятии выборки из всего населения можно пропустить некоторую информацию из-за случайного совпадения. Это особенно проблема для пограничных случаев. [4]
Например, при случайном сборе изображений людей вероятность того, что рыжеволосые люди будут замечены, меньше, чем темноволосых. Однако, когда количество наблюдений увеличивается до бесконечности, вероятность полного пропуска характеристики уменьшается, что побуждает собирать достаточно данных, чтобы охватить весь диапазон признакового пространства. В качестве примера представьте, что вы бросаете игральную кость шесть раз. Вероятность не получить определенное значение ни в одном из бросков определяется выражением

При десятикратном броске вероятность уменьшается до

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

2. Внутренняя случайность и шум
Случайность и шум присущи реальности. Внутри данных могут быть функции или параметры, которые мы не можем измерить. В качестве примера представьте себе, чтобы предсказать точную форму мазка кисти. Если мы объединим такие функции, как толщина, давление и направление, результаты все равно не будут выглядеть одинаково из-за некоторых характеристик кисти или некоторого случайного шума, который мы не учитываем. Это приводит к образцам данных с точно такими же входными параметрами и разными целевыми значениями. Это явление называется случайной неопределенностью[3].

3. Исключение признаков
Иногда бывает так, что из данных исключаются признаки, которые действительно сыграли роль в обучении. Например, во время очистки данных из данных могут быть удалены соответствующие функции, поскольку они считаются бессмысленными, хотя на самом деле таковыми не являются. Это называется систематической ошибкой исключения. Например, если при анализе экспериментального лечения пациенты, умершие от токсического воздействия, были исключены из данных, это могло бы исказить оценку эффектов. чтобы лечение в конце считалось более успешным, чем оно было на самом деле. [5]

Недопредставленные подгруппы населения

Аналогичной проблемой является плохое представление определенных функций или подгрупп. Представьте себе сбор данных о пациентах для определения определенных заболеваний. Если имеется мало данных о пациентах старше 60 лет, модель не сможет адекватно отобразить отношения для этой конкретной группы, и у нее возникнут проблемы с обоснованными прогнозами. В результате средняя точность может быть удовлетворительной, тогда как для некоторых регионов она неприемлема. [4]
На рисунке 3 этот эффект визуализирован. Предположим, что модель решает задачу бинарной классификации, а A, B и C представляют собой подмножества данных, сформированные по определенным характеристикам, таким как возраст или состояние здоровья. Он действительно хорошо работает на срезах A и C. Однако образцы, принадлежащие B, неправильно классифицируются в 50 процентах случаев, что равносильно случайности. Общая точность составляет 80,6 процента, поэтому, если порог удовлетворительного результата установлен на уровне 80 процентов, классификатор, возможно, будет принят.

В конце концов, модель утверждает, что может правильно идентифицировать 80 процентов данных, хотя это не лучше, чем монета на данных из подмножества B. Проблема также возникает во время сбора данных. Есть несколько сценариев, которые приводят к искажению данных. Чтобы получить более конкретное представление, вот два примера:

1. Сбор данных в ограниченной среде
Ограничение сбора данных одной средой также может привести к недопредставленности функций. Например, при сборе изображений лиц исключительно в одной стране некоторые этнические характеристики будут недостаточно представлены, поскольку данные будут отражать распределение этических норм, преобладающих в этой конкретной стране. Следовательно, модель будет обучаться на смещенном наборе данных. Это может привести не только к плохой модели, но и к серьезным проблемам в обществе. Тема сред рассматривается в следующем разделе.

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

Искажение данных

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

1. Ошибка измерения
Давайте вспомним приведенный выше пример, касающийся разных настроек контрастности двух камер. Если в камере есть дефект, добавляющий к изображениям некоторый шум, это приведет к систематическому искажению, которое искажает результаты модели машинного обучения. [6] Это относится к любому другому измерительному устройству, которое потенциально может генерировать ошибки.

2. Предвзятые данные
Еще одним распространенным источником ошибок являются данные, содержащие предубеждения, которые не связаны с неправильной процедурой выборки данных. Предубеждения могут быть присущи данным, поскольку они существуют в реальности и, следовательно, отражаются данными. Впоследствии модель адаптируется к неверным предположениям, которые не отражают истинных отношений. Типичным примером является гендерная предвзятость, присущая образам мужчин и женщин. Представьте себе классификатор, обученный различать женщин и мужчин, обученный набору данных, содержащему изображения, на которых часто изображены женщины на кухне и мужчины, работающие за компьютером. Модель, вероятно, сделает неверные выводы на основе фона изображения и, в конце концов, рискует идентифицировать мужчин как женщин и наоборот. [6]

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

  • Данные должны охватывать весь спектр потенциальных характеристик и особенностей входного пространства.
  • Все области входного пространства должны быть представлены достаточно.
  • Необходимо учитывать наличие случайности и шума в процессе генерации данных.
  • Сбор данных должен выполняться в среде с минимально возможной предвзятостью.
  • Данные могут быть искажены таким образом, что невозможно уловить истинные отношения.
  • Следует сохранять критический взгляд на предоставленные данные с точки зрения искажения.
  • Крайне важно полностью осознавать область применения, возможные крайние случаи и типы предубеждений.

Распространенной стратегией для обнаружения плохо поддерживаемых областей является проверка систематической ошибки и справедливости модели путем оценки производительности на разных срезах данных, разделенных по определенным характеристикам, и визуализации распределения значений по функциям. [4, 7] Кроме того, может быть полезно постоянно обучать и проверять модели на новых данных и отслеживать их поведение. [6]

Помните об окружающей среде

Нестабильность данных и состояние процесса генерации данных, включая предположение о том, что данные должны быть идентифицированы, уже были проверены в разделах «Процесс генерации данных» и «Высокая зависимость от данных».
Проблема с предвзятыми и нерепрезентативными обучающими данными описана в разделе «Непредставление совокупности».
Если модель обучается на предвзятых данных модель не сможет обобщаться на среду развертывания. Следовательно, оценка производительности будет чрезмерно оптимистичной, а модель будет делать ненадежные прогнозы.
Это изменение среды называется сдвигом среды или сдвигом распределения. В таком случае ожидание того, что данные будут i.i.d, больше не оправдывается. [4]
Сато и др. даже заявляют, что данные вообще не могут быть идентифицированы, если учитывать влияние времени. Другими словами, распределение всегда будет меняться во времени из-за нестационарности данных. [7]
С точки зрения надежных оценок производительности это серьезная проблема, поскольку иногда модели работают нормально в тестовой среде, однако в реальном мире они терпят неудачу из-за внезапного изменения распределения.

Распределение сдвигов

Существует три разных типа сдвигов, характеризующихся различной частью совместного распределения.
Учитывая наблюдениеx в качестве входных данных и класс y в качестве выходных данных модели, совместная вероятность x и y определяется как

Во время сдвига распределения либо одна из предельных вероятностейP(x)и P(y), либо условная вероятность P(y|x) изменения, которые приводят к изменению совместного распределения.
Существует три типа смещения, в зависимости от того, какое распределение изменяется.

Ковариационный сдвиг
Ковариационный сдвиг проявляется в изменении распределения входных данных таким образом, что P(x)изменяется, в то время как условная вероятностьP(y| x) остается без изменений. Это относится к ситуациям, когда класс зависит от функций, так что x вызывает y.
Примером может служить распознаватель речи, который работает с некоторым диалектом. не проходил обучение.

Сдвиг метки
Сдвиг метки является обратным ковариантному сдвигу, возникающему в результате изменения P(y), распределения меток, в то время как условный класс вероятность P(x|y) остается стабильной. Это могло бы произойти, если бы входные данные x зависели от класса y, что имеет место, например, при прогнозировании заболеваний по симптомам.
Сдвиг в распределении меток может произойти, когда разразится пандемия, что приведет к изменению P(болезнь), тогда как процесс генерации данных P(симптом|болезнь) Конечно остается прежним.

Сдвиг концепции
В случае изменения процесса генерации данных P(y|x) это называется сдвигом концепции.
Причинами могут быть географические или сезонные изменения в окружающей среде. Например, покупательское поведение клиентов может меняться в зависимости от текущего сезона.
Даже развертывание модели машинного обучения может повлиять на среду таким образом, что обесценит саму себя. Это называется петлями обратной связи.
[2, 8, с. 176–177]

Как вести себя со сменами

Чтобы обнаружить сдвиги ковариат и меток, необходимо проверить предположение о том, что распределенияp и q равны при заданных размеченных данных
{(xᵢ , yᵢ )}, …, (xₙ, yₙ)} ~p и немаркированные данные {x'₁, … x'ₙ } ~ с.

Это можно проверить, выполнив тест гипотезы, например. тест с двумя выборками.
Однако это требует некоторого уменьшения размерности, поскольку оценка плотности для многомерных данных является довольно сложной задачей.
Один из подходов заключается в обучении классификатора, который различает два распределения. Если классификатор может различать два класса, экземпляры вряд ли происходят из одного и того же распределения.
Если обнаружен сдвиг ковариаты или метки, модель можно скорректировать, введя веса для обучающих экземпляров в соответствии с отношением p к q. Этот метод называется оценкой важности. [8,9]

Обнаружение смены концепции требует комплексной процедуры мониторинга для проверки обобщения модели с течением времени, непрерывно снабжая систему свежими данными. Это создает потребность в хорошо организованных и аннотированных данных для обучения и проверки. [7]
Однако исправление смещения концепции может быть затруднено, в зависимости от того, как оно возникло. Если сдвиг происходит постепенно, модель можно обновлять шаг за шагом, используя новые обучающие данные в соответствии с адаптацией предметной области.
Однако, если сдвиг произойдет внезапно, может потребоваться обучение модели на совершенно новом образце. [8, с. 183]

Вместо реактивного подхода Сария и Суббасвами предлагают использовать более активный подход, поскольку сбор данных о целевой области из всех возможных сред не всегда возможен. Они вводят структуру, которая должна предотвращать сбои за счет включения предварительных знаний о процессе генерации данных.
Идея состоит в том, чтобы смоделировать причинно-следственные связи между средами и процессом генерации данных с помощью графического языка, чтобы выявить проблемные сдвиги.
Таким образом, модель может быть защищена от них, используя только стабильные части процесса генерации данных, что приводит к более надежной модели и более надежной оценке. [4]

Резюме

Данные — это центральный элемент машинного обучения, и чем больше данных, тем больше знаний, поэтому они не менее важны, чем код.
Однако они также могут навредить нашим моделям. Неверные предположения о данных и незамеченные ошибки могут привести к высоким затратам.

Вот краткое изложение основных требований к данным:

  • Данные должны быть независимыми и одинаково распределены по всем наборам данных.
  • Данные должны в достаточной степени представлять совокупность, охватывая все пространство признаков.
  • Данные должны быть сбалансированы таким образом, чтобы не было недопредставленных характеристик.
  • Данные должны быть максимально объективными.
  • Среда обучения и тестирования должна соответствовать целевой среде.
  • Данные должны быть как можно более независимыми от сдвигов. Если смещение признаков неизбежно, их следует, по крайней мере, идентифицировать.

Есть несколько стратегий, обеспечивающих более разумный подход. Итак, подытожим некоторые методы, изложенные в статье:

  • Понятная организация и мониторинг данных.
  • Визуализация распределения значений по различным функциям или характеристикам.
  • Оценка производительности модели на разных срезах данных.
  • Обеспечить постоянный анализ, обучение и мониторинг для обнаружения сдвигов.

В общем, рекомендуется всегда критически рассматривать данные и полностью понимать предметную область приложения и целевую среду.
Выборка данных — это всего лишь подмножество совокупности, ограниченное временем, поэтому независимо от того, насколько хорошо модель работает на тестовых данных: в меняющемся мире нельзя полагаться на то, что система будет работать должным образом. [4]

использованная литература

[1] Распространенные ошибки в статистике (и как их избежать), 4-е издание|Wiley.Wiley.com. Каталог библиотеки: www.wiley.com. URL: https://www.wiley.com/en-us/Common+Errors+in+Statistics+and+How+to+Avoid+Them%29%2C+4th+Edition-p-9781118294390 (Доступ: 04 /08/2020).

[2] D. Sculley et al. Скрытый технический долг в системах машинного обучения. В: Достижения в области нейронных систем обработки информации 28. Под ред. C. Cortes et al. Curran Associates, Inc., 2015 г., стр. 2503–2511. URL: http://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf (дата обращения: 03.04.2020).

[3] Саймон Бахштейн. Количественная оценка неопределенности в глубоком обучении. inovex-Блог. Каталог библиотеки: www.inovex.de Раздел: Аналитика. 8 октября 2019 г. URL: https://www.inovex.de/blog/uncertainty-quantification-deep-learning/ (дата обращения: 14.04.2020).

[4] Сучи Сариа и Адарш Суббасвами. Учебное пособие: безопасное и надежное машинное обучение. В: arXiv: 1904.07204 [cs] (15 апреля 2019 г.). архив: 1904 . 07204. URL: http://arxiv.org/abs/1904.07204 (дата обращения: 20.04.2020).

[5] Дж. Ф. Тирни. Исследование систематической ошибки исключения пациентов в метаанализе. В: International Journal of Epidemiology34.1 (27 августа 2004 г.), стр. 79–87.issn: 1464-3685.doi:10.1093/ije/dyh300. URL: https://academic.oup.com/ije/article-lookup/doi/10.1093/ije/dyh300 (дата обращения: 18.06.2020)

[6] Кенсингтон, Лондон, Великобритания. Три причины, по которым необъективные данные могут испортить ваши модели ML. Датанами. Каталог библиотеки: www.datanami.com. 18 июля 2018 г. URL: https://www.datanami.com/2018/07/18/three-ways-biased-data-can-ruin-your-ml-models/ (дата обращения: 19.06.2018). 2020 г.).

[7] Данило Сато, Ариф Видер и Кристоф Виндхойзер. Непрерывная доставка для машинного обучения. martinfowler.com. Каталог библиотеки: martinfowler.com. 19 сентября 2019 г. URL: https://martinfowler.com/articles/cd4ml.html (дата обращения: 06.04.2020)

[8] Астон Чжан и др. Погружение в глубокое обучение. 2020. URL: https://d2l.ai/chapter_multilayer-perceptrons/environment.html (дата обращения: 16.06.2020).

[9] Стефан Рабансер, Стефан Гюннеманн и Закари Липтон. Громкая неудача: эмпирическое исследование методов обнаружения сдвига набора данных. В: Достижения в области нейронных систем обработки информации 32. Под ред. H. Wallach et al. CurranAssociates, Inc., 2019 г., стр. 1396–1408. URL: http://papers.nips.cc/paper/8420-failing-loudly-an-empire-study-of-methods-for-detecting-dataset-shift.pdf (дата обращения: 22.06.2020)