IA explicable - Visualización de características



inserte la descripción de la imagen aquí

1. Visualización de respuestas de activación máxima

Para las redes neuronales convolucionales, que son comunes en el reconocimiento de imágenes, la unidad básica de cada capa de estructura de red se compone de núcleos de convolución. Actualmente, la mayor parte del trabajo de visualización de características consiste en visualizar estos núcleos de convolución.Cuando el contenido de la imagen de entrada es diferente, el mapa de activación de funciones generado por cada núcleo de convolución también es diferente. La fuerza de activación, las características de activación y los campos receptivos de los diferentes núcleos de convolución también son diferentes.

Se muestra en la literatura [2, 3] que,De superficial a profundo en la red, la selectividad de los núcleos de convolución de diferentes capas al contenido local de la imagen es diferente, y cada núcleo de convolución se puede analizar como un detector semántico

El principio del método de visualización de la respuesta de activación máxima (Visualización de las Regiones de Activación Máxima) es: basado en el núcleo de convolución para generar diferentes activaciones para diferentes imágenes de entrada, ordenar las imágenes del lote de entrada según su intensidad de activación de mayor a menor, para encontrar la muestra de imagen de activación máxima correspondiente a este núcleo de convolución. para que podamosVisualice las funciones aprendidas por cada kernel de convolución en la red neuronal

Se observa que a medida que aumenta el número de capas de red, la semántica correspondiente a los núcleos de convolución se vuelve cada vez más específica. Por ejemplo, los núcleos de convolución de bajo nivel se utilizan principalmente para detectar conceptos como textura, borde y color, mientras que los núcleos de convolución de alto nivel ya pueden detectar conceptos de objetos específicos, como lámparas de mesa y techos triangulares.
En [3] se demostró que varios detectores de objetos emergen espontáneamente dentro de la representación de la red neuronal convolucional responsable del reconocimiento de la escena. Además, podemos obtener la etiqueta semántica de cada núcleo de convolución marcando manualmente estas imágenes visuales.


Métodos específicos :

  1. Prepare un conjunto de datos con varios miles de imágenes. Las imágenes de este conjunto de datos deben ser similares a las imágenes del conjunto de entrenamiento de la red. Puede usar las imágenes del conjunto de verificación o del conjunto de prueba, pero las imágenes del conjunto de entrenamiento no deben incluirse.
  2. Envíe todas las imágenes a la red neuronal convolucional por lotes y registre el mapa de respuesta de activación del kernel de convolución correspondiente. Tome el valor de activación máximo en el gráfico de activación-respuesta como el valor de activación máximo para esta imagen.
  3. Ordene los valores máximos de activación de todas las imágenes correspondientes a los núcleos de convolución de mayor a menor, y seleccione las primeras imágenes con los valores de respuesta de activación más grandes. Estas imágenes representan las muestras de imágenes de entrada que hacen que el núcleo de convolución produzca la respuesta más grande.
  4. Para visualizar mejor el área de respuesta máxima específica en la imagen, el mapa de respuesta de activación se puede muestrear al tamaño de la imagen. (Para que podamos saber qué características en la imagen ha aprendido el kernel de convolución, como textura, borde, color, etc.)

Como se muestra en la figura, los resultados de visualización de la respuesta de activación máxima corresponden a los cuatro núcleos de convolución de la capa Conv5 de la red AlexNet entrenados en la base de datos de clasificación de escenas de Places, y las cinco imágenes de activación máxima correspondientes a cada entrada del núcleo de convolución.
inserte la descripción de la imagen aquí



2. Anatomía de la red y análisis semántico de características.

Aunque el método de visualización de la respuesta de activación máxima es simple, tiene el defecto de que no puede calibrar automáticamente el concepto semántico correspondiente a cada kernel de convolución y no puede cuantificar la precisión de detección de este concepto. Para cuantificar aún más las características del campo receptivo semántico y la interpretabilidad del kernel de convolución, la literatura [4] propuso "Disección de red" método.

Similar al método de visualización de respuesta de activación máxima, el método de anatomía de red alimenta cada imagen en el conjunto de prueba de Broden como entrada a la red neuronal convolucional y luego registra el mapa de respuesta de activación correspondiente a cada núcleo de convolución. Dado que cada imagen de entrada es un concepto semántico con calibración de píxeles, podemos calcular la precisión de cada segmentación semántica utilizando el kernel de convolución. Usamos el valor Intersection over Union (IoU) para medir la precisión, que puede calcular el grado de coincidencia del área de la imagen segmentada y el área de la imagen calibrada. A través de la semántica de clasificación de IoU, se puede obtener el concepto semántico más preciso correspondiente al kernel de convolución. Cabe señalar que no todos los núcleos de convolución tienen una semántica precisa. Este método asume que solo los núcleos de convolución con un IoU máximo superior a 0,04 tienen interpretabilidad semántica.

Cada imagen en el conjunto de prueba de Broden tiene anotaciones precisas a nivel de píxel, incluido un total de aproximadamente 1300 conceptos semánticos, que van desde colores y texturas hasta objetos y escenas.

El método de anatomía de red se aplica además al análisis de interpretabilidad semántica jerárquica y experimentos cuantitativos que comparan la interpretabilidad de diferentes redes.




3. Visualización de reconstrucción de entrada basada en retropropagación

Un enfoque basado en la retropropagación para la visualización de la reconstrucción de entradaenfoque basado en la optimización, dado un determinado objetivo de optimización, como optimizar y aumentar la intensidad de activación de una determinada capa de kernel de convolución o el valor de salida previsto de la última capa de clasificación, y luego actualizar iterativamente la imagen de entrada a través de la propagación hacia atrás para lograr el objetivo de optimización.

El método de visualización de reconstrucción de entrada puede generar aproximadamente el concepto semántico correspondiente al kernel de convolución, lo cual es conveniente para nosotros para analizar el conocimiento aprendido dentro de la red. Además, este método también se usa en escenarios como la edición de imágenes: cuando la entrada no es una imagen de ruido aleatorio, sino una imagen específica, la optimización de la imagen a través de la propagación hacia atrás puede cambiar el contenido semántico local de la imagen.

Consulte el artículo de referencia [5] para obtener más detalles.



4. CAM/Grad-CAM

4.1 LEVA

Método de asignación de activación de clase (CAM) [6] ^{[6]}[ 6 ] es un
método de atribución común para la clasificación de imágenes. Este método puede resaltar la región de la imagen de entrada que es más relevante para el resultado de la predicción, lo cual es conveniente para que las personas atribuyan el resultado de la predicción.

Según el artículo, la CAM es sóloSuma ponderada lineal de patrones visuales en diferentes ubicaciones en una imagen, simplemente aumentando el muestreo del mapa de activación de clase al tamaño de la imagen de entrada, podemos identificar las regiones de la imagen más asociadas con una clase en particular.

Por ejemplo, para la siguiente red CNN para tareas de clasificación, la más a la izquierda es la entrada, y hay muchas capas convolucionales en el medio. Después de la última capa convolucional, se conecta una capa de agrupación promedio global (Global Average Pooling, GAP). GAP promedia las imágenes bidimensionales de cada canal para que cada canal corresponda a un valor medio, y luego ingresa el valor medio correspondiente a cada canal a la capa completamente conectada de softmax para obtener la salida.
inserte la descripción de la imagen aquí

¿Cómo se aplica GAP a CAM?

Continúe observando el ejemplo anterior: suponga que la salida del mapa de características de la última capa convolucional tiene 5 canales, luego, después de GAP, se convierte en 5 × 1 5 \times 15×1 vector, y cada elemento corresponde a un canal, suponiendo que el número de categorías que queremos clasificar es 2, entonces necesitamos2 × 5 2 \times 52×matriz de 5 pesos W.

(El término de sesgo b se establece en cero aquí ya que tiene poco efecto en el rendimiento de la clasificación).

o 1 = w 11 x 1 + w 12 x 2 + w 13 x 3 + w 14 x 4 + w 15 x 5 o_1 = w_{11}x_1 + w_{12}x_2 + w_{13}x_3 + w_{14}x_4 + w_{15}x_5o1=w11X1+w12X2+w13X3+w14X4+w15X5

o 2 = w 21 x 1 + w 22 x 2 + w 23 x 3 + w 24 x 4 + w 25 x 5 o_2 = w_{21}x_1 + w_{22}x_2 + w_{23}x_3 + w_{24}x_4 + w_{25}x_5o2=w21X1+w22X2+w23X3+w24X4+w25X5


Salida y ^ = softmax ( o ) \widehat{\pmb{y}} = softmax(\pmb{o})yy =entonces f t máx ( _oo ) , dondey ^ i = exp ( oi ) ∑ kexp ( ok ) \widehat{y}_i = \frac{exp(o_i)}{\sum_k exp(o_k)}y yo=ke x p ( ok)e x p ( oyo)

Suponiendo que la probabilidad correspondiente a la categoría 2 es la mayor, entonces en o 2 o_2o2Cuanto mayor sea el peso en esta fila, mayor será la contribución/importancia de la media de este canal al resultado. Y este valor medio proviene del canal correspondiente del mapa de características, por lo que podemos conocer la contribución de los diferentes canales del mapa de características al resultado de la predicción.

Así que usamos el peso correspondiente para multiplicar la capa correspondiente en el mapa de características, es decir, w 1 × capa 1 + w 2 × capa 2 + . . . + wn × capa n = CAM w_1\times capa 1 + w_2\times capa 2 + ... + w_n\times capa n = CAMw1×Capa 1+w2×Capa 2+...+wn×capa f=CAM _ _

Entonces, CAM es una suma ponderada lineal de patrones visuales en diferentes lugares de la imagen.

En términos generales, el tamaño del mapa de características y la imagen de entrada no son iguales, por lo que debemos aumentar la muestra del mapa de activación de clase al tamaño de la imagen original y luego superponerlo en la imagen original, y luego podemos observar qué área de la imagen está generando la red.


4.2 Graduado-CAM

Documento: Grad-cam: explicaciones visuales de redes profundas a través de la localización basada en gradiente
Código de referencia: https://github.com/jacobgil/pytorch-grad-cam

Graduado-CAM [ 7 ] ^{[7]}[ 7 ] El nombre completo es Gradient-weighted Class Activation Mapping. Grad-CAM es similar a CAM. Puede ayudarnos a analizar el área de atención de la red para una determinada categoría. Podemos analizar si la red ha aprendido las características o la información correcta a través del área de atención de la red.

En comparación con el CAM de trabajo anterior, Grad-CAM puede visualizar la CNN de cualquier estructura sin modificar la estructura de la red o volver a entrenar.

Grad-CAM utiliza la información de gradiente que fluye hacia la última capa convolucional de una CNN para asignar valores de importancia a cada neurona para decisiones de atención específicas.

Razones para usar la información de gradiente que fluye hacia la última capa convolucional de la CNN:

Vea la tarea en la figura a continuación.Primero Image Classification, la red realiza una propagación hacia adelante para obtener la capa de características AAA (generalmente se refiere a la salida de la última capa convolucional) y valor de predicción de redyyy (aquí se refiere al valor antes de la activación de softmax).

inserte la descripción de la imagen aquí
Supongamos que queremos ver el área de interés de la red para tiger catesta categoría, asumiendo que tiger catel valor predicho de la red para la categoría es ycy^cyc , seguido deycy^cyc lleva a cabo la retropropagación y obtiene la capa de características de retropropagaciónAAInformación de gradiente de A A'A'A , obtenido por cálculo para la capa de característicasAAA la importancia de cada canal. Luego haga la suma ponderada a través deR e LU ReLUR e LU es suficiente, y el resultado final es Grad-CAM.

ReLU : f ( x ) = max ( 0 , x ) f(x) = max(0,x)f ( x )=máx ( 0 , _x )

El resumen de Grad-CAM es esta fórmula:LG rad − CAM c = R e LU ( ∑ k α kc A k ) L^c_{Grad-CAM} = ReLU(\sum\limits_k \alpha^c_k A^k)Lgramo un re - do un metro _do=R e LU (kakdoAk )

en:

  • Automóvil club británicoA representa una cierta capa de características, que generalmente se refiere a la salida de la capa de características por la última capa convolucional en el papel
  • kk representa la capa de característicasAAkthen Ak canales
  • CCc representa la categoríaccC
  • A k A ^ kAk representa la capa de característicasAAkthen Ak canales de datos
  • α kc \alpha^c_kakdosignifica A k A ^ kApeso de k

Peso α kc \alpha^c_kakdoLa fórmula de cálculo es:α kc = 1 Z ∑ i ∑ j ∂ yc ∂ A ijk \alpha^c_k = \frac{1}{Z}\sum\limits_i\sum\limits_j\frac{\parcial y^c}{\parcial A^k_{ij}}akdo=Z1ijunyokañosdo

en:

  • ycy^cyc representa la red para la categoríaccPuntuación predicha de C (tenga en cuenta que aquí no hay activación de softmax)
  • A ijk A^k_{ij}AyokRepresenta la capa de entidades AAA está en el canalkkLas coordenadas en k soni , ji,jyo ,datos en la posición j
  • ZZZ es igual al ancho de la capa de características× \times× altura

¿Cómo usar la retropropagación para encontrar el gradiente?

El siguiente ejemplo construye una red neuronal muy simple: una capa convolucional + una capa completamente conectada.

inserte la descripción de la imagen aquí
producción:

y 1 = ffc ( fconv 2 d ( X , W 1 ) , W 2 1 ) y_1 = f_{f_c}(f_{conv2d}(X, W_1), W^1_2)y1=FFdo( fcon n v 2 de( X ,W1) ,W21)

y 2 = ffc ( fconv 2 d ( X , W 1 ) , W 2 2 ) y_2 = f_{f_c}(f_{conv2d}(X, W_1), W^2_2)y2=FFdo( fcon n v 2 de( X ,W1) ,W22)


Sea la salida de la capa convolucionalO = ( O 11 , O 12 , O 13 , O 14 ) TO = (O_{11}, O_{12}, O_{13}, O_{14})^TO=( O11,O12,O13,O14)T (aquí la matriz se expande en forma vectorial)


entoncesy 1 = ffc ( O , W 2 1 ) = O 11 ⋅ W 2 11 + O 12 ⋅ W 2 12 + O 21 ⋅ W 2 13 + O 22 ⋅ W 2 14 y_1 = f_{f_c}(O, W^1_2) = O_{11} \ cdot W^{11} _2 + O_{12} \cdot W^{12}_2 + O_{21} \cdot W^{13}_2 + O_{22} \cdot W^{14}_2y1=FFdo( Oh ,W21)=O11W211+O12W212+O21W213+O22W214


luego OOO para derivadas parciales:
inserte la descripción de la imagen aquí








Referencia :

[1] 可解释人工智能导论
[2] Zeiler MD, Fergus R. Visualización y comprensión de redes convolucionales[C]//Conferencia europea sobre visión artificial. Springer, Cham, 2014: 818-833.
[3] Zhou B, Khosla A, Lapedriza A, et al. Los detectores de objetos emergen en los cnns de la escena profunda[J]. preimpresión de arXiv arXiv:1412.6856, 2014.
[4] Bau D, Zhou B, Khosla A, et al. Disección de red: Cuantificación de la interpretabilidad de representaciones visuales profundas [C] // Actas de la conferencia IEEE sobre visión por computadora y reconocimiento de patrones. 2017: 6541-6549.
[5] Olah C, Mordvintsev A, Schubert L. Visualización de características [J]. Destilar, 2017, 2(11): e7.
[6] Zhou B, Khosla A, Lapedriza A, et al. Aprendizaje de características profundas para la localización discriminatoria[C]//Actas de la conferencia IEEE sobre visión artificial y reconocimiento de patrones. 2016: 2921-2929.
[7] Selvaraju RR, Cogswell M, Das A, et al. Grad-cam: explicaciones visuales de redes profundas a través de la localización basada en gradientes [C] // Actas de la conferencia internacional IEEE sobre visión por computadora. 2017: 618-626.

Supongo que te gusta

Origin blog.csdn.net/qq_42757191/article/details/126520372
Recomendado
Clasificación