
Как так получается:
1. Обычно, говоря о предвзятости, ссылаются на проблемы с данными. В реальности все несколько сложнее: некорректности могут возникнуть еще до сбора данных, а также на многих других стадиях процесса обучения. Но для упрощения, все рассмотрим три ключевых стадии.
2. Постановка задачи. Один из самых первых шагов -- это понять, чего нужно достичь с помощью алгоритма. Например, кредитная организация может хотеть предсказывать благонадежность клиентов, но это очень условный параметр. Чтобы перевести его в алгоритм, компании нужно определиться с критериями и целевыми показателями (к примеру, увеличивать прибыль или число выданных кредитов). Эти решения принимаются по множеству бизнес-причин, не связанных напрямую с "честностью" или "дискриминантностью" решения. Если алгоритм решит, что выдача субстандартных кредитов максимизирует прибыль, он будет "потворствовать" "хищническому" поведению, даже если это не было изначальной целью компании.
3. Сбор данных. Здесь два основных момента: собираемые данные нерепрезентативны или отражают существующие перекосы. Классика: алгоритмы компьютерного зрения лучше распознают светлокожие лица, потому что в тренировочной базе их больше; а HR-системы, обученные на исторических данных часто дискриминируют женщин.
4. Подготовка данных. Для обучения модели, вы выбираете атрибуты, которые алгоритм должен принять во внимание. Это часто включает проекцию стереотипов: например, для случая с кредитами, инженер выбирает в качестве параметров возраст, доход и количество выплаченных кредитов. Обычно это называют "искусством" машинного обучения: подобрать "фичи", которые нужно учитывать или игнорировать, чтобы повысить точность модели.
Подготовка данных. Для обучения модели, вы выбираете атрибуты, которые алгоритм должен принять во внимание. Это часто включает проекцию стереотипов: например, для случая с кредитами, инженер выбирает в качестве параметров возраст, доход и количество выплаченных кредитов. Обычно это называют "искусством" машинного обучения: подобрать "фичи", которые нужно учитывать или игнорировать, чтобы повысить точность модели.
Почему предвзятость трудно исправить?
1. Неизвестные неизвестные. Внесение предвзятости в алгоритм часто совсем не очевидно во время создания модели. Пока у вас нет обученной модели, вы можете не понимать последствий принимаемых решений. А когда модель построена, трудно ретроспективно понять, что именно внесло искажение. Например, в HR-случае, изъятие из учебной базы явных отсылок на гендер, не сильно помогло, потому что алгоритм мог определять пол по косвенным признакам вроде частоты используемых слов.
2. Несовершенство процесса. Большинство стандартных практик в машинном обучении вообще не учитывают возможность предвзятости. По идее, модели тестируются перед разворачиванием, и это должно быть идеальной точной для проверки предвзятости. Но вспомните классическую рекомендацию по тестированию: разделите случайно исходные данные на учебные и тестовые. В результате тестовые данные содержат те же искажения, что и учебные.
3. Нехватка социального контекста. То, как инженеры формулируют алгоритмические задачи, часто не совместимо с социальными проблемами. Это так называемая "ловушка переноса". В ИТ мы часто считаем хорошей практикой проектировать системы, которые можно использовать для других задач в других контекстах. Но этот подход игнорирует различие социальных контекстов. "Вы не можете спроектировать систему в Юте и применять ее в Кентукки, потому что у разных сообществ разные версии справедливости. Вы также не можете сделать систему для оценки криминальности поступков и применять ее для оценки сотрудников."