Interoperabilidad del modelo

En este artículo se describen los métodos que puede usar para la interpretación del modelo en Azure Machine Learning.

Importante

Con el lanzamiento del panel IA responsable, que incluye la interpretación del modelo, se recomienda que migre a la nueva experiencia, ya que el panel de interpretación del modelo de versión preliminar del SDK v1 anterior dejará de mantenerse de forma activa.

¿Por qué es importante la interpretación del modelo para la depuración de modelos?

Cuando use modelos de Machine Learning de manera que afectan a la vida de las personas, resulta fundamental comprender lo que influye en el comportamiento de los modelos. La interpretabilidad ayuda a responder preguntas en escenarios como:

  • Depuración de modelos: ¿Por qué mi modelo ha cometido este error? ¿Cómo puedo mejorar el modelo?
  • Colaboración de inteligencia artificial y humanos: ¿Cómo puedo entender y confiar en las decisiones del modelo?
  • Cumplimiento normativo: ¿Mi modelo cumple los requisitos legales?

El componente de interpretabilidad del panel de IA responsable contribuye a la fase de "diagnóstico" del flujo de trabajo de ciclo de vida del modelo mediante la generación de descripciones comprensibles de las predicciones de un modelo de Machine Learning. Proporciona varias vistas sobre el comportamiento de un modelo:

  • Explicaciones globales: Por ejemplo, ¿qué características afectan al comportamiento general de un modelo de asignación de préstamos?
  • Explicaciones locales: Por ejemplo, ¿por qué se ha aprobado o rechazado la solicitud de préstamo de un cliente?

También puede observar explicaciones del modelo para una cohorte seleccionada como subgrupo de puntos de datos. Este enfoque es útil cuando, por ejemplo, evalúa la equidad en las predicciones del modelo para los individuos de un grupo demográfico determinado. La pestaña de explicación local de este componente también representa una visualización de datos completa, lo que resulta ideal para hojear los datos en general y examinar las diferencias entre las predicciones correctas e incorrectas de cada cohorte.

Las funcionalidades de este componente se basan en el paquete InterpretML, que genera explicaciones del modelo.

Use la interpretación cuando necesite:

  • Determinar en qué medida se puede confiar en las predicciones del sistema de inteligencia artificial mediante la comprensión de las características más importantes para las predicciones.
  • Abordar la depuración del modelo al entenderlo, en primer lugar, e identificar si este usa características correctas o simplemente correlaciones falsas.
  • Descubrir posibles fuentes de desigualdad al entender si el modelo realiza las predicciones en función de características confidenciales o características muy correlacionadas.
  • Generar confianza del usuario en las decisiones del modelo mediante la generación de explicaciones locales para ilustrar los resultados.
  • Completar una auditoría normativa de un sistema de inteligencia artificial para validar modelos y supervisar el impacto de las decisiones del modelo en las personas.

Interpretación del modelo

En el aprendizaje automático, las características son los campos de datos que usa para predecir un punto de datos de destino. Por ejemplo, para predecir el riesgo de crédito, puede usar los campos de datos de la edad, el tamaño de la cuenta y la antigüedad de la cuenta. En este caso, la edad, el tamaño de la cuenta y la antigüedad de la cuenta son características. La importancia de las características le indica la forma en que cada campo de datos afecta a las predicciones del modelo. Por ejemplo, es posible que use mucho la edad en la predicción, mientras que la antigüedad y el tamaño de la cuenta pueden no afectar a los valores de la predicción significativamente. Mediante este proceso, los científicos de datos pueden explicar las predicciones resultantes de maneras que proporcionan a las partes interesadas visibilidad sobre las características más importantes del modelo.

Con las clases y los métodos del panel IA responsable mediante el SDK v2 y la CLI v2, puede hacer lo siguiente:

  • Explicar la predicción del modelo mediante la generación de valores de importancia de la característica para el modelo completo (explicación global) o para puntos de datos individuales (explicación local).
  • Logre la interpretabilidad del modelo en conjuntos de datos del mundo real a escala.
  • Usar un panel de visualizaciones interactivas para detectar de patrones en los datos y sus explicaciones durante el entrenamiento.

Con las clases y métodos del SDK v1, puede hacer lo siguiente:

  • Explicar la predicción del modelo al generar valores de importancia de la característica para el modelo completo o para los puntos de datos individuales.
  • Lograr la interpretabilidad del modelo en los conjuntos de datos del mundo real a escala, durante el entrenamiento y la inferencia.
  • Usar un panel de visualizaciones interactivas para detectar de patrones en los datos y sus explicaciones durante el entrenamiento.

Nota:

Las clases de interpretabilidad de modelos están disponibles mediante el paquete del SDK v1. Para obtener más información, consulte Instalación de paquetes de SDK para Azure Machine Learning y azureml.interpret.

Técnicas admitidas para la interpretación del modelo

El panel IA responsable y azureml-interpret usan las técnicas de interpretabilidad que se desarrollaron en Interpret-Community, un paquete de Python de código abierto para entrenar modelos que se pueden interpretar y para ayudar a explicar los sistemas de IA de caja opaca. Los modelos de caja opaca son aquellos para los que no tenemos información sobre sus trabajos internos.

Interpret-Community actúa como host de los siguientes explicadores admitidos y actualmente admite las técnicas de interpretabilidad que se presentan en las secciones siguientes.

Compatible con el panel IA responsable en el SDK de Python v2 y la CLI v2

Técnicas de interpretabilidad Descripción Tipo
Explicador Mimic (suplente global) y árbol SHAP El explicador Mimic se basa en la idea de entrenar modelos suplentes globales para imitar los modelos de caja opaca. Un modelo suplente global es un modelo interpretable de forma intrínseca que está entrenado para aproximarse a las predicciones de cualquier modelo de caja opaca de la forma más precisa posible.

Los científicos de datos pueden interpretar el modelo suplente para extraer conclusiones acerca del modelo de caja opaca. El panel IA responsable usa LightGBM (LGBMExplainableModel), emparejado con el explicador de árbol SHAP (SHapley Additive exPlanations), que es un explicador específico para árboles y conjuntos de árboles. La combinación de LightGBM y el árbol SHAP proporciona explicaciones globales y locales, independientes del modelo, de los modelos de Machine Learning.
Independiente del modelo

Técnicas de interpretación de modelos admitidas para modelos de texto

Técnicas de interpretabilidad Descripción Tipo Tarea de texto
Texto SHAP SHAP (SHapley Additive exPlanations) es un método de explicación popular para redes neuronales profundas que proporciona información sobre la contribución de cada característica de entrada a una predicción determinada. Se basa en el concepto de valores de Shapley, que es un método para asignar crédito a jugadores individuales en un juego cooperativo. SHAP aplica este concepto a las características de entrada de una red neuronal calculando la contribución media de cada característica a la salida del modelo en todas las combinaciones posibles de características. Específicamente para texto, SHAP divide en palabras de forma jerárquica, tratando cada palabra o token como una característica. Esto genera un conjunto de valores de atribución que cuantifican la importancia de cada palabra o token para la predicción especificada. El mapa de atribución final se genera visualizando estos valores como un mapa térmico sobre el documento de texto original. SHAP es un método independiente del modelo y se puede usar para explicar una amplia gama de modelos de aprendizaje profundo, incluidos CNN, RNN y transformadores. Además, proporciona varias propiedades deseables, como la coherencia, la precisión y la equidad, lo que lo convierte en una técnica confiable e interpretable para comprender el proceso de toma de decisiones de un modelo. Independiente del modelo Clasificación de texto de varias clases, Clasificación de texto de varias etiquetas

Técnicas de interpretación de modelos admitidas para modelos de imagen

Técnicas de interpretabilidad Descripción Tipo Tarea de visión
Visión SHAP SHAP (SHapley Additive exPlanations) es un método de explicación popular para redes neuronales profundas que proporciona información sobre la contribución de cada característica de entrada a una predicción determinada. Se basa en el concepto de valores de Shapley, que es un método para asignar crédito a jugadores individuales en un juego cooperativo. SHAP aplica este concepto a las características de entrada de una red neuronal calculando la contribución media de cada característica a la salida del modelo en todas las combinaciones posibles de características. Específicamente para visión, SHAP divide la imagen de forma jerárquica, tratando las áreas de superpíxeles de la imagen como cada característica. Esto genera un conjunto de valores de atribución que cuantifican la importancia de cada superpíxel o área de imagen para la predicción especificada. El mapa de atribución final se genera visualizando estos valores como un mapa térmico. SHAP es un método independiente del modelo y se puede usar para explicar una amplia gama de modelos de aprendizaje profundo, incluidos CNN, RNN y transformadores. Además, proporciona varias propiedades deseables, como la coherencia, la precisión y la equidad, lo que lo convierte en una técnica confiable e interpretable para comprender el proceso de toma de decisiones de un modelo. Independiente del modelo Clasificación de imágenes de varias clases, Clasificación de imágenes de varias etiquetas
Retropropagación guiada La retropropagación guiada es un método de explicación popular para redes neuronales profundas que proporciona información sobre las representaciones aprendidas del modelo. Genera una visualización de las características de entrada que activan una neurona determinada del modelo; para ello, calcula el gradiente de la salida con respecto a la imagen de entrada. A diferencia de otros métodos basados en gradientes, la retropropagación guiada solo retrocede la propagación mediante gradientes positivos y usa una función de activación ReLU modificada para asegurarse de que los gradientes negativos no influyan en la visualización. Esto da como resultado un mapa de notabilidad más interpretable y de alta resolución que resalta las características más importantes de la imagen de entrada para una predicción determinada. La retropropagación guiada se puede usar para explicar una amplia gama de modelos de aprendizaje profundo, incluidas las redes neuronales convolucionales (CNN), las redes neuronales recurrentes (RNN) y los transformadores. AutoML Clasificación de imágenes de varias clases, Clasificación de imágenes de varias etiquetas
GradCAM guiado GradCAM guiado es un método de explicación popular para redes neuronales profundas que proporciona información sobre las representaciones aprendidas del modelo. Genera una visualización de las características de entrada que contribuyen más a una clase de salida determinada mediante la combinación del enfoque basado en gradientes de la retropropagación guiada con el enfoque de localización de GradCAM. Específicamente, calcula los gradientes de la clase de salida con respecto a los mapas de características de la última capa convolucional de la red y, a continuación, pondera cada mapa de características según la importancia de su activación para esa clase. Esto genera un mapa térmico de alta resolución que resalta las regiones más discriminantes de la imagen de entrada para la clase de salida especificada. GradCAM guiado se puede usar para explicar una amplia gama de modelos de aprendizaje profundo, incluidos CNN, RNN y transformadores. Además, al incorporar la retropropagación guiada, garantiza que la visualización sea significativa e interpretable, evitando activaciones falsas y contribuciones negativas. AutoML Clasificación de imágenes de varias clases, Clasificación de imágenes de varias etiquetas
Gradientes integrados Los gradientes integrados son un método de explicación popular para redes neuronales profundas que proporciona información sobre la contribución de cada característica de entrada a una predicción determinada. Calcula la integral del gradiente de la clase de salida con respecto a la imagen de entrada, a lo largo de una ruta recta entre una imagen de línea base y la imagen de entrada real. Normalmente, esta ruta se elige como una interpolación lineal entre las dos imágenes y la línea base es una imagen neutra que no tiene características destacadas. Al integrar el gradiente a lo largo de esta ruta, los gradientes integrados proporcionan una medida de cómo contribuye cada característica de entrada a la predicción, lo que permite generar un mapa de atribución. Este mapa resalta las características de entrada más influyentes y se puede usar para obtener información sobre el proceso de toma de decisiones del modelo. Los gradientes integrados se pueden usar para explicar una amplia gama de modelos de aprendizaje profundo, incluidos CNN, RNN y transformadores. Además, es una técnica teóricamente fundamentada que satisface un conjunto de propiedades deseables, como la sensibilidad, la invarianza de implementación y la integridad. AutoML Clasificación de imágenes de varias clases, Clasificación de imágenes de varias etiquetas
XRAI XRAI es un nuevo método de notabilidad basado en regiones y basado en gradientes integrados (IG). Segmenta en exceso la imagen y prueba de forma iterativa la importancia de cada región, uniendo las regiones más pequeñas en segmentos más grandes en función de las puntuaciones de atribución. Esta estrategia produce regiones de notabilidad estrechamente delimitadas y de alta calidad que superan las técnicas de notabilidad existentes. XRAI se puede usar con cualquier modelo basado en DNN siempre que haya una manera de agrupar las características de entrada en segmentos mediante alguna métrica de similitud. AutoML Clasificación de imágenes de varias clases, Clasificación de imágenes de varias etiquetas
D-RISE D-RISE es un método independiente del modelo para crear explicaciones visuales de las predicciones de los modelos de detección de objetos. Al tener en cuenta los aspectos de localización y categorización de la detección de objetos, D-RISE puede generar mapas de notabilidad que resaltan las partes de una imagen que contribuyen más a la predicción del detector. A diferencia de los métodos basados en gradientes, D-RISE es más general y no necesita acceso a los trabajos internos del detector de objetos; solo requiere acceso a las entradas y salidas del modelo. El método se puede aplicar a detectores de una fase (por ejemplo, YOLOv3), detectores de dos fases (por ejemplo, Faster-RCNN) y transformadores de visión (por ejemplo, DETR y OWL-ViT).
D-Rise proporciona el mapa de notabilidad mediante la creación de máscaras aleatorias de la imagen de entrada que enviará al detector de objetos con las máscaras aleatorias de la imagen de entrada. Al evaluar el cambio de la puntuación del detector de objetos, agrega todas las detecciones con cada máscara y genera un mapa de notabilidad final.
Independiente del modelo Detección de objetos

Compatible con el SDK de Python v1

Técnicas de interpretabilidad Descripción Tipo
SHAP Tree Explainer El explicador de árboles de SHAP, que se centra en un algoritmo de cálculo rápido de valores SHAP en tiempo polinómico específico para árboles y conjuntos de árboles. Específico del modelo
SHAP Deep Explainer Según la explicación de SHAP, Deep Explainer es un "algoritmo de aproximación de alta velocidad para valores SHAP en modelos de aprendizaje profundo que se basa en una conexión con DeepLIFT descrita en el documento SHAP NIPS. Se admiten tanto los modelos de TensorFlow como los modelos de Keras que usan el back-end de TensorFlow (también existe compatibilidad preliminar con PyTorch)". Específico del modelo
SHAP Linear Explainer SHAP Linear Explainer calcula los valores SHAP para un modelo lineal, considerando de forma opcional las correlaciones entre funciones. Específico del modelo
SHAP Kernel Explainer SHAP Kernel Explainer usa una regresión lineal local ponderada de forma especial para calcular los valores SHAP de cualquier modelo. Independiente del modelo
Mimic Explainer (suplente global) El explicador Mimic se basa en la idea de entrenar modelos suplentes globales para imitar los modelos de caja opaca. Un modelo suplente global es un modelo interpretable de forma intrínseca que está entrenado para aproximarse a las predicciones de cualquier modelo de caja opaca de la forma más precisa posible. Los científicos de datos pueden interpretar el modelo suplente para extraer conclusiones acerca del modelo de caja opaca. Cualquiera de los siguientes modelos se puede usar como modelo suplente: LightGBM (LGBMExplicableModel), Regresión lineal (LinearExplicableModel), Modelo explicable de descenso de gradiente estocástico (SGDExplicableModel) o Árbol de decisión (DecisionTreeExplicableModel). Independiente del modelo
Permutation Feature Importance Explainer La importancia de características de permutación (PFI) es una técnica que se usa para explicar los modelos de clasificación y regresión que está inspirada en el documento acerca de bosques aleatorios de Breiman (consulte la sección 10). En un alto nivel, la forma en que funciona es cuando se barajan aleatoriamente los datos de una característica para todo el conjunto de datos y se calcula en qué medida cambia la métrica de rendimiento que interesa. Cuanto mayor sea el cambio, más importante es la característica. PFI puede explicar el comportamiento general de cualquier modelo subyacente, pero no las predicciones individuales. Independiente del modelo

Además de las técnicas de interpretación descritas en la sección anterior, se admite otro explicador basado en SHAP, denominado Tabular Explainer. En función del modelo, Tabular Explainer usa uno de los explicadores de SHAP admitidos:

  • Tree Explainer para todos los modelos basados en árboles
  • Deep Explainer para modelos de red neuronal profunda (DNN)
  • Linear Explainer para los modelos lineales
  • Kernel Explainer para todos los demás modelos

Tabular Explainer también realizó mejoras significativas en las características y en el rendimiento con respecto a los Explicadores directos de la SHAP:

  • Resumen del conjunto de datos de inicialización: Cuando la velocidad de explicación es más importante, se resume el conjunto de datos de inicialización y se genera un pequeño conjunto de ejemplos representativos. Este enfoque acelera la generación de valores de importancia general e individual de las características.
  • Muestreo del conjunto de datos de evaluación: Si pasa un gran conjunto de muestras de evaluación, pero no necesita que se evalúen todos, el parámetro de muestreo puede establecerse en true para acelerar el cálculo de las explicaciones generales del modelo.

El siguiente diagrama muestra la estructura actual de los explicadores admitidos:

 Diagram of Machine Learning Interpretability architecture.

Modelos de Machine Learning admitidos

El paquete azureml.interpret del SDK admite los modelos entrenados con los siguientes formatos de conjunto de datos:

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

Las funciones de explicación aceptan como entrada tanto modelos como canalizaciones. Si se proporciona un modelo, debe implementar la función de predicción predict o predict_proba que se ajuste a la convención de Scikit. Si el modelo no lo admite, puede encapsularlo en una función que genere el mismo resultado que predict o predict_proba en Scikit y usar esa función contenedora con el explicador seleccionado.

Si proporciona una canalización, la función de la explicación da por supuesto que el script de canalización de ejecución devuelve una predicción. Cuando usa esta técnica de encapsulado, azureml.interpret puede admitir modelos entrenados mediante marcos de aprendizaje profundo de PyTorch, TensorFlow, Keras y modelos de aprendizaje automático clásicos.

Destino de proceso local y remoto

El paquete azureml.interpret está diseñado para trabajar con destinos de proceso locales y remotos. Si ejecuta el paquete localmente, las funciones del SDK no conectarán con ningún servicio de Azure.

Puede ejecutar la explicación de forma remota en Proceso de Azure Machine Learning y registrar la información de la explicación en el servicio de historial de ejecución de Azure Machine Learning. Una vez que esta información se registra, tanto los informes como las visualizaciones de la explicación están disponibles en Estudio de Azure Machine Learning para su análisis.

Pasos siguientes