Perché Q-learning non converge quando si usa l'approssimazione delle funzioni?


12

L'algoritmo tabellare Q-learning è garantito per trovare la funzione Q ottimale , Q , a condizione che siano soddisfatte le seguenti condizioni (le condizioni di Robbins-Monro ) relative alla frequenza di apprendimento

  1. tαt(s,a)=
  2. tαt2(s,a)<

dove αt(s,a) indica la velocità di apprendimento utilizzata durante l'aggiornamento del valore Q associato allo stato s e all'azione a al momento della fase t , dove 0αt(s,a)<1 è considerato vero, per tutti gli stati s e le azioni a .

Apparentemente, dato che 0αt(s,a)<1 , affinché le due condizioni siano vere, tutte le coppie stato-azione devono essere visitate all'infinito spesso: questo è anche affermato nel libro Apprendimento di rinforzo: un'introduzione , a parte il fatto che questo dovrebbe essere ampiamente conosciuto ed è la logica dietro l'utilizzo della ϵ politiche -greedy (o politiche simili) durante l'allenamento.

Una prova completa che mostra che Q -learning trova la funzione Q ottimale può essere trovata nel documento Convergence of Q-learning: A Simple Proof (di Francisco S. Melo). Usa concetti come la mappatura della contrazione per definire la funzione Q ottimale (vedi anche Cos'è l'operatore Bellman nell'apprendimento del rinforzo? ), Che è un punto fisso di questo operatore di contrazione. Usa anche un teorema (n. 2) per quanto riguarda il processo casuale che converge a 0 , dati alcuni presupposti. (La prova potrebbe non essere facile da seguire se non sei un ragazzo di matematica.)

Se una rete neurale viene utilizzata per rappresentare la funzione Q , le garanzie di convergenza di Q -learning sono ancora valide? Perché Q-learning converge (o no) quando si usa l'approssimazione delle funzioni? Esiste una prova formale di tale non-convergenza dell'apprendimento Q usando l'approssimazione delle funzioni?

Sto cercando diversi tipi di risposte, da quelle che danno solo l'intuizione alla base della non convergenza del Q learning quando si usa l'approssimazione delle funzioni a quelle che forniscono una prova formale (o un collegamento a un documento con una prova formale).


2
Ottima domanda!
John Doucette

Il libro a cui hai fatto riferimento parla di questo problema nel capitolo 11, quindi potresti leggerlo. Inoltre, non credo che ci sia una prova formale del perché questo accada, ma ci sono alcuni esempi che mostrano divergenze anche in ambienti semplici (ad esempio Tsitsiklis e van Roy).
Brale_

Risposte:


8

Ecco una risposta alla descrizione intuitiva:

L'approssimazione della funzione può essere eseguita con qualsiasi funzione parametrizzabile. Considera il problema di uno spazio Q(s,a) dove s è i reali positivi, a è 0 o 1 e la vera funzione Q(s,0)=s2 è Q ( s , 0 ) = s 2 e Q(s,1)=2s2 , per tutti gli stati. Se il tuo approssimatore di funzioni è Q(s,a)=ms+na+b , non esistono parametri che possano rappresentare accuratamente la verafunzioneQ (stiamo cercando di adattare una linea a una funzione quadratica). Di conseguenza, anche se hai scelto un buon tasso di apprendimento e visiti tutti gli stati infinitamente spesso, la tua funzione di approssimazione non converge mai con la verafunzioneQ

Ed ecco un po 'più di dettaglio:

  1. Funzioni approssimative delle reti neurali . Una funzione può essere approssimata in gradi maggiori o minori usando polinomi più o meno complessi per approssimarla. Se hai familiarità con l'approssimazione della serie Taylor, questa idea dovrebbe sembrare abbastanza naturale. In caso contrario, pensa a una funzione come un'onda sinusoidale nell'intervallo [0- π/2 ). Puoi approssimarlo (male) con una linea retta. Puoi approssimarlo meglio con una curva quadratica. Aumentando il grado del polinomio che usiamo per approssimare la curva, possiamo ottenere qualcosa che si adatta alla curva sempre più da vicino.
  2. Le reti neurali sono approssimatori di funzioni universali . Ciò significa che, se si dispone di una funzione, è anche possibile creare una rete neurale sufficientemente profonda o ampia da poter approssimare la funzione creata in modo arbitrariamente preciso. Tuttavia, qualsiasi topologia di rete specifica selezionata non sarà in grado di apprendere tutte le funzioni, a meno che non sia infinitamente ampia o infinitamente profonda. Questo è analogo a come, se scegli i parametri giusti, una linea può adattarsi a due punti qualsiasi, ma non a 3 punti. Se scegli una rete che ha una certa larghezza o profondità finita, posso sempre costruire una funzione che ha bisogno di qualche neurone in più per adattarsi correttamente.

  3. I limiti di Q-learning valgono solo quando la rappresentazione della funzione Q è esatta . Per capire perché, supponi di aver scelto di approssimare la tua funzione Q con un'interpolazione lineare. Se la vera funzione può assumere qualsiasi forma, quindi chiaramente l'errore nella nostra interpolazione può essere reso illimitato semplicemente costruendo una funzione Q simile a XOR e nessuna quantità di tempo o dati extra ci consentirà di ridurre questo errore . Se si utilizza un approssimatore di funzioni e la vera funzione che si tenta di adattare non lo èqualcosa che la funzione può approssimare arbitrariamente bene, quindi il tuo modello non converge correttamente, anche con un tasso di apprendimento e un tasso di esplorazione ben scelti. Usando la terminologia della teoria dell'apprendimento computazionale, potremmo dire che le prove di convergenza per l'apprendimento Q hanno implicitamente supposto che la vera funzione Q sia un membro dello spazio delle ipotesi da cui sceglierai il tuo modello.


Dove possiamo vedere dalla prova che ho citato che "i limiti del Q-learning valgono solo quando la rappresentazione della funzione Q è esatta" è vera?
nbro

Quindi, possiamo approssimare qualsiasi funzione (ragionevole) usando una rete neurale (architettura), ma, data un'architettura di rete neurale fissa (che dobbiamo scegliere all'inizio della fase di addestramento del Q -learning), Q -learning potrebbe non convergere usando quella specifica architettura Z , perché Z potrebbe non essere abbastanza espressivo per rappresentare Q . ZQQZZQ
nbro

@nbro La dimostrazione non lo dice esplicitamente, ma presuppone una rappresentazione esatta della funzione Q (ovvero, che i valori esatti vengono calcolati e memorizzati per ogni coppia stato / azione). Per spazi di stato infiniti, è chiaro che questa rappresentazione esatta può essere infinitamente grande nel peggiore dei casi (esempio semplice: let Q (s, a) = sth digit of pi). Il tuo secondo commento lo riassume bene. Più formalmente, se la vera ipotesi Q * non è un elemento dello spazio di ipotesi H da cui si sta selezionando un modello, non è possibile convergere in Q *, anche con tempo o dati infiniti.
John Doucette

4

Per quanto ne so, è ancora un po 'un problema aperto ottenere una comprensione veramente chiara e formale esattamente del perché / quando abbiamo una mancanza di convergenza - o, peggio, a volte un pericolo di divergenza. È in genere attribuito alla "triade mortale" (vedi 11.3 della seconda edizione del libro di Sutton e Barto), la combinazione di:

  1. Approssimazione della funzione, AND
  2. Q
  3. Q

Questo ci dà solo una descrizione (possibilmente non esaustiva) di casi in cui abbiamo una mancanza di convergenza e / o un pericolo di divergenza, ma non ci dice ancora perché ciò avvenga in quei casi.


Q

Personalmente, penso che questa intuizione aiuta a capire perché l'algoritmo non può garantire la convergenza alla soluzione ottimale, ma mi aspetto comunque intuitivamente che sia in grado di "convergere" in qualche soluzione "stabile" che è la migliore approssimazione possibile data le restrizioni inerenti alla rappresentazione della funzione scelta. In effetti, questo è ciò che osserviamo in pratica quando passiamo alla formazione sulla politica (ad esempio Sarsa), almeno nel caso di approssimatori di funzioni lineari.


Q(s,a)(s,a)Q, si aggiornano generalmente verso la "direzione" corretta. Intuitivamente, ciò significa che, nell'impostazione tabellare, nell'aspettativa ripareremo lentamente, gradualmente, eventuali errori in qualsiasi voce isolata, senza danneggiare potenzialmente altre voci.

Q(s,a)(s,a)Q


maxmax

Q(s,a)

Q(s,a)Q(s,a)+α[maxaQ(s,a)Q(s,a)].

maxaQ(s,a)QQ(s,a)maxaQ(s,a)


Infine, un altro documento (anche più recente) che sospetto sia rilevante per questa domanda è Diagnosi dei colli di bottiglia negli algoritmi di apprendimento approfondito del Q , ma sfortunatamente non ho ancora avuto il tempo di leggerlo in modo sufficientemente dettagliato e sintetizzarlo adeguatamente.


1
Ma l'uso di una rete neurale non è dovuto anche al presupposto che alcuni stati siano molto simili a ciascuno? Stati molto simili (ad es. Fotogrammi successivi in ​​un gioco) spesso hanno azioni ottimali molto simili (o uguali), quindi non sono sicuro che la spiegazione nel primo documento sia valida (dovrei leggerla per comprendere appieno i loro punti principali).
nbro

1
@nbro Sì, spesso la generalizzazione è considerata un vantaggio piuttosto che un problema proprio per questo motivo. Se funziona come "inteso", può essere molto potente e accelerare l'apprendimento perché trasferiamo tutto ciò che impariamo in stati / azioni simili, piuttosto che apprendere per ogni stato / azione leggermente diverso in isolamento. Ma può anche portare a problemi, soprattutto in teoria ma anche in pratica. È come una "spada a doppio taglio" suppongo.
Dennis Soemers,

1
@DennisSoemers Risposta super interessante. Il punto di apprendimento Q non delirante ha molto senso. Trovare la funzione Q corretta significa trovare un punto fisso per la regola di aggiornamento, ma sembra che l'approssimazione della funzione possa portare ad aggiornamenti ciclici in Q-learning se ci pensi in questo modo.
John Doucette
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.