Come adattare i pesi ai valori Q con approssimazione di funzioni lineari


12

Nell'apprendimento per rinforzo, l'approssimazione di funzioni lineari viene spesso utilizzata quando sono presenti ampi spazi di stato. (Quando le tabelle di ricerca diventano impossibili.)

La forma del valore con approssimazione della funzione lineare è data daQ-

Q(S,un')=w1f1(S,un')+w2f2(S,un')+,

dove sono i pesi e sono le caratteristiche.f iwiofio

Le funzionalità sono predefinite dall'utente. La mia domanda è: come vengono assegnati i pesi?

Ho letto / scaricato alcune diapositive di lezione sull'apprendimento con approssimazione della funzione. La maggior parte di essi ha delle diapositive sulla regressione lineare che seguono. Dal momento che sono solo diapositive, tendono ad essere incomplete. Mi chiedo quale sia la connessione / relazione tra i due argomenti.Q-

Risposte:


11

L'approssimazione di una funzione è fondamentalmente un problema di regressione (in senso generale, cioè contrario alla classificazione in cui la classe è discreta), ovvero si cerca di apprendere una mappatura di funzioni dall'input (nel tuo caso f(S,un') ) a un valore reale uscita Q(S,un') . Poiché non abbiamo una tabella completa di tutti i valori di input / output, ma apprendiamo e stimiamo Q(S,un') allo stesso tempo, i parametri (qui: i pesi w ) non possono essere calcolati direttamente dai dati. Un approccio comune qui è usare la discesa gradiente .

Ecco l'algoritmo generale per l'apprendimento di Q(S,un') con l'approssimazione della funzione valore

  • Init parametro-vettore w=(w1,w2,....,wn) in modo casuale (ad esempio in [0,1])
  • Per ogni episodio:

    1. S stato iniziale dell'episodio
    2. un' azione data dalla politicaπ (raccomandare:ε -greedy)
    3. Agire un' , osservare la ricompensa r e il prossimo stato S'
    4. ww+α(r+γ*mun'Xun''Q(S',un'')-Q(S,un'))wQ(S,un')
    5. SS'

    Ripetere 2-5 fino a quando S è terminale

dove ...

  • α[0,1] è il tasso di apprendimento
  • γ[0,1] è il tasso di sconto
  • mun'Xun''Q(S',un'') è l'azioneun'' nello statoS' massimizzaQ(S',un')
  • wQ(S,un')è il gradiente diQ(S,un')inw. Nel suo caso lineare, il gradiente è semplicemente un vettore(f1(S,un'),...,fn(S,un'))

I parametri / pesi-aggiornamento (4 ° passo) possono essere letti in questo modo:

  • (r+γ*mun'Xun''Q(S',un''))-(Q(S,un')) è l'errore tra la previsioneQ(S,un') e il valore "effettivo" perQ(S,un') , che è la ricompensar ottenutoora PLUSl'atteso, premio scontato a seguito della politica avidaseguito γ*mun'Xun''Q(S',un'')
  • Quindi il parametro / peso-vettore viene spostato nella direzione più ripida (dato dal gradiente wQ(S,un') ) dalla quantità dell'errore misurato, regolato da α .

Fonte principale:

Capitolo 8 Approssimazione di valore del libro (raccomandato nel complesso) Apprendimento per rinforzo: un'introduzione di Sutton e Barto (Prima edizione). L'algoritmo generale è stato modificato in quanto viene comunemente utilizzato per calcolare Q(S,un') anziché V(S) . Ho anche lasciato cadere le tracce di ammissibilità e per concentrarmi sulla discesa del gradiente, quindi usando solo backup in una fase

Più riferimenti


2
Link interrotto per Barto & Sutton! Ora qui -> incompleteideas.net/book/the-book.html :) e come ebook incompleteideas.net/book/ebook ma non so dove trovare un file mobi
grisaitis

1
Il gradiente di Q (s, a) non è in relazione al vettore della colonna wa in cui ogni elemento è fi (s, a), invece di essere la somma di tutti i fi come hai detto? L'obiettivo è che ogni peso venga modificato di conseguenza in base al valore della caratteristica a cui si sta moltiplicando.
Miguel Saraiva,

@MiguelSaraiva Sì, risolto. Grazie mille.
Steffen,
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.