le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- easy-rl Versione PDF organizzazione note P5, P10 - P12
- supplemento comparativo joyrl P11-P13
- Organizzazione dei documenti OpenAI ⭐ https://spinningup.openai.com/en/latest/index.html
Download dell'ultima versione PDF
Indirizzo: https://github.com/datawhalechina/easy-rl/releases
Indirizzo nazionale (consigliato per i lettori nazionali):
Link: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw Codice di estrazione: us6a
Link alla versione online di easy-rl (per copiare il codice)
Link di riferimento 2: https://datawhalechina.github.io/joyrl-book/
altro:
[Link al record Errata]
——————
5. Nozioni di base sull'apprendimento per rinforzo profondo ⭐️
Contenuti open source: https://linklearner.com/learn/summary/11
——————————
Strategia identica: l'agente da apprendere e l'agente che interagisce con l'ambiente sono lo stesso.
Strategie eterogenee: l'agente che apprende e l'agente che interagisce con l'ambiente sono diversi
Gradiente politico: richiede molto tempo per campionare i dati
stessa strategia ⟹ Campionamento di importanza ~~~overset{Campionamento di importanza}{Longrightarrow}~~~ ⟹campionamento di importanza strategie diverse
PPO: evitare due distribuzioni troppo diverse. stesso algoritmo strategico
1. Elementi di ottimizzazione originali J ( θ , θ ′ ) J(theta,theta^primo)J(θ,θ′)
2. Elementi di vincolo: θ-tetaθ E θ ′ theta^primoθ′ La divergenza KL dell'azione di uscita ( θ-tetaθ E θ ′ theta^primoθ′ Più sono simili, meglio è)
Il PPO ha un predecessore: l'ottimizzazione della politica della regione fiduciaria (TRPO)
TRPO è difficile da gestire perché tratta il vincolo di divergenza KL come un vincolo aggiuntivo e non è inserito nella funzione obiettivo, quindi è difficile da calcolare. Pertanto, generalmente utilizziamo PPO anziché TRPO. Le prestazioni di PPO e TRPO sono simili, ma PPO è molto più semplice da implementare rispetto a TRPO.
Divergenza KL: distanza d'azione.Distribuzione della probabilità di eseguire un'azione distanza.
Esistono due varianti principali dell'algoritmo PPO: la penalità di ottimizzazione della politica prossimale (penalità PPO) e il ritaglio di ottimizzazione della politica prossimale (PPO-clip).
——————————
P10 Problema di scarsa ricompensa
1. Premi di progettazione. Richiede conoscenza del dominio
Che ne dici di assegnare la ricompensa finale a ciascuna azione rilevante?
2. Curiosità
Modulo curiosità intrinseca (ICM)
accedere: a , st a_t,s_tUNT,ST
Produzione: s ^ t + 1 cappello s_{t+1}S^T+1
Il valore previsto della rete s ^ t + 1 cappello s_{t+1}S^T+1 con vero valore punto + 1 punto_{t+1}ST+1 Più sono dissimili, più rti r_t^iRTioooooooooooooooooooooo Il più grande
rti r_t^iRTioooooooooooooooooooooo : Quanto più difficile è prevedere lo stato futuro, tanto maggiore sarà la ricompensa per l’azione. Incoraggiare l'avventura e l'esplorazione.
estrattore di funzionalità
Rete 2:
Ingresso: vettore ϕ ( st ) {bm phi}(s_{t})ϕ(ST) E ϕ ( st + 1 ) {bm phi}(s_{t+1})ϕ(ST+1)
Prevedere le azioni un ^ cappello unUN^ Quanto più ci si avvicina all'azione reale, tanto meglio è.
3. Corso di studio
Facile -> Difficile
Apprendimento del curriculum inverso:
Partendo dallo stato finale più ideale [lo chiamiamo stato dell'oro], vai aTrova lo stato più vicino allo stato d'oro Come stato "ideale" graduale che desideri che l'agente raggiunga. Naturalmente, in questo processo rimuoveremo intenzionalmente alcuni stati estremi, cioè stati troppo facili o troppo difficili.
4. Apprendimento per rinforzo gerarchico (HRL)
La strategia dell'agente è divisa in strategie di alto livello e strategie di basso livello. La strategia di alto livello determina come eseguire la strategia di basso livello in base allo stato attuale.
————————
P11 Apprendimento per imitazione
Non sono sicuro della scena della ricompensa
Apprendimento per imitazione (IL)
imparare dalla dimostrazione
Apprendimento in apprendistato
imparare guardando
Ci sono ricompense chiare: giochi da tavolo, videogiochi
Impossibile dare ricompense chiare: chatbot
Raccogli dimostrazioni di esperti: registrazioni di guida umana, conversazioni umane
Al contrario, che tipo di funzione di ricompensa svolge l’esperto per queste azioni?
L’apprendimento per rinforzo inverso lo èPer prima cosa trova la funzione di ricompensa, dopo aver trovato la funzione di ricompensa, utilizzare l'apprendimento per rinforzo per trovare l'attore ottimale.
Tecnologia di apprendimento per imitazione della terza persona
————————
P12 Gradiente politico deterministico profondo (DDPG)
Usa la strategia di riproduzione dell'esperienza
Analisi dell'esperimento di ablazione [metodo delle variabili controllate].ogni vincoloincidere sull’esito della battaglia.
gioia:
bisognosocertezzastrategia eazione continuaSotto la premessa dello spazio, questo tipo di algoritmo sarà un algoritmo di base relativamente stabile.
DQN per spazi di azione continua
Algoritmo del gradiente di politica deterministica profonda (DDPG)
Il meccanismo di riproduzione dell'esperienza può ridurre la correlazione tra i campioni, migliorare l'utilizzo efficace dei campioni e aumentare la stabilità dell'addestramento.
discordanza:
1. Non può essere utilizzato nello spazio azione discreto
2、Altamente dipendente dagli iperparametri
3. Condizioni iniziali altamente sensibili. Influisce sulla convergenza e sulle prestazioni dell'algoritmo
4. È facile cadere nell'ottimo locale.
Il vantaggio dell'aggiornamento soft è che è più fluido e lento, il che può evitare shock causati da aggiornamenti del peso troppo rapidi e ridurre il rischio di divergenza dell'allenamento.
Algoritmo del gradiente di politica deterministica a doppio ritardo
Tre miglioramenti: rete Double Q, aggiornamento ritardato, regolarizzazione del rumore
Rete Doppia Q : Due reti Q, scegli quella con il valore Q più piccolo. Affrontare il problema della sovrastima del valore Q e migliorare la stabilità e la convergenza dell'algoritmo.
Aggiornamento ritardato: lascia che la frequenza di aggiornamento dell'attore sia inferiore alla frequenza di aggiornamento della critica
Il rumore è più simile a aRegolarizzazionein modo cheaggiornamento della funzione valoreDi piùliscio
OpenAI Gym Library_Pendulum_TD3
Collegamento all'interfaccia del documento OpenAI su TD3
L'algoritmo PPO più comunemente utilizzato nell'apprendimento per rinforzo
Discreto + continuo
Parametri veloci e stabili, facili da regolare
algoritmo di base
PPP indeciso
In pratica, i vincoli di clip vengono generalmente utilizzati perché sono più semplici, hanno costi computazionali inferiori e producono risultati migliori.
L'algoritmo fuori policy può farlosfruttare l’esperienza storica, generalmente utilizza la riproduzione dell'esperienza per archiviare e riutilizzare l'esperienza precedente,L'efficienza nell'utilizzo dei dati è elevata。
PPO è un algoritmo on-policy
——————————————————
Documentazione OpenAI
Collegamento all'interfaccia di arXiv del documento: Algoritmi di ottimizzazione delle politiche prossimali
PPO: algoritmo on-policy, adatto a spazi di azione discreti o continui.Possibile ottimo locale
La motivazione per il PPO è la stessa del TRPO: come sfruttare i dati esistentiFai il passo di miglioramento più grande possibile nella tua strategia, senza modificarlo troppo e causare accidentalmente un calo delle prestazioni?
TRPO tenta di risolvere questo problema con un sofisticato approccio di secondo ordine, mentre PPO è un approccio di primo ordine che utilizza altri trucchi per mantenere la nuova strategia vicina a quella vecchia.
Il metodo PPO è molto più semplice da implementare e, empiricamente, funziona almeno altrettanto bene del TRPO.
Esistono due varianti principali del PPO: PPO-Penalty e PPO-Clip.
Algoritmo: PPO-Clip
1: Input: parametri iniziali della strategia θ 0 theta_0θ0, parametri della funzione valore iniziale ϕ 0 phi_0ϕ0
2: per k = 0 , 1 , 2 , … fai {bf per} ~ k=0,1,2,punti~ {bf fai}per K=0,1,2,… Fare:
3: ~~~~~~ Eseguendo la politica nell’ambiente π k = π ( θ k ) pi_k=pi(theta_k)πK=π(θK) Raccogli il set di traiettorie D k = { τ i } {cal D}_k={tau_i}DK={τioooooooooooooooooooooo}
4: ~~~~~~ Calcola i premi (rewards-to-go) R ^ che R_t~~~~~R^T ▢ R ^ che R_tR^T regole di calcolo
5: ~~~~~~ Stima del vantaggio di calcolo, basata sulla funzione del valore corrente V ϕ k V_{phi_k}EϕK Di Un ^ che A_tUN^T (Utilizzare qualsiasi metodo di stima della dominanza) ~~~~~ ▢ Quali sono gli attuali metodi di stima dei vantaggi?
6: ~~~~~~ Aggiorna la policy massimizzando la funzione obiettivo PPO-Clip:
~~~~~~~~~~~
θ k + 1 = arg max θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T min ( π θ ( at ∣ st ) π θ k ( at ∣ st ) A π θ k ( st , at ) , g ( ϵ , A π θ k ( st , at ) ) ) ~~~~~~~~~~~~theta_{k+1}=argmaxlimits_thetafrac{1}{|{cal D}_k|T}sumlimits_{tauin{cal D}_k}sumlimits_{t=0}^TminBig(frac{pi_{theta} (a_t|s_t)}{pi_{theta_k}(a_t|s_t)}A^{pi_{theta_k}}(s_t,a_t),g(epsilon,A^{pi_{theta_k}}(s_t,a_t))Grande) θK+1=essoGθmassimo∣DK∣T1τ∈DK∑T=0∑Tminimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(πθK(UNT∣ST)πθ(UNT∣ST)UNπθK(ST,UNT),G(ϵ,UNπθK(ST,UNT))) ~~~~~ ▢ Come determinare la formula di aggiornamento della strategia?
~~~~~~~~~~~
~~~~~~~~~~~ π θ k pi_{theta_k}πθK : Vettore dei parametri di strategia prima dell'aggiornamento. Campionamento di importanza. Campionamento da vecchie strategie.
~~~~~~~~~~~
~~~~~~~~~~~ Ascesa stocastica generale + Adam
7: ~~~~~~ errore quadratico mediofunzione del valore adattato di regressione:
~~~~~~~~~~~
ϕ k + 1 = arg min ϕ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T ( V ϕ ( st ) − R ^ t ) 2 ~~~~~~~~~~~phi_{k+1}=arg minlimits_phifrac{1}{|{cal D}_k|T}sumlimits_{tauin{cal D}_k}sumlimits_{t=0}^TBig(V_phi(s_t)-hat R_tBig)^2 ϕK+1=essoGϕminimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo∣DK∣T1τ∈DK∑T=0∑T(Eϕ(ST)−R^T)2
~~~~~~~~~~~
~~~~~~~~~~~ Discesa generale del gradiente
8: fine per bf fine ~perFINE per
~~~~~~~~~~~~
$dots$
… ~~~puntini …
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=sinistra{(1+ϵ)UN UN≥0(1−ϵ)UNUN<0Giusto. G(ϵ,UN)={(1+ϵ)UN (1−ϵ)UNUN≥0UN<0
nella cartaStima del vantaggio:
A ^ t = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) ⏟ R ^ t ? ? ? che A_t=-V(s_t)+underbrace{r_t+gamma r_{t+1}+cdots+gamma^{T-t+1}r_{T-1}+gamma^{Tt}V(s_T)}_{textcolor{blue}{che R_t???}}UN^T=−E(ST)+R^T??? RT+γRT+1+⋯+γT−T+1RT−1+γT−TE(ST)
Fare Δ t = rt + γ V ( st + 1 ) − V ( st ) Delta_t =r_t+gamma V(s_{t+1})-V(s_t)ΔT=RT+γV(ST+1)−E(ST)
Ma rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t=Delta_t - gamma V(s_{t+1})+V(s_t)RT=ΔT−γV(ST+1)+E(ST)
Sostituire Un ^ che A_tUN^T espressione
A ^ t = − V ( st ) + rt + γ rt + 1 + γ 2 rt + 2 + ⋯ + γ T − tr T − 2 + γ T − t + 1 r T − 1 + γ T − t V ( s T ) = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) = − V ( st ) + Δ t − γ V ( st + 1 ) + V ( st ) + γ ( Δ t + 1 − γ V ( st + 2 ) + V ( st + 1 ) ) + γ 2 ( Δ t + 2 − γ V ( st + 3 ) + V ( st + 1 ) ) + ⋯ + γ T − t ( Δ T − t − γ V ( s T − t + 1 ) + V ( s T − t ) ) + γ T − t + 1 ( Δ T − 1 − γ V ( s T ) + V ( s T − 1 ) ) + γ T − t V ( s T ) = Δ t + γ Δ t + 1 + γ 2 Δ t + 2 + ⋯ + γ T − t Δ T − t + γ T − t + 1 Δ T − 1ˆUNT=−E(ST)+RT+γRT+1+γ2RT+2+⋯+γT−TRT−2+γT−T+1RT−1+γT−TE(ST)=−E(ST)+RT+γRT+1+⋯+γT−T+1RT−1+γT−TE(ST)=−E(ST)+ ΔT−γE(ST+1)+E(ST)+ γ(ΔT+1−γE(ST+2)+E(ST+1))+ γ2(ΔT+2−γE(ST+3)+E(ST+1))+ ⋯+ γT−T(ΔT−T−γE(ST−T+1)+E(ST−T))+ γT−T+1(ΔT−1−γE(ST)+E(ST−1))+ γT−TE(ST)=ΔT+γΔT+1+γ2ΔT+2+⋯+γT−TΔT−T+γT−T+1ΔT−1 UN^T=−E(ST)+RT+γRT+1+γ2RT+2+⋯+γT−TRT−2+γT−T+1RT−1+γT−TE(ST)=−E(ST)+RT+γRT+1+⋯+γT−T+1RT−1+γT−TE(ST)=−E(ST)+ ΔT−γV(ST+1)+E(ST)+ γ(ΔT+1−γV(ST+2)+E(ST+1))+ γ2(ΔT+2−γV(ST+3)+E(ST+1))+ ⋯+ γT−T(ΔT−T−γV(ST−T+1)+E(ST−T))+ γT−T+1(ΔT−1−γV(ST)+E(ST−1))+ γT−TE(ST)=ΔT+γΔT+1+γ2ΔT+2+⋯+γT−TΔT−T+γT−T+1ΔT−1
Il ritaglio agisce come regolarizzatore rimuovendo l’incentivo per cambiamenti drastici nella politica.iperparametri ϵ epsilonϵ Corrisponde alla distanza tra la nuova strategia e la vecchia strategia。
È ancora possibile che questo tipo di ritaglio alla fine si traduca in una nuova strategia lontana dalla vecchia strategia. Nell'implementazione qui utilizziamo un metodo particolarmente semplice:Smettila presto . Se la divergenza media KL della nuova politica rispetto alla vecchia supera una soglia, interrompiamo l'esecuzione del passo del gradiente.
Collegamento di derivazione semplice della funzione obiettivo PPO
La funzione obiettivo di PPO-Clip è:
~
L θ k CLIP ( θ ) = E s , a ∼ θ k [ min ( π θ ( a ∣ s ) π θ k ( a ∣ s ) A θ k ( s , a ) , clip ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 − ϵ , 1 + ϵ ) A θ k ( s , a ) ) ] L^{rm CLIP}_{theta_k}(theta)=underset{s, asimtheta_k}{rm E}Bigg[minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}A^{theta_k}(s, a), {rm clip}Big(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)},1-epsilon, 1+epsilonBig)A^{theta_k}(s, a)Bigg)Bigg]LθKCLIP(θ)=S,UN∼θKE[minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(πθK(UN∣S)πθ(UN∣S)UNθK(S,UN),clip(πθK(UN∣S)πθ(UN∣S),1−ϵ,1+ϵ)UNθK(S,UN))]
~
$underset{s, asimtheta_k}{rm E}$
E s , a ∼ θ k ~~~sottoinsieme{s, asimtheta_k}{rm E} S,UN∼θKE
~
NO. ciaoK Parametri della strategia per le iterazioni θ k theta_kθK, ϵ epsilonϵ è un piccolo iperparametro.
impostare ϵ ∈ ( 0 , 1 ) epsilonin(0,1)ϵ∈(0,1), definizione
F ( r , A , ϵ ) ≐ min ( r A , clip ( r , 1 − ϵ , 1 + ϵ ) A ) F(r,A,epsilon)doteqminBigg(rA,{rm clip}(r,1-epsilon,1+epsilon)ABigg)F(R,UN,ϵ)≐minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(RUN,clip(R,1−ϵ,1+ϵ)UN)
Quando A ≥ 0 Etàq0UN≥0
F ( r , UN , ϵ ) = min ( r UN , clip ( r , 1 - ϵ , 1 + ϵ ) UN ) = UN min ( r , clip ( r , 1 - ϵ , 1 + ϵ ) ) = UN min ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 - ϵ , 1 + ϵ ) 1 - ϵ r ≤ 1 - ϵ } ) = UN { min ( r , 1 + ϵ ) r ≥ 1 + ϵ min ( r , r ) r ∈ ( 1 - ϵ , 1 + ϵ ) min ( r , 1 - ϵ ) r ≤ 1 - ϵ } = UN { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) rr ≤ 1 − ϵ } Secondo l'intervallo sul lato destro = A min ( r , 1 + ϵ ) = min ( r A , ( 1 + ϵ ) A )inizio{allineato}F(r,A,epsilon)&=minBigg(rA,{rm clip}(r,1-epsilon,1+epsilon)ABigg)\ &=AminBigg(r,{rm clip}(r,1-epsilon,1+epsilon)Bigg)\ &=AminBigg(r,sinistra{inizio{allineato}&1+epsilon~~&rgeq1+epsilon\ &r &rin(1-epsilon,1+epsilon)\ &1-epsilon &rleq1-epsilon\ fine{allineato}destra}Bigg)\ &=Asinistra{minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimodestra}\ &=Asinistra{right}~~~~~textcolor{blue}{secondo l'intervallo a destra}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) end{aligned} F(R,UN,ϵ)=minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(RUN,clip(R,1−ϵ,1+ϵ)UN)=UNminimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(R,clip(R,1−ϵ,1+ϵ))=UNminimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(R,⎩ ⎨ ⎧1+ϵ R1−ϵR≥1+ϵR∈(1−ϵ,1+ϵ)R≤1−ϵ⎭ ⎬ ⎫)=UN⎩ ⎨ ⎧minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(R,1+ϵ) minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(R,R)minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(R,1−ϵ)R≥1+ϵR∈(1−ϵ,1+ϵ)R≤1−ϵ⎭ ⎬ ⎫=UN⎩ ⎨ ⎧1+ϵ RRR≥1+ϵR∈(1−ϵ,1+ϵ)R≤1−ϵ⎭ ⎬ ⎫ Secondo l'intervallo a destra=UNminimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(R,1+ϵ)=minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(RUN,(1+ϵ)UN)
~
Quando Un < 0 Un < 0UN<0
F ( r , UN , ϵ ) = min ( r UN , clip ( r , 1 - ϵ , 1 + ϵ ) UN ) = UN max ( r , clip ( r , 1 - ϵ , 1 + ϵ ) ) = UN max ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 - ϵ , 1 + ϵ ) 1 - ϵ r ≤ 1 - ϵ } ) = UN { max ( r , 1 + ϵ ) r ≥ 1 + ϵ max ( r , r ) r ∈ ( 1 - ϵ , 1 + ϵ ) max ( r , 1 - ϵ ) r ≤ 1 - ϵ } = UN { r r ≥ 1 + ϵ rr ∈ ( 1 - ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } Secondo l'intervallo sul lato destro = A max ( r , 1 − ϵ ) = min ( r A , ( 1 − ϵ ) A )destra}Bigg)\ &=Asinistra{destra}\ &=Asinistra{destra}~~~~~textcolor{blue}{secondo l'intervallo a destra}\ &=Amax(r, 1-epsilon)\ &=textcolor{blue}{min}Bigg(rA,(1-epsilon) ABigg) fine{allineato} F(R,UN,ϵ)=minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(RUN,clip(R,1−ϵ,1+ϵ)UN)=UNMUNX(R,clip(R,1−ϵ,1+ϵ))=UNmassimo(R,⎩ ⎨ ⎧1+ϵ R1−ϵR≥1+ϵR∈(1−ϵ,1+ϵ)R≤1−ϵ⎭ ⎬ ⎫)=UN⎩ ⎨ ⎧massimo(R,1+ϵ) massimo(R,R)massimo(R,1−ϵ)R≥1+ϵR∈(1−ϵ,1+ϵ)R≤1−ϵ⎭ ⎬ ⎫=UN⎩ ⎨ ⎧R R1−ϵR≥1+ϵR∈(1−ϵ,1+ϵ)R≤1−ϵ⎭ ⎬ ⎫ Secondo l'intervallo a destra=UNmassimo(R,1−ϵ)=MiooooooooooooooooooooooN(RUN,(1−ϵ)UN)
~
Riassumendo: definibile g(ϵ, A) g(epsilon,A)G(ϵ,UN)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=sinistra{Giusto. G(ϵ,UN)={(1+ϵ)UN (1−ϵ)UNUN≥0UN<0
Perché questa definizione impedisce alla nuova strategia di allontanarsi troppo dalla vecchia strategia?
I metodi di campionamento per importanza effettiva richiedono nuove strategie π θ ( a ∣ s ) pi_theta(a|s)πθ(UN∣S) e vecchie strategie π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθK(UN∣S) La differenza tra le due distribuzioni non può essere troppo grande
1. Quando il vantaggio è positivo
L(s,a,θk,θ) = min(πθ(a∣s)πθk(a∣s), 1 + ϵ) Aπθk(s,a) L(s,a,theta_k, theta)=minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1+epsilonBigg)A^{pi_{theta_k}}(s,a)L(S,UN,θK,θ)=minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimo(πθK(UN∣S)πθ(UN∣S),1+ϵ)UNπθK(S,UN)
Funzione vantaggio: trova una determinata coppia stato-azione con più ricompense -> aumenta il peso della coppia stato-azione.
Quando una coppia stato-azione (s, un) (s, un)(S,UN) è positivo, allora se l'azione aaUN ha più probabilità di essere eseguito, cioè se π θ ( a ∣ s ) pi_theta(a|s)πθ(UN∣S) Aumenta e l'obiettivo aumenterà.
min in questa voce limita la funzione obiettivo ad aumentare solo fino a un determinato valore
una volta π θ ( a ∣ s ) > ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)>(1+epsilon)pi_{theta_k}(a|s)πθ(UN∣S)>(1+ϵ)πθK(UN∣S), trigger minimi, limitando il valore di questo elemento a ( 1 + ϵ ) π θ k ( a ∣ s ) (1+epsilon)pi_{theta_k}(a|s)(1+ϵ)πθK(UN∣S)。
la nuova politica non trae alcun vantaggio dall'allontanarsi molto dalla vecchia.
La nuova strategia non trarrà beneficio dall’abbandono della vecchia strategia.
2. Quando il vantaggio è negativo
L(s,a,θk,θ) = max (πθ(a∣s)πθk(a∣s), 1−ϵ) Aπθk(s,a) L(s,a,theta_k, theta)=maxBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1-epsilonBigg)A^{pi_{theta_k}}(s,a)L(S,UN,θK,θ)=massimo(πθK(UN∣S)πθ(UN∣S),1−ϵ)UNπθK(S,UN)
Quando una coppia stato-azione (s, un) (s, un)(S,UN) Il vantaggio è negativo, quindi se l'azione aaUN è ancora meno probabile, cioè se π θ ( a ∣ s ) π_theta(a|s)πθ(UN∣S) diminuire, la funzione obiettivo aumenterà. Ma il massimo in questo termine limita quanto la funzione obiettivo può essere aumentata.
una volta π θ ( a ∣ s ) < ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)<(1-epsilon)pi_{theta_k}(a|s)πθ(UN∣S)<(1−ϵ)πθK(UN∣S), trigger massimi, limitando il valore di questo elemento a ( 1 − ϵ ) π θ k ( a ∣ s ) (1-epsilon)pi_{theta_k}(a|s)(1−ϵ)πθK(UN∣S)。
Ancora una volta: la nuova politica non trae vantaggio dall’allontanarsi molto dalla vecchia politica.
La nuova strategia non trarrà beneficio dall’abbandono della vecchia strategia.
Anche se a volte DDPG può raggiungere prestazioni eccellenti, spesso è instabile quando si tratta di iperparametri e altri tipi di ottimizzazione.
Una modalità di errore comune del DDPG è che la funzione Q appresa inizia a sovrastimare significativamente il valore Q, causando quindi l'interruzione della policy perché sfrutta l'errore nella funzione Q.
Twin Delayed DDPG (TD3) è un algoritmo che risolve questo problema introducendo tre tecniche chiave:
1、Doppio Q-Learning troncato。
2、Ritardo nell'aggiornamento delle norme。
3. Perequazione della strategia target.
TD3 è un algoritmo fuori policy; può essere utilizzato solo concontinuoL'ambiente dello spazio d'azione.
Algoritmo: TD3
Utilizza parametri casuali θ 1 , θ 2 , ϕ theta_1, theta_2, phiθ1,θ2,ϕ Inizializza la rete critica Q θ 1 , Q θ 2 Q_{theta_1},Q_{theta_2}Qθ1,Qθ2e rete di attori π ϕ pi_phiπϕ
Inizializza la rete di destinazione θ 1 ′ ← θ 1 , θ 2 ′ ← θ 2 , ϕ ′ ← ϕ theta_1^primeleftarrowtheta_1, theta_2^primeleftarrowtheta_2, phi^primeleftarrow phiθ1′←θ1,θ2′←θ2,ϕ′←ϕ
Inizializza il set di buffer di riproduzione B caloria BB
per t = 1 a T {bf per}~t=1 ~{bf a} ~Tper T=1 A T :
~~~~~~ Seleziona l'azione con rumore di esplorazione a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)UN∼πϕ(S)+ϵ, ϵ∼N(0,σ), ricompensa per l'osservazione rrR e nuovo stato s ′ s^primoS′
~~~~~~ La tupla di transizione ( s , a , r , s ′ ) (s, a,r, s^primo)(S,UN,R,S′) depositare a B caloria BB mezzo
~~~~~~ da B caloria BB Campionamento di piccoli lotti N.N.N transizioni ( s , a , r , s ′ ) (s, a, r, s^primo)(S,UN,R,S′)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ clip ( N ( 0 , σ ~ ) , − c , c ) ~~~~~~widetilde aleftarrow pi_{phi^prime}(s^prime)+epsilon,~~epsilonsim{rm clip}({cal N}(0,widetilde sigma),-c,c) UN ←πϕ′(S′)+ϵ, ϵ∼clip(N(0,σ ),−C,C)
y ← r + γ min i = 1 , 2 Q θ i ′ ( s ′ , a ~ ) ~~~~~~yleftarrow r+gamma minlimits_{i=1,2}Q_{theta_i^prime}(s^prime,widetilde a) e←R+γioooooooooooooooooooooo=1,2minimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoQθioooooooooooooooooooooo′(S′,UN )
~~~~~~ Aggiorna critici θ i ← arg min θ i N − 1 ∑ ( y − Q θ i ( s , a ) ) 2 theta_ileftarrowargminlimits_{theta_i}N^{-1}sum(y-Q_{theta_i}(s, a))^2θioooooooooooooooooooooo←essoGθioooooooooooooooooooooominimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoimoN−1∑(e−Qθioooooooooooooooooooooo(S,UN))2
~~~~~~ se t % d {bf se}~t~ % ~dSe T % D:
~~~~~~~~~~~ Aggiornamento tramite gradiente di politica deterministica ϕ phiϕ
∇ ϕ J ( ϕ ) = N − 1 ∑ ∇ a Q θ 1 ( s , a ) ∣ a = π ϕ ( s ) ∇ ϕ π ϕ ( s ) ~~~~~~~~~~~~~~~~~~nabla _phi J(phi)=N^{-1}sumnabla_aQ_{theta_1}(s, a)|_{a=pi_phi(s)}nabla_phipi_phi(s) ∇ϕJ(ϕ)=N−1∑∇UNQθ1(S,UN)∣UN=πϕ(S)∇ϕπϕ(S)
~~~~~~~~~~~ Aggiorna rete di destinazione:
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~~~theta_i^primeleftarrowtautheta_i+(1-tau)theta_i^prime~~~~~ θioooooooooooooooooooooo′←τθioooooooooooooooooooooo+(1−τ)θioooooooooooooooooooooo′ tau- ...τ: Frequenza di aggiornamento target
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~~phi^primefrecciasinistratauphi+(1-tau)phi^prime ϕ′←τϕ+(1−τ)ϕ′
fine se ~~~~~~{bf fine ~se} FINE Se
fine per {bf fine ~per}FINE per
Massimizzare l’entropia della politica, rendendola così più solida.
strategia deterministica Vuol dire che, a parità di stato, si sceglie sempre la stessa azione
strategia della casualità Significa che ci sono molte azioni possibili che possono essere selezionate in un dato stato.
strategia deterministica | strategia della casualità | |
---|---|---|
definizione | Stesso stato, esegui la stessa azione | stesso stato,Può eseguire diverse azioni |
vantaggio | Stabile e ripetibile | Evita di cadere nelle soluzioni ottimali locali e migliora le capacità di ricerca globale |
discordanza | Mancanza di esplorabilità e facile essere catturati dagli avversari | Ciò potrebbe far sì che la strategia converga lentamente, influenzando l’efficienza e le prestazioni. |
Nell'applicazione effettiva, se le condizioni lo consentono, lo faremoProva ad usarestrategia della casualità, come A2C, PPO, ecc., perché è più flessibile, più robusto e più stabile.
L’apprendimento per rinforzo dell’entropia massima ritiene che, anche se attualmente disponiamo di strategie di casualità mature, vale a dire algoritmi come AC, non abbiamo ancora raggiunto la casualità ottimale.Pertanto, introduce l'aentropia informativaconcetto, dentroMassimizzare la ricompensa cumulativa massimizzando l’entropia della politica, rendendo la strategia più robusta e ottenendo la strategia di casualità ottimale.
——————————————————
Collegamento all'interfaccia OpenAI Documentation_SAC
~
Soft Actor-Critic: apprendimento di rinforzo profondo con entropia massima fuori politica con un attore stocastico, Haarnoja et al, 201808 ICML 2018
Algoritmi e applicazioni soft Actor-Critic, Haarnoja e altri, 201901
Imparare a camminare tramite apprendimento con rinforzo profondo, Haarnoja et al, 201906 RSS2019
Soft Actor Critic (SAC) ottimizza le strategie casuali in modo fuori policy.
DDPG + ottimizzazione della strategia stocastica
Non è un successore diretto di TD3 (rilasciato più o meno nello stesso periodo).
Incorpora il trucco della doppia Q ritagliata e, a causa della casualità intrinseca della strategia di SAC, alla fine beneficia anche dilivellamento della politica degli obiettivi。
Una caratteristica fondamentale di SAC è regolarizzazione entropica regolarizzazione entropica。
La politica è addestrata a massimizzare il compromesso tra ricompensa attesa ed entropia,L’entropia è una misura della casualità di una politica。
Ciò è strettamente correlato al compromesso tra esplorazione e sfruttamento: porta ad un aumento dell’entropiaAltro da esplorare,Questo va beneAccelerare l'apprendimento successivo .va beneEvitare che la politica converga prematuramente verso un cattivo ottimo locale。
Può essere utilizzato sia nello spazio di azione continua che nello spazio di azione discreta.
esistere Apprendimento per rinforzo regolarizzato entro l'entropia, l'agente ottiene eL’entropia della politica in questo momentoPremi proporzionali.
In questo momento il problema RL è descritto come:
π ∗ = arg max π E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ] pi^*=argmaxlimits_pi underset{tausimpi}{rm E}Big[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})textcolor{blue}{+alpha H(pi(·|s_t))}Big)Big]π∗=essoGπmassimoτ∼πE[T=0∑∞γT(R(ST,UNT,ST+1)+αH(π(⋅∣ST)))]
In α > 0 alfa > 0α>0 è il coefficiente di trade-off.
Funzione del valore dello stato che include la ricompensa entropica in ogni fase temporale V π V^piEπ per:
V π ( s ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s ] V^pi(s)=underset{tausimpi}{rm E}Big[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})+alpha H(pi(·|s_t))Big)Big|s_0=sBig]Eπ(S)=τ∼πE[T=0∑∞γT(R(ST,UNT,ST+1)+αH(π(⋅∣ST))) S0=S]
Una funzione del valore dell'azione che include la ricompensa entropica per ogni passaggio temporale tranne il primo Q π Q^piQπ:
Q π ( s , a ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α ∑ t = 1 ∞ H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s , a 0 = a ] Q^pi(s,a)=underset{tausimpi}{rm E}Big[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})+alpha sumlimits_{t=1}^infty H(pi(·|s_t))Big)Big|s_0=s,a_0=aBig]Qπ(S,UN)=τ∼πE[T=0∑∞γT(R(ST,UNT,ST+1)+αT=1∑∞H(π(⋅∣ST))) S0=S,UN0=UN]
V π V^piEπ E Q π Q^piQπ La relazione tra è:
V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=underset{asimpi}{rm E}[Q^pi(s, a)]+alpha H(pi(·|s))Eπ(S)=UN∼πE[Qπ(S,UN)]+αH(π(⋅∣S))
Di Q π Q^piQπ La formula di Bellman è:
Q π ( s , a ) = E s ′ ∼ P a ′ ∼ π [ R ( s , a , s ′ ) + γ ( Q π ( s ′ , a ′ ) + α H ( π ( ⋅ ∣ s ′ ) ) ) ] = E s ′ ∼ P [ R ( s , a , s ′ ) + γ V π ( s ′ ) ] Qπ(S,UN)=UN′∼πS′∼PE[R(S,UN,S′)+γ(Qπ(S′,UN′)+αH(π(⋅∣S′)))]=S′∼PE[R(S,UN,S′)+γEπ(S′)]
Il SAC apprende una politica simultaneamente π θ π_thetaπθ e due DomandaQ funzione Q ϕ 1 , Q ϕ 2 Q_{phi_1}, Q_{phi_2}Qϕ1,Qϕ2。
Attualmente esistono due varianti del SAC standard: una utilizza un sistema fissoCoefficiente di regolarizzazione dell'entropia alfa alfaα, un altro cambiando durante l'allenamento alfa alfaα imporre vincoli di entropia.
La documentazione di OpenAI utilizza una versione con un coefficiente di regolarizzazione dell'entropia fisso, ma in pratica è spesso preferitavincolo di entropiavariante.
Come mostrato di seguito, in alfa alfaα Nella versione fissa, ad eccezione dell'ultima immagine che presenta evidenti vantaggi, le altre presentano solo lievi vantaggi, sostanzialmente uguali a alfa alfaα La versione di apprendimento rimane la stessa; alfa alfaα Le due immagini centrali in cui la versione di apprendimento presenta vantaggi sono più evidenti.
SAC
CONTROTD3
:
~
Stesso punto:
1. Entrambe le funzioni Q vengono apprese riducendo al minimo l'MSBE (errore medio quadratico di Bellman) mediante regressione a un singolo obiettivo condiviso.
2. Utilizzare la rete Q target per calcolare il target condiviso ed eseguire la media del polyak sui parametri della rete Q durante il processo di addestramento per ottenere la rete Q target.
3. Il bersaglio condiviso utilizza la tecnica della doppia Q troncata.
~
differenza:
1. SAC contiene il termine di regolarizzazione dell'entropia
2. Da dove viene la prossima azione statale utilizzata nell'obiettivo SACStrategia attuale, piuttosto che la strategia target.
3. Non esiste una strategia obiettivo chiara per lo livellamento. TD3 addestra una politica deterministica passando allo stato successivoAggiungi rumore casuale per ottenere la morbidezza. Il SAC adotta una politica casuale e il rumore derivante dalla casualità è sufficiente per ottenere effetti simili.
Algoritmo: Soft Attore-Critico SAC
accedere: θ 1 , θ 2 , ϕ theta_1,theta_2,phi~~~~~θ1,θ2,ϕ Parametri di inizializzazione
Inizializzazione dei parametri:
~~~~~~ Inizializza i pesi della rete target: θ ˉ 1 ← θ 1 , θ ˉ 2 ← θ 2 barra theta_1frecciasinistratheta_1, barra theta_2frecciasinistratheta_2θˉ1←θ1,θˉ2←θ2
~~~~~~ Il pool di riproduzione viene inizializzato per essere vuoto: D ← ∅ {cal D}frecciasinistrainsieme vuotoD←∅
per {bf per}per ogni iterazione fare {bf fare}Fare :
~~~~~~ per {bf per}per Ogni passaggio dell'ambiente fare {bf fare}Fare :
~~~~~~~~~~~ Azioni di esempio da una policy: a ∼ π ϕ ( a ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~UNT∼πϕ(UNT∣ST) ▢Qui π ϕ (a ∣ st) pi_phi(a_t|s_t)πϕ(UNT∣ST) Come definire?
~~~~~~~~~~~ Transizioni di esempio dall'ambiente: st + 1 ∼ p ( st + 1 ∣ st , a ) s_{t+1}sim p(s_{t+1}|s_t,a_t)ST+1∼P(ST+1∣ST,UNT)
~~~~~~~~~~~ Salva la transizione nel pool di riproduzione: D ← D ∪ { ( st , a , r ( st , a ) , st + 1 ) } {cal D}frecciasinistra{cal D}~tazza~{(s_t,a_t,r(s_t,a_t),s_{t+1})}D←D ∪ {(ST,UNT,R(ST,UNT),ST+1)}
~~~~~~ fine per {bf fine ~per}FINE per
~~~~~~ per {bf per}per Ogni passaggio del gradiente fare {bf fare}Fare :
~~~~~~~~~~~ rinnovare DomandaQ Parametri di funzione: per io ∈ { 1 , 2 } io in{1,2}ioooooooooooooooooooooo∈{1,2}, θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) theta_ileftarrowtheta_i-lambda_Qche nabla_{theta_i}J_Q(theta_i)~~~~~θioooooooooooooooooooooo←θioooooooooooooooooooooo−λQ∇^θiooooooooooooooooooooooJQ(θioooooooooooooooooooooo) ▢Qui JQ (θi) J_Q(theta_i)JQ(θioooooooooooooooooooooo) Come definire?
~~~~~~~~~~~ Aggiorna i pesi della strategia: ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) phileftarrowphi-lambda_pihat nabla_phi J_pi (phi)~~~~~ϕ←ϕ−λπ∇^ϕJπ(ϕ) ▢Qui J π ( ϕ ) J_pi (phi)Jπ(ϕ) Come definire?
~~~~~~~~~~~ Regolare la temperatura: α ← α − λ ∇ ^ α J ( α ) alfafrecciasinistraalfa-lambdahatnabla_alfa J(alfa)~~~~~α←α−λ∇^αJ(α) ▢Qui J (α) J(alfa)J(α) Come definire?Come capire la temperatura qui?
~~~~~~~~~~~ Aggiorna i pesi della rete target: per io ∈ { 1 , 2 } io in{1,2}ioooooooooooooooooooooo∈{1,2}, θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i bar theta_ileftarrow tau theta_i-(1-tau)bar theta_i~~~~~θˉioooooooooooooooooooooo←τθioooooooooooooooooooooo−(1−τ)θˉioooooooooooooooooooooo ▢ Come capirlo tau- ...τ ? ——>Coefficiente di livellamento target
~~~~~~ fine per {bf fine ~per}FINE per
fine per {bf fine ~per}FINE per
Produzione: θ 1 , θ 1 , ϕ theta_1,theta_1,phi~~~~~θ1,θ1,ϕ Parametri ottimizzati
∇ ^ che nabla∇^: gradiente stocastico
$emptyset$
∅ ~~~~insieme vuoto ∅
Imparare a camminare tramite apprendimento con rinforzo profondo Versione in:
~
α
α
α è il parametro della temperatura, che determina l'importanza relativa del termine entropia e della ricompensa, controllando così la casualità della strategia ottimale.
alfa alfaα Grande: esplora
alfa alfaα Piccolo: sfruttare
J ( α ) = E a ∼ π t [ − α log π t ( a ∣ st ) − α H ˉ ] J(alpha)=underset{a_tsimpi_t}{mathbb E}[-alphalog pi_t(a_t|s_t)-alphabar{cal H}]J(α)=UNT∼πTE[−αIoGπT(UNT∣ST)−αHˉ]