Quando sono preferiti i metodi Monte Carlo rispetto a quelli con differenza temporale?


12

Ultimamente ho fatto molte ricerche sull'apprendimento per rinforzo. Ho seguito l' apprendimento di rinforzo di Sutton & Barto : un'introduzione per la maggior parte di questo.

So quali sono i processi decisionali di Markov e come l'apprendimento della programmazione dinamica (DP), Monte Carlo e differenza temporale (DP) può essere utilizzato per risolverli. Il problema che sto avendo è che non vedo quando Monte Carlo sarebbe l'opzione migliore sull'apprendimento TD.

La differenza principale tra loro è che TD-learning utilizza il bootstrap per approssimare la funzione valore-azione e Monte Carlo utilizza una media per raggiungere questo obiettivo. Non riesco proprio a pensare a uno scenario in cui questo è il modo migliore per andare.

La mia ipotesi è che potrebbe avere qualcosa a che fare con le prestazioni, ma non riesco a trovare alcuna fonte in grado di dimostrarlo.

Mi sto perdendo qualcosa o l'apprendimento TD è generalmente l'opzione migliore?

Risposte:


8

Il problema principale con TD learning e DP è che i loro aggiornamenti dei passi sono distorti sulle condizioni iniziali dei parametri di apprendimento. Il processo di bootstrap in genere aggiorna una funzione o una ricerca Q (s, a) su un valore successivo Q (s ', a') usando qualunque sia la stima corrente in quest'ultima. Chiaramente all'inizio dell'apprendimento queste stime non contengono informazioni provenienti da premi reali o transizioni di stato.

Se l'apprendimento funziona come previsto, la distorsione si ridurrà asintoticamente su più iterazioni. Tuttavia, la distorsione può causare problemi significativi, in particolare per i metodi off-policy (ad es. Q Learning) e quando si utilizzano approssimatori di funzioni. È probabile che questa combinazione non riesca a convergere da essere chiamata la terribile triade di Sutton & Bart.

I metodi di controllo Monte Carlo non soffrono di questo pregiudizio, poiché ogni aggiornamento viene effettuato utilizzando un vero campione di ciò che dovrebbe essere Q (s, a). Tuttavia, i metodi Monte Carlo possono soffrire di un'elevata varianza, il che significa che sono necessari più campioni per ottenere lo stesso grado di apprendimento rispetto al TD.

In pratica, l'apprendimento del TD sembra apprendere in modo più efficiente se i problemi con la triade mortale possono essere superati. I risultati recenti che utilizzano il replay dell'esperienza e le copie "congelate" degli stimatori forniscono soluzioni alternative che risolvono i problemi, ad esempio in questo modo è stato creato lo studente DQN per i giochi Atari.

C'è anche una via di mezzo tra TD e Monte Carlo. È possibile costruire un metodo generalizzato che combina traiettorie di diverse lunghezze - dal TD a singolo passaggio alle serie complete di episodi a Monte Carlo - e combinarle. La variante più comune di questo è l' apprendimento TD ( ), in cui è un parametro compreso tra (in pratica apprendimento TD a passaggio singolo) e (in effetti apprendimento Monte Carlo, ma con una bella funzionalità che può essere utilizzata in modo continuo i problemi). In genere, un valore compreso tra e rende l'agente di apprendimento più efficiente, sebbene come molti iperparametri, il valore migliore da utilizzare dipende dal problema.λ 0 1 0 1λλ0101

Se stai usando un metodo basato sul valore (al contrario di uno basato sulla politica), l'apprendimento TD è generalmente più usato nella pratica, o un metodo di combinazione TD / MC come TD (λ) può essere ancora migliore.

In termini di "vantaggio pratico" per MC? L'apprendimento di Monte Carlo è concettualmente semplice, robusto e facile da implementare, sebbene spesso più lento di TD. In genere non lo userei per un motore di controller di apprendimento (a meno che non abbia fretta di implementare qualcosa per un ambiente semplice), ma lo prenderei seriamente in considerazione per la valutazione delle politiche al fine di confrontare più agenti, ad esempio perché è un misura imparziale, che è importante per i test.


Prima di tutto, grazie per la risposta. Vedo come in teoria si potrebbe preferire un algoritmo imparziale a uno distorto. Ma considerando l'alta varianza che Monte Carlo può dare all'inizio dell'allenamento, non vedo quanto questo sia davvero importante. Sia Monte Carlo che TD inizieranno con approssimazioni imprecise e da quello che ho letto, TD convergeranno molto più velocemente. Non riesco proprio a trovare un vantaggio pratico nell'usare Monte Carlo. (La triade mortale può essere evitata in modo divertente )
Anne-dirk,

1
@ Anne-dirk Se si utilizza un metodo basato sul valore (al contrario di uno basato sulla politica), l'apprendimento TD viene generalmente utilizzato più nella pratica, oppure un metodo di combinazione TD / MC come TD (λ) può essere pari meglio. Non sono sicuro di cosa intendi per "vantaggio pratico"? L'apprendimento di Monte Carlo è concettualmente semplice, solido e facile da implementare. In genere non lo userei per un motore di controller di apprendimento (a meno che non abbia fretta di implementare qualcosa per un ambiente semplice), ma lo prenderei seriamente in considerazione per la valutazione delle politiche al fine di confrontare più agenti, ad esempio.
Neil Slater,

@Neul Slater Aaaah Capisco ... Questo è il tipo di risposta che stavo cercando :) Grazie per il tuo aiuto!
Anne-dirk,

-1

Fondamentalmente dipende dal tuo ambiente.

TD sfrutta la proprietà Markov, vale a dire che gli stati futuri di un processo si basano solo sullo stato corrente, quindi di solito è più efficiente utilizzare TD in ambienti Markov.

MC non sfrutta la proprietà Markov in quanto basa i premi sull'intero processo di apprendimento, che si presta ad ambienti non Markov.


Non credo sia corretto o, almeno, ovvio da vedere. La proprietà Markov, nel contesto di RL, è associata agli stati. Potete chiarire perché gli algoritmi MC funzionerebbero meglio quando la proprietà Markov non sarebbe soddisfatta?
nbro,

Per essere chiari, mi riferivo all'efficienza. Se puoi sfruttare la proprietà Markov, TD è vantaggioso perché puoi iniziare in qualsiasi stato, azione e azione e il risultato sarà sempre lo stesso, quindi puoi calcolare l'errore TD con alti livelli di certezza. Con non-MDP se si ottiene uno stato che è parzialmente osservato, TD potrebbe non essere molto efficiente. Questo non vuol dire che non puoi usare TD in non-MDP, puoi, ma potrebbe essere inefficiente e potrebbe avere un successo migliore con TD lambda piuttosto che TD (1).
BigBadMe

"Se puoi sfruttare la proprietà Markov, TD è vantaggioso perché puoi iniziare in qualsiasi stato, azione e azione e il risultato sarà sempre lo stesso", sarà lo stesso se l'ambiente è deterministico. Cosa c'entra questo con la proprietà Markov? Non ricevo i tuoi reclami. Dove hai letto che TD sarà più inefficiente di MC, ad esempio in POMDP?
nbro,

Ha letteralmente tutto a che fare con il fatto che è Markov; se ti trovi in ​​un ambiente Markov, una volta che avrai stabilito di agire in uno stato, questo indicherà un 'con ricompensa x - questo sarà sempre il caso in un ambiente Markov, quindi non è necessario valutarlo e oltre - puoi fare passi più grandi e TD ti consente di sfruttarlo. Ma non sarà il caso di un POMDP perché puoi avere esattamente lo stesso stato, intraprendere la stessa azione, ma finire in stati e ricompense completamente diversi.
BigBadMe

"se ti trovi in ​​un ambiente Markov, una volta che avrai stabilito di agire in uno stato che porterà indicherà un 'con ricompensa x". No . Questo è vero solo se l'ambiente è deterministico . L'ambiente può anche essere stocastico . "Questo sarà sempre il caso in un ambiente markov", No , questo è un problema ortogonale alla proprietà Markov.
nbro,
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.