Что такое исправление модели?

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

  • Изменение входных данных: сбор дополнительных данных, создание синтетических данных, настройка весов и частот выборки различных срезов и т. Д. 1
  • Вмешательство в модель: изменение самой модели путем введения или изменения целей модели, добавления ограничений и т. Д. 2
  • Постобработка результатов: изменение выходных данных модели или интерпретация выходных данных для повышения производительности по всем показателям. 3

from tensorflow_model_remediation import min_diff
import tensorflow as tf

# Start by defining a Keras model.
original_model = ...

# Set the MinDiff weight and choose a loss.
min_diff_loss = min_diff.losses.MMDLoss()
min_diff_weight = 1.0  # Hyperparamater to be tuned.

# Create a MinDiff model.
min_diff_model = min_diff.keras.MinDiffModel(
original_model, min_diff_loss, min_diff_weight)

# Compile the MinDiff model normally.
min_diff_model.compile(...)

# Create a MinDiff Dataset and train the min_diff_model.
min_diff_model.fit(min_diff_dataset, ...)

Что такое MinDiff?

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

Как правило, MinDiff применяется при попытке минимизировать разницу в частоте ложных срабатываний (FPR) или ложных отрицательных результатов (FNR) между срезом данных, принадлежащим к чувствительному классу, и более производительным срезом. Для более подробного обсуждения показателей справедливости просмотрите литературу по этому вопросу. 4 5 6

Как работает MinDiff?

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

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

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

1 Чжан, Г., Бай, Б., Чжан, Дж., Бай, К., Чжу, К., Чжао, Т. (2020). Демографические данные не должны быть причиной токсичности: уменьшение дискриминации в текстовых классификациях с помощью взвешивания экземпляров.
2 Прост, Ф., Цянь Х., Чен, К., Чи, Э., Чен, Дж., Бейтель, А. (2019). К лучшему компромиссу между производительностью и справедливостью с сопоставлением распределения на основе ядра.
3 Алабдулмохсин, И. (2020). Справедливая классификация через неограниченную оптимизацию.
4 Дворк, К., Хардт, М., Питасси, Т., Рейнгольд, О., Земель, Р. (2011). Справедливость через осведомленность.
5 Хардт, М., Прайс, Э., Сребро, Н. (2016). Равенство возможностей в обучении с учителем.
6 Чулдечова, А. (2016). Справедливое предсказание с разрозненным воздействием: исследование систематической ошибки в инструментах прогнозирования рецидивов.

Ресурсы