Su pregunta es bastante amplia, pero aquí hay algunos consejos:
Para redes de avance, vea esta pregunta :
La respuesta de @ doug me ha funcionado. Hay una regla general adicional que ayuda a los problemas de aprendizaje supervisado. El límite superior en la cantidad de neuronas ocultas que no resultará en un ajuste excesivo es:
Nh=Ns(α∗(Ni+No))
NiN o N s α a l p h a N s ∗ ( N i + N o ) α = número de neuronas de entrada. = número de neuronas de salida.
= número de muestras en el conjunto de datos de entrenamiento. = un factor de escala arbitrario usualmente 2-10. Otros recomiendan
establecer en un valor entre 5 y 10, pero creo que un valor de 2 a menudo funcionará sin sobreajustar. Como se explica en este excelente texto de NN Design , desea limitar el número de parámetros libres en su modelo (su
grado o número de pesos distintos de cero) a una pequeña porción de los grados de libertad en sus datos. Los grados de libertad en sus datos son el número de muestras * grados de libertad (dimensiones) en cada muestra oNoNsα
alphaNs∗(Ni+No)
(suponiendo que todos sean independientes). Entonces es una forma de indicar qué tan general quiere que sea su modelo o cuánto desea evitar el sobreajuste.α
Para un procedimiento automatizado, comenzaría con un alfa de 2 (el doble de grados de libertad en sus datos de entrenamiento que su modelo) y avanzaría hasta 10 si el error para los datos de entrenamiento es significativamente menor que para la validación cruzada conjunto de datos
Y específicamente en LSTM, es posible que desee ver esto .
Pero el punto principal: no hay una regla para la cantidad de nodos ocultos que debe usar, es algo que debe averiguar para cada caso por prueba y error .
En general, no hay pautas sobre cómo determinar el número de capas o el número de celdas de memoria en un LSTM.
El número de capas y celdas requeridas en un LSTM puede depender de varios aspectos del problema:
La complejidad del conjunto de datos. La cantidad de características, número de puntos de datos, etc.
El proceso de generación de datos. El siguiente ejemplo de cómo el proceso de generación de datos puede desempeñar un papel importante.
Ex: predicción de los precios del petróleo en comparación con la predicción del PIB de una economía bien entendida. El último es mucho más fácil que el primero. Por lo tanto, la predicción de los precios del petróleo también podría necesitar un mayor número de celdas de memoria LSTM para predecir con la misma precisión en comparación con el PIB.
Sigo estos pasos cuando modelo usando LSTM:
Pruebe con una sola capa oculta con 2 o 3 celdas de memoria. Vea cómo funciona en comparación con un punto de referencia. Si se trata de un problema de series de tiempo, generalmente hago un pronóstico de las técnicas clásicas de series de tiempo como punto de referencia.
Intenta aumentar el número de celdas de memoria. Si el rendimiento no aumenta mucho, pase al siguiente paso.
Comience a profundizar la red, es decir, agregue otra capa con un pequeño número de celdas de memoria.
Aparte:
No hay límite para la cantidad de trabajo que se puede dedicar a alcanzar esos mínimos globales de la función de pérdida y ajustar los mejores hiperparámetros. Por lo tanto, centrarse en el objetivo final del modelado debería ser la estrategia en lugar de tratar de aumentar la precisión tanto como sea posible.
La mayoría de los problemas se pueden manejar usando 2-3 capas de la red.
fuente
Tal vez debería echar un vistazo a esto: https://wiki.inf.ed.ac.uk/twiki/pub/CSTR/ListenTerm1201415/sak2.pdf
Aquí muestran que 2 capas son agradables, 5 capas son mejores y 7 capas son muy difíciles de entrenar.
fuente