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 "propagación de errores hacia atrás", es un algoritmo fundamental para entrenar redes neuronales artificiales (RN), especialmente en el campo del aprendizaje profundo (AD). Sirve como mecanismo central que permite a los modelos aprender de sus errores durante el proceso de entrenamiento del modelo. El algoritmo calcula eficazmente la contribución de cada parámetro (como los pesos y sesgos del modelo ) dentro de la red al error global observado en las predicciones del modelo. A continuación, los algoritmos de optimización utilizan esta información de gradiente para ajustar los parámetros de forma iterativa, mejorando progresivamente el rendimiento y la precisión del modelo.

Cómo funciona la retropropagación

El proceso de retropropagación suele seguir un paso inicial hacia adelante en el que los datos de entrada fluyen por la red para generar una predicción. Tras comparar la predicción con el valor objetivo real mediante una función de pérdida, el algoritmo de retropropagación se ejecuta en dos fases principales:

  1. Paso hacia delante: Los datos de entrada se introducen en la red neuronal, pasando por capas de neuronas, cada una de las cuales aplica sus pesos, sesgos y una función de activación (como ReLU o Sigmoide), hasta que se genera una predicción de salida.
  2. Paso hacia atrás: El algoritmo calcula el error (la diferencia entre la predicción y el valor real) utilizando la función de pérdida elegida. A continuación, propaga esta señal de error hacia atrás a través de la red, capa por capa. Utilizando la regla de la cadena del cálculo, calcula el gradiente de la función de pérdida con respecto a cada peso y sesgo de la red. Este gradiente representa cuánto afectaría al error global un pequeño cambio en cada parámetro. Para una comprensión visual, recursos como "Cálculo en grafos computacionales" ofrecen explicaciones útiles.

Una vez calculados los gradientes, un algoritmo de optimización, como el Descenso Gradiente o variantes como el Descenso Gradiente Estocástico (SGD) o el optimizador Adam, utiliza estos gradientes para actualizar los weights and biases de la red. El objetivo es minimizar la función de pérdida, enseñando a la red a hacer mejores predicciones en épocas sucesivas.

Importancia en el aprendizaje profundo

La retropropagación es indispensable para el aprendizaje profundo moderno. Su eficacia en el cálculo de gradientes hace que el entrenamiento de arquitecturas muy profundas y complejas sea computacionalmente factible. Esto incluye modelos como las Redes Neuronales Convolucionales (CNN), que destacan en tareas de visión por ordenador (CV), y las Redes Neuronales Recurrentes (RNN), utilizadas habitualmente para datos secuenciales como en el Procesamiento del Lenguaje Natural (PLN). Sin la retropropagación, ajustar los millones de parámetros de los grandes modelos como el GPT-4 o los entrenados en conjuntos de datos masivos como ImageNet sería poco práctico. Permite a los modelos aprender automáticamente características intrincadas y representaciones jerárquicas a partir de los datos, lo que ha apuntalado muchos avances de la IA desde su popularización, como se detalla en los recursos que cubren la historia del Aprendizaje Profundo. Marcos como PyTorch y TensorFlow se basan en gran medida en motores de diferenciación automática que implementan la retropropagación.

Algoritmos de retropropagación frente a algoritmos de optimización

Es importante distinguir la retropropagación de los algoritmos de optimización. La retropropagación es el método utilizado para calcular los gradientes (la contribución de error de cada parámetro). Los algoritmos de optimización, en cambio, son las estrategias que utilizan esos gradientes calculados para actualizar los parámetros del modeloweights and biases) con el fin de minimizar la pérdida. La retropropagación proporciona la dirección de la mejora, mientras que el optimizador determina el tamaño del paso(velocidad de aprendizaje) y la forma de la actualización.

Aplicaciones en el mundo real

La retropropagación se utiliza implícitamente siempre que un modelo de aprendizaje profundo se somete a entrenamiento. He aquí dos ejemplos concretos:

  1. Detección de objetos con Ultralytics YOLO: Al entrenar un Ultralytics YOLO de Ultralytics (como YOLOv8 o YOLO11) para la detección de objetos en un conjunto de datos como COCO, se utiliza la retropropagación en cada iteración de entrenamiento. Después de que el modelo prediga los recuadros delimitadores y las clases, se calcula la pérdida (por ejemplo, comparando los recuadros predichos con la verdad sobre el terreno). La retropropagación calcula los gradientes de todos los pesos en la columna vertebral y el cabezal de detección del modelo. A continuación, un optimizador utiliza estos gradientes para ajustar los pesos, mejorando la capacidad del modelo para localizar y clasificar objetos con precisión. Los usuarios pueden aprovechar plataformas como Ultralytics HUB para gestionar este proceso de entrenamiento, beneficiándose de implementaciones eficientes de retropropagación. Esto es crucial para aplicaciones que van desde los vehículos autónomos a los sistemas de seguridad.
  2. Modelos de Procesamiento del Lenguaje Natural: Los grandes modelos lingüísticos (LLM), como los modelos BERT y GPT, se entrenan mediante retropropagación. Por ejemplo, en una tarea de análisis de sentimientos, el modelo predice el sentimiento (positivo, negativo, neutro) de un texto dado. La diferencia entre el sentimiento predicho y la etiqueta real da como resultado un valor de error. La retropropagación calcula cuánto ha contribuido cada parámetro de la vasta red a este error. A continuación, los algoritmos de optimización actualizan estos parámetros, permitiendo que el modelo comprenda mejor los matices lingüísticos, el contexto y el sentimiento a lo largo del entrenamiento. Los grupos de investigación académica, como el grupo de PNL de Stanford, exploran y perfeccionan continuamente estas técnicas.
Leer todo