Интерпретируемость модели

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

Внимание

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

Почему интерпретируемость модели важна для отладки модели

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

  • Отладка модели. Почему моя модель совершила эту ошибку? Как можно улучшить свою модель?
  • Совместная работа с искусственным интеллектом: как понять и доверять решениям модели?
  • Соответствие нормативным требованиям: соответствует ли моя модель юридическим требованиям?

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

  • Глобальные пояснения: например, какие признаки влияют на общее поведение модели предоставления кредита?
  • Местные объяснения: например, почему было одобрено или отклонено заявление о кредите клиента?

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

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

Используйте интерпретируемость в следующих случаях...

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

Интерпретация модели

В машинном обучении признаки — это поля данных, используемые для прогнозирования целевой точки данных. Например, для прогнозирования кредитного риска можно использовать такие поля данных, как возраст, размер счета записи и время с момента открытия счета. В этом случае возраст, размер счета и время с момента открытия счета являются признаками. Важность признака определяет, как каждое поле данных влияет на прогнозы модели. Например, возраст может интенсивно использоваться в прогнозе, тогда как размер счета и время с момента его открытия не сильно влияют на прогнозируемые значения. С помощью этого процесса специалисты по обработке и анализу данных могут объяснить полученные прогнозы таким образом, чтобы заинтересованные лица могли видеть наиболее важные признаки в модели.

Используя классы и методы на панели мониторинга ответственного применения ИИ, а также с помощью пакета SDK версии 2 и интерфейса командной строки версии 2, вы можете:

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

С помощью классов и методов в пакете SDK версии 1 можно:

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

Примечание.

Классы интерпретируемости модели становятся доступными с помощью пакета SDK версии 1. Дополнительные сведения см. в статье Установка пакетов SDK для Машинного обучения Azure и azureml.interpret.

Поддерживаемые методы интерпретации модели

В панели мониторинга ответственного применения ИИ и azureml-interpret используются методы интерпретации, разработанные в Interpret-Community, — пакет Python с открытым исходным кодом для обучения интерпретируемых моделей и объяснения результатов систем искусственного интеллекта, работающих на базе модели "черного ящика". Модели "черного ящика" — это модели, для которых у нас нет сведений об их внутренней работе.

Interpret-Community выступает в качестве узла для следующих поддерживаемых объяснений и в настоящее время поддерживает методы интерпретации, представленные в следующих разделах.

Поддерживается на панели мониторинга ответственного применения ИИ в пакете SDK Python версии 2 и CLI версии 2

Метод интерпретации Описание Тип
Mimic Explainer (глобальный суррогат) + дерево SHAP Метод Mimic Explainer основан на идее обучения глобальных суррогатных моделей для имитации моделей "черного ящика". Модель глобального суррогата — это внутренняя интерпретируемая модель, которая обучена для максимально точной аппроксимации прогнозов любой модели "черного ящика".

Специалисты по обработке и анализу данных могут интерпретировать суррогатную модель, чтобы делать выводы о модели "черного ящика". Панель мониторинга ответственного применения ИИ использует LightGBM (LGBMExplainableModel), связанную с объяснением для дерева SHAP (SHapley Additive exPlanations), которое является конкретным объяснением для деревьев и ансамблей деревьев. Сочетание LightGBM и дерева SHAP предоставляет глобальные и локальные объяснения моделей машинного обучения, не зависящие от модели.
Не зависит от модели

Поддерживаемые методы интерпретации модели для текстовых моделей

Метод интерпретации Описание Тип Задача "Текст"
Текст SHAP SHAP (SHapley Additive exPlanations) — это популярный метод объяснения для глубоких нейронных сетей, который предоставляет аналитические сведения о вкладе каждой входной функции в заданный прогноз. Он основан на концепции значений Шапли, который является методом назначения кредита отдельным игрокам в совместной игре. ЭТА концепция применяется к входным функциям нейронной сети путем вычисления среднего вклада каждой функции в выходные данные модели во всех возможных сочетаниях признаков. Для текста в частности, ШАП разбивается на слова иерархическим образом, рассматривая каждое слово или маркер как функцию. Это создает набор значений атрибуции, которые квалифицируют важность каждого слова или маркера для заданного прогноза. Окончательная карта атрибуции создается путем визуализации этих значений в виде тепловой карты по исходному текстовому документу. SHAP — это метод, не зависящий от модели, и его можно использовать для объяснения широкого спектра моделей глубокого обучения, включая CNN, RNN и преобразователи. Кроме того, он предоставляет несколько желательных свойств, таких как согласованность, точность и справедливость, что делает его надежным и интерпретируемым методом для понимания процесса принятия решений модели. Agnostic модели Классификация нескольких классов текста, классификация многометок текста

Поддерживаемые методы интерпретации модели для моделей изображений

Метод интерпретации Описание Тип Задача визуального зрения
ВИДЕНИЕ ШАП SHAP (SHapley Additive exPlanations) — это популярный метод объяснения для глубоких нейронных сетей, который предоставляет аналитические сведения о вкладе каждой входной функции в заданный прогноз. Он основан на концепции значений Шапли, который является методом назначения кредита отдельным игрокам в совместной игре. ЭТА концепция применяется к входным функциям нейронной сети путем вычисления среднего вклада каждой функции в выходные данные модели во всех возможных сочетаниях признаков. Для визуального зрения в частности, ШАП разбивается на изображение иерархическим образом, обрабатывая области суперпикселя изображения как каждую функцию. Это создает набор значений атрибуции, которые квалифицируют важность каждого суперпикселя или области изображения для заданного прогноза. Окончательная карта атрибуции создается путем визуализации этих значений в виде тепловой карты. SHAP — это метод, не зависящий от модели, и его можно использовать для объяснения широкого спектра моделей глубокого обучения, включая CNN, RNN и преобразователи. Кроме того, он предоставляет несколько желательных свойств, таких как согласованность, точность и справедливость, что делает его надежным и интерпретируемым методом для понимания процесса принятия решений модели. Agnostic модели Классификация изображений с несколькими классами, классификация изображений с несколькими метками
Руководство по резервному копированию Руководство по обратной поддержке — это популярный метод объяснения для глубоких нейронных сетей, который предоставляет аналитические сведения об обученных представлениях модели. Он создает визуализацию входных функций, которые активируют определенный нейрон в модели, вычисляя градиент выходных данных относительно входного изображения. В отличие от других методов, основанных на градиентах, управляемый backpropagates только через положительные градиенты и использует измененную функцию активации ReLU, чтобы гарантировать, что отрицательные градиенты не влияют на визуализацию. Это приводит к более интерпретируемой и высокоразоемкой схеме сальности, которая выделяет наиболее важные функции в входном изображении для заданного прогноза. С помощью интерактивного резервного копирования можно объяснить широкий спектр моделей глубокого обучения, в том числе сверточных нейронных сетей (CNN), повторяющихся нейронных сетей (RNN) и преобразователей. AutoML Классификация изображений с несколькими классами, классификация изображений с несколькими метками
Руководство по gradCAM Управляемый GradCAM — это популярный метод объяснения для глубоких нейронных сетей, который предоставляет аналитические сведения об обученных представлениях модели. Он создает визуализацию входных функций, которые способствуют большей части определенного выходного класса, сочетая подход на основе градиента управляемой обратной пропаганды с подходом локализации GradCAM. В частности, он вычисляет градиенты класса выходных данных относительно карт признаков последнего сверточного слоя в сети, а затем взвешивает каждую карту признаков в соответствии с важностью его активации для этого класса. Это создает тепловую карту с высоким разрешением, которая выделяет наиболее дискриминирующие области входного изображения для заданного выходного класса. С помощью интерактивного GradCAM можно объяснить широкий спектр моделей глубокого обучения, включая CNN, RNN и преобразователи. Кроме того, путем включения управляемой обратной пропаганды визуализация гарантирует, что визуализация имеет смысл и интерпретируется, избегая спрогнозных активаций и отрицательных вкладов. AutoML Классификация изображений с несколькими классами, классификация изображений с несколькими метками
Интегрированные Градиенты Интегрированные градиенты — это популярный метод объяснения для глубоких нейронных сетей, который предоставляет аналитические сведения о вкладе каждой функции ввода в заданный прогноз. Он вычисляет целочисленность градиента выходного класса относительно входного изображения, а также прямой путь между базовым изображением и фактическим входным изображением. Этот путь обычно выбирается для линейной интерполяции между двумя изображениями, при этом базовый план является нейтральным изображением, которое не имеет характерных признаков. Интегрируя градиент по этому пути, интегрированные градиенты предоставляют меру того, как каждая функция ввода способствует прогнозированию, что позволяет создать карту атрибуции. Эта карта выделяет самые влиятельные функции ввода и может использоваться для получения аналитических сведений о процессе принятия решений модели. Интегрированные градиенты можно использовать для объяснения широкого спектра моделей глубокого обучения, включая CNN, RNN и преобразователи. Кроме того, это теоретически обоснованный метод, который удовлетворяет набору желательных свойств, таких как чувствительность, инвариантность реализации и полнота. AutoML Классификация изображений с несколькими классами, классификация изображений с несколькими метками
XRAI XRAI — это новый метод оценки на основе региона на основе интегрированных Градиентов (IG). Он перерезает изображение и итеративно проверяет важность каждого региона, объединяя небольшие регионы в более крупные сегменты на основе показателей присвоения. Эта стратегия обеспечивает высокое качество, тесно ограничивающие регионы сальности, которые превысят существующие методы сальности. XRAI можно использовать с любой моделью на основе DNN, если существует способ кластеризации входных функций в сегменты через некоторую метрику сходства. AutoML Классификация изображений с несколькими классами, классификация изображений с несколькими метками
D-RISE D-RISE — это неустранимый метод для создания визуальных объяснений для прогнозирования моделей обнаружения объектов. Учитывая как аспекты локализации, так и классификации обнаружения объектов, D-RISE может создавать карты сальности, которые выделяют части изображения, которые наиболее способствуют прогнозированию детектора. В отличие от методов на основе градиента, D-RISE является более общим и не нуждается в доступе к внутренней работе детектора объектов; Для этого требуется доступ только к входным и выходным данным модели. Метод может применяться к одноэтапным детекторам (например, YOLOv3), двухэтапным детекторам (например, Более быстро-RCNN) и преобразователям зрения (например, DETR, OWL-ViT).
D-Rise предоставляет карту сальности, создавая случайные маски входного изображения и отправляя его в детектор объектов со случайными масками входного изображения. Оценивая изменение оценки детектора объектов, оно агрегирует все обнаружения с каждой маской и создает окончательную карту сальности.
Agnostic модели Обнаружение объектов

Поддерживается в пакете SDK для Python версии 1

Метод интерпретации Описание Тип
SHAP Tree Explainer SHAP Tree Explainer — это метод, в котором основное внимание уделяется алгоритму быстрой оценки стоимости SHAP на основе полинома, связанному с деревьями и совокупностями деревьев. Характерный для модели
SHAP Deep Explainer Согласно пояснениям SHAP: "Deep Explainer — это "высокоскоростной алгоритм аппроксимации для значений SHAP в моделях глубокого обучения, который основан на связи с DeepLIFT, описанным в документе SHAP NIPS. Поддерживаются модели TensorFlow и Keras, использующие серверную часть TensorFlow (также доступна предварительная поддержка PyTorch)". Характерный для модели
SHAP Linear Explainer SHAP Linear Explainer вычисляет значения SHAP для линейной модели, при необходимости учитывая взаимные корреляции признаков. Характерный для модели
SHAP Kernel Explainer В SHAP Kernel Explainer используется специально взвешенная локальная линейная регрессия для оценки значений SHAP для любой модели. Не зависит от модели
Mimic Explainer (глобальный суррогат) Метод Mimic Explainer основан на представлении глобальных суррогатных моделей для имитации моделей "черного ящика". Модель глобального суррогата — это внутренняя интерпретируемая модель, которая обучена для максимально точной аппроксимации прогнозов любой модели "черного ящика". Специалисты по обработке и анализу данных могут интерпретировать суррогатную модель, чтобы делать выводы о модели "черного ящика". В качестве суррогатной модели можно использовать одну из следующих интерпретируемых моделей: LightGBM (LGBMExplainableModel), линейная регрессия (LinearExplainableModel), объяснимая стохастическая модель градиентного спуска (SGDExplainableModel) или дерево принятия решений (DecisionTreeExplainableModel). Не зависит от модели
Определение важности признаков, определяемая путем перестановок (PFI) Permutation Feature Importance (PFI) — это прием, который используется для объяснения моделей классификации и регрессии и основан на работе Бреймана Random Forests (Случайные леса) (см. раздел 10). Общий принцип работы такой: метод случайным образом перетасовывает данные по одному признаку для всего набора данных и вычисляет показатель изменений интересующей метрики. Чем больше изменение, тем важнее компонент. PFI может объяснить общее поведение любой базовой модели, но не объясняет отдельные прогнозы. Не зависит от модели

Помимо методов интерпретации, описанных в предыдущем разделе, мы поддерживаем другой объяснитель на основе ФОРМ, называемый табличным объяснителем. В зависимости от модели Tabular Explainer использует один из поддерживаемых методов объяснения SHAP:

  • Tree Explainer для всех моделей на основе дерева;
  • Deep Explainer для моделей глубокой нейронной сети;
  • Linear Explainer для линейных моделей;
  • Kernel Explainer для всех других моделей.

Tabular Explainer также предоставляет значительные усовершенствования функций и производительности по сравнению с прямыми методами объяснения SHAP:

  • Обобщение набора данных инициализации: когда наиболее важна скорость объяснения, мы суммируем набор данных инициализации и создаем небольшой набор репрезентативных выборок. Этот подход ускоряет создание общих и индивидуальных значений важности признаков.
  • Создание набора данных для оценки: если пользователь передает большой набор образцов для оценки, но на самом деле они не требуют оценки, для параметра sampling можно задать значение true, чтобы ускорить вычисление общих объяснений модели.

На следующей схеме показана текущая структура поддерживаемых методов объяснения.

 Diagram of Machine Learning Interpretability architecture.

Поддерживаемые модели машинного обучения

Пакет azureml.interpret SDK поддерживает модели, обученные со следующими форматами наборов данных:

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

Функции объяснения принимают в качестве входных данных модели и конвейеры. Если модель предоставлена, в ней должна быть реализована функция прогнозирования predict или predict_proba, соответствующая соглашению Scikit. Если модель не поддерживает эту функцию, можно создать для нее оболочку в функции, которая дает тот же результат, что и predict или predict_proba в Scikit, и использовать эту функцию-оболочку с выбранным методом объяснения.

Если предоставлен конвейер, функция объяснения предполагает, что выполняющийся сценарий конвейера возвращает прогноз. При использовании этой методики упаковки можно поддерживать модели, azureml.interpret обученные с помощью PyTorch, TensorFlow, платформ глубокого обучения Keras и классических моделей машинного обучения.

Локальный и удаленный целевой объект вычисления

Пакет azureml.interpret предназначен для работы с локальными и удаленными целевыми объектами вычислений. При локальном запуске пакета функции SDK не будут обращаться к службам Azure.

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

Следующие шаги