Esto se llama una red neuronal recurrente , como ya han señalado varias personas. Existe una gran cantidad de permutaciones sobre este tema con respecto a qué capa (s) están retroalimentando el sistema. Una situación más común es cuando la capa oculta se retroalimenta (recurrencia oculta a oculta). El poder de una red recurrente, en comparación con una simple red de alimentación, radica en su capacidad para capturar patrones que de otro modo no hubieran sido posibles. George Hinton da un gran ejemplo de esto en su curso Coursera sobre redes neuronales al ilustrar cómo se puede usar una configuración oculta a oculta para realizar la suma binaria. La adición de dos números puede parecernos muy simple (las calculadoras simples han estado haciendo esto durante décadas), pero el punto de este simple ejemplo es que la red está capturando un patrón de sumar números binarios (cómo se llevan los dígitos en cada columna ) y no solo realiza la asignación de entradas a salidas. Aquí hay un enlace al video: Coursera.
Las redes recurrentes son especialmente adecuadas para dos tipos de situaciones en las que las redes neuronales simples de alimentación pueden tener dificultades:
1. Caracterización de secuencias
2. Caracterización de patrones temporales.
Si bien pueden parecer al principio diferentes fenómenos, los términos “propagación hacia atrás a través del tiempo” y “una capa que se retroalimenta a sí misma (u otra capa”) son realmente una misma matemática.
- Cómo convencer a mi gerente de que conozco el aprendizaje automático
- ¿Qué aspecto de los algoritmos de las redes de aprendizaje profundo requieren GPU además de, o en lugar de, CPU, y por qué?
- ¿A qué tipo de problemas del mundo real se aplica el aprendizaje no supervisado?
- ¿Los matemáticos trabajan en problemas que surgen de la inteligencia artificial (teórica) y el aprendizaje automático?
- ¿Qué máquina es mejor para clasificar imágenes, SVM u otra? ¿Por qué?
Un modelo interesante y quizás menos ampliamente implementado (hasta ahora) es la máquina Boltzmann. Una máquina profunda de Boltzmann (con múltiples capas ocultas) puede capturar en teoría muchos de los mismos tipos de patrones secuenciales / temporales que una red recurrente puede capturar. Donde la máquina de Boltzmann se vuelve realmente interesante es en situaciones en las que los vectores de datos de entrada están incompletos. Este fue el caso en la competencia de Netflix que desafió a los solucionadores a desarrollar un modelo para predecir las calificaciones de las películas de los espectadores, y también es el caso en muchos problemas de la vida real. El equipo ganador utilizó un promedio de muchos modelos de máquinas Boltzmann para resolver este problema. Este es un buen artículo que ilustra cómo las máquinas de Boltzmann pueden brillar:
Máquina de Boltzmann restringida para el filtrado colaborativo de Salakhutdinov, Mnih y Hinton.
Las redes neuronales fallan donde faltan datos. Las redes neuronales recurrentes, a diferencia de los sistemas binarios como las redes Hopfield y las máquinas Boltzmann, no se basan en la energía y, por lo tanto, tienen el potencial de comportarse de manera caótica. Este es su mayor inconveniente, en mi opinión. La capacidad de muchas máquinas Boltzmann diferentes para usarse para cada vector de entrada único, y luego poder combinar estos modelos , es una propiedad notable que hace que estos modelos sean atractivos para resolver una gama de problemas de la vida real.