Scopri come l'ottimizzatore Adam consente un addestramento efficiente delle reti neurali con tassi di apprendimento adattivi, slancio e applicazioni reali nell'IA.
L'ottimizzatore Adam è un algoritmo di ottimizzazione popolare ed efficace, molto utilizzato nel deep learning (DL) e nel machine learning (ML). Acronimo di Adaptive Moment Estimation, Adam combina i vantaggi di altre due estensioni della discesa stocastica del gradiente (SGD): Il suo punto di forza principale è la capacità di calcolare tassi di apprendimento adattivi per ogni parametro, il che lo rende adatto a problemi con grandi insiemi di dati, spazi di parametri altamente dimensionali o gradienti rumorosi, comuni in campi come la computer vision (CV) e l'elaborazione del linguaggio naturale (NLP).
Adam aggiorna i parametri del modello in modo iterativo durante l'addestramento utilizzando le informazioni dei gradienti passati. Mantiene due medie mobili per ogni parametro: una stima del primo momento (la media dei gradienti) e una stima del secondo momento (la varianza non centrata dei gradienti). Questi momenti aiutano ad adattare il tasso di apprendimento individualmente per ogni parametro. I parametri che ricevono aggiornamenti del gradiente grandi o frequenti ricevono tassi di apprendimento più piccoli, mentre quelli con aggiornamenti piccoli o poco frequenti ne ricevono di più grandi. Questa natura adattiva spesso porta a una convergenza più rapida rispetto all'SGD standard. L'algoritmo incorpora anche il momentum utilizzando la media mobile del gradiente, che aiuta ad accelerare i progressi lungo le direzioni rilevanti e smorza le oscillazioni. Maggiori dettagli sono disponibili nell'articolo originale di Adam.
Sebbene Adam sia una potente scelta predefinita, è utile capire la sua relazione con altri ottimizzatori:
L'ottimizzatore Adam viene utilizzato per addestrare una vasta gamma di modelli di intelligenza artificiale:
Nella computer vision, Adam viene spesso utilizzato per addestrare le reti neurali convoluzionali (CNN). Ad esempio, l'addestramento di modelli per la classificazione di immagini su grandi dataset come ImageNet o lo sviluppo di complessi sistemi di rilevamento di oggetti traggono vantaggio dall'efficienza di Adam nel gestire milioni di parametri e raggiungere un'elevata precisione.
Adam è un ottimizzatore standard per l'addestramento di modelli linguistici di grandi dimensioni (LLM) come BERT e le varianti GPT. Quando si addestrano modelli per compiti come la traduzione automatica, la sintesi del testo o l'analisi del sentimento, Adam aiuta a navigare in modo efficiente nel complesso panorama delle perdite associate a questi modelli.
All'interno dell'ecosistema Ultralytics , Adam e la sua variante AdamW sono ottimizzatori disponibili per l'addestramento dei modelli Ultralytics YOLO . Sfruttando i tassi di apprendimento adattivi di Adam è possibile accelerare la convergenza durante l'addestramento dei modelli di rilevamento degli oggetti, di segmentazione delle istanze o di stima della posa. Sebbene SGD sia spesso l'ottimizzatore predefinito e consigliato per i modelli YOLO grazie alla generalizzazione finale potenzialmente migliore, Adam offre una solida alternativa, particolarmente utile in alcuni scenari o durante la sperimentazione iniziale. Puoi configurare facilmente l'ottimizzatore e altre impostazioni di formazione. 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. Per ottimizzare le prestazioni, considera tecniche come la regolazione degli iperparametri. Framework come PyTorch e TensorFlow forniscono implementazioni di Adam.