Glosario

Retropropagación

Descubra cómo la retropropagación entrena redes neuronales, reduce las tasas de error e impulsa con eficacia aplicaciones de IA como el reconocimiento de imágenes y la PNL.

La retropropagación, abreviatura de "backward propagation of errors" (propagación de errores hacia atrás), es un algoritmo fundamental para el entrenamiento de redes neuronales artificiales (NN), especialmente en el campo del aprendizaje profundo (deep learning, DL). Es el mecanismo central que permite a los modelos aprender de sus errores durante el proceso de entrenamiento. El algoritmo calcula eficazmente la contribución de cada parámetro (como los pesos y los sesgos del modelo ) dentro de la red al error general 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 delante en el que los datos de entrada fluyen a través de 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 Sigmoid), 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 en qué medida un pequeño cambio en cada parámetro afectaría al error global. Para una comprensión visual, recursos como "Calculus on Computational Graphs" 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 pesos y sesgos 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 eficiencia en el cálculo de gradientes hace que el entrenamiento de arquitecturas muy profundas y complejas sea computacionalmente viable. 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, el ajuste de millones de parámetros en modelos de gran tamaño como GPT-4 o los entrenados en conjuntos de datos masivos como ImageNet sería impracticable. La retropropagación permite a los modelos aprender automáticamente características complejas y representaciones jerárquicas a partir de los datos, y es la base de muchos avances de la IA desde su popularización, como se detalla en los recursos que cubren la historia del aprendizaje profundo. Frameworks como PyTorch y TensorFlow dependen en gran medida de 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, por su parte, son las estrategias que utilizan estos gradientes calculados para actualizar los parámetros del modelo (pesos y sesgos) con el fin de minimizar la pérdida. La retropropagación proporciona la dirección de mejora, mientras que el optimizador determina el tamaño del paso(velocidad de aprendizaje) y la forma de actualización.

Aplicaciones reales

La retropropagación se utiliza implícitamente cada vez que se entrena un modelo de aprendizaje profundo. He aquí dos ejemplos concretos:

  1. Detección de objetos con Ultralytics YOLO: Cuando se entrena un modelo 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 del entrenamiento. Después de que el modelo prediga los cuadros delimitadores y las clases, se calcula la pérdida (por ejemplo, comparando los cuadros 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 y mejorar 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 eficaces implementaciones 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 determinado. La diferencia entre el sentimiento predicho y la etiqueta real da como resultado un valor de error. La retropropagación calcula en qué medida ha contribuido a este error cada parámetro de la amplia red. A continuación, los algoritmos de optimización actualizan estos parámetros, lo que permite al modelo comprender mejor los matices lingüísticos, el contexto y el sentimiento a lo largo del entrenamiento. Grupos de investigación académica como el de PNL de Stanford exploran y perfeccionan continuamente estas técnicas.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles