Scoprite come l'ottimizzatore Adam consente un addestramento efficiente delle reti neurali con tassi di apprendimento adattivi, slancio e applicazioni reali nell'IA.
Adam (Adaptive Moment Estimation) è un potente e popolare algoritmo di ottimizzazione utilizzato nell'apprendimento automatico (ML) e nell'apprendimento profondo (DL). È progettato per trovare in modo efficiente i valori ottimali per i parametri di un modello (i suoi pesi e le sue distorsioni) aggiornandoli iterativamente sulla base dei dati di addestramento. Adam è molto apprezzato per la sua velocità di convergenza e per la sua efficacia in un'ampia gamma di problemi, il che lo rende una scelta predefinita comune per molti professionisti durante la formazione di modelli personalizzati. Il suo sviluppo ha rappresentato un passo importante per rendere più pratico l'addestramento di modelli complessi e di grandi dimensioni.
L'innovazione chiave di Adam è la capacità di adattare il tasso di apprendimento per ogni singolo parametro. Invece di utilizzare un unico tasso di apprendimento fisso per tutti i pesi della rete, Adam calcola un tasso di apprendimento individuale che si adatta al progredire dell'addestramento. Questo risultato è ottenuto 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 consente di effettuare aggiornamenti più consapevoli, adottando passi più grandi per i parametri con gradienti coerenti e passi più piccoli per quelli con gradienti rumorosi o scarsi. Il metodo è descritto nel documento di ricerca originale di Adam di Kingma e Ba.
È utile confrontare Adam con altri ottimizzatori comuni per comprenderne i punti di forza.
L'efficienza e la robustezza di Adam lo rendono adatto a un'ampia gamma di applicazioni.
Nell'ecosistema Ultralytics, Adam e la sua variante AdamW sono ottimizzatori disponibili per l'addestramento dei modelli YOLO di Ultralytics. Sfruttando i tassi di apprendimento adattivi di Adam è possibile accelerare la convergenza durante l'addestramento di modelli di rilevamento di oggetti, segmentazione di istanze o stima della posa come YOLO11 o YOLOv10. Mentre SGD è spesso l'ottimizzatore predefinito e consigliato per alcuni modelli YOLO, grazie alla generalizzazione finale potenzialmente migliore, 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 i modelli utilizzando diversi ottimizzatori, tra cui Adam, sia localmente che tramite l'addestramento nel cloud. Framework come PyTorch e TensorFlow forniscono implementazioni standard di Adam, che vengono utilizzate nel framework Ultralytics.