Glosario

Retropropagación

Aprende cómo la retropropagación entrena redes neuronales, reduce las tasas de error y potencia eficazmente aplicaciones de IA como el reconocimiento de imágenes y la PNL.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La retropropagación, abreviatura de "retropropagación de errores", es un algoritmo fundamental utilizado para entrenar redes neuronales artificiales, especialmente en el aprendizaje profundo. Es el motor que permite a los modelos aprender de sus errores calculando eficazmente cuánto ha contribuido cada parámetro (peso y sesgo) de la red al error global en las predicciones. A continuación, los algoritmos de optimización utilizan esta información para ajustar los parámetros y mejorar el rendimiento del modelo a lo largo del tiempo durante el entrenamiento del modelo.

Cómo funciona la retropropagación

El proceso implica dos fases principales tras una predicción inicial:

  1. Paso adelante: Los datos de entrada pasan por la red, capa a capa, activando las neuronas y aplicando los pesos del modelo hasta que se genera una salida (predicción).
  2. Cálculo del error: La diferencia entre la predicción de la red y el valor objetivo real (la verdad sobre el terreno) se calcula utilizando una función de pérdida. Esta pérdida cuantifica lo errónea que fue la predicción. Un recurso habitual para entender esto es el capítulo del Deep Learning Book sobre MLP.
  3. Paso hacia atrás: Aquí es donde realmente se produce la retropropagación. Partiendo de la capa de salida, el algoritmo calcula el gradiente de la función de pérdida con respecto a los weights and biases de cada capa. Utiliza la regla de la cadena del cálculo para propagar eficazmente la señal de error hacia atrás a través de la red, capa por capa. Esto determina cuánto debe cambiar cada parámetro para reducir el error global. Las visualizaciones como las de "Cálculo en grafos computacionales" pueden ayudar a ilustrar este flujo.
  4. Actualización de pesos: Los gradientes calculados se utilizan en un algoritmo de optimización, como el de Descenso Gradual o variantes más avanzadas como Adam, para actualizar weights and biases de la red, empujando al modelo a hacer mejores predicciones en la siguiente iteración.

Importancia en el aprendizaje profundo

La retropropagación es fundamental para el éxito del aprendizaje profundo moderno. Permite el entrenamiento de arquitecturas muy profundas y complejas, como las Redes Neuronales Convolucionales (CNN), muy utilizadas en visión por ordenador, y las Redes Neuronales Recurrentes (RNN), utilizadas para datos secuenciales como el texto. Sin una forma eficaz de calcular gradientes como la que proporciona la retropropagación, el entrenamiento de estos grandes modelos sería inviable desde el punto de vista informático. Permite que los modelos aprendan automáticamente características y relaciones intrincadas a partir de grandes cantidades de datos, formando la base de muchos avances de la IA desde su popularización en los años 80, detallados en los recursos que cubren la historia del Aprendizaje Profundo.

Aplicaciones en el mundo real

La retropropagación se utiliza implícitamente siempre que se entrena un modelo de aprendizaje profundo. Aquí tienes dos ejemplos:

  1. Detección de objetos: Modelos como Ultralytics YOLO se entrenan mediante retropropagación. Cuando el modelo identifica incorrectamente un objeto o coloca un cuadro delimitador de forma imprecisa en una imagen de conjuntos de datos como COCO, la retropropagación calcula los gradientes necesarios para ajustar los pesos del modelo, mejorando su capacidad para realizar la detección de objetos con precisión.
  2. Procesamiento del Lenguaje Natural (PLN): El entrenamiento de grandes modelos lingüísticos como el BERT o el GPT para tareas como la traducción automática o el análisis de sentimientos se basa en gran medida en la retropropagación. Ajusta los parámetros del modelo para minimizar la diferencia entre el texto generado y la salida deseada, lo que permite a estos modelos comprender y generar un lenguaje similar al humano. El grupo de PNL de Stanford proporciona muchos recursos sobre estos temas.

Conceptos relacionados

Aunque está estrechamente relacionada, la Retropropagación es distinta del Descenso Gradiente. La Retropropagación es el algoritmo específico para calcular los gradientes de la función de pérdida con respecto a los parámetros de la red. El Descenso Gradiente (y sus variantes) es el algoritmo de optimización que utiliza estos gradientes calculados para actualizar iterativamente los parámetros y minimizar la pérdida. La retropropagación a veces puede sufrir problemas como el gradiente evanescente, especialmente en redes muy profundas, aunque técnicas como el uso de funciones de activación ReLU y conexiones residuales ayudan a mitigarlo.

Leer todo