Glosario

Optimizador Adam

Aprende cómo el optimizador Adam potencia el entrenamiento eficiente de redes neuronales con tasas de aprendizaje adaptables, impulso y aplicaciones reales en IA.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Adam (Estimación Adaptativa de Momentos) es un algoritmo de optimización ampliamente adoptado y utilizado en el aprendizaje profundo (DL) y el aprendizaje automático (ML). Está diseñado para actualizar eficazmente los pesos de la red durante el proceso de entrenamiento adaptando la tasa de aprendizaje de cada parámetro individualmente. Presentado en el artículo"Adam: A Method for Stochastic Optimization" por Diederik P. Kingma y Jimmy Ba, Adam combina las ventajas de otras dos populares técnicas de optimización: AdaGrad (Algoritmo de Gradiente Adaptativo) y RMSprop(Propagación de la Raíz Cuadrática Media). Esta combinación lo hace especialmente eficaz para entrenar grandes redes neuronales con numerosos parámetros y conjuntos de datos complejos.

Cómo funciona Adán

Adam calcula tasas de aprendizaje adaptativo para cada parámetro basándose en estimaciones del primer y segundo momento de los gradientes. Esencialmente, realiza un seguimiento de una media exponencialmente decreciente de los gradientes pasados (similar al momento) y una media exponencialmente decreciente de los gradientes pasados al cuadrado (similar a AdaGrad/RMSprop).

  • Momento: Ayuda a acelerar el descenso del gradiente en la dirección correspondiente y amortigua las oscilaciones, lo que conduce a una convergencia más rápida.
  • Tasa de aprendizaje adaptativa: Ajusta la tasa de aprendizaje de cada peso en función de la frecuencia y el tamaño histórico de las actualizaciones. Los parámetros que reciben actualizaciones grandes o frecuentes obtienen tasas de aprendizaje menores, mientras que los que tienen actualizaciones pequeñas o poco frecuentes obtienen tasas mayores. Esto es especialmente útil para problemas con gradientes dispersos o datos ruidosos.
  • Corrección del sesgo: Adam incluye un mecanismo para contrarrestar el sesgo inicial hacia cero en las estimaciones del momento, especialmente durante las primeras fases del entrenamiento, cuando las medias de decaimiento aún se están inicializando.

En comparación con algoritmos más sencillos como el Descenso Gradiente Estocástico (SGD), que utiliza una tasa de aprendizaje única y fija (o una que decae según un programa), la adaptación por parámetro de Adam a menudo permite avanzar más rápidamente en la búsqueda de una buena solución, especialmente con paisajes de pérdidas complejos.

Ventajas de Adán

Adán es popular por varias razones:

  • Eficiencia computacional: Requiere relativamente poca memoria y es eficiente desde el punto de vista computacional.
  • Buen rendimiento por defecto: Los hiperparámetros por defecto suelen funcionar bien en una amplia gama de problemas, lo que reduce la necesidad de un ajuste exhaustivo de los hiperparámetros.
  • Idoneidad para problemas grandes: Funciona bien en problemas con grandes conjuntos de datos y espacios de parámetros de alta dimensión, habituales en la visión por ordenador (VC) y el procesamiento del lenguaje natural (PLN).
  • Maneja objetivos no estacionarios: Es adecuado para problemas en los que la función objetivo cambia con el tiempo.
  • Eficaz con gradientes dispersos: Los ritmos de aprendizaje adaptativos lo hacen adecuado para escenarios en los que los gradientes son dispersos.

Ejemplos reales

Adam es un optimizador para muchos modelos de última generación:

Ejemplo 1: Visión por ordenador

En visión por ordenador, Adam se utiliza con frecuencia para entrenar Redes Neuronales Convolucionales (CNN ) profundas para tareas como la clasificación de imágenes, la detección de objetos y la segmentación de imágenes. Por ejemplo, entrenar una Ultralytics YOLO de Ultralytics para detectar objetos en imágenes(como los del conjunto de datos COCO) o realizar la segmentación de instancias puede aprovechar Adam para lograr una convergencia eficiente durante la fase de entrenamiento. También se aplica en el análisis de imágenes médicas para tareas como la detección de tumores.

Ejemplo 2: Procesamiento del lenguaje natural

Adam es un optimizador estándar para entrenar grandes modelos lingüísticos (LLM) como las variantes BERT y GPT. Cuando se entrenan modelos para tareas como la traducción automática, el resumen de textos o el análisis de sentimientos, Adam ayuda a navegar eficazmente por el complejo panorama de las funciones de pérdida asociadas a estos grandes modelos(basados en transformadores).

Uso en Ultralytics YOLO

Dentro del ecosistema Ultralytics , Adam y su variante AdamW (Adam con decaimiento de peso desacoplado) son optimizadores disponibles para el entrenamiento de los modelosYOLO Ultralytics . Aprovechar las tasas de aprendizaje adaptativo de Adam puede acelerar la convergencia durante el entrenamiento de modelos de detección de objetos, segmentación de instancias o estimación de poses como YOLO11 o YOLOv10. Aunque SGD suele ser el optimizador predeterminado y recomendado para algunos modelos YOLO debido a su potencial mejor generalización final(evitando el sobreajuste), Adam proporciona una alternativa robusta, especialmente útil en determinados escenarios o durante la experimentación inicial y la evaluación del modelo. Puedes configurar fácilmente el optimizador y otros ajustes de entrenamiento. Herramientas como Ultralytics HUB agilizan el proceso, permitiendo a los usuarios entrenar modelos utilizando varios optimizadores, incluido Adam, ya sea localmente o mediante entrenamiento en la nube. Frameworks como PyTorch y TensorFlow proporcionan implementaciones estándar de Adam, que se utilizan en el marco de Ultralytics . Para mejorar aún más el rendimiento, considera técnicas como la destilación de conocimientos o la exploración de diferentes arquitecturas de modelos.

Leer todo