Comprensione del ruolo del fattore di sconto nell'apprendimento per rinforzo


43

Mi sto insegnando sull'apprendimento per rinforzo e sto cercando di capire il concetto di premio scontato. Quindi la ricompensa è necessaria per dire al sistema quali coppie stato-azione sono buone e quali sono cattive. Ma quello che non capisco è perché è necessario il premio scontato. Perché dovrebbe importare se si raggiunge presto un buono stato piuttosto che dopo?

Capisco che questo è rilevante in alcuni casi specifici. Ad esempio, se stai usando l'apprendimento per rinforzo per fare trading nel mercato azionario, è più vantaggioso guadagnare prima piuttosto che dopo. Questo perché avere quei soldi ora ti permette di fare cose con quei soldi ora, il che è più desiderabile che fare cose con quei soldi in seguito.

Ma nella maggior parte dei casi, non vedo perché lo sconto sia utile. Ad esempio, supponiamo che tu volessi che un robot imparasse a navigare in una stanza per raggiungere l'altro lato, dove ci sono penalità se si scontra con un ostacolo. Se non ci fosse alcun fattore di sconto, imparerebbe a raggiungere perfettamente l'altra parte, senza scontrarsi con alcun ostacolo. Potrebbe volerci molto tempo per arrivarci, ma alla fine ci arriverà.

Ma se diamo uno sconto alla ricompensa, il robot sarà incoraggiato a raggiungere rapidamente l'altro lato della stanza, anche se deve scontrarsi con oggetti lungo il percorso. Questo chiaramente non è un risultato desiderabile. Certo, vuoi che il robot arrivi rapidamente dall'altra parte, ma non se questo significa che deve scontrarsi con gli oggetti lungo la strada.

Quindi la mia intuizione è che qualsiasi forma di fattore di sconto porterà effettivamente a una soluzione non ottimale. E la scelta del fattore di sconto sembra spesso arbitraria: molti metodi che ho visto semplicemente lo impostano su 0,9. Questo mi sembra molto ingenuo e sembra dare un compromesso arbitrario tra la soluzione ottimale e la soluzione più veloce, mentre in realtà questo trade-off è molto importante.

Per favore qualcuno può aiutarmi a capire tutto questo? Grazie :)

Risposte:


36

TL; DR.

Il fatto che il tasso di sconto sia limitato a 1 è un trucco matematico per rendere finita una somma infinita. Questo aiuta a dimostrare la convergenza di alcuni algoritmi.

In pratica, il fattore di sconto potrebbe essere usato per modellare il fatto che il decisore non è sicuro se nella prossima istante il mondo (ad es. Ambiente / gioco / processo ) finirà.

Per esempio:

Se il decisore è un robot, il fattore di sconto potrebbe essere la probabilità che il robot venga spento nel prossimo istante (il mondo termina nella terminologia precedente). Questo è il motivo per cui il robot è miope e non ottimizza la ricompensa della somma ma la ricompensa della somma scontata .

Fattore di sconto inferiore a 1 (in dettaglio)

Per rispondere in modo più preciso, perché il tasso di attualizzazione deve essere inferiore a uno, introdurrò prima i processi decisionali di Markov (MDP).

Le tecniche di apprendimento di rinforzo possono essere utilizzate per risolvere gli MDP. Un MDP fornisce un quadro matematico per modellare le situazioni decisionali in cui i risultati sono in parte casuali e in parte sotto il controllo del decisore. Un MDP è definito tramite uno spazio di stato , uno spazio di azione , una funzione di probabilità di transizione tra stati (condizionata all'azione intrapresa dal decisore) e una funzione di ricompensa.SA

Nella sua impostazione di base, il decisore prende e agisce, e ottiene una ricompensa dall'ambiente, e l'ambiente cambia il suo stato. Quindi il decisore rileva lo stato dell'ambiente, intraprende un'azione, ottiene una ricompensa e così via. Le transizioni di stato sono probabilistiche e dipendono esclusivamente dallo stato attuale e dall'azione intrapresa dal decisore. La ricompensa ottenuta dal decisore dipende dall'azione intrapresa e dallo stato dell'ambiente originale e nuovo.

Una ricompensa si ottiene quando si intraprende un'azione nello stato e l'ambiente / sistema passa allo stato dopo che il decisore ha intrapreso un'azione . Il decisore segue una politica, , che per ogni stato intraprende un'azione . In modo che la politica sia ciò che dice al decisore quali azioni intraprendere in ogni stato. Anche la politica può essere randomizzata, ma per ora non ha importanza.Rai(sj,sk)aisjskaiπ π():SAsjSaiAπ

L'obiettivo è quello di trovare una politica tale cheπ

maxπ:S(n)ailimTE{n=1TβnRxi(S(n),S(n+1))}(1),
dove è il fattore di sconto e .ββ<1

Si noti che il problema di ottimizzazione sopra riportato ha un orizzonte temporale infinito ( ) e l'obiettivo è massimizzare la somma (la ricompensa viene moltiplicata per ). Questo di solito è chiamato un problema MDP con un orizzonte temporale infinito con criteri di ricompensa scontati .TdiscountedRβn

Il problema si chiama scontato perché . Se non fosse un problema scontato la somma non converrebbe. Tutte le politiche che hanno ottenuto in media una ricompensa positiva in ogni istante si sommerebbero all'infinito. Sarebbe un orizzonte temporale infinito criteri di ricompensa , e non è un buon criterio di ottimizzazione.β<1β=1

Ecco un esempio di giocattolo per mostrarti cosa intendo:

Supponiamo che ci siano solo due possibili azioni e che la funzione di ricompensa sia uguale a se e se (la ricompensa non dipende dallo stato).a=0,1R1a=10a=0

È chiaro che la politica che ottiene più ricompensa è quella di agire sempre e mai . Chiamerò questa politica . Confronterò con un'altra politica che intraprende l'azione con una piccola probabilità , e l'azione altrimenti.a=1a=0πππa=1α<<1a=0

Nell'orizzonte infinito i criteri di ricompensa scontati l'equazione (1) diventa (la somma di una serie geometrica) per la politica mentre per la politica equazione (1) diventa . Dato che , diciamo che è una politica migliore di . In realtà è la politica ottimale.11βππα1β11β>α1βπππ

Nell'orizzonte infinito i criteri di ricompensa della somma ( ) l'equazione (1) non converge per nessuna delle politiche (somma fino all'infinito). Quindi, considerando che la politica raggiunge premi più elevati rispetto entrambe le politiche sono uguali secondo i questo criterio. Questo è uno dei motivi per cui i criteri di ricompensa della somma dell'orizzonte infinito non sono utili.β=1ππ

Come ho detto prima, fa convergere la somma nell'equazione (1).β<1

Altri criteri di ottimalità

Esistono altri criteri di ottimalità che non impongono che :β<1

Il caso dei criteri dell'orizzonte finito l'obiettivo è massimizzare la ricompensa scontata fino all'orizzonte temporaleT

maxπ:S(n)aiE{n=1TβnRxi(S(n),S(n+1))},

per e finito.β1T

In l'infinito orizzonte criteri medi di premiare l'obiettivo è

maxπ:S(n)ailimTE{n=1T1TRxi(S(n),S(n+1))},

Nota finale

A seconda dei criteri di ottimalità si dovrebbe utilizzare un algoritmo diverso per trovare la politica ottimale. Ad esempio, le politiche ottimali dei problemi dell'orizzonte finito dipenderebbero sia dallo stato che dall'istante temporale effettivo. La maggior parte degli algoritmi di apprendimento per rinforzo (come SARSA o Q-learning) convergono nella politica ottimale solo per i criteri di orizzonte infinito della ricompensa scontata (lo stesso accade per gli algoritmi di programmazione dinamica). Per i criteri di ricompensa media non esiste un algoritmo che abbia dimostrato di convergere nella politica ottimale, tuttavia si può usare l'apprendimento R che ha buone prestazioni sebbene non una buona convergenza teorica.


1
Qualche idea su cosa dovrei leggere per capire tutti i cinesi nella tua risposta?
thibaut noah,

@thibautnoah Questo è l'IMHO il miglior riferimento per l'apprendimento per rinforzo: un'introduzione di Sutton e Barto. [ people.inf.elte.hu/lorincz/Files/RL_2006/SuttonBook.pdf]
PolBM

grazie amico, probabilmente avrà bisogno di un altro libro di matematica ma immagino sia un inizio;)
thibaut noah,

6

Hai ragione che il fattore di sconto (il cosiddetto - nota che questo è diverso da da TD- ) agisce come una "urgenza di vita" ed è quindi parte del problema - proprio come è in vite umane: alcune persone vivono come se vivessero per sempre; alcune persone vivono come se dovessero morire domani.γλλ


2

TL; DR: i fattori di sconto sono associati agli orizzonti temporali. Gli orizzonti temporali più lunghi hanno una varianza molto maggiore in quanto includono informazioni più irrilevanti, mentre gli orizzonti temporali brevi sono orientati verso guadagni a breve termine.

Il fattore di sconto determina essenzialmente quanto gli agenti dell'apprendimento per rinforzo si preoccupano delle ricompense in un futuro lontano rispetto a quelle nell'immediato futuro. Se , l'agente sarà completamente miope e imparerà solo le azioni che producono una ricompensa immediata. Se , l'agente valuterà ciascuna delle sue azioni in base alla somma totale di tutte le sue ricompense future.γ=0γ=1

Quindi perché non vuoi sempre rendere più alto possibile? Bene, la maggior parte delle azioni non ha ripercussioni di lunga durata. Ad esempio, supponi che il primo giorno di ogni mese decidi di concederti un frullato e devi decidere se otterrai un frullato di mirtilli o un frullato di fragole. In qualità di bravo studente di rinforzo, giudichi la qualità della tua decisione in base alla grandezza dei tuoi premi successivi. Se il tuo orizzonte temporale è molto breve, tieni conto solo delle ricompense immediate, ad esempio quanto è gustoso il tuo frullato. Con un orizzonte temporale più lungo, come poche ore, potresti anche considerare fattori come se hai o meno mal di stomaco. Ma se il tuo orizzonte temporale dura per l'intero mese, allora ogni singola cosa che ti fa sentire bene o male per l'intero meseγprenderà in considerazione il tuo giudizio sull'opportunità o meno di prendere la giusta decisione. Prenderai in considerazione molte informazioni irrilevanti, e quindi il tuo giudizio avrà una varianza enorme e sarà difficile da imparare.

Scegliere un valore particolare di equivale a scegliere un orizzonte temporale. Aiuta a riscrivere la ricompensa scontata di un agente come dove identifico e . Il valore mostra esplicitamente l'orizzonte temporale associato a un fattore di sconto; corrisponde a e qualsiasi ricompensa che è molto più diγG

Gt=Rt+γRt+1+γ2Rt+2+=k=0γkRt+k=Δt=0eΔt/τRt+Δt
γ=e1/τkΔtτγ=1τ=τi passi temporali in futuro vengono soppressi in modo esponenziale. Generalmente dovresti scegliere un fattore di sconto in modo tale che l'orizzonte temporale contenga tutte le ricompense rilevanti per una determinata azione, ma non più.

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.