¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024
Glosario

Descenso de gradiente estocástico (SGD)

Descubra cómo el Descenso de Gradiente Estocástico optimiza los modelos de aprendizaje automático, permitiendo un entrenamiento eficiente para grandes conjuntos de datos y tareas de aprendizaje profundo.

El Descenso de Gradiente Estocástico (SGD) es un algoritmo de optimización fundamental y ampliamente utilizado en el aprendizaje automático (ML). Es un método iterativo que se utiliza para entrenar modelos ajustando sus parámetros internos, como los pesos y sesgos, para minimizar una función de pérdida. A diferencia del Descenso de Gradiente tradicional, que procesa todo el conjunto de datos para cada actualización, el SGD actualiza los parámetros utilizando solo una muestra de entrenamiento única seleccionada aleatoriamente. Este enfoque "estocástico" hace que el proceso de entrenamiento sea significativamente más rápido y escalable, lo cual es especialmente importante cuando se trabaja con big data. Las actualizaciones ruidosas también pueden ayudar al modelo a escapar de mínimos locales deficientes en el panorama de errores y, potencialmente, encontrar una mejor solución general.

Cómo funciona el descenso de gradiente estocástico

La idea central detrás de SGD es aproximar el gradiente verdadero de la función de pérdida, que se calcula sobre todo el conjunto de datos, utilizando el gradiente de la pérdida para una sola muestra. Si bien este gradiente de una sola muestra es una estimación ruidosa, es computacionalmente barato y, en promedio, apunta en la dirección correcta. El proceso implica repetir un ciclo simple de dos pasos para cada muestra de entrenamiento:

  1. Calcular el gradiente: Calcula el gradiente de la función de pérdida con respecto a los parámetros del modelo para un único ejemplo de entrenamiento.
  2. Actualizar los parámetros: Ajuste los parámetros en la dirección opuesta al gradiente, escalado por una tasa de aprendizaje. Esto mueve el modelo hacia un estado con menor error para esa muestra específica.

Este ciclo se repite durante muchos pases sobre todo el conjunto de datos, conocidos como épocas, mejorando gradualmente el rendimiento del modelo. La eficiencia de SGD lo ha convertido en una piedra angular del aprendizaje profundo (DL) moderno, y es compatible con todos los frameworks principales como PyTorch y TensorFlow.

SGD vs. Otros Optimizadores

SGD es uno de los varios métodos de optimización basados en gradientes, cada uno con sus propias ventajas y desventajas.

  • Descenso de gradiente por lotes (Batch Gradient Descent): Este método calcula el gradiente utilizando todo el conjunto de datos de entrenamiento. Proporciona una ruta estable y directa hacia el mínimo, pero es extremadamente lento y requiere mucha memoria para grandes conjuntos de datos, lo que lo hace poco práctico para la mayoría de las aplicaciones modernas.
  • Descenso de gradiente de mini lotes: Este es un punto intermedio entre Batch GD y SGD. Actualiza los parámetros utilizando un subconjunto pequeño y aleatorio (un "mini lote") de los datos. Equilibra la estabilidad de Batch GD con la eficiencia de SGD y es el enfoque más común utilizado en la práctica.
  • Optimizador Adam: Adam es un algoritmo de optimización adaptativo que mantiene una tasa de aprendizaje separada para cada parámetro y la ajusta a medida que avanza el aprendizaje. A menudo converge más rápido que SGD, pero SGD a veces puede encontrar un mínimo mejor y ofrecer una mejor generalización, lo que ayuda a prevenir el sobreajuste.

Aplicaciones en el mundo real

SGD y sus variantes son fundamentales para entrenar una amplia gama de modelos de IA en diferentes dominios.

  • Entrenamiento de Detección de Objetos en Tiempo Real: Para modelos como Ultralytics YOLO diseñados para la inferencia en tiempo real, el entrenamiento debe ser eficiente. SGD permite a los desarrolladores entrenar estos modelos en grandes conjuntos de datos de imágenes como COCO o conjuntos de datos personalizados gestionados a través de plataformas como Ultralytics HUB. Las actualizaciones rápidas permiten una convergencia más rápida en comparación con Batch GD, crucial para iterar rápidamente durante el desarrollo del modelo y el ajuste de hiperparámetros. Esta eficiencia apoya las aplicaciones en campos como los vehículos autónomos y la robótica.
  • Entrenamiento de modelos de lenguaje grandes (LLM): El entrenamiento de modelos para el Procesamiento del Lenguaje Natural (PNL) a menudo implica conjuntos de datos de texto masivos. SGD y sus variantes son esenciales para iterar a través de estos datos de manera eficiente, permitiendo que modelos como GPT-4 o aquellos que se encuentran en Hugging Face aprendan gramática, contexto y semántica. La naturaleza estocástica ayuda a escapar de mínimos locales pobres en el complejo paisaje de pérdida, un desafío común en el entrenamiento de grandes redes neuronales. Este proceso es fundamental para tareas como la traducción automática y el análisis de sentimientos.

Únete a la comunidad de Ultralytics

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

Únete ahora
Enlace copiado al portapapeles