Che cos'è il tasso di apprendimento nel machine learning?

27 novembre 2024

Autori

Ivan Belcic

Staff writer

Cole Stryker

Editorial Lead, AI Models

Gather

Che cos'è il tasso di apprendimento nel machine learning? 

Il tasso di apprendimento è un iperparametro che determina la misura in cui un modello di machine learning regola i propri parametri in ogni fase dell'algoritmo di ottimizzazione. La frequenza di apprendimento può determinare se un modello offre prestazioni ottimali o non riesce ad apprendere durante il processo di addestramento. 

L'obiettivo dell'algoritmo di ottimizzazione è quello di ridurre al minimo la funzione di perdita che misura il divario tra le previsioni di un modello e i dati reali. Ogni volta che il modello esegue l'algoritmo di ottimizzazione, aggiorna i parametri in base al risultato. Il tasso di apprendimento, o dimensione del passo, è rappresentato dalla lettera greca η e determina la dimensione delle modifiche che il modello può apportare. 

Il tasso apprendimento consente di garantire che un modello apprenda abbastanza dall'addestramento per apportare modifiche significative ai parametri, senza correggere eccessivamente. Immagina di scendere da una collina; per tornare a valle in modo sicuro è necessario camminare abbastanza velocemente da fare progressi significativi, ma non troppo velocemente da perdere il controllo e inciampare. Il tasso di apprendimento ideale imposta una velocità di discesa sicura. 

Ogni fase di addestramento rappresenta il modello che sovrascrive la precedente comprensione del suo set di dati. Una rete neurale "impara" di più sui suoi dati di addestramento con ogni passaggio del suo algoritmo di ottimizzazione. 

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Perché il tasso di apprendimento è importante?

Il tasso di apprendimento è importante perché guida i modelli AI nell'apprendimento efficace dai dati di addestramento. 

Un tasso di apprendimento basso non consente al modello di "imparare" abbastanza in ogni fase. Il modello aggiorna i suoi parametri troppo lentamente e impiega troppo tempo per raggiungere la convergenza. Tuttavia, ciò non significa che un tasso di apprendimento elevato sia la risposta. 

Con un tasso di apprendimento elevato, l'algoritmo può essere soggetto a overshooting, ovvero quando si spinge troppo in là nella correzione degli errori. In questo caso, l'algoritmo necessita di un tasso di apprendimento più basso, ma non troppo da rendere l'apprendimento inefficiente. 

Come esempio, immagina un alieno che è venuto a conoscenza della vita sulla Terra. L'alieno vede gatti, cani, cavalli, maiali e mucche e pensa che tutti gli animali abbiano quattro zampe. Poi, l'alieno vede un pollo. Anche questa creatura è un animale? A seconda del suo tasso di apprendimento, l'alieno giungerà a una di queste tre conclusioni: 

  • Con un tasso di apprendimento ottimale, l'alieno concluderà che anche i polli sono animali. Se è così, ciò significa che la quantità di gambe non è un fattore determinante per stabilire se una creatura è un animale o no. 

  • Se l'alieno ha un basso tasso di apprendimento, non può trarre sufficienti insight da questo singolo pollo. L'alieno concluderà che i polli non sono animali perché non hanno quattro zampe. Il basso tasso di apprendimento dell'alieno non gli consentirà di aggiornare il suo pensiero finché non vedrà altri polli. 

  • Con un tasso di apprendimento elevato, l'alieno correggerà eccessivamente. Concluderà che, poiché il pollo è un animale e poiché il pollo ha due zampe, tutti gli animali hanno due zampe. Un tasso di apprendimento elevato significa che il modello impara "troppo" in poco tempo. 

Tassi di apprendimento diversi si traducono in risultati di apprendimento diversi. Il miglior tasso di apprendimento è quello che consente all'algoritmo di regolare i parametri del modello in modo tempestivo senza superare il punto di convergenza. 

Che cosa sono i parametri nel machine learning?

I parametri sono variabili di configurazione che regolano il funzionamento di un modello di deep learning. I parametri sono analoghi alle impostazioni di un modello, in quanto ne determinano il comportamento e possono essere regolati per migliorare le prestazioni del modello.

Parametri appresi dal modello

I parametri appresi dal modello, o i pesi del modello, sono interni al modello e vengono appresi durante l'addestramento. Ad ogni fase, il modello cambia i propri parametri interni per migliorare le sue prestazioni. L'entità delle modifiche apportate dal modello è stabilita dal tasso di apprendimento. La configurazione dei parametri di un modello influisce direttamente sulle sue prestazioni.

Quando si perfeziona un modello, sono necessari piccoli aggiustamenti perché il modello è già stato addestrato. La messa a punto richiede in genere un tasso di apprendimento inferiore rispetto all'addestramento iniziale di un modello.

Iperparametri

Gli iperparametri sono regole esterne che plasmano la struttura e il processo di apprendimento del modello. Vengono configurati dalle persone responsabili dell'apprendimento del modello. Il tasso di apprendimento è uno di questi iperparametri e in genere ha un valore compreso tra 0,0 e 1,0. 

Altri due iperparametri fondamentali sono: 

  • Epoca: il numero di volte in cui l'intero set di dati di addestramento passa attraverso il modello durante l'addestramento. Un'epoca è completa quando il modello elabora ogni campione nei suoi dati di addestramento una volta. L'iperparametro epoch imposta il numero di epoche nel processo di addestramento. 

  • Dimensione del batch: le epoche di addestramento possono essere suddivise in blocchi più piccoli chiamati batch. Il modello aggiorna i pesi dopo ogni batch di addestramento. 

L'epoca imposta la durata del processo di addestramento, mentre la dimensione del batch determina la frequenza con cui il modello aggiorna i propri pesi. Il tasso di apprendimento indica al modello quanto imparare dopo ogni batch. 

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Che cos'è un algoritmo di ottimizzazione?

Un algoritmo di ottimizzazione, o algoritmo di apprendimento, è un processo di programmazione che insegna a un modello di deep learning come imparare dai dati di addestramento e come aggiornare i pesi del modello. Gli algoritmi di apprendimento sono costituiti da una funzione di perdita, nota anche come funzione di costo o funzione di errore, e da un metodo per ottimizzare i pesi del modello.

Ogni iterazione dell'algoritmo di apprendimento perfeziona ulteriormente il modello. Quando un modello non può più essere migliorato con ulteriore addestramento, si dice che ha raggiunto la convergenza

Discesa del gradiente

La discesa del gradiente è un algoritmo di ottimizzazione per l'addestramento dei modelli di machine learning. Gli algoritmi di discesa del gradiente utilizzano una funzione di perdita per tracciare la differenza tra le previsioni di un algoritmo di apprendimento automaticoe i valori effettivi. Il gradiente è la pendenza della funzione, che rappresenta i suoi valori potenziali. 

L'obiettivo dell'algoritmo di ottimizzazione è quello di far scendere il gradiente al minimo locale, dove la funzione produce l'output più basso. Tuttavia, i minimi locali non sono necessariamente il minimo globale singolare della funzione o il suo valore minimo complessivo. I data scientist utilizzano metodi supplementari, come altri algoritmi e regolarizzazioni, per evitare che un modello si blocchi a un minimo locale non ottimale via via che l'output della funzione di perdita diminuisce. 

Il processo di aggiornamento dei pesi di un modello attraverso la riduzione al minimo della sua funzione di perdita è noto come retropropagazione. La discesa del gradiente è un metodo comune per eseguire la tecnica della retropropagazione. 

Ogni volta che l'algoritmo aggiorna i parametri del modello per ridurre la funzione di perdita e fare discendere il gradiente, il modello si avvicina leggermente alla convergenza. Il tasso di apprendimento controlla questa discesa limitando il ritmo con cui l'algoritmo aggiorna i pesi del modello. 

Esistono tre tipi di discesa del gradiente: 

  • La discesa del gradiente in batch si ripete dopo avere calcolato la perdita per tutti i campioni del set di dati. È altamente stabile, ma non è il metodo migliore per raggiungere una convergenza ottimale. 

  • La discesa stocastica del gradiente (SGD) seleziona in modo casuale un punto dati per ogni iterazione, aumentando notevolmente la velocità e le sfumature. Tuttavia, la sua elevata frequenza di aggiornamento può ridurre la stabilità. L'SGD ha molte varianti, tra cui Adam, AdaGrad e RMSProp. 

  • La discesa del gradiente in mini-batch è un compromesso che sceglie invece un piccolo gruppo di punti dati per iterazione. Offre una buona frequenza e velocità di aggiornamento senza sacrificare la stabilità. 

    Come determinare il tasso di apprendimento ottimale

    La determinazione di un buon tasso di apprendimento è in gran parte un processo basato su tentativi ed errori. Non esiste una tecnica infallibile di data science che garantisca un tasso di apprendimento iniziale ottimale senza valutare i progressi durante l'addestramento. 

    I metodi più comuni per determinare il tasso di apprendimento includono: 

    • Ricerca a griglia 

    • Pianificazioni del tasso di apprendimento

    • Tasso di apprendimento adattivo 

    • Ottimizzazione degli iperparametri

    L'ottimizzazione del tasso di apprendimento si basa fortemente sui principi fondamentali del decadimento e del momentum. Molte librerie di deep learning calcolano il decadimento e il momentum al posto degli utenti. Una di queste librerie è l'API open source Keras, scritta in Python con supporto per TensorFlow, JAX e PyTorch

    • Il decadimento rallenta il tasso di apprendimento con il progredire di quest'ultimo. L'uso efficace del decadimento permette al modello di apprendere rapidamente all'inizio e in modo più incrementale in seguito, per evitare l'overshooting della convergenza. 

    • Il momentum è l'inerzia dell'algoritmo di ottimizzazione. Aumenta il tasso di apprendimento quando il gradiente segue la stessa direzione, il che significa che l'algoritmo deve ancora raggiungere la convergenza, bypassando i minimi locali per continuare a progredire verso il basso. Aumentando il momentum si può ottenere una convergenza più rapida. Un basso momentum può bloccare l'apprendimento a minimi locali minori, mentre un momentum elevato può saltare erroneamente i minimi locali significativi. 

    Ricerca a griglia

    La ricerca a griglia è un metodo di "forza bruta" per determinare il tasso di apprendimento. I data scientist assemblano una griglia contenente tutti i tassi di apprendimento potenziali, dopodiché ogni tasso di apprendimento viene testato e convalidato. La convalida testa il modello addestrato su una nuova serie di dati e ne aggiorna ulteriormente i iperparametri. 

    Sebbene la ricerca a griglia semplifichi un processo esaustivo di valutazione del tasso di apprendimento, richiede molto tempo e molta potenza di calcolo.

    Pianificazioni del tasso di apprendimento

    Le pianificazioni del tasso di apprendimento aggiornano il tasso di apprendimento durante il processo di addestramento in base a uno di molti piani predeterminati. Le pianificazioni più comuni includono: 

    • Tasso di apprendimento fisso

    • Decadimento basato sul tempo 

    • Decadimento graduale 

    • Decadimento esponenziale

    • Decadimento polinomiale

    Tasso di apprendimento fisso

    Un tasso di apprendimento fisso, o tasso di apprendimento costante, non cambia durante l'apprendimento. Con un tasso di apprendimento fisso, il momentum e il decadimento rimangono statici durante l'apprendimento. Un tasso di apprendimento fisso fornisce un benchmark con cui testare altre strategie di tasso di apprendimento.

    Decadimento basato sul tempo

    Una pianificazione dell'apprendimento basata sul tempo avvia il decadimento del tasso di apprendimento dopo un numero predeterminato di epoche di addestramento o in epoche specifiche. La quantità di decadimento del tasso di apprendimento si basa sul tasso di apprendimento del ciclo precedente. Una tipica pianificazione dell'apprendimento basata sul tempo basa il decadimento su un fattore inversamente proporzionale al numero di epoche.

    Decadimento graduale

    Il decadimento graduale riduce il tasso di apprendimento di un fattore predeterminato, come il dimezzamento, dopo un determinato numero di epoche.

    Decadimento esponenziale

    I tassi di apprendimento a decadimento esponenziale diminuiscono esponenzialmente dopo un determinato numero di epoche. Le pianificazioni dell'apprendimento con decadimento esponenziale sono simili ai programmi con decadimento graduale.

    Decadimento polinomiale

    In un programma di apprendimento polinomiale, il decadimento è determinato da una funzione polinomiale dell'epoca corrente. Moltiplicando l'epoca per un esponente più alto si aumenta il tasso di decadimento, mentre una potenza più bassa mantiene un tasso di decadimento più stabile.

    Pianificazione ciclica del tasso di apprendimento

    Una pianificazione ciclica dell'apprendimento definisce un tasso di apprendimento minimo e massimo, per poi alternarli. Una pianificazione triangolare aumenta linearmente dal minimo al massimo e viceversa, secondo una costante predefinita. Altri programmi utilizzano le funzioni coseno, sinusoidale o parabolica.

    Tasso di apprendimento adattivo

    Gli algoritmi di apprendimento adattivo si adattano dinamicamente in risposta alle condizioni attuali o alle iterazioni precedenti. Al contrario, i tassi di apprendimento pianificati dipendono tutti da iperparametri predefiniti. 

    Molti metodi di apprendimento adattivo sono varianti dell'SGD. I principali algoritmi di apprendimento adattivo includono: 

    • AdaGrad: la famiglia di algoritmi AdaGrad (gradiente adattivo), introdotta nel 2011, aggiorna il tasso di apprendimento separatamente per ogni parametro. Imposta solitamente una relazione inversamente proporzionale tra il tasso di apprendimento e la frequenza delle funzionalità. Questo approccio mantiene l'attenzione sulle funzionalità più rilevanti nel set di dati. 

    • RMSProp: la propagazione quadratica media delle radici (RMSProp) regola il peso di apprendimento di ciascun parametro in base a una media mobile dei quadrati di ciascun gradiente. Questa propagazione migliora AdaGrad ignorando i gradienti più vecchi, aumentando la stabilità e portando a una convergenza più rapida. 

    • Adam: introdotto nel 2014, Adam (adaptive moment estimation) combina il momentum con RMSProp per regolare il tasso di apprendimento di ciascun parametro in base ai suoi gradienti precedenti. Le versioni successive di Adam hanno aggiunto un inizio a caldo, che aumenta gradualmente il tasso di apprendimento all'inizio di quest'ultimo.

    Ottimizzazione degli iperparametri

    L'ottimizzazione degli iperparametri, o messa a punto degli iperparametri, è la pratica di identificare la configurazione ottimale per tutti gli iperparametri, incluso il tasso di apprendimento. Gli algoritmi di messa a punto degli iperparametri automatizzano il processo di configurazione degli iperparametri ottimali, dove ogni algoritmo favorisce determinati iperparametri rispetto ad altri. 

    La ricerca della configurazione complessiva ottimale degli iperparametri consente di considerare in che modo ognuno di essi influisce sugli altri. Tuttavia, questo approccio può diventare costoso dal punto di vista computazionale, soprattutto con quantità elevate di iperparametri.

    Soluzioni correlate
    IBM watsonx.ai

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

    Scopri watsonx.ai
    Soluzioni di intelligenza artificiale

    Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

    Esplora le soluzioni AI
    Consulenza e servizi sull'AI

    Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

    Esplora i servizi AI
    Fai il passo successivo

    Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

    Esplora watsonx.ai Prenota una demo live