Об’єктивність: зменшення упередженості

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

  • доповнення навчальних даних;
  • коригування функції втрат моделі.

Доповнення навчальних даних

Якщо під час перевірки навчальних даних було виявлено, що якість із них відсутні, неправильні або спотворені, найпростіший спосіб вирішити проблему – зібрати додаткові.

А втім, хоча доповнення навчальних даних – це часто ідеальний підхід, у нього теж є недолік: іноді його неможливо застосувати або через брак доступних даних, або через ресурсні обмеження, які перешкоджають їх збиранню. Наприклад, зібрати більше даних може бути надто дорого чи довго або неможливо через юридичні обмеження чи вимоги щодо конфіденційності.

Коригування функції оптимізації моделі

Якщо збирати додаткові навчальні дані недоцільно, можна зменшити упередженість, скориставшись іншим підходом, – відкоригувати спосіб розрахунку втрат під час навчання моделі. Зазвичай ми використовуємо функцію оптимізації, таку як логістична функція втрат, щоб штрафувати модель за неправильні прогнози. Однак логістична функція втрат не враховує приналежність до підгруп. Отже, замість логістичної функції втрат можна вибрати функцію оптимізації, призначену для штрафування за помилки з урахуванням принципу об’єктивності, що протидіє дисбалансу, який ми виявили в навчальних даних.

Бібліотека TensorFlow Model Remediation містить утиліти, за допомогою яких можна застосувати два різні методи усунення упередженості під час навчання моделі:

  • MinDiff. Призначення MinDiff – збалансувати помилки для двох різних фрагментів даних (студентів чоловічої/жіночої статі порівняно з небінарними), додаючи штраф за відмінності в розподілах прогнозів для двох груп.

  • Контрфактичне об’єднання логітів (CLP). Ця утиліта дає змогу зробити так, щоб зміна чутливого атрибута певного прикладу не впливала на прогноз моделі для нього. Наприклад, якщо в навчальному наборі даних є два приклади, ознаки яких ідентичні, за винятком того, що показник gender одного з них має значення male, а gender іншого – nonbinary, то CLP додасть штраф, якщо прогнози для цих двох прикладів відрізнятимуться.

Методи, які ви вибираєте для коригування функції оптимізації, залежать від сценаріїв застосування моделі. У наступному розділі докладно розглядається, як правильно оцінювати модель на об’єктивність, беручи до уваги ці сценарії.

Вправа. Перевірте свої знання

Які із цих тверджень щодо методів зменшення упередженості правильні?
І MinDiff, і CLP штрафують за розбіжності в роботі моделі, пов’язані із чутливими атрибутами.
Обидва методи дають змогу зменшити упередженість шляхом штрафування за помилки в прогнозах, які виникають через дисбаланс у представленні чутливих атрибутів у навчальних даних.
MinDiff штрафує за відмінності в загальному розподілі прогнозів для різних фрагментів даних, тоді як CLP – за розбіжності в прогнозах для окремих пар прикладів.
MinDiff усуває упередженість, вирівнюючи розподіл балів для двох підгруп, а CLP – не допускаючи, щоб окремі приклади оцінювалися по-різному лише через приналежність до певної підгрупи.
Додавши приклади в навчальний набір, можна гарантовано запобігти упередженості прогнозів моделі.
Збільшення кількості навчальних прикладів – це ефективна стратегія для зменшення упередженості, але важливо, щоб структура нових навчальних даних була правильною. Якщо в додаткових навчальних прикладах буде такий самий дисбаланс, як і у даних, зібраних раніше, вони, імовірно, не допоможуть зменшити наявну упередженість.
Якщо ви додаєте навчальні дані, щоб зменшити упередженість, не слід також застосовувати MinDiff або CLP під час навчання.
Можна і доповнювати навчальні дані, і використовувати такі методи, як MinDiff або CLP, щоб досягати потрібних результатів. Наприклад, розробник систем машинного навчання може зібрати достатньо додаткових навчальних даних, щоб зменшити розбіжність у результатах на 30%, а потім використати MinDiff, щоб скоротити цю розбіжність іще на 50%.