machine-learning - recurrente - redes neuronales
¿Cuál es la diferencia entre la propagación hacia atrás y la red neuronal de avance? (3)
Las redes neuronales se pueden entrenar usando dos algoritmos: Feed-Forward y Recurrent (propagación hacia atrás).
Feed Forward Neural Networks
En estos tipos de redes neuronales, la información fluye en una sola dirección, es decir, desde la capa de entrada a la capa de salida. Cuando los pesos se deciden una vez, generalmente no se cambian. Uno o bien decide explícitamente los pesos o utiliza funciones como la función de base radial para decidir los pesos. Los nodos aquí hacen su trabajo sin saber si los resultados producidos son precisos o no (es decir, no se reajustan según el resultado producido). No hay comunicación de vuelta de las capas por delante.
Redes neuronales recurrentes (propagación hacia atrás)
La información pasa de la capa de entrada a la capa de salida para producir el resultado. El error en el resultado se comunica a las capas anteriores ahora. Los nodos se dan cuenta de cuánto contribuyeron en la respuesta al estar equivocados. Los pesos se reajustan. Se ha mejorado la red neuronal. Se aprende Hay un flujo de información bidireccional. Básicamente esto tiene implementados ambos algoritmos, feed-forward y back-propagation.
¿Cuál es la diferencia entre las redes neuronales de propagación hacia atrás y de avance?
Al buscar en Google y leer, descubrí que en el avance es sólo una dirección hacia adelante, pero en la propagación hacia atrás una vez que necesitamos hacer una propagación hacia adelante y luego hacia la propagación hacia atrás. Me referí a este enlace.
- ¿Alguna otra diferencia que no sea la dirección del flujo? ¿Qué pasa con el cálculo del peso? ¿El resultado?
- Digamos que estoy implementando la propagación hacia atrás, es decir, contiene flujos hacia adelante y hacia atrás. Entonces, ¿es suficiente la propagación hacia atrás para mostrar el avance?
No existe una red pura de propagación hacia atrás o pura red neuronal.
La propagación hacia atrás es un algoritmo para entrenar (ajustar el peso) de la red neuronal. La entrada para backpropagation es output_vector, target_output_vector, la salida es ajustada_weight_vector.
Feed-forward es un algoritmo para calcular el vector de salida del vector de entrada. La entrada para el feed-forward es input_vector, la salida es output_vector.
Cuando estás entrenando una red neuronal, necesitas usar ambos algoritmos.
Cuando está utilizando una red neuronal (que ha sido entrenada), solo está utilizando la función de reenvío.
El tipo Bacis de red neuronal es un perceptrón multicapa, que es una red neuronal de propagación hacia atrás Feed-forward.
También hay tipos más avanzados de redes neuronales, que utilizan algoritmos modificados.
También es una buena fuente para estudiar: ftp://ftp.sas.com/pub/neural/FAQ.html mejor principio para entender es programarlo (tutorial en este video) https://www.youtube.com/watch?v=KkwX7FkLfug
Una red neuronal de avance es un tipo de arquitectura de red neuronal en la que las conexiones se "alimentan", es decir, no forman ciclos (como en las redes recurrentes).
El término "Avance de avance" también se usa cuando ingresa algo en la capa de entrada y viaja de entrada a oculto y de oculto a capa de salida.
Los valores son "alimentados hacia adelante" .
Ambos usos de la frase "feed forward" se encuentran en un contexto que no tiene nada que ver con la capacitación en sí.
- Backpropagation es un algoritmo de entrenamiento que consta de 2 pasos: 1) Reenviar los valores 2) Calcular el error y propagarlo de nuevo a las capas anteriores. Entonces, para ser precisos, la propagación hacia adelante es parte del algoritmo de propagación hacia atrás pero viene antes que la propagación hacia atrás.