¿Cuál es el propósito de visualizar las capas de activación en una arquitectura de red neuronal convolucional?

El propósito de visualizar las activaciones en una CNN son

  1. Para entender la red que estás construyendo. CNN y DCNN tienen la propiedad de que los filtros son representantes más intuitivos, en comparación con las redes completamente conectadas. Visualizarlos te da la oportunidad de echar un vistazo a la caja negra. [1412.6631] Visualización y comparación de redes neuronales convolucionales [1311.2901] Visualización y comprensión de redes convolucionales
  2. Para obtener diagnósticos visuales de la formación de CNN. Un proceso de entrenamiento CNN saludable le mostrará patrones cada vez más claros en las activaciones a medida que avanza el entrenamiento. Es una forma sencilla de saber dónde y cuándo la red está saturada.
  3. Para tener la oportunidad de manipular la red. Una vez que haya aprendido las activaciones de la capa oculta final, sabrá qué filtro es más importante para la clasificación final, de modo que pueda mejorar la red basada en los requisitos de aplicación específicos. [1512.02017] Visualizando redes neuronales convolucionales profundas usando pre-imágenes naturales

Con esta técnica, puede ver si su red realmente está aprendiendo lo que necesita aprender o no.
por ejemplo, al observar los eventos internos de su red y visualizar lo que ha aprendido, puede ver fácilmente que su red necesita más datos o cómo debe presentar los datos que necesita.

mirando la imagen de arriba, puede decir que la red está identificando pesas con un brazo unido simplemente porque solo se le dieron imágenes de pesas que fueron utilizadas por los culturistas, o no había suficientes imágenes de pesas solo, eso La red podría descubrir que el brazo no es parte de la mancuerna y, por lo tanto, le da ideas de lo que está sucediendo exactamente y por qué y cómo solucionarlo o mejorarlo.

Aparte de eso, es una muy buena manera de ver cómo su red detecta diferentes niveles de abstracciones en sus datos y responde a ellos.
por ejemplo, al alimentar su netowkr con diferentes imágenes y al ver diferentes mapas de características en diferentes capas, puede ver claramente, por ejemplo, en las capas posteriores, la red aprende algunos filtros solo para reaccionar a las cabezas, o algún otro que aprende a reaccionar a textos, etc.
esta caja de herramientas y el video adjunto son muy buenos para explicar y mostrar la carcasa de esta técnica: yosinski / deep-visualization-toolbox

Hay varias razones:

  1. Comprenda mejor lo que su red está aprendiendo. nuestra comprensión de las CNN aún es limitada y la visualización ayuda a construir la intuición de lo que realmente está sucediendo.
  2. asegúrese de que todo si sus filtros realmente están aprendiendo, hay algunos casos patológicos, como gradientes en desaparición en los que algunos filtros no reciben ninguna entrada, y otros casos en los que sus filtros convergen a cero, lo que significa que realmente no se están utilizando para la tarea en cuestión .

A mi entender (relativamente pequeño), uno puede tener una intuición de qué representación característica está aprendiendo cada capa. Esto es útil desde una perspectiva científica si queremos entender qué están haciendo los NN profundos. Por ejemplo. De las charlas que escuché dar a Andrew Ng, muestra esto con las siguientes imágenes:

donde muestra cómo un NN aprende los bordes. Creo que la hipótesis actual es que las imágenes están hechas de partes compositivas y, por lo tanto, las capas inferiores se combinan para formar capas superiores (hay un procesamiento por la no linealidad que no estoy seguro de lo que hace en este contexto, probablemente solo detecte qué características están más presentes que otras e incendios o no). Si esta idea es correcta, quizás las capas de activación aprendan características significativas (intuitivas).

No estoy seguro de si hay otros usos para visualizar las activaciones más bajas, pero no me sorprendería si se usan para otros fines. Algunos que vienen a mi mente:

  • Tal vez depurar código, por ejemplo, si las activaciones parecen hacer cosas raras, tal vez el código esté equivocado.
  • También para depurar algoritmos de aprendizaje para la tarea real, si todas las activaciones están saturadas o son invisibles (cero), tal vez los parámetros o hiperparámetros no se elijan correctamente.

Puede haber otras formas de usarlos, pero esos (con suerte) expertos pueden completarlo.

More Interesting

¿Cuál es el análisis de opinión en el caso de TripAdvisor? ¿Como funciona?

Soy doctora en ingeniería informática con experiencia en aprendizaje automático y optimización bayesiana. Me encantaría evolucionar mi investigación hacia la mecánica estadística y la biofísica. ¿Cómo podría lograr eso? ¿Qué colaboraciones vale la pena buscar?

¿Cuáles son los problemas de investigación abiertos en el aprendizaje automático para la detección de intrusos?

¿Cómo se usa la pérdida de peso para la regularización en las redes neuronales?

¿Qué hace una capa convolucional 1 × 1?

¿Qué enfoque se recomienda para aprender Machine Learning?

¿Por qué NP = P es tan difícil de resolver?

¿Qué tan similares son los problemas en los diversos campos del análisis de datos (aprendizaje automático, estadísticas, procesamiento de señales, optimización, teoría de la información, etc.)?

¿Cuáles son los lenguajes de programación básicos para aprendizaje automático, inteligencia artificial y big data?

Si se le da una opción entre el aprendizaje automático y el Internet de las cosas como una opción, ¿cuál es la mejor para elegir, teniendo en cuenta el alcance y el futuro?

¿Cuál es la mejor manera de combinar filtrado colaborativo y recomendaciones basadas en contenido?

¿Cómo se puede aplicar el aprendizaje profundo a la clasificación de palabras?

Aprendizaje automático: ¿cómo se puede saber cuándo combinar diferentes características sería útil?

¿Cuáles son algunas aplicaciones del aprendizaje automático y la inteligencia artificial para los datos de detección remota basados ​​en el espacio y los SIG?

¿De qué manera la Academia se está quedando atrás en la capacitación de Data Science?