Pregunta

En términos generales, ¿qué obtiene al extender una red neuronal artificial al agregar más nodos a una capa oculta o más capas ocultas?

¿Permite más precisión en el mapeo, o permite más sutileza en las relaciones que puede identificar, o algo más?

¿Fue útil?

Solución

Hay un resultado muy conocido en el aprendizaje automático que establece que una sola capa oculta es suficiente para aproximar cualquier función suave y acotada (el documento se llamó " Las redes de alimentación de múltiples capas son aproximadores universales " y ahora tiene casi 20 años). Sin embargo, hay varias cosas a tener en cuenta.

  • La única capa oculta puede necesitar ser arbitrariamente ancha.
  • Esto no dice nada acerca de la facilidad con que se puede encontrar una aproximación; en general, las redes grandes son difíciles de entrenar adecuadamente y son víctimas de sobreajustes con bastante frecuencia (la excepción son las llamadas "redes neuronales convolucionales", que en realidad solo están destinadas a problemas de visión).
  • Esto tampoco dice nada acerca de la eficiencia de la representación. Algunas funciones requieren números exponenciales de unidades ocultas si se realizan con una capa, pero se escalan mucho mejor con más capas (para más información sobre esto, lea Algoritmos de aprendizaje de escala hacia la IA )

El problema con las redes neuronales profundas es que son aún más difíciles de entrenar. Termina con gradientes muy pequeños que se propagan hacia atrás a las capas ocultas anteriores y el aprendizaje realmente no va a ninguna parte, especialmente si los pesos se inicializan para ser pequeños (si los inicializa para que sean de mayor magnitud, con frecuencia se queda atrapado en los mínimos locales malos) . Existen algunas técnicas para el "entrenamiento previo". como los discutidos en esta Google tech talk de Geoff Hinton que intentan solucionar esto.

Otros consejos

Esta es una pregunta muy interesante, pero no es tan fácil de responder. Depende del problema que intente resolver y de la red neuronal que intente utilizar. Hay varios tipos de redes neuronales.

En general, no está tan claro que más nodos equivalgan a más precisión. La investigación muestra que en su mayoría solo necesita una capa oculta. El número de nodos debe ser el número mínimo de nodos necesarios para resolver un problema. Si no tiene suficientes, no encontrará la solución.

Por otro lado, si ha alcanzado el número de nodos que es bueno para resolver la solución, puede agregar más y más y no verá ningún progreso adicional en la estimación de resultados.

Es por eso que hay tantos tipos de redes neuronales. Intentan resolver diferentes tipos de problemas. Por lo tanto, tiene NN para resolver problemas estáticos, para resolver problemas relacionados con el tiempo, etc. El número de nodos no es tan importante como el diseño de ellos.

Cuando tiene una capa oculta es que está creando una característica combinada de la entrada. Entonces, ¿se aborda mejor el problema con más características de la entrada existente, o mediante características de orden superior que provienen de la combinación de características existentes? Esta es la compensación para una red de retroalimentación estándar.

Usted tiene la seguridad teórica de que cualquier función puede ser representada por una red neuronal con dos capas ocultas y activación no lineal.

Además, considere utilizar recursos adicionales para impulsar, en lugar de agregar más nodos, si no está seguro de la topología adecuada.

Reglas prácticas muy generales

generalmente más elementos por capa para vectores de entrada más grandes.

más capas pueden permitirle modelar más sistemas no lineales.

Si el tipo de red que está utilizando tiene retrasos en la propagación, más capas pueden permitir el modelado de series de tiempo. Tenga cuidado de que el tiempo se agite en los retrasos o no funcionará muy bien. Si esto es solo para ti, ignóralo.

Más capas le permite insertar entidades recurrentes. Esto puede ser muy útil para tareas de discriminación. Tu implementación ANN no permite esto.

HTH

El número de unidades por capa oculta explica el potencial del ANN para describir una función arbitrariamente compleja. Algunas funciones (complicadas) pueden requerir muchos nodos ocultos, o posiblemente más de una capa oculta.

Cuando una función puede ser aproximada aproximadamente por un cierto número de unidades ocultas, cualquier nodo adicional proporcionará más precisión ... pero esto solo es cierto si las muestras de entrenamiento utilizadas son suficientes para justificar esta adición; de lo contrario, lo que sucederá es "sobreconvergencia". El exceso de convergencia significa que su ANN ha perdido sus habilidades de generalización porque se ha exagerado en las muestras particulares.

En general, es mejor usar las unidades menos ocultas posibles, si la red resultante puede dar buenos resultados. Los patrones de entrenamiento adicionales necesarios para justificar más nodos ocultos no se pueden encontrar fácilmente en la mayoría de los casos, y la precisión no es el punto fuerte de las NN.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top