Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Ottimizzatore Adam

Scoprite come l'ottimizzatore Adam consente un addestramento efficiente delle reti neurali con tassi di apprendimento adattivi, slancio e applicazioni reali nell'IA.

Adam , abbreviazione di Adaptive Moment Estimation, è un sofisticato algoritmo di ottimizzazione ampiamente utilizzato per addestrare modelli di deep learning. Ha rivoluzionato il settore combinando i vantaggi di altre due popolari estensioni della discesa stocastica del gradiente (SGD): Adaptive Gradient Algorithm (AdaGrad) e Root Mean Square Propagation (RMSProp). Calcolando i singoli tassi di apprendimento adattivo per diversi parametri dalle stime del primo e del secondo momento dei gradienti, Adam alle reti neurali di convergere in modo significativamente più rapido rispetto ai metodi tradizionali. La sua robustezza e i requisiti minimi di messa a punto lo rendono la scelta predefinita per molti professionisti che iniziano un nuovo progetto di machine learning (ML).

Come funziona Adam

Fondamentalmente, l'addestramento di un modello comporta la minimizzazione di una funzione di perdita, che misura la differenza tra le previsioni del modello e i dati effettivi. Gli algoritmi standard utilizzano in genere una dimensione di passo costante (velocità di apprendimento) per scendere nel "paesaggio di perdita" verso l'errore minimo. Tuttavia, questo paesaggio è spesso complesso, caratterizzato da burroni e altipiani che possono intrappolare gli algoritmi più semplici.

Adam questo problema mantenendo due buffer storici per ogni parametro:

  1. Momentum (Primo Momento): Simile a una palla pesante che rotola giù da una collina, questo traccia la media mobile dei gradienti passati per mantenere la velocità nella direzione pertinente.
  2. Varianza (secondo momento): tiene traccia della media mobile dei gradienti al quadrato, che scala il tasso di apprendimento.

Questa combinazione consente all'ottimizzatore di compiere passi più ampi nelle aree pianeggianti del paesaggio e passi più piccoli e cauti nelle aree ripide o rumorose. I meccanismi specifici sono descritti in dettaglio nel fondamentale articoloAdam di Kingma e Ba, che ne ha dimostrato la superiorità empirica in vari compiti di deep learning (DL).

Applicazioni nel mondo reale

La versatilità Adam ha portato alla sua adozione in quasi tutti i settori dell' intelligenza artificiale (IA).

  • Elaborazione del linguaggio naturale (NLP): i modelli linguistici di grandi dimensioni, come i Generative Pre-trained Transformers (GPT), si basano in larga misura su Adam o sulla sua variante AdamW) per l'addestramento. L'algoritmo gestisce in modo efficiente i gradienti sparsi associati a vasti vocabolari e set di dati massicci, consentendo la creazione di potenti chatbot e sistemi di traduzione.
  • Visione detect nel settore sanitario: nell' analisi delle immagini mediche, i modelli devono rilevare anomalie sottili come i tumori nelle scansioni MRI. Adam le reti neurali convoluzionali (CNN)a convergere rapidamente verso soluzioni altamente accurate, il che è fondamentale quando si sviluppano strumenti diagnostici per l' IA nel settore sanitario.

Adam SGD

Sebbene Adam generalmente più veloce nel convergere, è importante distinguerlo dal Stochastic Gradient Descent (SGD). SGD i pesi del modello utilizzando un tasso di apprendimento fisso ed è spesso preferito per le fasi finali dell'addestramento dei modelli di rilevamento degli oggetti all'avanguardia perché a volte può raggiungere una generalizzazione leggermente migliore (accuratezza finale) sui dati di test.

Tuttavia, Adam "adattivo", il che significa che gestisce automaticamente la regolazione della velocità di apprendimento. Questo lo rende molto più facile da usare per gli esperimenti iniziali e le architetture complesse in cui SGD difficile regolare SGD . Per gli utenti che gestiscono esperimenti sulla Ultralytics , passare da un ottimizzatore all'altro per confrontare le prestazioni è spesso un passo fondamentale nella regolazione degli iperparametri.

Implementazione con Ultralytics

Framework moderni come PyTorch e la libreria Ultralytics rendono Adam l'utilizzo Adam . Una variante popolare chiamata AdamW (Adam decadimento del peso) è spesso consigliata in quanto risolve i problemi di regolarizzazione Adam originale. Ciò è particolarmente efficace per le architetture più recenti come YOLO26, che beneficiano della stabilità AdamW .

L'esempio seguente mostra come addestrare un modello YOLO26 utilizzando l AdamW :

from ultralytics import YOLO

# Load the cutting-edge YOLO26n model
model = YOLO("yolo26n.pt")

# Train the model using the 'AdamW' optimizer
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")

Per gli sviluppatori interessati alle basi teoriche più approfondite, risorse come le Stanford CS231n Optimization Notes forniscono eccellenti visualizzazioni di come Adam con altri algoritmi come RMSProp e AdaGrad. Inoltre, la documentazionePyTorch offre dettagli tecnici sugli argomenti e sulle specifiche di implementazione disponibili per la personalizzazione.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora