Che cos'è l'apprendimento per rinforzo? Tipi, Algorithms & Esempio

⚡ Riepilogo intelligente

L'apprendimento per rinforzo è un metodo di apprendimento automatico in cui un agente software impara agendo all'interno di un ambiente, raccogliendo ricompense o penalità e adattando il proprio comportamento per massimizzare la ricompensa cumulativa nel corso di molti passaggi.

  • 🔘 Circuito centrale: Un agente osserva uno stato, compie un'azione, riceve una ricompensa e giunge in un nuovo stato.
  • ☑️ Tre approcci: I metodi basati sui valori, sulle politiche e sui modelli differiscono in ciò che l'agente apprende effettivamente.
  • Due modelli di apprendimento: I processi decisionali di Markov definiscono il problema; l'apprendimento Q lo risolve a partire dall'esperienza.
  • 🧪 Non supervisionato: Non esistono risposte etichettate, solo un segnale di ricompensa ritardato che l'agente deve attribuire ad azioni precedenti.
  • Dove si adatta: Robotica, giochi, controllo di aeromobili, tutoraggio adattivo e pianificazione strategica aziendale.
  • ⚙️ Costi noti: L'addestramento richiede un'elevata potenza di calcolo, la progettazione delle ricompense è delicata e gli ambienti reali sono rumorosi e non stazionari.

Apprendimento per rinforzo: algoritmi, tipologie ed esempi

Che cos'è l'apprendimento per rinforzo?

Insegnamento rafforzativo è un machine Learning Metodo che si occupa di come gli agenti software dovrebbero agire in un ambiente. All'agente non vengono mostrate le risposte corrette; impara dalla ricompensa che riceve e adatta il suo comportamento per massimizzare la ricompensa cumulativa.

L'apprendimento per rinforzo è una branca dell'apprendimento automatico a sé stante, insieme supervisionato and senza sorveglianza apprendimento. Quando la politica o la funzione di valore dell'agente è rappresentata da una rete neurale, la combinazione è chiamata apprendimento approfondito di rinforzo — è questa combinazione che permette a un agente di raggiungere un obiettivo complesso o di massimizzare una dimensione specifica attraverso molteplici passaggi.

Componenti importanti del metodo di apprendimento per rinforzo

Prima di comprendere appieno gli algoritmi, è utile dare un nome ai singoli elementi. Il diagramma seguente mostra come l'agente, l'ambiente, l'azione e il segnale di ricompensa si integrano in un unico ciclo.

Ciclo di apprendimento per rinforzo che collega agente, azione, ambiente, stato e ricompensa

Ecco alcuni termini importanti utilizzati nell'apprendimento per rinforzo:

  • Agente: L'entità che compie azioni in un ambiente per ottenere una ricompensa.
  • Ambiente (e): Uno scenario che un agente deve affrontare.
  • Ricompensa (R): Un compenso immediato corrisposto a un agente quando quest'ultimo esegue una specifica azione o un compito.
  • Stati): Lo stato si riferisce alla situazione attuale restituita dall'ambiente.
  • Politica (π): La strategia applicata dall'agente per decidere la prossima azione in base allo stato attuale.
  • Valore (V): Il rendimento atteso a lungo termine, attualizzato, rispetto al profitto a breve termine.
  • Funzione valore: Specifica il valore di uno stato, ovvero la quantità totale di ricompensa che un agente può aspettarsi di accumulare a partire da quello stato.
  • Modello dell'ambiente: Questo simula il comportamento dell'ambiente. Permette di trarre conclusioni e di determinare come si comporterà l'ambiente.
  • Metodi basati su modelli: Metodi che risolvono i problemi di apprendimento per rinforzo apprendendo o utilizzando innanzitutto un modello dell'ambiente, per poi pianificare in base a tale modello.
  • Valore Q o valore dell'azione (Q): Il valore Q è abbastanza simile al valore. L'unica differenza tra i due è che accetta un parametro aggiuntivo, l'azione corrente.

Come funziona l'apprendimento per rinforzo?

Un'analogia quotidiana chiarisce il meccanismo prima ancora che compaia qualsiasi notazione.

Immaginate di dover insegnare nuovi trucchi al vostro gatto.

  • Poiché la gatta non capisce l'inglese né alcuna altra lingua umana, non possiamo dirle direttamente cosa fare. Pertanto, adottiamo una strategia diversa.
  • Simuliamo una situazione e il gatto cerca di reagire in molti modi diversi. Se la reazione del gatto è quella desiderata, gli diamo del pesce.
  • Ora, ogni volta che la gatta si trova nella stessa situazione, compie un'azione simile con ancora più entusiasmo, nella speranza di ottenere una ricompensa maggiore (cibo).
  • Questo è ciò che il gatto apprende su "cosa fare" attraverso esperienze positive.
  • Allo stesso tempo, il gatto impara anche cosa non fare di fronte a esperienze negative.

Esempio di apprendimento per rinforzo

La figura sottostante mappa la storia del gatto sul ciclo formale, con la casa come ambiente e il pesce come ricompensa.

Esempio di gatto e padrone mappato sul ciclo agente-ambiente dell'apprendimento per rinforzo
Come funziona l'apprendimento per rinforzo

In questo caso,

  • Il tuo gatto è un agente esposto all'ambiente. In questo caso, si tratta della tua casa. Un esempio di stato potrebbe essere il tuo gatto seduto e tu che usi una parola specifica per farlo camminare.
  • Il nostro agente reagisce eseguendo una transizione dell'azione da uno "stato" a un altro "stato".
  • Ad esempio, il tuo gatto passa da seduto a camminare.
  • La reazione di un agente è un’azione, e la politica è un metodo per selezionare un’azione dato uno stato in attesa di risultati migliori.
  • Dopo la transizione, l'agente potrebbe ricevere una ricompensa o una penalità in cambio.

Insegnamento rafforzativo Algorithms

Esistono tre approcci per implementare un algoritmo di apprendimento per rinforzo, che si differenziano principalmente per ciò che l'agente memorizza e apprende.

Basato sul valore

In un metodo di apprendimento per rinforzo basato sul valore, si cerca di massimizzare una funzione di valore V(s). In questo metodo, l'agente si aspetta un ritorno a lungo termine degli stati attuali secondo la politica π.

Basato sulle politiche

In un metodo di apprendimento per rinforzo basato su politiche, si cerca di definire una politica tale che l'azione eseguita in ogni stato consenta di ottenere la massima ricompensa in futuro.

Due tipi di metodi basati sulle politiche sono:

  • Deterministico: Per qualsiasi stato, la stessa azione viene prodotta dalla politica π.
  • Stocastico: Ogni azione ha una certa probabilità, data dalla seguente equazione.

Politica stocastica:

π(a|s) = P[At = a | St = s]

Basato su modello

In questo metodo di apprendimento per rinforzo, si crea un modello virtuale per ogni ambiente. L'agente impara a comportarsi in quello specifico ambiente.

Caratteristiche dell'apprendimento per rinforzo

Ecco alcune caratteristiche importanti dell'apprendimento per rinforzo:

  • Non esiste un supervisore, solo un numero reale o un segnale di ricompensa
  • Processo decisionale sequenziale
  • Il tempo gioca un ruolo cruciale nei problemi di rinforzo
  • Il feedback è spesso ritardato anziché istantaneo
  • Le azioni dell'agente determinano i dati successivi che riceve

Tipi di apprendimento per rinforzo

Il termine “rinforzo” è mutuato dalla psicologia comportamentale e si presenta in due forme:

Positivo:

Si definisce come un evento che si verifica a causa di uno specifico comportamento. Aumenta la forza e la frequenza del comportamento e ha un impatto positivo sull'azione intrapresa dall'agente.

Questo tipo di rinforzo aiuta a massimizzare le prestazioni e a mantenere il cambiamento per un periodo più prolungato. Tuttavia, un rinforzo eccessivo può portare a una sovra-ottimizzazione dello stato, con conseguenze negative sui risultati.

Negativo:

Il rinforzo negativo è definito come il rafforzamento di un comportamento che si verifica a causa di una condizione negativa che avrebbe dovuto essere interrotta o evitata. Aiuta a definire lo standard minimo di prestazione. Tuttavia, lo svantaggio di questo metodo è che fornisce solo quanto basta per raggiungere il comportamento minimo.

Modelli di apprendimento del rinforzo

Esistono due importanti modelli di apprendimento nell’apprendimento per rinforzo:

  • Processo decisionale di Markov
  • Q apprendimento

Processo decisionale di Markov

Per ottenere una soluzione vengono utilizzati i seguenti parametri:

  • Insieme di azioni – A
  • Insieme di stati – S
  • Ricompensa – R
  • Politica – π
  • Valore – V

L'approccio matematico per la mappaping Nell'apprendimento per rinforzo, una soluzione viene formalizzata come un processo decisionale di Markov, o MDP. Lo schema seguente mostra i cinque parametri collegati nello stesso ciclo agente-ambiente.

Schema del processo decisionale di Markov con stati, azioni, ricompensa e politica.

Q-Apprendimento

L'apprendimento Q è un metodo basato sui valori che fornisce informazioni che indicano a un agente quale azione intraprendere.

Cerchiamo di comprendere meglio questo metodo con il seguente esempio:

  • Ci sono cinque stanze in un edificio collegate da porte.
  • Ogni stanza è numerata da 0 a 4
  • L'esterno dell'edificio può essere trattato come un'unica grande area esterna (5)
  • Le porte numero 1 e 4 conducono all'edificio dalla stanza 5

La planimetria sottostante numera le stanze e indica quali porte le collegano.

Pianta di un edificio di cinque stanze con stanze numerate e area esterna 5

Successivamente, è necessario associare un valore di ricompensa a ciascuna porta:

  • Le porte che conducono direttamente all'obiettivo hanno una ricompensa di 100
  • Le porte che non sono collegate direttamente alla stanza di destinazione non danno alcuna ricompensa
  • Poiché le porte sono a doppio senso, a ogni stanza sono assegnate due frecce.
  • Ogni freccia nell'immagine qui sopra ha un valore di ricompensa immediato

Spiegazione: In questa immagine, ogni stanza rappresenta uno stato e il movimento dell'agente da una stanza all'altra rappresenta un'azione.

Nel grafico sottostante, uno stato è rappresentato da un nodo, mentre le frecce indicano le azioni disponibili e la ricompensa associata a ciascuna di esse.

Grafico di stato delle cinque stanze con valori di ricompensa pari a 0 e 100 ad ogni transizione

Ad esempio, un agente si sposta dalla stanza numero 2 alla numero 5:

  • Stato iniziale = stato 2
  • Stato 2 -> stato 3
  • Stato 3 -> stato (2,1,4)
  • Stato 4-> stato (0,5,3)
  • Stato 1-> stato (5,3)
  • Stato 0 -> stato 4

Apprendimento per rinforzo e apprendimento supervisionato

Il modo più chiaro per inquadrare l'apprendimento per rinforzo è quello di affiancarlo al paradigma che la maggior parte dei lettori già conosce.

Scheda Sintetica Insegnamento rafforzativo Apprendimento supervisionato
Stile decisionale L'apprendimento per rinforzo ti aiuta a prendere le decisioni in sequenza. In questo metodo la decisione viene presa in base all'input fornito all'inizio.
funziona su Funziona interagendo con l'ambiente. Funziona su esempi o dati campione forniti.
Dipendenza dalla decisione Nel metodo RL, ogni decisione di apprendimento dipende da quelle precedenti, quindi è l'intera sequenza di decisioni che viene valutata. In apprendimento supervisionato Le decisioni sono indipendenti l'una dall'altra, quindi a ogni decisione viene assegnata un'etichetta.
meglio adatto Supporta e funziona meglio nell'ambito dell'intelligenza artificiale, dove l'interazione umana è prevalente. Viene gestito principalmente con un sistema o applicazioni software interattivi.
Esempio Gioco di scacchi Riconoscimento di oggetti

Applicazioni dell'apprendimento per rinforzo

Ecco le applicazioni dell’apprendimento per rinforzo:

  • Robotica per l'automazione industriale.
  • Pianificazione della strategia aziendale
  • Apprendimento automatico ed elaborazione dei dati
  • Consente di creare sistemi di formazione che offrono istruzioni e materiali personalizzati in base alle esigenze degli studenti.
  • Controllo dell'aereo e controllo del movimento dei robot

Perché utilizzare l’apprendimento per rinforzo?

Ecco i motivi principali per utilizzare l’apprendimento per rinforzo:

  • Ti aiuta a individuare la situazione che richiede un intervento.
  • Ti aiuta a scoprire quale azione produce il massimo beneficio nel lungo periodo.
  • L'apprendimento per rinforzo fornisce inoltre all'agente di apprendimento una funzione di ricompensa
  • Consente inoltre all'agente di individuare il metodo migliore per ottenere grandi ricompense

Quando non utilizzare l’apprendimento per rinforzo?

Non è possibile applicare un modello di apprendimento per rinforzo in ogni situazione. Ecco alcune condizioni in cui è sconsigliabile utilizzarlo.

  • Quando si dispone di dati etichettati sufficienti per risolvere il problema con un metodo di apprendimento supervisionato
  • L'apprendimento per rinforzo è computazionalmente oneroso e richiede molto tempo, soprattutto quando lo spazio delle azioni è ampio.

Sfide dell'apprendimento per rinforzo

Ecco le principali sfide che dovrai affrontare durante l'apprendimento per rinforzo:

  • Progettazione di funzionalità e premi, che può essere molto complessa
  • I parametri possono influenzare la velocità di apprendimento.
  • Gli ambienti realistici possono avere osservabilità parziale.
  • Un rinforzo eccessivo può portare a un sovraccarico di stati, che a sua volta può compromettere i risultati.
  • Gli ambienti realistici possono essere non stazionari.

DOMANDE FREQUENTI

Lo sfruttamento ripete l'azione attualmente ritenuta migliore; l'esplorazione tenta qualcosa di diverso per scoprirne una migliore. L'algoritmo epsilon-greedy gestisce questo aspetto agendo in modo casuale con probabilità ε e in modo avido altrimenti, per poi ridurre ε man mano che si accumula esperienza.

Gamma pondera le ricompense future rispetto a quelle immediate. Un valore vicino a 0 rende l'agente miope e avido di ricompense istantanee; un valore vicino a 1 lo rende sufficientemente paziente da accettare una piccola perdita ora per un guadagno maggiore in futuro.

Il Q-learning è off-policy: si aggiorna in base alla migliore azione successiva possibile, indipendentemente da ciò che l'agente ha effettivamente fatto. Il SARSA è on-policy e si aggiorna in base all'azione effettivamente intrapresa, il che lo rende più cauto in prossimità di stati a rischio.

Una rete neurale Deep Q-Network sostituisce la tabella Q con una rete neurale, in modo che gli stati mai visti durante l'addestramento possano comunque essere valutati. La riproduzione dell'esperienza e una rete target separata vengono aggiunte per mantenere stabile il segnale di addestramento.

Gli agenti senza modello, come il Q-learning, apprendono esclusivamente dall'esperienza campionata. Gli agenti basati su modello, invece, costruiscono prima un modello delle dinamiche dell'ambiente e pianificano in base ad esso, il che richiede molte meno interazioni reali ma risulta problematico qualora il modello sia errato.

L'apprendimento per rinforzo dal feedback umano addestra un modello di ricompensa sulle classifiche di preferenza umana, quindi regola il modello linguistico rispetto a quella ricompensa. Ecco perché gli assistenti costruiti su apprendimento profondo seguire le istruzioni anziché limitarsi a prevedere il testo.

Copilota GitHub è bravo nel boilerplate: wrapper di ambiente, buffer di replay, cicli di addestramento e grafici. Ricompensa shaping e le scelte degli iperparametri richiedono comunque un giudizio, perché una ricompensa errata, seppur silenziosa, produce un agente che si addestra felicemente ma si comporta male.

Gymnasium fornisce gli ambienti di pratica standard, Stable-Baselines3 fornisce implementazioni di algoritmi testate e TensorFlow o PyTorch fornisce le reti. Inizia con un mondo a griglia tabellare prima di passare a uno qualsiasi di essi.

Riassumi questo post con: