Retropropagación en redes neuronales: algoritmo de aprendizaje automático y ejemplo
⚡ Resumen inteligente
La retropropagación es el algoritmo de entrenamiento principal de una red neuronal, que ajusta cada peso a partir del error medido en la época anterior para que el modelo generalice mejor con datos no vistos, capa por capa.
¿Qué es una red neuronal artificial?
Una red neuronal artificial es un conjunto de unidades de entrada/salida interconectadas, donde cada conexión tiene un peso. Permite construir modelos predictivos a partir de grandes bases de datos, y su diseño se inspira en el sistema nervioso humano. Este tipo de redes facilita la comprensión de imágenes, el aprendizaje automático, el reconocimiento de voz computacional y muchas otras tareas de reconocimiento de patrones.
La retropropagación es el algoritmo que decide cuáles deben ser esos pesos, por lo que es mejor leer ambas ideas conjuntamente.
¿Qué es la retropropagación?
La retropropagación es la base del entrenamiento de redes neuronales. Consiste en ajustar los pesos de una red neuronal en función de 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 aumentar la fiabilidad del modelo, mejorando así su capacidad de generalización.
La propagación hacia atrás en una red neuronal es una forma abreviada de "propagación de errores hacia atrás". Es un método estándar para entrenar 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.
Dos términos que a menudo se confunden. Retropropagación solamente calcula el gradiente; un optimizador como el descenso de gradiente es lo que realmente cambios los pesos usando ese gradiente. Casi todos los frameworks modernos realizan la retropropagación automáticamente a través de su motor de autodiferenciación.
Cómo funciona el algoritmo de retropropagación
El algoritmo de retropropagación en redes neuronales calcula el gradiente de la función de pérdida para un único peso mediante la regla de la cadena. Calcula eficientemente capa por capa, a diferencia del cálculo directo convencional. Calcula el gradiente, pero no define cómo se utiliza. Generaliza el cálculo de la regla delta.
La regla de la cadena es lo que hace que esto sea eficiente. La influencia de un peso inicial en la pérdida final es producto de las derivadas locales a lo largo del camino hacia la salida, por lo que el algoritmo almacena en caché el resultado intermedio de cada capa en el camino de regreso y lo reutiliza para cada peso en la capa inferior en lugar de recalcular toda la red para cada peso.
Considere el siguiente diagrama de ejemplo de red neuronal de retropropagación para comprender. La figura traces un paso completo: las entradas entran por la izquierda, las activaciones avanzan a través de la capa oculta hasta la salida, y el error medido viaja luego hacia atrás a través de las mismas conexiones para corregir los pesos.
- Entradas X, llegan por el camino preconectado
- La entrada se modela utilizando pesos reales W. Los pesos generalmente se seleccionan al azar.
- Calcule la salida para cada neurona desde la capa de entrada hasta las capas ocultas y la capa de salida.
- Calcula el error en las salidas:
ErrorB= Actual Output – Desired Output
- Regrese desde la capa de salida a la capa oculta para ajustar los pesos de manera que disminuya el error.
- Repita el proceso hasta obtener el resultado deseado.
Muchos libros de texto escriben la misma cantidad que deseado menos realCualquiera de las dos convenciones funciona, porque el signo se absorbe cuando el optimizador subtraces el gradiente, siempre que mantengas una convención en toda la red.
En la práctica, el error rara vez es una simple subtracción. Una función de pérdida como el error cuadrático medio para regresión, o la entropía cruzada para clasificación, convierte las diferencias por salida en el único número que la retropropagación del gradiente realmente calcula.
¿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 añade ningún parámetro nuevo; el ajuste que usted realice corresponde al optimizador y a la red, principalmente la tasa de aprendizaje y el número de entradas.
- 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 es necesaria ninguna mención especial de las características de la función a aprender.
En pocas palabras, sin una forma eficiente de obtener gradientes, entrenar cualquier cosa más profunda que una sola capa sería computacionalmente inviable.
¿Qué es una red Feed Forward?
Una red neuronal feedforward es una red neuronal artificial donde 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.
La distinción es importante aquí porque el paso hacia adelante de la retropropagación es exactamente un paso de alimentación hacia adelante; solo que la corrección de errores se ejecuta en la dirección opuesta.
Tipos de redes de retropropagación
Dos tipos de redes de retropropagación son:
- Propagación hacia atrás estática
- Propagación hacia atrás recurrente
Propagación hacia atrás estática
Es un tipo de red de retropropagación que produce un mapa.ping de una entrada estática para una salida estática. Es útil para resolver problemas de clasificación estática, como el reconocimiento óptico de caracteres.
Propagación hacia atrás recurrente
Retropropagación recurrente en la minería de datos Se retroalimenta hasta alcanzar un valor fijo. Después, se calcula el error y se propaga hacia atrás.
La principal diferencia entre ambos métodos es: que el mapaping es rápido en la retropropagación estática, mientras que no es estático en la retropropagación recurrente. La siguiente tabla muestra ambos casos uno al lado del otro.
| Criterio | Propagación hacia atrás estática | Retropropagación recurrente |
|---|---|---|
| Mapeo | Entrada estática a salida estática | No estático; la red se estabiliza antes de que se utilice el error. |
| Velocidad | Rápido, una pasada por muestra. | Más lentamente, la activación se repite hasta que se estabiliza. |
| Forma de red | Retroalimentación anticipada, sin ciclos | Contiene conexiones de retroalimentación |
| Uso típico | Reconocimiento óptico de caracteres, clasificación de tamaño fijo | Problemas cuyo resultado depende de un estado interno establecido. |
Historia de la retropropagación
- En 1961, J. Kelly, Henry Arthur y E. Bryson derivaron el concepto básico de retropropagación continua en el contexto de la teoría de control.
- En 1969, Bryson y Ho desarrollaron un método de optimización de sistemas dinámicos de múltiples etapas.
- En 1970, Seppo Linnainmaa publicó el modo inverso de diferenciación automática, el método computacional en el que se basa la retropropagación moderna.
- En 1974, Werbos planteó la posibilidad de aplicar este principio en una red neuronal artificial.
- En 1982, Hopfield presentó su idea de una red neuronal.
- En 1986, gracias al esfuerzo de David E. Rumelhart, Geoffrey E. Hinton y Ronald J. Williams, la retropropagación ganó reconocimiento.
- En 1989, Yann LeCun y sus colegas entrenaron una red neuronal convolucional con retropropagación para leer dígitos escritos a mano, uno de los primeros usos prácticos a gran escala.
- 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.
- En 2006, el trabajo de Hinton sobre redes neuronales profundas y preentrenamiento por capas reavivó el interés en el entrenamiento de redes profundas, que se había estancado debido al problema de los gradientes evanescentes.
- En 2010, Xavier Glorot y Yoshua Bengio analizaron por qué las redes neuronales profundas eran difíciles de entrenar e introdujeron una inicialización de pesos mejorada, que junto con las funciones de activación ReLU hizo que la retropropagación profunda fuera práctica.
- En 2012, AlexNet (Krizhevsky, Sutskever y Hinton) ganó la competición ImageNet utilizando retropropagación acelerada por GPU, lo que desencadenó el auge moderno del aprendizaje profundo.
- En 2014, se introdujo el optimizador Adam (Kingma y Ba), que rápidamente se convirtió en la variante predeterminada de descenso de gradiente utilizada con retropropagación.
- En 2015, la normalización por lotes y las redes residuales (ResNet) resolvieron los problemas de flujo de gradiente en redes muy profundas, permitiendo la retropropagación a través de cientos de capas.
- En 2015-2017, TensorFlow y PyTorch convirtió la diferenciación automática en una función estándar del software, por lo que ya no era necesario calcular los gradientes manualmente.
- En 2017 se presentó la arquitectura Transformer, que se entrena de extremo a extremo mediante retropropagación, al igual que los grandes modelos de lenguaje construidos sobre ella.
- En 2019, Bengio, Hinton y LeCun recibieron el premio ACM AM Turing por su trabajo en redes neuronales profundas.
- En 2020, el artículo “Backpropagation and the Brain” (Lillicrap, Santoro, Marris, Akerman y Hinton) argumentó que el cerebro puede aproximarse al aprendizaje por retropropagación, reabriendo el debate sobre la plausibilidad biológica.
- En 2022, Hinton propuso el algoritmo Forward-Forward, un método de entrenamiento que evita por completo el paso hacia atrás.
- En 2024, John Hopfield y Geoffrey Hinton fueron galardonados con el Premio Nobel de Física por descubrimientos fundamentales que hicieron posible el aprendizaje automático con redes neuronales artificiales.
- En 2025, los métodos de propagación hacia adelante se extendieron a las redes convolucionales, demostrando que el entrenamiento sin retropropagación podía funcionar en tareas de clasificación de imágenes.
- A partir de 2026, la retropropagación seguirá siendo el algoritmo de entrenamiento estándar para prácticamente todos los modelos de aprendizaje profundo, mientras que la investigación continúa en métodos de aprendizaje sin gradiente, locales y paralelos que reducen su coste de memoria y computación.
Puntos clave de retropropagación
- Simplifica la estructura de la red eliminando los enlaces ponderados que tienen el menor efecto en 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 tiene una determinada variable de entrada en la salida de una red. El conocimiento adquirido a partir de este análisis debe representarse en reglas.
- La retropropagación es especialmente útil para redes neuronales profundas que trabajan en proyectos propensos a errores, como el reconocimiento de imágenes o voz.
- La retropropagación aprovecha las reglas de cadena y potencia, lo que le permite funcionar con cualquier número de salidas.
Mejores prácticas para la retropropagación
La retropropagación en las redes neuronales se puede explicar mediante la analogía de los cordones de los zapatos. Las actualizaciones de peso se comportan de forma similar a la tensión de un cordón: si es muy poca, nada se mantiene unido; si es demasiada, algo se rompe.
| Tensión de encaje | Qué significa durante el entrenamiento |
|---|---|
| Muy poca tensión | No hay suficientes restricciones y es demasiado laxo: el modelo no se ajusta correctamente. |
| Demasiada tensión | Demasiada restricción (sobreentrenamiento); tomar demasiado tiempo (proceso relativamente lento); mayor probabilidad de romperse |
| Tirando de un cordón más que del otro | Malestar (sesgo): una parte de la red domina el ajuste. |
De esta analogía se derivan dos hábitos prácticos: ajustar la escala de las entradas antes del entrenamiento para que ninguna característica ejerza más presión que las demás, y observar la pérdida de validación para liberar la tensión antes de que se produzca el sobreentrenamiento.
Desventajas de utilizar la retropropagación
- El rendimiento real de la retropropagación en un problema específico depende de los datos de entrada.
- El algoritmo de retropropagación en la minería de datos puede ser bastante sensible a los datos ruidosos.
- En un minilote, la retropropagación debe implementarse con un enfoque basado en matrices; looping Analizar un ejemplo a la vez es notablemente más lento.
- En las redes profundas, la multiplicación repetida de derivadas pequeñas puede reducir los gradientes hacia cero, por lo que las primeras capas apenas aprenden: el problema del gradiente evanescente descrito en el Google Curso intensivo de aprendizaje automático.
Ninguno de estos descarta el método. Son las razones por las que los profesionales recurren a las activaciones ReLU, la normalización y los programas de tasa de aprendizaje cuidadosos cuando pasan de una red superficial a una red más profunda. deep learning modelo.

