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:
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
- Aprenda a generar el panel de IA responsable mediante la CLI v2 y el SDK v2 o la UI de Estudio de Azure Machine Learning.
- Explore las visualizaciones de interpretabilidad compatibles del panel de IA responsable.
- Obtenga información sobre cómo generar un cuadro de mandos de IA responsable en función de la información observada en el panel de IA responsable.
- Aprenda cómo habilitar la interpretabilidad para los modelos de aprendizaje automático automatizado (SDK v1).