¿Cuál es la diferencia entre un feed-forward y recurrente ¿Red neuronal?
¿Por qué utilizar uno en lugar de otro?
¿Existen otras topologías de red?
¿Cuál es la diferencia entre un feed-forward y recurrente ¿Red neuronal?
¿Por qué utilizar uno en lugar de otro?
¿Existen otras topologías de red?
Feed-forward Las RNA permiten que las señales viajen en un solo sentido: de la entrada a la salida. No hay retroalimentación (bucles); es decir La salida de cualquier capa no afecta a esa misma capa. Las RNA feed-forward suelen ser redes directas que asocian las entradas con las salidas. Se utilizan mucho en el reconocimiento de patrones. Este tipo de organización también se denomina ascendente o descendente.
Comentarios (o recurrentes o interactivas) pueden tener señales que viajan en ambas direcciones introduciendo bucles en la red. Las redes de retroalimentación son potentes y pueden llegar a ser extremadamente complicadas. Los cálculos derivados de una entrada anterior se retroalimentan en la red, lo que les da una especie de memoria. Las redes de retroalimentación son dinámicas; su "estado" cambia continuamente hasta que alcanzan un punto de equilibrio. Permanecen en el punto de equilibrio hasta que la entrada cambia y hay que encontrar un nuevo equilibrio.
Las redes neuronales feedforward son ideales para modelar las relaciones entre un conjunto de variables predictoras o de entrada y una o más variables de respuesta o de salida. En otras palabras, son apropiadas para cualquier problema de mapeo funcional en el que queramos saber cómo afectan una serie de variables de entrada a la variable de salida. Las redes neuronales multicapa feedforward, también llamadas perceptrones multicapa (MLP), son el modelo de red neuronal más estudiado y utilizado en la práctica.
Como ejemplo de red de retroalimentación, puedo recordar La red de Hopfield . El principal uso 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 asociativa es recordar el patrón almacenado correspondiente, y luego producir una versión clara del patrón en la salida. Las redes de Hopfield se utilizan normalmente para aquellos 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 de Hopfield, los patrones almacenados se codifican como los pesos de la red.
Los mapas autoorganizativos de Kohonen (SOM) representan otro tipo de red neuronal que se diferencia notablemente de las redes multicapa feedforward. A diferencia del entrenamiento en el MLP feedforward, el entrenamiento o aprendizaje del SOM suele denominarse no supervisado porque no hay salidas objetivo conocidas asociadas a cada patrón de entrada en el SOM y, durante el proceso de entrenamiento, el SOM procesa los patrones de entrada y aprende a agrupar o segmentar los datos mediante el ajuste de los pesos (lo que lo convierte en un importante modelo de red neuronal para la reducción de dimensiones y la agrupación de datos). Normalmente, se crea un mapa bidimensional de manera que se conservan los órdenes de las interrelaciones entre las entradas. El número y la composición de los clusters pueden determinarse visualmente a partir de la distribución de salida generada por el proceso de entrenamiento. Con sólo variables de entrada en la muestra de entrenamiento, SOM pretende aprender o descubrir la estructura subyacente de los datos.
(Los diagramas son de la obra de Dana Vrajitoru C463 / B551 Sitio web de inteligencia artificial .)
¿Cuenta como red recurrente una red feed forward que utiliza iterativamente sus salidas como entradas?
Mi comentario anterior estaba equivocado. Parte de este post fue aparentemente plagiado por esta persona (aparte de un par de cambios de palabras menores) sin crédito.
Lo que escribe George Dontas es correcto, sin embargo el uso de las RNN en la práctica hoy en día está restringido a una clase de problemas más simple: series temporales / tareas secuenciales.
Mientras que las redes feedforward se utilizan para aprender conjuntos de datos como $(i, t)$ donde $i$ y $t$ son vectores, por ejemplo $i \in \mathcal{R}^n$ para redes recurrentes $i$ será siempre una secuencia, por ejemplo $i \in (\mathcal{R}^n)^*$ .
Se ha demostrado que las RNN son capaces de representar cualquier mapeo medible de secuencia a secuencia por Hammer.
Así, las RNN se utilizan hoy en día para todo tipo de tareas secuenciales: predicción de series temporales, etiquetado de secuencias, clasificación de secuencias, etc. Se puede encontrar un buen resumen en Página de Schmidhuber sobre las RNN .
"Mientras que las redes feedforward se utilizan para aprender conjuntos de datos como (i,t) donde i y t son vectores (por ejemplo, iRn, para las redes recurrentes i siempre será una secuencia, por ejemplo, i(Rn)" Sé que esta pregunta se hizo hace mucho tiempo, pero ¿te importaría explicar lo que significa esto en términos sencillos? Necesito justificar la razón por la que elegí utilizar una red feed forward en lugar de una RNN para mi proyecto, y creo que esta puede ser la razón. Y/O, ¿podría enlazarme a una fuente que me permita hacer esta justificación? Después de buscar no encuentro ninguna. Gracias, ¡cualquier respuesta es muy apreciada!
Esta respuesta ya está un poco obsoleta. Aunque las RNN se prestan de forma natural a los datos secuenciales, también pueden utilizarse para hacer predicciones sobre entradas estáticas (como imágenes o de otro tipo). Véase: 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 de la conducta de reconocimiento de objetos centrales
En lugar de decir RNN y FNN se diferencian por su nombre. Así que son diferentes. Creo que lo más interesante es En términos de modelado de sistemas dinámicos, ¿la RNN difiere mucho de la FNN?
Ha habido un debate para el modelado de sistemas dinámicos entre las redes neuronales recurrentes y las redes neuronales de avance con características adicionales como retrasos anteriores (FNN-TD).
Por lo que sé después de leer esos documentos sobre los años 90~2010. La mayoría de la literatura prefiere que la RNN de vainilla es mejor que la FNN en el sentido de que la RNN utiliza un dinámico memoria mientras que FNN-TD es una estático memoria.
Sin embargo, no hay muchos estudios numéricos que comparen a ambos. El primero [1] mostró que para modelar sistemas dinámicos, la FNN-TD muestra un rendimiento comparable al de la RNN de vainilla cuando es sin ruido mientras que el rendimiento es un poco peor cuando hay ruido. En mi experiencia en el modelado de sistemas dinámicos, a menudo veo que FNN-TD es lo suficientemente bueno.
Desgraciadamente, no veo en ningún sitio ni en ninguna publicación que se haya mostrado teóricamente la diferencia entre estos dos. Es bastante interesante. Consideremos un caso sencillo, utilizando una secuencia escalar $X_n, X_{n-1},\ldots,X_{n-k}$ para predecir $X_{n+1}$ . Por lo tanto, es una tarea de secuencia a escala.
La FNN-TD es la forma más general y completa de tratar los llamados efectos de memoria . Como es brutal, cubre cualquier tipo, cualquier clase, cualquier efecto de memoria teóricamente. El único inconveniente es que en la práctica requiere demasiados parámetros.
La memoria en RNN no es más que representada como una "convolución" general de la información anterior . Todos sabemos que la convolución entre dos secuencias escalares, en general, no es un proceso reversible y la deconvolución suele estar mal planteada.
Mi conjetura es El "grado de libertad" en dicho proceso de convolución viene determinado por el número de unidades ocultas en el estado RNN $s$ . Y es importante para algunos sistemas dinámicos. Obsérvese que el "grado de libertad" puede ampliarse con incrustación de estados con retardo de tiempo [2] manteniendo el mismo número de unidades ocultas.
Por lo tanto, la RNN en realidad está comprimiendo la información de la memoria anterior con pérdida al hacer la convolución, mientras que la FNN-TD sólo los expone en un sentido sin pérdida de información de la memoria. Obsérvese que se puede reducir la pérdida de información en la convolución aumentando el número de unidades ocultas o utilizando más retardos de tiempo que la RNN de vainilla. En este sentido, RNN es más flexible que FNN-TD. RNN puede lograr que no haya 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 lleva el efecto de tiempo largo mientras que FNN-TD no puede. Para esto, sólo 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 corto para lograr el mismo rendimiento que la memoria de tiempo aparentemente largo en RNN. Esto explica por qué la RNN y la 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 de un sistema dinámico autónomo, usar más términos previos, aunque efectivamente sería lo mismo que usar FNN-TD con menos términos previos en teoría, numéricamente sería útil en cuanto a que es más robusto al ruido. El resultado en [1] es consistente con esta opinión.
[1]Gençay, Ramazan y Tung Liu. "Modelización y predicción no lineal con redes feedforward y recurrentes". Physica D: Nonlinear Phenomena 108.1-2 (1997): 119-134.
[2]Pan, Shaowu y Karthik Duraisamy. "Data-driven Discovery of Closure Models". arXiv preprint arXiv:1803.09318 (2018).
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
1 votos
Muy relacionado: stats.stackexchange.com/questions/287276/