Domanda

Attualmente sto usando Q-Learning per cercare di insegnare a un bot come muoversi in una stanza piena di pareti / ostacoli. Si deve iniziare in qualsiasi luogo in camera e raggiungere lo stato obiettivo (questo potrebbe essere, per la tessera che ha una porta, per esempio). Attualmente quando si vuole passare ad un'altra tessera, andrà a quella tessera, ma pensavo che in futuro mi permetto di aggiungere la possibilità casuale di andare in un'altra tessera, al posto di questo. Può muoversi solo su, giù, destra e sinistra. Raggiungere i rendimenti stato obiettivo +100 e il resto delle azioni produrrà 0.

Sto usando l'algoritmo trovato qui , che può essere visto nella immagine qui sotto.

alt text alt text

Ora, per quanto riguarda questo, ho alcune domande:

  1. Quando si utilizza Q-Learning, un po 'come Le reti neurali, devo fare distinzione tra una fase di apprendimento ed una fase di utilizzo? Voglio dire, sembra che ciò che indicati sulla prima foto è un apprendimento uno e nel seconda immagine un utilizzando uno.
  2. Ho letto da qualche parte che ci vorrebbe un numero infinito di gradini per raggiungere a l'optimum tavolo valori Q. È questo vero? Direi che non è vero, ma io deve essere manca qualcosa qui.
  3. Ho sentito parlare anche di TD (Temporal Le differenze), che sembra essere rappresentate da espressione:

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    

    che per alfa = 1, sembra solo la una prima mostrato in figura. Che cosa differenza fa che rendere gamma, qui?

  4. Ho eseguito in alcune complicazioni se Io cerco una camera molto grande (300x200 pixel, per esempio). Come corre essenzialmente a caso, se la camera è molto grande, allora ci vorrà un sacco di tempo per andare a caso dal primo stato allo stato obiettivo. Che cosa metodi che possono utilizzare per accelerarlo? io pensato che forse avere un tavolo pieno con veri e falsi, per quanto riguarda tutto ciò che ho in questo episodio già in quello stato o no. Se sì, mi piacerebbe disfarsene, se no, mi piacerebbe vai lì. Se fossi già in tutti questi stati, quindi mi piacerebbe andare in un casuale. In questo modo, sarebbe solo come quello che sto facendo ora, sapendo che mi piacerebbe ripetere stati un meno spesso che attualmente faccio.
  5. mi piacerebbe provare qualcosa di diverso la mia tabella di ricerca per Q-valori, così ho stava pensando a usando Neural Reti con back-propagazione per Questo. Io probabilmente provare ad avere un Rete Neurale per ogni azione (su, giù, sinistra, destra), come sembra che sia quello che produce i risultati migliori. Ci sono altri metodi (oltre SVM, che sembrare troppo difficile da attuare me) che ho potuto usare e attrezzo che mi dava buona funzione di fattori Q approssimazione?
  6. Pensi Genetici Algoritmi produrrebbe buoni risultati in questo situazione, utilizzando la matrice Q-Valori come base per questo? Come potrei prova la mia funzione di fitness? Mi dà l'impressione che GA sono generalmente utilizzati per le cose modo più casuale / complesso. Se guardiamo con attenzione noteremo che i fattori Q seguono una tendenza chiara - avere i valori più alti di Q vicino l'obiettivo e quelle inferiori al più lontano sei da loro. Andando a cercare di raggiungere tale conclusione GA probabilmente sarebbe voluto troppo tempo?
È stato utile?

Soluzione

Non sono un esperto sul tema, ma mi prendo una crepa a rispondere direttamente a portata di molte domande
[BTW, dovrei ottenere a più ripetizioni + per ogni domanda! ... Sto scherzando, se ero in "per i SO ripetizioni", mi piacerebbe rimanere chiaro dal pubblicare che otterrà un totale di 20 opinioni con la metà di questi i visitatori che hanno un'idea approssimativa dei concetti a portata di mano]

1) Q-Learning una cosa a due fasi?
Sì, Q-Learning implica due fasi, una fase di apprendimento e di una fase di azione. Come per molti algoritmi di apprendimento automatici è possibile "continuare a imparare", mentre nella fase di azione.

2) numero infinito di passi per una matrice ottimale G? Non so dove la dichiarazione che richiede un numero infinito di cicli di apprendimento per imparare una matrice ottimale Q. Per essere sicuri (e meno che i fattori alfa e gamma sono corretti), l'algoritmo converge, se soltanto ad un tasso possibilmente molto lento. Questo mi spinge a ignorare e commentare il tuo idea di uno spazio 300x200 gioco, e ben ... SI !, per un tale spazio, un dato modello di ricompensa, ci vorrà quello che sembra infinito a ottenere un tavolo Q "ottimale" . Ora, può essere possibile che matematicamente l'algoritmo non raggiunge mai il Nivarna ottimale, ma di soluzioni pratiche, lavorando su l'asintoto è appena sufficiente.

3) Ruolo della gamma in modello TD
Questo indica l'importanza di differire ricompense, su un percorso (qui con il vostro modello, letteralmente), in direzione compensi più elevati. Questo impedisce in generale l'algoritmo di rimanere bloccati in Maximas locali dello spazio soluzione, a costo di rendere l'apprendimento ancora più lento ...

4) Suggerimenti per aiutare con l'apprendimento di una grande labirinto
A rischio di tradire la natura del Q-Learning, è possibile avviare il robot a sempre maggiori distanze dalla meta. Ciò contribuirà a migliorarne la Q Matrix nella zona degli stati che circondano il primo obiettivo, quindi sfruttando questa matrice Q parzialmente imparato come stato iniziale presa, in modo casuale, in un raggio crescenti da porta.

Un altro, più rischioso, l'approccio (e in effetti uno che può smentire ulteriormente la vera natura di Q-Learning), sarebbe quello di cambiare la R Matrix di fornire sempre più alte ricompense, a caso si trovava nei trova ad una distanza decrescenti dalla meta. L'aspetto negativo di questo approccio è che esso può introdurre opportunità di molti Maximas locali nella soluzione spazio, in cui l'algoritmo può rimanere bloccato se il tasso di apprendimento e di altri fattori non sono ottimizzato correttamente.

Entrambi questi approcci, in particolare, quest'ultimo può essere interpretato come un vostro (il designer) "cablaggio" in una soluzione. Altri diranno che questo è solo come modo di introdurre un pizzico di DP nel mix ...

5) Rete neurale (NN) 6) Genetic Algorithm (GA)
Nessun parere circa l'aggiunta di NN o GA nel mix.
Probabilmente ho fatto abbastanza di un pazzo di me stesso con un po 'della dichiarazione di meno-che-matematicamente preciso sopra. ; -)

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