Salta ai contenuti

Da feedback e controllo a MDP, Bellman, RL

Lo stesso anello che misura un errore e agisce per ridurlo, disegnato nel 1948 per un cannone contraereo e nel 2018 per un agente che gioca a Go: dove la somiglianza è filiazione documentata, dove è analogia, dove è equivalenza formale.

Chi ha letto la Parte VII conosce un disegno: un agente osserva uno stato, sceglie un’azione, riceve una ricompensa, si trova in un nuovo stato, ripete. Chi ha letto i primi capitoli di questa Parte conosce un altro disegno: un sistema percepisce una variabile, la confronta con un riferimento, agisce per ridurre lo scarto, ripercepisce, ripete. I due disegni hanno la stessa forma. Due nodi, un anello chiuso, una freccia che porta l’azione e una freccia che riporta il risultato.

Non è una coincidenza, e capire che tipo di non-coincidenza sia è il lavoro di questo capitolo. C’è una filiazione storica documentata che lega il reinforcement learning alla teoria del controllo degli anni Cinquanta. C’è una parentela più larga e più sfumata con la cibernetica. E c’è una sovrapposizione formale che, sotto certe ipotesi, è una vera equivalenza di problema. Mescolare queste tre cose porta a due errori opposti e ugualmente sbagliati: “il reinforcement learning è la cibernetica rinominata” e “il reinforcement learning non ha niente a che vedere con la cibernetica”. Il primo gonfia un’analogia in un’identità; il secondo cancella una filiazione reale.

C’è anche una ragione operativa, e riguarda chi costruisce agenti oggi. Un agente che gira in un harness, che pensa, chiama uno strumento, legge il risultato e decide se ripetere, è un anello di feedback. RLHF, la tecnica con cui si allinea un modello linguistico, è un anello di feedback sul comportamento. Quando uno di questi anelli oscilla, diverge o si stabilizza attorno alla cosa sbagliata, sta succedendo qualcosa che la cibernetica ha studiato per decenni con un vocabolario preciso. Conoscere quel vocabolario significa poter importare strumenti maturi invece di reinventarli, peggio, sotto altri nomi.

Il capitolo procede così. Prima ricostruisce la genealogia — chi discende da chi, e con quale grado di certezza storica. Poi mette in fila le corrispondenze concettuali una per una — l’anello, il regolatore, il setpoint, il segnale di errore — etichettando ciascuna con la sua classe. Poi affronta l’affermazione tecnica più forte, quella che vede RL come controllo ottimo adattivo, e mostra fino a che punto è un’equivalenza vera. Infine attraversa il ponte verso l’AI di oggi: l’agente come anello, RLHF come feedback, la cornice del controllo applicata ai sistemi AI. È un percorso che va dal passato al presente tenendo fermo, a ogni passo, un solo principio: dire sempre se un legame è analogia, filiazione o equivalenza, e non lasciare che la prosa scivoli dall’una all’altra senza dichiararlo.

Il grafo concettuale di questo capitolo ha tre vertici. Il primo è la cibernetica, la disciplina che mette il feedback al centro, fondata da Norbert Wiener (matematico statunitense, 1894-1964) con il libro Cybernetics: or Control and Communication in the Animal and the Machine del 1948. Il secondo è il controllo ottimo, la branca dell’ingegneria che cerca il modo migliore di pilotare un sistema dinamico nel tempo, e che negli anni Cinquanta riceve il suo strumento centrale dalla programmazione dinamica di Richard Bellman. Il terzo è il reinforcement learning, RL d’ora in poi, il campo che studia come un agente impari a decidere bene interagendo con un ambiente, formalizzato a partire dal Markov Decision Process e maturato negli anni Ottanta.

Questi tre vertici non sono nati separati e poi avvicinati. Sono nati intrecciati, si sono separati per circa vent’anni, e in parte si sono ricuciti. La ricostruzione di quando e perché è la parte storica del capitolo, e va fatta con disciplina, perché è qui che si annida la maggior parte delle affermazioni che il lettore deve poter classificare con precisione.

La fonte canonica per la genealogia di RL non è un articolo divulgativo: è il capitolo storico del libro di testo di riferimento del campo. Richard Sutton e Andrew Barto — due tra i fondatori del reinforcement learning moderno — dedicano la sezione 1.7 di Reinforcement Learning: An Introduction (2a edizione, MIT Press, 2018) alla storia del campo. La loro ricostruzione è la spina dorsale della parte storica di questo capitolo, ed è una fonte primaria: sono gli autori che hanno costruito la cosa che raccontano.

C’è un fatto storico che spiega perché la parola “cibernetica” oggi suona antica mentre “reinforcement learning” suona attuale, anche se le due cose condividono tanto. Vale la pena raccontarlo, perché senza di esso la genealogia sembra una linea retta che non è.

Negli anni Quaranta cibernetica e intelligenza artificiale non erano due campi: erano lo stesso brodo. Le Macy Conferences, i seminari del MIT, gli stessi nomi — Wiener, McCulloch, von Neumann, Shannon — mescolavano feedback, calcolo, neuroni, informazione senza confini netti.

Poi, nel 1956, il Dartmouth Workshop — l’incontro estivo che dà un nome all‘“intelligenza artificiale” — segna una biforcazione. John McCarthy, Marvin Minsky e gli altri organizzatori scommettono su una linea precisa: rappresentazione simbolica, logica, ricerca nello spazio degli stati. Il filone del feedback, dell’adattamento di basso livello, dei sistemi che si autoregolano — la cibernetica propriamente detta — perde centralità nell’agenda dell’AI nascente. Non scompare, ma smette di essere il centro.

Negli stessi anni il controllo ottimo prende un’altra strada ancora. Bellman, Lev Pontryagin in Unione Sovietica, Rudolf Kalman: il controllo si sviluppa dentro le facoltà di ingegneria, con il proprio lessico e le proprie riviste, con poco contatto con chi nei dipartimenti di informatica diceva di fare “AI”. E la psicologia dell’apprendimento animale, terza radice, restava un campo a sé, nei dipartimenti di psicologia.

Il risultato è che per circa vent’anni, dagli anni Sessanta agli anni Ottanta, tre comunità lavorano in parallelo con poco dialogo: l’AI simbolica, il controllo ottimo nell’ingegneria, la psicologia dell’apprendimento.

Sutton e Barto notano che il filo del trial-and-error learning, dentro l’AI, quasi sparisce dopo i primi anni Sessanta. E che in parte fu per un fraintendimento preciso: si confuse il reinforcement learning con il supervised learning, e si pensò che il primo fosse soltanto un caso particolare del secondo. Era un errore, e vale la pena dire perché. Il supervised learning impara da risposte corrette fornite — per ogni input, qualcuno indica l’output giusto. RL impara da un segnale di valore senza che nessuno dica qual è la risposta giusta: l’agente sa solo se è andata bene o male, non cosa avrebbe dovuto fare. Sono due problemi diversi, e averli confusi costò al campo quasi un decennio.

La riconvergenza avviene negli anni Ottanta. Sutton, Barto e colleghi rimettono insieme il filo del trial-and-error e quello del controllo ottimo, e Watkins, con il Q-learning del 1989, li salda formalmente: il suo algoritmo è esplicitamente un’integrazione di temporal-difference e programmazione dinamica. Da lì “reinforcement learning” diventa il nome del campo unificato.

La cibernetica, come etichetta, non torna. Ma i suoi concetti — feedback, stabilità, varietà, adattamento, comportamento orientato a uno scopo — non sono scomparsi: si sono ridistribuiti tra RL e teoria del controllo, che li hanno ereditati senza sempre citarne la provenienza. La “separazione” tra cibernetica e RL, quindi, non è un divorzio tra due cose diverse. È la frammentazione di un campo unico in sotto-campi che hanno smesso di parlarsi, e la riconvergenza è la ricucitura di due dei tre frammenti. La cibernetica è il tessuto che c’era prima della frammentazione.

Prima di qualunque formalismo, conviene guardare la corrispondenza da tre angoli diversi. Il primo è il disegno: due anelli messi uno accanto all’altro. Il secondo è la storia: come questi anelli sono finiti a somigliarsi tanto. Il terzo è il vocabolario: due lessici che descrivono la stessa scena.

Il loop cibernetico canonico — quello descritto nel capitolo Anatomia di un anello: errore, setpoint, guadagno, ritardo — funziona così. C’è una variabile che ci interessa controllare, per esempio la temperatura di una stanza. Un sensore la misura. Un comparatore calcola la differenza tra la misura e un valore di riferimento, il setpoint (poniamo 20 gradi). Questa differenza è il segnale di errore. Un regolatore decide un’azione correttiva proporzionata all’errore. Un attuatore la esegue: accende il riscaldamento. L’azione cambia la variabile controllata. Il sensore rimisura. L’anello è chiuso e gira finché c’è corrente.

Il loop agente-ambiente di RL — quello descritto nel capitolo Markov Decision Process: il framework formale del decidere nel tempo — funziona così. L’agente osserva lo stato corrente sts_t. Sceglie un’azione ata_t secondo la propria regola di comportamento, la policy π\pi. L’ambiente reagisce: restituisce una ricompensa scalare rt+1r_{t+1} e un nuovo stato st+1s_{t+1}. L’agente osserva il nuovo stato, sceglie la prossima azione, e l’anello gira.

Sutton e Barto disegnano questo secondo loop come il diagramma fondamentale del loro libro: due scatole, “agente” e “ambiente”, connesse da due frecce. Una freccia porta l’azione dall’agente all’ambiente. L’altra riporta stato e reward dall’ambiente all’agente. Chi ha visto il diagramma di un sistema a controllo in retroazione riconosce immediatamente la stessa figura: due scatole, una freccia di andata, una freccia di ritorno, anello chiuso.

Conviene rendere la sovrapposizione ancora più concreta tornando al problema da cui la cibernetica è nata, raccontato nel capitolo Wiener: comunicazione e controllo in animali e macchine: il puntamento di un cannone contraereo. Il sistema osserva la posizione di un aereo, decide dove orientare la bocca da fuoco, spara, osserva di nuovo, corregge. È un anello. Lo si può riscrivere nel lessico di RL senza forzare nulla: lo stato è la posizione e la velocità stimate dell’aereo, l’azione è la correzione del puntamento, la “ricompensa” è alta quando il colpo va a segno. La differenza non è nel disegno del loop — è identico — ma in cosa si sa: l’ingegnere del 1940 aveva un modello della traiettoria dell’aereo e calcolava la correzione; un agente RL che imparasse lo stesso compito non avrebbe quel modello e dovrebbe scoprirlo sparando.

La somiglianza topologica è totale. Ma la topologia da sola non dice di che classe sia il legame. Due cose possono avere lo stesso disegno per filiazione storica, per analogia, o perché sono formalmente lo stesso oggetto. Il resto del capitolo serve a separare questi casi.

Secondo angolo: perché i due disegni si somigliano

Sezione intitolata “Secondo angolo: perché i due disegni si somigliano”

Il disegno si somiglia perché, in parte, viene dallo stesso posto — ma la genealogia esatta è quella raccontata nella sezione precedente, e va riassunta in una frase prima di andare avanti: filiazione documentata e diretta verso il controllo ottimo di Bellman e la psicologia del trial-and-error; parentela ambientale, non lineare, verso la cibernetica. Il prossimo angolo prende il problema da un lato diverso ancora: non la storia, ma il linguaggio.

C’è un esperimento mentale che chiarisce la natura del legame meglio di qualunque diagramma. Prendi un robot che impara a stare in equilibrio su due ruote. Descrivi quello che succede a un ingegnere del controllo e a uno specialista di RL, e ascolta le due descrizioni.

L’ingegnere del controllo dirà: c’è un sistema con uno stato (angolo di inclinazione, velocità angolare), un disturbo (le irregolarità del terreno), un controllore che produce una coppia ai motori, e l’obiettivo è minimizzare uno scarto rispetto alla verticale lungo il tempo. Parlerà di stabilità, di guadagno, di margine di fase.

Lo specialista di RL dirà: c’è un agente che osserva uno stato, sceglie un’azione (la coppia ai motori), riceve un reward (più alto quando sta dritto), e impara una policy che massimizza il return atteso. Parlerà di esplorazione, di value function, di campioni.

Le due descrizioni non sono di due cose diverse. Sono di una cosa sola, dette in due lingue. Dove l’ingegnere dice “minimizzare un costo” lo specialista dice “massimizzare un reward” (un costo è un reward col segno girato). Dove l’ingegnere dice “controllore” l’altro dice “policy”. Dove uno dice “il modello del sistema è noto, lo abbiamo scritto noi”, l’altro dice “il modello non è noto, l’agente lo scopre”. Quest’ultima è l’unica differenza che conta davvero, ed è il filo che la sezione “La meccanica” tira fino in fondo. Tenere a mente che si tratta di due lessici, e non di due fenomeni, è il modo più rapido per non confondersi quando un testo passa dall’uno all’altro.

Sutton e Barto, nella sezione storica del loro libro, affermano che il reinforcement learning moderno nasce dall’intreccio di tre fili — threads — storicamente distinti, che per gran parte del Novecento sono corsi separati. Vale la pena nominarli con precisione, perché ciascuno porta con sé una classe di legame diversa con la cibernetica.

Filo uno: trial-and-error, l’apprendimento per prove ed errori. La radice è nella psicologia dell’apprendimento animale. Edward Thorndike (psicologo statunitense, 1874-1949) formula nel 1911 quella che chiama “Law of Effect”: un’azione seguita da una conseguenza soddisfacente tende a ripetersi, una seguita da una conseguenza spiacevole tende a estinguersi. È la prima formulazione precisa dell’idea che il comportamento si modella sulle conseguenze.

Questo filo passa per i primi anni dell’intelligenza artificiale — Marvin Minsky (informatico statunitense, 1927-2016) costruisce nel 1951 SNARC, Stochastic Neural-Analog Reinforcement Calculator, una macchina a valvole che apprende per rinforzo — e quasi si spegne negli anni Sessanta, per poi rivivere nei primi anni Ottanta con Sutton, Barto e Harry Klopf. Klopf in particolare insisteva su un punto che separerà RL dal supervised learning: l’apprendimento adattivo non è solo minimizzare un errore rispetto a una risposta corretta data, è cercare una ricompensa.

Filo due: optimal control, il controllo ottimo. Riguarda il problema di progettare un controllore che minimizzi — o massimizzi — una misura del comportamento di un sistema dinamico nel tempo. La svolta è la programmazione dinamica di Richard Bellman (matematico statunitense, 1920-1984, alla RAND Corporation). Nel 1957 Bellman pubblica il libro Dynamic Programming (Princeton University Press) e l’articolo A Markovian Decision Process: introduce la value function, l’equazione che porta il suo nome, il principio di ottimalità.

Sutton e Barto sottolineano un dettaglio cruciale di questo filo: per gran parte della sua storia, non riguardava l’apprendimento. Il modello del sistema — come reagisce a ogni azione — era assunto noto. Era pianificazione, calcolo, non learning. È una distinzione che torna in tutto il capitolo: il controllo ottimo classico calcola la soluzione perché conosce il sistema; RL la impara perché non lo conosce.

Filo tre: temporal-difference learning. Il filo più giovane e più specifico. Riguarda metodi guidati dalla differenza tra stime temporalmente successive della stessa quantità. Ha una radice parziale nella psicologia — l’apprendimento secondario, per cui uno stimolo neutro diventa gratificante per associazione con uno gratificante — e un passo chiave nell’articolo di Sutton del 1988 Learning to Predict by the Methods of Temporal Differences (Machine Learning Journal), che separa il temporal-difference dal controllo trattandolo come metodo generale di predizione. È il filo che fornisce a RL il suo segnale di apprendimento caratteristico, il TD-error, che la sezione sui segnali analizza in dettaglio.

La fusione dei tre fili avviene a metà anni Ottanta, nel lavoro di Sutton e Barto, e si salda formalmente con l’algoritmo Q-learning di Chris Watkins (informatico britannico, PhD a Cambridge nel 1989), che integra il temporal-difference con la programmazione dinamica. Il capitolo Q-learning e DQN: imparare a decidere senza modello racconta quell’algoritmo in dettaglio.

Ecco il punto da marcare con la massima cura, perché è la chiave dell’onestà storiografica di questo capitolo. Nella narrazione di Sutton e Barto la cibernetica non è uno dei tre fili nominati. I due antenati formali sono il controllo ottimo e il trial-and-error. La cibernetica è l’ambiente intellettuale più ampio in cui questi fili e i loro autori si muovevano: Wiener, McCulloch, Pitts compaiono nella ricostruzione storica come parte del clima delle origini; il filo trial-and-error tocca esplicitamente la cibernetica, perché Minsky lavora in quel clima e perché Klopf reagisce a una certa visione cibernetica dell’adattamento come pura riduzione d’errore. La conclusione è una distinzione di classe:

  • Verso il controllo ottimo e la programmazione dinamica di Bellman: filiazione documentata e diretta. Bellman è citato esplicitamente, il lineage è tracciabile, RL eredita la value function e l’equazione di Bellman come oggetti propri.
  • Verso la cibernetica: parentela ambientale, non una linea genealogica retta. La cibernetica è il tessuto connettivo da cui sono nati anche gli antenati diretti, non il padre nominato.

Tenere ferma questa differenza è ciò che distingue questo capitolo da uno slogan.

Messa così la genealogia, si può costruire la tavola che mappa i ruoli del loop cibernetico sui ruoli del loop RL. La tavola è utile solo se ogni riga porta con sé la classe del proprio legame. Una tavola senza classi è esattamente il modo in cui si scivola da analogia a equivalenza senza accorgersene.

CiberneticaReinforcement LearningClasse del legame
anello percezione-azione-feedbackloop agente-ambientefiliazione + analogia stretta
regolatore / controllerpolicy π\pianalogia funzionale forte
setpoint, valore di riferimentoimplicito nella funzione di rewardanalogia con specializzazione
segnale di errore eeTD-error δt\delta_tanalogia strutturale
variabile controllatastato sts_tanalogia
attuatore più sistema fisicodinamica di transizione P(ss,a)P(s' \mid s, a)analogia
controllo ottimo a modello notoplanning, programmazione dinamicaequivalenza sostanziale
controllo ottimo adattivoreinforcement learningequivalenza di problema, argomentata

Le righe in basso, quelle marcate “equivalenza”, sono le più forti e vanno argomentate, non asserite. Le righe centrali, marcate “analogia”, sono didatticamente utili ma non vanno gonfiate. Le prossime tre sottosezioni prendono le righe più delicate una per una.

Comincia dalla riga della tavola che lega il regolatore alla policy, perché è quella su cui poggiano tutte le altre.

Il regolatore cibernetico è la parte del sistema che, dato lo stato delle cose, decide l’azione. Un termostato è un regolatore: dato uno scarto di temperatura, decide acceso o spento. Un PID è un regolatore: dato l’errore, la sua storia e la sua tendenza, decide un’uscita continua.

La policy in RL è, funzionalmente, la stessa cosa: una funzione che, dato lo stato ss, produce l’azione aa — o, se è stocastica, una distribuzione di probabilità sulle azioni. Quando si scrive a=π(s)a = \pi(s) si sta descrivendo esattamente il ruolo che nel diagramma di controllo occupa la scatola “controllore”.

L’analogia funzionale è forte: stessa posizione nel loop, stesso compito, decidere l’azione a partire dallo stato. Ma si ferma a un punto preciso, e quel punto va detto subito perché torna in tutto il capitolo. Il regolatore classico ha una forma fissa, decisa da chi progetta: la legge “uscita proporzionale all’errore” non cambia mentre il sistema gira. La policy in RL cambia: l’apprendimento la modifica, passo dopo passo, sulla base dell’esperienza. Quindi quando questo capitolo dice “la policy è il regolatore” intende un’analogia di ruolo, non un’identità — manca la dimensione dell’apprendimento, che è esattamente ciò che separa RL dal controllo classico.

Il regolatore cibernetico classico — un termostato, un controllore PID — ha un setpoint: un valore di riferimento esplicito, fornito dall’esterno, e il suo compito è annullare la differenza tra la variabile misurata e quel valore. La grandezza ottimizzata è fissata in anticipo e ha la forma “porta e mantieni questa variabile a questo valore”.

RL non ha un setpoint nello stesso senso. RL ha una funzione di reward e il suo obiettivo è massimizzare il return atteso scontato. In simboli, indicando con rtr_t la ricompensa ricevuta al passo tt e con γ\gamma un fattore di sconto tra zero e uno:

E ⁣[t=0γtrt]\mathbb{E}\!\left[\sum_{t=0}^{\infty} \gamma^t \, r_t\right]

In parole povere, questa quantità dice: la somma di tutte le ricompense future, con quelle lontane nel tempo pesate un po’ meno (il fattore γ\gamma le smorza progressivamente). Non c’è un valore-bersaglio della variabile di stato da raggiungere e mantenere; c’è una quantità cumulata nel tempo da rendere più grande possibile.

Il regolatore a setpoint è un caso particolare di questo. Lo si recupera dentro RL definendo la ricompensa come la penalità dello scostamento dal bersaglio, per esempio rt=(sttarget)2r_t = -(s_t - \text{target})^2: massimizzare questa ricompensa significa minimizzare lo scostamento, che è esattamente ciò che fa un termostato.

Ma la funzione di reward ammette anche obiettivi che nessun setpoint singolo sa esprimere: “vinci la partita”, “massimizza il punteggio cumulato sul lungo periodo”, “produci una risposta che un valutatore umano preferisce”. In nessuno di questi casi c’è una variabile da tenere a un valore: c’è un risultato cumulato da ottimizzare, e il percorso per ottenerlo può passare anche per stati intermedi che, presi da soli, sembrano cattivi. Un giocatore di scacchi sacrifica un pezzo; nessun setpoint sulla quantità di materiale lo descriverebbe.

La classe del legame è quindi analogia con specializzazione. Il setpoint è un’istanza della funzione di reward, non un suo sinonimo. Chiamarli la stessa cosa salta dalla parte al tutto.

Segnale di errore, reward, TD-error: tre segnali da non confondere

Sezione intitolata “Segnale di errore, reward, TD-error: tre segnali da non confondere”

Questa è la tripletta che genera più fraintendimenti, e vale la pena rallentare.

Nel loop cibernetico il segnale di errore è e=setpointmisurae = \text{setpoint} - \text{misura}. Dice di quanto sei lontano dal riferimento, e il regolatore agisce per ridurlo. È una distanza da un bersaglio.

In RL il reward rtr_t è un segnale scalare che l’ambiente consegna all’agente a ogni passo. Dice “quanto è stato buono questo passo”, ma non è una distanza da nulla: non c’è un riferimento rispetto al quale il reward misura uno scarto. È un giudizio di valore, non un errore.

Sempre in RL, il TD-error è una terza cosa ancora. Si scrive:

δt=rt+1+γV(st+1)V(st)\delta_t = r_{t+1} + \gamma \, V(s_{t+1}) - V(s_t)

dove V(s)V(s) è la stima corrente del valore dello stato ss, cioè quanto l’agente si aspetta di guadagnare in totale partendo da ss. In parole povere, il TD-error confronta due stime della stessa cosa: V(st)V(s_t) è la previsione fatta prima di muoversi; rt+1+γV(st+1)r_{t+1} + \gamma V(s_{t+1}) è una previsione aggiornata dopo aver visto la ricompensa effettiva e il nuovo stato. La loro differenza dice “la tua previsione era troppo ottimista o troppo pessimista”, e l’algoritmo corregge V(st)V(s_t) in quella direzione.

Ecco il punto. Il segnale strutturalmente più vicino all’errore cibernetico non è il reward: è il TD-error. Entrambi sono segnali di discrepanza che pilotano una correzione. Il regolatore cibernetico usa l’errore per correggere l’azione; l’algoritmo temporal-difference usa il TD-error per correggere la stima di valore.

Ma resta analogia strutturale, non identità. L’errore cibernetico vive nello spazio della variabile controllata — gradi di temperatura, metri di scostamento. Il TD-error vive nello spazio delle stime di valore — quanto credo che valga uno stato. Sono entrambi discrepanze, e in entrambi i casi la discrepanza guida una correzione, ma sono discrepanze di cose diverse: chi le tratta come lo stesso segnale perde di vista che uno corregge un’azione fisica e l’altro corregge una credenza interna.

C’è una coda interessante, che apre un ponte verso le neuroscienze. Sutton ha osservato a più riprese che il TD-error ha un correlato neurale plausibile: il segnale di dopamina misurato nel cervello dei primati si comporta come un reward prediction error, cioè come un TD-error (Schultz, Dayan e Montague, A Neural Substrate of Prediction and Reward, Science, 1997). Questo lega RL alla neuroscienza dei sistemi dopaminergici, di cui si occupa la Parte III. È un’altra analogia da maneggiare con la stessa cautela, ma è un’analogia ben fondata su dati.

Questa è l’affermazione tecnica centrale del capitolo, ed è quella che richiede di essere argomentata con più cura, perché è la riga della tavola marcata “equivalenza”.

L’affermazione, nella forma in cui la sostengono sia Sutton e Barto sia la letteratura del controllo, è che RL si può vedere come un approccio diretto al controllo ottimo adattivo e approssimato. Dimitri Bertsekas — ingegnere e matematico, una figura di riferimento del controllo ottimo — intitola deliberatamente il suo libro del 2019 Reinforcement Learning and Optimal Control, trattando i due nomi come due etichette, due comunità, per una materia in larga parte comune. Frank Lewis e Draguna Vrabie, dal lato dell’ingegneria del controllo, usano l’espressione “adaptive optimal control” per descrivere RL (Reinforcement learning and adaptive dynamic programming for feedback control, IEEE Circuits and Systems Magazine, 2009).

Il ragionamento che giustifica l’equivalenza è questo. Il controllo ottimo classico assume di conoscere la dinamica del sistema — cioè il modello di come il sistema reagisce a ogni azione — e risolve esattamente, tramite programmazione dinamica o tramite il principio del massimo di Pontryagin, la policy che minimizza un costo. Pontryagin è Lev Pontryagin, matematico sovietico (1908-1988): il suo principio del massimo, formulato negli anni Cinquanta in parallelo al lavoro di Bellman, è l’altro grande strumento del controllo ottimo classico.

RL affronta lo stesso problema matematico — massimizzare un ritorno cumulato lungo una dinamica — ma sotto due condizioni più dure:

  • Modello non noto. L’agente non conosce né la dinamica di transizione PP né la funzione di reward RR. Deve stimarli o aggirarli imparando dall’esperienza, interagendo. Questo è ciò che rende RL adattivo: si adatta a una dinamica che scopre strada facendo, invece di riceverla in dotazione.
  • Spazi grandi. La value function non si rappresenta in una tabella con una riga per stato, perché gli stati sono troppi o continui. Si approssima con una funzione parametrica, tipicamente una rete neurale. Questo è ciò che rende RL approssimato.

In una formula a parole: RL è il controllo ottimo, meno l’ipotesi di modello noto, più l’approssimazione di funzione. Gli aggettivi “adattivo” e “approssimato” non sono ornamenti: sono esattamente il contenuto della differenza.

La classe del legame va data con precisione. C’è equivalenza di problema: il problema di ottimizzazione è lo stesso, ed è letteralmente lo stesso oggetto matematico, un Markov Decision Process. Non c’è equivalenza di metodi: la programmazione dinamica esatta e il Q-learning sono algoritmi diversi, con costi e garanzie diversi. La comunità del controllo usa spesso le espressioni “approximate dynamic programming” o “neuro-dynamic programming” per ciò che la comunità del machine learning chiama RL: è la stessa materia, due lessici, perché le due comunità sono cresciute separate — il perché è la prossima sezione.

Un’ultima sfumatura, per onestà. Un filone di dibattito recente (animato tra gli altri da Benjamin Recht, ricercatore di ottimizzazione e controllo) sostiene che il vantaggio pratico di RL sul controllo ottimo classico non è che ottimizza meglio lo stesso obiettivo, ma che permette di ottimizzare un obiettivo migliore, più vicino al compito reale, e di usare tecniche come la domain randomization per essere robusto all’incertezza sul modello. Quindi l’equivalenza è a livello di problema; non è un giudizio che i due approcci siano intercambiabili in pratica.

L’equazione di Bellman: il cardine formale condiviso

Sezione intitolata “L’equazione di Bellman: il cardine formale condiviso”

Vale la pena guardare da vicino l’oggetto matematico che il controllo ottimo e RL condividono, perché è lì che l’equivalenza di problema smette di essere un’affermazione e diventa una formula. L’oggetto è l’equazione di Bellman, e il capitolo L’equazione di Bellman la tratta per esteso; qui basta vederne la forma e capire perché lega le due tradizioni.

L’idea di partenza è la stessa intuizione del timoniere cibernetico, ma resa quantitativa. Il timoniere corregge la rotta in base a dove la nave finirà; l’equazione di Bellman fa la stessa cosa con i numeri.

Il valore di trovarsi in uno stato — quanto, in media, guadagnerò da qui in avanti seguendo una certa policy — si può scrivere in funzione del valore degli stati in cui posso finire. In simboli, per una policy π\pi:

Vπ(s)=aπ(as)sP(ss,a)[R(s,a)+γVπ(s)]V^\pi(s) = \sum_a \pi(a \mid s) \sum_{s'} P(s' \mid s, a) \left[ R(s, a) + \gamma \, V^\pi(s') \right]

Letta riga per riga: Vπ(s)V^\pi(s) è il valore dello stato ss. La prima somma scorre le azioni aa pesandole con la probabilità π(as)\pi(a \mid s) che la policy le scelga. La seconda somma scorre i possibili stati successivi ss' pesandoli con la probabilità di transizione P(ss,a)P(s' \mid s, a). Dentro la parentesi c’è la ricompensa immediata R(s,a)R(s, a) più il valore dello stato successivo Vπ(s)V^\pi(s'), scontato di γ\gamma. In parole povere: il valore di stare qui è la ricompensa che incasso ora più, in media e scontato, il valore di dove finisco.

Questa è un’equazione ricorsiva: il valore di uno stato è definito in termini del valore di altri stati. Sembra un cane che si morde la coda, e invece ha una soluzione, e trovarla è esattamente cosa fa la programmazione dinamica. Il punto da fissare, per questo capitolo, è che questa equazione è la stessa sia che la si chiami “equazione di Bellman della programmazione dinamica” nel lessico del controllo, sia che la si chiami “Bellman expectation equation” nel lessico di RL. Non è una somiglianza: è la stessa equazione.

La differenza tra le due tradizioni non sta nell’equazione, sta in cosa si sa di PP e RR. Il controllo ottimo classico li conosce: può risolvere l’equazione direttamente, calcolando. RL non li conosce: deve aggirare l’equazione stimando VV dai campioni di esperienza.

Ed è qui che entra il TD-error, che è precisamente la versione campionaria e rumorosa della differenza tra i due lati dell’equazione di Bellman. Il TD-error misura quanto la stima corrente di VV viola l’equazione, e l’apprendimento corregge VV per ridurre quella violazione. Si chiude così il cerchio della sezione sul segnale di errore: il TD-error è davvero un errore rispetto a un riferimento, e il riferimento è l’equazione di Bellman. Questo dà alla parola “errore”, nel caso del TD-error, un fondamento preciso che il reward non ha.

La legge della varietà necessaria e la capacità della policy

Sezione intitolata “La legge della varietà necessaria e la capacità della policy”

Il capitolo La legge della varietà necessaria presenta il principio di W. Ross Ashby (psichiatra e cibernetico britannico, 1903-1972): “only variety can destroy variety”, solo la varietà può distruggere la varietà. Un regolatore può tenere sotto controllo un sistema soltanto se la sua varietà — il numero di stati o di risposte distinte che è in grado di produrre — è almeno pari alla varietà dei disturbi che deve compensare.

Tradotto in RL, il principio dice qualcosa sulla policy. La policy deve avere abbastanza capacità rappresentativa da distinguere tutte le situazioni che richiedono risposte diverse. Una policy tabulare ha varietà pari al numero di righe della sua tabella. Una policy implementata come rete neurale ha una varietà legata alla sua capacità, cioè a quante funzioni distinte può rappresentare. Se l’ambiente presenta più situazioni-da-distinguere di quante la policy ne possa rappresentare, esiste un limite inferiore all’errore che non è un difetto di addestramento: è la legge della varietà necessaria che si fa sentire.

La classe del legame qui è analogia con sostanza. Ashby non ha dimostrato un teorema sulle reti neurali, e sarebbe scorretto presentarlo così. Ma il principio — la capacità del controllore deve reggere la varietà del disturbo — si trasferisce in modo non banale e utile.

Va detta una differenza, però, perché la versione RL ha una piega in più. La policy non deve soltanto distinguere gli stati: deve anche mapparli su azioni buone. Distinguere è una questione di capacità; mappare bene è il lavoro dell’apprendimento. La legge della varietà necessaria riguarda la prima e non garantisce la seconda. Una policy può avere tutta la varietà del mondo e usarla male: la varietà è la condizione di possibilità del buon comportamento, non il buon comportamento stesso.

C’è anche un legame con il capitolo Osservabilità e controllabilità: cosa posso misurare, cosa posso governare. In un POMDP — un Markov Decision Process in cui l’agente non osserva lo stato pieno ma solo un’osservazione parziale — la policy non può avere varietà utile maggiore di quanto l’osservazione le lasci distinguere. La legge della varietà e la teoria dell’osservabilità, insieme, spiegano due limiti diversi e complementari di una policy: quanto può distinguere a valle, che è capacità, e quanto le è dato distinguere a monte, che è osservazione.

Resta un ultimo concetto cibernetico da collegare: l’omeostasi e, più in generale, il comportamento orientato a uno scopo.

Nel 1943 Wiener, insieme al neurofisiologo messicano Arturo Rosenblueth e all’ingegnere statunitense Julian Bigelow, pubblica Behavior, Purpose and Teleology (sulla rivista Philosophy of Science): uno dei testi fondativi della cibernetica. La tesi è che il comportamento orientato a uno scopo non richiede una mente. Richiede un anello di feedback negativo. Lo scopo è un pattern di comportamento, non una sostanza nascosta. L’omeostasi — la capacità di un sistema di mantenere certe variabili entro un intervallo vitale reagendo alle perturbazioni — è il caso paradigmatico, e l’omeostato che Ashby costruisce nel 1948, descritto nel capitolo Ashby, omeostato e adattamento, ne è la realizzazione meccanica.

RL formalizza una versione più forte di questo goal-directed behavior. L’omeostato di Ashby cerca qualunque configurazione stabile: è “ultrastabile”, il che significa che quando esce dai suoi limiti vitali esegue una ricerca casuale dei propri parametri finché non ritrova una stabilità, una qualsiasi. RL non cerca una stabilità qualunque. Cerca la policy che massimizza un return. C’è una direzione preferita, ed è codificata nella funzione di reward.

Sutton ha condensato questa idea in quella che chiama la “reward hypothesis”: tutto ciò che intendiamo per scopi e finalità può essere ben pensato come la massimizzazione del valore atteso della somma cumulata di un segnale scalare di ricompensa. È la versione RL della tesi cibernetica che lo scopo è meccanizzabile, spinta fino a una forma quantitativa precisa. La classe del legame è filiazione concettuale con un irrigidimento: stessa famiglia di idee — la meccanizzazione dello scopo — ma con un passaggio da “mantenere uno stato vitale” a “massimizzare un criterio”. Vale la pena notare anche che la ricerca casuale dell’omeostato, il provare configurazioni a caso finché una non funziona, è un antenato concettuale dell’esplorazione in RL: il trial-and-error nella sua forma più pura.

Il ponte verso l’AI moderna: agenti, RLHF, framing control-theoretic

Sezione intitolata “Il ponte verso l’AI moderna: agenti, RLHF, framing control-theoretic”

Fin qui il capitolo ha guardato indietro: la cibernetica degli anni Quaranta, il controllo ottimo degli anni Cinquanta, il reinforcement learning maturato negli anni Ottanta. Questa sezione guarda avanti, a cosa significa tutto questo per chi costruisce sistemi AI oggi. Qui il registro cambia: il riferimento al presente non è un’intrusione, è il punto.

L’agente LLM come anello cibernetico contemporaneo

Sezione intitolata “L’agente LLM come anello cibernetico contemporaneo”

Un agente costruito sopra un modello linguistico — un assistente di coding che gira in un harness, per esempio — opera in un loop ben definito. Pensa, decide di chiamare uno strumento, lo strumento restituisce un output, l’agente legge quell’output e decide la mossa successiva: chiamare un altro strumento, oppure concludere. Questo è il pattern che la letteratura sugli agenti chiama ReAct, e il capitolo dedicato della Parte XXXVIII lo descrive in dettaglio.

Visto dalla cibernetica, quel pattern non è una novità di forma: è l’anello percezione-azione-feedback, con uno stato molto più ricco. L’osservazione è l’output dello strumento. L’azione è la chiamata successiva. Il “feedback” è il risultato che rientra nel contesto del modello e ne informa la prossima decisione.

La topologia è quella del termostato — misura, decidi, agisci, rimisura — con una differenza di scala che cambia molte cose pratiche: lo “stato” qui non è un singolo numero in gradi, è una finestra di contesto di decine di migliaia di token. Uno stato così grande è insieme una risorsa e un problema. È una risorsa perché contiene tutta la storia recente, quindi la Markov property tiene quasi per costruzione. È un problema perché lo stato è in parte costruito dall’agente stesso — ciò che decide di scrivere nel contesto diventa lo stato che osserverà dopo — e questo apre la porta a derive che la prossima sezione, “Dove si rompe”, riprende.

Non è un’analogia decorativa. È la stessa struttura, e dirlo serve a qualcosa di concreto: autorizza a importare, per ragionare sugli agenti, gli strumenti che la cibernetica ha costruito per ragionare sugli anelli. Il ponte dedicato a questo è la voce successiva di questa Parte, ponte-cibernetica-agenti (in preparazione).

RLHF come feedback cibernetico sul comportamento del modello

Sezione intitolata “RLHF come feedback cibernetico sul comportamento del modello”

L’esempio tre, più avanti, mostra RLHF come anello cibernetico nel dettaglio. Conviene anticiparne qui il senso strutturale. RLHF chiude un anello attorno al comportamento di un modello: il modello produce output, gli umani esprimono preferenze, un reward model le riassume, un algoritmo di reinforcement learning sposta la policy del modello verso ciò che è preferito. È feedback negativo nel senso tecnico — misura uno scarto, agisce per ridurlo — applicato non a una variabile fisica ma a un comportamento.

La cibernetica classica aveva il riferimento (il setpoint) dato dall’esterno. RLHF no: il riferimento è esso stesso appreso, vive dentro il reward model. È un anello cibernetico in cui sia il regolatore sia il riferimento sono prodotti dell’apprendimento, e questo, come si dirà nella sezione “Dove si rompe”, è insieme la sua potenza e la sua fragilità.

C’è una linea di ricerca recente, del 2024-2026, che propone di trattare esplicitamente i sistemi agentici come sistemi di controllo a ciclo chiuso: con uno stato, una dinamica, dei disturbi, una nozione di stabilità, una di osservabilità. Più che una teoria nuova, è un invito a riusare una cassetta di attrezzi vecchia su un oggetto nuovo. Quattro attrezzi, in particolare, sono ciò che la cibernetica offre concretamente a chi progetta agenti, ed è con questi che il capitolo si chiude.

Il primo è la stabilità. Un agente in loop può oscillare o divergere esattamente come un regolatore mal sintonizzato. Un agente che rilegge il proprio lavoro e si corregge troppo aggressivamente entra in un ciclo di rifacimenti: fa, disfa, rifà.

La cibernetica ha un nome per questo — hunting, overshoot — e una cura collaudata: ridurre il guadagno, ridurre il ritardo, smorzare. Il capitolo Overshoot, ritardo, oscillazioni, divergenza è la mappa di questi fenomeni, ed è leggibile come un manuale diagnostico anche per agenti che non c’entrano nulla con il controllo di processi industriali.

Il secondo è il feedback, inteso come la distinzione tra feedback che stabilizza e feedback che amplifica. Un agente che rilegge il proprio output può usarlo per correggere errori — feedback negativo, stabilizzante — oppure per rinforzare una convinzione sbagliata già presa — feedback positivo, divergente. Saper distinguere i due nel disegno di un agente è una competenza cibernetica diretta.

Il terzo è la varietà. Un agente con poche azioni distinte non può gestire un ambiente ad alta varietà: è la legge di Ashby. Le due mosse possibili sono speculari — dare più varietà all’agente (più strumenti, più rami decisionali) oppure ridurre la varietà dell’ambiente (sandboxing, vincoli, restrizione dello spazio d’azione) — e sapere che esistono entrambe è metà del lavoro di design.

Il quarto è la coppia osservabilità e controllabilità. Cosa l’agente può davvero misurare del suo ambiente, e cosa può davvero cambiare. Un agente che non osserva l’effetto delle proprie azioni è cieco dentro il loop: agisce senza chiudere l’anello. Un agente che osserva ma non può intervenire sulle leve giuste è impotente. Il capitolo Osservabilità e controllabilità dà il vocabolario preciso di questi due limiti.

Questi quattro — stabilità, feedback, varietà, osservabilità e controllabilità — sono il lascito operativo della cibernetica al design di agenti. Non sono metafore: sono categorie diagnostiche, e un agente che si comporta male di solito sta violando una di esse in un modo che ha un nome di sessant’anni fa.

Esempio uno, numerico: il termostato come MDP degenere

Sezione intitolata “Esempio uno, numerico: il termostato come MDP degenere”

Prendiamo il sistema cibernetico più semplice, il termostato, e mostriamo che è un MDP particolare. Lo stato ss è la temperatura, diciamo discretizzata: 18, 19, 20, 21, 22 gradi. Le azioni sono due: a=ONa = \text{ON} (riscaldamento acceso) e a=OFFa = \text{OFF}. La dinamica è semplice: ON tende ad alzare la temperatura di un grado, OFF tende ad abbassarla di un grado, con un po’ di rumore. Il setpoint è 20.

Per trasformarlo in un problema RL definiamo la ricompensa come la penalità dello scostamento: r=s20r = -|s - 20|. Lo stato 20 dà ricompensa zero, lo stato 18 dà ricompensa 2-2, e così via. La policy ottima che RL troverebbe massimizzando il return è esattamente la regola del termostato: accendi sotto i 20, spegni sopra. Il return atteso scontato è massimizzato dalla policy che tiene la temperatura il più possibile a 20.

Il punto dell’esempio è questo: il setpoint non è sparito, si è trasformato. È diventato il punto di massimo della funzione di reward. Il termostato è un MDP in cui la funzione di reward ha una forma particolarmente semplice — una sola punta in un punto preciso. Salendo verso obiettivi più complessi, la funzione di reward acquista più punte, valli, dipendenze dalla storia; ma il termostato resta il caso-limite in cui tutto si riduce a un singolo numero da raggiungere.

Esempio due, in codice: lo stesso anello, due framing

Sezione intitolata “Esempio due, in codice: lo stesso anello, due framing”

Lo stesso loop può essere scritto con il vocabolario del controllo o con quello di RL. Le due versioni hanno la stessa struttura.

# Framing controllo: regolatore a feedback su un errore
def loop_controllo(sistema, setpoint, regolatore):
while sistema.attivo():
misura = sistema.sensore()
errore = setpoint - misura
azione = regolatore.correggi(errore)
sistema.attua(azione)
# Framing RL: agente che massimizza un return su un MDP
def loop_rl(ambiente, policy):
stato = ambiente.stato_iniziale()
while not ambiente.terminato():
azione = policy.scegli(stato)
stato, reward = ambiente.passo(azione)
policy.aggiorna(stato, reward)

Le due funzioni hanno la stessa forma: leggi qualcosa, decidi un’azione, attua, ripeti. Tre differenze sono visibili nel codice, e dicono esattamente dove finisce l’analogia.

Primo: nel framing di controllo c’è errore = setpoint - misura, una distanza esplicita da un riferimento; nel framing RL c’è reward, un giudizio di valore senza riferimento. Secondo: regolatore.correggi di solito non impara — è una legge fissa, ad esempio proporzionale all’errore — mentre policy.aggiorna modifica la policy in base all’esperienza. Terzo: nel controllo classico il sistema e il suo comportamento sono noti a chi progetta il regolatore; in RL ambiente è una scatola che l’agente esplora senza conoscerne la dinamica.

Sono esattamente le due condizioni — modello non noto, e apprendimento invece di legge fissa — che fanno di RL un controllo ottimo adattivo. La struttura del loop è la stessa; cambia chi sa cosa, e cambia se la regola di decisione è scolpita o appresa.

Esempio tre, scenario reale: RLHF come anello cibernetico

Sezione intitolata “Esempio tre, scenario reale: RLHF come anello cibernetico”

RLHF — Reinforcement Learning from Human Feedback — è la tecnica con cui si allinea un modello linguistico al comportamento desiderato (Christiano et al., Deep Reinforcement Learning from Human Preferences, NeurIPS 2017; Ouyang et al., Training Language Models to Follow Instructions with Human Feedback, NeurIPS 2022, il lavoro alla base di InstructGPT e poi di ChatGPT).

Lo si può leggere come un anello cibernetico. Il modello produce output. Valutatori umani esprimono preferenze su coppie di output: questo è meglio di quello. Un reward model — una rete addestrata a prevedere il giudizio umano — riassume quelle preferenze in un segnale scalare. Un algoritmo RL, tipicamente PPO, descritto nel capitolo PPO e TRPO: come si fa policy optimization senza far esplodere la policy, sposta la policy del modello verso i comportamenti preferiti.

L’anello è chiuso, e ha la struttura di un anello di controllo: il modello agisce, il reward model misura uno scarto tra ciò che è preferito e ciò che non lo è, l’algoritmo agisce per ridurre quello scarto. La direzione del feedback è negativa nel senso tecnico — si oppone allo scarto, lo riduce — ed è ciò che rende il processo convergente invece che divergente.

È feedback negativo sul comportamento, nel senso preciso della cibernetica. C’è però una differenza che vale la pena rendere esplicita rispetto al termostato: il riferimento — cosa conta come “preferito” — non è fissato in anticipo da un progettista. È appreso da dati umani, e vive dentro il reward model. RLHF è quindi un anello cibernetico in cui non solo il regolatore (la policy del modello) ma anche il riferimento (il reward model) sono appresi. È un anello a doppio apprendimento, e questo, come si vedrà, è anche dove si annida la sua fragilità.

Esempio quattro, diagnostico: un agente che oscilla

Sezione intitolata “Esempio quattro, diagnostico: un agente che oscilla”

Un caso concreto di come il vocabolario cibernetico diagnostica un agente. Un assistente di coding riceve il compito di sistemare un test che fallisce. Modifica il file sorgente; rilancia i test; il test ora passa ma un secondo test, prima verde, ora fallisce. L’agente allora rimette il file com’era; rilancia; si torna alla situazione di partenza. L’agente ricomincia. Avanti e indietro, finché non si esaurisce un limite di iterazioni o la pazienza di chi guarda.

Dal punto di vista cibernetico questo non è un comportamento misterioso da “agente confuso”. È hunting: il termine, descritto nel capitolo Overshoot, ritardo, oscillazioni, divergenza, indica un anello che insegue il bersaglio senza riuscire a posarcisi sopra.

L’anello qui è chiaro: osserva l’esito dei test, agisci sul codice, riosserva. Oscilla per due ragioni che la cibernetica sa nominare. Il guadagno è troppo alto — l’agente cambia troppo a ogni passo, fa una correzione totale invece di una parziale. E manca uno stato di memoria — l’agente non registra che quella modifica l’ha già provata e rifiutata, quindi è condannato a riprovarla.

Le cure sono cibernetiche, una per una.

Ridurre il guadagno: istruire l’agente a fare la modifica minima che fa passare il test, non la riscrittura. Aggiungere stato: tenere traccia delle modifiche già tentate, così l’anello ha memoria e non ripercorre lo stesso ciclo. Smorzare: un tetto esplicito alle iterazioni, che è l’equivalente di un freno.

E infine riformulare l’obiettivo. Il reward implicito “fai passare questo test” è mal posto, perché ignora gli altri test; l’obiettivo giusto è “fai passare questo test senza romperne altri”, che è un reward cumulato sull’intera suite. Le ultime due cure — il freno e la riformulazione — sono esattamente le due lezioni delle “Applicazioni pratiche” qui sotto: stabilizzare l’anello e disegnare bene l’obiettivo.

Diagnosticare agenti instabili. Un agente che entra in un ciclo di auto-correzione — rifà la stessa modifica avanti e indietro, riscrive un file e lo rimette com’era — non è un mistero: è un sistema a feedback con guadagno troppo alto o con un ritardo nell’anello.

Il vocabolario del capitolo Overshoot, ritardo, oscillazioni, divergenza dice esattamente cosa sta succedendo e cosa fare. Si riduce il guadagno: passi più piccoli, revisioni meno aggressive. Si riduce il ritardo: feedback più rapido sull’effetto delle azioni. Si smorza: un limite al numero di iterazioni. Sono le stesse tre mosse con cui un ingegnere stabilizza un regolatore che fa hunting, applicate a un agente invece che a un circuito.

Progettare ricompense e obiettivi. Sapere che un setpoint è un caso particolare della funzione di reward aiuta a scegliere la forma giusta. Se l’obiettivo è “tieni questa variabile a questo valore”, basta una penalità quadratica dello scostamento. Se l’obiettivo è “ottieni il massimo risultato cumulato sul lungo periodo”, serve un reward cumulato, e modellarlo come un setpoint sarebbe un errore. Confondere i due porta a ricompense mal disegnate, ed è una delle porte d’ingresso del reward hacking, il fenomeno per cui un agente ottimizza la lettera della ricompensa tradendone lo spirito (la Parte XVI lo affronta nel capitolo dedicato).

Capire dove RLHF può rompersi. Vedere RLHF come un anello cibernetico chiarisce il suo punto debole con precisione. Se il sensore dell’anello — qui il reward model — misura male, il regolatore spinge il sistema verso il posto sbagliato con la stessa efficienza con cui lo spingerebbe verso quello giusto. È il problema classico del controllo: un anello ben sintonizzato attorno a una misura sbagliata è peggio di nessun anello, perché aggiunge potenza all’errore. Questo è il motivo per cui la qualità del reward model conta più della qualità dell’ottimizzatore.

L’equivalenza di problema tra controllo ottimo e RL non significa che siano intercambiabili in pratica. Anzi, il fatto che attacchino lo stesso problema rende ancora più utile saper scegliere. Il criterio decisivo è uno solo, ed è quello che la sezione “La meccanica” ha già isolato: quanto bene si conosce il modello del sistema.

Quando il modello c’è ed è affidabile — la dinamica si può scrivere come un sistema di equazioni, i vincoli sono noti, il rumore è caratterizzato — il controllo classico è quasi sempre la scelta giusta. È più prevedibile: il suo comportamento si analizza prima di accendere il sistema. Ha garanzie: si può dimostrare che è stabile, che resta dentro certi limiti. E non spreca esperienza: non ha bisogno di esplorare, perché il modello gli dice già cosa farà ogni azione. Pilotare un braccio robotico in una catena di montaggio, regolare la temperatura di un reattore, stabilizzare un drone: sono casi dove la fisica è nota e il controllo classico, con i suoi decenni di teoria, è maturo e sicuro.

Quando il modello non c’è, o è troppo complicato da scrivere, o cambia nel tempo, RL diventa competitivo. Imparare a giocare a Go: nessuno sa scrivere la “dinamica” che lega una posizione alla probabilità di vittoria. Allineare un modello linguistico: nessuno sa scrivere la funzione che dice quanto una risposta è buona. In questi casi non c’è un modello da dare a un controllore classico, e l’unica via è imparare dall’interazione. Il prezzo che RL paga per fare a meno del modello è l’esperienza: ha bisogno di molti tentativi, e durante l’esplorazione si comporta male.

C’è anche una via di mezzo, ed è dove buona parte della ricerca recente si concentra: il controllo predittivo basato su modello (MPC) e il model-based RL costruiscono un modello approssimato dall’esperienza e poi pianificano su quello. È letteralmente il punto di incontro delle due tradizioni — adattivo come RL, basato su modello come il controllo classico. La Parte XI, nei capitoli sul controllo predittivo e nel confronto controllo-vs-rl (in preparazione), tratta questa zona ibrida.

La regola pratica, allora, sta in una domanda secca: hai un modello del sistema di cui ti fidi?

Se sì, parti dal controllo classico, e usa RL solo se il modello si rivela troppo grezzo. Se no, RL o un approccio model-based è la strada. In entrambi i casi la cibernetica resta utile non come algoritmo ma come cornice diagnostica — stabilità, feedback, varietà, osservabilità — per capire cosa sta facendo il sistema che hai costruito.

L’analogia tra cibernetica e RL è feconda, ma ha bordi precisi. Conoscerli è importante quanto conoscere le corrispondenze, perché è ai bordi che lo slogan “RL è cibernetica” comincia a mentire.

Il regolatore classico non impara, RL sì. Un termostato, un PID, un governatore centrifugo: questi regolatori cibernetici classici hanno una legge fissa. La loro risposta all’errore è decisa da chi li progetta e non cambia con l’esperienza. RL, per definizione, modifica la propria policy in base a ciò che incontra.

L’omeostato di Ashby è un caso intermedio interessante — adatta i propri parametri — ma adatta cercando una stabilità qualsiasi, non massimizzando un criterio. Quindi quando si dice che la policy “è come” il regolatore, si sta facendo un’analogia funzionale che ignora la dimensione dell’apprendimento. È un’analogia, non un’identità, e il confine tra le due è esattamente la capacità di imparare.

Il feedback negativo cibernetico riduce un errore noto; RL massimizza un valore stimato. Il regolatore cibernetico sa qual è il suo bersaglio: il setpoint è dato. RL non conosce il valore degli stati: lo stima, e la stima è rumorosa e migliora col tempo.

La differenza non è cosmetica. Un regolatore mal sintonizzato attorno a un setpoint giusto oscilla ma sa dove vuole andare. Un agente RL con una value function stimata male non oscilla soltanto: punta nella direzione sbagliata, e lo fa convinto. Il fallimento di RL include una classe — l’errore di stima del valore — che il controllo classico a setpoint non ha. È uno dei motivi per cui RL è notoriamente più difficile da far funzionare in modo affidabile del controllo classico.

L’orizzonte temporale e il credit assignment. Il regolatore cibernetico agisce per ridurre l’errore ora. RL massimizza un return su un orizzonte lungo, e questo introduce un problema che la cibernetica del feedback istantaneo non ha.

Il problema è il credit assignment: attribuire a quale azione passata si deve una ricompensa arrivata molto dopo. Un agente che vince una partita di scacchi alla quarantesima mossa deve capire quale delle mosse precedenti ha contribuito alla vittoria. È un problema centrale di RL e non ha un analogo diretto nel termostato, dove l’effetto di un’azione si vede subito. L’analogia cibernetica copre il loop; non copre il problema di assegnare il merito lungo il tempo.

La cibernetica non è il padre nominato di RL. Va ribadito perché è l’errore storiografico più comune. La filiazione documentata di RL è verso il controllo ottimo e la programmazione dinamica di Bellman, e verso la psicologia del trial-and-error di Thorndike. Sutton e Barto, ricostruendo la genealogia, nominano tre fili, e nessuno di essi è “la cibernetica”. La cibernetica è l’ambiente più largo, il tessuto da cui sono nati anche gli antenati diretti. Dire “RL discende dalla cibernetica” come si direbbe “RL discende da Bellman” è confondere una parentela ambientale con una linea genealogica retta. La parentela è reale; la linea retta no.

L’equivalenza con il controllo ottimo è di problema, non di metodi né di pratica. RL e il controllo ottimo affrontano lo stesso problema matematico — ottimizzare un ritorno su una dinamica, formalmente un MDP. Ma i metodi sono diversi, le garanzie sono diverse, e in pratica si scelgono in base a quanto si conosce il sistema. Per un sistema fisico ben modellato, con dinamica nota e vincoli chiari, il controllo ottimo classico è spesso la scelta migliore: è più prevedibile, ha garanzie di stabilità, non spreca esperienza esplorando. RL conviene quando il modello non c’è o è troppo complicato da scrivere. Trattare l’equivalenza di problema come se fosse un’equivalenza pratica — “tanto sono la stessa cosa” — porta a usare RL dove il controllo classico farebbe meglio, e viceversa. Il confronto tecnico dettagliato è materia della Parte XI, nel capitolo controllo-vs-rl (in preparazione).

La legge della varietà necessaria non garantisce la qualità della policy. La legge di Ashby dice che la policy deve avere abbastanza varietà per distinguere le situazioni. Non dice che, avuta quella varietà, la policy mapperà le situazioni su azioni buone. Quella è una proprietà dell’apprendimento, non della capacità. Una rete enorme con varietà sovrabbondante può benissimo aver imparato una policy pessima. La legge della varietà è una condizione necessaria, non sufficiente; presentarla come se garantisse il buon comportamento è sovra-interpretarla.

Il loop cibernetico è a tempo continuo, l’MDP è a tempo discreto. Il termostato e il controllore PID classico vivono in un tempo che scorre senza scatti: l’errore esiste in ogni istante, e la teoria del controllo continuo è costruita su equazioni differenziali. L’MDP, e con esso quasi tutto RL, vive in un tempo discreto: passo zero, passo uno, passo due. La conversione tra i due mondi non è gratuita — la scelta del passo di discretizzazione cambia il problema, e un passo troppo grosso nasconde dinamiche veloci che il sistema reale ha. Quando si mappa un loop cibernetico continuo su un MDP discreto, si sta facendo un’approssimazione, e come tutte le approssimazioni ha un costo che va tenuto d’occhio. L’analogia tra i due loop è corretta nella topologia; nel trattamento del tempo c’è una cucitura, non una continuità liscia.

“Feedback” ha due sensi che è facile sovrapporre. Nella cibernetica “feedback” è il segnale che torna indietro nell’anello durante il funzionamento: il sensore che riporta la temperatura. In RL, e nel machine learning in generale, “feedback” indica spesso il segnale che guida l’apprendimento: il reward, o le preferenze umane in RLHF. Sono due cose diverse — uno è il ritorno operativo che chiude il loop di controllo, l’altro è il segnale che modifica la policy nel tempo. Un agente LLM ha entrambi: il feedback operativo è l’output degli strumenti che rientra nel contesto, il feedback di apprendimento è il reward usato in fase di training. Confonderli porta a discorsi confusi su “agenti che imparano dal feedback” senza specificare quale dei due. Vale la pena, parlando di un sistema concreto, dire sempre di quale feedback si sta parlando.

  • Richard Sutton, Andrew Barto — Reinforcement Learning: An Introduction, 2a edizione, MIT Press, 2018. Il libro di testo di riferimento del campo. La sezione 1.7, “Early History of Reinforcement Learning”, è la fonte canonica per la genealogia dei tre fili. Disponibile gratuitamente online.
  • Norbert Wiener, Arturo Rosenblueth, Julian Bigelow — “Behavior, Purpose and Teleology”, Philosophy of Science, 1943. Il testo che fonda l’idea che il comportamento orientato a uno scopo è un anello di feedback, non una sostanza mentale. Breve e leggibile.
  • Richard Bellman — Dynamic Programming, Princeton University Press, 1957. L’origine della programmazione dinamica, della value function e del principio di ottimalità: il vertice da cui RL discende per filiazione documentata.
  • Dimitri Bertsekas — Reinforcement Learning and Optimal Control, Athena Scientific, 2019. La trattazione che, dal lato della comunità del controllo, mostra in dettaglio quanto RL e controllo ottimo siano la stessa materia sotto due lessici.
  • Frank Lewis, Draguna Vrabie — “Reinforcement learning and adaptive dynamic programming for feedback control”, IEEE Circuits and Systems Magazine, 2009. Una rassegna che usa esplicitamente l’espressione “adaptive optimal control” per RL, dal punto di vista dell’ingegneria del controllo.