2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- easy-rl PDF-versio huomautus organisaatio P5, P10 - P12
- joyrl vertailuliite P11-P13
- OpenAI-dokumenttien organisaatio ⭐ https://spinningup.openai.com/en/latest/index.html
Lataa uusin versio PDF
Osoite: https://github.com/datawhalechina/easy-rl/releases
Kotimainen osoite (suositellaan kotimaisille lukijoille):
Linkki: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw Purkukoodi: us6a
easy-rl-verkkoversion linkki (koodin kopiointia varten)
Viitelinkki 2: https://datawhalechina.github.io/joyrl-book/
muu:
[Virheellinen tietueen linkki]
——————
5. Syvävahvistusoppimisen perusteet ⭐️
Avoimen lähdekoodin sisältö: https://linklearner.com/learn/summary/11
——————————
Sama strategia: Opittava agentti ja ympäristön kanssa vuorovaikutuksessa oleva agentti ovat samat.
Heterogeeniset strategiat: oppimisagentti ja ympäristön kanssa vuorovaikutuksessa oleva agentti ovat erilaisia
Käytännön gradientti: Tiedon näytteenotto vaatii paljon aikaa
sama strategia ⟹ Tärkeyden otanta ~~~overset{Tärkeyden otanta}{Longrightarrow}~~~ ⟹tärkeysnäytteenotto erilaisia strategioita
PPO: Vältä kahta jakelua, jotka eroavat liikaa. sama strategia-algoritmi
1. Alkuperäiset optimointikohteet J ( θ , θ ′ ) J(theta, theta^ alkuluku)J(θ,θ′)
2. Rajoituskohteet: θ thetaθ ja θ ′ theta^ alkulukuθ′ Lähtötoiminnon KL-divergentti ( θ thetaθ ja θ ′ theta^ alkulukuθ′ Mitä samankaltaisempi, sen parempi)
PPO:lla on edeltäjä: luottamusalueen politiikan optimointi (TRPO)
TRPO:ta on vaikea käsitellä, koska se käsittelee KL-hajoamisrajoitetta lisärajoitteena eikä sitä sijoiteta tavoitefunktioon, joten sitä on vaikea laskea. Siksi käytämme yleensä PPO:ta TRPO:n sijaan. PPO:n ja TRPO:n suorituskyky on samanlainen, mutta PPO on paljon helpompi toteuttaa kuin TRPO.
KL:n ero: toimintaetäisyys.Toiminnon suorittamisen todennäköisyysjakauma etäisyys.
PPO-algoritmista on kaksi pääversiota: proksimaalinen politiikan optimointirangaistus (PPO-rangaistus) ja proksimaalinen politiikan optimointileikkaus (PPO-leike).
——————————
P10 Harva palkitsemisongelma
1. Suunnittele palkintoja. Edellyttää verkkotunnuksen tuntemusta
Entäpä viimeisen palkinnon myöntäminen kullekin asiaankuuluvalle toiminnolle?
2. Uteliaisuus
Intrinsic Curiosity Module (ICM)
tulla sisään: klo , st a_t,s_tat,st
Lähtö: s ^ t + 1 hattu s_{t+1}s^t+1
Verkon ennustettu arvo s ^ t + 1 hattu s_{t+1}s^t+1 todellisella arvolla st + 1 s_{t+1}st+1 Mitä erilaisempia ne ovat, sitä rti r_t^irti Isompi
rti r_t^irti : Mitä vaikeampi tulevaisuuden tila on ennustaa, sitä suurempi on palkkio toiminnasta. Kannusta seikkailuun ja tutkimiseen.
ominaisuuspoisto
Verkko 2:
Syöttö: vektori ϕ ( st ) {bm phi}(s_{t})ϕ(st) ja ϕ ( st + 1 ) {bm phi}(s_{t+1})ϕ(st+1)
Ennusta toimintaa a ^ hattu aa^ Mitä lähempänä todellista toimintaa, sen parempi.
3. Kurssiopiskelu
Helppoa -> vaikeaa
Käänteinen opetussuunnitelman oppiminen:
Aloita viimeisestä ihanteellisimmasta tilasta [kutsumme sitä kultatilaksi], siirry kohtaanEtsi kultaista tilaa lähinnä oleva tila Lavastettuna "ideaalitilana", jonka haluat agentin saavuttavan. Tietysti poistamme tässä prosessissa tarkoituksella joitain äärimmäisiä tiloja, eli tiloja, jotka ovat liian helppoja tai liian vaikeita.
4. Hierarkkinen vahvistusoppiminen (HRL)
Agentin strategia on jaettu korkean tason strategioihin ja matalan tason strategioihin. Korkean tason strategia määrittää, kuinka matalan tason strategia toteutetaan nykytilan perusteella.
————————
P11 Jäljitelmäoppiminen
En ole varma palkintokohtauksesta
Jäljitelmäoppiminen (IL)
oppia esittelystä
Oppisopimuskoulutus
oppia katsomalla
On selvät palkinnot: lautapelit, videopelit
Ei pysty antamaan selkeitä palkintoja: chatbot
Kerää asiantuntijaesittelyjä: ihmisten ajohistoriaa, ihmisten keskusteluja
Käänteisesti, millaisen palkitsemistoiminnon asiantuntija tekee nämä toimet?
Käänteinen vahvistusoppiminen onEtsi ensin palkitsemistoiminto, kun olet löytänyt palkitsemistoiminnon, käytä vahvistusoppimista löytääksesi optimaalisen toimijan.
Kolmannen persoonan jäljitelmäoppimistekniikka
————————
P12 Deep deterministic Policy Gradient (DDPG)
Käytä kokemustoistostrategiaa
Ablaatiokoe [Controlled Variable Method] -analyysijokainen rajoitusvaikutus taistelun lopputulokseen.
iloinen:
tarpeessavarmuuttastrategia jajatkuvaa toimintaaAvaruuden lähtökohtana tämän tyyppinen algoritmi on suhteellisen vakaa perusalgoritmi.
DQN jatkuviin toimintatiloihin
Deep deterministic Policy Gradient Algorithm (DDPG)
Kokemustoistomekanismi voi vähentää näytteiden välistä korrelaatiota, parantaa näytteiden tehokasta hyödyntämistä ja lisätä harjoituksen vakautta.
puute:
1. Ei voida käyttää erillisessä toimintatilassa
2、Riippuu suuresti hyperparametreistä
3. Erittäin herkät alkuolosuhteet. Vaikuttaa algoritmin konvergenssiin ja suorituskykyyn
4. On helppo pudota paikalliseen optimiin.
Pehmeän päivityksen etuna on, että se on pehmeämpi ja hitaampi, mikä voi välttää liian nopeiden painopäivitysten aiheuttamia iskuja ja vähentää harjoitteluerojen riskiä.
Kaksinkertaisen viiveen deterministinen politiikan gradienttialgoritmi
Kolme parannusta: Double Q -verkko, viivästynyt päivitys, kohinan tasaus
Double Q Network : Kaksi Q-verkkoa, valitse se, jolla on pienempi Q-arvo. Käsitellä Q-arvon yliarviointiongelmaa ja parantaa algoritmin vakautta ja konvergenssia.
Viivästetty päivitys: Anna näyttelijän päivitystiheyden olla pienempi kuin kriitikon päivitystiheys
Melu on enemmän kuin aLaillistaminentavalla jokaarvofunktion päivityslisääsileä
OpenAI Gym Library_Pendulum_TD3
OpenAI-dokumentin käyttöliittymälinkki TD3:sta
Yleisimmin käytetty PPO-algoritmi vahvistusoppimisessa
Diskreetti + jatkuva
Nopea ja vakaa, helposti säädettävät parametrit
perusalgoritmi
Päättämätön PPO
Käytännössä leikerajoituksia käytetään yleensä, koska se on yksinkertaisempi, sen laskentakustannukset ovat alhaisemmat ja sillä on parempia tuloksia.
Poliisin vastainen algoritmi voihyödyntää historiallista kokemusta, käytä yleensä kokemuksen toistoa aiemman kokemuksen tallentamiseen ja uudelleenkäyttöön,Tiedon hyötysuhde on korkea。
PPO on politiikan mukainen algoritmi
——————————————————
OpenAI-dokumentaatio
Paperinen arXiv-käyttöliittymälinkki: Proksimaalisen politiikan optimointialgoritmit
PPO: politiikkaan perustuva algoritmi, joka sopii erillisiin tai jatkuviin toimintatiloihin.Mahdollinen paikallinen optimi
PPO:n motiivi on sama kuin TRPO:n: kuinka hyödyntää olemassa olevaa dataaOta strategiasi suurin mahdollinen parannusaskel, muuttamatta sitä liikaa ja aiheuttamatta vahingossa suorituskyvyn kaatumista?
TRPO yrittää ratkaista tämän ongelman hienostuneella toisen asteen lähestymistavalla, kun taas PPO on ensimmäisen asteen lähestymistapa, joka käyttää joitain muita temppuja pitääkseen uuden strategian lähellä vanhaa.
PPO-menetelmä on paljon yksinkertaisempi toteuttaa, ja se toimii empiirisesti vähintään yhtä hyvin kuin TRPO.
PPO:sta on kaksi päämuunnelmaa: PPO-Penalty ja PPO-Clip.
Algoritmi: PPO-Clip
1: Syöte: strategian alkuparametrit θ 0 theta_0θ0, alkuarvofunktion parametrit ϕ 0 phi_0ϕ0
2: k = 0 , 1 , 2 , … do {bf for} ~ k=0,1,2,pisteet~ {bf do}varten k=0,1,2,… tehdä:
3: ~~~~~~ Ajamalla politiikkaa ympäristössä π k = π ( θ k ) pi_k=pi(theta_k)πk=π(θk) Kerää lentorata asetettu D k = { τ i } {cal D}_k={tau_i}Dk={τi}
4: ~~~~~~ Laske palkinnot (menettävä palkinto) R ^ t hattu R_t~~~~~R^t ▢ R ^ t hattu R_tR^t laskentasäännöt
5: ~~~~~~ Laske hyötyarvio nykyisen arvon funktion perusteella V ϕ k V_{phi_k}Vϕk / A ^ t hattu A_tA^t (Käytä mitä tahansa määräävän aseman arviointimenetelmää) ~~~~~ ▢ Mitkä ovat nykyiset hyötyjen arviointimenetelmät?
6: ~~~~~~ Päivitä käytäntö maksimoimalla PPO-Clip-tavoitefunktio:
~~~~~~~~~~~
θ k + 1 = arg max θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T min ( π θ ( at ∣ st ) π k θ k ( at ∣ 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))iso) θk+1=argθmax∣Dk∣T1τ∈Dk∑t=0∑Tmin(πθk(at∣st)πθ(at∣st)Aπθk(st,at),g(ϵ,Aπθk(st,at))) ~~~~~ ▢ Miten määritellään strategian päivityskaava?
~~~~~~~~~~~
~~~~~~~~~~~ π θ k pi_{theta_k}πθk : Strategian parametrivektori ennen päivitystä. Tärkeyden otanta. Näytteenotto vanhoista strategioista.
~~~~~~~~~~~
~~~~~~~~~~~ Yleinen stokastinen gradienttinousu + Adam
7: ~~~~~~ keskimääräinen neliövirheregression sovitettu arvofunktio:
~~~~~~~~~~~
ϕ 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=argϕmin∣Dk∣T1τ∈Dk∑t=0∑T(Vϕ(st)−R^t)2
~~~~~~~~~~~
~~~~~~~~~~~ Yleinen kaltevuuslasku
8: end for bf end ~ forloppu varten
~~~~~~~~~~~~
$dots$
… ~~~pisteitä …
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=vasen{(1+ϵ)A A≥0(1−ϵ)AA<0oikein. g(ϵ,A)={(1+ϵ)A (1−ϵ)AA≥0A<0
lehdessäEtuarvio:
A ^ t = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) ⏟ R ^ t ? ? ? hattu A_t=-V(s_t)+aleviiva{r_t+gamma r_{t+1}+cdots+gamma^{T-t+1}r_{T-1}+gamma^{Tt}V(s_T)}_ {textcolor{blue}{hat R_t???}}A^t=−V(st)+R^t??? rt+γrt+1+⋯+γT−t+1rT−1+γT−tV(sT)
tehdä Δ t = rt + γ V ( st + 1 ) − V ( st ) Delta_t =r_t+gamma V(s_{t+1})-V(s_t)Δt=rt+γV(st+1)−V(st)
mutta rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t = Delta_t - gamma V(s_{t+1})+V(s_t)rt=Δt−γV(st+1)+V(st)
Korvaava A ^ t hattu A_tA^t ilmaisu
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ˆAt=−V(st)+rt+γrt+1+γ2rt+2+⋯+γT−trT−2+γT−t+1rT−1+γT−tV(sT)=−V(st)+rt+γrt+1+⋯+γT−t+1rT−1+γT−tV(sT)=−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(sT−t+1)+V(sT−t))+ γT−t+1(ΔT−1−γV(sT)+V(sT−1))+ γT−tV(sT)=Δt+γΔt+1+γ2Δt+2+⋯+γT−tΔT−t+γT−t+1ΔT−1 A^t=−V(st)+rt+γrt+1+γ2rt+2+⋯+γT−trT−2+γT−t+1rT−1+γT−tV(sT)=−V(st)+rt+γrt+1+⋯+γT−t+1rT−1+γT−tV(sT)=−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(sT−t+1)+V(sT−t))+ γT−t+1(ΔT−1−γV(sT)+V(sT−1))+ γT−tV(sT)=Δt+γΔt+1+γ2Δt+2+⋯+γT−tΔT−t+γT−t+1ΔT−1
Leikkaaminen toimii laillistajana poistamalla kannustimen radikaaleihin politiikan muutoksiin.hyperparametrit ϵ epsilonϵ Vastaa uuden ja vanhan strategian välistä etäisyyttä。
On silti mahdollista, että tällainen leikkaus johtaa lopulta uuteen strategiaan, joka on kaukana vanhasta strategiasta. Tässä toteutuksessa käytämme erityisen yksinkertaista menetelmää:Lopeta aikaisin . Jos uuden käytännön keskimääräinen KL-poikkeama vanhasta käytännöstä ylittää kynnyksen, lopetamme gradienttivaiheen suorittamisen.
PPO:n tavoitefunktion yksinkertainen johdannaislinkki
PPO-Clipin tavoitefunktio on:
~
L θ k CLIP ( θ ) = E s , a ∼ θ k [ min ( π θ ( a ∣ s ) π θ k ( a ∣ s ) A θ k ( s , a ) , leike ( π Σ ( a ∣ ) s ) π θ k ( a ∣ s ) , 1 − ϵ , 1 + ϵ ) A θ k ( s , a ) ) ] L^{rm CLIP}_{theta_k}(theta)=underset{s, asimtheta_k}{ rm E}Iso[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,a∼θkE[min(πθk(a∣s)πθ(a∣s)Aθk(s,a),leike(πθk(a∣s)πθ(a∣s),1−ϵ,1+ϵ)Aθk(s,a))]
~
$underset{s, asimtheta_k}{rm E}$
E s , a ∼ θ k ~~~underset{s, asimtheta_k}{rm E} s,a∼θkE
~
Ei. kkk Iteraatioiden strategiaparametrit θ k theta_kθk, ϵ epsilonϵ on pieni hyperparametri.
perustaa ϵ ∈ ( 0 , 1 ) epsiloniini(0,1)ϵ∈(0,1), määritelmä
F ( r , A , ϵ ) ≐ min ( r A , leike ( r , 1 − ϵ , 1 + ϵ ) A ) F(r,A,epsilon)doteqminBigg(rA,{rm clip}(r,1- epsilon,1+epsilon)ABigg)F(r,A,ϵ)≐min(rA,leike(r,1−ϵ,1+ϵ)A)
kun A ≥ 0 Ikäq0A≥0
F ( r , A , ϵ ) = min ( r A , leike ( r , 1 - ϵ , 1 + ϵ ) A ) = A min ( r , leike ( r , 1 - ϵ , 1 + ϵ ) ) = A min ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { min ( r , 1 + ϥ ) r ≥ 1 + ϵ min ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) min ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { 1 + ϵ r ≥ 1 + ϵ rr ∈ 1 − ϵ , 1 + ϵ ) rr ≤ 1 − ϵ } Oikean puolen alueen mukaan = A min ( r , 1 + ϵ ) = min ( r A , ( 1 + ϵ ) A )begin{aligned}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,vasen{alku{tasattu}&1+epsilon~~&rgeq1+epsilon\ &r &rin(1-epsilon,1+epsilon)\ &1-epsilon &rleq1-epsilon\ loppu{tasattu}right}Iso)\ &=Vasen{minoikea}\ &=Vasen{oikea}~~~~~tekstinväri{sininen}{oikealla olevan alueen mukaan}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) loppu{tasattu} F(r,A,ϵ)=min(rA,leike(r,1−ϵ,1+ϵ)A)=Amin(r,leike(r,1−ϵ,1+ϵ))=Amin(r,⎩ ⎨ ⎧1+ϵ r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫)=A⎩ ⎨ ⎧min(r,1+ϵ) min(r,r)min(r,1−ϵ)r≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫=A⎩ ⎨ ⎧1+ϵ rrr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫ Oikean alueen mukaan=Amin(r,1+ϵ)=min(rA,(1+ϵ)A)
~
kun A < 0 A < 0A<0
F ( r , A , ϵ ) = min ( r A , leike ( r , 1 - ϵ , 1 + ϵ ) A ) = A max ( r , leike ( r , 1 - ϵ , 1 + ϵ ) ) = A max ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { max ( r , 1 + ϥ ) r ≥ 1 + ϵ max ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) max ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { r r ≥ 1 + ϵ rr ∵ ( 1 -- ϵ ) , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } Oikean puolen alueen mukaan = A max ( r , 1 − ϵ ) = min ( r A , ( 1 − ϵ ) A )right}Iso)\ &=Vasen{oikea}\ &=Vasen{oikea}~~~~~tekstiväri{sininen}{oikealla olevan alueen mukaan}\ &=Amax(r, 1-epsilon)\ &=textcolor{blue}{min}Bigg(rA,(1-epsilon) ABigg) loppu{tasattu} F(r,A,ϵ)=min(rA,leike(r,1−ϵ,1+ϵ)A)=Amax(r,leike(r,1−ϵ,1+ϵ))=Amax(r,⎩ ⎨ ⎧1+ϵ r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫)=A⎩ ⎨ ⎧max(r,1+ϵ) max(r,r)max(r,1−ϵ)r≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫=A⎩ ⎨ ⎧r r1−ϵr≥1+ϵr∈(1−ϵ,1+ϵ)r≤1−ϵ⎭ ⎬ ⎫ Oikean alueen mukaan=Amax(r,1−ϵ)=min(rA,(1−ϵ)A)
~
Yhteenvetona: määriteltävissä g ( ϵ , A ) g(epsilon,A)g(ϵ,A)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=vasen{oikein. g(ϵ,A)={(1+ϵ)A (1−ϵ)AA≥0A<0
Miksi tämä määritelmä estää uutta strategiaa poikkeamasta liian kauas vanhasta strategiasta?
Tehokkaat tärkeysnäytteenottomenetelmät vaativat uusia strategioita π θ ( a ∣ s ) pi_theta(a|s)πθ(a∣s) ja vanhoja strategioita π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθk(a∣s) Ero näiden kahden jakauman välillä ei voi olla liian suuri
1. Kun etu on positiivinen
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,a,θk,θ)=min(πθk(a∣s)πθ(a∣s),1+ϵ)Aπθk(s,a)
Etutoiminto: Etsi tietty tila-toiminto-pari, jolla on enemmän palkintoja -> lisää tila-toiminto-parin painoa.
Kun tila-toiminta-pari ( s , a ) (s, a)(s,a) on positiivinen, sitten jos toiminta aaa on todennäköisemmin teloitettu, eli jos π θ ( a ∣ s ) pi_theta(a|s)πθ(a∣s) Kasvata ja tavoite kasvaa.
min tässä kohdassa rajoittaa tavoitefunktion kasvamaan vain tiettyyn arvoon
kerran π θ ( a ∣ s ) > ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)>(1+epsilon)pi_{theta_k}(a|s)πθ(a∣s)>(1+ϵ)πθk(a∣s), min triggers, rajoittaen tämän kohteen arvoon ( 1 + ϵ ) π θ k ( a ∣ s ) (1+epsilon)pi_{theta_k}(a|s)(1+ϵ)πθk(a∣s)。
uusi politiikka ei hyödy poistumalla kauas vanhasta politiikasta.
Uusi strategia ei hyödy vanhasta strategiasta luopumisesta.
2. Kun etu on negatiivinen
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,a,θk,θ)=max(πθk(a∣s)πθ(a∣s),1−ϵ)Aπθk(s,a)
Kun tila-toiminta-pari ( s , a ) (s, a)(s,a) Etu on negatiivinen, sitten jos toiminta aaa on vielä epätodennäköisempää, eli jos π θ ( a ∣ s ) π_theta(a|s)πθ(a∣s) pienenee, tavoitefunktio kasvaa. Mutta tämän termin maksimiarvo rajoittaa sitä, kuinka paljon tavoitefunktiota voidaan lisätä.
kerran π θ ( a ∣ s ) < ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)<(1-epsilon)pi_{theta_k}(a|s)πθ(a∣s)<(1−ϵ)πθk(a∣s), max triggers, rajoittaa tämän kohteen arvoon ( 1 − ϵ ) π θ k ( a ∣ s ) (1-epsilon)pi_{theta_k}(a|s)(1−ϵ)πθk(a∣s)。
Jälleen: uusi politiikka ei hyödy siitä, että mennään kauas vanhasta politiikasta.
Uusi strategia ei hyödy vanhasta strategiasta luopumisesta.
Vaikka DDPG voi joskus saavuttaa erinomaisen suorituskyvyn, se on usein epävakaa hyperparametrien ja muun tyyppisen virityksen suhteen.
Yleinen DDPG-virhetila on, että opittu Q-funktio alkaa merkittävästi yliarvioida Q-arvoa, mikä saa sitten politiikan rikkoutumaan, koska se käyttää hyväkseen Q-funktion virhettä.
Twin Delayed DDPG (TD3) on algoritmi, joka ratkaisee tämän ongelman ottamalla käyttöön kolme avaintekniikkaa:
1、Typistetty Double Q-Learning。
2、Käytännön päivityksen viive。
3. Tavoitestrategian tasoitus.
TD3 on politiikan vastainen algoritmi, jonka kanssa sitä voidaan käyttääjatkuvaToimintatilan ympäristö.
Algoritmi: TD3
Käytä satunnaisia parametreja θ 1 , θ 2 , ϕ theta_1, theta_2, phiθ1,θ2,ϕ Alusta kriitikkoverkosto Q θ 1 , Q θ 2 Q_{theta_1}, Q_{theta_2}Kθ1,Kθ2ja näyttelijäverkosto π ϕ pi_phiπϕ
Alusta kohdeverkko θ 1 ′ ← θ 1 , θ 2 ′ ← θ 2 , ϕ ′ ← ϕ theta_1^primeleftarrowtheta_1, theta_2^primeleftarrowtheta_2, phi^primeleftarrow phiθ1′←θ1,θ2′←θ2,ϕ′←ϕ
Alusta toistopuskurisarja B cal BB
t = 1 - T {bf for}~t=1 ~{bf to} ~Tvarten t=1 kohtaan T :
~~~~~~ Valitse toiminta, jossa on tutkimuskohinaa a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)a∼πϕ(s)+ϵ, ϵ∼N(0,σ), havaintopalkkio rrr ja uusi tila s′s^primes′
~~~~~~ Siirtymä monikko ( s , a , r , s ′ ) (s, a,r, s^alkuluku)(s,a,r,s′) tallettaa B cal BB keskellä
~~~~~~ alkaen B cal BB Näytteenotto pienissä erissä NNN siirtymät ( s , a , r , s ′ ) (s, a, r, s^alkuluku)(s,a,r,s′)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ leike ( N ( 0 , σ ~ ) , − c , c ) ~~~~~~widetilde aleftarrow pi_{phi^prime}(s^prime)+ epsilon,~~epsilonsim{rm clip}({cal N}(0,widetilde sigma),-c,c) a ←πϕ′(s′)+ϵ, ϵ∼leike(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, leveä a) y←r+γi=1,2minKθi′(s′,a )
~~~~~~ Päivitä kriitikot θ i ← arg min θ i N − 1 ∑ ( y − Q θ i ( s , a ) ) 2 theta_ileftarrowargminlimits_{theta_i}N^{-1}summa(y-Q_{theta_i)(s, a) ^2θi←argθiminN−1∑(y−Kθi(s,a))2
~~~~~~ jos t % d {bf if}~t~ % ~djos t % d:
~~~~~~~~~~~ Päivitä deterministisen käytäntögradientin kautta ϕ 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∑∇aKθ1(s,a)∣a=πϕ(s)∇ϕπϕ(s)
~~~~~~~~~~~ Päivitä kohdeverkko:
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~~~theta_i^primeleftarrowtautheta_i+(1-tau)theta_i^prime~~~~~ θi′←τθi+(1−τ)θi′ τ tauτ: Päivitystavoite
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~~phi^primeleftarrowtauphi+(1-tau)phi^prime ϕ′←τϕ+(1−τ)ϕ′
loppu jos ~~~~~~{bf loppu ~jos} loppu jos
end for {bf end ~for}loppu varten
Maksimoi politiikan entropia, mikä tekee politiikasta kestävämmän.
deterministinen strategia Se tarkoittaa, että samassa tilassa valitse aina sama toiminta
satunnaisuusstrategia Se tarkoittaa, että tietyssä tilassa voidaan valita monia mahdollisia toimintoja.
deterministinen strategia | satunnaisuusstrategia | |
---|---|---|
määritelmä | Sama tila, suorita sama toimenpide | sama tila,Voi suorittaa erilaisia toimintoja |
etu | Vakaa ja toistettava | Vältä sortumista paikallisiin optimaalisiin ratkaisuihin ja paranna maailmanlaajuisia hakuominaisuuksia |
puute | Tutkittavuuden puute ja vastustajien helppo jäädä kiinni | Tämä voi saada strategian lähentymään hitaasti, mikä vaikuttaa tehokkuuteen ja suorituskykyyn. |
Varsinaisessa sovelluksessa, jos olosuhteet sen sallivat, teemmeYritä käyttääsatunnaisuusstrategia, kuten A2C, PPO jne., koska se on joustavampi, kestävämpi ja vakaampi.
Maksimientropian vahvistusoppiminen uskoo, että vaikka meillä on tällä hetkellä kypsiä satunnaisuusstrategioita, nimittäin algoritmeja, kuten AC, emme silti ole saavuttaneet optimaalista satunnaisuutta.Siksi se esittelee atiedon entropiakonsepti, sisäänMaksimoi kumulatiivinen palkkio samalla kun maksimoi politiikan entropia, mikä tekee strategiasta vankemman ja saavuttaa optimaalisen satunnaisuusstrategian.
——————————————————
OpenAI Documentation_SAC Interface Link
~
Pehmeä näyttelijäkriitikko: politiikan ulkopuolinen maksimientropia, syvä vahvistus stokastisen näyttelijän kanssa, Haarnoja et al, 201808 ICML 2018
Pehmeät näyttelijäkritiikit algoritmit ja sovellukset, Haarnoja et al, 201901
Kävelemisen oppiminen syvän vahvistusopetuksen avulla, Haarnoja et al, 201906 RSS2019
Soft Actor Critic (SAC) optimoi satunnaiset strategiat politiikan vastaisella tavalla.
DDPG + stokastinen strategian optimointi
Ei suora TD3:n seuraaja (julkaistu suunnilleen samaan aikaan).
Se sisältää leikatun kaksois-Q-tempun, ja SAC:n strategian luontaisen satunnaisuuden vuoksi se hyötyy myös viime kädessätavoitepolitiikan tasoitus。
SAC:n ydinominaisuus on entropian regularisointi entropian regularisointi。
Käytäntö on koulutettu maksimoimaan odotetun palkkion ja entropian välinen kompromissi,Entropia on politiikan satunnaisuuden mitta。
Tämä liittyy läheisesti etsinnän ja hyödyntämisen väliseen kompromissiin: entropian kasvu johtaaLisää tutkittavaa,Tämä on okNopeuta myöhempää oppimista .Se on okeiEstä politiikkaa siirtymästä ennenaikaisesti huonoon paikalliseen optimiin。
Sitä voidaan käyttää sekä jatkuvassa toimintatilassa että diskreetissä toimintatilassa.
olla olemassa Entropialla säännelty vahvistusoppiminen, agentti saa jaPolitiikan entropia tässä vaiheessaSuhteelliset palkinnot.
Tällä hetkellä RL-ongelmaa kuvataan seuraavasti:
π ∗ = arg max π E τ ∼ π [ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ] {tausimpi}{rm E}Iso[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})textcolor{blue}{+alpha H(pi(·|s_t))} Iso iso]π∗=argπmaxτ∼πE[t=0∑∞γt(R(st,at,st+1)+αH(π(⋅∣st)))]
sisään α > 0 alfa > 0α>0 on vaihtokerroin.
Tilan arvofunktio, mukaan lukien entropiapalkkio jokaisessa aikavaiheessa V π V^piVπ varten:
V π ( s ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s ] V^pi (s)=alimäärä{tausimpi}{rm E}Iso[sumlimits_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})+alpha H(pi(·|s_t))Iso )Big|s_0=sBig]Vπ(s)=τ∼πE[t=0∑∞γt(R(st,at,st+1)+αH(π(⋅∣st))) s0=s]
Toimintoarvofunktio, joka sisältää entropiapalkkion jokaisesta aikavaiheesta paitsi ensimmäisestä aikavaiheesta Q π Q^piKπ:
Q π ( s , a ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α ∑ t = 1 ∞ H ( π ( ⋅ ∣ ) st ) 0 = s , a 0 = a ] Q^pi(s,a)=alitus{tausimpi}{rm E}Iso[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]Kπ(s,a)=τ∼πE[t=0∑∞γt(R(st,at,st+1)+αt=1∑∞H(π(⋅∣st))) s0=s,a0=a]
V π V^piVπ ja Q π Q^piKπ Suhde välillä on:
V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=alisarja{asimpi}{rm E}[Q^pi( s, a)]+alfa H(pi(·|s))Vπ(s)=a∼πE[Kπ(s,a)]+αH(π(⋅∣s))
noin Q π Q^piKπ Bellmanin kaava on:
Q π ( s , a ) = E s ′ ∼ P a ′ ∼ π [ R ( s , a , s ′ ) + γ ( Q π ( s ′ , a ' ) + α H ( π ( ⋅ ) ) ) ] = E s ′ ∼ P [ R ( s , a , s ' ) + γ V π ( s ' ) ] Kπ(s,a)=a′∼πs′∼PE[R(s,a,s′)+γ(Kπ(s′,a′)+αH(π(⋅∣s′)))]=s′∼PE[R(s,a,s′)+γVπ(s′)]
SAC oppii politiikan samanaikaisesti π θ π_thetaπθ ja kaksi QQK toiminto Q ϕ 1 , Q ϕ 2 Q_{phi_1}, Q_{phi_2}Kϕ1,Kϕ2。
Tällä hetkellä standardista SAC:sta on kaksi muunnelmaa: yksi käyttää kiinteääEntropian regularisointikerroin α alfaα, toinen vaihtamalla harjoituksen aikana α alfaα pakottaakseen entropiarajoituksia.
OpenAI:n dokumentaatiossa käytetään versiota, jossa on kiinteä entropian regularisointikerroin, mutta käytännössä sitä suositaan useinentropiarajoitusvariantti.
Kuten alla näkyy, sisään α alfaα Kiinteässä versiossa, paitsi viimeisessä kuvassa, jossa on ilmeisiä etuja, muilla on vain pieniä etuja, periaatteessa samat kuin α alfaα Oppimisversio pysyy samana α alfaα Kaksi keskimmäistä kuvaa, joissa oppimisversiolla on etuja, ovat selvempiä.
SAC
VSTD3
:
~
Sama kohta:
1. Molemmat Q-funktiot opitaan minimoimalla MSBE (Mean Squared Bellman Error) regressiolla yhteen yhteiseen tavoitteeseen.
2. Käytä kohde-Q-verkkoa laskeaksesi jaetun kohteen ja suorita polyak-keskiarvotus Q-verkon parametreille koulutusprosessin aikana saadaksesi kohde-Q-verkko.
3. Jaettu kohde käyttää katkaistua double Q -tekniikkaa.
~
ero:
1. SAC sisältää entropian regularisointitermin
2. Seuraava SAC-tavoitteessa käytetty tilatoiminto on peräisinNykyinen strategiastrategian sijaan.
3. Tasoittamiselle ei ole selkeää tavoitestrategiaa. TD3 kouluttaa determinististä politiikkaa toimilla kohti seuraavaa tilaaLisää satunnaista kohinaa tasaisuuden saavuttamiseksi. SAC harjoittelee satunnaista politiikkaa, ja satunnaisuudesta aiheutuva kohina riittää samanlaisten vaikutusten saavuttamiseen.
Algoritmi: Soft Actor-Critic SAC
tulla sisään: θ 1 , θ 2 , ϕ theta_1,theta_2,phi~~~~~θ1,θ2,ϕ Alustusparametrit
Parametrien alustus:
~~~~~~ Alusta kohdeverkon painot: θ ˉ 1 ← θ 1 , θ ˉ 2 ← θ 2 bar theta_1vasentarrowtheta_1, bar theta_2leftarrowtheta_2θˉ1←θ1,θˉ2←θ2
~~~~~~ Toistopooli alustetaan tyhjäksi: D ← ∅ {cal D}vasemmanpuoleinentyhjäsarjaD←∅
for {bf for}varten jokainen iteraatio tee {bf tee}tehdä :
~~~~~~ for {bf for}varten Jokainen ympäristövaihe tee {bf tee}tehdä :
~~~~~~~~~~~ Esimerkki toimista käytännöstä: at ∼ π ϕ ( at ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~at∼πϕ(at∣st) ▢Tässä π ϕ ( at ∣ st ) pi_phi(a_t|s_t)πϕ(at∣st) Kuinka määritellä?
~~~~~~~~~~~ Esimerkki siirtymistä ympäristöstä: st + 1 ∼ p ( st + 1 ∣ st , at ) s_{t+1}sim p(s_{t+1}|s_t,a_t)st+1∼s(st+1∣st,at)
~~~~~~~~~~~ Tallenna siirtyminen toistopooliin: D ← D ∪ { ( st , at , r ( st , at ) , st + 1 ) } {cal D}leftarrow{cal D}~cup~{(s_t,a_t,r(s_t,a_t),s_{t +1})}D←D ∪ {(st,at,r(st,at),st+1)}
~~~~~~ end for {bf end ~for}loppu varten
~~~~~~ for {bf for}varten Jokainen gradienttiaskel tee {bf tee}tehdä :
~~~~~~~~~~~ uusia QQK Toimintoparametrit: for i ∈ { 1 , 2 } iin{1,2}i∈{1,2}, θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) theta_ileftarrowtheta_i-lambda_Qhat nabla_{theta_i}J_Q(theta_i)~~~~~θi←θi−λK∇^θiJK(θi) ▢Tässä JQ ( θ i ) J_Q(theta_i)JK(θi) Kuinka määritellä?
~~~~~~~~~~~ Päivitä strategiapainot: ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) phileftarrowphi-lambda_pihat nabla_phi J_pi (phi)~~~~~ϕ←ϕ−λπ∇^ϕJπ(ϕ) ▢Tässä J π ( ϕ ) J_pi (phi)Jπ(ϕ) Kuinka määritellä?
~~~~~~~~~~~ Säädä lämpötilaa: α ← α − λ ∇ ^ α J ( α ) alfaleftarrowalpha-lambdahatnabla_alpha J(alpha)~~~~~α←α−λ∇^αJ(α) ▢Tässä J ( α ) J (alfa)J(α) Kuinka määritellä?Kuinka ymmärtää lämpötila tässä?
~~~~~~~~~~~ Päivitä verkon kohdepainot: for i ∈ { 1 , 2 } iin{1,2}i∈{1,2}, θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i bar theta_ileftarrow tau theta_i-(1-tau)bar theta_i~~~~~θˉi←τθi−(1−τ)θˉi ▢ Miten tämä ymmärretään τ tauτ ? ——>Tavoite tasoituskerroin
~~~~~~ end for {bf end ~for}loppu varten
end for {bf end ~for}loppu varten
Lähtö: θ 1 , θ 1 , ϕ theta_1,theta_1,phi~~~~~θ1,θ1,ϕ Optimoidut parametrit
∇ ^ hattu nabla∇^: stokastinen gradientti
$emptyset$
∅ ~~~~tyhjä setti ∅
Kävelemisen oppiminen syvän vahvistusopetuksen avulla Versio:
~
α
α
α on lämpötilaparametri, joka määrittää entropiatermin ja palkkion suhteellisen tärkeyden ja säätelee siten optimaalisen strategian satunnaisuutta.
α alfaα Suuri: Tutki
α alfaα Pieni: hyödyntää
J ( α ) = E kohdassa ∼ π t [ − α log π t ( at ∣ st ) − α H ˉ ] J(alpha) = alimäärä{a_tsimpi_t}{mathbb E}[-alfalogi pi_t(a_t|s_t)- alphabar{cal H}]J(α)=at∼πtE[−αlogπt(at∣st)−αHˉ]