Model Based RL Flashcards
Cos’è il Model-Based Reinforcement Learning? Come funziona il suo ciclo di vita? I vantaggi e gli svantaggi?
Il Model-Based Reinforcement Learning (MBRL) usa modelli per prevedere come l’ambiente risponderà alle azioni dell’agente, aiutandolo a prendere decisioni migliori nell’apprendimento per rinforzo.
Il ciclo di vita del Model-Based Reinforcement Learning può essere suddiviso in diverse fasi:
VALUE/POLICY ->(acting)-> EXPERIENCE ->(model learning)-> model ->(planning)-> VALUE/POLICY ->…
I vantaggi del Model-Based Reinforcement Learning includono:
Efficienza nell’apprendimento: Utilizzando un modello dell’ambiente, l’agente può fare previsioni e simulazioni, riducendo la necessità di esplorare e sperimentare direttamente nell’ambiente reale.
Pianificazione migliore: Con un modello accurato dell’ambiente, l’agente può pianificare in modo più efficiente e prendere decisioni migliori.
Tuttavia, ci sono anche degli svantaggi:
Complessità del modello: Costruire un modello accurato dell’ambiente può essere complesso e richiedere molto tempo e risorse computazionali.
Errori nel modello: Se il modello dell’ambiente è impreciso o non riflette accuratamente la realtà, le decisioni prese dall’agente possono essere subottimali o addirittura dannose.
Costi computazionali elevati: L’utilizzo di modelli complessi può richiedere molte risorse computazionali, limitando l’applicabilità pratica in alcuni contesti.
Cos’è un modello(Formale)?
Un modello M_n è una rappresentazione di un processo decisionale markoviano (MDP - Markov Decision Process) parametrizzato tramite n
Un MDP è costituito da cinque elementi: lo spazio degli stati (S), lo spazio delle azioni (A), la funzione di transizione degli stati (P), la funzione di ricompensa (R), e il fattore di sconto (γ).
Un modello di un MDP può essere definito come segue:
- Spazio degli stati (S): È l’insieme di tutti gli stati possibili in cui può trovarsi l’agente. Formalmente, S è l’insieme finito o infinito degli stati possibili.
- Spazio delle azioni (A): È l’insieme di tutte le azioni possibili che l’agente può eseguire in ciascuno stato. Formalmente, A è l’insieme finito o infinito delle azioni disponibili.
- Funzione di transizione degli stati (P): Specifica la probabilità di transizione da uno stato all’altro dato uno stato e un’azione. Formalmente, P(s’ | s, a) rappresenta la probabilità che, eseguendo l’azione a nello stato s, l’agente transiti nello stato s’.
- Funzione di ricompensa (R): Definisce la ricompensa immediata che l’agente riceve dopo aver eseguito un’azione in uno stato specifico. Formalmente, R(s, a, s’) restituisce la ricompensa ottenuta eseguendo l’azione a nello stato s e transitando nello stato s’.
- Fattore di sconto (γ): È un valore compreso tra 0 e 1 che indica l’importanza delle ricompense future rispetto a quelle immediate. Aiuta a controllare quanto l’agente tenga conto delle ricompense ritardate nel tempo.
In modo più conciso, il modello di un MDP può essere rappresentato come la quintupla M = (S, A, P, R, γ), dove ogni elemento definisce un aspetto specifico del processo decisionale markoviano.
Questo modello matematico fornisce le regole e i parametri necessari per modellare e risolvere problemi di decisione sequenziale, consentendo agli algoritmi di apprendimento per rinforzo di prendere decisioni ottimali nell’ambiente definito dall’MDP.
Supponendo che lo spazio degli stati S e lo spazio delle
azioni A siano noti, un modello M_n = <P_n, R_n> rappresenta le
transizioni di stato P_n ≈ P e le ricompense R_n ≈ R
Cos’è il model learning con Table Lookup?(Domanda utile?)
Il “model learning con Table Lookup” è un metodo di apprendimento per rinforzo che utilizza tabelle per tenere traccia delle informazioni sui risultati delle azioni in uno stato e sulle ricompense associate. È semplice da capire e implementare, ma diventa inefficiente quando gli spazi di stato e azione diventano grandi o continui perché richiede tabelle troppo grandi per memorizzare tutte le possibili combinazioni.
In questo approccio:
- Modello di transizione degli stati: Si crea una tabella che tiene traccia delle transizioni di stato per ogni coppia di stato-azione. Ad esempio, se si ha uno stato corrente s e si esegue un’azione a, la tabella lookup conterrà informazioni su quale stato s’ è più probabile che si verifichi e con quale probabilità.
- Funzione di ricompensa: Similarmente, si costruisce un’altra tabella che associa ogni coppia di stato-azione a una ricompensa. Quindi, quando l’agente si trova in uno stato s e esegue un’azione a, la tabella restituisce la ricompensa associata a questa transizione.
Come funziona il sample-based planning?
Il sample-based planning è un approccio di apprendimento per rinforzo che si basa sull’uso di esperienze campionate dall’ambiente per prendere decisioni. Si raccoglie esperienza reale o simulata, si usa per fare scelte migliori e si aggiorna continuamente la strategia di azione. È flessibile ma può essere meno efficiente in ambienti complessi o con dati limitati.
Cosa succede quando dobbiamo fare un planning con un modello poco accurato?
Quando si esegue il planning con un modello poco accurato nell’apprendimento per rinforzo, ciò può portare a diverse conseguenze:
Decisioni subottimali: Un modello inaccurato potrebbe portare l’agente a prendere decisioni sbagliate o subottimali. Se il modello non riflette correttamente l’ambiente reale, le azioni pianificate potrebbero non massimizzare effettivamente le ricompense o raggiungere gli obiettivi desiderati.
Instabilità nell’apprendimento: Un modello inesatto può portare a un apprendimento instabile. Le previsioni errate o le informazioni erronee fornite dal modello potrebbero confondere l’agente, rallentando il processo di apprendimento o rendendo difficile identificare e correggere gli errori nell’ambiente.
Esplorazione inefficace: Un modello poco accurato potrebbe guidare l’agente verso azioni che sembrano buone nel modello, ma che in realtà non sono ottimali nell’ambiente reale. Questo potrebbe limitare l’esplorazione dell’agente e ridurre la sua capacità di scoprire strategie migliori.
Convergenza lenta o mancata: L’uso di un modello inaccurato potrebbe compromettere la capacità dell’agente di convergere verso una strategia ottimale. Se il modello non fornisce informazioni corrette sull’ambiente, l’agente potrebbe impiegare più tempo per adattarsi o potrebbe non raggiungere mai una strategia ottimale.
Necessità di aggiornamenti frequenti: Un modello poco accurato richiede aggiornamenti frequenti per migliorare la sua precisione. L’agente potrebbe dover investire risorse significative nella raccolta di dati aggiuntivi per correggere il modello o nella ricerca di nuove strategie basate su informazioni più affidabili.
Cos’è l’architettura Dyna?
L’architettura Dyna è un approccio nell’ambito dell’intelligenza artificiale che combina l’apprendimento diretto dall’esperienza con la pianificazione simulata. In parole semplici, Dyna cerca di unire due modi diversi in cui un agente può imparare dagli ambienti: attraverso l’esperienza diretta e attraverso la simulazione di possibili azioni e conseguenze.
Cos’è il Forward search? E la simulation-based search?
Il forward search è un metodo che esamina sequenzialmente le possibili azioni future partendo dallo stato attuale, costruendo un albero decisionale per rappresentare le possibili sequenze di azioni e stati. Questo approccio utilizza tecniche di ricerca come l’algoritmo A* o la ricerca Monte Carlo per valutare le possibili azioni e massimizzare le ricompense future.
La simulation-based search, invece, simula esperienze future partendo dallo stato attuale, valutando le azioni e le loro conseguenze tramite simulazioni dell’ambiente anziché costruire un albero decisionale esplicito. Questo metodo può coinvolgere tecniche come la ricerca Monte Carlo basata su simulazioni o l’utilizzo di modelli approssimati per simulare scenari futuri.
La differenza principale tra i due approcci sta nella gestione delle possibili conseguenze delle azioni future: il forward search costruisce un albero decisionale completo, mentre la simulation-based search si concentra sulla simulazione di esperienze future. Entrambi gli approcci hanno vantaggi e svantaggi in termini di complessità computazionale e copertura delle possibili azioni e conseguenze. La scelta dipende dalla complessità dell’ambiente e dalle risorse disponibili.
Simple Monte-Carlo Search
Dato un Modello M_v e una simulation policy π Per ogni azione a ∈ A
-Simulare K episodi a partire dallo stato attuale (reale) s_t
-Valutare le azioni in base al guadagno medio (Monte-Carlo evaluation)
-Selezionare l’azione corrente (reale) con il valore massimo
-Questo corrisponde ad 1 passo di miglioramento di policy
La versione semplice è quella dove abbiamo un modello, abbiamo una policy di simulazione, quello che dobbiamo fare per ogni azione è andare a simulare k episodi a partire da st, quindi io sono in st devo giudicare l’azione da st migliore quindi per ogni azione mi vado a generare k episodi a partire dal modello costruito a questo punto posso usare MC come tecnica di valutazione degli episodi e dello stato quindi mi vado a calcolare il guadagno medio per ogni azione (quindi il q-value che mi vado a calcolare sarà il guadagno medio
perchè io ho k episodi per l’azione a per ogni episodio ho un guadagno Gt faccio la somma di episodi diviso il numero di episodi) una volta che ho i guadagni medi di tutte le azioni, la
migliore azione sarà quella che mi darà il guadagno medio più grande. Questo è l’algoritmo MonteCarlo (MC) search più semplice.
Cos’è il monte carlo tree search in modo formale?
Il Monte Carlo Tree Search (MCTS) è un algoritmo di ricerca utilizzato nell’intelligenza artificiale per prendere decisioni ottimali in situazioni di incertezza, particolarmente efficace in giochi e problemi decisionali sequenziali. In modo formale, il Monte Carlo Tree Search è un algoritmo basato su simulazioni e ricerca guidata che esplora in modo efficiente lo spazio delle azioni per trovare la mossa ottimale in un determinato contesto.
Ecco una descrizione più dettagliata del Monte Carlo Tree Search:
Costruzione di un albero di ricerca: Inizia con la costruzione di un albero di ricerca incrementale, in cui ogni nodo rappresenta uno stato del gioco o un punto decisionale e le sue azioni disponibili.
Selezione guidata: L’algoritmo seleziona nodi nell’albero, seguendo una strategia che bilancia l’esplorazione (considerazione di nuovi rami) e lo sfruttamento (valutazione dei rami esistenti) delle possibili azioni. La selezione può essere guidata da metodi come l’Upper Confidence Bound (UCB) o la selezione basata sul valore stimato.
Espansione: Quando un nodo viene selezionato, l’algoritmo espande l’albero aggiungendo nodi figlio che rappresentano le azioni disponibili nello stato corrispondente.
Simulazione Monte Carlo (Rollout): A partire dai nodi espansi, vengono eseguite simulazioni casuali o playout completi del gioco o della sequenza decisionale fino a uno stato terminale o fino a quando viene raggiunto un certo criterio di terminazione.
Retropropagazione delle ricompense: Le ricompense ottenute dalle simulazioni vengono retropropagate risalendo l’albero fino al nodo radice, aggiornando le stime delle ricompense delle azioni e dei nodi attraversati durante la selezione.
Selezione dell’azione ottimale: Dopo un certo numero di iterazioni o fino a quando non viene raggiunto un criterio di terminazione, l’agente seleziona l’azione ottimale basata sulle statistiche dell’albero costruito (valutazione delle ricompense e delle probabilità di scelta).
Il MCTS è apprezzato per la sua capacità di adattarsi a problemi con spazi di ricerca vasti e complessi.
Vantaggi:
Ricerca best-first altamente selettiva
Valuta gli stati in modo dinamico (a differenza di DP)
Utilizza il campionamento per risolvere la curse of dimensionality
Funziona per modelli black-box (richiede solo i campioni)
Efficiente dal punto di vista computazionale, in qualsiasi
momento, parallelizzabile
TD-Search? (da fare)
Invece di usare MC si può anche usare TD per fare la ricerca, cambia il fatto che ora non generiamo episodi fino a stadi terminare ma facciamo aggiornamenti con bootstrap cioè aggiorno il mio valore in funzione del vicino. I vantaggi sono quelli del TD: la varianza si
riduce aumenta il bias inoltre è più efficiente di MC.
Siamo in un certo stato e dobbiamo valutare le azioni di quello stato e lo faccio facendo partire un problema TD a partire da quello specifico nodo quindi vado ad applicare la formula di aggiornamento di q-value che è quella dell’algoritmo SARSA. Poi vado a scegliere l’azione che mi porta il q-value più alto.
+ slide
Dyna-2
Dyna-2 è una variante dell’algoritmo Dyna, un framework nell’ambito dell’apprendimento per rinforzo proposto da Richard S. Sutton. Dyna-2 è un’estensione di Dyna che mira a migliorare l’efficienza e l’efficacia dell’apprendimento attraverso l’aggiunta di una seconda componente di pianificazione.
Caratteristiche principali di Dyna-2:
Model-Based Learning: Dyna-2 incorpora l’apprendimento basato su modelli. L’agente mantiene un modello interno dell’ambiente (ad esempio, una rappresentazione delle transizioni di stato e delle ricompense) e lo utilizza per simulare esperienze.
Dual Planning Components: Dyna-2 integra due componenti di pianificazione:
Model Planning: Utilizza il modello interno per generare esperienze simulate e pianificare azioni future.
Direct RL (Reinforcement Learning): Utilizza l’apprendimento diretto dall’esperienza reale, raccogliendo dati dall’ambiente e aggiornando le stime di valore basate su queste esperienze reali.
Iterazione Modello-Reale: Dyna-2 alterna tra l’utilizzo del modello interno per simulazioni e la raccolta di dati reali. Questo ciclo di iterazione permette all’agente di apprendere sia dall’esperienza diretta che dalle simulazioni, migliorando la sua comprensione dell’ambiente.
Efficienza nell’Apprendimento: L’integrazione di due modalità di pianificazione consente a Dyna-2 di migliorare l’efficienza dell’apprendimento. L’agente può esplorare e apprendere nuove strategie utilizzando simulazioni senza dipendere esclusivamente dall’esperienza reale.
Adattamento e Ottimizzazione: Dyna-2 si adatta continuamente all’ambiente tramite l’aggiornamento del modello interno e delle strategie decisionali basate su dati sia reali che simulati.
In sintesi, Dyna-2 è una versione avanzata di Dyna che sfrutta due componenti di pianificazione, integrando l’apprendimento diretto dall’esperienza con la simulazione basata su un modello interno. Questa combinazione mira a migliorare l’efficacia complessiva dell’apprendimento e a rendere l’agente più adattabile a una varietà di ambienti e problemi decisionali.
Cos’è il model learning?
Il problema del model learning è un problema supervisionato perché abbiamo le esperienze, nell’esperienza ci sono info (stato S,azione A,ricompensa R fino ad arrivare ad uno stato terminale) sia per quanto riguarda P (modello di transizione) sia per quanto riguarda R e posso usarle per andare ad allenare il modello dunque li uso come dati per andare a costruire il training set (S1,a1 sono gli input R2,s2 sono gli output) cioè io costruisco qualcosa che dati stato e azione mi restituisca stato successivo e ricompensa.
Se abbiamo i dati di training io posso indirizzare la costruzione di P e R ad un modello di regressione (se la label è un numero) o classificazione.