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

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

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

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

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

Я изо всех сил стараюсь ссылаться на библиотеки / код / ​​учебные пособия / ресурсы повсюду, но если вы хотите погрузиться прямо в код, Набор инструментов AI 360 выглядит как достойное место для начала. А пока приступим к математике :).

I. Состязательное снятие предубеждений

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

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

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

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

Формально, рассматриваем g (X) как общее заученное вложение наших входных данных. Мы позволяем f быть нашей функцией прогнозирования, где Y = f (g (X)), а a быть нашим противник, где Z = a (g (X)). Конечная цель для нашей нейронной сети состоит в том, чтобы изучить представление g (X), которое позволяет f предсказать Y, но затрудняет a , чтобы предсказать Z. С точки зрения оптимизации, мы хотим минимизировать наши потери при прогнозировании L_y (f (g (X)), Y) и максимизировать состязательные потери L_z (a (g (X)), Z).

Чтобы объединить эти оптимизации и контролировать компромисс между ними, мы вводим J_λ, тождественную функцию с отрицательным градиентом, то есть:

  • J (g (X)) = g (X) и
  • dJ/dX = -λ dg(X)/dX.

Используя J_λ, где λ - гиперпараметр, определяющий компромисс между точностью модели и удалением конфиденциальной информации, мы можем обучить нашу нейронную сеть общей цели оптимизации:

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

Поскольку противник просто пытается минимизировать свои потери, мы, как обычно, обновляем его веса U в соответствии с градиентом ∇_uL_A. Однако выражение обновления для весов предиктора W становится немного сложнее:

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

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

Ух ты, состязательная деформация - это так здорово! Как я могу его использовать / узнать больше?

II. Вариационные "честные" автоэнкодеры

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

Быстрое освежение VAE

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

VAE - это генеративная модель, которая изучает параметризацию некоторого скрытого представления ввода. Мы предполагаем, что существует некоторый набор скрытых переменных z, объясняющих x; у нас есть сеть «кодировщика» q (z | x), которая производит μ и σ нормального распределения, из которого можно выбрать z, и сеть «декодера» p (x | z), которая пытается реконструировать x из кодировки z. Ключевым моментом здесь является то, что мы хотим узнать параметры для кодировщика и декодера, которые увеличивают вероятность наших данных, но часто бывает так, что вычисление апостериорного p (z | x) невозможно. В результате мы обучаем наши нейронные сети, чтобы вместо этого максимизировать нижнюю границу p (x):

Первый член этой нижней границы - наша «потеря восстановления», которая оценивает: насколько хорошо наш декодер может восстановить входные данные из кодировки, которую мы выбрали? Второй термин - регуляризатор расхождения KL, который побуждает q создавать кодировки, аналогичные стандартному нормальному, определенному p (z), который оценивает: производит ли наш кодировщик осмысленно кластеризованные кодировки? Обучение обеим целям вместе побуждает модель обнаруживать скрытые пространства, которые точно фиксируют семантику наших данных и обобщают / интерполируют за пределы наших данных.

Вернемся к алгоритмической справедливости: ставим F в VFAE

Мы начинаем формулировать VFAE как неконтролируемую модель, которая предполагает, что каждая точка данных x может быть вероятностно сгенерирована из двух «источников»: наблюдаемого s, представляющего переменные, которые мы хотим удалить, и непрерывной скрытой переменной z, которая кодирует оставшуюся информацию.

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

Используя нижнюю границу VAE, описанную выше, мы можем оптимизировать декодер p_θ и кодировщик q_φ для получения z, кодирования, которое захватывает наиболее важную, не конфиденциальную информацию о x:

К сожалению, у неконтролируемой модели есть очевидная проблема: если чувствительная переменная s и метка y действительно коррелированы, мы можем получить вырожденный представления z относительно y - то есть представления, которые на самом деле не кодируют существенную информацию о метке. Чтобы решить эту проблему, мы вводим второй уровень переменных, чтобы попытаться коррелировать z с y, состоящий из самой метки y и другой скрытой переменной z2, которая кодирует оставшуюся вариацию z, которая не объясняется у. Обратите внимание, что на следующих рисунках и выражениях z теперь обозначается как z1.

Интуитивно z2 улавливает и «объясняет» зависящий от x шум, оставляя желаемое представление z1 исключительно ответственным за поиск инвариантного представления x, которое может объяснить метку y.

Изюминкой введения информации о метке на этапе извлечения признаков является то, что даже если метка отсутствует, мы можем использовать декодер q_φ (y | z1), полученный из данных, где y равно присутствует для вменения недостающих данных. Другими словами, этот метод легко распространяется на обучение без учителя. Полный математический вывод слишком длинный, чтобы включать его здесь, но его можно найти в разделе 2.2 исходной статьи.

Последним вкладом этого подхода является использование максимальной средней несоответствия в качестве дополнительного регуляризатора для обеспечения «справедливости» модели. Хотя введение меток полезно для предотвращения вырожденных представлений, если метка y коррелирует с чувствительной переменной s, возможно, что информация об этой чувствительной переменной все еще «просачивается» в наше представление через y. Чтобы решить эту проблему, мы вводим последний штрафной член на нижней границе, чтобы явно побудить z1 быть инвариантным по отношению к s; в частности, мы рекомендуем, чтобы распределения q_φ (z1 | s = 0) и q_φ (z1 | s = 1) были похожими.

Этот термин наложения штрафов представляет собой максимальное среднее несоответствие (MMD), которое измеряет квадрат расстояния между средними вложениями двух распределений (или их соответствующими отображениями характеристик). Окончательный термин потерь VFAE просто сравнивает эмпирическую статистику ψ (·) z1, когда s = 0 и когда s = 1.

Формально наша окончательная модель VFAE расширяет архитектуру вариационного автоэнкодера как на помеченные данные (x_n, s_n, y_n), так и на немаркированные данные (x_m, s_m), и использует MMD для обеспечения инвариантности наших изученных представлений Z относительно s:

Хорошо, я убежден. Как я могу нырнуть с VFAE?

III. Динамическая передискретизация обучающих данных

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

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

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

VAE имеет стандартный кодировщик q_φ (z | x) для аппроксимации скрытых переменных, за исключением того, что вместо стандартных 2k активаций для скрытых переменных k (т. Е. Μ и σ для каждой скрытой переменной) он производит 2k + d выходных данных, где d - размерность метки y. Другими словами, кодировщик VAE одновременно выполняет исходную задачу прогнозирования и изучает скрытые представления обучающих данных. Мы также изучаем стандартный декодер p_θ (x | z), который восстанавливает входные данные из изученных скрытых переменных.

В целом наша сеть обучается с 3 потерями: контролируемая потеря для задачи прогнозирования, потеря реконструкции для восстановленного входа и потеря дивергенции KL для скрытых переменных.

Общая архитектура выглядит примерно так:

Теперь, чтобы увеличить количество тренировочных точек, которые недостаточно представлены в скрытом пространстве, нам нужно выяснить, какие точки данных имеют необычные или редко встречающиеся скрытые представления. С этой целью мы оцениваем частотное распределение переменных в скрытом пространстве (z). Обратите внимание, что для набора данных X мы можем аппроксимировать это распределение с помощью гистограммы Q_hat (z | X). Эта гистограмма может стать очень большой по мере увеличения числа скрытых переменных k, поэтому мы дополнительно аппроксимируем это совместное распределение с помощью независимых гистограмм для каждого скрытого z_i:

Для интуитивной интерпретации гистограммы Q_i (z_i | X) напомним, что каждая скрытая переменная z_i параметризуется μ_i и σ_i. Напомним также, что, поскольку z_i зависит от x, каждый вход x имеет собственное среднее значение и стандартное отклонение для этой скрытой переменной. Гистограмма Q_i подсчитывает частоты этих средних значений и стандартных отклонений по всему набору данных. Для любого ввода x, если Q_i (z_i (x) | X) мало, мы знаем, что он обычно принимает необычные значения z_i. Если Q_j (z_j (x) | X) мало для всех (или многих) скрытых переменных z_j, мы знаем, что x имеет необычное общее скрытое представление .

Используя эти гистограммы, мы можем сделать вероятность выбора точки данных x для обучения обратно пропорциональной частоте ее представления в скрытом пространстве:

Модель в конечном итоге научится назначать небольшую вероятность выборки W (z (x) | X) стандартным изображениям и назначать большую вероятность выборки нестандартным изображениям:

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

  • Код: к сожалению, я нигде не смог найти код для этого :(, но я написал авторам статьи по электронной почте, чтобы спросить. Между тем, этот алгоритм - еще один пример повторного взвешивания данных, за исключением это делается на этапе предварительной обработки с использованием только меток классов (в отличие от динамически во время обучения с использованием скрытых представлений).
  • Бумага: Амини, 2019.

IV. Оптимизация с точки зрения распределения

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

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

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

Формально мы рассматриваем популяцию с K скрытыми группами, где каждая группа k составляет долю ⍺_k популяции и имеет базовое распределение P_k. Мы предполагаем, что мы не знаем ни пропорции, ни основного распределения какой-либо демографии. Каждый вход Z ~ P_k запрашивается с некоторой потерей, а «риск» каждой группы - обозначенный R_k (θ) - это ожидаемые потери по этим входам Z.

Целью DRO является контроль наихудшего риска по всем K группам, а именно:

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

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

Поскольку нам также неизвестна доля группы с наихудшим положением, мы выбираем этот радиус r на основе наименьшей доли меньшинства ⍺_ min, которую мы готовы рассмотреть. Можно показать, что максимальный радиус устойчивости, который нам необходимо учитывать, будет равен r _max = (1 / ⍺_ min - 1) ².

Интуитивно теперь мы оптимизируем для наихудшего базового распределения (ов), которые составляют не менее ⍺_ мин процентов от известного общего распределения P.

Но как все это выглядит с точки зрения поведения процесса оптимизации? Можно показать, что при определенных ограничениях R_dro (θ; r _max) эквивалентно следующему (гораздо более полезному) выражению:

где C = (2 * r_ max +1) ^ (1/2), а η - гиперпараметр. Это выражение делает поведение УЦИ гораздо более очевидным: все точки данных, у которых уровень потерь меньше η, игнорируется, в то время как точки данных с потерями намного больше, чем η, имеют повышенный вес из-за квадрата члена. На следующем рисунке показано это поведение при использовании УЦИ на практике:

На панели (а) этого рисунка мы видим, что наш набор данных представляет собой смесь двух базовых распределений, одно из которых значительно превосходит другое по численности. Оценка ERM, которая оптимизируется для средних потерь, естественно, просто оптимизируется для группы большинства и дает θ_erm, совершенно непригодный для другого распределения. Между тем, если бы мы знали, какие точки данных принадлежали к каким группам и могли бы оптимизировать наихудший риск в каждой группе, используя R_ max, мы бы получили θ_fair, которое равноудалена обеим группам. Не зная членства в группах, DRO просто игнорирует все примеры с потерями меньше η * и перевешивает примеры с высокими потерями в конце всех распределений. В результате DRO находит оптимальное θ_dro *, которое близко к θ_fair и лишь немного смещено в сторону группы большинства.

Очевидно, что для обучения любой нейронной сети с помощью DRO мы просто выбираем значение η и вычисляем оптимальное θ:

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

Я готов (эмпирически) защищать аутсайдеров с помощью DRO!

  • Код: Рабочий лист Codalab (благодарность Перси за то, что он заставлял своих аспирантов оставаться на вершине воспроизводимых исследований).
  • Бумага: Хашимото, 2018.

Заключение

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

А пока оставляйте свои мысли в комментариях и - как всегда - счастливого взлома :).