Antes de aprender Backpropagation, vamos a entender:
¿Qué son las redes neuronales artificiales?
Una red neuronal es un grupo de unidades de E/S conectadas donde cada conexión tiene un peso asociado a sus programas informáticos. Ayuda a construir modelos predictivos a partir de grandes bases de datos. Este modelo se basa en el sistema nervioso humano. Le ayuda a realizar la comprensión de imágenes, el aprendizaje humano, el habla por ordenador, etc.
¿Qué es la retropropagación?
La retropropagación es la esencia del entrenamiento de redes neuronales. Es el método de ajuste fino de los pesos de una red neuronal basado en la tasa de error obtenida en la época anterior (es decir, la iteración). Un ajuste adecuado de los pesos permite reducir las tasas de error y hacer que el modelo sea fiable aumentando su generalización.
La retropropagación es una forma abreviada de «propagación de errores hacia atrás». Es un método estándar de entrenamiento de redes neuronales artificiales. Este método ayuda a calcular el gradiente de una función de pérdida con respecto a todos los pesos de la red.
En este tutorial, aprenderás:
- ¿Qué son las redes neuronales artificiales?
- ¿Qué es la retropropagación?
- Cómo funciona la retropropagación
- ¿Por qué necesitamos la retropropagación?
- ¿Qué es una red Feed Forward?
- Tipos de redes de retropropagación
- Historia de la retropropagación
- Puntos clave de la retropropagación
- Mejores prácticas de retropropagación
- Desventajas del uso de la retropropagación
Cómo funciona la retropropagación: Algoritmo simple
Considere el siguiente diagrama
- Las entradas X, llegan a través de la ruta preconectada
- La entrada se modela utilizando pesos reales W. Los pesos suelen ser seleccionados al azar.
- Calcular la salida para cada neurona desde la capa de entrada, a las capas ocultas, hasta la capa de salida.
- Calcular el error en las salidas
ErrorB= Actual Output – Desired Output
- Volver a viajar desde la capa de salida a la capa oculta para ajustar los pesos de forma que el error disminuya.
Seguir repitiendo el proceso hasta conseguir la salida deseada
¿Por qué necesitamos la retropropagación?
Las ventajas más destacadas de la retropropagación son:
- La retropropagación es rápida, sencilla y fácil de programar
- No tiene parámetros que afinar aparte de los números de entrada
- Es un método flexible ya que no requiere conocimientos previos sobre la red
- Es un método estándar que generalmente funciona bien
- No necesita ninguna mención especial de las características de la función a aprender.
¿Qué es una red feedforward?
Una red neuronal feedforward es una red neuronal artificial en la que los nodos nunca forman un ciclo. Este tipo de red neuronal tiene una capa de entrada, capas ocultas y una capa de salida. Es el primer y más simple tipo de red neuronal artificial.
Tipos de redes de retropropagación
Dos tipos de redes de retropropagación son:
- Retropropagación estática
- Recurrente
Retropropagación estática:
Es un tipo de red de retropropagación que produce un mapeo de una entrada estática para una salida estática. Es útil para resolver problemas de clasificación estática como el reconocimiento de caracteres ópticos.
Retropropagación recurrente:
La retropropagación recurrente se alimenta hacia adelante hasta que se alcanza un valor fijo. Después de eso, se calcula el error y se propaga hacia atrás.
La principal diferencia entre ambos métodos es: que el mapeo es rápido en la retropropagación estática mientras que es no estático en la retropropagación recurrente.
Historia de la retropropagación
- En 1961, los conceptos básicos de la retropropagación continua fueron derivados en el contexto de la teoría de control por J. Kelly, Henry Arthur y E. Bryson.
- En 1969, Bryson y Ho dieron un método de optimización de sistemas dinámicos de varias etapas.
- En 1974, Werbos planteó la posibilidad de aplicar este principio en una red neuronal artificial.
- En 1982, Hopfield aportó su idea de red neuronal.
- En 1986, por el esfuerzo de David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, la retropropagación obtuvo reconocimiento.
- En 1993, Wan fue la primera persona en ganar un concurso internacional de reconocimiento de patrones con la ayuda del método de retropropagación.
Puntos clave de la retropropagación
- Simplifica la estructura de la red mediante elementos de enlaces ponderados que tienen el menor efecto sobre la red entrenada
- Es necesario estudiar un grupo de valores de entrada y activación para desarrollar la relación entre las capas de entrada y de unidades ocultas.
- Ayuda a evaluar el impacto que una determinada variable de entrada tiene en la salida de una red. El conocimiento obtenido de este análisis debe representarse en reglas.
- La retropropagación es especialmente útil para las redes neuronales profundas que trabajan en proyectos propensos a errores, como el reconocimiento de imágenes o del habla.
- La retropropagación aprovecha las reglas de cadena y potencia permite que la retropropagación funcione con cualquier número de salidas.
Mejores prácticas de Backpropagation
La retropropagación se puede explicar con la ayuda de la analogía del «cordón de los zapatos»
Demasiada poca tensión =
La retropropagación se puede explicar con la ayuda de la analogía del «cordón de los zapatos».
- No se restringe lo suficiente y está muy flojo
Demasiada tensión =
- Demasiada restricción (sobreentrenamiento)
- Toma demasiado tiempo (proceso relativamente lento)
- Mayor probabilidad de rotura
Tirar de un cordón más que de otro =
- Incomodidad (sesgo)
Desventajas del uso de la retropropagación
- El rendimiento real de la retropropagación en un problema específico depende de los datos de entrada.
- La retropropagación puede ser bastante sensible a los datos ruidosos
- Es necesario utilizar el enfoque basado en matrices para la retropropagación en lugar de mini lotes.
Resumen
- Una red neuronal es un grupo de unidades de E/S conectadas donde cada conexión tiene un peso asociado a sus programas informáticos.
- La retropropagación es una forma abreviada de «propagación de errores hacia atrás». Es un método estándar de entrenamiento de redes neuronales artificiales
- La retropropagación es rápida, sencilla y fácil de programar
- Una red neuronal feedforward es una red neuronal artificial.
- Dos tipos de redes de retropropagación son 1)Retropropagación estática 2) Retropropagación recurrente
- En 1961, los conceptos básicos de la retropropagación continua fueron derivados en el contexto de la teoría de control por J. Kelly, Henry Arthur y E. Bryson.
- La retropropagación simplifica la estructura de la red eliminando los enlaces ponderados que tienen un efecto mínimo en la red entrenada.
- Es especialmente útil para las redes neuronales profundas que trabajan en proyectos propensos a errores, como el reconocimiento de imágenes o del habla.
- El mayor inconveniente de la Backpropagation es que puede ser sensible para los datos ruidosos.
- .