Introducción a Explicaciones de IA para AI Platform

Explicaciones de IA integra atribuciones de atributos en AI Platform Prediction. En esta página, se ofrece una breve descripción general conceptual de los métodos de atribución de atributos disponibles con AI Platform Prediction. Para obtener un análisis técnico detallado, consulta nuestro Informe sobre Explicaciones de IA.

Explicaciones de IA te ayuda a comprender los resultados del modelo para las tareas de regresión y clasificación. Cada vez que solicites una predicción en AI Platform, Explicaciones de IA te indicará en qué medida contribuyó cada atributo de los datos al resultado previsto. Luego, puedes usar esta información para verificar que el modelo se comporte según lo previsto, reconocer sesgos en los modelos y obtener ideas a fin de mejorar el modelo y los datos de entrenamiento.

Atribuciones de atributos

Las atribuciones de atributos indican cuánto contribuyó cada atributo del modelo a las predicciones para cada instancia determinada. Cuando solicitas predicciones, obtienes valores previstos según corresponda para el modelo. Cuando solicitas explicaciones, obtienes las predicciones junto con la información de atribución de atributos.

Las atribuciones de atributos funcionan en datos tabulares y, también, incluyen funciones de visualización integradas para los datos de imagen. Considera los siguientes ejemplos:

  • Una red neuronal profunda está entrenada para predecir la duración de un viaje en bicicleta, según los datos del clima y los datos compartidos de viajes anteriores. Si solo solicitas predicciones de este modelo, obtendrás predicciones de la duración de los viajes en bicicleta en minutos. Si solicitas explicaciones, obtendrás la duración prevista del viaje en bicicleta, y una puntuación de atribución relativa a cada atributo de la solicitud de explicaciones. Las puntuaciones de atribución muestran cuánto influyó el atributo en el cambio del valor de la predicción, en relación con el valor del modelo de referencia que especificaste. Elige un modelo de referencia que sea relevante para el modelo (en este caso, la duración media del viaje en bicicleta). Puedes trazar la puntuación de atribución de atributos para ver cuáles son los atributos que más contribuyeron a la predicción resultante:

    Un gráfico de atribución de atributos para la duración prevista de un viaje en bicicleta

  • Un modelo de clasificación de imágenes está entrenado para predecir si una imagen determinada contiene un perro o un gato. Si solicitas predicciones de este modelo en un conjunto de imágenes nuevo, recibirás una predicción para cada imagen (“perro” o “gato”). Si solicitas explicaciones, obtendrás la clase prevista y una superposición de la imagen, que muestra qué píxeles contribuyeron más a la predicción resultante:

    Una foto de un gato con superposición de atribución de atributos
    Una foto de un gato con superposición de atribución de atributos
    Una foto de un perro con superposición de atribución de atributos
    Una foto de un perro con superposición de atribución de atributos
  • Un modelo de clasificación de imágenes está entrenado para predecir la especie de una flor en una imagen. Si solicitas predicciones de este modelo en un conjunto de imágenes nuevo, recibirás una predicción para cada imagen (“margarita” o “diente de león”). Si solicitas explicaciones, obtendrás la clase prevista y una superposición de la imagen, que muestra qué áreas de la imagen contribuyeron más a la predicción resultante:

    Una foto de una margarita con superposición de atribución de atributos
    Una foto de una margarita con superposición de atribución de atributos

Ventajas y casos prácticos

Si inspeccionas instancias específicas y agregas atribuciones de atributos en el conjunto de datos de entrenamiento, puedes obtener estadísticas más detalladas sobre cómo funciona el modelo. Considera las siguientes ventajas y casos prácticos:

  • Depuración de modelos: Las atribuciones de atributos pueden ayudar a detectar problemas en los datos que las técnicas de evaluación de modelos estándar suelen pasar por alto. Por ejemplo, un modelo de patología de imágenes logró resultados sospechosamente buenos en un conjunto de datos de prueba de imágenes de rayos X de tórax. Las atribuciones de atributos revelaron que la exactitud alta del modelo dependía de las marcas del bolígrafo del radiólogo en la imagen.
  • Optimización de modelos: Puedes identificar y quitar atributos que sean menos importantes, lo que puede generar modelos más eficaces.

Limitaciones conceptuales

Ten en cuenta las siguientes limitaciones de las atribuciones de atributos:

  • Las atribuciones son específicas para las predicciones individuales. Si inspeccionas una atribución para una predicción individual, puedes obtener una buena estadística, pero puede que esta no se aplique a toda la clase de esa instancia individual ni a todo el modelo. Para obtener estadísticas más generalizables, puedes agregar atribuciones sobre subconjuntos en el conjunto de datos o en todo el conjunto de datos.
  • Aunque las atribuciones de atributos pueden ayudar con la depuración de modelos, no siempre indican con claridad si un problema surge del modelo o de los datos con los que este se entrena. Usa tu mejor criterio y diagnostica problemas de datos comunes para reducir el rango de causas posibles.
  • Las atribuciones de atributos están sujetas a ataques adversarios similares a los que experimentan las predicciones en los modelos complejos.

Para obtener más información sobre las limitaciones, consulta la lista de limitaciones de alto nivel y el Informe sobre Explicaciones de IA.

Compara métodos de atribución de atributos

Explicaciones de IA ofrece tres métodos para las atribuciones de atributos: Shapley con muestreo, gradientes integradosXRAI.

Método Explicación básica Tipos de modelos recomendados Casos prácticos de ejemplo
Gradientes integrados Un método basado en gradientes para procesar de modo eficaz las atribuciones de atributos con las mismas propiedades axiomáticas que el valor de Shapley. Modelos diferenciables, como redes neuronales. Se recomiendan sobre todo para modelos con espacios de atributos grandes.
También se recomiendan para las imágenes de bajo contraste, como rayos X.
  • Clasificación y regresión en datos tabulares
  • Clasificación en datos de imágenes
XRAI (eXplanation with Ranked Area Integrals) (explicación con integrales de área clasificadas) Según el método de gradientes integrados, XRAI evalúa las regiones superpuestas de la imagen para crear un mapa de prominencia, en el que se destacan las regiones relevantes de la imagen en lugar de los píxeles. Modelos que aceptan entradas de imagen. Se recomiendan sobre todo para imágenes naturales, que son escenas reales que contienen varios objetos.
  • Clasificación en datos de imágenes
Shapley con muestreo Asigna crédito por el resultado de los atributos y considera las diversas permutaciones de estos. Este método proporciona una aproximación de muestreo de los valores exactos de Shapley. Modelos no diferenciables, como ensambles de árboles y redes neuronales1
  • Clasificación y regresión en datos tabulares

Conceptos básicos sobre los métodos de atribución de atributos

Los métodos de atribución de atributos se basan en valores de Shapley, un algoritmo cooperativo de teoría de juegos que asigna crédito a cada jugador para obtener un resultado en particular. Cuando se aplica a los modelos de aprendizaje automático, cada atributo del modelo se considera un “jugador” del juego, y Explicaciones de IA asigna créditos proporcionales a cada atributo por el resultado de una predicción específica.

Explicaciones de IA te permite “elegir” los jugadores, por así decirlo, mediante la selección de los atributos exactos de la solicitud de explicaciones.

Método de Shapley con muestreo

El método de Shapley con muestreo proporciona una aproximación de muestreo de los valores exactos de Shapley.

Método de gradientes integrados

En el método de gradientes integrados, el gradiente del resultado de la predicción se calcula en función de los atributos de la entrada, a lo largo de una ruta integral.

  1. Los gradientes se calculan en diferentes intervalos de un parámetro de escalamiento. (Para los datos de imágenes, piensa en este parámetro de escalamiento como un “control deslizante” que escala todos los píxeles de la imagen a negro).
  2. Los gradientes están “integrados”:
    1. Los gradientes se promedian.
    2. Se calcula el producto en términos de elementos de los gradientes promediados y la entrada original.

Para obtener una explicación intuitiva de este proceso aplicado a las imágenes, consulta la entrada de blog “Attributing a deep network's prediction to its input features” (Atribuye la predicción de una red profunda a sus atributos de entrada). Los autores del artículo original sobre gradientes integrados (Axiomatic Attribution for Deep Networks) (Atribución axiomática para redes profundas) muestran en la entrada de blog anterior cómo son las imágenes en cada paso del proceso.

Método XRAI

El método XRAI combina el método de gradientes integrados con pasos adicionales para determinar qué regiones de la imagen contribuyen en mayor medida a una predicción de clase determinada.

  1. Atribución a nivel de píxeles: XRAI realiza la atribución a nivel de píxeles para la imagen de entrada. En este paso, XRAI usa el método de gradientes integrados con un modelo de referencia negro y uno blanco.
  2. Sobresegmentación: Más allá de la atribución a nivel de píxeles, XRAI sobresegmenta la imagen para crear un mosaico de regiones pequeñas. XRAI usa el método basado en grafos de Felzenswalb para crear los segmentos de la imagen.
  3. Selección de la región: XRAI agrega la atribución a nivel de píxeles dentro de cada segmento para determinar su densidad de atribución. Mediante estos valores, XRAI clasifica los segmentos y, luego, los ordena del más positivo al menos positivo. Esto determina qué áreas de la imagen se destacan más o contribuyen en mayor medida a una predicción de clase determinada.

Imágenes en las que se muestran los pasos del algoritmo XRAI

Modelos diferenciables y no diferenciables

En los modelos diferenciables, puedes calcular el derivado de todas las operaciones en el grafo de TensorFlow. Esta propiedad permite la propagación inversa en esos modelos. Por ejemplo, las redes neuronales son diferenciables. A fin de obtener atribuciones de atributos para modelos diferenciables, usa el método de gradientes integrados.

Los modelos no diferenciables incluyen operaciones no diferenciables en el grafo de TensorFlow, como las que realizan tareas de decodificación y redondeo. Por ejemplo, un modelo creado como un ensamble de árboles y redes neuronales no es diferenciable. A fin de obtener atribuciones de atributos para modelos no diferenciables, usa el método de Shapley con muestreo. El método de Shapley también funciona en modelos diferenciables, pero en ese caso, tiene un procesamiento más costoso de lo necesario.

Referencias

Las implementaciones del Shapley con muestreo, los gradientes integrados y XRAI se basan en las siguientes referencias, respectivamente:

Consulta el Informe sobre Explicaciones de IA para obtener más información sobre la implementación de Explicaciones de IA.

Recursos educativos

Los siguientes recursos proporcionan material educativo más útil:

¿Qué sigue?