5

Quale differenza nell'algoritmo fa avere un valore gamma grande o piccolo? Nella mia ottica, purché non sia né 0 né 1, dovrebbe funzionare esattamente allo stesso modo. Dall'altra parte, qualunque sia la gamma che scelgo, sembra che i Qvalues ​​diventino molto vicini allo zero molto rapidamente (ho qui valori dell'ordine di 10^-300 solo in un test rapido). Come fanno le persone a tracciare Qvalues ​​(sto tracciando un (x, y, miglior QValue per quello stato) dato quel problema? Sto cercando di aggirare i logaritmi ma anche allora sembra un po 'imbarazzanteParametri alfa e gamma in QLearning

Inoltre, Non capisco quale sia la ragione alla base dell'have e del parametro alfa nella funzione di aggiornamento di Q Learning, in pratica imposta la grandezza dell'aggiornamento che andremo a fare con la funzione del valore Q. Ho l'impressione che di solito diminuisca Il valore dell'aggiornamento all'inizio dovrebbe avere più importanza di 1000 episodi dopo?

Inoltre, stavo pensando che fosse una buona idea esplorare lo spazio di stato ogni volta che l'agente non vuole fare l'azione golosa sarebbe esplorare qualsiasi stato che abbia ancora uno zer o QValue (questo significa, almeno la maggior parte delle volte, uno stato mai fatto prima), ma non vedo quello riferito in nessuna letteratura. Ci sono degli aspetti negativi in ​​questo? So che questo non può essere usato con (almeno alcune) funzioni di generalizzazione.

Un'altra idea sarebbe quella di mantenere una tabella di stati/azioni visitati e provare a eseguire le azioni che sono state provate meno volte prima in quello stato. Ovviamente questo può essere fatto solo in spazi di stato relativamente piccoli (nel mio caso è sicuramente possibile).

Una terza idea per il tardo processo di esplorazione sarebbe guardare non solo all'azione selezionata alla ricerca dei migliori qvalues ​​ma anche guardare dentro tutte quelle azioni possibili e quello stato, e poi negli altri di quello stato e così .

So che quelle domande sono un po 'non correlate, ma mi piacerebbe sentire le opinioni di persone che hanno lavorato prima con questo e (probabilmente) hanno lottato con alcuni di loro.

+0

Qual è stata la politica? Qual è il problema? Quali sono gli stati? Cosa motiva il lavoro? Che codice hai usato? Hai usato un problema di riferimento per mostrare che il tuo codice funziona? – EngrStudent

risposta

-2

Non ho lavorato con i sistemi esattamente come questo prima, quindi non so quanto sia utile che posso essere, ma ...

Gamma è una misura della tendenza dell'agente per guardare al futuro ricompense future . Più è piccolo, più l'agente tenderà a intraprendere l'azione con la ricompensa maggiore, indipendentemente dallo stato risultante. Gli agenti con gamma più ampia impareranno percorsi lunghi verso grandi ricompense. Come per tutti i valori Q prossimi allo zero, hai provato con una mappa di stato molto semplice (ad esempio, uno stato e due azioni) con gamma = 0? Questo dovrebbe avvicinarsi rapidamente a Q = ricompensa.

L'idea di ridurre alfa è di smorzare le oscillazioni nei valori di Q, in modo che l'agente possa stabilizzarsi in un modello stabile dopo un giovane selvaggio.

Esplorare lo spazio dello stato? Perché non solo iterare su di esso, chiedere all'agente di provare tutto? Non c'è motivo per cui l'agente segua effettivamente una linea di condotta nel suo apprendimento, a meno che non sia questo il punto della tua simulazione. Se l'idea è solo di trovare il modello di comportamento ottimale, regola tutti i Q, non solo quelli più alti lungo un percorso.

+0

Il punto nel fare Q-Learning non è quello di iterare su tutto lo spazio. È proprio per imparare il più velocemente possibile (cioè, avendo spazi di stato giganti, imparando velocemente come esplorarli abbastanza bene per un determinato compito). Se le ideia dovessero scorrere su di esso, allora userei un tipico sistema di ricerca (respiro prima, ricerca profonda, ecc.). Inoltre, non capisco che cosa è il punto di impostazione di un gamma a zero. Farà solo le azioni che portano all'aggiornamento dell'obiettivo. Tutti gli altri saranno uguali a zero. –

8

Da un rinforzo appoggiato maestri candidato:

Alpha è il tasso di apprendimento. Se la ricompensa o la funzione di transizione è stocastica (casuale), allora l'alfa dovrebbe cambiare nel tempo, avvicinandosi allo zero all'infinito. Questo ha a che fare con l'approssimarsi del risultato atteso di un prodotto interno (T (transizione) * R (ricompensa)), quando uno dei due, o entrambi, hanno un comportamento casuale.

Questo fatto è importante notare.

Gamma è il valore di una ricompensa futura. Può influenzare un po 'l'apprendimento e può essere un valore dinamico o statico. Se è uguale a uno, l'agente valuta il premio futuro JUST AS MUCH come ricompensa attuale. Ciò significa che, in dieci azioni, se un agente fa qualcosa di buono, questo è GIUSTO QUANTITATIVO come fare direttamente questa azione. Quindi l'apprendimento non funziona bene ai valori gamma alti.

Al contrario, una gamma di zero farà sì che l'agente valuti solo i premi immediati, che funzionano solo con funzioni di ricompensa molto dettagliate.

anche - come per il comportamento di esplorazione ... non v'è in realtà tonnellate di letteratura su questo. Tutte le tue idee sono state provate al 100%. Vorrei raccomandare una ricerca più dettagliata e persino iniziare a googling Decision Theory e "Policy Improvement".

Solo l'aggiunta di una nota su Alpha: Immaginate di avere una funzione di ricompensa che sputa fuori 1, o pari a zero, per un certo combinata azione statale SA. Ora ogni volta che esegui SA, otterrai 1 o 0. Se mantieni alpha come 1, otterrai valori Q pari a 1 o zero. Se è 0,5, otterrai valori di +0,5 o 0 e la funzione oscillerà sempre tra i due valori per sempre. Tuttavia, se ogni volta che riduci il tuo alfa del 50 percento, ottieni valori come questo. (supponendo che la ricompensa sia ricevuta 1,0,1,0, ...). I tuoi valori Q finiranno per essere, 1,0.5,0.75,0.9,0.8, e alla fine convergeranno un po 'vicino a 0.5. All'infinito sarà 0,5, che è la ricompensa attesa in senso probabilistico.

+0

potresti aggiungere alcuni collegamenti? – EngrStudent

0

Che differenza nell'algoritmo fa avere un valore gamma grande o piccolo?

Le gamme devono corrispondere alle dimensioni dello spazio di osservazione: è necessario utilizzare gamme più grandi (ovvero più vicine a 1) per spazi di grandi dimensioni e gamme più piccole per spazi più piccoli.

un modo di pensare gamma è rappresenta il tasso di decadimento di un premio dal, stato successo finale.