www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home
Занимательная история, выдающиеся люди, малоизвестные факты, находки, открытия, фальсификации. Присоединяйся!

Предотвращение смещения машинного обучения

Дата публикации Oct 31, 2018

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

фотоМорен СюйнаUnsplash

Почему важно предотвратить смещение

Прогнозы из алгоритма обычно не используются в вакууме. Вместо этого они используются для принятия решений и оптимизации для достижения определенных результатов.Если данные, с которыми вы работаете, имеют присущие им смещения, модель не только изучит эти смещения, но и усилит их, При наличии предвзятых данных результаты модели приведут к самоисполняющимся пророчествам, что во многих случаях может привести к катастрофическим последствиям. Я не думаю, что смогу адекватно осветить тему этики в искусственном интеллекте, так как хочу предложить более практические решения о том, как можно разработать свои учебные конвейеры, чтобы быть более устойчивыми к предвзятости. Вместо этого я настоятельно рекомендую пройти черезAI этические ресурсыРейчел Томас из fast.ai для более подробного обсуждения темы.

Алгоритмы слепых

Наиболее распространенный подход для удаления смещения из алгоритма заключается в явном удалении переменных, связанных с смещением. Например, если вы хотите предсказать, кого следует нанять на должность, вы можете включить соответствующие данные, такие как навыки и опыт, которыми обладает заявитель, и исключить не относящуюся к делу информацию, такую ​​как пол, раса и возраст. Проблема с этим подходом в том, что он не работает. Некоторые из переменных, которые вы хотите включить, зависят от скрытых входных данных. Другими словами, вы не можете сказать «Давайте просто исключим гонку из модели», включив в себя двадцать других переменных, которые помогают кодировать чью-то расу. Я приведу два примера, где такой слепой подход не помогает.

Amazon найма

Совсем недавноРейтер сообщилчто Amazon пытается разработать инструмент для автоматизации отбора резюме и найма. Проект пришлось свернуть, потому что он показал тяжелые предубеждения против женщин. Я вполне уверен, что инженеры, работавшие над моделью, не использовали никаких явных переменных, которые бы идентифицировали чей-то пол. Тем не менее, сложно устранить возможность модели определять другие скрытые переменные, которые связаны с полом, и не дискриминировать заявления о приеме на работу, которые содержат «Капитан женского шахматного клуба» в резюме. Другими словами, если данные смещены, что весьма вероятно в этом случае, модель найдет способ кодировать эту информацию, когда ей предоставляется большой и всеобъемлющий набор функций.

Прогнозирование рецидивизма

Два года назад Pro Publica предоставилаочень хороший анализс программного обеспечения, используемого для прогнозирования уровня рецидивов. Они обнаружили, что модель, встроенная в это программное обеспечение, имела гораздо более высокий уровень ложных срабатываний среди афроамериканцев, чем среди белых. Компания, которая разработала программное обеспечение, отметила, что ни один из137 вопросовони используются для оценки риска рецидивизма человека, включая расу в качестве входных данных. Тем не менее, если вы посмотрите на вопросник, вам не понадобится много понимания, чтобы заметить, что некоторые темы могут быть связаны с расой и поощрять предвзятость при оценке риска кандидата. Например, когда вы спрашиваете кого-то, были ли его родители разлучены во время взросления, вы косвенно кодируете их расу (см.Эта статьяRaley et. 2015, чтобы понять, насколько поразительно отличаются показатели разводов среди разных рас). Опять же, это еще один пример, когда слепые подходы не работают из-за невозможности учета скрытых переменных.

Предвзятые алгоритмы

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

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

Наши данные будут иметь следующие отношения:

  • В целом, существует четкая положительная связь между многолетним опытом и заработной платой
  • Будучи консультантом, вы заработаете больше денег по сравнению с разработчиком программного обеспечения (SE)
  • Будучи мужчиной, вы заработаете больше денег, чем будучи женщиной
  • Есть несколько ключевых взаимодействий, которые мы хотим учесть. В консультациях и мужчины, и женщины начинают с одинаковой зарплаты, но рост заработной платы среди мужчин выше, чем среди женщин. Другими словами, ожидается, что за каждый год опыта (или за каждое повышение по службе) мужчина получит более высокую зарплату
  • В разработке программного обеспечения, женщины начинают с нижнего уровня, а затем должны играть период догоняющего

Вы можете найти все отношения, описанные выше, изображенные ниже.

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

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

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

Далее я извлеку специфичные для прогноза взаимодействия, чтобы отменить их эффект. В этом случае я используюXGBoost, который уже реализованShapley Аддитивное объяснениеМетод - последовательный, быстрый и детерминированный метод для извлечения вкладов функций на уровне индивидуального прогнозирования. Этот метод уже доступен в других популярных библиотеках повышения, таких как CatBoost и LightGBM. Вы также можете использоватьЛАЙМесли детерминизм в ваших предсказаниях не является проблемой, или извлеките веса из кодированных вручную взаимодействий, если вы используете другие типы алгоритмов, такие как производные линейной регрессии L1 или L2.

Объект "взаимодействия" будет содержать массив массивов формы (n_samples, n_features + 1, n_features + 1), который включает в себя все основные эффекты, взаимодействия и перехват. Вот как выглядит этот массив для первого наблюдения в наборе тестов:

Обратите внимание, что цифры выглядят небольшими, потому что результат был преобразован лог до тренировки.

Далее мы просто отменяем все влияние, обусловленное гендерной переменной.

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

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

Выводы

Я хотел бы с самого начала отметить, что нет никаких сомнений в том, что этот подход приведет к снижению производительности модели на ваших данных проверки. В нашем надуманном примере RMSPE составляет 12% для прогнозов, которые кодируют смещение, и 14% для прогнозов, где мы убрали гендерный вклад. Тем не менее, это снижение производительности является приемлемым и поощряется во многих ситуациях. В конце концов, цель ваших моделей состоит не только в том, чтобы делать правильные прогнозы, но и в том, чтобы вы могли определить способы использования рычагов, такие как изменение поведения пользователя на вашем веб-сайте или предотвращение возникновения опасных ситуаций при диагностике заболевания. Следовательно, если вы хотите построить модель, которая не наносит ущерба вашим данным, вы не ошибетесь, если позволите модели сначала измерить степень предубеждения, а затем сбросить все факторы, влияющие на смещение, на ноль.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map