Partage de technologie

# [0705] Algorithme Tâche06 DDPG, algorithme PPO, algorithme SAC [théorie uniquement]

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

Insérer la description de l'image ici

Insérer la description de l'image ici

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
——————————

Insérer la description de l'image ici
Source de l'image

Optimisation des politiques proximales (PPO)

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).

Insérer la description de l'image ici

Performances similaires, plus faciles à mettre en œuvre
Optimisation de la stratégie de zone de confiance ( Optimisation de la politique de la région de confiance (TRPO)
Optimisation de la stratégie proximale ( optimisation de la politique proximale, PPO
Pénalité d'optimisation de politique proximale ( (PPO-pénalité)
Adaptation de l'optimisation de la stratégie 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.

  • L'indicateur est trop unique et vous ne risquez d'apprendre que des choses inutiles.

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.

Insérer la description de l'image ici

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)

Insérer la description de l'image ici

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 :

DDPG_continu

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.

  • En raison de l’adoption d’une stratégie déterministe, l’algorithme peut tomber dans un optimum local et rendre difficile la recherche de la stratégie optimale globale. Afin d'augmenter l'explorabilité, certaines mesures doivent être prises, telles que l'ajout de stratégies de bruit ou l'utilisation d'autres méthodes d'exploration.

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 de politique déterministe à double retard (DDPG à double retard, TD3)

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

  • Réfléchissez à deux fois

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

Lien PDF de l'article TD3

PPO_Espace d'action continue/discrète [OpenAI 201708]

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

  • Bien que la partie échantillonnage d'importance utilise des échantillons de l'ancien échantillonnage d'acteurs, nousCes échantillons ne sont pas directement utilisés pour mettre à jour la stratégie. , mais utilisez l'échantillonnage par importance pour corriger d'abord les erreurs causées par différentes distributions de données, même si la différence entre les deux distributions d'échantillons est réduite autant que possible.En d'autres termes, on peut comprendre que bien que les échantillons après échantillonnage d'importance soient obtenus par échantillonnage selon l'ancienne stratégie, ils peuventApproximativement obtenu à partir de la politique mise à jour, c'est-à-dire que l'acteur que nous voulons optimiser et l'acteur que nous échantillonnons sont les mêmes.

——————————————————

—— Documentation OpenAI_PPO

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.

  • PPO-Penalty résout approximativement les mises à jour des contraintes KL comme TRPO, mais pénalise la divergence KL dans la fonction objectif au lieu d'en faire une contrainte dure, et ajuste automatiquement le coefficient de pénalité pendant l'entraînement afin qu'il évolue de manière appropriée.
  • PPO-Clip n'a pas de divergence KL ni de contraintes dans la fonction objectif. Au lieu de cela, elle repose sur une adaptation spécifique de la fonction objectif pour supprimer l’incitation de la nouvelle stratégie à s’éloigner de l’ancienne stratégie.
    PPO-Clip (variante principale utilisée par OpenAl).

Insérer la description de l'image ici

Pseudo-code de l'algorithme PPO-Clip

Insérer la description de l'image ici

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θmaxDkT1τDkt=0Tmin(πθk(untmt)πθ(untmt)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ϕminDkT1τDkt=0T(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 &lt; 0 g(epsilon,A)=gauche{(1+ϵ)UN    UN0(1ϵ)UNUN<0droite. g(ϵ,UN)={(1+ϵ)UN    (1ϵ)UNUN0UN<0

Insérer la description de l'image ici

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++γTt+1lT1+γTtV(mT)

Insérer la description de l'image ici

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++γTtlT2+γTt+1lT1+γTtV(mT)=V(mt)+lt+γlt+1++γTt+1lT1+γTtV(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))+       +       γTt(ΔTtγV(mTt+1)+V(mTt))+       γTt+1(ΔT1γV(mT)+V(mT1))+       γTtV(mT)=Δt+γΔt+1+γ2Δt+2++γTtΔTt+γTt+1ΔT1 UN^t=V(mt)+lt+γlt+1+γ2lt+2++γTtlT2+γTt+1lT1+γTtV(mT)=V(mt)+lt+γlt+1++γTt+1lT1+γTtV(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))+       +       γTt(ΔTtγV(mTt+1)+V(mTt))+       γTt+1(ΔT1γV(mT)+V(mT1))+       γTtV(mT)=Δt+γΔt+1+γ2Δt+2++γTtΔTt+γTt+1ΔT1

Insérer la description de l'image ici

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(unm)πθ(unm)UNθk(m,un),agrafe(πθk(unm)πθ(unm),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 Âgeq0UN0
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ϵl1+ϵl(1ϵ,1+ϵ)l1ϵ )=UN min(l,1+ϵ)  min(l,l)min(l,1ϵ)l1+ϵl(1ϵ,1+ϵ)l1ϵ =UN 1+ϵ  lll1+ϵl(1ϵ,1+ϵ)l1ϵ      Selon la plage à droite=UNmin(l,1+ϵ)=min(lUN,(1+ϵ)UN)
  ~  
quand Un &lt; 0 Un &lt; 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ϵl1+ϵl(1ϵ,1+ϵ)l1ϵ )=UN max(l,1+ϵ)  max(l,l)max(l,1ϵ)l1+ϵl(1ϵ,1+ϵ)l1ϵ =UN l  l1ϵl1+ϵl(1ϵ,1+ϵ)l1ϵ      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 &lt; 0 g(epsilon,A)=gauche{droite. g(ϵ,UN)={(1+ϵ)UN    (1ϵ)UNUN0UN<0
Insérer la description de l'image ici

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)πθ(unm) et les anciennes stratégies π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθk(unm) 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(unm)πθ(unm),1+ϵ)UNπθk(m,un)
Fonction avantage : trouvez une certaine paire état-action avec plus de récompenses -&gt; 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)πθ(unm) Augmentez et l'objectif augmentera.
min dans cet élément limite la fonction objectif à augmenter uniquement jusqu'à une certaine valeur
une fois π θ ( a ∣ s ) &gt; ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)&gt;(1+epsilon)pi_{theta_k}(a|s)πθ(unm)>(1+ϵ)πθk(unm), min déclencheurs, limitant la valeur de cet élément à ( 1 + ϵ ) π θ k ( a ∣ s ) (1+epsilon)pi_{thêta_k}(a|s)(1+ϵ)πθk(unm)
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(unm)πθ(unm),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)πθ(unm) 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 ) &lt; ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)&lt;(1-epsilon)pi_{theta_k}(a|s)πθ(unm)<(1ϵ)πθk(unm), 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(unm)

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.

TD3_seulement consécutif: Double gradient politique déterministe profond retardé [ICML 2018 (Canada) Université McGill]

Insérer la description de l'image ici
Source de l'image

Documentation OpenAI_TD3
Lien papier

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é

  • TD3 apprend deux fonctions Q au lieu d'une (d'où le "jumeau") et utilise la plus petite des deux valeurs Q pour former la cible dans la fonction de perte d'erreur de Bellman.

2、Retard de mise à jour des règles

  • TD3 met à jour la politique (et le réseau cible) moins fréquemment que la fonction Q. Le document recommande de mettre à jour la politique chaque fois que la fonction Q est mise à jour deux fois.

3. Lissage de la stratégie cible.

  • TD3 ajoute du bruit à l'action cible, ce qui rend plus difficile pour la politique d'exploiter les erreurs dans la fonction Q en lissant Q à travers les changements d'action.

TD3 est un algorithme hors politique, il ne peut être utilisé qu'aveccontinuL’environnement de l’espace d’action.

Pseudo-code de l'algorithme TD3

Insérer la description de l'image ici

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)      etl+γ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θjeargθjeminN1(etQθ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(ϕ)=N1unQθ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

Acteur-Critique doux : SAC_Continuous/Discrete Action Space [dernière version 201906 de Google Brain]

Insérer la description de l'image ici

Source de l'image

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éterministestratégie du hasard
définitionMême état, effectuez la même actionmême statut,Peut effectuer différentes actions
avantageStable et reproductibleÉvitez de tomber dans des solutions optimales locales et améliorez les capacités de recherche mondiales
défautManque d'explorabilité et facile à attraper par les adversairesCela 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.

——————————————————

—— Documentation OpenAI_SAC

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 α &gt; 0 alpha &gt; 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=1H(π(mt))) m0=m,un0=un]

  • quelques papiers Q π Q^piQπ Contient la récompense d'entropie pour le premier pas de temps

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πmPE[R(m,un,m)+γ(Qπ(m,un)+αH(π(m)))]=mPE[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.

Insérer la description de l'image ici
Source de l'image

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.

Pseudocode de l'algorithme SAC

Insérer la description de l'image ici

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πϕ(untmt)      ▢Ici π ϕ ( à ∣ st ) pi_phi(a_t|s_t)πϕ(untmt) 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+1p(mt+1mt,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})}DD  {(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τ ? ——&gt;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    

Insérer la description de l'image ici

Insérer la description de l'image ici

Apprendre à marcher grâce à l'apprentissage par renforcement profond Version en :
  ~  
Insérer la description de l'image ici
Insérer la description de l'image ici
Insérer la description de l'image ici

α α α 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(untmt)αHˉ]