Policy gradient e PPO: cosa sono e come funzionano gli algoritmi che addestrano agenti e modelli AI
Policy gradient e PPO spiegati in modo chiaro: da REINFORCE agli actor-critic, dal clipping di PPO fino a DPO e GRPO usati per i modelli linguistici.

Quando si parla di apprendimento per rinforzo, il pensiero corre quasi sempre a Q-learning, alle tabelle di valori e agli agenti che imparano a giocare ai videogiochi Atari. C’è però un’altra famiglia di algoritmi che negli ultimi dieci anni è diventata il vero motore di molti risultati spettacolari: i metodi policy gradient, e in particolare il loro esponente più famoso, PPO (Proximal Policy Optimization).
PPO ha allenato agenti capaci di competere con giocatori professionisti di videogiochi complessi, ha insegnato a robot simulati a camminare e correre, ed è stato per anni l’algoritmo standard usato per rifinire i grandi modelli linguistici con il feedback umano. In questa guida capirai cosa sono i policy gradient, perché funzionano, quali problemi hanno e come PPO li risolve in modo elegante.
Non serve essere matematici per seguire il discorso: le formule saranno ridotte al minimo e ogni concetto verrà spiegato con esempi concreti.
Cosa sono i metodi policy gradient
Per capire i policy gradient bisogna partire da una domanda semplice: cosa impara, esattamente, un agente di apprendimento per rinforzo? La risposta dipende dall’approccio. Nei metodi basati sul valore, come Q-learning, l’agente impara a stimare quanto vale ogni azione in ogni situazione, e poi sceglie semplicemente quella con il valore più alto. La strategia di comportamento, cioè la policy, è una conseguenza indiretta di queste stime.
I metodi policy gradient ribaltano la prospettiva. Invece di stimare valori e ricavarne una strategia, ottimizzano direttamente la policy. L’agente possiede una funzione, di solito una rete neurale, che riceve in ingresso lo stato dell’ambiente e restituisce una distribuzione di probabilità sulle azioni possibili. L’addestramento consiste nel modificare i parametri di questa rete in modo che le azioni che portano a ricompense elevate diventino più probabili, e quelle che portano a risultati scadenti diventino meno probabili.
In altre parole, la policy è l’oggetto dell’apprendimento, non un sottoprodotto.
La policy come distribuzione di probabilità
Un aspetto fondamentale dei policy gradient è che la policy è stocastica. Se un robot si trova davanti a un ostacolo, la rete non dice “gira a destra” in modo deterministico, ma qualcosa come “gira a destra con probabilità 70%, a sinistra con probabilità 25%, fermati con probabilità 5%”. L’azione effettiva viene poi campionata da questa distribuzione.
Questa caratteristica porta due vantaggi. Il primo è che l’esplorazione è incorporata nel meccanismo stesso: finché le probabilità non diventano estreme, l’agente continua a provare anche azioni meno favorite, e può scoprire che alcune funzionano meglio del previsto. Il secondo è che le policy stocastiche possono rappresentare strategie ottimali che una policy deterministica non riuscirebbe a esprimere, come accade nei giochi in cui essere prevedibili è uno svantaggio.
Azioni discrete e azioni continue
C’è poi un motivo molto pratico per cui i policy gradient sono diventati così popolari: gestiscono con naturalezza le azioni continue. Pensa a un braccio robotico che deve decidere quanta forza applicare a ciascuna delle sue articolazioni. Le azioni possibili non sono un elenco finito, ma un intervallo continuo di valori.
Con Q-learning bisognerebbe calcolare il valore di infinite azioni e poi trovare il massimo, un’operazione impraticabile. Un metodo policy gradient, invece, può far produrre alla rete i parametri di una distribuzione continua, per esempio media e deviazione standard di una gaussiana, e campionare direttamente l’azione da lì. È il motivo per cui quasi tutta la robotica simulata basata su apprendimento per rinforzo si appoggia a questa famiglia di algoritmi.
L’obiettivo da massimizzare
Formalmente, l’agente vuole massimizzare la ricompensa cumulativa attesa, cioè la somma delle ricompense che si aspetta di ottenere seguendo la sua policy dall’inizio alla fine di un episodio. Questo obiettivo dipende dai parametri della rete: cambiando i pesi cambia la policy, cambiano le azioni scelte e cambiano le ricompense raccolte.
L’idea dei policy gradient è calcolare il gradiente di questo obiettivo rispetto ai parametri, cioè la direzione in cui modificare i pesi per aumentare la ricompensa attesa, e poi fare un piccolo passo in quella direzione. È lo stesso principio della discesa del gradiente usata in tutto il deep learning, con una differenza: qui si sale verso il massimo invece di scendere verso il minimo, e si parla infatti di ascesa del gradiente.
Il teorema del policy gradient e l’algoritmo REINFORCE
Il problema, a prima vista, sembra insormontabile. La ricompensa dipende dall’ambiente, e l’ambiente è una scatola nera: non sappiamo come risponde alle azioni, non possiamo derivarlo. Come si calcola allora il gradiente di qualcosa che dipende da un processo sconosciuto?
La soluzione arriva da un risultato matematico noto come teorema del policy gradient, formalizzato da Richard Sutton e colleghi alla fine degli anni Novanta. Il teorema mostra che il gradiente dell’obiettivo può essere espresso senza derivare l’ambiente: basta derivare il logaritmo della probabilità delle azioni scelte dalla policy, e pesare ciascun termine con la ricompensa ottenuta.
Tradotto in linguaggio comune: se un’azione ha portato a un buon risultato, spingi la rete a renderla più probabile; se ha portato a un cattivo risultato, spingila a renderla meno probabile. L’intensità della spinta è proporzionale a quanto il risultato è stato buono o cattivo.
Come funziona REINFORCE passo dopo passo
L’algoritmo più semplice che applica questa idea si chiama REINFORCE, proposto da Ronald Williams nel 1992. Il suo funzionamento si può descrivere in pochi passaggi.
- L’agente gioca un episodio completo seguendo la policy attuale, registrando stati, azioni e ricompense.
- Alla fine dell’episodio, per ogni passo calcola il ritorno, cioè la somma delle ricompense ottenute da quel momento in poi, eventualmente scontate.
- Per ogni azione compiuta, calcola il gradiente del logaritmo della sua probabilità e lo moltiplica per il ritorno corrispondente.
- Somma tutti questi contributi e aggiorna i parametri della rete nella direzione ottenuta.
- Ripete il ciclo con un nuovo episodio.
È un algoritmo sorprendentemente intuitivo. Non richiede un modello dell’ambiente, non richiede tabelle di valori e funziona sia con azioni discrete sia continue.
Il grande limite: la varianza
REINFORCE ha però un difetto serio. Le stime del gradiente che produce sono estremamente rumorose. Un singolo episodio può essere andato bene per pura fortuna, o male per un unico errore alla fine, e l’algoritmo attribuisce il merito o la colpa a tutte le azioni dell’episodio in modo quasi indiscriminato.
Il risultato è un apprendimento instabile e lento: servono moltissimi episodi perché il rumore si compensi e la direzione giusta emerga. In ambienti complessi, dove ogni episodio costa tempo di simulazione, questo diventa rapidamente un problema pratico.
Buona parte della storia dei policy gradient successivi è, in sostanza, la storia dei tentativi di ridurre questa varianza.
La baseline e il concetto di vantaggio
Il primo rimedio è tanto semplice quanto efficace: sottrarre una baseline dal ritorno. Invece di chiedersi “questa azione ha portato a una ricompensa alta?”, ci si chiede “questa azione ha portato a una ricompensa più alta di quella che mi aspettavo in questa situazione?”.
Se in uno stato ci si aspetta mediamente un ritorno di 100 e un’azione ne produce 110, quell’azione merita di essere rinforzata. Se ne produce 90, anche se 90 è un numero alto in assoluto, merita di essere scoraggiata. Questa differenza tra ritorno ottenuto e ritorno atteso si chiama vantaggio, e diventa il segnale di apprendimento al posto della ricompensa grezza.
Si può dimostrare che sottrarre una baseline che dipende solo dallo stato non introduce distorsioni nel gradiente, ma ne riduce molto la varianza. La baseline più naturale è proprio una stima del valore dello stato, e da qui nasce la famiglia actor-critic.
I metodi actor-critic
Nei metodi actor-critic l’agente è composto da due parti che imparano insieme. L’attore è la policy: decide quali azioni compiere. Il critico è una funzione di valore: stima quanto è buono lo stato in cui ci si trova, e quindi fornisce la baseline per calcolare il vantaggio.
L’attore migliora seguendo i suggerimenti del critico, mentre il critico migliora confrontando le proprie previsioni con le ricompense realmente ottenute. Le due reti possono essere separate o condividere una parte dell’architettura, con due “teste” finali distinte.
È un’architettura che unisce il meglio dei due mondi: la flessibilità dei policy gradient e la stabilità delle stime di valore.
Apprendere a ogni passo invece che a fine episodio
Un altro vantaggio del critico è che permette di non aspettare la fine dell’episodio. Invece di calcolare il ritorno completo, l’agente può stimarlo usando la ricompensa immediata più il valore previsto dal critico per lo stato successivo. Questa tecnica, chiamata bootstrapping, è la stessa che rende efficiente Q-learning e che trovi descritta nella guida al processo decisionale di Markov, il quadro formale su cui poggia tutto l’apprendimento per rinforzo.
Il bootstrapping riduce ulteriormente la varianza, ma introduce un po’ di distorsione, perché le stime del critico non sono perfette. Scegliere quanto affidarsi ai ritorni reali e quanto alle stime è uno dei compromessi centrali di questa famiglia di algoritmi.
A2C, A3C e la stima del vantaggio generalizzata
Nel 2016 un gruppo di ricercatori di DeepMind guidato da Volodymyr Mnih ha presentato A3C (Asynchronous Advantage Actor-Critic), in cui molti agenti paralleli esplorano copie diverse dell’ambiente e aggiornano in modo asincrono una rete condivisa. Poco dopo si è diffusa la variante sincrona A2C, più semplice da implementare e spesso altrettanto efficace.
Un contributo decisivo è arrivato dalla stima del vantaggio generalizzata, nota come GAE (Generalized Advantage Estimation), proposta da John Schulman e colleghi. GAE combina stime del vantaggio su orizzonti di lunghezza diversa attraverso un parametro, di solito indicato con la lettera lambda, che regola il bilanciamento tra varianza e distorsione. Con lambda vicino a zero ci si affida soprattutto al critico; con lambda vicino a uno ci si affida soprattutto ai ritorni reali.
GAE è diventata un componente quasi standard, ed è parte integrante della maggior parte delle implementazioni di PPO.
Il problema della dimensione del passo
Anche con baseline, critico e GAE, resta un problema delicato che distingue l’apprendimento per rinforzo dall’apprendimento supervisionato. Nell’apprendimento supervisionato i dati sono fissi: se fai un passo di aggiornamento sbagliato, al passo successivo i dati sono gli stessi e puoi correggerti.
Nell’apprendimento per rinforzo, invece, i dati li genera la policy stessa. Se un aggiornamento troppo ampio peggiora la policy, l’agente inizierà a comportarsi male, raccoglierà esperienze di scarsa qualità, e da quelle esperienze imparerà ancora peggio. È un circolo vizioso che può far crollare in pochi aggiornamenti le prestazioni costruite in ore di addestramento.
Scegliere il tasso di apprendimento diventa quindi un esercizio frustrante: troppo piccolo e l’addestramento è lentissimo, troppo grande e rischi il collasso.
TRPO: la regione di fiducia
La prima soluzione rigorosa a questo problema è stata TRPO (Trust Region Policy Optimization), presentata da John Schulman e colleghi nel 2015. L’idea è definire una “regione di fiducia” attorno alla policy attuale e vietare aggiornamenti che portino la nuova policy troppo lontano da essa.
La distanza tra due policy viene misurata con la divergenza di Kullback-Leibler, una misura di quanto due distribuzioni di probabilità differiscono tra loro. TRPO massimizza il miglioramento atteso della policy sotto il vincolo che questa divergenza resti al di sotto di una soglia prestabilita.
I risultati erano ottimi in termini di stabilità. Il prezzo, però, era alto: TRPO richiede calcoli di secondo ordine, come approssimazioni dell’inversa della matrice di informazione di Fisher tramite il metodo del gradiente coniugato, che lo rendono complesso da implementare, pesante da eseguire e poco compatibile con architetture che condividono parametri tra attore e critico.
Serviva qualcosa di altrettanto stabile, ma molto più semplice.
PPO: Proximal Policy Optimization
Nel 2017 lo stesso Schulman, insieme ad altri ricercatori di OpenAI, ha pubblicato l’articolo che introduceva PPO. L’obiettivo dichiarato era ottenere l’affidabilità di TRPO usando solo ottimizzazione del primo ordine, cioè i normali ottimizzatori basati sul gradiente come Adam, già usati per addestrare qualsiasi rete neurale.
La proposta si è rivelata così efficace, e al tempo stesso così facile da implementare, da diventare in pochi anni l’algoritmo di riferimento per l’apprendimento per rinforzo con policy stocastiche.
Il rapporto tra nuova e vecchia policy
Il punto di partenza di PPO è un rapporto di probabilità. Per ogni azione presente nei dati raccolti, si confronta la probabilità che la nuova policy assegna a quell’azione con la probabilità che le assegnava la vecchia policy, quella che ha effettivamente generato i dati.
Se il rapporto vale 1, la policy non è cambiata per quell’azione. Se vale 1,5, la nuova policy la sceglie con il 50% di probabilità in più. Se vale 0,6, la sceglie meno spesso di prima. Moltiplicando questo rapporto per il vantaggio si ottiene un obiettivo “surrogato” che, massimizzato, spinge la policy a favorire le azioni vantaggiose.
Il problema è che, lasciato libero, questo obiettivo incoraggerebbe cambiamenti enormi, esattamente ciò che si voleva evitare.
Il clipping: il cuore dell’algoritmo
La soluzione di PPO è il clipping, cioè il taglio. Il rapporto di probabilità viene limitato a un intervallo ristretto attorno a 1, definito da un parametro chiamato epsilon. Nell’articolo originale il valore suggerito è 0,2, quindi il rapporto viene confinato tra 0,8 e 1,2.
L’obiettivo finale prende il minimo tra la versione normale e quella tagliata. L’effetto pratico è elegante. Se un’azione ha vantaggio positivo, la policy può aumentarne la probabilità, ma oltre il 20% in più il guadagno smette di crescere e non c’è più incentivo a spingere. Se un’azione ha vantaggio negativo, la policy può ridurne la probabilità, ma anche qui fino a un certo limite.
Il minimo garantisce inoltre che l’obiettivo sia una stima pessimistica: PPO non si lascia mai “ingolosire” da miglioramenti apparenti che derivano da cambiamenti troppo drastici della policy.
Il risultato è una regione di fiducia implicita, ottenuta senza vincoli espliciti né calcoli di secondo ordine.
Più epoche sugli stessi dati
Un vantaggio pratico importante del clipping è che rende sicuro riutilizzare più volte gli stessi dati. Nei policy gradient classici ogni lotto di esperienze viene usato per un solo aggiornamento, poi buttato, perché la policy che lo ha generato non esiste più.
PPO, invece, raccoglie un lotto di traiettorie e poi esegue diverse epoche di ottimizzazione su minibatch estratti da quel lotto. Il clipping impedisce che queste ripetizioni allontanino troppo la policy da quella che ha generato i dati. Il guadagno in efficienza è notevole, soprattutto quando raccogliere esperienza è costoso.
Il ciclo di addestramento completo
Mettendo insieme tutti i pezzi, un’iterazione tipica di PPO segue questi passaggi.
- Più copie dell’ambiente vengono eseguite in parallelo con la policy attuale per un numero fisso di passi.
- Per ogni passo si calcolano i vantaggi con GAE, usando le stime del critico.
- Si eseguono alcune epoche di ottimizzazione su minibatch, massimizzando l’obiettivo tagliato per l’attore e minimizzando l’errore di previsione per il critico.
- Si aggiunge spesso un piccolo bonus di entropia, che premia le policy meno “sicure di sé” e mantiene viva l’esplorazione.
- La policy aggiornata diventa la nuova policy di riferimento e il ciclo ricomincia.
Esiste anche una variante di PPO che, invece del clipping, aggiunge all’obiettivo una penalità proporzionale alla divergenza KL, con un coefficiente adattivo. Nella pratica, però, la versione con clipping è di gran lunga la più usata.
Perché PPO è diventato così popolare
La diffusione di PPO non si spiega con prestazioni sempre superiori a qualsiasi alternativa. In molti benchmark esistono algoritmi che, su compiti specifici, ottengono risultati migliori. Il suo successo si deve piuttosto a un equilibrio raro tra semplicità, stabilità e generalità.
PPO funziona con azioni discrete e continue, si parallelizza bene, tollera discretamente iperparametri non perfetti e si implementa in poche centinaia di righe di codice. Per chi deve affrontare un problema nuovo, è spesso la prima scelta ragionevole.
I successi più noti
Uno dei risultati più celebri ottenuti con PPO è OpenAI Five, il sistema che ha imparato a giocare a Dota 2, un videogioco di strategia a squadre estremamente complesso, arrivando nel 2019 a sconfiggere la squadra campione del mondo in carica in una serie di partite dimostrative. L’addestramento ha richiesto una scala di calcolo enorme, ma l’algoritmo di base era una versione di PPO.
OpenAI ha usato algoritmi di apprendimento per rinforzo della stessa famiglia anche per addestrare in simulazione una mano robotica a manipolare oggetti, e PPO è diventato lo standard in molti ambienti di locomozione simulata, dove figure articolate imparano a camminare, correre e rialzarsi dopo una caduta.
PPO e i modelli linguistici
L’applicazione che ha reso PPO noto anche fuori dalla comunità della ricerca è l’allineamento dei modelli linguistici. Con InstructGPT, e poi con ChatGPT, OpenAI ha reso popolare la tecnica del reinforcement learning from human feedback, in cui un modello di ricompensa addestrato sulle preferenze umane guida il miglioramento del modello linguistico. Il dettaglio di questa procedura lo trovi nella nostra guida all’RLHF e al suo ruolo nell’addestramento di ChatGPT e Claude.
In quel contesto la “policy” è il modello linguistico stesso, lo “stato” è il testo scritto fino a quel momento e ogni “azione” è la scelta del token successivo. PPO aggiorna il modello per aumentare la ricompensa assegnata dal modello di preferenza, mentre una penalità basata sulla divergenza KL rispetto al modello di partenza impedisce che il testo generato si allontani troppo dal linguaggio naturale per inseguire la ricompensa.
È un esempio perfetto di come un’idea nata per robot e videogiochi abbia trovato un’applicazione del tutto diversa.
Oltre PPO: le alternative più recenti
Il successo di PPO non ha fermato la ricerca. Anzi, proprio l’applicazione ai modelli linguistici ha messo in luce alcuni suoi limiti, in particolare il costo di mantenere in memoria contemporaneamente il modello da addestrare, il critico, il modello di ricompensa e il modello di riferimento.
DPO: ottimizzare le preferenze senza rinforzo esplicito
Nel 2023 un gruppo di ricercatori di Stanford ha proposto DPO (Direct Preference Optimization). L’intuizione è che, sotto certe ipotesi, il problema risolto da RLHF con PPO può essere riformulato come un semplice problema di classificazione sulle coppie di risposte preferite e scartate, senza addestrare un modello di ricompensa separato e senza campionare nuove risposte durante l’addestramento.
DPO è molto più semplice e stabile da usare, ed è stato rapidamente adottato per molti modelli aperti. Non è però un algoritmo di apprendimento per rinforzo in senso stretto, e non sostituisce PPO nei contesti classici come la robotica o i giochi.
GRPO: eliminare il critico
Un’altra evoluzione è GRPO (Group Relative Policy Optimization), introdotta da DeepSeek nel 2024 nell’ambito della ricerca sul ragionamento matematico e poi usata per i modelli di ragionamento dell’azienda. GRPO mantiene l’obiettivo tagliato di PPO ma elimina il critico: per ogni domanda il modello genera un gruppo di risposte, e il vantaggio di ciascuna viene calcolato confrontando la sua ricompensa con la media del gruppo.
Il risparmio di memoria e calcolo è significativo, e l’approccio si adatta bene ai compiti in cui la correttezza della risposta si può verificare automaticamente, come la matematica o il codice.
Resta il fatto che GRPO è un parente stretto di PPO: capire PPO significa capire anche lui.
Metodi off-policy per il controllo continuo
Nel controllo continuo, soprattutto in robotica, PPO convive con algoritmi off-policy come DDPG, TD3 e SAC (Soft Actor-Critic). Questi metodi riutilizzano esperienze passate conservate in un buffer di replay, come fa il deep reinforcement learning basato su DQN, e per questo sono spesso più efficienti in termini di campioni.
La scelta tra PPO e questi algoritmi dipende dal contesto: se la simulazione è economica e parallelizzabile, PPO è spesso la soluzione più semplice e robusta; se ogni interazione con l’ambiente è costosa, come nei robot reali, i metodi off-policy possono risultare più convenienti.
Come iniziare a usare PPO in pratica
Se vuoi sperimentare con PPO, la buona notizia è che non devi scriverlo da zero. L’ecosistema Python offre strumenti maturi e ben documentati che ti permettono di addestrare il tuo primo agente in pochi minuti.
Gli strumenti di riferimento
Il punto di partenza è Gymnasium, la libreria mantenuta dalla Farama Foundation che ha raccolto l’eredità di OpenAI Gym. Offre un’interfaccia standard per gli ambienti di simulazione e include classici come CartPole, il pendolo da tenere in equilibrio su un carrello, o LunarLander, il modulo lunare da far atterrare dolcemente.
Per gli algoritmi, Stable-Baselines3 è la scelta più comoda: fornisce implementazioni affidabili di PPO, A2C, SAC e altri metodi, utilizzabili con poche righe di codice. Se invece vuoi capire ogni dettaglio, CleanRL offre implementazioni contenute in un singolo file, pensate per essere lette e studiate. Per l’applicazione ai modelli linguistici, la libreria TRL di Hugging Face include implementazioni di PPO, DPO e GRPO.
Gli iperparametri da conoscere
PPO è considerato robusto, ma alcuni iperparametri influenzano molto i risultati. Il coefficiente di clipping epsilon controlla quanto la policy può cambiare a ogni aggiornamento. Il numero di passi raccolti per iterazione e il numero di epoche di ottimizzazione determinano il bilanciamento tra efficienza e stabilità. Il parametro lambda di GAE e il fattore di sconto gamma regolano l’orizzonte temporale delle stime.
Anche il coefficiente di entropia merita attenzione: troppo basso e l’agente smette presto di esplorare, troppo alto e fatica a consolidare una strategia.
Gli errori più comuni
La ricerca ha mostrato che le prestazioni di PPO dipendono in modo significativo da dettagli implementativi che l’articolo originale non enfatizzava: normalizzazione delle osservazioni e dei vantaggi, inizializzazione dei pesi, riduzione progressiva del tasso di apprendimento, taglio della norma del gradiente. Implementazioni diverse dello “stesso” algoritmo possono dare risultati molto differenti.
Per questo, se stai iniziando, conviene partire da un’implementazione consolidata e modificarla gradualmente, invece di scriverne una da zero.
Un altro errore frequente riguarda la progettazione della ricompensa. Un agente ottimizza esattamente ciò che gli chiedi, non ciò che intendi: se la ricompensa contiene una scorciatoia, PPO la troverà. Monitorare il comportamento reale dell’agente, e non solo la curva della ricompensa, è un’abitudine da prendere fin dal primo esperimento.
Vantaggi e limiti dei policy gradient
Facendo un bilancio, i metodi policy gradient offrono vantaggi chiari. Ottimizzano direttamente ciò che interessa, cioè il comportamento dell’agente. Gestiscono in modo naturale spazi di azione continui e di grandi dimensioni. Producono policy stocastiche, utili sia per l’esplorazione sia in contesti competitivi. E con PPO hanno raggiunto un livello di stabilità che li rende utilizzabili anche fuori dai laboratori di ricerca.
I limiti sono altrettanto reali. Gli algoritmi on-policy come PPO richiedono molti dati, perché devono raccogliere esperienza fresca con la policy corrente. Possono convergere verso ottimi locali, soprattutto quando la ricompensa è rara e l’esplorazione insufficiente. E, come tutti i metodi di apprendimento per rinforzo, sono sensibili alla formulazione della ricompensa e ai dettagli di implementazione.
Sono compromessi che vale la pena conoscere prima di scegliere l’algoritmo giusto per il tuo problema.
Conclusioni
I metodi policy gradient rappresentano uno dei due grandi pilastri dell’apprendimento per rinforzo. Partendo da un’idea semplice, rendere più probabili le azioni che funzionano, la ricerca ha costruito una sequenza di miglioramenti: REINFORCE ha fornito le basi, la baseline e i metodi actor-critic hanno ridotto la varianza, GAE ha reso più precise le stime del vantaggio, TRPO ha introdotto il concetto di regione di fiducia, e PPO ha reso tutto questo pratico con un’intuizione elegante come il clipping.
Oggi PPO e i suoi discendenti, come GRPO, sono presenti ovunque: dai robot simulati ai videogiochi, fino all’addestramento dei modelli linguistici che usi ogni giorno. Capire come funzionano ti aiuta a leggere con occhio più critico le notizie sui nuovi modelli e a orientarti se vuoi sperimentare in prima persona.
Il prossimo passo? Installa Gymnasium e Stable-Baselines3, addestra un agente PPO su CartPole e osserva come la sua policy migliora episodio dopo episodio. Poi continua a esplorare la sezione dedicata all’apprendimento rinforzato del nostro sito, a partire dalla guida a Q-learning, per confrontare i due approcci e scegliere quello più adatto ai tuoi progetti.