Che cos'è il "replay dell'esperienza" e quali sono i suoi vantaggi?


19

Ho letto DeepMind Atari di Google di carta e sto cercando di capire il concetto di "esperienza replay". L'esperienza replay emerge in molti altri documenti di apprendimento per rinforzo (in particolare, il documento AlphaGo), quindi voglio capire come funziona. Di seguito sono riportati alcuni estratti.

Innanzitutto, abbiamo utilizzato un meccanismo di ispirazione biologica chiamato replay dell'esperienza che si randomizza sui dati, rimuovendo in tal modo le correlazioni nella sequenza di osservazione e attenuando le modifiche nella distribuzione dei dati.

Il documento quindi elabora come segue:

Sebbene esistano altri metodi stabili per l'addestramento delle reti neurali nell'impostazione dell'apprendimento per rinforzo, come la Q-iterazione adattata neurale, questi metodi comportano l'addestramento ripetuto di reti de novo centinaia di iterazioni. Di conseguenza, questi metodi, a differenza del nostro algoritmo, sono troppo inefficienti per essere utilizzati con successo con reti neurali di grandi dimensioni. Parametrizziamo una funzione di valore approssimativo Q(s,a;θi) usando la rete neurale convoluzionale profonda mostrata in Fig. 1, in cui θi sono i parametri (cioè i pesi) della rete Q all'iterazione i . Per eseguire la riproduzione dell'esperienza, memorizziamo le esperienze dell'agenteet=(st,at,rt,st+1) ad ogni passo temporalet in un set di datiDt={e1,,et} . Durante l'apprendimento, applichiamo gli aggiornamenti Q-learning su campioni (o mini-batch) di esperienza(s,a,r,s)U(D), disegnato in modo uniforme a caso dal pool di campioni memorizzati. L'aggiornamento Q-learning all'iterazione i utilizza la seguente funzione di perdita:

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

Che cos'è il replay dell'esperienza e quali sono i suoi vantaggi, in termini di laici?

Risposte:


25

La parte chiave del testo citato è:

Per eseguire la riproduzione dell'esperienza, memorizziamo le esperienze dell'agenteet=(st,at,rt,st+1)

Ciò significa invece di eseguire Q-learning su coppie stato / azione che si verificano durante la simulazione o l'esperienza reale, il sistema memorizza i dati rilevati per [stato, azione, ricompensa, stato_stato] - in genere in una tabella di grandi dimensioni. Si noti che questo non memorizza i valori associati: si tratta dei dati non elaborati da inserire successivamente nei calcoli dei valori di azione.

La fase di apprendimento è quindi logicamente separata dall'acquisizione di esperienza e basata sul prelievo di campioni casuali da questa tabella. Volete ancora intercalare i due processi - recitazione e apprendimento - perché il miglioramento della politica porterà a comportamenti diversi che dovrebbero esplorare azioni più vicine a quelle ottimali e volete imparare da quelli. Tuttavia, puoi dividerlo come preferisci - ad esempio, fai un passo, impara da tre passaggi casuali precedenti, ecc. Gli obiettivi Q-Learning quando usi l'esperienza replay usano gli stessi obiettivi della versione online, quindi non esiste una nuova formula per questo. La formula di perdita fornita è anche quella che useresti per DQN senza esperienza di riproduzione. La differenza è solo quale s, a, r, s ', a' ci si nutre.

In DQN, il team di DeepMind ha anche mantenuto due reti e ha cambiato quale apprendeva e quale si alimentava nelle attuali stime del valore di azione come "bootstrap". Ciò ha contribuito alla stabilità dell'algoritmo quando si utilizza un approssimatore di funzioni non lineare. Questo è ciò che la barra rappresenta in - indica la versione alternativa congelata dei pesi.θi ¯

Vantaggi della riproduzione dell'esperienza:

  • Uso più efficiente dell'esperienza precedente, imparando con essa più volte. Questa è la chiave quando acquisire esperienza nel mondo reale è costosa, puoi sfruttarla appieno. Gli aggiornamenti di Q-learning sono incrementali e non convergono rapidamente, quindi è utile apportare più passaggi con gli stessi dati, soprattutto quando vi è una bassa varianza nei risultati immediati (ricompensa, stato successivo) dato lo stesso stato, coppia di azioni.

  • Migliore comportamento di convergenza durante l'addestramento di un approssimatore di funzioni. In parte questo è perché i dati sono più come IID dati assunto nella maggior parte delle prove di apprendimento di convergenza vigilati.

Svantaggio della riproduzione dell'esperienza:

  • È più difficile utilizzare algoritmi di apprendimento in più passaggi, come Q ( ), che può essere ottimizzato per fornire curve di apprendimento migliori bilanciando tra distorsione (a causa del bootstrap) e varianza (a causa di ritardi e casualità nei risultati a lungo termine ). DQN multi-step con esperienza-replay DQN è una delle estensioni esplorate nel documento Rainbow: Combinare i miglioramenti nell'apprendimento approfondito del rinforzo .λ

L'approccio utilizzato in DQN è brevemente delineato da David Silver in alcune parti di questa lezione video (intorno all'01: 17:00, ma vale la pena vedere sezioni prima di esso). Consiglio di guardare l'intera serie, che è un corso di laurea sull'apprendimento per rinforzo, se hai tempo.


Diciamo che durante l'addestramento siamo in uno stato e prendiamo provvedimenti secondo la politica avida di epsilon e finisci in un altro stato. Quindi ottieni ricompense e il prossimo stato. Qui la ricompensa può essere il punteggio del gioco e gli stati possono essere i modelli di pixel sullo schermo. E poi prendiamo l'errore tra il nostro approssimatore di funzioni e il valore che abbiamo nuovamente ottenuto dalla politica avida usando un approssimatore di funzioni già congelato. Ma con l'esperienza di replay durante l'ottimizzazione del approssimatore prendiamo alcuni set di dati di azioni a stati casuali. Ho ragione ?
Shamane Siriwardhana,

1
@ShamaneSiriwardhana: Sì, penso che tu abbia ragione. Sono gli stessi dati esatti della traiettoria reale, ma invece di apprendere solo dal passaggio più recente, li si salva in una tabella grande e si campiona da quella tabella (di solito più campioni, con un archivio di migliaia di passaggi precedenti tra cui scegliere ). Se hai bisogno di ulteriori chiarimenti, forse fai una domanda sul sito.
Neil Slater,

Sì, ho passato di nuovo il foglio. Dice anche che questo metodo può migliorare anche l'apprendimento off policy. Perché in Q l'apprendimento agisce secondo la politica avida di epsilon ma aggiorna i valori funziona secondo la politica avida. Quindi, ogni volta che i nostri parametri della rete neurale vengono aggiornati dalle statistiche dei mini lotti, cosa che non è importante per quanto riguarda le statistiche esatte del tempo, ma ciò che è accaduto prima aiuta anche a non correlare i dati.
Shamane Siriwardhana,

@Neil Slater, ho esaminato il documento Rainbow e non ho visto alcun commento speciale sull'uso di un trucco speciale per combinare il replay dell'esperienza e il metodo multi-step. Inoltre ho sentito che il metodo multi-step è originariamente impossibile da combinare con il replay dell'esperienza, ma perché non scegliere casualmente n esperienze consecutive invece di 1 dal replay dell'esperienza ma dal replay in modo che tra ogni n-esperienze non siano state trovate correlazioni? Questa esperienza in più passaggi non è ripetuta?
StL

@NeilSlater Perché è "più difficile utilizzare algoritmi di apprendimento in più passaggi"? Cosa intendevi?
Gulzar,
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.