Интерпретируемость модели
В этой статье описываются методы, которые можно использовать для интерпретации модели в Машинном обучении 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 Аддитивные exPlanations) — это популярный метод объяснения глубоких нейронных сетей, который предоставляет аналитические сведения о вкладе каждой входной функции в данный прогноз. Он основан на концепции ценностей Шейпли, которая является методом назначения кредитов отдельным игрокам в совместной игре. SHAP применяет эту концепцию к входным функциям нейронной сети, вычисляя средний вклад каждого признака в выходные данные модели во всех возможных сочетаниях признаков. В частности, для текста SHAP разделяет слова иерархическим образом, рассматривая каждое слово или маркер как признак. При этом создается набор значений атрибуции, которые квантифицируют важность каждого слова или маркера для заданного прогноза. Окончательная карта атрибуции создается путем визуализации этих значений в виде тепловой карты поверх исходного текстового документа. SHAP — это не зависящий от модели метод, который можно использовать для объяснения широкого спектра моделей глубокого обучения, включая CNN, RNN и преобразователи. Кроме того, он предоставляет несколько желаемых свойств, таких как согласованность, точность и справедливость, что делает его надежным и интерпретируемым методом для понимания процесса принятия решений в модели. | Модель не зависит от модели | Многоклассовая классификация текста, текстовая классификация с несколькими метками |
Поддерживаемые методы интерпретации модели для моделей изображений
Метод интерпретации | Описание | Тип | Задача визуального распознавания |
---|---|---|---|
Видение SHAP | SHAP (SHapley Аддитивные exPlanations) — это популярный метод объяснения глубоких нейронных сетей, который предоставляет аналитические сведения о вкладе каждой входной функции в данный прогноз. Он основан на концепции ценностей Шейпли, которая является методом назначения кредитов отдельным игрокам в совместной игре. SHAP применяет эту концепцию к входным функциям нейронной сети, вычисляя средний вклад каждого признака в выходные данные модели во всех возможных сочетаниях признаков. В частности, для визуального зрения SHAP разделяет изображение иерархическим образом, рассматривая области суперпиксели изображения как каждый признак. При этом создается набор значений атрибуции, которые дают количественную оценку важности каждой суперпиксели или области изображения для заданного прогноза. Окончательная карта атрибуции создается путем визуализации этих значений в виде тепловой карты. SHAP — это не зависящий от модели метод, который можно использовать для объяснения широкого спектра моделей глубокого обучения, включая CNN, RNN и преобразователи. Кроме того, он предоставляет несколько желаемых свойств, таких как согласованность, точность и справедливость, что делает его надежным и интерпретируемым методом для понимания процесса принятия решений в модели. | Модель не зависит от модели | Классификация изображений с несколькими классами, классификация изображений с несколькими метками |
Интерактивная обратная опора | Guided-backprop — это популярный метод объяснения глубоких нейронных сетей, который предоставляет аналитические сведения об изученных представлениях модели. Он создает визуализацию входных признаков, которые активируют определенный нейрон в модели, вычисляя градиент выходных данных относительно входного изображения. В отличие от других методов на основе градиента, guided-backprop выполняется только через положительные градиенты и использует измененную функцию активации 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), двухэтапным детекторам (например, Faster-RCNN) и преобразователям зрения (например, DETR, OWL-ViT). D-Rise предоставляет карту салиентности путем создания случайных масок входного изображения и отправляет его в детектор объектов со случайными масками входного изображения. Оценивая изменение оценки детектора объектов, он объединяет все обнаружения с каждой маской и создает окончательную карту оценки. |
Модель не зависит от модели | Обнаружение объектов |
Поддерживается в пакете 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 может объяснить общее поведение любой базовой модели, но не объясняет отдельные прогнозы. | Не зависит от модели |
Помимо методов интерпретации, описанных выше, мы поддерживаем метод на основе SHAP под названием Tabular Explainer. В зависимости от модели Tabular Explainer использует один из поддерживаемых методов объяснения SHAP:
- Tree Explainer для всех моделей на основе дерева;
- Deep Explainer для моделей глубокой нейронной сети;
- Linear Explainer для линейных моделей;
- Kernel Explainer для всех других моделей.
Tabular Explainer также предоставляет значительные усовершенствования функций и производительности по сравнению с прямыми методами объяснения SHAP:
- Обобщение набора данных инициализации: когда наиболее важна скорость объяснения, мы суммируем набор данных инициализации и создаем небольшой набор репрезентативных выборок. Этот подход ускоряет создание общих и индивидуальных значений важности признаков.
- Создание набора данных для оценки: если пользователь передает большой набор образцов для оценки, но на самом деле они не требуют оценки, для параметра sampling можно задать значение
true
, чтобы ускорить вычисление общих объяснений модели.
На следующей схеме показана текущая структура поддерживаемых методов объяснения.
Поддерживаемые модели машинного обучения
Пакет 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 для анализа.
Дальнейшие действия
- Узнайте, как создать панель мониторинга ответственного ИИ с помощью CLI версии 2 и пакета SDK версии 2 или пользовательского интерфейса Студии Машинного обучения Azure.
- Изучите поддерживаемые визуализации интерпретируемости панели мониторинга ответственного применения ИИ.
- Узнайте, как создать систему показателей ответственного применения ИИ на основе аналитических сведений, наблюдаемых на панели мониторинга ответственного применения ИИ.
- Узнайте, как включить интерпретируемость для моделей автоматизированного машинного обучения (пакет SDK версии 1).