Visualizando el entrenamiento profundo de la red neuronal

13

Estoy tratando de encontrar un equivalente de diagramas de Hinton para redes de múltiples capas para trazar los pesos durante el entrenamiento.

La red entrenada es algo similar a un SRN profundo, es decir, tiene una gran cantidad de matrices de peso múltiple que harían visualmente confuso el diagrama simultáneo de varios diagramas de Hinton.

¿Alguien sabe de una buena manera de visualizar el proceso de actualización de peso para redes recurrentes con múltiples capas?

No he encontrado muchos documentos sobre el tema. Estaba pensando en mostrar información relacionada con el tiempo en los pesos por capa si no se me ocurre algo. Por ejemplo, el delta de peso en el tiempo para cada capa (omitiendo el uso de cada conexión). PCA es otra posibilidad, aunque me gustaría no producir muchos cálculos adicionales, ya que la visualización se realiza en línea durante el entrenamiento.

runDOSrun
fuente

Respuestas:

10

Lo último que sé es ConvNetJS :

ConvNetJS es una biblioteca de Javascript para entrenar modelos de aprendizaje profundo (principalmente redes neuronales) completamente en su navegador. Abre una pestaña y estás entrenando. Sin requisitos de software, sin compiladores, sin instalaciones, sin GPU, sin problemas.

Las demostraciones en este sitio pesan y cómo cambian con el tiempo (tenga en cuenta sus muchos parámetros, ya que las redes prácticas tienen muchas neuronas). Además, si no está satisfecho con su trazado, hay acceso a los parámetros de las redes y puede trazar como lo desee (ya que es JavaScript).

Piotr Migdal
fuente
¡Gracias! Curiosamente, eligieron usar múltiples diagramas de Hinton para trazar sus pesos. Todavía creo que es difícil de interpretar tan pronto como tenga demasiadas capas / conexiones, pero es bueno verlo en acción al menos.
runDOSrun
5

Según mi comprensión superficial de los temas, asociada con su pregunta, creo que Gephi ( https://gephi.github.io ; el enlace original de gephi.org redirige allí) debería ser capaz de manejar la visualización dinámica de la red neuronal . Parece que, para lograr su objetivo, necesita transmitir sus gráficos con los pesos correspondientes ( https://forum.gephi.org/viewtopic.php?t=1875 ). Para la transmisión , lo más probable es que necesite este complemento : https://marketplace.gephi.org/plugin/graph-streaming .

ACTUALIZACIÓN : También puede encontrar software útil de SoNIA: http://web.stanford.edu/group/sonia .

Aleksandr Blekh
fuente
1
Idea muy interesante! Realmente, visualizar una red profunda como una red social es algo en lo que no he pensado. La principal diferencia entre los modelos es que estos gráficos codifican información en sus nodos mientras que las redes neuronales lo hacen dentro de sus conexiones. Pero podría modificarse, por ejemplo, estableciendo los valores del nodo de la red social en los pesos de las conexiones salientes de la red neuronal.
runDOSrun
Me alegra que te guste la idea. Siéntase libre de votar / aceptar. Y no olvide revisar el software SoNIA, con un enlace al que actualicé recientemente mi respuesta. Finalmente, si usa (o planea usar) R, aquí hay otra información interesante relevante para usted: sna.stanford.edu/rlabs.php .
Aleksandr Blekh