Depende de la aplicación y solo el análisis empírico puede responder correctamente esta pregunta. Si se trata de un problema de clasificación de dígitos Mnist, solo necesita una sola capa, pero Mnist en movimiento requiere más capas para extraer las características de movimiento.
Por cierto, no tiene sentido tener billones de parámetros cuando miles de estos pueden hacer el trabajo.
El número de capas y el número de unidades en una capa para la red neuronal son hiperparámetros muy importantes e incluso un pequeño cambio en estos puede afectar mucho el rendimiento de ANN.
- ¿En qué se diferencia el aprendizaje profundo del perceptrón multicapa?
- ¿Cuál es el mejor marco de aprendizaje profundo para Apache Spark?
- ¿Es generalmente una buena idea entrenar en caso real, desarrollar y probar conjuntos de datos para la traducción automática?
- ¿Cuáles son las industrias que probablemente se verán afectadas por el aprendizaje profundo?
- ¿En qué condiciones funcionaría un algoritmo lento más rápido que un algoritmo rápido?
Hay dos formas de establecer estos hiperparámetros :
- Ajustar muchos de los valores de forma inteligente. He respondido tal enfoque aquí.
- Aprenda los hiperparámetros también, es decir, deje que la red decida estos números por sí misma. Vankatesh Babu ha publicado [1,2] pocas metodologías de aprendizaje en esta dirección. Todavía es un área abierta y hay mucho alcance en el dominio de la compresión del modelo.
Espero que esto ayude.
Referencias
[1] [1511.05497] Aprendiendo arquitecturas de redes neuronales usando Backpropagation
[2] [1611.06694] Entrenamiento de redes neuronales dispersas