Glosario

Descenso Gradiente

Descubre cómo el Descenso Gradual optimiza modelos de IA como Ultralytics YOLO , permitiendo predicciones precisas en tareas que van desde la asistencia sanitaria a los coches autoconducidos.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

El Descenso Gradiente es un algoritmo de optimización fundamental ampliamente utilizado en el aprendizaje automático (AM) y la inteligencia artificial (IA). Sirve como método principal para entrenar muchos modelos, incluidas arquitecturas complejas de aprendizaje profundo como Ultralytics YOLO. El objetivo del Descenso Gradiente es ajustar iterativamente los parámetros internos del modelo (a menudo denominados pesos y sesgos del modelo ) para minimizar una función de pérdida, que mide la diferencia entre las predicciones del modelo y los valores objetivo reales. Imagina que intentas encontrar el punto más bajo de un valle con los ojos vendados; el Descenso Gradiente te guía evaluando la pendiente (gradiente) en tu posición actual y dando pequeños pasos en la dirección descendente más pronunciada. Este proceso iterativo permite a los modelos aprender de los datos y mejorar su precisión predictiva.

Relevancia en el aprendizaje automático

El Descenso Gradiente es especialmente crucial para entrenar modelos sofisticados como las redes neuronales (RN ) que constituyen la base de muchas aplicaciones modernas de IA. Estos modelos, incluidos los utilizados para la detección de objetos, la clasificación de imágenes y el procesamiento del lenguaje natural (PLN), a menudo tienen millones o incluso miles de millones de parámetros que necesitan optimización. El Descenso Gradiente, junto con sus variantes, proporciona una forma computacionalmente factible de navegar por el complejo paisaje de pérdidas (la superficie de alta dimensión que representa el valor de la pérdida para todas las combinaciones posibles de parámetros) y encontrar valores de parámetros que produzcan un buen rendimiento. Sin una optimización eficaz mediante el Descenso Gradiente, el entrenamiento de estos grandes modelos con altos niveles de precisión sería impracticable. Los principales marcos de ML como PyTorch y TensorFlow se basan en gran medida en diversas implementaciones del Descenso Gradiente y algoritmos relacionados, como la retropropagación, para calcular los gradientes necesarios. Puedes explorar los consejos de entrenamiento de modelos para obtener información sobre cómo optimizar este proceso.

Conceptos clave y variantes

La idea central del Descenso Gradiente consiste en calcular el gradiente (la dirección de ascenso más pronunciada) de la función de pérdida con respecto a los parámetros del modelo y, a continuación, dar un paso en la dirección opuesta (cuesta abajo). El tamaño de este paso está controlado por la tasa de aprendizaje, un hiperparámetro crítico que determina la rapidez con la que aprende el modelo. Una tasa de aprendizaje demasiado pequeña puede provocar una convergencia lenta, mientras que una demasiado grande puede hacer que el proceso de optimización sobrepase el mínimo o incluso diverja. Existen diversas variaciones del Descenso Gradiente, que difieren principalmente en la cantidad de datos que se utilizan para calcular el gradiente en cada paso:

  • Descenso de gradiente por lotes (BGD): Calcula el gradiente utilizando todo el conjunto de datos de entrenamiento. Esto proporciona una estimación precisa del gradiente, pero puede ser muy costoso y lento desde el punto de vista informático para grandes conjuntos de datos.
  • Descenso Gradiente Estocástico (SGD): Actualiza los parámetros utilizando el gradiente calculado a partir de un único ejemplo de entrenamiento en cada paso. Es mucho más rápido y puede escapar de mínimos locales poco profundos, pero las actualizaciones son ruidosas, lo que conduce a una trayectoria de convergencia menos estable.
  • Mini-lote de Descenso Gradiente: Un compromiso entre BGD y SGD. Calcula el gradiente utilizando un subconjunto pequeño y aleatorio (minilotes) de los datos de entrenamiento (controlado por el hiperparámetro de tamaño del lote ). Equilibra la precisión de la BGD con la eficiencia de la SGD y es la variante más utilizada en el aprendizaje profundo.
  • Optimizadores adaptativos: Algoritmos como Adam(enlace al artículo), Adagrad y RMSprop ajustan automáticamente la tasa de aprendizaje de cada parámetro durante el entrenamiento, lo que a menudo conduce a una convergencia más rápida y a un mejor rendimiento en comparación con el SGD básico o el GD minilotes. Se utilizan con frecuencia en plataformas como Ultralytics HUB para el entrenamiento de modelos. Puedes encontrar más detalles sobre las variantes en la página de Wikipedia sobre Descenso Gradiente.

Diferencias con conceptos afines

El Descenso Gradiente es un tipo específico de algoritmo de optimización, centrado en minimizar iterativamente una función de pérdida ajustando los parámetros del modelo mediante gradientes. Difiere de otros conceptos importantes en el entrenamiento de modelos:

Aplicaciones en el mundo real

El Descenso Gradiente es el motor que está detrás de los modelos de entrenamiento de innumerables aplicaciones de IA del mundo real, permitiendo que los modelos aprendan de enormes cantidades de datos en escenarios de aprendizaje supervisado y más allá:

  1. Análisis de imágenes médicas: En la IA sanitaria, el Descenso Gradiente entrena Redes Neuronales Convolucionales (CNN ) para tareas como el análisis de imágenes médicas. Por ejemplo, optimiza los modelos para detectar tumores o anomalías en radiografías, tomografías computarizadas o resonancias magnéticas minimizando la diferencia entre la segmentación o clasificación prevista por el modelo y la verdad sobre el terreno proporcionada por los radiólogos(véase un ejemplo de entrada de blog). Revistas como Radiology: Artificial Intelligence muestran estos avances.
  2. Sistemas de recomendación: Empresas como Netflix y Amazon utilizan algoritmos de recomendación entrenados con Descenso Gradiente. Estos algoritmos aprenden las preferencias de los usuarios y las características de los artículos minimizando una función de pérdida que predice las valoraciones de los usuarios o la probabilidad de interacción, lo que les permite sugerir películas, productos o contenidos relevantes.
  3. Vehículos autónomos: Los modelos utilizados en vehículos autón omos para tareas de percepción, como la identificación de peatones, coches y carriles de tráfico mediante cuadros delimitadores, se entrenan utilizando el Descenso Gradiente. Esta optimización es fundamental para la seguridad y fiabilidad de la tecnología de conducción autónoma, como se observa en los sistemas desarrollados por empresas como Waymo. Esto es muy relevante para la IA en Automoción.
Leer todo