Se stai avviando un nuovo progetto di machine learning (ML), potresti chiederti se l'addestramento manuale è l'unica opzione per creare un modello di machine learning. Con l'addestramento manuale, scrivi codice utilizzando un framework ML per creare un modello. Durante questo processo, scegli gli algoritmi da esplorare e ottimizzi in modo iterativo gli iperparametri per trovare il modello giusto.
Naturalmente, l'addestramento del modello non è l'unica cosa a cui devi pensare. In pratica, la creazione di un modello di machine learning dal prototipo alla produzione richiede attività ripetitive e competenze specializzate. Un semplice flusso di lavoro di ML esplorativo è simile al seguente:
![Figura 1. Un semplice flusso di lavoro di machine learning.](https://developers.google.cn/static/machine-learning/crash-course/automl/images/ml-workflow.png?authuser=0&hl=it)
Attività ripetitive: il flusso di lavoro di ML può comportare sperimentazione e lavoro ripetitivo. Ad esempio, durante lo sviluppo del modello in genere è necessario esplorare diverse combinazioni di algoritmi e iperparametri per identificare il modello più appropriato. Con l'addestramento manuale, scrivi codice specializzato per addestrare il modello e poi lo modifichi per eseguire esperimenti con diversi algoritmi e iperparametri di ML al fine di trovare il modello migliore. Per i progetti di piccole dimensioni o esplorativi, questa procedura manuale potrebbe non essere un problema, ma per i progetti più grandi queste attività ripetitive possono richiedere molto tempo.
Competenze specializzate: lo sviluppo manuale di un modello di ML richiede competenze specializzate. In pratica, non tutti i team che prevedono di sviluppare un modello di machine learning possono disporre di queste competenze. Se un team non dispone di un data scientist dedicato, eseguire manualmente questo lavoro potrebbe non essere nemmeno fattibile.
Fortunatamente, alcuni passaggi dello sviluppo del modello possono essere automatizzati per ridurre il carico di lavoro ripetitivo e la necessità di competenze specializzate. L'automazione di queste attività è l'argomento di questo modulo sul machine learning automatico (AutoML).
Che cos'è AutoML?
AutoML è un processo di automazione di determinate attività in un flusso di lavoro di machine learning. Puoi considerare AutoML come un insieme di strumenti e tecnologie che rendono la creazione di modelli di machine learning più rapida e accessibile a un gruppo più ampio di utenti. Sebbene l'automazione possa essere utile durante tutto il flusso di lavoro di ML, le attività spesso associate ad AutoML sono quelle incluse nel ciclo di sviluppo del modello mostrato nella Figura 1. Queste attività ripetitive includono:
- Data Engineering
- Feature engineering.
- Selezione delle funzionalità.
- Formazione
- Identificazione di un algoritmo ML appropriato.
- Selezionare gli iperparametri migliori.
- Analisi
- Valutazione delle metriche generate durante l'addestramento in base ai set di dati di test e di convalida.
Con AutoML, puoi concentrarti sui dati e sul problema di ML anziché sulla selezione delle funzionalità, sull'ottimizzazione degli iperparametri e sulla scelta dell'algoritmo giusto.