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

Таким образом, важно понятие интерпретируемости: используя определенные модели или методы интерпретируемости, можно сделать результаты, а также проблему гораздо более понятной и легко объяснимой для людей. Потенциальные предубеждения легче обнаружить и избежать. Кроме того, с принятием таких законов, как «Свод федеральных правил» в США или «GDPR» в Европейском союзе, «право к объяснению» становится все более и более важным и даже обязательным в ближайшие годы (на данный момент существует некоторый юридический вакуум по этому вопросу): это означает, что если модель ИИ используется с данными третьего лица, тогда тот же человек может спросить, почему модель сделала такой прогноз.

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

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

На данный момент не существует математического или научного определения «интерпретируемости». Иногда это понятие также путают со словом «Объяснимость». Вообще говоря, если эти два понятия различны, «Интерпретируемость» эквивалентно ответу на вопрос «Как получен этот результат?» и «Объяснимость» на вопрос «Почему получен такой результат?». После этого мы не будем различать эти два понятия в статье и сосредоточимся только на вопросе «Как?».

Уровень интерпретируемости не одинаков для всех методов прогнозирования и классификации. С одной стороны, линейная регрессия и логистические модели считаются легко интерпретируемыми: результаты прогнозирования можно объяснить непосредственно с помощью модели, но эти алгоритмы не могут быть столь эффективными для некоторых задач. С другой стороны, при множестве измерений и большом объеме данных алгоритмы становятся все более и более сложными (например, нейронные сети, …) и, ​​следовательно, производительность прогностических моделей увеличивается. Однако интерпретация этих результатов становится сложной задачей. Для интерпретации потребуются апостериорные методы, такие как LIME[1] или SHAP[2].

Что касается методов интерпретируемости, то их существует несколько, и их можно классифицировать по критериям:

  • «Внутренний» (непосредственно из модели) или «Постфактум» (после прогноза).
  • «Независимо от модели» (применимо ко всем типам моделей) или «Специально для модели» (применимо к некоторым типам моделей)
  • «Глобальный» (интерпретация касается всех точек) или «Локальная» (интерпретация касается только одной или нескольких точек)

Например, «LIME» и «Kernel SHAP» (реализация SHAP) являются методами интерпретации, считающимися «локальными. >», «Постфактум» и «Независимо от модели»

После создания LIME его разработчик создает Anchor

Якорь — это еще один метод интерпретации моделей классификации, созданный Марко Тулио Рибейро, изобретателем LIME. Придерживаясь той же философии, что и LIME, Anchor использует метод, основанный на возмущении, для создания локальных объяснений. Она может объяснить отдельные предсказания любой модели «черного ящика». Поэтому этот метод считается «локальным», «задним числом» и «независимым от модели». Более того, по сравнению с другими методами интерпретации, такими как LIME или SHAP, эти интерпретации Anchor намного ближе к человеческому пониманию с помощью правил прогнозирования, позволяющих узнать, как модель получила результат.

Что касается генерации правил, этот процесс основан на последовательных итерациях потенциальных кандидатов в правила. Каждая итерация выбирает лучших кандидатов и меняет их, расширяя правила новыми функциями. Цикл завершается, когда правило удовлетворяет условиям точности. Если вам нужна дополнительная информация о процессе генерации, прочтите статью «Якоря: высокоточные модельно-независимые объяснения», опубликованную в 2018 году [3], в которой подробно описан весь процесс.

Другая реализация Anchor

Метод Anchor реализован и доступен на разных языках программирования:

Эти разные модули предлагают интерпретировать модели, обученные задачам табличной или текстовой классификации. Вы также можете найти примеры использования Anchor в блокнотах [4] и [5].

Чтобы протестировать метод (в Python), мы сосредоточимся на наборе данных «Качество красного вина [6]» с физико-химическими входными данными и выходными данными качества.

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

Мы получаем следующий результат:

Точность случайного леса: 0,709375

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

В дополнение к сгенерированному правилу прогнозирования также возвращаются две метрики, которые дают представление о качестве и релевантности правила:

  • Точность: относительное количество правильных прогнозов. В предыдущем результате правило было верным в среднем 7,2 раза для 10 прогнозов.
  • Покрытие: «пространство возмущений» (или вероятность применения якоря к своим «соседям») или относительное количество точек, сгенерированных «возмущением», которые следуют правилу. Как правило, чем больше переменных содержит правило, тем меньше покрытие.

Исследование моделей методом привязки

С помощью этого метода интерпретируемости вполне возможно изучить и понять любую модель прогнозирования. Для этого мы повторим метод Anchor по многим точкам набора данных. Алгоритм принимает в качестве входных данных порог минимальной точности для метода Anchor и долю точек набора данных, подразумеваемую всеми правилами, а в качестве выходных данных — список всех правил. Что касается разведки, принцип следующий:

  1. Получить случайную точку в наборе данных
  2. Примените метод привязки к этой точке
  3. Удалить точки, затронутые правилом, из набора данных
  4. Сохранить правило
  5. Повторяйте с шага 1, пока не останется менее % баллов.

Применяя алгоритм исследования, описанный выше, с минимальным порогом точности 0,7 и обходя не менее 80% набора данных, мы генерируем более тридцати правил прогнозирования. Вот некоторые из них:

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

Затем, во-вторых, мы запускаем алгоритм важности признаков [5] в случайном лесу.

Мы замечаем, что переменные, наиболее представленные в правилах, также имеют важное значение в результатах важности признаков (и наоборот). Эти результаты подтверждают, что сгенерированные правила имеют смысл и актуальны для понимания модели. В контексте «GDPR» или «Свода федеральных правил» этот метод позволяет найти наиболее важные переменные, а также узнать, как они влияют на модель с простые и понятные объяснения для всех заинтересованных сторон.

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

Мы рассмотрели лишь небольшую часть XAI (или «Объяснимый AI») с помощью метода привязки. Существуют и другие подходы, отличные от рассмотренного ранее или от более известных, таких как Lime или SHAP. Например, Microsoft Research недавно разработала новую прогностическую модель, Explainable Boosting Machine или EBM[8], которая может «давать точные объяснения».

В Sia Partners мы привыкли к внедрению Anchor, что помогает нам лучше контролировать наш этический подход к нашим алгоритмам. Если вы хотите узнать больше о наших решениях в области искусственного интеллекта, посетите наш веб-сайт Heka.

Ссылки

[1] Рибейро, Марко Тулио и Сингх, Самир и Гестрин, Карлос. «Почему я должен вам доверять?»: объяснение предсказаний любого классификатора (2016 г.)

[2] Лундберг, Скотт М. и Су-Ин Ли. «Единый подход к интерпретации предсказаний моделей». Достижения в области систем обработки нейронной информации (2017 г.)

[3] Рибейро, Марко Тулио и Сингх, Самир и Гестрин, Карлос. «Якоря: высокоточные модельно-независимые объяснения». Конференция AAAI по искусственному интеллекту (AAAI), 2018 г.

[4] https://github.com/marcotcr/anchor/blob/master/notebooks/Anchor%20on%20tabular%20data.ipynb

[5] https://github.com/marcotcr/anchor/blob/master/notebooks/Anchor%20for%20text.ipynb

[6] https://archive.ics.uci.edu/ml/datasets/wine+quality

[7] Фишер, Аарон, Синтия Рудин и Франческа Доминичи. «Все модели ошибочны, но многие из них полезны: изучение важности переменной путем одновременного изучения всего класса моделей прогнозирования». (2018) http://arxiv.org/abs/1801.01489

[8] Нори, Харша и Дженкинс, Самуэль и Кох, Пол и Каруана, Рич «InterpretML: унифицированная структура для машинного обучения» (2019)