Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Optimizador Adam

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

Adam (Adaptive Moment Estimation) es un sofisticado y ampliamente utilizado algoritmo de optimización diseñado para actualizar los parámetros de una red neuronal durante el proceso de entrenamiento. Combinando las mejores propiedades de otras dos populares extensiones de Descenso Gradiente Estocástico (SGD)-específicamente el Algoritmo de Gradiente Adaptativo (AdaGrad) y la Propagación de la Raíz Cuadrática Media (RMSProp)Adam calcula tasas de aprendizaje adaptativas para cada parámetro individual. adaptativos para cada parámetro individual. Esta capacidad de Esta capacidad le permite manejar gradientes dispersos en problemas ruidosos de manera eficiente, por lo que es una opción predeterminada para el entrenamiento de arquitecturas complejas de aprendizaje profundo (DL). arquitecturas complejas de aprendizaje profundo (AD), incluidos los últimos modelosYOLO11 .

Cómo funciona Adam

El mecanismo central de Adam consiste en calcular el primer y el segundo momento de los gradientes para adaptar la tasa de aprendizaje de cada peso en el modelo. ritmo de aprendizaje de cada peso de la red neuronal. El "primer momento" como el impulso, que mantiene la optimización moviéndose en la dirección correcta de forma similar a una bola pesada rodando colina abajo. El "segundo momento" rastrea la varianza no centrada, escalando efectivamente el tamaño del paso en función de la magnitud histórica de los gradientes.

Durante la retropropagación, el algoritmo calcula el gradiente de la función de pérdida con respecto a los pesos. A continuación, Adam actualiza las medias móviles exponenciales del gradiente (impulso) y del gradiente al cuadrado (varianza). Estas medias móviles se utilizan para escalar el gradiente actual, asegurando que el modelo da pasos más grandes en direcciones con gradientes consistentes y pasos más pequeños en direcciones con alta varianza. Este proceso se detalla en el Adam de Kingma y Ba.

Diferenciar a Adam de otros optimizadores

Para saber cuándo utilizar Adam , hay que compararlo con otros algoritmos habituales en los marcos de en los marcos de aprendizaje automático.

  • Descenso Gradiente Estocástico (SGD): SGD actualiza los parámetros utilizando una tasa de aprendizaje fija (o un simple programa de decaimiento). Aunque el SGD es eficiente computacionalmente eficiente y a menudo generaliza bien, puede tener problemas con los "puntos de silla" en el panorama de pérdidas y converge más lentamente que Adam. converge más lentamente que Adam. Muchas tareas de visión por ordenador de tareas de visión por ordenador utilizan SGD para obtener la máxima precisión.
  • RMSProp: Este optimizador aborda principalmente la disminución de las tasas de aprendizaje observadas en AdaGrad. Adam mejora el RMSProp añadiendo el término de impulso, que ayuda a amortiguar las oscilaciones y acelera la convergencia hacia el mínimo.
  • AdamW: Una variante conocida como Adam con caída de peso desacoplada AdamW) para el entrenamiento de modernos Transformadores y grandes modelos de visión por ordenador. En separa la regularización de la caída del peso de la actualización del gradiente, lo que a menudo resulta en una mejor generalización que el Adam estándar. Adam estándar.

Aplicaciones en el mundo real

Debido a su robustez y a la mínima necesidad de ajuste de hiperparámetros, Adam se utiliza en diversos ámbitos de alto impacto.

  1. La IA en la sanidad: Cuando modelos de entrenamiento para análisis de imágenes médicas,como la detección anomalías en resonancias magnéticas, los datos pueden ser escasos o desequilibrados. Las tasas de aprendizaje adaptativo de Adam ayudan al modelo a converger convergen rápidamente incluso cuando determinadas características en los datos de entrenamiento, lo que facilita herramientas de diagnóstico.
  2. Procesamiento del lenguaje natural (PLN): Los grandes modelos lingüísticos (LLM) como GPT-4 dependen en gran medida de Adam (o AdamW) durante el preentrenamiento. El algoritmo maneja con eficacia el enorme número de parámetros -a menudo miles de millones- y la naturaleza dispersa de las incrustaciones de palabras, lo que permite a estos modelos aprender patrones lingüísticos complejos a partir de grandes conjuntos de datos de texto como Wikipedia.

Utilización en Ultralytics YOLO

Al utilizar la APIPython Ultralytics , puede seleccionar fácilmente el optimizador Adam para entrenar modelos de detección de objetos, segmentación o estimación de pose. Aunque SGD es la opción predeterminada para muchas configuraciones de YOLO , Adam es una excelente alternativa para conjuntos de datos más pequeños o cuando se prioriza la convergencia rápida. rápida.

El siguiente ejemplo muestra cómo entrenar un YOLO11 utilizando el optimizador Adam :

from ultralytics import YOLO

# Load a generic YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset using the 'Adam' optimizer
# The 'optimizer' argument creates the specific PyTorch optimizer instance internally
results = model.train(data="coco8.yaml", epochs=5, optimizer="Adam")

Esta flexibilidad permite a investigadores e ingenieros experimentar con optimizador para encontrar la mejor configuración para sus conjuntos de datos específicos.

Únase a la comunidad Ultralytics

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

Únete ahora