Come possono essere applicati i gradienti politici nel caso di più azioni continue?


11

Trusted Region Policy Optimization (TRPO) e Proximal Policy Optimization (PPO) sono due algoritmi di gradienti di politica all'avanguardia.

Quando si utilizza una singola azione continua, normalmente, si utilizzerà una distribuzione di probabilità (ad esempio, gaussiana) per la funzione di perdita. La versione approssimativa è:

L(θ)=log(P(a1))A,

dove è il vantaggio dei premi, è caratterizzato da e che esce dalla rete neurale come nell'ambiente Pendulum qui: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f /hw4/main.py .AP(a1)μσ2

Il problema è che non riesco a trovare alcun documento su 2+ azioni continue usando gradienti politici (non metodi attore-critici che usano un approccio diverso trasferendo il gradiente dalla funzione Q).

Sai come farlo usando TRPO per 2 azioni continue in ambiente LunarLander ?

Il seguente approccio è corretto per la funzione di perdita gradiente delle politiche?

L(θ)=(logP(a)+logP(a2))A

Risposte:


6

Come hai detto, le azioni scelte dall'attore-critico in genere provengono da una distribuzione normale ed è compito dell'agente trovare la media e la deviazione standard appropriate in base allo stato corrente. In molti casi questa distribuzione è sufficiente perché è necessaria solo 1 azione continua. Tuttavia, poiché domini come la robotica diventano più integrati con l'IA, le situazioni in cui sono richieste 2 o più azioni continue sono un problema crescente.

Esistono 2 soluzioni a questo problema: il primo e il più comune è che per ogni azione continua, c'è un agente separato che impara la propria media monodimensionale e la sua deviazione standard. Parte del suo stato comprende anche le azioni degli altri agenti per dare un contesto a ciò che l'intero sistema sta facendo. Lo facciamo comunemente nel mio laboratorio ed ecco un documento che descrive questo approccio con 3 agenti attore-critico che lavorano insieme per muovere un braccio robotico.

Il secondo approccio consiste nel fare in modo che un agente trovi una distribuzione multivariata (di solito normale) di una politica. Sebbene in teoria, questo approccio potrebbe avere una distribuzione delle politiche più concisa "ruotando" la distribuzione in base alla matrice di varianza, ciò significa che devono essere appresi anche tutti i valori della matrice di varianza. Ciò aumenta il numero di valori che devono essere appresi per avere uscite continue da (media e stddev), a ( significa e una matrice di co-varianza ). Questo inconveniente ha reso questo approccio non così popolare in letteratura.2 n n + n 2 n n × nn2nn+n2nn×n

Questa è una risposta più generale, ma dovrebbe aiutare te e gli altri sui loro problemi correlati.


1
Jaden grazie per l'ottima risposta. 1. Ho provato l'architettura multi-agente, ma non è molto efficiente. Ci vuole molto più tempo per convergere. 2. Ora la distribuzione multivariata sembra ovvia anche a me, grazie.
Evalds Urtans,

1
A seconda dell'applicazione e dell'architettura (se si tratta di una rete profonda), è possibile far sì che gli agenti condividano funzionalità di basso livello e quindi si ramifichino nelle proprie funzioni di valore. Inoltre, avere 1 critico e più attori è anche un modo per aumentare l'architettura.
Jaden Travnik

Al momento vorrei applicare i tuoi suggerimenti a TRPO (solo metodi con gradiente politico), non attore-critico. Non sono molto fiducioso nel trasferimento gradiente da critico ad attore - in molte implementazioni ho visto che sembra che non dovrebbe funzionare anche se converge.
Evalds Urtans,

1
Ci scusiamo per questa domanda noob: come viene applicato nei metodi critico-attore (in cui l'attore può eseguire più azioni continue simultanee), in cui l'attore ha la funzione politica e viene addestrato dal metodo gradiente politico? @JadenTravnik Puoi spiegarlo nella risposta sotto una nuova rubrica?
Gokul NC,
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.