Automated Machine Learning (AutoML)
L'apprendimento automatico automatizzato (AutoML) automatizza la selezione dei modelli, la regolazione degli iperparametri e la preparazione delle caratteristiche. Come funziona la ricerca, strumenti e ottimizzazione di YOLO.
L'apprendimento automatico automatizzato (AutoML) consiste nell'automatizzare il lavoro di tentativi ed errori necessario per creare un modello di apprendimento automatico (ML): preparare le caratteristiche, scegliere un algoritmo, impostarne gli iperparametri e, talvolta, progettare un'architettura di rete o combinare più modelli. Dati un dataset, una metrica obiettivo e un budget di calcolo, un sistema AutoML esplora le pipeline candidate, valuta ciascuna su dati di validazione e restituisce la migliore individuata. Il progetto Auto-WEKA ha formulato il nucleo di questa attività come problema di selezione congiunta dell'algoritmo e ottimizzazione degli iperparametri (CASH), una formulazione poi adottata da strumenti come auto-sklearn. AutoML offre ai non specialisti solide prestazioni di riferimento e fa risparmiare agli esperti la parte ripetitiva della sperimentazione.
Come funziona AutoML#
Un sistema AutoML comprende tre componenti. Lo spazio di ricerca definisce gli elementi variabili: dalle fasi di preelaborazione dei dati e ingegneria delle caratteristiche alla famiglia del modello, come la regressione lineare, XGBoost o una rete neurale, e alle impostazioni di ciascuna famiglia, come il tasso di apprendimento. La strategia di ricerca sceglie quali candidati provare, usando la ricerca casuale, l'ottimizzazione bayesiana, che modella quali aree dello spazio sembrano promettenti, oppure gli algoritmi evolutivi, che mutano e ricombinano le configurazioni migliori. La fase di valutazione assegna un punteggio a ogni candidato usando i dati di validazione o la convalida incrociata. Molti sistemi avviano inoltre la ricerca con il meta-apprendimento basato su dataset precedenti e la concludono combinando i candidati migliori in un ensemble di modelli.
Addestrare ogni candidato fino al completamento è il costo principale, quindi i metodi a fedeltà multipla addestrano inizialmente molte configurazioni a basso costo e investono di più solo in quelle promettenti. L'eliminazione successiva, elemento fondamentale di Hyperband, ripete una fase finché non rimane una sola configurazione:
Una ricerca ampia può anche causare un eccessivo adattamento ai dati di validazione, poiché il vincitore è in parte il candidato più fortunato tra tanti. Per questo il modello finale viene valutato su un insieme di test separato.
Strumenti AutoML#
- AutoGluon: libreria open source nata in Amazon che addestra molti tipi di modelli su dati tabellari, testuali, di immagini e di serie temporali, combinandoli in un ensemble.
- auto-sklearn: esplora pipeline scikit-learn usando l'ottimizzazione bayesiana, il meta-apprendimento e la creazione di ensemble.
- FLAML: libreria Microsoft che punta a una ricerca a basso costo per modelli tabellari e iperparametri.
- Optuna: framework per l'ottimizzazione degli iperparametri i cui potatori interrompono in anticipo le prove non promettenti; viene spesso usato come motore di ricerca all'interno di cicli AutoML personalizzati.
- Google Cloud AutoML: servizio gestito, ora parte di Gemini Enterprise Agent Platform e in precedenza Vertex AI, che addestra modelli di classificazione delle immagini, rilevamento degli oggetti e dati tabellari senza bisogno di codice.
- Amazon SageMaker Autopilot: servizio AutoML di AWS, la cui interfaccia è ora disponibile in SageMaker Canvas.
Per le tabelle di piccole dimensioni, i modelli fondazionali per dati tabellari offrono un approccio alternativo allo stesso obiettivo: effettuano previsioni usando le righe di addestramento nel contesto, senza una ricerca specifica per ogni dataset.
Ottimizzazione automatica per YOLO#
Per i modelli di visione artificiale con un'architettura fissa e preaddestrata, la ricerca automatizzata si concentra in genere sulla configurazione di addestramento. Con model.tune(), Ultralytics YOLO fa evolvere per impostazione predefinita 26 iperparametri di addestramento, tra cui il tasso di apprendimento, il momentum, i pesi delle funzioni di perdita e l'intensità delle trasformazioni di aumento dei dati: a ogni iterazione modifica e ricombina le migliori configurazioni individuate fino a quel momento, esegue un breve addestramento e registra il valore di fitness; inoltre, l'esecuzione salva best_hyperparameters.yaml con grafici della fitness nel corso delle iterazioni. Passando use_ray=True, si affida invece la ricerca a Ray Tune.
from ultralytics import YOLO
# Carica un modello YOLO26 preaddestrato da ottimizzare
model = YOLO("yolo26n.pt")
# Evolvi gli iperparametri: a ogni iterazione vengono mutate le migliori configurazioni trovate fino a quel momento, che vengono poi addestrate e valutate in base alla fitness
model.tune(data="coco8.yaml", epochs=30, iterations=10, plots=False, save=False, val=False)AutoML e termini correlati#
- Ottimizzazione degli iperparametri: ottimizza le impostazioni di un modello scelto. AutoML la include di solito come una fase di una ricerca più ampia che sceglie anche il modello.
- Ricerca dell'architettura neurale (NAS): branca di AutoML che progetta le architetture di rete, ad esempio i tipi di livelli, la profondità e le connessioni.
- Apprendimento per trasferimento: parte da un modello preaddestrato invece che da zero. I sistemi AutoML esplorano spesso i backbone preaddestrati, rendendo complementari i due approcci.
- Operazioni di apprendimento automatico (MLOps): coprono l'intero ciclo di vita di un modello, inclusi distribuzione, monitoraggio e nuovo addestramento, e spesso prevedono AutoML come una fase della pipeline di addestramento.










