Compartir tecnología

# [0705] Tarea06 Algoritmo DDPG, algoritmo PPO, algoritmo SAC [solo teoría]

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • easy-rl versión PDF organización de notas P5, P10 - P12
  • suplemento comparativo joyrl P11-P13
  • Organización de documentos OpenAI ⭐ https://spinningup.openai.com/en/latest/index.html

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

Descargar la última versión en PDF
Dirección: https://github.com/datawhalechina/easy-rl/releases
Dirección nacional (recomendada para lectores nacionales)
Enlace: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw Código de extracción: us6a

Enlace de la versión en línea de easy-rl (para copiar el código)
Enlace de referencia 2: https://datawhalechina.github.io/joyrl-book/

otro:
[Enlace de registro de erratas]
——————
5. Conceptos básicos del aprendizaje por refuerzo profundo ⭐️
Contenido de código abierto: https://linklearner.com/learn/summary/11
——————————

Insertar descripción de la imagen aquí
Fuente de imagen

Optimización de políticas próximas (PPO)

Estrategia idéntica: el agente a aprender y el agente que interactúa con el entorno son el mismo.
Estrategias heterogéneas: el agente que aprende y el agente que interactúa con el entorno son diferentes

Gradiente de políticas: requiere mucho tiempo para muestrear datos

misma estrategia ⟹ Muestreo de importancia ~~~overset{Muestreo de importancia}{Longrightarrow}~~~   muestreo de importancia    diferentes estrategias

PPO: Evite dos distribuciones que difieran demasiado. mismo algoritmo de estrategia
1. Elementos de optimización originales. J ( θ , θ ′ ) J(theta,theta^prima)Yo(θ,θ)
2. Elementos de restricción: θ-thetaθ y θ ′ theta^primeθ La divergencia KL de la acción de salida ( θ-thetaθ y θ ′ theta^primeθ Cuanto más parecidos mejor)

PPO tiene un predecesor: optimización de políticas de región de confianza (TRPO)
TRPO es difícil de manejar porque trata la restricción de divergencia de KL como una restricción adicional y no se coloca en la función objetivo, por lo que es difícil de calcular. Por lo tanto, generalmente utilizamos PPO en lugar de TRPO. El desempeño de PPO y TRPO es similar, pero PPO es mucho más fácil de implementar que TRPO.

Divergencia KL: distancia de acción.Distribución de probabilidad de realizar una acción. distancia.

Hay dos variantes principales del algoritmo PPO: penalización de optimización de políticas proximales (penalización PPO) y recorte de optimización de políticas proximales (clip PPO).

Insertar descripción de la imagen aquí

Rendimiento similar, más fácil de implementar
Optimización de la estrategia de la zona de confianza ( Optimización de la política de la región de confianza (TRPO)
Optimización de la estrategia próxima ( optimización de políticas proximales, PPO
Penalización de optimización de política próxima ( PPO-penalización)
Adaptación de la optimización de la estrategia próxima ( Clip PPO)

——————————
P10 Problema de recompensa escasa
1. Diseñar recompensas. Requiere conocimiento del dominio
¿Qué tal asignar la recompensa final a cada acción relevante?

2. Curiosidad
Módulo de curiosidad intrínseca (ICM)
ingresar: en , st a_t,s_taa,sa
Producción: s ^ t + 1 sombrero s_{t+1}s^a+1
El valor previsto de la red. s ^ t + 1 sombrero s_{t+1}s^a+1 con valor verdadero s_t + 1 s_t + 1sa+1 Cuanto más diferentes sean, más rti r_t^iaai El más grande

rti r_t^iaai : Cuanto más difícil sea predecir el estado futuro, mayor será la recompensa por la acción. Fomente la aventura y la exploración.

  • El indicador es demasiado único y es posible que solo aprendas cosas inútiles.

extractor de funciones

Red 2:
Entrada: vector ϕ ( st ) {bm phi}(s_{t})ϕ(sa) y ϕ ( st + 1 ) {bm phi}(s_{t+1})ϕ(sa+1)

Predecir la acción un ^ sombrero una^ Cuanto más se acerque a la acción real, mejor.

Insertar descripción de la imagen aquí

3. Estudio del curso

Fácil -> Difícil

Aprendizaje curricular inverso:
Comenzando desde el estado final más ideal [lo llamamos estado dorado], vaya aEncuentra el estado más cercano al estado dorado Como un estado "ideal" por etapas que desea que alcance el agente. Por supuesto, eliminaremos intencionalmente algunos estados extremos en este proceso, es decir, estados que son demasiado fáciles o demasiado difíciles.

4. Aprendizaje por refuerzo jerárquico (HRL)
La estrategia del agente se divide en estrategias de alto nivel y estrategias de bajo nivel. La estrategia de alto nivel determina cómo ejecutar la estrategia de bajo nivel en función del estado actual.

————————
P11 Aprendizaje por imitación
No estoy seguro de la escena de la recompensa.

Aprendizaje por imitación (IL)
aprendiendo de la demostración
Aprendizaje
aprendiendo mirando

Hay recompensas claras: juegos de mesa, videojuegos.
No se pueden dar recompensas claras: chatbot

Recopile demostraciones de expertos: registros de conducción humanos, conversaciones humanas.

A la inversa, ¿qué tipo de función de recompensa realiza el experto ante estas acciones?
El aprendizaje por refuerzo inverso esPrimero encuentre la función de recompensa.Después de encontrar la función de recompensa, utilice el aprendizaje por refuerzo para encontrar el actor óptimo.

Tecnología de aprendizaje por imitación en tercera persona.

————————
P12 gradiente político determinista profundo (DDPG)

Insertar descripción de la imagen aquí

Utilice la estrategia de repetición de experiencia

Análisis del experimento de ablación [método de variable controlada]cada restricciónimpacto en el resultado de la batalla.


alegría:

DDPG_continuo

en necesidadcertezaestrategia yacción continuaBajo la premisa del espacio, este tipo de algoritmo será un algoritmo de referencia relativamente estable.

DQN para espacios de acción continua

Algoritmo de gradiente de políticas determinista profundo (DDPG)

El mecanismo de repetición de experiencias puede reducir la correlación entre muestras, mejorar la utilización efectiva de las muestras y aumentar la estabilidad del entrenamiento.

defecto:
1. No se puede utilizar en un espacio de acción discreto.
2、Altamente dependiente de hiperparámetros
3. Condiciones iniciales muy sensibles. Afecta la convergencia y el rendimiento del algoritmo.
4. Es fácil caer en el óptimo local.

  • Debido a la adopción de una estrategia determinista, el algoritmo puede caer en un óptimo local y dificultar la búsqueda de la estrategia óptima global. Para aumentar la explorabilidad, es necesario tomar algunas medidas, como agregar estrategias de ruido o utilizar otros métodos de exploración.

La ventaja de la actualización suave es que es más suave y lenta, lo que puede evitar los shocks causados ​​por actualizaciones de peso demasiado rápidas y reducir el riesgo de divergencia en el entrenamiento.

Algoritmo de gradiente de política determinista de doble retraso (DDPG doble retrasado, TD3)

Algoritmo de gradiente de política determinista de doble retraso

Tres mejoras: red Doble Q, actualización retrasada, regularización de ruido
Red Doble Q : Dos redes Q, elija la que tenga un valor Q menor. Tratar el problema de sobreestimación del valor Q y mejorar la estabilidad y convergencia del algoritmo.

Actualización retrasada: permita que la frecuencia de actualización del actor sea menor que la frecuencia de actualización crítica

  • Pensar dos veces

El ruido es más como unRegularizaciónde una manera queactualización de la función de valormásliso

Biblioteca de gimnasio OpenAI_Pendulum_TD3

Enlace de interfaz de documento OpenAI sobre TD3

Enlace PDF del documento TD3

PPO_Espacio de acción continua/discreta [OpenAI 201708]

El algoritmo PPO más utilizado en el aprendizaje por refuerzo.
Discreto + continuo
Parámetros rápidos y estables, fáciles de ajustar.
algoritmo de referencia

PPO indeciso

En la práctica, las restricciones de recorte se utilizan generalmente porque son más simples, tienen un costo computacional más bajo y tienen mejores resultados.

El algoritmo fuera de política puedeaprovechar la experiencia histórica, generalmente usa la repetición de experiencias para almacenar y reutilizar experiencias anteriores,La eficiencia de utilización de datos es alta

PPO es un algoritmo basado en políticas

  • Aunque la parte del muestreo de importancia utiliza muestras del antiguo muestreo de actores,Estas muestras no se utilizan directamente para actualizar la estrategia. En cambio, el muestreo de importancia se utiliza para corregir primero los errores causados ​​por diferentes distribuciones de datos, incluso si la diferencia entre las dos distribuciones de muestra se reduce tanto como sea posible.En otras palabras, se puede entender que aunque las muestras después del muestreo de importancia se obtienen mediante muestreo mediante la estrategia anterior, puedenObtenido aproximadamente de la política actualizada., es decir, el actor que queremos optimizar y el actor que probamos son los mismos.

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

—— Documentación de OpenAI_PPO

Documentación de OpenAI
Enlace de la interfaz Paper arXiv: Algoritmos de optimización de políticas próximas

PPO: algoritmo on-policy, adecuado para espacios de acción discretos o continuos.Posible óptimo local

La motivación de PPO es la misma que de TRPO: cómo aprovechar los datos existentesDa el mayor paso de mejora posible en tu estrategia, sin cambiarlo demasiado y provocar accidentalmente una caída del rendimiento?
TRPO intenta resolver este problema con un enfoque sofisticado de segundo orden, mientras que PPO es un enfoque de primer orden que utiliza algunos otros trucos para mantener la nueva estrategia cerca de la anterior.
El método PPO es mucho más sencillo de implementar y, empíricamente, funciona al menos tan bien como TRPO.

Hay dos variaciones principales de PPO: PPO-Penalty y PPO-Clip.

  • PPO-Penalty resuelve aproximadamente las actualizaciones de restricciones de KL como TRPO, pero penaliza la divergencia de KL en la función objetivo en lugar de convertirla en una restricción estricta, y ajusta automáticamente el coeficiente de penalización durante el entrenamiento para que escale adecuadamente.
  • PPO-Clip no tiene divergencia KL ni restricciones en la función objetivo. En cambio, se basa en una adaptación específica de la función objetivo para eliminar el incentivo para que la nueva estrategia se aleje de la antigua.
    PPO-Clip (variante principal utilizada por OpenAl).

Insertar descripción de la imagen aquí

Pseudocódigo del algoritmo PPO-Clip

Insertar descripción de la imagen aquí

Algoritmo: PPO-Clip
1: Entrada: parámetros de estrategia iniciales θ 0 theta_0θ0, parámetros de función de valor inicial ϕ 0 phi_0ϕ0
2: para k = 0, 1, 2, … hacer {bf para} ~ k=0,1,2,puntos~ {bf hacer}para a=0,1,2, hacer
3:        ~~~~~~       Ejecutando la política en el entorno. π k = π ( θ k ) pi_k=pi(theta_k)πa=π(θa) Recoger conjunto de trayectoria D k = { τ i } {cal D}_k={tau_i}Da={τi}
4:        ~~~~~~       Calcular recompensas (recompensas para llevar) R ^ ese R_t~~~~~R^a      R ^ que R_tR^a reglas de cálculo
5:        ~~~~~~       Calcular la estimación de la ventaja, basándose en la función de valor actual V ϕ k V_{phi_k}Vϕa de A ^ que A_tA^a (Utilice cualquier método de estimación de dominancia)       ~~~~~       ▢ ¿Cuáles son los métodos actuales de estimación de ventajas?
6:        ~~~~~~       Actualice la política maximizando la función objetivo de PPO-Clip:
            ~~~~~~~~~~~            
θ k + 1 = arg ⁡ max ⁡ θ 1 ∣ D k ∣ T ∑ τ ∈ D k ∑ t = 0 T mín ⁡ ( π θ ( en ∣ st ) π θ k ( en ∣ st ) A π θ k ( st , en ) , g ( ϵ , A π θ k ( st , en ) ) ) ~~~~~~~~~~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(épsilon,A^{pi_{theta_k}}(s_t,a_t))Grande)           θa+1=ArkansasgramoramoramoramoramoramoramoramoramoθmáximoDayo1τDaa=0yomín.(πθa(aasa)πθ(aasa)Aπθa(sa,aa),gramoramoramoramoramoramoramoramoramo(ϵ,Aπθa(sa,aa)))       ~~~~~       ▢ ¿Cómo determinar la fórmula de actualización de la estrategia?
            ~~~~~~~~~~~            
            ~~~~~~~~~~~             π θ k pi_theta_k}πθa : Vector de parámetros de estrategia antes de la actualización. Muestreo de importancia. Muestreo a partir de viejas estrategias.
            ~~~~~~~~~~~            
            ~~~~~~~~~~~            Ascenso del gradiente estocástico general + Adam
7:        ~~~~~~       error cuadrático mediofunción de valor ajustado de regresión:
            ~~~~~~~~~~~            
ϕ 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           ϕa+1=Arkansasgramoramoramoramoramoramoramoramoramoϕmín.Dayo1τDaa=0yo(Vϕ(sa)R^a)2
            ~~~~~~~~~~~            
            ~~~~~~~~~~~            Descenso de gradiente general
8: fin para bf fin ~parafin para
             ~~~~~~~~~~~~             

$dots$ … ~~~puntos   

g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA &lt; 0 g(epsilon,A)=izquierda{(1+ϵ)A    A0(1ϵ)AA<0bien. gramoramoramoramoramoramoramoramoramo(ϵ,A)={(1+ϵ)A    (1ϵ)AA0A<0

Insertar descripción de la imagen aquí

en el papelEstimación de ventaja:

A ^ t = − V ( st ) + rt + γ rt + 1 + ⋯ + γ T − t + 1 r T − 1 + γ T − t V ( s T ) ⏟ R ^ t ? ? ? sombrero 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}{sombrero R_t???}}A^a=V(sa)+R^a??? aa+γaa+1++γyoa+1ayo1+γyoaV(syo)

Insertar descripción de la imagen aquí

hacer Δ t = rt + γ V ( st + 1 ) − V ( st ) Delta_t = r_t + gamma V(s_{t+1})-V(s_t)Δa=aa+yV(sa+1)V(sa)
pero rt = Δ t − γ V ( st + 1 ) + V ( st ) r_t=Delta_t - gamma V(s_{t+1})+V(s_t)aa=ΔayV(sa+1)+V(sa)

Sustituto A ^ que A_tA^a expresión

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 ) + Δ 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ˆAa=V(sa)+aa+γaa+1+γ2aa+2++γyoaayo2+γyoa+1ayo1+γyoaV(syo)=V(sa)+aa+γaa+1++γyoa+1ayo1+γyoaV(syo)=V(sa)+       ΔaγV(sa+1)+V(sa)+       γ(Δa+1γV(sa+2)+V(sa+1))+       γ2(Δa+2γV(sa+3)+V(sa+1))+       +       γyoa(ΔyoaγV(syoa+1)+V(syoa))+       γyoa+1(Δyo1γV(syo)+V(syo1))+       γyoaV(syo)=Δa+γΔa+1+γ2Δa+2++γyoaΔyoa+γyoa+1Δyo1 A^a=V(sa)+aa+γaa+1+γ2aa+2++γyoaayo2+γyoa+1ayo1+γyoaV(syo)=V(sa)+aa+γaa+1++γyoa+1ayo1+γyoaV(syo)=V(sa)+       ΔayV(sa+1)+V(sa)+       γ(Δa+1yV(sa+2)+V(sa+1))+       γ2(Δa+2yV(sa+3)+V(sa+1))+       +       γyoa(ΔyoayV(syoa+1)+V(syoa))+       γyoa+1(Δyo1yV(syo)+V(syo1))+       γyoaV(syo)=Δa+γΔa+1+γ2Δa+2++γyoaΔyoa+γyoa+1Δyo1

Insertar descripción de la imagen aquí

El recorte actúa como un regularizador al eliminar el incentivo para cambios drásticos en las políticas.hiperparámetros épsilonϵ Corresponde a la distancia entre la nueva estrategia y la antigua estrategia.

Todavía es posible que este tipo de recorte eventualmente dé como resultado una nueva estrategia que esté lejos de la estrategia anterior. En la implementación aquí, utilizamos un método particularmente simple:Deténgase temprano . Si la divergencia KL promedio de la nueva política de la política anterior excede un umbral, dejamos de ejecutar el paso de gradiente.

Enlace de derivación simple de la función objetivo de PPO
La función objetivo de PPO-Clip es:
  ~  
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)=subajuste{s, asimtheta_k}{rm E}Bigg[minBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}A^{theta_k}(s, a), {rm clip}Grande(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)},1-épsilon, 1+épsilonGrande)A^{theta_k}(s, a)Grande)Grande]yoθaACORTAR(θ)=s,aθami[mín.(πθa(as)πθ(as)Aθa(s,a),acortar(πθa(as)πθ(as),1ϵ,1+ϵ)Aθa(s,a))]
  ~  
$underset{s, asimtheta_k}{rm E}$ E s , a ∼ θ k ~~~subestimación{s, asimtheta_k}{rm E}   s,aθami
  ~  
No. yoa Parámetros de estrategia para iteraciones. θ k theta_kθa épsilonϵ es un pequeño hiperparámetro.
configuración ϵ ∈ ( 0 , 1 ) épsilon(0,1)ϵ(0,1), definición
F ( r , A , ϵ ) ≐ min ⁡ ( r A , clip ( r , 1 − ϵ , 1 + ϵ ) A ) F(r,A,épsilon)doteqminBigg(rA,{rm clip}(r,1-épsilon,1+épsilon)ABigg)F(a,A,ϵ)mín.(aA,acortar(a,1ϵ,1+ϵ)A)
cuando A ≥ 0 Edadq0A0
F ( r , A , ϵ ) = min ⁡ ( r A , clip ( r , 1 − ϵ , 1 + ϵ ) A ) = A min ⁡ ( r , clip ( 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 − ϵ } Según el rango del lado derecho = A min ⁡ ( r , 1 + ϵ ) = min ⁡ ( r A , ( 1 + ϵ ) A )begin{alineado}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,left{begin{alineado}&1+epsilon~~&rgeq1+epsilon\ &r &rin(1-epsilon,1+epsilon)\ &1-epsilon &rleq1-epsilon\ end{alineado}derecha}Bigg)\ &=Aizquierda{mín.derecha}\ &=Aizquierda{derecha}~~~~~textcolor{azul}{según el rango de la derecha}\ &=Amin(r, 1+epsilon)\ &=minBigg(rA, (1+epsilon)ABigg) end{aligned} F(a,A,ϵ)=mín.(aA,acortar(a,1ϵ,1+ϵ)A)=Amín.(a,acortar(a,1ϵ,1+ϵ))=Amín.(a, 1+ϵ  a1ϵa1+ϵa(1ϵ,1+ϵ)a1ϵ )=A mín.(a,1+ϵ)  mín.(a,a)mín.(a,1ϵ)a1+ϵa(1ϵ,1+ϵ)a1ϵ =A 1+ϵ  aaa1+ϵa(1ϵ,1+ϵ)a1ϵ      Según el rango de la derecha=Amín.(a,1+ϵ)=mín.(aA,(1+ϵ)A)
  ~  
cuando A &lt; 0 A &lt; 0A<0
F ( r , A , ϵ ) = min ⁡ ( r A , clip ( r , 1 − ϵ , 1 + ϵ ) A ) = A max ⁡ ( r , clip ( r , 1 − ϵ , 1 + ϵ ) ) = A máx ⁡ ( r , { 1 + ϵ r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } ) = A { máx ⁡ ( r , 1 + ϵ ) r ≥ 1 + ϵ máx ⁡ ( r , r ) r ∈ ( 1 − ϵ , 1 + ϵ ) máx ⁡ ( r , 1 − ϵ ) r ≤ 1 − ϵ } = A { r r ≥ 1 + ϵ rr ∈ ( 1 − ϵ , 1 + ϵ ) 1 − ϵ r ≤ 1 − ϵ } Según el rango del lado derecho = A max ⁡ ( r , 1 − ϵ ) = min ⁡ ( r A , ( 1 − ϵ ) A )derecha}Bigg)\ &=Aizquierda{derecha}\ &=Aizquierda{derecha}~~~~~textcolor{azul}{según el rango de la derecha}\ &=Amax(r, 1-epsilon)\ &=textcolor{blue}{min}Bigg(rA,(1-epsilon) ABigg) final {alineado} F(a,A,ϵ)=mín.(aA,acortar(a,1ϵ,1+ϵ)A)=AmetroetroaX(a,acortar(a,1ϵ,1+ϵ))=Amáximo(a, 1+ϵ  a1ϵa1+ϵa(1ϵ,1+ϵ)a1ϵ )=A máximo(a,1+ϵ)  máximo(a,a)máximo(a,1ϵ)a1+ϵa(1ϵ,1+ϵ)a1ϵ =A a  a1ϵa1+ϵa(1ϵ,1+ϵ)a1ϵ      Según el rango de la derecha=Amáximo(a,1ϵ)=metroetroinorte(aA,(1ϵ)A)
  ~  
En resumen: definible g ( ϵ , A ) g(épsilon,A)gramoramoramoramoramoramoramoramoramo(ϵ,A)
g ( ϵ , A ) = { ( 1 + ϵ ) A A ≥ 0 ( 1 − ϵ ) AA &lt; 0 g(epsilon,A)=izquierda{bien. gramoramoramoramoramoramoramoramoramo(ϵ,A)={(1+ϵ)A    (1ϵ)AA0A<0
Insertar descripción de la imagen aquí

¿Por qué esta definición impide que la nueva estrategia se aleje demasiado de la antigua?
Los métodos de muestreo de importancia eficaces requieren nuevas estrategias π θ ( a ∣ s ) pi_theta(a|s)πθ(as) y viejas estrategias π θ k ( a ∣ s ) pi_{theta_k}(a|s)πθa(as) La diferencia entre las dos distribuciones no puede ser demasiado grande.

1. Cuando la ventaja es positiva

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)yo(s,a,θa,θ)=mín.(πθa(as)πθ(as),1+ϵ)Aπθa(s,a)
Función de ventaja: encuentre un determinado par estado-acción con más recompensas -&gt; aumente el peso del par estado-acción.

Cuando un par estado-acción (s, un) (s, un)(s,a) es positivo, entonces si la acción Automóvil club británicoa es más probable que sea ejecutado, es decir, si π θ ( a ∣ s ) pi_theta(a|s)πθ(as) Aumenta y la meta aumentará.
min en este elemento limita la función objetivo para que solo aumente hasta un cierto valor
una vez π θ ( a ∣ s ) &gt; ( 1 + ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)&gt;(1+épsilon)pi_{theta_k}(a|s)πθ(as)>(1+ϵ)πθa(as), disparadores mínimos, lo que limita el valor de este elemento a ( 1 + ϵ ) π θ k ( a ∣ s ) (1+épsilon)pi_{theta_k}(a|s)(1+ϵ)πθa(as)
La nueva política no se beneficia alejándose de la antigua.
La nueva estrategia no se beneficiará al alejarse de la antigua estrategia.

2. Cuando la ventaja es negativa

L ( s , a , θ k , θ ) = máx ⁡ ( π θ ( a ∣ s ) π θ k ( a ∣ s ) , 1 − ϵ ) A π θ k ( s , a ) L(s,a,theta_k, theta)=máxBigg(frac{pi_theta(a|s)}{pi_{theta_k}(a|s)}, 1-épsilonBigg)A^{pi_{theta_k}}(s, a)yo(s,a,θa,θ)=máximo(πθa(as)πθ(as),1ϵ)Aπθa(s,a)

Cuando un par estado-acción (s, un) (s, un)(s,a) La ventaja es negativa, entonces si la acción Automóvil club británicoa es aún menos probable, es decir, si π θ ( a ∣ s ) π_theta(a|s)πθ(as) disminuye, la función objetivo aumentará. Pero el máximo en este término limita cuánto se puede aumentar la función objetivo.
una vez π θ ( a ∣ s ) &lt; ( 1 − ϵ ) π θ k ( a ∣ s ) pi_theta(a|s)&lt;(1-épsilon)pi_{theta_k}(a|s)πθ(as)<(1ϵ)πθa(as), disparadores máximos, limitando el valor de este elemento a ( 1 − ϵ ) π θ k ( a ∣ s ) (1-épsilon)pi_{theta_k}(a|s)(1ϵ)πθa(as)

Una vez más: la nueva política no se beneficia al alejarse mucho de la antigua política.
La nueva estrategia no se beneficiará al alejarse de la antigua estrategia.

TD3_solo consecutivo: Doble gradiente de políticas deterministas profundas y retrasadas [ICML 2018 (Canadá) Universidad McGill]

Insertar descripción de la imagen aquí
Fuente de imagen

Documentación de OpenAI_TD3
Enlace de papel

Si bien DDPG a veces puede lograr un rendimiento excelente, a menudo es inestable cuando se trata de hiperparámetros y otros tipos de ajuste.
Un modo de falla común de DDPG es que la función Q aprendida comienza a sobreestimar significativamente el valor Q, lo que luego hace que la política falle porque explota el error en la función Q.
Twin Delayed DDPG (TD3) es un algoritmo que resuelve este problema introduciendo tres técnicas clave:
1、Doble Q-Learning truncado

  • TD3 aprende dos funciones Q en lugar de una (de ahí el "gemelo") y utiliza el menor de los dos valores Q para formar el objetivo en la función de pérdida de error de Bellman.

2、Retraso en la actualización de la política

  • TD3 actualiza la política (y la red de destino) con menos frecuencia que la función Q. El documento recomienda actualizar la política cada vez que la función Q se actualiza dos veces.

3. Suavizado de la estrategia objetivo.

  • TD3 agrega ruido a la acción objetivo, lo que dificulta que la política aproveche los errores en la función Q al suavizar Q en los cambios de acción.

TD3 es un algoritmo fuera de política y sólo se puede utilizar con;continuoEl entorno del espacio de acción.

Pseudocódigo del algoritmo TD3

Insertar descripción de la imagen aquí

Algoritmo: TD3
Usar parámetros aleatorios θ 1 , θ 2 , ϕ theta_1, theta_2, fiθ1,θ2,ϕ Inicializar red crítica Q θ 1 , Q θ 2 Q_{theta_1}, Q_{theta_2}Qθ1,Qθ2y red de actores π ϕ pi_phiπϕ
Inicializar la red de destino θ 1 ′ ← θ 1 , θ 2 ′ ← θ 2 , ϕ ′ ← ϕ theta_1^primeleftarrowtheta_1, theta_2^primeleftarrowtheta_2, phi^primeleftarrow phiθ1θ1,θ2θ2,ϕϕ
Inicializar el conjunto de búfer de reproducción B cal BB
para t = 1 a T {bf para}~t=1 ~{bf a} ~Tpara a=1 a yo
       ~~~~~~       Seleccionar acción con ruido de exploración. a ∼ π ϕ ( s ) + ϵ , ϵ ∼ N ( 0 , σ ) asimpi_phi(s)+epsilon,~~epsilonsim {cal N}(0,sigma)aπϕ(s)+ϵ,  ϵnorte(0,σ), recompensa de observación rra y nuevo estatus s ′ s^primos
       ~~~~~~       La tupla de transición ( s , a , r , s ′ ) (s, a,r, s^primo)(s,a,a,s) depositar a B cal BB medio
       ~~~~~~       de B cal BB Muestreo de lotes pequeños Eneronorte transiciones ( s , a , r , s ′ ) (s, a, r, s^primo)(s,a,a,s)
a ~ ← π ϕ ′ ( s ′ ) + ϵ , ϵ ∼ clip ( N ( 0 , σ ~ ) , − c , c ) ~~~~~widetilde aleftarrow pi_{phi^prime}(s^prime)+epsilon,~~epsilonsim{rm clip}({cal N}(0,widetilde sigma),-c,c)      a πϕ(s)+ϵ,  ϵacortar(norte(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)      ya+γi=1,2mín.Qθi(s,a )
       ~~~~~~       Actualizar críticos θ i ← arg ⁡ min ⁡ θ i N − 1 ∑ ( y − Q θ i ( s , a ) ) 2 theta_ileftarrowargminlimits_{theta_i}N^{-1}suma(y-Q_{theta_i}(s, a))^2θiArkansasgramoramoramoramoramoramoramoramoramoθimín.norte1(yQθi(s,a))2
       ~~~~~~        si t % d {bf si}~t~ % ~dsi a % d
            ~~~~~~~~~~~            Actualización mediante gradiente de política determinista ϕ phiϕ
∇ ϕ J ( ϕ ) = N − 1 ∑ ∇ a Q θ 1 ( s , a ) ∣ a = π ϕ ( s ) ∇ ϕ π ϕ ( s ) ~~~~~~~~~~~~~~~~nabla _phi J(phi)=N^{-1}sumanabla_aQ_{theta_1}(s, a)|_{a=pi_phi(s)}nabla_phipi_phi(s)                 ϕYo(ϕ)=norte1aQθ1(s,a)a=πϕ(s)ϕπϕ(s)
            ~~~~~~~~~~~            Actualizar la red de destino:
θ i ′ ← τ θ i + ( 1 − τ ) θ i ′ ~~~~~~~~~~~~~~~~theta_i^primeleftarrowtautheta_i+(1-tau)theta_i^prime~~~~~                 θiτθi+(1τ)θi      τ tauτ: Tasa de actualización objetivo
ϕ ′ ← τ ϕ + ( 1 − τ ) ϕ ′ ~~~~~~~~~~~~~~~~phi^primeleftarrowtauphi+(1-tau)phi^prime                 ϕτϕ+(1τ)ϕ
fin si ~~~~~~{bf fin ~si}      fin si
fin para {bf fin ~para}fin para

Actor-crítico suave: SAC_Continuous/Discrete Action Space [última versión de Google Brain 201906]

Insertar descripción de la imagen aquí

Fuente de imagen

Maximizar la entropía de la política, haciéndola más sólida.

estrategia determinista Significa que ante el mismo estado, siempre eliges la misma acción.
estrategia de aleatoriedad Significa que hay muchas acciones posibles que se pueden seleccionar en un estado determinado.

estrategia deterministaestrategia de aleatoriedad
definiciónMismo estado, realizar la misma acción.mismo estado,Puede realizar diferentes acciones.
ventajaEstable y repetibleEvite caer en soluciones óptimas locales y mejore las capacidades de búsqueda global
defectoFalta de explorabilidad y facilidad para ser atrapado por los oponentes.Esto puede hacer que la estrategia converja lentamente, afectando la eficiencia y el rendimiento.

En la aplicación real, si las condiciones lo permiten,Tratar de usarestrategia de aleatoriedad, como A2C, PPO, etc., porque es más flexible, más robusto y más estable.

El aprendizaje por refuerzo de máxima entropía cree que, aunque actualmente tenemos estrategias de aleatoriedad maduras, es decir, algoritmos como AC, todavía no hemos logrado una aleatoriedad óptima.Por tanto, introduce unaentropía de la informaciónconcepto, enMaximizar la recompensa acumulada mientras se maximiza la entropía de la política., haciendo la estrategia más robusta y logrando la estrategia de aleatoriedad óptima.

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

—— Documentación OpenAI_SAC

Enlace de interfaz OpenAI Documentation_SAC
  ~  
Actor crítico blando: aprendizaje de refuerzo profundo de máxima entropía sin políticas con un actor estocástico, Haarnoja y otros, 201808 ICML 2018
Algoritmos y aplicaciones de actores críticos suaves, Haarnoja y otros, 201901
Aprender a caminar mediante el aprendizaje de refuerzo profundo, Haarnoja y col., 201906 RSS2019

Soft Actor Critic (SAC) optimiza estrategias aleatorias fuera de las políticas.

DDPG + optimización de estrategia estocástica

No es un sucesor directo de TD3 (lanzado aproximadamente al mismo tiempo).

Incorpora el truco de la doble Q recortada y, debido a la aleatoriedad inherente de la estrategia de SAC, en última instancia también se beneficia desuavización de políticas objetivo

Una característica central de SAC es regularización de entropía regularización de entropía
La política está entrenada para maximizar el equilibrio entre la recompensa esperada y la entropía,La entropía es una medida de la aleatoriedad de una política.
Esto está estrechamente relacionado con el equilibrio entre exploración y explotación: un aumento de la entropía conduce aMás para explorar,esto esta bienAcelerar el aprendizaje posterior .está bienEvitar que la política converja prematuramente hacia un mal óptimo local.

Se puede utilizar tanto en espacios de acción continuos como en espacios de acciones discretas.

existir Aprendizaje por refuerzo regularizado por entropía, el agente obtiene yLa entropía de la política en este paso de tiempo.Recompensas proporcionales.
En este momento el problema de RL se describe como:

π ∗ = 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]π=Arkansasgramoramoramoramoramoramoramoramoramoπmáximoτπmi[a=0γa(R(sa,aa,sa+1)+αyo(π(sa)))]

en α &gt; 0 alfa &gt; 0α>0 es el coeficiente de compensación.
Función de valor estatal que incluye recompensa de entropía en cada paso de tiempo V π V^piVπ para:

V π ( s ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s ] V^pi(s)=subconjunto{tausimpi}{rm E}Grande[sumalímites_{t=0}^inftygamma^tGrande(R(s_t,a_t,s_{t+1})+alfa H(pi(·|s_t))Grande)Grande|s_0=sGrande]Vπ(s)=τπmi[a=0γa(R(sa,aa,sa+1)+αyo(π(sa))) s0=s]

Una función de valor de acción que incluye la recompensa de entropía para cada paso de tiempo excepto el primer paso de tiempo. Q π Q^piQπ:

Q π ( s , a ) = E τ ∼ π [ ∑ t = 0 ∞ γ t ( R ( st , at , st + 1 ) + α ∑ t = 1 ∞ H ( π ( ⋅ ∣ st ) ) ) ∣ s 0 = s , a 0 = a ] Q^pi(s,a)=subconjunto{tausimpi}{rm E}Big[sumalímites_{t=0}^inftygamma^tBig(R(s_t,a_t,s_{t+1})+alfa sumalímites_{t=1}^infty H(pi(·|s_t))Big)Big|s_0=s,a_0=aBig]Qπ(s,a)=τπmi[a=0γa(R(sa,aa,sa+1)+αa=1yo(π(sa))) s0=s,a0=a]

  • algunos papeles Q π Q^piQπ Contiene la recompensa de entropía para el primer paso.

V π V^piVπ y Q π Q^piQπ La relación entre es:

V π ( s ) = E a ∼ π [ Q π ( s , a ) ] + α H ( π ( ⋅ ∣ s ) ) V^pi(s)=subconjunto{asimpi}{rm E}[Q^pi(s, a)]+alfa H(pi(·|s))Vπ(s)=aπmi[Qπ(s,a)]+αyo(π(s))

acerca de Q π Q^piQπ La fórmula de Bellman es:

Q π ( s , a ) = E s ′ ∼ P a ′ ∼ π [ R ( s , a , s ′ ) + γ ( Q π ( s ′ , a ′ ) + α H ( π ( ⋅ ∣ s ′ ) ) ) ] = E s ′ ∼ P [ R ( s , a , s ′ ) + γ V π ( s ′ ) ] Qπ(s,a)=aπsPAGAGmi[R(s,a,s)+γ(Qπ(s,a)+αyo(π(s)))]=sPAGAGmi[R(s,a,s)+γVπ(s)]

SAC aprende una política simultáneamente π θ π_thetaπθ y dos QQQ función Q ϕ 1 , Q ϕ 2 Q_{phi_1}, Q_{phi_2}Qϕ1,Qϕ2
Actualmente existen dos variantes del SAC estándar: una utiliza un sistema fijoCoeficiente de regularización de entropía alfaα, otro cambiando durante el entrenamiento alfaα para imponer restricciones de entropía.
La documentación de OpenAI utiliza una versión con un coeficiente de regularización de entropía fijo, pero en la práctica suele preferirserestricción de entropíavariante.

Como se muestra a continuación, en alfaα En la versión fija, a excepción de la última imagen que tiene ventajas obvias, las demás solo tienen ligeras ventajas, básicamente las mismas que alfaα La versión de aprendizaje sigue siendo la misma; alfaα Las dos imágenes del medio donde la versión de aprendizaje tiene ventajas son más obvias.

Insertar descripción de la imagen aquí
Fuente de imagen

SAC ContraTD3:
  ~  
Mismo punto:
1. Ambas funciones Q se aprenden minimizando MSBE (error cuadrático medio de Bellman) mediante regresión a un único objetivo compartido.
2. Utilice la red Q objetivo para calcular el objetivo compartido y realice un promedio Polyak en los parámetros de la red Q durante el proceso de entrenamiento para obtener la red Q objetivo.
3. El objetivo compartido utiliza la técnica de la doble Q truncada.
  ~  
diferencia:
1. SAC contiene un término de regularización de entropía
2. La siguiente acción estatal utilizada en el objetivo del SAC proviene deEstrategia actual, en lugar de la estrategia objetivo.
3. No existe una estrategia objetivo clara para la suavización. TD3 entrena una política determinista a través de acciones hacia el próximo estadoAgregar ruido aleatorio para lograr suavidad. SAC entrena una política aleatoria y el ruido de la aleatoriedad es suficiente para lograr efectos similares.

Pseudocódigo del algoritmo SAC

Insertar descripción de la imagen aquí

Algoritmo: SAC actor-crítico suave
ingresar: θ 1 , θ 2 , ϕ theta_1,theta_2,phi~~~~~θ1,θ2,ϕ      Parámetros de inicialización
Inicialización de parámetros:
       ~~~~~~       Inicialice los pesos de la red de destino: θ ˉ 1 ← θ 1 , θ ˉ 2 ← θ 2 barra theta_1flecha izquierdatheta_1, barra theta_2flecha izquierdatheta_2θˉ1θ1,θˉ2θ2
       ~~~~~~       El grupo de reproducción se inicializa para que esté vacío: D ← ∅ {cal D}flecha izquierdaconjunto vacíoD
para {bf para}para cada iteración hacer {bf hacer}hacer
       ~~~~~~        para {bf para}para Cada paso del entorno hacer {bf hacer}hacer
            ~~~~~~~~~~~            Acciones de ejemplo de una política: en ∼ π ϕ ( en ∣ st ) a_tsimpi_phi(a_t|s_t)~~~~~aaπϕ(aasa)      ▢Aquí π ϕ ( en ∣ st ) pi_phi(a_t|s_t)πϕ(aasa) ¿Cómo definir?
            ~~~~~~~~~~~            Ejemplos de transiciones del entorno: st + 1 ∼ p ( st + 1 ∣ st , en ) s_{t+1}sim p(s_{t+1}|s_t,a_t)sa+1pag(sa+1sa,aa)
            ~~~~~~~~~~~            Guarde la transición al grupo de reproducción: D ← D ∪ { ( st , a , r ( st , a ) , st + 1 ) } {cal D}leftarrow{cal D}~cup~{(s_t,a_t,r(s_t,a_t),s_{t+1})}DD  {(sa,aa,a(sa,aa),sa+1)}
       ~~~~~~        fin para {bf fin ~para}fin para
       ~~~~~~        para {bf para}para Cada paso de gradiente hacer {bf hacer}hacer
            ~~~~~~~~~~~            renovar QQQ Parámetros de función: para yo ∈ { 1 , 2 } yo en {1,2}i{1,2} θ i ← θ i − λ Q ∇ ^ θ i JQ ( θ i ) theta_ileftarrowtheta_i-lambda_Qque es la expresión de la ecuación (theta_i) de J_Q(theta_i)~~~~~θiθiλQ^θiYoQ(θi)      ▢Aquí JQ (θ i) J_Q(theta_i)YoQ(θi) ¿Cómo definir?
            ~~~~~~~~~~~            Actualizar pesos de estrategia: ϕ ← ϕ − λ π ∇ ^ ϕ J π ( ϕ ) phileftarrowphi-lambda_pihat nabla_phi J_pi (phi)~~~~~ϕϕλπ^ϕYoπ(ϕ)      ▢Aquí J π ( ϕ ) J_pi (phi)Yoπ(ϕ) ¿Cómo definir?
            ~~~~~~~~~~~            Ajustar la temperatura: α ← α − λ ∇ ^ α J ( α ) alphaleftarrowalpha-lambdahatnabla_alpha J(alfa)~~~~~ααλ^αYo(α)      ▢Aquí J ( α ) J(alfa)Yo(α) ¿Cómo definir?¿Cómo entender la temperatura aquí?
            ~~~~~~~~~~~             Actualizar pesos de red de destino: para yo ∈ { 1 , 2 } yo en {1,2}i{1,2} θ ˉ i ← τ θ i − ( 1 − τ ) θ ˉ i barra theta_ileftarrow tau theta_i-(1-tau)barra theta_i~~~~~θˉiτθi(1τ)θˉi      ▢ Cómo entender esto τ tauτ ? ——&gt;Coeficiente de suavizado objetivo
       ~~~~~~        fin para {bf fin ~para}fin para
fin para {bf fin ~para}fin para
Producción: θ 1 , θ 1 , ϕ theta_1,theta_1,phi~~~~~θ1,θ1,ϕ     Parámetros optimizados

∇ ^ sombrero nabla^: gradiente estocástico

$emptyset$ ∅ ~~~~conjunto vacío    

Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí

Aprender a caminar mediante el aprendizaje de refuerzo profundo Versión en:
  ~  
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

α α α es el parámetro de temperatura, que determina la importancia relativa del término de entropía y la recompensa, controlando así la aleatoriedad de la estrategia óptima.
alfaα Grande: explorar
alfaα Pequeño: explotar

J ( α ) = E en ∼ π t [ − α log ⁡ π t ( en ∣ st ) − α H ˉ ] J(alfa)=subconjunto{a_tsimpi_t}{mathbb E}[-alfalog pi_t(a_t|s_t)-alfabar{cal H}]Yo(α)=aaπami[αLogramoramoramoramoramoramoramoramoramoπa(aasa)αyoˉ]