Рыцари несправедливости. Дата-сайнтисты против смещения данных

Рыцари справедливости. Кадр из фильмаРыцари справедливости. Кадр из фильма

Многие, наверное, уже видели фильм «Рыцари справедливости», где дата-сайнтисты на основе набора фактов о теракте чуть не раскрыли преступление, но совершили ошибку, вероятность которой была критически мала. Обсудим же некоторые аспекты смещения данных, которые чреваты принятием опасных решений.

Причины смещения данных

Первая и наиболее очевидная причина возникновения смещений — данные, которые были подобраны для обучения модели, сами по себе оказались смещенными, не отражающими объективную реальность вовсе или отражающими ее с каким-то фиксированным искажением (например, это данные о способности детей к обучению, по какой-то причине набранные до введения всеобщего образования).

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

Вспомним эксперимент с автоматизацией работы рекрутера от Амазона. Выяснилось, что искусственный интеллект отдавал предпочтение кандидатам-мужчинам — то ли просто потому, что мужских резюме исторически было доступно больше, то ли из-за предпочтений людей-рекрутеров, делавших эту работу раньше. Если хэдхантер считал, что кандидат-мужчина более перспективен, то при обучении модели неоткуда узнать, есть ли в этом утверждении что-то сомнительное. Понятно, что в системе, в которой мы хотели бы использовать искусственный интеллект для отбора кандидатов по их личным качествам, такой результат стал нежелательным.

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

В общем, множество исследовательских вопросов могут быть решены дата-сайнтистом, который исследует данные и ищет в них какие-то закономерности.

9261f0212dd047ea159a7d64b6bd0aa4.jpg

Есть другая сторона смещения данных: казалось бы, данные, на которых была обучена модель, всем хороши: они описывают ситуацию объективно и полно, модель на данных обучена точная… Но потом что-то меняется. Нередко такие ситуации возникают на производстве. Приведу несколько примеров причин:

  • датчики, снимающие данные, могут быть заменены на аналогичные, но другой фирмы и с другой погрешностью;

  • может производиться перенастройка или калибровка существующих датчиков;

  • датчик, всегда измерявший в сантиметрах, начинает возвращать измерения в метрах;

  • на самом деле датчик не работает, но вместо отсутствующих значений передает константу, и т.п.

Чтобы отследить такие неполадки, существуют инструменты для мониторинга данных. Они проверяют, что новые данные не имеют критических отличий от данных из обучения модели. Если у нас начинает появляться много данных, которые лежат, например, за границами диапазонов обучения, или данные начинают быть непохожими по своим статистическим характеристикам на данные, использованные для обучения (например, где-то датчик начал часто западать и возвращать значение »300» вместо обычного значения »400–700»), система мониторинга сообщает об этом специалистам, и люди уже разбираются, что же произошло, не изменился ли процесс настолько, что нам теперь нужна другая модель.

Другой довольно интересный тип смещения данных, который происходит после того, как мы вывели модель в производство — это смещение результата из-за самого факта воздействия модели на ситуацию.

Если модель что-то рекомендует — на этом основании изменяются действия того, для кого делается рекомендация.

И со временем наши данные могут отодвигаться всё дальше от того набора данных, на котором изначально происходило обучение. Например, если нам предлагают кинофильмы, которые соответствуют нашим вкусам, но не предлагают спорные варианты, мы закрепляем в модели поведение, которое потенциально для нас отсекает фильмы, которые могли бы быть нам интересны, но не попали в выдачу из-за того, что топ-5 подбирался очень хорошо. Это звучит странно, но именно из-за того, что модель работает хорошо, она начинает работать плохо, рекомендуя нам вещи, относящиеся к нашему «пузырю», но избегая новых классных вещей, которые нас тоже заинтересовали бы и привлекли.

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

Доверяй, но проверяй

Можно ли полностью доверять решениям искусственного интеллекта? Логичный вопрос даже после пары простых примеров, как изменения в данных делают работу моделей не всегда надежной.

Конечно же логично, что полностью — нельзя. По крайней мере, пока. Непонятно, насколько оговорка «пока» сможет быть преодолена в будущем: мы ничему в мире не доверяем без оговорок, даже собственные решения (а уж в себе-то мы могли бы быть уверены!) подвергаются сомнению. Приведу пример с самолетами: для управления воздушными судами в режиме автопилота существуют информационные системы, разработанные очень давно и работающие очень качественно. Как вы, наверное, знаете, большая часть современных полетов проходит в автоматическом режиме. Тем не менее, быть на сто процентов уверенным, что не произойдет нештатной ситуации, и, если она произойдет, хватит одного пилота и можно обойтись без пилота-дублера — нельзя, несмотря на всю супер-зарегулированность и долгую историю авиации. Цена ошибки системы — сотни жизней, так что все ситуации задублированы и на программном уровне, и в инструкциях для людей.

Да, существуют нейросети и другие модели, которые очень хорошо обучены под конкретные задачи. Но как могут резко измениться условия, так и просто всегда будет какая-то доля ошибок, возникающих из-за неучтенных при обучении факторов — или просто потому, что модель не смогла быть достаточно универсальной. По этому поводу ученые продолжают дискутировать о множестве вопросов прикладного аспекта науки о данных: каково может быть приемлемое доверие к модели в той или иной сфере; каковы должны быть возможности человека, чтобы в нее вмешаться; как быть, если вмешательство будет делать хуже, потому что модель работала хорошо, а человеку показалось, что она работает плохо, и так далее. А так как мы не можем ответить однозначно на все эти вопросы даже на уровне доверия «человек-человек» (например, в случае взаимодействия с доктором в спорных случаях мы всегда попросим второе мнение), очевидно, что ответить на этот вопрос для решений искусственного интеллекта мы не будем готовы еще долго.

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

Александра Царева, специалист машинного обучения «Инфосистемы Джет»

© Habrahabr.ru