Интерпретируемость модели
В этой статье описываются методы, которые можно использовать для интерпретации модели в Машинном обучении 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 предоставляет глобальные и локальные объяснения моделей машинного обучения, не зависящие от модели. |
Не зависит от модели |
Поддерживается в пакете 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.
- Изучите поддерживаемые визуализации интерпретируемости панели мониторинга ответственного применения ИИ.
- Узнайте, как создать систему показателей ответственного применения ИИ на основе аналитических сведений, наблюдаемых на панели мониторинга ответственного применения ИИ.
- Узнайте, как включить функцию интерпретируемости для автоматизированных моделей машинного обучения.