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.