【Papel de lectura】Visualización y comprensión de redes convolucionales

1. ¿Cuál es el objetivo principal de este artículo?

En este papel,

  • Los autores introducen una nuevatecnología de visualización, esta técnica de visualización puede revelar los estímulos de entrada que activan los mapas de características individuales en cualquier capa del modelo, lo que nos permite observar la evolución de las características durante el entrenamiento del modelo, que se puede utilizar para comprender mejor la función de las capas de características intermedias y el funcionamiento de los clasificadores. Estas visualizaciones nos permiten encontrar arquitecturas modelo que funcionan mejor en el benchmark de clasificación de ImageNet que Krizhevsky et al.
  • Al mismo tiempo, el autor también llevó a caboEstudio de ablación, para descubrir la contribución de las diferentes capas del modelo al rendimiento.

2. Prácticas específicas

2.1 Modelo

En el artículo se utiliza un modelo estándar de red neuronal convolucional completamente supervisado. El modelo acepta una imagen en color 2D como entrada, pasa a través de una serie de capas y obtiene una representación de que la imagen pertenece a cada categoría CCEl vector de probabilidady ^ \widehat{y} de Cy . Y usa la función de pérdida de entropía cruzada para y ^ i \widehat{y}_iy yosuma yi y_iyyoA modo de comparación, los parámetros se entrenan mediante retropropagación y se actualizan mediante descenso de gradiente estocástico.

inserte la descripción de la imagen aquí

2.2 Visualización con una Deconvnet

Para explicar por qué funcionan las redes neuronales convolucionales, debemos explicar qué ha aprendido cada capa de CNN. Este artículo usa desconvolución (deconvnet) [ 2 ] ^{[2]}El método de [ 2 ] para visualizar las capas intermedias de CNN nos permite observar la evolución de las características durante el entrenamiento del modelo, obteniendo información sobre la función de las capas de características intermedias y el funcionamiento de los clasificadores.

En el artículo Redes deconvolucionales adaptativas para el aprendizaje de características de nivel medio y alto, el autor propone el método deconvnet como un método no supervisado para aprender la representación de imágenes.

Pero en este documento, la deconvnet no se usa para ninguna capacidad de aprendizaje, solo como una sonda para una red neuronal convolucional ya entrenada.

Cómo hacerlo : primero, la imagen de entrada se envía a la red neuronal convolucional y se calculan las características de cada capa. Para examinar una activación de convnet dada, establecemos todas las demás activaciones en esa capa a cero y pasamos el mapa de características como entrada a una capa de deconvnet adicional. Luego secuencialmente (i) desagrupamos, (ii) rectificamos y (iii) filtramos para reconstruir las actividades subyacentes que produjeron las activaciones seleccionadas. Esta operación se repite hasta que se alcanza el espacio de píxeles de entrada.

inserte la descripción de la imagen aquí


(1) Operación antiagrupación de desagrupación (correspondiente a la operación de agrupación de la red convolucional)

Teóricamente, la operación de agrupación máxima en una red convolucional es irreversible, pero podemos hacerla aproximadamente reversible a través del índice de agrupación.

inserte la descripción de la imagen aquí

(2) Operación de corrección de rectificación (correspondiente a la operación ReLU de la red convolucional)

ReLU se utiliza en la red convolucional para garantizar que los valores propios no sean negativos Para garantizar la coherencia de los procesos positivos y negativos, también utilizamos ReLU para obtener valores no negativos para las características reconstruidas de cada capa de la red de deconvolución.

(3) Operación de deconvolución de filtrado (correspondiente a la operación de convolución en la red convolucional)

La operación de convolución es una operación ineficiente, y los principales marcos de trabajo de redes neuronales pasan todosim2col+ multiplicación de matricesRealice convolución, intercambie espacio por eficiencia. Los elementos en cada ventana de convolución en la entrada se enderezan en una sola columna, de modo que la entrada se convierte en una matriz (Columnas) de columnas H_out * W_out, de ahí el nombre de im2col; después de que el kernel de convolución también se extrae en una columna (Kernel), la matriz de entrada se multiplica a la izquierda para obtener el resultado de convolución (Salida). im2col y la multiplicación de matrices se muestran en las siguientes dos figuras:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
la operación de deconvolución mencionada en este artículo es en realidadconvolución transpuesta, el marco de la red neuronal implementa con la ayuda de la convolución transpuestaRetropropagación de gradiente, como se muestra en las dos figuras siguientes. Después de transponer la matriz del kernel de convolución (Weight_T), la salida del gradiente (GradOutput) se multiplica a la izquierda para obtener la matriz de columna de gradiente (GradColumns). Después de que col2im se restaura al tamaño de entrada, se obtiene el gradiente relativo a la entrada (GradInput).
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Código

Referencia: https://github.com/huybery/VisualizingCNN






Referencia : [1] Zeiler, M., Taylor, G., Fergus, R.: Adaptive deconvolutional networks for mid and high level feature learning. En: ICCV (2011) [2] Zeiler MD, Taylor GW, Fergus R. Adaptive deconvolutional networks for mid and high level feature learning[ C]//2011 international conference on computer vision. IEEE, 2011: 2018-2025. [3] Deep learning (27) Comprensión visual de la red neuronal convolucional [4] Red
neuronal convolucional de "comprensión intuitiva" (1): Deconvolución (Deconvnet) [5] El principio y la implementación de im2col [6] Aprendizaje profundo: explicación detallada del principio VGG16 [
7 ] Referencia de implementación de código




Supongo que te gusta

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