Apprendimento di rinforzo in ambiente non stazionario [chiuso]


9

Q1: Esistono metodi comuni o accettati per affrontare l'ambiente non stazionario nell'apprendimento di rinforzo in generale?

Q2: Nel mio gridworld, la funzione di ricompensa cambia quando viene visitato uno stato. Ad ogni episodio le ricompense tornano allo stato iniziale. Tutto quello che voglio che il mio agente apprenda è "Non tornare a meno che non sia necessario", tuttavia ciò rende l'ambiente non stazionario. Questa / semplicissima regola può essere incorporata nel modello MDP e come? Q-learning è la soluzione migliore per affrontare questo problema? Qualche suggerimento o esempio disponibile?

D3: Ho esaminato il Q-learning con esperienza replay come soluzione per gestire ambienti non stazionari, in quanto decorrelava gli aggiornamenti successivi. È questo l'uso corretto del metodo o è più per gestire l'apprendimento di dati più efficienti? E l'ho visto usato solo con approssimazione del valore. Non sono sicuro se sia eccessivo usarlo per un semplice spazio di stato discretizzato, come gridworld, o se c'è una ragione diversa per questo.

Sentiti libero di rispondere o commentare anche se non puoi rispondere a tutte le domande.

Risposte:


10

Q1: Esistono metodi comuni o accettati per affrontare l'ambiente non stazionario nell'apprendimento di rinforzo in generale?

α

Tuttavia , ciò risolve la non stazionarietà a lungo termine, come il problema che cambia tra episodi o su una scala temporale ancora più lunga. La tua descrizione sembra più che desideri modificare la struttura della ricompensa in base alle azioni intraprese dall'agente, in breve tempo. Quella risposta dinamica alle azioni è meglio definita come un MDP diverso e più complesso, non come "non stazionarietà" all'interno di un MDP più semplice.

Un agente non può apprendere le modifiche all'ambiente che non ha ancora campionato, quindi la modifica della struttura della ricompensa non impedisce all'agente di tornare agli stati precedentemente visitati. A meno che tu non stia usando qualcosa come un RNN nell'agente, l'agente non avrà una "memoria" di ciò che è accaduto prima nell'episodio diverso da qualsiasi cosa sia rappresentata nello stato corrente (probabilmente usando un RNN crea il livello nascosto della parte RNN dello Stato). Attraverso più episodi, se si utilizza un agente Q-learning tabulare, l'agente imparerà semplicemente che alcuni stati hanno un valore basso, non sarà in grado di apprendere che la seconda o la terza visita allo stato causano tale effetto, perché non ha modo di rappresentare quella conoscenza. Non sarà in grado di adattarsi al cambiamento abbastanza velocemente per imparare online e a metà episodio.

Q2: Nel mio gridworld, la funzione di ricompensa cambia quando viene visitato uno stato. Tutto quello che voglio che il mio agente apprenda è "Non tornare a meno che non sia necessario", tuttavia ciò rende l'ambiente non stazionario.

Se questo è tutto ciò che serve all'agente per imparare, forse questo può essere incoraggiato da un'adeguata struttura di ricompensa. Prima di poterlo fare, devi capire cosa implica "veramente bisogno" e quanto deve essere logico. Potresti anche essere d'accordo assegnando un po 'di penalità per aver visitato qualsiasi località che l'agente abbia già o recentemente visitato.

Questa / semplicissima regola può essere incorporata nel modello MDP e come?

Sì, è necessario aggiungere le informazioni sulle posizioni visitate nello stato. Ciò renderà immediatamente il tuo modello di stato più complesso di un semplice mondo a griglia, aumentando la dimensionalità del problema, ma è inevitabile. La maggior parte dei problemi del mondo reale supera molto rapidamente gli esempi di giocattoli forniti per insegnare i concetti di RL.

Un'alternativa è inquadrare il problema come un processo decisionale Markov parzialmente osservabile (POMDP) . In tal caso lo stato "vero" includerebbe comunque tutta la cronologia necessaria al fine di calcolare i premi (e poiché si tratta di un problema giocattolo su un computer dovresti comunque rappresentarlo in qualche modo), ma l'agente può tentare di apprendere da restrizioni conoscenza dello stato, qualunque cosa tu lo lasci osservare. In generale, questo è un approccio molto più difficile rispetto all'ampliamento della rappresentanza statale, e non lo consiglierei qui. Tuttavia, se ritieni che l'idea sia interessante, potresti utilizzare il tuo problema per esplorare i POMDP. Ecco un recente articolo (del team Deep Mind di Google, 2015) che esamina due algoritmi RL combinati con RNN per risolvere i POMDP.

D3: Ho esaminato il Q-learning con esperienza replay come soluzione per gestire ambienti non stazionari, in quanto decorrelava gli aggiornamenti successivi. È questo l'uso corretto del metodo o è più per gestire l'apprendimento di dati più efficienti?

La riproduzione dell'esperienza non sarà di aiuto in ambienti non stazionari. In effetti potrebbe peggiorare le prestazioni in essi. Tuttavia, come già affermato, il problema non riguarda in realtà un ambiente non stazionario, ma la gestione di dinamiche di stato più complesse.

648×8264

Con uno stimatore di funzioni, il replay dell'esperienza è molto utile, poiché senza di esso è probabile che il processo di apprendimento sia instabile. Il recente approccio DQN per giocare ai giochi Atari utilizza questo replay di esperienza.


Se l'ambiente non è fisso, come si fa a considerare il fatto che, nell'esempio del mondo della griglia, essere nello stato al momento t = 1 non è lo stesso di essere in quello stato at = 2? Se li trattate come stati separati, allora sicuramente la dimensionalità del vostro spazio di stato esploderà?
trytolearn,

@tryingtolearn: Il punto centrale di uno stato di Markov è che cattura tutti i dettagli importanti su come il MDP procederà da quel punto. Tipicamente essere in stato at = 1 non è diverso dall'essere nello stesso stato in at = 2, in termini di ricompensa futura attesa e transizioni di stato. Se finisci con regole che si basano sul valore di t, allora metti t nello stato. Ciò può accadere se puoi ottenere una ricompensa in qualsiasi momento, ma il numero di passaggi temporali è limitato, ad esempio l'episodio termina sempre con t = 10. In tal caso, conoscere il tempo rimanente potrebbe essere importante
Neil Slater,

@NeilSlater puoi espandere le idee POMDP e RNN nella tua risposta? Sembrano interessanti. E se possibile, fornire fonti pertinenti perché a volte è difficile navigare nella letteratura. Non mi piace l'idea di mantenere la sequenza degli stati visitati, anche se questa è l'unica cosa a cui potrei pensare finora, quindi sto cercando altre opzioni. Il modello diventa così complicato, dato che devo introdurre una regola molto semplice. Non sono sicuro che mi manchi qualcosa di molto ovvio o semplicemente non sto usando il modello e la formulazione corretti.
Voltronika,

@NeilSlater Non può essere aiutato usando cose come i metodi a gradiente politico? In pratica, ti capita di sapere qual è lo standard per risolvere questo tipo di problemi?
trytolearn,

1
@Voltronika Ho ampliato la risposta aggiungendo un paragrafo sui POMDP. Si noti che inquadrare il problema come POMDP rende molto più difficile lavorare e risolvere che estendere lo stato per includere la memoria adatta delle posizioni visitate. Quindi suggerisco di esaminarlo solo se lo studio dei POMDP è un obiettivo.
Neil Slater,

0

Q1: Q learning è un algoritmo di apprendimento di rinforzo online che funziona bene con l'ambiente stazionario. Può anche essere utilizzato con un modello non stazionario a condizione che il modello (funzione di ricompensa e probabilità di transizione) non cambi rapidamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.