2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- easy-rl version PDF note organisation P5, P10 - P12
- supplément de comparaison joyrl P11-P13
- Organisation des documents OpenAI ⭐ https://spinningup.openai.com/en/latest/index.html
Dernière version PDF à télécharger
Adresse : https://github.com/datawhalechina/easy-rl/releases
Adresse nationale (recommandée pour les lecteurs nationaux):
Lien : https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw Code d'extraction : us6a
lien vers la version en ligne easy-rl (pour copier le code)
Lien de référence 2 : https://datawhalechina.github.io/joyrl-book/
autre:
[Lien de l'enregistrement des erratas]
——————
5. Bases de l'apprentissage par renforcement profond ⭐️
Contenu open source : https://linklearner.com/learn/summary/11
——————————
Stratégie identique : L’agent à apprendre et l’agent interagissant avec l’environnement sont les mêmes.
Stratégies hétérogènes : l'agent à apprendre et l'agent qui interagit avec l'environnement sont différents
Gradient politique : il faut beaucoup de temps pour échantillonner les données
même stratégie ⟹ Échantillonnage d'importance ~~~dépassement{Échantillonnage d'importance}{Longrightarrow}~~~ ⟹échantillonnage d'importance différentes stratégies
PPO : évitez deux distributions trop différentes. même algorithme de stratégie
1. Éléments d'optimisation originaux J ( θ , θ ′ ) J(thêta,thêta^prime)J(θ,θ′)
2. Éléments de contrainte : θ thêtaθ et θ ′ thêta^primeθ′ La divergence KL de l'action de sortie ( θ thêtaθ et θ ′ thêta^primeθ′ Plus c'est similaire, mieux c'est)
PPO a un prédécesseur : l'optimisation de la politique de région de confiance (TRPO)
TRPO est difficile à gérer car il traite la contrainte de divergence KL comme une contrainte supplémentaire et n'est pas placé dans la fonction objectif, il est donc difficile à calculer. Par conséquent, nous utilisons généralement PPO au lieu de TRPO. Les performances du PPO et du TRPO sont similaires, mais le PPO est beaucoup plus facile à mettre en œuvre que le TRPO.
Divergence KL : distance d’action.Distribution de probabilité d'effectuer une action distance.
Il existe deux variantes principales de l'algorithme PPO : la pénalité d'optimisation de politique proximale (pénalité PPO) et le découpage d'optimisation de politique proximale (clip PPO).
——————————
P10 Problème de récompense clairsemée
1. Concevez des récompenses. Nécessite une connaissance du domaine
Et si vous attribuiez la récompense finale à chaque action pertinente ?
2. Curiosité
Module de curiosité intrinsèque (ICM)
entrer: à , st a_t,s_tunt,mt
Sortir: s ^ t + 1 chapeau s_{t+1}m^t+1
La valeur prédite du réseau s ^ t + 1 chapeau s_{t+1}m^t+1 avec une vraie valeur st + 1 s_{t+1}mt+1 Plus ils sont différents, plus rti r_t^iltje Le plus gros
rti r_t^iltje : Plus l’état futur est difficile à prédire, plus grande est la récompense de l’action. Encouragez l’aventure et l’exploration.
extracteur de fonctionnalités
Réseau 2 :
Entrée : vecteur ϕ ( st ) {bm phi}(s_{t})ϕ(mt) et ϕ ( st + 1 ) {bm phi}(s_{t+1})ϕ(mt+1)
Prédire les actions un ^ un chapeauun^ Plus on se rapproche de l’action réelle, mieux c’est.
3. Étude de cours
Facile -> Difficile
Apprentissage inversé du programme :
En partant de l’état final le plus idéal [nous l’appelons l’état d’or], allez àTrouver l'état le plus proche de l'état d'or En tant qu'état « idéal » par étapes que vous souhaitez que l'agent atteigne. Bien entendu, nous supprimerons intentionnellement certains états extrêmes dans ce processus, c’est-à-dire les états trop faciles ou trop difficiles.
4. Apprentissage par renforcement hiérarchique (HRL)
La stratégie de l'agent est divisée en stratégies de haut niveau et stratégies de bas niveau. La stratégie de haut niveau détermine comment exécuter la stratégie de bas niveau en fonction de l'état actuel.
————————
P11 Apprentissage par imitation
Je ne suis pas sûr de la scène de récompense
Apprentissage par imitation (IL)
apprendre de la démonstration
Apprentissage par apprentissage
apprendre en regardant
Il y a des récompenses claires : jeux de société, jeux vidéo
Impossible de donner des récompenses claires : chatbot
Collectez des démonstrations d'experts : dossiers de conduite humaine, conversations humaines
Inversement, quelle fonction de récompense l'expert assume-t-il dans ces actions ?
L'apprentissage par renforcement inverse estTrouvez d’abord la fonction de récompense, après avoir trouvé la fonction de récompense, utilisez l'apprentissage par renforcement pour trouver l'acteur optimal.
Technologie d'apprentissage par imitation à la troisième personne
————————
P12 Gradient politique déterministe profond (DDPG)
Utiliser la stratégie de relecture de l'expérience
Analyse de l'expérience d'ablation [méthode à variable contrôlée]chaque contrainteimpact sur l'issue de la bataille.
Joyrl :
dans le besoincertitudestratégie etaction continueSous le principe de l'espace, ce type d'algorithme sera un algorithme de base relativement stable.
DQN pour les espaces d'action continue
Algorithme de gradient politique déterministe profond (DDPG)
Le mécanisme de relecture d'expérience peut réduire la corrélation entre les échantillons, améliorer l'utilisation efficace des échantillons et augmenter la stabilité de la formation.
défaut:
1. Ne peut pas être utilisé dans un espace d'action discret
2、Fortement dépendant des hyperparamètres
3. Conditions initiales très sensibles. Affecte la convergence et les performances de l'algorithme
4. Il est facile de tomber dans l’optimum local.
L'avantage de la mise à jour logicielle est qu'elle est plus fluide et plus lente, ce qui permet d'éviter les chocs provoqués par des mises à jour de poids trop rapides et de réduire le risque de divergence d'entraînement.
Algorithme de gradient politique déterministe à double retard
Trois améliorations : réseau Double Q, mise à jour différée, régularisation du bruit
Réseau Double Q : Deux réseaux Q, choisissez celui avec la valeur Q la plus petite. Traiter le problème de surestimation de la valeur Q et améliorer la stabilité et la convergence de l'algorithme.
Mise à jour différée : laissez la fréquence de mise à jour des acteurs être inférieure à la fréquence de mise à jour des critiques
Le bruit ressemble plus à unRégularisationde telle sorte quemise à jour de la fonction de valeurpluslisse
Bibliothèque de gymnase OpenAI_Pendulum_TD3
Lien vers l'interface du document OpenAI sur TD3
L'algorithme PPO le plus couramment utilisé dans l'apprentissage par renforcement
Discret + continu
Paramètres rapides et stables, faciles à ajuster
algorithme de base
PPO indécis
En pratique, les contraintes de découpage sont généralement utilisées car elles sont plus simples, ont un coût de calcul inférieur et donnent de meilleurs résultats.
L'algorithme hors politique peutprofiter de l'expérience historique, utilisent généralement la relecture d'expérience pour stocker et réutiliser l'expérience précédente,L'efficacité de l'utilisation des données est élevée。
PPO est un algorithme de politique
——————————————————
Documentation OpenAI
Lien de l'interface papier arXiv : Algorithmes d'optimisation de politique proximale
PPO : algorithme sur politique, adapté aux espaces d'action discrets ou continus.Optimum local possible
La motivation du PPO est la même que celle du TRPO : comment exploiter les données existantesFranchissez la plus grande étape d’amélioration possible dans votre stratégie, sans trop le modifier et provoquer accidentellement une chute des performances ?
TRPO tente de résoudre ce problème avec une approche sophistiquée de second ordre, tandis que PPO est une approche de premier ordre qui utilise d'autres astuces pour maintenir la nouvelle stratégie proche de l'ancienne.
La méthode PPO est beaucoup plus simple à mettre en œuvre et, empiriquement, fonctionne au moins aussi bien que TRPO.
Il existe deux variantes principales du PPO : PPO-Penalty et PPO-Clip.
Algorithme : PPO-Clip
1 : Entrée : paramètres de stratégie initiaux θ 0 thêta_0θ0, paramètres de fonction de valeur initiale ϕ 0 phi_0ϕ0
2: pour k = 0 , 1 , 2 , … faire {bf pour} ~ k=0,1,2,points~ {bf faire}pour k=0,1,2,… faire:
3: ~~~~~~ En exécutant la stratégie dans l'environnement π k = π ( θ k ) pi_k=pi(theta_k)πk=π(θk) Collecter l'ensemble de trajectoires D k = { τ i } {cal D}_k={tau_i}Dk={τje}
4: ~~~~~~ Calculer les récompenses (récompenses à emporter) R ^ t que R_t~~~~~R^t ▢ R ^ t que R_tR^t règles de calcul
5: ~~~~~~ Calculer l'estimation de l'avantage, basée sur la fonction de valeur actuelle V ϕ k V_{phi_k}Vϕk de Un ^ t que A_tUN^t (Utilisez n'importe quelle méthode d'estimation de dominance) ~~~~~ ▢ Quelles sont les méthodes actuelles d'estimation des avantages ?
6: ~~~~~~ Mettez à jour la politique en maximisant la fonction objectif PPO-Clip :
~~~~~~~~~~~
θ k + 1 = arg max θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T min ( π θ ( à ∣ st ) π θ k ( à ∣ st ) A π θ k ( st , à ) , g ( ϵ , A π θ k ( st , à ) ) ) ~~~~~~~~~~~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))Grand) θk+1=argθmax∣Dk∣T1τ∈Dk∑t=0∑Tmin(πθk(unt∣mt)πθ(unt∣mt)UNπθk(mt,unt),g(ϵ,UNπθk(mt,unt))) ~~~~~ ▢ Comment déterminer la formule de mise à jour de la stratégie ?
~~~~~~~~~~~
~~~~~~~~~~~ π θ k pi_{theta_k}πθk : Vecteur de paramètres de stratégie avant mise à jour. Importance de l'échantillonnage. Échantillonnage à partir d’anciennes stratégies.
~~~~~~~~~~~
~~~~~~~~~~~ Ascension générale du gradient stochastique + Adam
7: ~~~~~~ erreur quadratique moyennefonction de valeur ajustée de régression:
~~~~~~~~~~~
ϕ 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ϕ(mt)−R^t)2
~~~~~~~~~~~
~~~~~~~~~~~ Descente de pente générale
8: fin pour bf fin ~pourfin pour
~~~~~~~~~~~~
$dots$
… ~~~points …
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=gauche{(1+ϵ)UN UN≥0(1−ϵ)UNUN<0droite. g(ϵ,UN)={(1+ϵ)UN (1−ϵ)UNUN≥0UN<0
dans le journalEstimation de l'avantage :
A ^ t = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) ⏟ R ^ t ? ? ? chapeau 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}{hat R_t???}}UN^t=−V(mt)+R^t??? lt+γlt+1+⋯+γT−t+1lT−1+γT−tV(mT)
faire Δ t = rt + γ V ( st + 1 ) − V ( st ) Delta_t = r_t + gamma V(s_{t+1}) - V(s_t)Δt=lt+γV(mt+1)−V(mt)
mais rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t=Delta_t - gamma V(s_{t+1})+V(s_t)lt=Δt−γV(mt+1)+V(mt)
Remplaçant Un ^ t que A_tUN^t expression
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=−V(mt)+lt+γlt+1+γ2lt+2+⋯+γT−tlT−2+γT−t+1lT−1+γT−tV(mT)=−V(mt)+lt+γlt+1+⋯+γT−t+1lT−1+γT−tV(mT)=−V(mt)+ Δt−γV(mt+1)+V(mt)+ γ(Δt+1−γV(mt+2)+V(mt+1))+ γ2(Δt+2−γV(mt+3)+V(mt+1))+ ⋯+ γT−t(ΔT−t−γV(mT−t+1)+V(mT−t))+ γT−t+1(ΔT−1−γV(mT)+V(mT−1))+ γT−tV(mT)=Δt+γΔt+1+γ2Δt+2+⋯+γT−tΔT−t+γT−t+1ΔT−1 UN^t=−V(mt)+lt+γlt+1+γ2lt+2+⋯+γT−tlT−2+γT−t+1lT−1+γT−tV(mT)=−V(mt)+lt+γlt+1+⋯+γT−t+1lT−1+γT−tV(mT)=−V(mt)+ Δt−γV(mt+1)+V(mt)+ γ(Δt+1−γV(mt+2)+V(mt+1))+ γ2(Δt+2−γV(mt+3)+V(mt+1))+ ⋯+ γT−t(ΔT−t−γV(mT−t+1)+V(mT−t))+ γT−t+1(ΔT−1−γV(mT)+V(mT−1))+ γT−tV(mT)=Δt+γΔt+1+γ2Δt+2+⋯+γT−tΔT−t+γT−t+1ΔT−1
Le clipping agit comme un régulateur en supprimant l’incitation à des changements radicaux de politique.hyperparamètres ϵ epsilonϵ Correspond à la distance entre la nouvelle stratégie et l'ancienne stratégie。
Il est toujours possible que ce type de découpage aboutisse à terme à une nouvelle stratégie très éloignée de l'ancienne stratégie. Dans la mise en œuvre ici, nous utilisons une méthode particulièrement simple :Arrêtez-vous tôt . Si la divergence KL moyenne de la nouvelle politique par rapport à l'ancienne politique dépasse un seuil, nous arrêtons d'exécuter l'étape de gradient.
Lien de dérivation simple de la fonction objectif PPO
La fonction objective de PPO-Clip est :
~
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θkAGRAFE(θ)=m,un∼θkE[min(πθk(un∣m)πθ(un∣m)UNθk(m,un),agrafe(πθk(un∣m)πθ(un∣m),1−ϵ,1+ϵ)UNθk(m,un))]
~
$underset{s, asimtheta_k}{rm E}$
E s , a ∼ θ k ~~~sous-ensemble{s, asimtheta_k}{rm E} m,un∼θkE
~
Non. kk Paramètres de stratégie pour les itérations θ k thêta_kθk, ϵ epsilonϵ est un petit hyperparamètre.
installation ϵ ∈ ( 0 , 1 ) epsilonine(0,1)ϵ∈(0,1), définition
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(l,UN,ϵ)≐min(lUN,agrafe(l,1−ϵ,1+ϵ)UN)
quand A ≥ 0 Âgeq0UN≥0
F ( r , UNE , ϵ ) = min ( r UNE , clip ( r , 1 − ϵ , 1 + ϵ ) UNE ) = UNE min ( r , clip ( r , 1 − ϵ , 1 + ϵ ) ) = UNE min ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = UNE { 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 − ϵ } D'après la plage du côté droit = A min ( r , 1 + ϵ ) = min ( r A , ( 1 + ϵ ) A )début{aligné}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,gauche{début{aligné}&1+epsilon~~&rgeq1+epsilon\ &r &rin(1-epsilon,1+epsilon)\ &1-epsilon &rleq1-epsilon\ fin{aligné}droite}Bigg)\ &=Agauche{mindroite}\ &=Agauche{right}~~~~~textcolor{blue}{selon la plage à droite}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) end{aligned} F(l,UN,ϵ)=min(lUN,agrafe(l,1−ϵ,1+ϵ)UN)=UNmin(l,agrafe(l,1−ϵ,1+ϵ))=UNmin(l,⎩ ⎨ ⎧1+ϵ l1−ϵl≥1+ϵl∈(1−ϵ,1+ϵ)l≤1−ϵ⎭ ⎬ ⎫)=UN⎩ ⎨ ⎧min(l,1+ϵ) min(l,l)min(l,1−ϵ)l≥1+ϵl∈(1−ϵ,1+ϵ)l≤1−ϵ⎭ ⎬ ⎫=UN⎩ ⎨ ⎧1+ϵ lll≥1+ϵl∈(1−ϵ,1+ϵ)l≤1−ϵ⎭ ⎬ ⎫ Selon la plage à droite=UNmin(l,1+ϵ)=min(lUN,(1+ϵ)UN)
~
quand Un < 0 Un < 0UN<0
F ( r , UNE , ϵ ) = min ( r UNE , clip ( r , 1 − ϵ , 1 + ϵ ) UNE ) = UNE max ( r , clip ( r , 1 − ϵ , 1 + ϵ ) ) = UNE max ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = UNE { 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 − ϵ } D'après la plage du côté droit = A max ( r , 1 − ϵ ) = min ( r A , ( 1 − ϵ ) A )droite}Bigg)\ &=Agauche{droite}\ &=Agauche{right}~~~~~textcolor{blue}{selon la plage à droite}\ &=Amax(r, 1-epsilon)\ &=textcolor{blue}{min}Bigg(rA,(1-epsilon) ABigg) fin{aligné} F(l,UN,ϵ)=min(lUN,agrafe(l,1−ϵ,1+ϵ)UN)=UNmunX(l,agrafe(l,1−ϵ,1+ϵ))=UNmax(l,⎩ ⎨ ⎧1+ϵ l1−ϵl≥1+ϵl∈(1−ϵ,1+ϵ)l≤1−ϵ⎭ ⎬ ⎫)=UN⎩ ⎨ ⎧max(l,1+ϵ) max(l,l)max(l,1−ϵ)l≥1+ϵl∈(1−ϵ,1+ϵ)l≤1−ϵ⎭ ⎬ ⎫=UN⎩ ⎨ ⎧l l1−ϵl≥1+ϵl∈(1−ϵ,1+ϵ)l≤1−ϵ⎭ ⎬ ⎫ Selon la plage à droite=UNmax(l,1−ϵ)=mjen(lUN,(1−ϵ)UN)
~
En résumé : définissable g ( ϵ , A ) g(epsilon,A)g(ϵ,UN)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA < 0 g(epsilon,A)=gauche{droite. g(ϵ,UN)={(1+ϵ)UN (1−ϵ)UNUN≥0UN<0
Pourquoi cette définition empêche-t-elle la nouvelle stratégie de s’éloigner trop de l’ancienne stratégie ?
Les méthodes d’échantillonnage par importance efficaces nécessitent de nouvelles stratégies π θ ( a ∣ s ) pi_theta(a|s)πθ(un∣m) et les anciennes stratégies π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθk(un∣m) La différence entre les deux distributions ne peut pas être trop grande
1. Quand l’avantage est positif
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(m,un,θk,θ)=min(πθk(un∣m)πθ(un∣m),1+ϵ)UNπθk(m,un)
Fonction avantage : trouvez une certaine paire état-action avec plus de récompenses -> augmentez le poids de la paire état-action.
Lorsqu'une paire état-action ( s , un ) ( s, un )(m,un) est positif, alors si l'action aaun est plus susceptible d'être exécuté, c'est-à-dire si π θ ( a ∣ s ) pi_theta(a|s)πθ(un∣m) Augmentez et l'objectif augmentera.
min dans cet élément limite la fonction objectif à augmenter uniquement jusqu'à une certaine valeur
une fois π θ ( a ∣ s ) > ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)>(1+epsilon)pi_{theta_k}(a|s)πθ(un∣m)>(1+ϵ)πθk(un∣m), min déclencheurs, limitant la valeur de cet élément à ( 1 + ϵ ) π θ k ( a ∣ s ) (1+epsilon)pi_{thêta_k}(a|s)(1+ϵ)πθk(un∣m)。
la nouvelle politique n’a pas intérêt à s’éloigner de l’ancienne.
La nouvelle stratégie ne gagnera pas à s’éloigner de l’ancienne stratégie.
2. Quand l’avantage est négatif
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(m,un,θk,θ)=max(πθk(un∣m)πθ(un∣m),1−ϵ)UNπθk(m,un)
Lorsqu'une paire état-action ( s , un ) ( s, un )(m,un) L'avantage est négatif, alors si l'action aaun est encore moins probable, c'est-à-dire si π θ ( a ∣ s ) π_theta(a|s)πθ(un∣m) diminuera, la fonction objectif augmentera. Mais le maximum de ce terme limite la mesure dans laquelle la fonction objectif peut être augmentée.
une fois π θ ( a ∣ s ) < ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)<(1-epsilon)pi_{theta_k}(a|s)πθ(un∣m)<(1−ϵ)πθk(un∣m), nombre maximum de déclencheurs, limitant la valeur de cet élément à ( 1 − ϵ ) π θ k ( a ∣ s ) (1-epsilon)pi_{thêta_k}(a|s)(1−ϵ)πθk(un∣m)。
Encore une fois : la nouvelle politique n’a aucun avantage à s’éloigner de l’ancienne politique.
La nouvelle stratégie ne gagnera pas à s’éloigner de l’ancienne stratégie.
Bien que DDPG puisse parfois atteindre d'excellentes performances, il est souvent instable lorsqu'il s'agit d'hyperparamètres et d'autres types de réglage.
Un mode d'échec courant du DDPG est que la fonction Q apprise commence à surestimer considérablement la valeur Q, ce qui entraîne ensuite la rupture de la politique car elle exploite l'erreur dans la fonction Q.
Twin Delayed DDPG (TD3) est un algorithme qui résout ce problème en introduisant trois techniques clés :
1、Double Q-Learning tronqué。
2、Retard de mise à jour des règles。
3. Lissage de la stratégie cible.
TD3 est un algorithme hors politique, il ne peut être utilisé qu'aveccontinuL’environnement de l’espace d’action.
Algorithme : TD3
Utiliser des paramètres aléatoires θ 1 , θ 2 , ϕ thêta_1, thêta_2, phiθ1,θ2,ϕ Initialiser le réseau critique Q θ 1 , Q θ 2 Q_{thêta_1}, Q_{thêta_2}Qθ1,Qθ2, et réseau d'acteurs π ϕ pi_phiπϕ
Initialiser le réseau cible θ 1 ′ ← θ 1 , θ 2 ′ ← θ 2 , ϕ ′ ← ϕ thêta_1^primeleftarrowthêta_1, thêta_2^primeleftarrowthêta_2, phi^primeleftarrow phiθ1′←θ1,θ2′←θ2,ϕ′←ϕ
Initialiser le jeu de tampons de lecture B cal BB
pour t = 1 à T {bf pour}~t=1 ~{bf à} ~Tpour t=1 à T :
~~~~~~ Sélectionnez l'action avec le bruit d'exploration a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)un∼πϕ(m)+ϵ, ϵ∼N(0,σ), récompense d'observation rrl et nouveau statut s ′ s^primem′
~~~~~~ Le tuple de transition ( s , a , r , s ′ ) (s, a,r, s^prime)(m,un,l,m′) dépôt à B cal BB milieu
~~~~~~ depuis B cal BB Échantillonnage de petits lots NNN transitions ( s , a , r , s ′ ) (s, a, r, s^prime)(m,un,l,m′)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ clip ( N ( 0 , σ ~ ) , − c , c ) ~~~~~~flèche gauche pi_{phi^prime}(s^prime)+epsilon,~~epsilonim{rm clip}({cal N}(0,sigma étendu),-c,c) un ←πϕ′(m′)+ϵ, ϵ∼agrafe(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) et←l+γje=1,2minQθje′(m′,un )
~~~~~~ Critiques de mise à jour θ i ← arg min θ i N − 1 ∑ ( y − Q θ i ( s , a ) ) 2 theta_ileftarrowargminlimits_{theta_i}N^{-1}somme(y-Q_{theta_i}(s, a))^2θje←argθjeminN−1∑(et−Qθje(m,un))2
~~~~~~ si t % d {bf si}~t~ % ~dsi t % d:
~~~~~~~~~~~ Mise à jour via un gradient politique déterministe ϕ 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(m,un)∣un=πϕ(m)∇ϕπϕ(m)
~~~~~~~~~~~ Mettre à jour le réseau cible :
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~~theta_i^primeflèchegauchetautheta_i+(1-tau)theta_i^prime~~~~~ θje′←τθje+(1−τ)θje′ τ tauτ: Taux de mise à jour cible
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~~~phi^primeflèchegauchetauphi+(1-tau)phi^prime ϕ′←τϕ+(1−τ)ϕ′
fin si ~~~~~~{bf fin ~si} fin si
fin pour {bf fin ~pour}fin pour
Maximisez l'entropie de la politique, rendant ainsi la politique plus robuste.
stratégie déterministe Cela signifie qu'à état identique, choisissez toujours la même action
stratégie du hasard Cela signifie qu’il existe de nombreuses actions possibles qui peuvent être sélectionnées dans un état donné.
stratégie déterministe | stratégie du hasard | |
---|---|---|
définition | Même état, effectuez la même action | même statut,Peut effectuer différentes actions |
avantage | Stable et reproductible | Évitez de tomber dans des solutions optimales locales et améliorez les capacités de recherche mondiales |
défaut | Manque d'explorabilité et facile à attraper par les adversaires | Cela peut entraîner une convergence lente de la stratégie, affectant l’efficacité et les performances. |
En application réelle, si les conditions le permettent, nousEssayez d'utiliserstratégie du hasard, comme A2C, PPO, etc., car il est plus flexible, plus robuste et plus stable.
L'apprentissage par renforcement d'entropie maximale estime que même si nous disposons actuellement de stratégies aléatoires matures, à savoir des algorithmes tels que AC, nous n'avons toujours pas atteint un caractère aléatoire optimal.Il introduit donc unentropie des informationsnotion, dansMaximiser la récompense cumulée tout en maximisant l'entropie de la politique, rendant la stratégie plus robuste et obtenant la stratégie aléatoire optimale.
——————————————————
Lien d'interface OpenAI Documentation_SAC
~
Soft Actor-Critic : Apprentissage par renforcement profond à entropie maximale hors politique avec un acteur stochastique, Haarnoja et al, 201808 ICML 2018
Algorithmes et applications Soft Actor-Critic, Haarnoja et al, 201901
Apprendre à marcher grâce à l'apprentissage par renforcement profond, Haarnoja et al, 201906 RSS2019
Soft Actor Critic (SAC) optimise les stratégies aléatoires d'une manière hors politique.
DDPG + optimisation de stratégie stochastique
Ce n'est pas un successeur direct du TD3 (sorti à peu près à la même époque).
Il intègre l'astuce du double Q écrêté et, en raison du caractère aléatoire inhérent à la stratégie de SAC, il bénéficie également en fin de compte delissage de la politique cible。
Une fonctionnalité essentielle de SAC est régularisation de l'entropie régularisation de l'entropie。
La politique est formée pour maximiser le compromis entre la récompense attendue et l'entropie,L'entropie est une mesure du caractère aléatoire d'une politique。
Ceci est étroitement lié au compromis entre exploration et exploitation : une augmentation de l’entropie conduit àPlus à explorer,C'est acceptableAccélérer l’apprentissage ultérieur .c'est bonEmpêcher la politique de converger prématurément vers un mauvais optimum local。
Il peut être utilisé à la fois dans l’espace d’action continu et dans l’espace d’action discret.
exister Apprentissage par renforcement régularisé par l'entropie, l'agent obtient etL'entropie de la politique à ce pas de tempsRécompenses proportionnelles.
À l'heure actuelle, le problème RL est décrit comme :
π ∗ = 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]π∗=argπmaxτ∼πE[t=0∑∞γt(R(mt,unt,mt+1)+αH(π(⋅∣mt)))]
dans α > 0 alpha > 0α>0 est le coefficient de compromis.
Fonction de valeur d'état incluant la récompense d'entropie à chaque pas de temps V π V^piVπ pour:
V π ( s ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , a , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s ] V^pi(s)=sous-ensemble{tausimpi}{rm E}Grand[sommelimites_{t=0}^inftygamma^tGrand(R(s_t,a_t,s_{t+1})+alpha H(pi(·|s_t))Grand)Grand|s_0=sGrand]Vπ(m)=τ∼πE[t=0∑∞γt(R(mt,unt,mt+1)+αH(π(⋅∣mt))) m0=m]
Une fonction de valeur d'action qui inclut la récompense d'entropie pour chaque pas de temps sauf le premier Q π Q^piQπ:
Q π ( s , a ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , a , st + 1 ) + α ∑ t = 1 ∞ H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s , a 0 = a ] Q^pi(s,a)=sous-ensemble{tausimpi}{rm E}Grand[sommelimites_{t=0}^inftygamma^tGrand(R(s_t,a_t,s_{t+1})+alpha sommelimites_{t=1}^infty H(pi(·|s_t))Grand)Grand|s_0=s,a_0=aGrand]Qπ(m,un)=τ∼πE[t=0∑∞γt(R(mt,unt,mt+1)+αt=1∑∞H(π(⋅∣mt))) m0=m,un0=un]
V π V^piVπ et Q π Q^piQπ La relation entre est la suivante :
V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=sous-ensemble{asimpi}{rm E}[Q^pi(s, a)]+alpha H(pi(·|s))Vπ(m)=un∼πE[Qπ(m,un)]+αH(π(⋅∣m))
à propos Q π Q^piQπ La formule de Bellman est :
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π(m,un)=un′∼πm′∼PE[R(m,un,m′)+γ(Qπ(m′,un′)+αH(π(⋅∣m′)))]=m′∼PE[R(m,un,m′)+γVπ(m′)]
SAC apprend une politique simultanément π θ π_thêtaπθ et deux QQQ fonction Q ϕ 1 , Q ϕ 2 Q_{phi_1}, Q_{phi_2}Qϕ1,Qϕ2。
Il existe actuellement deux variantes du SAC standard : l'une utilise unCoefficient de régularisation de l'entropie alpha-alphaα, un autre en changeant pendant l'entraînement alpha-alphaα pour appliquer des contraintes d’entropie.
La documentation d'OpenAI utilise une version avec un coefficient de régularisation d'entropie fixe, mais en pratique elle est souvent préféréecontrainte d'entropieune variante.
Comme indiqué ci-dessous, dans alpha-alphaα Dans la version fixe, à l'exception de la dernière photo qui présente des avantages évidents, les autres n'ont que de légers avantages, essentiellement les mêmes que alpha-alphaα La version d'apprentissage reste la même ; alpha-alphaα Les deux images du milieu où la version d'apprentissage présente des avantages sont plus évidentes.
SAC
CONTRETD3
:
~
Même point :
1. Les deux fonctions Q sont apprises en minimisant le MSBE (Mean Squared Bellman Error) par régression vers un seul objectif partagé.
2. Utilisez le réseau Q cible pour calculer la cible partagée et effectuez une moyenne polyak sur les paramètres du réseau Q pendant le processus de formation pour obtenir le réseau Q cible.
3. La cible partagée utilise la technique du double Q tronqué.
~
différence:
1. SAC contient un terme de régularisation d'entropie
2. La prochaine action de l’État utilisée dans l’objectif SAC vient deStratégie actuelle, plutôt que la stratégie cible.
3. Il n’existe pas de stratégie cible claire pour le lissage. TD3 entraîne une politique déterministe en passant à l'état suivantAjouter du bruit aléatoire pour obtenir de la douceur. SAC entraîne une politique aléatoire, et le bruit du hasard est suffisant pour obtenir des effets similaires.
Algorithme : Soft Acteur-Critique SAC
entrer: θ 1 , θ 2 , ϕ thêta_1, thêta_2, phi~~~~~θ1,θ2,ϕ Paramètres d'initialisation
Initialisation des paramètres :
~~~~~~ Initialisez les pondérations du réseau cible : θ ˉ 1 ← θ 1 , θ ˉ 2 ← θ 2 barre theta_1leftarrowtheta_1, barre theta_2leftarrowtheta_2θˉ1←θ1,θˉ2←θ2
~~~~~~ Le pool de lecture est initialisé pour être vide : D ← ∅ {cal D}flèche gauchevideD←∅
pour {bf pour}pour chaque itération faire {bf faire}faire :
~~~~~~ pour {bf pour}pour Chaque étape de l'environnement faire {bf faire}faire :
~~~~~~~~~~~ Exemples d'actions d'une stratégie : à ∼ π ϕ ( à ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~unt∼πϕ(unt∣mt) ▢Ici π ϕ ( à ∣ st ) pi_phi(a_t|s_t)πϕ(unt∣mt) Comment définir ?
~~~~~~~~~~~ Exemples de transitions à partir de l'environnement : st + 1 ∼ p ( st + 1 ∣ st , à ) s_{t+1}sim p(s_{t+1}|s_t,a_t)mt+1∼p(mt+1∣mt,unt)
~~~~~~~~~~~ Enregistrez la transition vers le pool de lecture : D ← D ∪ { ( st , à , r ( st , à ) , st + 1 ) } {cal D}leftarrow{cal D}~cup~{(s_t,a_t,r(s_t,a_t),s_{t+1})}D←D ∪ {(mt,unt,l(mt,unt),mt+1)}
~~~~~~ fin pour {bf fin ~pour}fin pour
~~~~~~ pour {bf pour}pour Chaque étape du dégradé faire {bf faire}faire :
~~~~~~~~~~~ renouveler QQQ Paramètres de fonction: pour i ∈ { 1 , 2 } iin{1,2}je∈{1,2}, θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) theta_ileftarrowtheta_i-lambda_Qhat nabla_{theta_i}J_Q(theta_i)~~~~~θje←θje−λQ∇^θjeJQ(θje) ▢Ici JQ ( θ i ) J_Q(theta_i)JQ(θje) Comment définir ?
~~~~~~~~~~~ Mettre à jour les pondérations de la stratégie : ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) phileftarrowphi-lambda_pihat nabla_phi J_pi (phi)~~~~~ϕ←ϕ−λπ∇^ϕJπ(ϕ) ▢Ici J π ( ϕ ) J_pi (phi)Jπ(ϕ) Comment définir ?
~~~~~~~~~~~ Ajuster la température : α ← α − λ ∇ ^ α J ( α ) alphaleftarrowalpha-lambdahatnabla_alpha J(alpha)~~~~~α←α−λ∇^αJ(α) ▢Ici J ( α ) J(alpha)J(α) Comment définir ?Comment comprendre la température ici ?
~~~~~~~~~~~ Mettre à jour les pondérations du réseau cible : pour i ∈ { 1 , 2 } iin{1,2}je∈{1,2}, θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i bar theta_ileftarrow tau theta_i-(1-tau)bar theta_i~~~~~θˉje←τθje−(1−τ)θˉje ▢ Comment comprendre cela τ tauτ ? ——>Coefficient de lissage cible
~~~~~~ fin pour {bf fin ~pour}fin pour
fin pour {bf fin ~pour}fin pour
Sortir: θ 1 , θ 1 , ϕ thêta_1, thêta_1, phi~~~~~θ1,θ1,ϕ Paramètres optimisés
∇ ^ a dit∇^: gradient stochastique
$emptyset$
∅ ~~~~ensemble vide ∅
Apprendre à marcher grâce à l'apprentissage par renforcement profond Version en :
~
α
α
α est le paramètre de température, qui détermine l'importance relative du terme d'entropie et de la récompense, contrôlant ainsi le caractère aléatoire de la stratégie optimale.
alpha-alphaα Grand : Explorer
alpha-alphaα Petit : exploiter
J ( α ) = E à ∼ π t [ − α log π t ( à ∣ st ) − α H ˉ ] J(alpha)=underset{a_tsimpi_t}{mathbb E}[-alphalog pi_t(a_t|s_t)-alphabar{cal H}]J(α)=unt∼πtE[−αlogπt(unt∣mt)−αHˉ]