Sintonizzati su YOLO Vision 2025!
25 settembre 2025
10:00 — 18:00 BST
Evento ibrido
Yolo Vision 2024
Glossario

Ottimizzatore Adam

Scopri come l'ottimizzatore Adam potenzia l'addestramento efficiente delle reti neurali con tassi di apprendimento adattivi, momentum e applicazioni reali nell'IA.

Adam (Adaptive Moment Estimation) è un algoritmo di ottimizzazione popolare e potente utilizzato nel machine learning (ML) e nel deep learning (DL). È progettato per trovare in modo efficiente i valori ottimali per i parametri di un modello (i suoi pesi e bias) aggiornandoli iterativamente in base ai dati di training. Adam è molto apprezzato per la sua velocità di convergenza e l'efficacia in una vasta gamma di problemi, il che lo rende una scelta predefinita comune per molti professionisti durante il training di modelli personalizzati. Il suo sviluppo è stato un passo significativo nel rendere più pratico il training di modelli grandi e complessi.

Come funziona Adam

L'innovazione chiave di Adam è la sua capacità di adattare il learning rate per ogni singolo parametro. Invece di utilizzare un singolo learning rate fisso per tutti i pesi nella rete, Adam calcola un learning rate individuale che si adatta man mano che l'addestramento progredisce. Ciò si ottiene combinando i vantaggi di altri due metodi di ottimizzazione: RMSProp e Momentum. Adam tiene traccia di due componenti principali: il primo momento (la media dei gradienti, simile al momentum) e il secondo momento (la varianza non centrata dei gradienti). Questa combinazione gli consente di effettuare aggiornamenti più informati, compiendo passi più ampi per i parametri con gradienti coerenti e passi più piccoli per quelli con gradienti rumorosi o sparsi. Il metodo è descritto in dettaglio nel documento di ricerca originale di Adam di Kingma e Ba.

Adam Vs. Altri ottimizzatori

È utile confrontare Adam con altri ottimizzatori comuni per comprenderne i punti di forza.

  • Adam vs. Stochastic Gradient Descent (SGD): Mentre SGD è un algoritmo di ottimizzazione fondamentale, utilizza un tasso di apprendimento costante che si applica a tutti gli aggiornamenti dei parametri. Ciò può causare una convergenza lenta o il blocco in "valli" subottimali della funzione di perdita. Adam, con i suoi tassi di apprendimento adattivi, spesso naviga nel panorama della perdita in modo più efficiente e converge molto più velocemente. Tuttavia, alcune ricerche suggeriscono che i modelli addestrati con SGD possono generalizzare leggermente meglio ed evitare l'overfitting in modo più efficace in determinati scenari. La scelta spesso richiede test empirici, come spiegato nelle guide sui suggerimenti per l'addestramento del modello.
  • AdamW: Una variante popolare ed efficace è AdamW (Adam con decadimento del peso disaccoppiato). Modifica il modo in cui il decadimento del peso, una tecnica di regolarizzazione, viene applicato, separandolo dalla fase di aggiornamento del gradiente. Questo spesso porta a prestazioni del modello migliorate e a una migliore generalizzazione. Implementazioni sono disponibili nei principali framework come PyTorch e TensorFlow.

Applicazioni nel mondo reale

L'efficienza e la robustezza di Adam lo rendono adatto a una vasta gamma di applicazioni.

  1. Addestramento di modelli linguistici di grandi dimensioni (LLM): Adam e le sue varianti sono fondamentali per l'addestramento di modelli massicci nell'elaborazione del linguaggio naturale (NLP). Per modelli come GPT-4 o quelli di Hugging Face, l'efficienza di Adam rende fattibile l'elaborazione di enormi set di dati di testo provenienti da fonti come Wikipedia e l'apprendimento di modelli linguistici complessi. La sua capacità di navigare in complessi paesaggi di perdita è essenziale per il successo.
  2. Classificazione delle immagini e rilevamento degli oggetti: Nella computer vision (CV), Adam è ampiamente utilizzato per addestrare reti neurali convoluzionali (CNN) profonde su grandi set di dati di immagini come ImageNet o COCO. Aiuta i modelli per la classificazione delle immagini e il rilevamento degli oggetti a convergere rapidamente, il che accelera lo sviluppo e i cicli di ottimizzazione degli iperparametri.

Utilizzo in Ultralytics YOLO

All'interno dell'ecosistema Ultralytics, Adam e la sua variante AdamW sono ottimizzatori disponibili per l'addestramento dei modelli Ultralytics YOLO. Sfruttare i tassi di apprendimento adattivi di Adam può accelerare la convergenza durante l'addestramento di modelli di rilevamento oggetti, segmentazione di istanze o stima della posa come YOLO11 o YOLOv10. Sebbene SGD sia spesso l'ottimizzatore predefinito e raccomandato per alcuni modelli YOLO a causa di una potenziale migliore generalizzazione finale, Adam fornisce un'alternativa robusta, particolarmente utile durante la sperimentazione iniziale. È possibile configurare facilmente l'ottimizzatore e altre impostazioni di addestramento. Strumenti come Ultralytics HUB semplificano il processo, consentendo agli utenti di addestrare modelli utilizzando vari ottimizzatori, tra cui Adam, sia localmente che tramite addestramento cloud. Framework come PyTorch e TensorFlow forniscono implementazioni standard di Adam, che vengono utilizzate all'interno del framework Ultralytics.

Unisciti alla community di Ultralytics

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

Iscriviti ora
Link copiato negli appunti