Показатели справедливости: размышления об оценке справедливости

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

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

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

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

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

Прежде чем углубляться дальше, вот три рекомендуемых ресурса для начала работы:

  • Руководство «Люди и искусственный интеллект» по проектированию искусственного интеллекта, ориентированного на человека. Это руководство представляет собой отличный источник ответов на вопросы и аспекты, которые следует учитывать при разработке продукта на основе машинного обучения. Хотя мы создали это руководство для дизайнеров, многие из принципов помогут ответить на вопросы, подобные поставленному выше.
  • Извлеченные нами уроки справедливости : в этом выступлении на Google I/O обсуждаются уроки, которые мы извлекли из нашей цели по созданию и проектированию инклюзивных продуктов.
  • Ускоренный курс ML: Справедливость . В ускоренном курсе ML есть 70-минутный раздел, посвященный выявлению и оценке проблем справедливости.

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

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

На какие группы мне следует разделить?

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

Что делать, если у меня нет данных, помеченных для срезов, которые я хочу исследовать?

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

Если вы оказались в таком положении, мы рекомендуем несколько подходов:

  1. Определите, есть ли у вас качества, которые могут дать вам некоторое представление об эффективности работы в группах. Например, география , хотя и не эквивалентна этнической принадлежности и расе, может помочь вам выявить любые несопоставимые закономерности в производительности.
  2. Определите, существуют ли репрезентативные общедоступные наборы данных, которые могут хорошо соответствовать вашей проблеме. На сайте Google AI вы можете найти ряд разнообразных и инклюзивных наборов данных, в том числе Project Respect , Inclusive Images и Open Images Extended , среди прочих.
  3. Используйте правила или классификаторы, когда это необходимо, чтобы маркировать ваши данные объективными атрибутами поверхностного уровня. Например, вы можете пометить текст, указывая, есть ли в предложении идентификационный термин. Имейте в виду, что у классификаторов есть свои проблемы, и если вы не будете осторожны, они также могут внести еще один уровень систематической ошибки. Четко определите, что на самом деле классифицирует ваш классификатор. Например, возрастной классификатор на изображениях фактически классифицирует воспринимаемый возраст . Кроме того, когда это возможно, используйте атрибуты поверхностного уровня, которые можно объективно идентифицировать в данных. Например, не рекомендуется создавать классификатор изображений по расовой или этнической принадлежности, поскольку они не являются визуальными характеристиками, которые можно определить в изображении. Классификатор, скорее всего, уловит косвенные данные или стереотипы. Вместо этого создание классификатора тона кожи может оказаться более подходящим способом маркировки и оценки изображения. Наконец, обеспечьте высокую точность классификаторов, маркирующих такие атрибуты.
  4. Найдите более репрезентативные данные, помеченные

Всегда обязательно проводите оценку на нескольких разнообразных наборах данных.

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

Имейте в виду, что подгруппы не всегда являются лучшим способом классификации людей.

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

Когда я протестировал достаточное количество срезов и как мне узнать, какие срезы нужно протестировать?

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

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

Какие показатели мне выбрать?

Выбирая, какие метрики оценивать для вашей системы, подумайте, кто будет использовать вашу модель, как она будет восприниматься и каковы будут последствия этого опыта.

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

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

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

Критические показатели справедливости для классификации

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

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

Метрики, доступные сегодня в «Индикаторах справедливости»

Положительная ставка / Отрицательная ставка

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

Истинно положительный уровень / Ложноотрицательный уровень

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

Истинно отрицательный уровень / Ложноположительный уровень

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

Точность и AUC

  • Относится к: прогнозируемой четности, когда все подгруппы равны.
  • Когда использовать эти показатели: случаи, когда точность задачи наиболее важна (не обязательно в заданном направлении), например, идентификация лиц или кластеризация лиц.

Уровень ложного обнаружения

  • Определение: процент отрицательных точек данных (как указано в основной истине), которые ошибочно классифицированы как положительные, среди всех точек данных, классифицированных как положительные. Это также обратная сторона PPV.
  • Относится к: прогнозируемой четности (также известной как калибровка), когда все подгруппы равны.
  • Когда использовать этот показатель: случаи, когда доля правильных положительных прогнозов должна быть одинаковой во всех подгруппах.

Уровень ложных пропусков

  • Определение: процент положительных точек данных (как указано в основной истине), которые ошибочно классифицированы как отрицательные, среди всех точек данных, классифицированных как отрицательные. Это также обратное значение NPV.
  • Относится к: прогнозируемой четности (также известной как калибровка), когда все подгруппы равны.
  • Когда использовать этот показатель: случаи, когда доля правильных отрицательных прогнозов должна быть одинаковой во всех подгруппах.

Общая частота переворота / Скорость переворота прогноза от положительного к отрицательному / Частота переворота прогноза от отрицательного к положительному

  • Определение: вероятность того, что классификатор даст другой прогноз, если атрибут идентичности в данном признаке был изменен.
  • Относится к: Контрфактическая справедливость.
  • Когда использовать эту метрику: при определении того, изменится ли прогноз модели при удалении или замене конфиденциальных атрибутов, упомянутых в примере. Если это так, рассмотрите возможность использования метода Counterfactual Logit Pairing в библиотеке исправления модели Tensorflow.

Счетчик переворотов/Счетчик переворотов предсказания от положительного к отрицательному/Счетчик переворотов предсказания от отрицательного к положительному *

  • Определение: сколько раз классификатор дает другой прогноз, если идентификационный термин в данном примере был изменен.
  • Относится к: Контрфактическая справедливость.
  • Когда использовать эту метрику: при определении того, изменится ли прогноз модели при удалении или замене конфиденциальных атрибутов, упомянутых в примере. Если это так, рассмотрите возможность использования метода Counterfactual Logit Pairing в библиотеке исправления модели Tensorflow.

Примеры того, какие метрики выбрать

  • Систематическая неспособность распознавать лица в приложении камеры может привести к негативному восприятию пользователей для определенных групп пользователей. В этом случае ложноотрицательные результаты в системе обнаружения лиц могут привести к сбою продукта, а ложноположительные результаты (обнаружение лица, когда его нет) могут вызвать небольшое раздражение у пользователя. Таким образом, для этого варианта использования важна оценка и минимизация уровня ложноотрицательных результатов.
  • Несправедливая пометка текстовых комментариев от определенных людей как «спама» или «высокотоксичных» в системе модерации приводит к тому, что определенные голоса замалчиваются. С одной стороны, высокий уровень ложноположительных результатов приводит к несправедливой цензуре. С другой стороны, высокий уровень ложноотрицательных результатов может привести к распространению токсичного контента от определенных групп, что может как нанести вред пользователю, так и нанести репрезентативный вред этим группам. Таким образом, важно учитывать обе метрики в дополнение к метрикам, которые учитывают все типы ошибок, такие как точность или AUC.

Не видите нужные показатели?

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

Заключительные замечания

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

Достижение равенства между группами по показателям справедливости не означает, что модель справедлива. Системы очень сложны, и достижение равенства по одному (или даже всем) предоставленным показателям не может гарантировать справедливость.

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

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