¿Cuál es la diferencia entre feed-forward y redes neuronales recurrentes?


Respuestas:


57

Los ANN de avance permiten que las señales viajen solo en un sentido: de entrada a salida. No hay comentarios (bucles); es decir , la salida de cualquier capa no afecta a esa misma capa. Las ANN de retroalimentación tienden a ser redes sencillas que asocian entradas con salidas. Se usan ampliamente en el reconocimiento de patrones. Este tipo de organización también se conoce como ascendente o descendente.

Una red de retroalimentación

Las redes de retroalimentación (o recurrentes o interactivas) pueden tener señales viajando en ambas direcciones al introducir bucles en la red. Las redes de retroalimentación son poderosas y pueden ser extremadamente complicadas. Los cálculos derivados de entradas anteriores se retroalimentan en la red, lo que les proporciona un tipo de memoria. Las redes de retroalimentación son dinámicas; su "estado" está cambiando continuamente hasta que alcanzan un punto de equilibrio. Permanecen en el punto de equilibrio hasta que la entrada cambia y se necesita encontrar un nuevo equilibrio.

arquitectura de retroalimentación

Las redes neuronales de avance son ideales para modelar las relaciones entre un conjunto de predictores o variables de entrada y una o más variables de respuesta o salida. En otras palabras, son apropiados para cualquier problema de mapeo funcional en el que deseamos saber cómo varias variables de entrada afectan la variable de salida. Las redes neuronales de alimentación de múltiples capas, también llamadas perceptrones multicapa (MLP), son el modelo de red neuronal más ampliamente estudiado y utilizado en la práctica.

Como ejemplo de red de retroalimentación, puedo recordar la red de Hopfield . El uso principal de la red de Hopfield es como memoria asociativa. Una memoria asociativa es un dispositivo que acepta un patrón de entrada y genera una salida como el patrón almacenado que está más estrechamente asociado con la entrada. La función de la memoria asociada es recuperar el patrón almacenado correspondiente y luego producir una versión clara del patrón en la salida. Las redes Hopfield se usan típicamente para esos problemas con vectores de patrones binarios y el patrón de entrada puede ser una versión ruidosa de uno de los patrones almacenados. En la red Hopfield, los patrones almacenados se codifican como los pesos de la red.

Mapas autoorganizados de Kohonen(SOM) representa otro tipo de red neuronal que es notablemente diferente de las redes multicapa de avance. A diferencia del entrenamiento en el MLP feedforward, el entrenamiento o aprendizaje SOM a menudo se llama no supervisado porque no hay salidas objetivo conocidas asociadas con cada patrón de entrada en SOM y durante el proceso de entrenamiento, el SOM procesa los patrones de entrada y aprende a agrupar o segmentar los datos a través del ajuste de pesos (lo que lo convierte en un modelo de red neuronal importante para la reducción de dimensiones y la agrupación de datos). Un mapa bidimensional generalmente se crea de tal manera que se preservan los órdenes de las interrelaciones entre las entradas. El número y la composición de los grupos se pueden determinar visualmente en función de la distribución de salida generada por el proceso de capacitación. Con solo variables de entrada en la muestra de entrenamiento,

(Los diagramas son del sitio web de inteligencia artificial C463 / B551 de Dana Vrajitoru ).


2
¿Una red de alimentación directa que utiliza sus salidas de forma iterativa como entradas cuenta como una red recurrente?
naught101

1
Sí, ese es el caso.
bayerj 03 de

2
Mi comentario anterior estaba equivocado. Parte de esta publicación fue aparentemente plagiada por esta persona (aparte de un par de pequeños cambios de palabras) sin crédito.
Glen_b

1
Estoy tratando de comprender matemáticamente por qué los RNN son superiores a las redes de avance. ¿Hay algún ejemplo en el que es muy difícil aproximarse por Feed-forward ANN pero fácil con RNN?
pikachuchameleon

14

Lo que George Dontas escribe es correcto, sin embargo, el uso de RNN en la práctica actual está restringido a una clase más simple de problemas: series temporales / tareas secuenciales.

Mientras que las redes de alimentación directa se utilizan para aprender conjuntos de datos como donde y son vectores (por ejemplo, , para las redes recurrentes siempre será una secuencia, por ejemplo, .i t i R n i i ( R n ) (i,t)itiRnii(Rn)

Se ha demostrado que los RNN pueden representar cualquier secuencia medible de mapeo de secuencia por Hammer.

Por lo tanto, los RNN se están utilizando hoy en día para todo tipo de tareas secuenciales: predicción de series de tiempo, etiquetado de secuencias, clasificación de secuencias, etc. Se puede encontrar una buena descripción general en la página de Schmidhuber sobre RNN .


"Si bien las redes de avance se utilizan para aprender conjuntos de datos como (i, t) donde i y t son vectores (por ejemplo, i∈Rn, para redes recurrentes siempre seré una secuencia, por ejemplo, i∈ (Rn) ∗" Sé que esta pregunta era pregunté hace mucho tiempo, pero ¿le importaría explicar lo que esto significa en términos simples? Necesito justificar la razón por la que elegí usar una red de alimentación a través de un RNN para mi proyecto, y creo que esta puede ser la razón. O, ¿podría vincularme a una fuente que me permita hacer esta justificación? Después de buscar, no puedo encontrar una yo mismo. ¡Gracias, cualquier respuesta es muy apreciada!
Azul7

Esta respuesta está un poco desactualizada ahora. Si bien los RNN se prestan naturalmente para secuenciar datos, también se pueden usar para hacer predicciones sobre entradas estáticas (como imágenes u otros). Ver: Red neuronal convolucional recurrente para el reconocimiento de objetos y evidencia de que los circuitos recurrentes son críticos para la ejecución de la corriente ventral del comportamiento de reconocimiento de objetos centrales
Firebug

1

¿Qué es realmente interesante al hacer esta pregunta?

En lugar de decir RNN y FNN es diferente en su nombre. Entonces son diferentes. , Creo que lo que es más interesante es en términos de modelado de sistema dinámico, ¿RNN difiere mucho de FNN?

Antecedentes

Ha habido un debate para modelar el sistema dinámico entre la red neuronal recurrente y la red neuronal Feedforward con características adicionales como retrasos de tiempo anteriores (FNN-TD).

Que yo sepa después de leer esos documentos en los años 90 ~ 2010. La mayoría de la literatura prefiere que RNN vainilla sea mejor que FNN en que RNN usa una memoria dinámica mientras que FNN-TD es una memoria estática .

Sin embargo, no hay muchos estudios numéricos que comparen esos dos. El [1] de la primera muestra que para modelar un sistema dinámico, FNN-TD muestra un rendimiento comparable al RNN de vainilla cuando está libre de ruido, mientras que funciona un poco peor cuando hay ruido. En mis experiencias en el modelado de sistemas dinámicos, a menudo veo que FNN-TD es lo suficientemente bueno.

¿Cuál es la diferencia clave en cómo tratar los efectos de memoria entre RNN y FNN-TD?

Desafortunadamente, no veo ningún lugar y ninguna publicación mostró teóricamente la diferencia entre estos dos. Es bastante interesante Consideremos un caso simple, usando una secuencia escalar para predecir . Por lo tanto, es una tarea de secuencia a escalar.Xn,Xn1,,XnkXn+1

FNN-TD es la forma más general e integral de tratar los llamados efectos de memoria . Como es brutal, cubre cualquier tipo, cualquier tipo, cualquier efecto de memoria teóricamente. El único inconveniente es que solo requiere demasiados parámetros en la práctica.

La memoria en RNN no es más que representada como una "convolución" general de la información previa . Todos sabemos que la convolución entre dos secuencias escalares en general no es un proceso reversible y la deconvolución a menudo está mal planteada.

Mi conjetura es "grado de libertad" en dicho proceso de convolución se determina por el número de unidades ocultas en el estado RNN . Y es importante para algunos sistemas dinámicos. Tenga en cuenta que el "grado de libertad" puede extenderse mediante la incorporación de estados de retraso de tiempo [2] mientras se mantiene el mismo número de unidades ocultas.s

Por lo tanto, RNN en realidad está comprimiendo la información de la memoria anterior con pérdida al hacer una convolución, mientras que FNN-TD solo los está exponiendo en cierto sentido sin pérdida de información de la memoria. Tenga en cuenta que puede reducir la pérdida de información en convolución aumentando el número de unidades ocultas o utilizando más demoras que RNN de vainilla. En este sentido, RNN es más flexible que FNN-TD. RNN no puede lograr pérdida de memoria como FNN-TD y puede ser trivial mostrar que el número de parámetros están en el mismo orden.

Sé que alguien podría querer mencionar que RNN está llevando el efecto a largo plazo mientras que FNN-TD no puede. Para esto, solo quiero mencionar que para un sistema dinámico autónomo continuo, desde la teoría de incrustación de Takens, es una propiedad genérica para que la incrustación exista para FNN-TD con la memoria de tiempo aparentemente corta para lograr el mismo rendimiento que el aparentemente largo tiempo memoria en RNN. Explica por qué RNN y FNN-TD no difieren mucho en el ejemplo del sistema dinámico continuo a principios de los 90.

Ahora mencionaré el beneficio de RNN. Para la tarea del sistema dinámico autónomo, usar un término más previo, aunque efectivamente sería lo mismo que usar FNN-TD con menos términos previos en teoría, numéricamente sería útil ya que es más robusto al ruido. El resultado en [1] es consistente con esta opinión.

Referencia

[1] Gençay, Ramazan y Tung Liu. "Modelado y predicción no lineal con alimentación directa y redes recurrentes". Physica D: Fenómenos no lineales 108.1-2 (1997): 119-134.

[2] Pan, Shaowu y Karthik Duraisamy. "Descubrimiento basado en datos de modelos de cierre". preimpresión de arXiv arXiv: 1803.09318 (2018).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.