Domanda

Immaginiamo di avere un piano (x,y) su cui un robot può muoversi.Ora definiamo il centro del nostro mondo come lo stato obiettivo, il che significa che daremo una ricompensa di 100 al nostro robot una volta raggiunto quello stato.

Ora, diciamo che ci sono 4 stati (che chiamerò A,B,C,D) che possono portare allo stato obiettivo.

La prima volta che siamo in A e andiamo allo stato obiettivo, aggiorneremo la nostra tabella QValues ​​come segue:

Q(state = A, action = going to goal state) = 100 + 0

Può succedere una delle 2 cose.Posso terminare l'episodio qui e iniziarne uno diverso in cui il robot deve ritrovare lo stato obiettivo, oppure posso continuare a esplorare il mondo anche dopo aver trovato lo stato obiettivo.Se provo a farlo, vedo però un problema.Se sono nello stato obiettivo e torno allo stato A, il valore Q sarà il seguente:

Q(state = goalState, action = going to A) = 0 + gamma * 100

Ora, se provo a tornare nuovamente allo stato obiettivo da A:

Q(state = A, action = going to goal state) = 100 + gamma * (gamma * 100)

Ciò significa che se continuo a farlo, poiché 0 <= gamma <= 0, entrambi i valori q aumenteranno per sempre.

È questo il comportamento previsto di QLearning?Sto facendo qualcosa di sbagliato?Se questo è il comportamento previsto, ciò non può causare problemi?So che, probabilisticamente, tutti e 4 gli stati (A, B, C e D) cresceranno allo stesso ritmo, ma anche così mi dà un po' fastidio vederli crescere per sempre.

L'idea di consentire all'agente di continuare l'esplorazione anche dopo aver trovato l'obiettivo ha a che fare con il fatto che quanto più si avvicina allo stato dell'obiettivo, tanto più è probabile che si trovi in ​​stati che possono essere aggiornati al momento.

È stato utile?

Soluzione

Questo è come previsto, poiché la stima Q non è quella prevista ricompensa, è quello previsto ritorno, che è l'importo della ricompensa (possibilmente scontato tramite gamma) che mi aspetterei di ottenere da quello stato/azione se iniziassi da lì e seguissi la mia politica fino alla fine dell'episodio o per sempre.

Se mi dai alcuni pulsanti e uno di questi produce sempre $ 1 quando viene premuto, la vera ricompensa attesa per aver premuto quel pulsante è $ 1.Ma il vero rendimento atteso per aver premuto il pulsante è di infiniti dollari, supponendo che io abbia un numero infinito di possibilità di premere un pulsante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top