9 лучших фреймворков Python для применения объяснимого ИИ на практике

Объяснимый искусственный интеллект – это наиболее эффективная практика обеспечения прозрачности, надежности, ответственности и этичности решений ИИ и машинного обучения, чтобы выполнялись все нормативные требования в отношении прозрачности алгоритмов, снижения рисков и резервного плана. решается эффективно. Методы объяснимости AI и ML обеспечивают необходимую видимость того, как эти алгоритмы работают на каждом этапе жизненного цикла их решения, позволяя конечным пользователям понять, почему и как запросы связаны с результат моделей AI и ML. В этой статье мы рассмотрим 9 лучших фреймворков Python для XAI, которые вам необходимо изучить, чтобы стать экспертом в области прикладного XAI.

Что такое объяснимый ИИ (XAI)?

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

Если вам нужно краткое введение в XAI в коротком 45-минутном видеоролике, вы можете посмотреть одну из моих прошлых сессий по XAI, представленную на AI Accelerator Festival APAC, 2021:

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



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

Теперь позвольте мне предложить 9 лучших фреймворков Python XAI:

1. Локальные интерпретируемые объяснения, не зависящие от модели (LIME)

LIME — это новый, не зависящий от модели, метод локального объяснения, используемый для интерпретации моделей черного ящика путем изучения локальной модели вокруг прогнозов. LIME обеспечивает интуитивно понятное глобальное понимание модели, что также полезно для неопытных пользователей. Этот метод был впервые предложен в исследовательской статье «Почему я должен вам доверять?» Объяснение предсказаний любого классификатора, автор Рибейро и др.. (https://arxiv.org/abs/1602.04938). Алгоритм неплохо справляется с интерпретацией любого классификатора или регрессора, используя аппроксимированные локальные интерпретируемые модели. Он обеспечивает глобальную перспективу для установления доверия к любой модели черного ящика; поэтому он позволяет вам идентифицировать интерпретируемые модели по интерпретируемому человеком представлению, которое локально соответствует алгоритму. Таким образом, он в основном функционирует за счет изучения интерпретируемых представлений данных, поддержания баланса между точностью и интерпретируемостью и поиска локальных исследований.

GitHub: https://github.com/marcotcr/lime

Установка: `pip install Lime`

2. Объяснение аддитивного метода Шепли (SHAP)

В 2017 г.Скотт Лундберг и Су-Ин Ли впервые представили структуру SHAP из своей статьи Унифицированный подход к интерпретации модельных прогнозов (https ://arxiv.org/abs/1705.07874). Фундаментальная идея этой структуры основана на концепции значений Шепли из теории кооперативных игр. Алгоритм SHAP учитывает важность аддитивных функций для объяснения коллективного вклада базовых функций модели. Математически значение Шепли определяется как средний предельный вклад значения отдельного признака во всех возможных диапазонах значений в пространстве признаков. Но математическое понимание ценности Шепли довольно сложное, но хорошо объяснено в исследовательской статье Ллойда С. Шепли под названием Ценность для игр с участием n человек. Вклад в теорию игр 2.28 (1953).

GitHub: https://github.com/slundberg/shap

Установка: `pip install shap`

3. Тестирование с вектором активации концепции (TCAV)

TCAV – это модель интерпретируемой модели от Google AI, которая на практике реализует идею концептуального метода объяснения. Алгоритм зависит от векторов активации понятий (CAV), которые обеспечивают интерпретацию внутреннего состояния моделей машинного обучения с использованием удобных для человека понятий. В более техническом смысле TCAV использует производные по направлениям для количественной оценки важности удобных для человека концепций высокого уровня для предсказаний модели. Например, при описании причесок TCAV может использовать такие понятия, как кудрявые волосы, прямые волосы или цвет волос. Эти определяемые пользователем концепции не являются входными характеристиками набора данных, которые используются алгоритмом в процессе обучения.

GitHub: https://github.com/tensorflow/tcav

Установка: `pip install tcav`

4. Независимый от модели язык для исследования и объяснения (DALEX)

DALEX (независимый от модели язык для исследования и объяснения) — одна из очень немногих широко используемых платформ XAI, которая пытается решить большинство аспектов объяснимости. DALEX не зависит от модели и может предоставить некоторые метаданные о базовом наборе данных, чтобы дать некоторый контекст объяснению. Эта структура дает вам представление о производительности и справедливости модели, а также обеспечивает глобальную и локальную объяснимость модели.

Разработчики платформы DALEX хотели соответствовать следующему списку требований, которые они определили для объяснения сложных алгоритмов черного ящика:

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

GitHub: https://github.com/ModelOriented/DALEX

Установка: `pip install dalex -U`

5. Панель пояснений

Платформа позволяет настраивать панель мониторинга, но я думаю, что версия по умолчанию включает все поддерживаемые аспекты объяснимости модели. Сгенерированные информационные панели на основе веб-приложений можно экспортировать как статические веб-страницы непосредственно с активной информационной панели. В противном случае информационные панели могут быть программно развернуты как веб-приложение с помощью автоматизированной непрерывной интеграции (CI)/непрерывного развертывания (CD) процесса развертывания. Рекомендую ознакомиться с официальной документацией фреймворка (https://explainerdashboard.readthedocs.io/en/latest/).

GitHub: https://github.com/oegedijk/explainerdashboard

Установка: `pip install Explainerdashboard`

6. ИнтерпретироватьML

InterpretML (https://interpret.ml/) — это набор инструментов XAI от Microsoft. Он направлен на обеспечение всестороннего понимания моделей ML с целью отладки моделей, объяснимости результатов и проведения нормативных проверок моделей ML. С помощью этого модуля Python мы можем либо обучать интерпретируемые модели стеклянного ящика, либо объяснять модели черного ящика.

Microsoft Research разработала еще один алгоритм под названием Explainable Boosting Machine (EBM), который вводит современные методы машинного обучения, такие как повышение, пакетирование и автоматическое обнаружение взаимодействия, в классические алгоритмы, такие как Обобщенные аддитивные модели (GAM). Исследователи также обнаружили, что EBM точны, как случайные леса и деревья с градиентным усилением, но, в отличие от таких моделей черного ящика, EBM объяснимы и прозрачны. Следовательно, EBM — это модели стеклянного ящика, встроенные в структуру InterpretML.

GitHub: https://github.com/interpretml/interpret

Установка: `pip install интерпретировать`

7. АЛИБИ

Alibi — еще одна библиотека Python с открытым исходным кодом, предназначенная для проверки и интерпретации моделей машинного обучения. Основное внимание в библиотеке уделяется обеспечению высококачественных реализаций методов черного и белого ящиков, локальных и глобальных методов объяснения для моделей классификации и регрессии.

GitHub: https://github.com/SeldonIO/alibi

Установка: `pip install alibi`

8. Разнообразные контрфактические объяснения (DiCE)

Diverse Counterfactual Explanations (DiCE) — еще одна популярная структура XAI, особенно для контрфактических объяснений. Интересно, что DiCE также является одним из ключевых фреймворков XAI от Microsoft Research, но его еще предстоит интегрировать с модулем InterpretML (интересно, почему!). Я считаю, что вся идея контрфактических объяснений очень близка к идеальному человеческому объяснению, которое дает практические рекомендации. В этом блоге Microsoft обсуждается мотивация и идея платформы DiCE: https://www.microsoft.com/en-us/research/blog/open-source-library-provides-explanation-for-machine-learning-through -разнообразные-контрфакты/. По сравнению с ALIBI CFE я обнаружил, что DiCE создает более подходящие CFE с минимальной настройкой гиперпараметров. Вот почему я считаю важным упомянуть DiCE, так как он в первую очередь предназначен для пояснений на основе примеров.

GitHub: https://github.com/interpretml/DiCE

Установка: `pip install dice-ml`

9. Объясни, как будто мне пять (ELI5)

ELI5 или Объясните, как будто мне пять лет – это библиотека Python XAI для отладки, проверки и объяснения классификаторов машинного обучения. Это была одна из первых сред XAI, разработанных для объяснения моделей черного ящика в максимально упрощенном формате. Он поддерживает широкий спектр сред моделирования ML, таких как модели, совместимые с scikit-learn, Keras и другие. Он также имеет встроенные объяснения LIME и может работать с наборами табличных данных наряду с неструктурированными данными, такими как текст и изображения. Документация библиотеки доступна по адресу https://eli5.readthedocs.io/en/latest/, а проект GitHub доступен по адресу https://github.com/eli5-org/eli5.

GitHub: https://github.com/TeamHG-Memex/eli5

Установка: `pip install eli5`

Краткое содержание

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

ДРУГИЕ СТАТЬИ АВТОРА, СВЯЗАННЫЕ С XAI ПО TDS:

  1. Объяснимое машинное обучение для моделей, обученных на текстовых данных: сочетание SHAP с моделями-трансформерами
  2. EUCA — эффективная структура XAI для приближения искусственного интеллекта к конечным пользователям
  3. Понимание работы SHAP и значений Шепли, используемых в объяснимом ИИ
  4. Как объяснить классификаторы изображений с помощью LIME


ССЫЛКА

  1. Прикладные методы объяснимости машинного обучения
  2. Репозиторий GitHub из книги Прикладные методы объяснимости машинного обученияhttps://github.com/PacktPublishing/Applied-Machine-Learning-Explainability-Techniques/