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

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

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

Что такое интерпретируемая модель?

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

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

Теперь предположим, что наша модель случайного леса предсказывает 93% -ную вероятность выживания для конкретного пассажира. Как она пришла к такому выводу?

Случайные модели леса могут легко состоять из сотен или тысяч «деревьев». Это делает практически невозможным понять их рассуждения.

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

Графики SHAP показывают, как модель использовала каждый атрибут пассажира и дала прогноз 93% (или 0,93). На приведенном ниже графике Shapely мы можем увидеть наиболее важные атрибуты, на которые была учтена модель.

  • пассажир не был в третьем классе: шансы на выживание значительно увеличиваются;
  • пассажиром была женщина: шансы на выживание увеличиваются еще больше;
  • пассажир был не первым классом: шансы на выживание снижаются.

Мы можем видеть, что модель работает, как и ожидалось, объединив эту интерпретацию с тем, что мы знаем из истории: пассажиры с билетами 1-го или 2-го класса имели приоритет для спасательных шлюпок, а женщины и дети покидали корабль раньше мужчин.

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

Что мы получаем от интерпретируемого машинного обучения?

Интерпретируемые модели помогают нам достичь многих общих целей проектов машинного обучения:

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

Некоторые алгоритмы более интерпретируемы, чем другие?

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

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

Объем интерпретируемости

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

  • глобальная интерпретируемость - это понимание того, как работает полная модель;
  • интерпретируемость на местном уровне - это понимание того, как было принято одно решение.

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

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

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

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

Интерпретируемость и объяснимость моделей машинного обучения

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

Тем не менее, мы можем думать об объяснимости как о достижении более низкой планки понимания, чем интерпретируемость.

Модель машинного обучения интерпретируема, если мы можем фундаментально понять, как она пришла к конкретному решению.

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

Если каждый компонент модели объясним, и мы можем отслеживать каждое объяснение одновременно, тогда модель поддается интерпретации.

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

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

Модель-агностическая интерпретация

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

Например, ранее мы рассматривали график SHAP. Этот метод работает для многих моделей, интерпретируя решения с учетом того, какой вклад в них вносит каждая функция (локальная интерпретация).

Аналогичным образом мы можем использовать и другие методы, например:

  • Графики частичной зависимости (PDP),
  • Накопленные местные эффекты (ALE) и
  • Местный суррогат (LIME).

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

«Строительные блоки» для лучшей интерпретации

Такие модели, как сверточные нейронные сети (CNN), состоят из отдельных слоев. При использовании для распознавания изображений каждый уровень обычно изучает определенную функцию, а более высокие уровни изучают более сложные функции.

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

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

Иерархия функций

Мы можем нарисовать примерную иерархию от простого к сложному. Чтобы интерпретировать полные объекты, CNN сначала нужно научиться распознавать:

  • края,
  • текстуры,
  • шаблоны и
  • части.

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

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

Объяснения на основе примеров

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

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

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

Противоречивые объяснения

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

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

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

Отладка и аудит интерпретируемых моделей

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

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

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

Вашей компании нужно интерпретируемое машинное обучение?

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