¿Existe alguna directriz para diseñar redes neuronales en términos de número de capas ocultas, número de unidades ocultas, tamaño de filtro (CNN) y paso de tiempo (RNN)?

Respuesta corta: actualmente es más arte que ciencia, y hay mucha intuición de la experiencia + pruebas empíricas para obtener los hiperparámetros correctos.

La razón de esto es que no hay formas muy básicas de pensar acerca de cuáles son las configuraciones de hiperparámetros “correctas”, por ejemplo, puede elegir el tamaño de la muestra en función de su potencia estadística deseada en una prueba de hipótesis simple.

En general, hay muchas heurísticas y reglas generales que la mayoría de las personas siguen, demasiadas para enumerarlas aquí. La buena noticia es que, en general, los hiperparámetros pueden ajustarse independientemente uno del otro (ver: Una Odisea del espacio de búsqueda), lo que significa que puede encontrar el “punto óptimo” para cada hiperparámetro individualmente, en lugar de buscar el espacio de búsqueda exponencial. Por supuesto, algunos trucos se superpondrán entre sí, por ejemplo, la deserción ayuda mucho menos si ya está utilizando la normalización por lotes.

Simplemente puede usar cualquier herramienta disponible y dejar que busque los parámetros más apropiados para su red. Hay varias formas de hacerlo (también conocido como optimización de hiperparámetros). Por ejemplo, si usa Keras, puede usar hyperas.

Desafortunadamente, NN todavía está en la misma etapa que la radio anterior: más intuición y sintonización manual que una lista de reglas.

Incluso la topología de la red a menudo está diseñada por un algoritmo genético.