Home

Think

Argomenti

Messa a punto degli iperparametri

Che cos'è la messa a punto degli iperparametri?
Esplora IBM watsonx.ai Iscriviti alla newsletter Think
Pittogrammi di nuvole, diagrammi a torta, grafici

Data di pubblicazione: 23 luglio 2024
Autori: Ivan Belcic, Cole Stryker

Che cos'è la messa a punto degli iperparametri?

La messa a punto degli iperparametri è la pratica di identificare e selezionare gli iperparametri ottimali da utilizzare nell'addestramento di un modello di machine learning. Se eseguita correttamente, riduce al minimo la funzione di perdita di un modello di machine learning, il che significa che le prestazioni del modello vengono addestrate per essere il più accurate possibile. 

La messa a punto degli iperparametri è una pratica sperimentale, in cui ogni iterazione verifica diversi valori di iperparametri fino a quando non vengono identificati quelli migliori. Questo processo è fondamentale per le prestazioni del modello, poiché il suo processo di apprendimento è regolato dagli iperparametri. La quantità di neuroni in una rete neurale, la velocità di apprendimento di un modello di AI generativa e la dimensione del kernel di una macchina vettoriale di supporto sono tutti esempi di iperparametri. 

Una buona messa a punto degli iperparametri porta a prestazioni complessive più forti per il modello di machine learning in base alle metriche per l'attività prevista. Ecco perché è nota anche come ottimizzazione degli iperparametri

Come scegliere il giusto foundation model di AI

Scopri come scegliere l'approccio giusto nella preparazione dei set di dati e nell'impiego dei modelli di AI.

Contenuti correlati La guida del CEO all'AI generativa
Cosa sono gli iperparametri?

Gli iperparametri sono variabili di configurazione che i data scientist impostano in anticipo per gestire il processo di formazione di un modello di machine learning. L'AI generativa e altri modelli probabilistici applicano i loro apprendimenti dai dati di formazione per prevedere il risultato più probabile per un compito. Trovare la giusta combinazione di iperparametri è essenziale per ottenere le migliori prestazioni sia dai modelli di apprendimento supervisionato che da quelli di apprendimento non supervisionato

Iperparametri di regolarizzazione 

Gli iperparametri di regolarizzazione controllano la capacità o la flessibilità del modello, ovvero il margine di manovra che ha nell'interpretazione dei dati. Troppo poco controllo e il modello non sarà sufficientemente specifico per fare buone previsioni. Un controllo troppo pesante e il modello subirà un overfitting: si adatterà eccessivamente ai dati di addestramento e finirà per essere troppo di nicchia per l'uso nel mondo reale. 

Confronto fra iperparametri e parametri di modello

La differenza principale tra iperparametri e parametri di modello nella data science è che, mentre i modelli apprendono o stimano i parametri dai set di dati di addestramento che acquisiscono, i data scientist definiscono gli iperparametri per l'algoritmo del modello prima del processo di addestramento. I modelli continuano ad aggiornare i parametri man mano che lavorano, mentre i valori ottimali degli iperparametri vengono identificati e impostati in anticipo.

Perché la messa a punto degli iperparametri è importante?

La messa a punto degli iperparametri è importante perché pone le basi per la struttura, l'efficienza della formazione e le prestazioni di un modello. Le configurazioni ottimali degli iperparametri garantiscono ottime prestazioni del modello nel mondo reale. Le Large Language Model Operations (LLMOP) sottolineano l'aspetto di efficienza di una buona ottimizzazione, con particolare attenzione alla riduzione al minimo dei requisiti di potenza computazionale.

Bias e varianza

L'obiettivo della messa a punto degli iperparametri è quello di bilanciare il compromesso bias-varianza. La distorsione è la divergenza tra le previsioni di un modello e la realtà. I modelli troppo o troppo poco messi a punto non riescono a distinguere le relazioni chiave tra i punti dati e non riescono a trarre le conclusioni necessarie per ottenere prestazioni accurate. 

La varianza è la sensibilità di un modello ai nuovi dati. Un modello affidabile deve fornire risultati coerenti durante la migrazione dai dati di addestramento ad altri set di dati. Tuttavia, i modelli con alti livelli di varianza sono troppo complessi: sono sovradimensionati rispetto ai set di dati di addestramento originali e faticano ad accoglierne di nuovi. 

I modelli con basso bias sono accurati, mentre quelli con bassa varianza sono coerenti. Una buona regolazione degli iperparametri crea ottimizzazione sia per creare il modello migliore per il lavoro, sia per massimizzare l'efficienza delle risorse computazionali durante l'addestramento. 

Esempi di iperparametri

Ogni algoritmo di apprendimento automatico favorisce il proprio set di iperparametri e non è necessario massimizzarli in tutti i casi. A volte, un approccio più conservativo nella regolazione degli iperparametri porterà a prestazioni migliori.

Iperparametri delle reti neurali

Le reti neurali si ispirano al cervello umano e sono composte da nodi interconnessi che si inviano segnali a vicenda. In generale, ecco alcuni degli iperparametri più comuni per l'addestramento dei modelli di reti neurali:

    Tasso di apprendimento

    La velocità di apprendimento imposta la velocità con cui un modello regola i propri parametri in ogni iterazione. Questi aggiustamenti sono noti come passaggi. Un tasso di apprendimento elevato significa che un modello si adatterà più rapidamente, ma con il rischio di prestazioni instabili e di deriva dei dati. D'altro canto, sebbene un tasso di apprendimento basso richieda più tempo e più dati, è anche più probabile che i data scientist individuino la perdita minima di un modello. L'ottimizzazione della discesa del gradiente è un esempio di metrica di formazione che richiede un tasso di apprendimento fisso.

    Decadimento del tasso di apprendimento

    Il decadimento della velocità di apprendimento imposta la velocità con cui la velocità di apprendimento di una rete diminuisce nel tempo, consentendo al modello di apprendere più rapidamente. La progressione dell'addestramento di un algoritmo dalla sua attivazione iniziale alle prestazioni ideali è nota come convergenza.

    Dimensione batch

    La dimensione del batch imposta la quantità di campioni che il modello calcolerà prima di aggiornare i parametri. Ha un effetto importante sia sull'efficienza di calcolo che sulla precisione del processo di formazione. Di per sé, una dimensione del batch più elevata indebolisce le prestazioni complessive, ma la regolazione del tasso di apprendimento, insieme alla dimensione del batch, può mitigare questa perdita.

    Numero di livelli nascosti

    Il numero di livelli nascosti in una rete neurale ne determina la profondità, il che influisce sulla sua complessità e sulla capacità di apprendimento. Un numero minore di livelli rende il modello più semplice e veloce, ma più livelli, come nelle reti di deep learning, portano a una migliore classificazione dei dati di input. In questo caso l'identificazione del valore ottimale dell'iperparametro tra tutte le combinazioni possibili si basa su un compromesso tra velocità e precisione.

    Numero di nodi o neuroni per livello

    Il numero di nodi o neuroni per livello determina la larghezza del modello. Maggiore è il numero di nodi o neuroni per livello, maggiore sarà l'ampiezza del modello e maggiore sarà la capacità di rappresentare relazioni complesse tra punti dati.

    Momentum

    Il momentum è il grado in cui i modelli aggiornano i parametri nella stessa direzione delle iterazioni precedenti, anziché invertire la rotta. La maggior parte dei data scientist inizia con un valore di iperparametro più basso per il momentum e poi si regola crescendo secondo necessità per mantenere il modello sulla giusta via per l'addestramento dei dati. 

    Epochs

    Epochs è un iperparametro che imposta la quantità di volte in cui un modello viene esposto all'intero set di dati di addestramento durante il processo di addestramento. Una maggiore esposizione può portare a un miglioramento delle prestazioni ma comporta il rischio di overfitting. 

    Funzione di attivazione

    La funzione di attivazione introduce la non linearità in un modello, consentendogli di gestire set di dati più complessi. I modelli non lineari possono generalizzare e adattarsi a una maggiore varietà di dati. 

    Iperparametri SVM

    La macchina a vettori di supporto (SVM) è un algoritmo di machine learning specializzato nella classificazione dei dati, nella regressione e nel rilevamento dei valori anomali. Ha i suoi iperparametri essenziali:

      Iperparametro SVM: C

      C è il rapporto tra il margine di errore accettabile e il numero di errori risultanti quando un modello agisce come classificatore di dati. Un valore C più basso stabilisce un limite decisionale uniforme con una maggiore tolleranza all'errore e prestazioni più generiche, ma con il rischio di una classificazione errata dei dati. Un valore C elevato, invece, crea un chiaro limite decisionale per risultati di allenamento più accurati, ma con un potenziale overfitting. 

      Iperparametro SVM: kernel

      Il kernel è una funzione che stabilisce la natura delle relazioni tra i punti dati e li separa in gruppi di conseguenza. A seconda del kernel utilizzato, i punti dati mostreranno relazioni diverse che possono influenzare fortemente le prestazioni complessive del modello SVM. Lineare, polinomiale, funzione di base radiale (RBF) e sigmoide sono alcuni dei kernel più comunemente utilizzati. I kernel lineari sono più semplici e migliori per i dati facilmente separabili, mentre i kernel non lineari sono migliori per i set di dati più complessi. 

      Iperparametro SVM: gamma

      Gamma imposta il livello di influenza dei vettori di supporto sul limite decisionale. I vettori di supporto sono i punti di dati più vicini all'iperpiano, cioè il confine tra i gruppi di dati. Valori più alti esercitano una forte influenza dai vettori vicini, mentre valori più bassi limitano l'influenza da quelli più distanti. L'impostazione di un valore gamma troppo alto può causare un overfitting, mentre un valore troppo basso può confondere i confini decisionali. 

      Iperparametri XGBoost

      XGBoost è l'abbreviazione di "extreme gradient boosting", ed è un algoritmo di insieme che unisce le previsioni di più modelli più deboli, noti come alberi decisionali, per un risultato più accurato. Gli algoritmi potenziati dal gradiente tendono a sovraperformare i modelli random forest, un altro tipo di algoritmo di insieme che comprende più alberi decisionali. 

      Gli iperparametri più importanti per XGBoost sono:

        learning_rate

        learning_rate è simile all'iperparametro del tasso di apprendimento utilizzato dalle reti neurali. Questa funzione controlla il livello di correzione effettuato durante ogni ciclo di allenamento. I valori potenziali vanno da 0 a 1, con 0,3 come valore predefinito. 

        n_estimators

        n_estimators imposta il numero di alberi nel modello. Questo iperparametro è noto come num_boost_rounds nell'XGBoost originale, mentre la popolare API Python scikit-learn ha introdotto il nome n_estimators. 

        max_depth

        max_depth determina l'architettura degli alberi decisionali, impostando il numero massimo di nodi dall'albero a ciascuna foglia, il classificatore finale. Più nodi portano a una classificazione dei dati più precisa, mentre gli alberi più piccoli evitano facilmente l'overfitting. 

        min_child_weight

        min_child_weight è il peso minimo, l'importanza di una determinata classe per l'intero processo di addestramento del modello, necessario per generare un nuovo albero. Pesi minimi inferiori creano più alberi ma con potenziale sovradimensionamento, mentre pesi più grandi riducono la complessità richiedendo più dati per dividere gli alberi. 

        subsample

        subsample imposta la percentuale di campioni di dati utilizzati durante ogni ciclo di addestramento, mentre colsample_bytree fissa la percentuale di funzioni da utilizzare nella costruzione dell'albero. 

        Come funziona la messa a punto degli iperparametri?

        La messa a punto degli iperparametri è incentrata sulla funzione obiettivo, che analizza un gruppo (o tupla) di iperparametri e calcola la perdita prevista. L'ottimizzazione ottimale degli iperparametri riduce al minimo le perdite in base alle metriche scelte. I risultati sono confermati tramite convalida incrociata, che misura con quanta prossimità generalizzano rispetto ad altri set di dati al di fuori della specifica istanza di addestramento.

        Metodi di messa a punto degli iperparametri

        I data scientist hanno a disposizione diversi metodi di messa a punto degli iperparametri, ciascuno con i rispettivi punti di forza e di debolezza. La messa a punto degli iperparametri può essere eseguita manualmente o automaticamente come parte di una strategia di AutoML (machine learning automatico).

        Ricerca a griglia

        La ricerca a griglia è un metodo di regolazione degli iperparametri completo ed esaustivo. Dopo che i data scientist hanno stabilito ogni valore possibile per ogni iperparametro, una ricerca a griglia costruisce modelli per ogni possibile configurazione di tali valori di iperparametro discreti. Questi modelli vengono valutati ciascuno in base alle prestazioni e confrontati tra loro, e quello migliore viene selezionato per l'addestramento. 

        In questo modo, la ricerca a griglia è simile all'applicazione della brute force su un PIN effettuata inserendo ogni potenziale combinazione di numeri fino a scoprire la sequenza corretta. Sebbene consenta ai data scientist di considerare tutte le possibili configurazioni nello spazio degli iperparametri, la ricerca a griglia è poco efficiente e richiede molte risorse dal punto di vista computazionale.

        Ricerca randomizzata

        La ricerca randomizzata differisce dalla ricerca a griglia in quanto i data scientist forniscono distribuzioni statistiche anziché valori discreti per ogni iperparametro. Una ricerca randomizzata estrae campioni da ogni intervallo e costruisce modelli per ogni combinazione. Nel corso di diverse iterazioni, i modelli vengono pesati l'uno contro l'altro fino a trovare quello migliore. 

        La ricerca randomizzata è preferibile rispetto a quella a griglia in situazioni in cui lo spazio di ricerca degli iperparametri contiene distribuzioni di grandi dimensioni, dove la seconda richiederebbe semplicemente uno sforzo eccessivo per testare ogni valore discreto. Gli algoritmi di ricerca randomizzata possono restituire risultati paragonabili alla ricerca a griglia ma in molto meno tempo, anche se non è garantito che scopra la configurazione ottimale degli iperparametri.

        Ottimizzazione bayesiana

        L'ottimizzazione bayesiana è un algoritmo di ottimizzazione sequenziale basata su modelli (SMBO) in cui ogni iterazione di test migliora il metodo di campionamento della successiva. Le ricerche a griglia e quelle randomizzate possono essere eseguite contemporaneamente, ma ogni test viene eseguito in modo isolato: i data scientist non possono utilizzare ciò che hanno appreso per informare i test successivi. 

        Sulla base di test precedenti, l'ottimizzazione bayesiana seleziona in modo probabilistico un nuovo set di valori di iperparametri che probabilmente fornirà risultati migliori. Il modello probabilistico è indicato come surrogato della funzione obiettivo originale. Poiché i modelli surrogati sono efficienti dal punto di vista del calcolo, vengono aggiornati e migliorati ogni volta che viene eseguita la funzione obiettivo. 

        Più il surrogato riesce a prevedere gli iperparametri ottimali, più veloce diventa il processo, con una richiesta di meno test funzionali oggettivi. Ciò rende l'ottimizzazione bayesiana molto più efficiente rispetto agli altri metodi, poiché evita di perdere tempo in combinazioni inadatte di valori di iperparametri. 

        Il processo di determinazione statistica della relazione tra un risultato, in questo caso le migliori prestazioni del modello, e un insieme di variabili è noto come analisi di regressione. I processi gaussiani sono uno degli SMBO più popolari tra i data scientist.

        Hyperband

        Introdotto nel 2016, Hyperband (link esterno a ibm.com) è progettato per migliorare la ricerca casuale troncando l'uso di configurazioni di formazione che non riescono a fornire risultati solidi e allocando più risorse alle configurazioni positive. 

        Questo "arresto anticipato" si ottiene attraverso l'halving successivo, un processo che riduce il pool di configurazioni rimuovendo la metà con le prestazioni peggiori dopo ogni ciclo di addestramento. Il 50% igliore di ogni batch viene trasferito all'iterazione successiva fino a quando rimane una configurazione iperparametrica ottimale. 

        Prodotti e soluzioni correlati
        watsonx.ai

        Ora disponibile: uno studio aziendale di nuova generazione per i costruttori di AI con cui addestrare, convalidare, mettere a punto e distribuire modelli di AI.

        Esplora watsonx.ai

        Foundation model in watsonx.ai

        Esplora la libreria IBM di foundation model sulla piattaforma watsonx per scalare con fiducia l'AI generativa per la tua azienda.

        Scopri i foundation model in watsonx.ai

        Modelli Granite

        IBM Granite è una famiglia di modelli di intelligenza artificiale (AI) creati appositamente per il business, progettati da zero per contribuire a garantire fiducia e scalabilità nelle applicazioni basate sull'AI. I modelli Granite open source sono già disponibili.

        Esplora i modelli Granite
        Risorse L'AI responsabile è un vantaggio competitivo

        Nell'era dell'AI generativa, la promessa della tecnologia cresce ogni giorno man mano che le organizzazioni sbloccano le sue nuove possibilità. Tuttavia, la vera misura del progresso dell'AI va oltre le sue capacità tecniche.

        Che cos'è l'intelligenza artificiale?

        L'intelligenza artificiale, o AI, è una tecnologia che consente a computer e macchine di simulare l'intelligenza e la capacità di risoluzione dei problemi degli esseri umani.

        I modelli linguistici più grandi sono sempre migliori?

        Nella corsa per dominare l'AI, di solito più grande equivale a meglio. Più dati e più parametri creano sistemi di AI più grandi, che non sono solo più potenti ma anche più efficienti e veloci, ma generalmente creano meno errori rispetto ai sistemi più piccoli.

        Fai il passo successivo

        Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno strumento aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una quantità di dati minima.

        Esplora watsonx.ai Prenota una demo live