Che cos’è l’apprendimento per rinforzo? Guida completa
La maggior parte dei sistemi di machine learning apprende analizzando dati statici. Acquisisce set di dati etichettati, individua schemi ricorrenti e formula previsioni in base a ciò che ha osservato. L’apprendimento per rinforzo (RL) adotta un approccio diverso. Nell’apprendimento per rinforzo, un sistema apprende interagendo con un ambiente: esegue azioni, osserva i risultati e adatta il proprio comportamento in base a ricompense o penalità. Nel tempo, individua strategie che massimizzano il successo a lungo termine.
- Che cos’è l’apprendimento per rinforzo?
- Come funziona l’apprendimento per rinforzo?
- Tipi di apprendimento per rinforzo
- Tecniche di apprendimento per rinforzo
- Esempi e app dell’apprendimento per rinforzo
- Vantaggi dell’apprendimento per rinforzo
- Svantaggi dell’apprendimento per rinforzo
- L’apprendimento per rinforzo nell’AI Data Cloud
- Domande frequenti sull’apprendimento per rinforzo
- Risorse
Che cos’è l’apprendimento per rinforzo?
La maggior parte dei sistemi di machine learning apprende analizzando dati statici. Acquisisce set di dati etichettati, individua schemi ricorrenti e formula previsioni in base a ciò che ha osservato. L’apprendimento per rinforzo (RL) adotta un approccio diverso. Nell’apprendimento per rinforzo, un sistema apprende interagendo con un ambiente: esegue azioni, osserva i risultati e adatta il proprio comportamento in base a ricompense o penalità. Nel tempo, individua strategie che massimizzano il successo a lungo termine.
L’apprendimento per rinforzo è una branca del machine learning in cui un sistema intelligente, spesso chiamato agente, impara a prendere decisioni interagendo con un ambiente.
A ogni passaggio:
- l’agente osserva la situazione corrente (lo stato)
- sceglie un’azione
- l’ambiente risponde
- l’agente riceve una ricompensa o una penalità
- il processo si ripete
L’obiettivo non consiste semplicemente nell’ottenere la massima ricompensa immediata. L’agente cerca invece di massimizzare la ricompensa cumulativa nel tempo. Questa attenzione ai risultati a lungo termine distingue l’apprendimento per rinforzo da molti altri approcci di machine learning.
Come funziona l’apprendimento per rinforzo?
L’apprendimento per rinforzo si basa essenzialmente su un ciclo di feedback. Diversi componenti chiave determinano il funzionamento di questo ciclo.
L’agente
L’agente di apprendimento per rinforzo prende le decisioni. Può trattarsi di un robot che regola la forza della presa, di un motore di pricing che seleziona gli sconti o di una rete neurale che perfeziona le strategie di generazione del testo. L’obiettivo dell’agente è apprendere una policy, ossia una regola per scegliere le azioni in situazioni diverse, che massimizzi la ricompensa cumulativa.
L’ambiente
L’ambiente comprende tutto ciò con cui interagisce l’agente. In un’attività di robotica, l’ambiente può coincidere con il mondo fisico. In un sistema di raccomandazione, può includere le risposte degli utenti e i segnali comportamentali. In una simulazione di addestramento, può essere interamente virtuale. L’ambiente risponde a ogni azione passando a un nuovo stato e assegnando una ricompensa.
Lo stato
Lo stato rappresenta le informazioni disponibili per l’agente in un determinato momento. Racchiude gli aspetti rilevanti dell’ambiente che influenzano il processo decisionale. In un sistema di ottimizzazione del magazzino, lo stato può includere i livelli delle scorte, le previsioni della domanda e i vincoli di spedizione. In un sistema AI conversazionale, lo stato può rappresentare il contesto del dialogo. Gli stati evolvono nel tempo in base alle azioni dell’agente.
L’azione
Un’azione è qualsiasi decisione che l’agente può prendere. In alcuni sistemi, le azioni sono discrete, come spostarsi a sinistra o a destra. In altri sono continue, come modificare con precisione l’angolazione di un braccio robotico. Nei sistemi di AI generativa, un’azione può consistere nella selezione del token successivo di una sequenza. Ogni azione influenza ciò che accade in seguito.
La ricompensa
La ricompensa è il segnale che guida l’apprendimento e codifica l’obiettivo del sistema. Definire le ricompense è un processo complesso, perché anche lievi disallineamenti possono indurre un agente a ottimizzare scorciatoie non previste anziché il vero obiettivo. Ad esempio, se un motore di raccomandazione ottimizza solo i clic, può imparare a privilegiare contenuti sensazionalistici a scapito della soddisfazione a lungo termine. La sfida consiste nell’allineare la definizione delle ricompense agli obiettivi del mondo reale.
Il processo di apprendimento
L’apprendimento per rinforzo si svolge come un ciclo ripetuto: osservare, agire, ricevere feedback, aggiornare la strategia e ripetere. Nel tempo, l’agente stima quali azioni hanno maggiori probabilità di produrre ricompense più elevate nel lungo periodo. Nelle prime fasi dell’addestramento, l’agente esplora un’ampia gamma di possibilità, provando azioni che potrebbero non essere ottimali per raccogliere informazioni. Gradualmente passa allo sfruttamento, scegliendo le azioni che ritiene possano produrre i risultati migliori. Bilanciare esplorazione e sfruttamento è una delle principali difficoltà dell’apprendimento per rinforzo.
Tipi di apprendimento per rinforzo
I sistemi di apprendimento per rinforzo rientrano generalmente in due ampie categorie: approcci basati su modello e approcci senza modello.
Apprendimento per rinforzo basato su modello
I metodi basati su modello cercano di apprendere o utilizzare una rappresentazione del funzionamento dell’ambiente. L’agente costruisce un modello che prevede come cambiano gli stati in risposta alle azioni e quali ricompense ne derivano. Con questo modello, l’agente può simulare possibili scenari futuri prima di agire, pianificando le azioni e migliorando potenzialmente l’efficienza nell’uso dei dati. Tuttavia, costruire modelli accurati dell’ambiente diventa sempre più difficile con l’aumentare della complessità dei sistemi.
Apprendimento per rinforzo senza modello
I metodi senza modello non prevedono una modellazione esplicita dell’ambiente. L’agente apprende invece direttamente dall’esperienza quali azioni tendono a produrre ricompense più elevate. Questo approccio è concettualmente più semplice e spesso offre una maggiore scalabilità per problemi ad alta dimensionalità. La maggior parte dei moderni sistemi di deep reinforcement learning, in particolare quelli che utilizzano reti neurali, si basa su tecniche senza modello. Il compromesso è che i sistemi senza modello possono richiedere grandi quantità di dati di interazione per convergere.
Tecniche di apprendimento per rinforzo
I moderni sistemi di apprendimento per rinforzo si basano generalmente su un numero limitato di famiglie di algoritmi fondamentali. Queste tecniche continuano a evolversi e rimangono centrali per la robotica, la simulazione, l’ottimizzazione industriale e l’allineamento dell’AI su larga scala.
Q-learning
Il Q-learning è uno degli approcci fondamentali all’apprendimento per rinforzo. In sostanza, stima la ricompensa cumulativa attesa derivante dall’esecuzione di una determinata azione in uno specifico stato e aggiorna tali stime in base ai risultati osservati. In ambienti piccoli o strutturati, il Q-learning può essere implementato mediante rappresentazioni tabellari. Nella pratica, i suoi principi di base, in particolare la stima del valore e l’apprendimento con bootstrap, informano metodi più avanzati basati sul valore. Il Q-learning va inteso soprattutto come struttura concettuale portante del moderno apprendimento per rinforzo, anziché come soluzione autonoma.
Deep Q-Network (DQN)
Le Deep Q-Network estendono il Q-learning sostituendo le tabelle di consultazione con reti neurali che approssimano la funzione valore-azione. Ciò consente di applicare l’apprendimento per rinforzo su larga scala a input ad alta dimensionalità, come immagini, stream di sensori e rappresentazioni complesse dello stato. Le DQN e le relative varianti moderne, tra cui le Double DQN e gli approcci distribuzionali, sono utilizzate in ambienti con azioni discrete e sistemi di addestramento basati sulla simulazione. Più in generale, le DQN hanno contribuito a dimostrare la fattibilità del deep reinforcement learning, in cui reti neurali e apprendimento guidato dalle ricompense operano insieme su larga scala.
Metodi policy gradient
I metodi policy gradient ottimizzano direttamente la policy anziché stimare i valori delle azioni. Anziché chiedersi “Quanto è valida questa azione?”, si chiedono “Come deve cambiare la strategia decisionale per migliorare la ricompensa attesa?”. Questi metodi sono particolarmente importanti nei problemi di controllo continuo, come quelli della robotica, in cui le azioni non sono limitate a scelte discrete. Svolgono inoltre un ruolo centrale nei moderni flussi di lavoro per l’addestramento dell’AI su larga scala, compresi l’allineamento e l’ottimizzazione dei modelli.
Metodi actor-critic
I metodi actor-critic combinano l’apprendimento basato sul valore e quello basato sulla policy. L’actor aggiorna la policy decisionale, mentre il critic valuta l’efficacia di azioni specifiche in un determinato stato. Questa struttura ibrida migliora la stabilità e l’efficienza nell’uso dei campioni, aspetti essenziali negli ambienti ampi e complessi. Molti algoritmi all’avanguardia oggi in uso, come Proximal Policy Optimization (PPO) e Soft Actor-Critic (SAC), sono varianti actor-critic prevalenti nelle moderne app di apprendimento per rinforzo.
Esempi e app dell’apprendimento per rinforzo
Le app di apprendimento per rinforzo sono particolarmente efficaci negli ambienti in cui le azioni influenzano gli stati futuri.
Robotica
Nella robotica, l’apprendimento per rinforzo consente alle macchine di imparare a camminare, afferrare oggetti ed eseguire movimenti coordinati. Poiché la sperimentazione fisica è costosa, molti sistemi vengono addestrati in simulazione prima di trasferire le conoscenze al mondo reale. Il processo decisionale sequenziale è centrale nella robotica, rendendo l’apprendimento per rinforzo una soluzione naturale.
Pricing dinamico
I modelli di apprendimento per rinforzo possono adeguare continuamente i prezzi in base all’andamento della domanda, ai segnali della concorrenza e ai vincoli di inventario. Anziché affidarsi a regole statiche, apprendono strategie di pricing che ottimizzano i ricavi o la redditività nel lungo periodo.
Sistemi di raccomandazione
I motori di raccomandazione utilizzano sempre più spesso l’apprendimento per rinforzo per ottimizzare il coinvolgimento duraturo anziché i clic a breve termine. Modellando l’interazione con gli utenti come un processo sequenziale, questi sistemi possono bilanciare l’esplorazione di nuovi contenuti e la personalizzazione.
Perfezionare i modelli linguistici di grandi dimensioni
Una delle app più rilevanti dell’apprendimento per rinforzo è oggi il perfezionamento dei modelli linguistici di grandi dimensioni mediante l’apprendimento per rinforzo con feedback umano (RLHF). Le persone incaricate della valutazione classificano gli output del modello, viene addestrato un modello di ricompensa e l’apprendimento per rinforzo adegua la policy per allineare gli output alle preferenze umane. Questo processo svolge un ruolo centrale nel miglioramento dei sistemi di AI conversazionale.
Vantaggi dell’apprendimento per rinforzo
L’apprendimento per rinforzo si distingue dagli altri approcci di machine learning perché è specificamente orientato ai processi decisionali nel tempo. Anziché ottimizzare una singola previsione, ottimizza il comportamento lungo sequenze di azioni, risultando particolarmente efficace in ambienti dinamici e incerti, dove gli esiti emergono gradualmente.
Risolve problemi sequenziali complessi
A differenza dei modelli predittivi statici, l’apprendimento per rinforzo ottimizza sequenze di azioni nel tempo. Per questo è particolarmente utile nella logistica, nella robotica e nei sistemi di AI adattivi.
Non richiede dataset etichettati
L’apprendimento per rinforzo non dipende da coppie input-output etichettate. Apprende invece attraverso segnali di ricompensa, risultando utile quando i dati etichettati sono scarsi.
Si concentra sul valore a lungo termine
Ottimizzando la ricompensa cumulativa, l’apprendimento per rinforzo tiene esplicitamente conto delle conseguenze differite, una caratteristica essenziale in molti sistemi reali.
Si adatta attraverso l’interazione
Poiché apprendono attraverso l’interazione, gli agenti possono adattarsi ai cambiamenti degli ambienti, in particolare nei sistemi simulati o aggiornati continuamente.
Svantaggi dell’apprendimento per rinforzo
Nonostante la sua flessibilità e potenza, l’apprendimento per rinforzo presenta difficoltà tecniche e pratiche assenti nei flussi di lavoro di machine learning più tradizionali. L’instabilità dell’addestramento, il disallineamento delle ricompense e i requisiti computazionali possono complicare lo sviluppo, soprattutto quando i sistemi passano dalla simulazione all’implementazione nel mondo reale.
Costi elevati per dati e capacità di calcolo
Il training richiede spesso un gran numero di interazioni e notevoli risorse di calcolo, soprattutto nei sistemi di deep reinforcement learning.
Progettazione complessa della ricompensa
È difficile definire una funzione di ricompensa che rappresenti gli obiettivi del mondo reale senza produrre conseguenze indesiderate. Anche piccoli disallineamenti possono generare comportamenti indesiderati.
Instabilità del training
Gli algoritmi di apprendimento per rinforzo possono essere instabili, soprattutto se combinati con reti neurali. La convergenza non è sempre garantita.
Rischi per la sicurezza nel deployment in ambienti reali
Negli ambienti fisici o ad alto rischio, l’esplorazione può introdurre ulteriori rischi. I sistemi devono essere sottoposti a vincoli rigorosi per prevenire esiti dannosi.
L’apprendimento per rinforzo nell’AI Data Cloud
I sistemi di apprendimento per rinforzo dipendono da capacità di calcolo scalabile, accesso governato ai dati e workflow di sperimentazione riproducibili. L’AI Data Cloud Snowflake unifica data engineering, analisi dei dati e sviluppo dell’AI in un unico ambiente. Con Snowflake ML e Snowflake Cortex AI, le organizzazioni possono accedere a dati di alta qualità, sviluppare e perfezionare modelli di machine learning e rendere operativi i workload AI in sicurezza e su larga scala.
Con la crescente influenza dell’apprendimento per rinforzo sull’enterprise AI, compresi i sistemi di AI generativa, una data foundation unificata per dati e AI sarà essenziale per trasformare la sperimentazione in valore aziendale duraturo.
Domande frequenti sull’apprendimento per rinforzo
Quali sono alcuni algoritmi di apprendimento per rinforzo?
Tra gli algoritmi più comuni di apprendimento per rinforzo figurano Q-learning, Deep Q-Networks, metodi basati sul gradiente della policy e approcci actor-critic come Proximal Policy Optimization (PPO) e Soft Actor-Critic (SAC).
ChatGPT utilizza l’apprendimento per rinforzo?
I modelli linguistici di grandi dimensioni vengono generalmente preaddestrati mediante apprendimento autosupervisionato, addestrando il modello a prevedere il token successivo di una sequenza sulla base di ampi corpora testuali, e poi perfezionati tramite apprendimento per rinforzo da feedback umano (RLHF) per allineare gli output alle preferenze umane.
L’apprendimento per rinforzo è AI o machine learning?
L’apprendimento per rinforzo è un sottocampo del machine learning, che a sua volta è una branca dell’intelligenza artificiale.
Qual è la differenza tra apprendimento per rinforzo e apprendimento supervisionato?
L’apprendimento supervisionato addestra i modelli utilizzando dati etichettati. L’apprendimento per rinforzo addestra gli agenti per tentativi ed errori, utilizzando le ricompense per orientarne il comportamento nel tempo.
