lunes, 22 de abril de 2019

NNPlot. Dibujando redes neuronales con Excel

Si tienes que preparar una presentación o trabajo sobre redes neuronales y no quieres sucumbir a tener que pegar una de Google, con NNPlot, un sencillo programa para Excel, puedes generar de forma inmediata esquemas de redes neuronales multicapa en formato vectorial de MS Office, añadiendo toda la personalización que brinda Excel.

Los parámetros a elegir vía formulario son:
  • Número de capas (1-10)
  • Número de nodos en cada capa (1-64)
  • Separaciones entre capas (D) y entre nodos (d)
  • Radio de los nodos (R)
  • Factor de zoom
  • Conectores concentrados o perimetrales a los nodos (Smart)

Las restantes opciones de configuración visual (colores, bordes y rellenos, transparencias, prioridades, flechas,...) se delegan en Excel. Se calcula además la complejidad de la red en términos de nodos totales y parámetros (pesos + valores bias).



Sobre la hoja Excel se incluyen botones para que una vez abandonemos el formulario que define la topología de la red neuronal, podamos seleccionar los objetos que la forman: nodos y conectores, solo nodos o solo conectores, y editar sus propiedades de forma conjunta. Es posible retornar al formulario para modificar algún parámetro de la red, pero en ese caso se perderán los cambios estéticos hechos desde Excel.



Llama la atención encontrar, incluso en bibliografía de calidad, gráficos de redes neuronales claramente mejorables dibujados de forma manual. Con NNPlot y poco esfuerzo se pueden tener esquemas ad-hoc de redes listos para ser usados en cualquier documento Office (recomendable seleccionar toda la red y agruparla en un único objeto), desde el diseño más minimalista al más recargado.

A continuación algunos ejemplos personalizados con las funcionalidades de Excel tras usar NNPlot para obtener el grafo principal:









Y aquí una muestra de cómo mejorar con NNPlot un diseño claramente deficiente, sin renunciar a los requisitos estéticos originales (hacer clic sobre la imagen para verla en alta resolución):




Además NNPlot no solo sirve para crear redes neuronales sino cualquier gráfico donde resulte tedioso dibujar círculos equiespaciados interconectados:




El programa puede descargarse desde nnplot.xlsm; es un libro Excel con macros por lo que requiere dar permiso de ejecución a las mismas. Si se te ocurre alguna mejora o sugerencia no dejes de comentar.

Existe una herramienta online similar llamada NN-SVG, que exporta las redes en formato vectorial SVG y que junto a las redes neuronales clásicas permite dibujar esquemas convolucionales.

4 comentarios:

  1. Como puedo modificar los círculos sin tener que comenzar todo denuevo? He hecho una red, y al querer agrandar los círculos, estos chocan unos contra otros.

    ResponderEliminar
    Respuestas
    1. No entiendo muy bien la pregunta Will, si al agrandar los círculos estos chocan unos con otros por ser demasiado grandes, no agrandes los círculos.

      Eliminar
  2. Hola, me ha salvado la vida para la redacción de mi tesis. Conforme lo vaya utilizando, le iré informando.
    Por lo que veo, es muy sencillo de utilizar
    Muchas gracias.

    ResponderEliminar
  3. Hola Guillermo,

    Excelente Aplicación, muy útil y avanzada!

    ResponderEliminar

Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.