¿Cómo funciona una red neuronal deconvolucional?

Me referiré al artículo y la figura mencionados en los detalles de la pregunta (para referencia futura, Figura 1 en “Visualización y comprensión de redes convolucionales” de Matthew D. Zeiler y Rob Fergus en arXiv). Así es como se puede usar la red deconvolucional (deconv net) para visualizar la información aprendida por una red de conv:

  1. Decide qué activación de filtro quieres visualizar. Por ejemplo, este podría ser el decimoquinto filtro en la capa conv4_3 de una red de entrenamiento VGG entrenada. Este método le mostrará los patrones en el espacio de la imagen que causan esta activación. Por lo tanto, debe elegir un filtro con activaciones de alta magnitud. Esto se debe a que muchos patrones de imagen pueden causar una activación cercana a cero, pero (con suerte) solo algunos causarán una activación de gran magnitud. Por lo tanto, tiene más sentido visualizar una activación de gran magnitud. Los autores también hacen esto para generar la Figura 2. Para cada activación elegida al azar, encuentran las 9 imágenes en el conjunto de datos de validación que dan el valor más alto para esa activación.
  2. Pase la imagen hacia adelante a través de la red de conv, hasta e incluyendo la capa donde está la activación elegida.
  3. Ponga a cero todas las activaciones de filtro (canales) en la última capa, excepto la que desea visualizar.
  4. Ahora regrese al espacio de la imagen, pero a través de la red deconv. Para esto, los autores proponen operaciones “inversas” de las tres operaciones comunes vistas en redes.
    1. Desagrupación (consulte también la parte inferior de la Figura 1): la agrupación máxima no puede invertirse exactamente. Por lo tanto, los autores proponen recordar la posición de la activación máxima de la capa inferior en ‘cambiar variables’. Mientras retrocede, la activación desde la capa superior se copia en la posición señalada por la variable del interruptor, y todas las demás activaciones de la capa inferior se establecen en cero. Tenga en cuenta que diferentes imágenes producirán diferentes patrones de activaciones, por lo que los valores de las variables de cambio cambiarán de acuerdo con la imagen.
    2. ReLU: La inversa de la función ReLU es la función ReLU. Suena un poco extraño, pero el argumento de los autores es que, dado que la convolución se aplica a las activaciones rectificadas en el pase hacia adelante, la deconvolución también se debe aplicar a las reconstrucciones rectificadas en el pase hacia atrás.
    3. Deconvolución: Esto utiliza los mismos filtros que son la capa conv correspondiente; La única diferencia es que se voltean horizontal y verticalmente.
  5. Siga estos tres pasos hasta llegar a la capa de imagen. El patrón que emerge en la capa de imagen es el patrón discriminatorio al que la activación seleccionada es sensible. Estos son los parches grisáceos que se muestran en la Figura 2 en el documento.
  6. Los parches de imagen del mundo real que se muestran en la Figura 2, además de los parches grisáceos, son solo recortes de la imagen de entrada, creados por el campo receptivo de la activación elegida.

Gracias por la pregunta, ha sido divertido leer el periódico. ¡Tengo algunas ideas que podrían ser útiles en mi propia investigación!

La figura en el documento explica mucho y luego recomendaría volver y visitar el trabajo anterior de los autores.

Este video lo explica: