JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

¿Qué es el método Grad-CAM?

Grad-Cam

A lo largo de los últimos años, la explicabilidad ha sido un tema recurrente pero siempre minoritario para el aprendizaje automático. El método Grad-CAM es una solución para responder a este problema.

El interés por este tema ha empezado a crecer recientemente. Una de las razones de esta evolución es que cada vez hay más modelos aprendizaje automático en producción. Por una parte, esto se traduce en un número creciente de usuarios finales que necesitan comprender cómo toman las decisiones los modelos. Por otra parte, cada vez hay más desarrolladores de Machine Learning que necesitan comprender por qué (o por qué no) funciona un modelo de una manera concreta.

Las redes neuronales convolucionales han resultado ser muy eficaces en tareas como la clasificación de imágenes, el reconocimiento facial y el análisis de documentos. Pero con el aumento de la eficacia y de la complejidad, constatamos un

descenso progresivo de la interpretabilidad de esos algoritmos. Una solución a problemas como el reconocimiento facial implica

cientos de capas y miles de parámetros que hay que entrenar, lo que dificulta la lectura, la depuración y la confianza en el modelo. Las CNN aparecen como cajas negras que cogen entradas y ofrecen salidas con gran precisión sin dar ninguna intuición sobre el funcionamiento. 

Como Data Scientists, somos responsables de

garantizar que el modelo funcione correctamente. Supongamos que nos confían la tarea de clasificar diferentes pájaros. El conjunto de datos contiene imágenes de diferentes pájaros y de las plantas/árboles del fondo. Si la red mira las plantas y los árboles en lugar del pájaro, hay muchas probabilidades de que clasifique mal la imagen y de que se pierda todas las características del pájaro.

¿Cómo saber si nuestro modelo está mirando el objeto correcto? En este artículo, veremos un enfoque para identificar si la CNN trabaja correctamente con las características que son importantes para la clasificación o el reconocimiento.

El método Grad-CAM

Una manera de asegurarse es visualizar lo que están mirando realmente las CNN, utilizando el método del Grad-CAM.

El mapa de activación de clase ponderada por el gradiente (Grad-CAM) produce un mapa de calor que destaca las regiones importantes de una imagen utilizando los gradientes del objetivo (perro, gato) de la capa convolucional final. 

El método Grad-CAM es una técnica popular de visualización que es útil para comprender cómo se ha conducido a una red neuronal convolucional a tomar una decisión de clasificación. Es específica para cada clase, lo que significa que puede producir una visualización diferente para cada clase presente en la imagen.

En caso de error de clasificación, este método puede resultar muy útil para comprender dónde se encuentra el problema en la red convolucional. Esto también permite ser más transparente sobre el algoritmo.

¿Cómo funciona?

Grad-CAM consiste en buscar qué partes de la imagen han llevado a una red neuronal convolucional a su decisión final. Este método consiste en producir mapas de calor que representan las clases de activación sobre las imágenes recibidas de entrada. Una clase de activación se asocia a una clase de salida específica.

Estas clases van a permitir indicar la importancia de cada píxel respecto a la clase cuestión aumentando o disminuyendo la intensidad del píxel.

Por ejemplo, si una imagen se utiliza en una red convolucional de perros y de gatos, la visualización de Grad-CAM permite generar un heatmap (mapa de calor) para la clase “gato”, indicando en qué medida corresponden las diferentes partes de la imagen a un gato, y también un mapa de calor para la clase “perro” que indique en qué medida corresponden las partes de la imagen a un perro.

Por ejemplo, consideremos una CNN de perros y de gatos. El método Grad-CAM va a permitir generar un heatmap (mapa de calor) para la clase de objetos gatos para indicar en qué medida cada una de las partes de una imagen corresponde a un gato y también un heatmap para la clase de objeto perro procediendo de la misma manera.

El mapa de activación de clase atribuye una
importancia a cada posición (x, y) en la última capa convolucional calculando la combinación lineal de las activaciones, ponderadas por los pesos de salida correspondientes para la clase observada (terrier australiano, en el ejemplo de abajo). La cartografía de activación de clase resultante después se vuelve a muestrear según el tamaño de la imagen de entrada. Esto se ilustra con el mapa térmico (un heatmap) de abajo.

Carte Thermique
Source : https://arxiv.org/abs/1512.04150

Retomemos ahora el ejemplo de la clasificación de perros y gatos. El método Grad-CAM va a permitir hacer que las zonas utilizadas para la clasificación de cada uno de los objetos de nuestra imagen sea térmico y esto producirá el siguiente resultado :

Résultat de la méthode Grad-CAM
Source : https://glassboxmedicine.com/2020/05/29/grad-cam-visual-explanations-from-deep-networks/

En este artículo, hemos visto una nueva técnica para interpretar las redes neuronales convolucionales que son una arquitectura puntera, en particular para las tareas vinculadas con la imagen. La investigación en el campo del aprendizaje automático interpretable progresa a un ritmo acelerado y resulta muy importante para ganarse la confianza de los usuarios y contribuir a la mejora de los modelos.

¿Te ha gustado este artículo? Si estás convencido de la importancia del Machine Learning en la actualidad y de la eficacia de nuestra formación Bootcamp.

¿No está disponible?

Déjenos su dirección de correo electrónico para que podamos enviarle los nuevos artículos cuando se publiquen.