Contenido principal

Métodos de visualización de deep learning

Las redes de deep learning a menudo se describen como "cajas negras" porque no siempre es evidente la razón por la que una red toma una decisión concreta. Las redes de deep learning se usan cada vez más en dominios que van desde el tratamiento médico hasta las solicitudes de préstamos, por lo que comprender por qué una red toma una decisión concreta es crucial.

Puede utilizar técnicas de interpretabilidad para traducir el comportamiento de la red en una salida que una persona pueda interpretar. Esta salida interpretable puede responder preguntas sobre las predicciones de una red. Las técnicas de interpretabilidad tienen muchas aplicaciones, como la verificación, la depuración, el aprendizaje, evaluación del sesgo y selección de modelos.

Puede aplicar técnicas de interpretabilidad después de entrenar la red o integrarlas en la red al crearla. La ventaja de los métodos posteriores al entrenamiento es que no es necesario invertir tiempo en crear una red de deep learning interpretable. Este tema se centra en métodos posteriores al entrenamiento que usan imágenes de prueba para explicar las predicciones de una red entrenada con datos de imágenes.

Los métodos de visualización son un tipo de técnica de interpretabilidad que explican predicciones de red usando representaciones visuales de lo que está observando una red. Existen muchas técnicas para visualizar el comportamiento de una red, como los mapas de calor, los mapas de prominencia, los mapas de importancia de características y las proyecciones con número de dimensiones reducido.

Workflow for taking a trained network and a set of test images and producing interpretable output

Métodos de visualización

Las técnicas de interpretabilidad tienen distintas características; el método que utilice dependerá de la interpretación que desee y de la red que haya entrenado. Los métodos pueden ser locales y solo investigar el comportamiento de red para una entrada específica o globales e investigar el comportamiento de red en todo el conjunto de datos.

Cada método de visualización tiene un enfoque específico que determina la salida que genera. Una distinción habitual entre métodos es si se basan en gradientes o en perturbaciones. Los métodos basados en gradientes retropropagan la señal desde la salida hacia la entrada. Los métodos basados en perturbaciones perturban la entrada a la red y tienen en cuenta el efecto de la perturbación en la predicción. Otro enfoque sobre la técnica de interpretabilidad implica la aplicación o aproximación del modelo de red complejo a un espacio más interpretable. Por ejemplo, algunos métodos aproximan las predicciones de red usando un modelo más sencillo y más interpretable. Otros métodos usan técnicas de reducción de dimensiones para reducir activaciones con dimensiones elevadas hasta un espacio 2D o 3D interpretable.

La siguiente tabla compara técnicas de interpretabilidad de visualizaciones para modelos de deep learning para la clasificación de imágenes. Para ver un ejemplo que muestra cómo utilizar métodos de visualización para investigar las predicciones de una red de clasificación de imágenes, consulte Explore Network Predictions Using Deep Learning Visualization Techniques.

Métodos de visualización de deep learning para la clasificación de imágenes

MétodoVisualización de ejemplo FunciónÁreaEnfoqueResoluciónRequiere ajusteDescripción
Activaciones

Example visualization of activations on an image of a dog. The eyes and nose of the dog appear white and the rest of the image is black.

activations

LocalVisualización de activacionesBajaNo

Visualizar activaciones es una manera sencilla de comprender el comportamiento de una red. La mayoría de redes neuronales convolucionales aprenden a detectar características como el color y los bordes en sus primeras capas convolucionales. En capas convolucionales más profundas, la red aprende a detectar características más complicadas.

Para obtener más información, consulte Visualize Activations of a Convolutional Neural Network.

CAM

Example visualization of CAM heat map on an image of a dog. The map highlights the head of the dog.

No

LocalMapa de calor de activación de clases basado en gradientesBajaNo

La aplicación de la activación de clase (CAM) es una técnica sencilla para generar explicaciones visuales de las predicciones de redes neuronales convolucionales [1]. CAM usa la capa de agrupación promedio global en una red neuronal convolucional para generar un mapa que destaque las partes de una imagen que esté usando la red con respecto a una etiqueta de clase concreta.

Para obtener más información, consulte Investigate Network Predictions Using Class Activation Mapping.

Grad-CAM

Example visualization of Grad-CAM heat map on an image of a dog. The map highlights the ear of the dog.

gradCAM

LocalMapa de calor de activación de clases basado en gradientesBajaNo

La aplicación de la activación de clase ponderada por gradiente (Grad-CAM) es una generalización del método CAM que utiliza el gradiente de la puntuación de clasificación con respecto a las características convolucionales determinadas por la red para entender qué partes de una observación son más importantes para la clasificación [2]. Los lugares donde el gradiente es grande son los lugares en los que la puntuación final depende más de los datos.

Grad-CAM ofrece resultados similares a los de CAM sin las restricciones de arquitectura de CAM.

Para obtener más información, consulte Grad-CAM revela cómo se realiza la toma de decisiones en deep learning y Explore Semantic Segmentation Network Using Grad-CAM.

Sensibilidad de oclusión

Example visualization of occlusion sensitivity heat map on an image of a dog. The map highlights the ear and body of the dog.

occlusionSensitivity

LocalMapa de calor basado en perturbacionesBaja a media

La sensibilidad de oclusión mide la sensibilidad de la red a pequeñas perturbaciones en los datos de entrada. El método perturba áreas pequeñas de la entrada sustituyéndolas con una máscara de oclusión, normalmente un cuadrado gris. A medida que la máscara se mueve por la imagen, la técnica mide el cambio en la puntuación de probabilidad para una clase dada. Puede utilizar la sensibilidad de oclusión para destacar qué partes de la imagen son más importantes para la clasificación.

Para obtener los mejores resultados de la sensibilidad de oclusión, debe elegir los valores adecuados para las opciones MaskSize y Stride. Este ajuste proporciona más flexibilidad para examinar las características de la entrada a escalas de diferente longitud.

Para obtener más información, consulte Understand Network Predictions Using Occlusion.

LIME

Example visualization of LIME technique on an image of a dog. The image highlights segments of the ear and head of the dog.

imageLIME

LocalModelo proxy basado en perturbaciones, importancia de característicasBaja a alta

La técnica LIME aproxima el comportamiento de clasificación de una red de deep learning usando un modelo más sencillo y más interpretable, como un modelo lineal o un árbol de regresión [3]. El modelo sencillo determina la importancia de las características de los datos de entrada, como un proxy para la importancia de las características de la red de deep learning.

Para obtener más información, consulte Understand Network Predictions Using LIME y Investigate Spectrogram Classifications Using LIME.

Atribución de gradientes

Example visualization of gradient attribution technique on an image of a dog. The image shows highlighted pixels around the eyes and nose of the dog.

No

LocalMapa de prominencia basado en gradientesElevadaNo

Los métodos de atribución de gradientes proporcionan mapas de la resolución de los píxeles que muestran qué píxeles son más importantes para las decisiones de clasificación de la red [4][5]. Estos métodos calculan el gradiente de la puntuación de la clase con respecto a los píxeles de entrada. De forma intuitiva, los mapas muestran qué píxeles afectan más a la puntuación de la clase cuando cambian.

Los métodos de atribución de gradientes producen mapas con el mismo tamaño que la imagen de entrada. Por lo tanto, los mapas de atribución de gradientes tienen una resolución alta, pero tienden a tener mucho más ruido, dado que una red profunda bien entrenada no es muy dependiente del valor exacto de píxeles específicos.

Para obtener más información, consulte Investigate Classification Decisions Using Gradient Attribution Techniques.

Deep Dream

Example visualization of deep dream technique.

deepDreamImage

GlobalMaximización de la activación basada en gradientes Baja a alta

Deep Dream es una técnica de visualización de características que sintetiza imágenes que activan prominentemente las capas de la red [6]. Visualizando estas imágenes, puede destacar las características de las imágenes aprendidas por una red. Estas imágenes son útiles para entender y diagnosticar el comportamiento de la red.

Para obtener más información, consulte Deep Dream Images Using GoogLeNet.

t-SNE

Example visualization of t-SNE technique showing a graph with 12 clusters of points in 10 different colors.

tsne (Statistics and Machine Learning Toolbox)

GlobalReducción de las dimensionesN/ANo

t-SNE es una técnica de reducción de las dimensiones que conserva las distancias de modo que los puntos que están cerca unos de otros en la representación de la dimensión alta también están cerca unos de otros en la representación de la dimensión baja [7]. Puede usar t-SNE para visualizar cómo las redes de deep learning cambian la representación de los datos de entrada a medida que pasan por las capas de la red.

Para obtener más información, consulte View Network Behavior Using tsne.

Imágenes de activación máxima y mínima

Four images of sushi with high scores for class sushi.

No

GlobalMaximización de la activación basada en gradientes N/ANo

Visualizar imágenes que activan prominentemente o levemente la red para cada clase es una forma sencilla de entender la red. Las imágenes que activan prominentemente destacan el aspecto que la red cree que tiene una imagen "típica" de esa clase. Las imágenes que activan levemente pueden ayudar a descubrir por qué la red hace predicciones de clasificación incorrectas.

Para obtener más información, consulte Visualize Image Classifications Using Maximal and Minimal Activating Images.

Para explorar la aplicación de estos modos utilizando de forma interactiva una app, consulte el repositorio de GitHub® Explore Deep Network Explainability Using an App.

Understanding network predictions for image classification (UNPIC) app.

Métodos de interpretabilidad para datos que no sean imágenes

Muchos métodos de interpretabilidad se centran en interpretar la clasificación de imágenes o las redes de regresión. Interpretar datos que no sean imágenes suele resultar más difícil debido a la naturaleza no visual de los datos. Puede usar Grad-CAM para visualizar las decisiones de clasificación de una red convolucional 1D entrenada con datos de series de tiempo. Para obtener más información, consulte Interpret Deep Learning Time-Series Classifications Using Grad-CAM. Para explorar las activaciones de una red LSTM, utilice las funciones activations y tsne (Statistics and Machine Learning Toolbox). Para ver un ejemplo de cómo explorar las predicciones de una red de LSTM, consulte Visualizar activaciones de redes de LSTM. Para explorar el comportamiento de una red entrenada con características de tabla, utilice las funciones lime (Statistics and Machine Learning Toolbox) y shapley (Statistics and Machine Learning Toolbox). Para ver un ejemplo de cómo interpretar una red de entrada de características, consulte Interpret Deep Network Predictions on Tabular Data Using LIME. Para obtener más información sobre la interpretación de modelos de machine learning, consulte Interpret Machine Learning Models (Statistics and Machine Learning Toolbox).

Referencias

[1] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Aude Oliva, and Antonio Torralba. "Learning Deep Features for Discriminative Localization." In 2016 Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition : 2921–2929. Las Vegas: IEEE, 2016.

[2] Selvaraju, Ramprasaath R., Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, and Dhruv Batra. “Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization.” In 2017 Proceedings of the IEEE Conference on Computer Vision: 618–626. Venice, Italy: IEEE, 2017. https://doi.org/10.1109/ICCV.2017.74.

[3] Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. “‘Why Should I Trust You?’: Explaining the Predictions of Any Classifier.” In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2016): 1135–1144. New York, NY: Association for Computing Machinery, 2016. https://doi.org/10.1145/2939672.2939778.

[4] Simonyan, Karen, Andrea Vedaldi, and Andrew Zisserman. “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps.” Preprint, submitted April 19, 2014. https://arxiv.org/abs/1312.6034.

[5] Tomsett, Richard, Dan Harborne, Supriyo Chakraborty, Prudhvi Gurram, and Alun Preece. “Sanity Checks for Saliency Metrics.” Proceedings of the AAAI Conference on Artificial Intelligence, 34, no. 04, (April 2020): 6021–29, https://doi.org/10.1609/aaai.v34i04.6064.

[6] TensorFlow. "DeepDreaming with TensorFlow." https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/deepdream.ipynb.

[7] van der Maaten, Laurens, and Geoffrey Hinton. "Visualizing Data Using t-SNE." Journal of Machine Learning Research, 9 (2008): 2579–2605.

Consulte también

| | | | | | | (Statistics and Machine Learning Toolbox)

Temas

Sitios web externos