Introducción al Aprendizaje por Refuerzo Profundo (DRL) y Clasificación de Algoritmos Comunes (DQN, DDPG, PPO, TRPO, SAC)

Presente brevemente los conceptos básicos del aprendizaje por refuerzo profundo, los algoritmos comunes, los procesos y su clasificación (actualizados continuamente), para que todos puedan comprender y aplicar mejor los algoritmos de aprendizaje por refuerzo, y resolver mejor los problemas de vanguardia en sus respectivos campos. Invitamos a todos a dejar un mensaje para discutir y progresar juntos.

(PD: si solo presta atención a la implementación del algoritmo, puede leer directamente el contenido de las partes 3 y 4).

1. Aprendizaje por refuerzo

Aprendizaje por Refuerzo (RL): Aprendizaje por Refuerzo
El Aprendizaje por Refuerzo es un tipo de aprendizaje automático, es diferente al aprendizaje supervisado y al aprendizaje no supervisado, a través de la interacción continua entre el agente y el entorno (es decir, tomar acciones), para luego obtener recompensas, para optimizar continuamente su propia estrategia de acción, en previsión de maximizar su recompensa a largo plazo (suma de recompensas). El aprendizaje por refuerzo se adapta especialmente bien a los problemas de decisión secuencial (que implican una serie de problemas de decisión ordenados).

En aplicaciones prácticas, a menudo no podemos etiquetar con precisión cada dato o estado para ciertas tareas, pero podemos usar el aprendizaje por refuerzo para conocer o evaluar la situación actual o si los datos son buenos o malos. Por ejemplo, juegue Go, Starcraft II (Starcraft II) y otros juegos.

1.1 Definición de aprendizaje por refuerzo

El agente interactúa con su entorno conocido como entorno. El agente obtendrá una recompensa del entorno una vez que realice una acción en el entorno actual. Mientras tanto, el entorno evoluciona al siguiente estado. El objetivo del agente es maximizar su recompensa total (el Retorno) a largo plazo.

El agente interactúa continuamente con el entorno (es decir, realiza una acción en un estado dado) y, por lo tanto, obtiene una recompensa, mientras que el entorno se mueve de un estado al siguiente. Al optimizar continuamente su propia estrategia de acción, el agente espera maximizar su recompensa o beneficio a largo plazo (suma de recompensas).

Diagrama esquemático de la interacción entre el agente y el entorno.

1.2 Conceptos relacionados con el aprendizaje por refuerzo

(1)状态 Estado (S): observación del entorno por parte del agente;
(2)动作 Acción (A): los enfoques en los que el agente interactúa con el medio ambiente;
(3)奖励 Recompensa ( R t R_tRt): la bonificación que obtiene el agente una vez que realiza una acción en el entorno en el paso de tiempo dado ttt.Retorno (
Return) es la suma de recompensas obtenidas por el Agente.
(4) Probabilidad de transición Probabilidad de transición (P): la posibilidad de transición de que el entorno evolucione de un estado a otro. La transición del entorno de un estado a otro puede
ser un proceso de transición determinista, por ejemplo,S t + 1 = f ( S t , A t ) S_{t+1} = f(S_t, A_t)St + 1=f ( St,At) , también puede ser un proceso de transferencia aleatoria, comoS t + 1 ∼ p ( S t + 1 ∣ S t , A t ) S_{t+1} \sim p\left( S_{t+1}| S_t, A_t \derecha)St + 1pag( St + 1St,At) .
(5) Factor de descuento Factor de descuento (γ \gammaγ ): para medir la importancia de la recompensa futura para el agente en el estado actual
(6) La trayectoria es una serie de estados, acciones y recompensas, que se puede expresar como:
τ = ( S 0 , A 0 , R 0 , S 1 , A 1 , R 1 , . . . ) \tau = \left( S_0, A_0, R_0, S_1, A_1, R_1, ... \right)t=( S0,A0,R0,S1,A1,R1,... )

Usa la trayectoria τ \tauτ para registrar cómo interactúa el agente con el entorno. El estado inicial de la trayectoria se muestrea aleatoriamente a partir de la distribución de estados iniciales. Una pista a veces se denomina segmento (Episodio) o ronda, que es una secuencia desde el estado inicial (Estado inicial, como la apertura del juego) hasta el estado final (Estado terminal, como la muerte o la victoria en el juego). ).
(7) Compensación de exploración-explotación (Compensación de exploración-explotación)
Aquí, la exploración significa que el agente obtiene más información al interactuar con el entorno, y la utilización significa usar la información actualmente conocida para que el agente se desempeñe de manera óptima, por ejemplo, la estrategia codiciosa. . Al mismo tiempo, solo puede elegir uno de los dos. Por lo tanto, cómo equilibrar la exploración y la utilización para maximizar los rendimientos a largo plazo es un tema muy importante en el aprendizaje por refuerzo.

Por lo tanto, puedes usar (S, A, P, R, γ \gammaγ ) para describir el proceso de aprendizaje por refuerzo.

1.3 Modelado matemático para el aprendizaje por refuerzo

(1) El proceso de Markov (MP) es un proceso aleatorio discreto con propiedades de Markov.

La propiedad de Markov se refiere al siguiente estado S t + 1 S_{t+1}St + 1solo depende del estado actual S t S_tSt.

pags ( S t + 1 ∣ S t ) = pags ( S t + 1 ∣ S 0 , S 1 , S 2 , ... , S t ) p\left(S_{t+1}|S_t\right) = p\ izquierda(S_{t+1}|S_0,S_1,S_2,\ldots,S_t\right)pag( St + 1St)=pag( St + 1S0,S1,S2,,St)

Se puede usar un conjunto de estados finitos S \mathcal{S}S y matriz de transición de estadoP \mathbf{P}P significa que el proceso MP es< S , P > <\mathcal{S}, \mathbf{P}><S ,PAG> .

(2) Proceso de recompensa de Markov (Proceso de recompensa de Markov, MRP)

Para poder describir las recompensas de retroalimentación del entorno al Agente, el proceso de recompensa de Markov cambia el MP anterior de < S , P > <\mathcal{S}, \mathbf{P}><S ,PAG> Expandido a< S , P , R , γ > <\mathcal{S}, \mathbf{P}, R, \gamma><S ,pag _R ,C> . Aquí,R.R.R representa la función de recompensa, yγ \gammaγ representa el factor de descuento de la recompensa.

R t = R ( S t ) R_t = R(S_t)Rt=R ( St)

Retorno (Return) es la recompensa acumulada del Agente en una trayectoria. El rendimiento descontado se define de la siguiente manera:

GRAMO t = 0 : T = R ( τ ) = ∑ t = 0 T γ t R t G_{t=0:T}=R(\tau)=\sum\limits_{t=0}^{T}\ gamma^tR_tGRAMOt = 0 : T=R ( τ )=t = 0TCt Rt

Valor Función V ( s ) V(s)V ( s ) es el agente en estadosss rendimiento esperado (Expected Return).
V π ( s ) = mi [ R ( τ ) ∣ S 0 = s ] V^{\pi}(s) = \mathbb mi [R(\tau)|S_0 = s]Vπ (s)=mi [ R ( τ ) S0=s ]

(3) Proceso de decisión de Markov (Proceso de decisión de Markov, MDP)
El MDP se usa ampliamente en economía, cibernética, teoría de colas, robótica, análisis de redes y muchos otros campos.
Recompensas inmediatas para los procesos de decisión de Markov (Recompensa, RRR ) está relacionado con el estado y la acción. MDP se puede usar< S , A , P , R , γ > <\mathcal{S},\mathcal{A}, \mathbf{P}, R, \gamma><S ,un ,pag _R ,C> caracterizar.
A \mathcal{A}A representa un conjunto limitado de acciones. En este momento, la recompensa inmediata se convierte en
R t = R ( S t , A t ) R_t = R(S_t, A_t)Rt=R ( St,At)

Política (Policy) se utiliza para describir la forma en que el Agente realiza acciones en función de las observaciones ambientales. La política es de un estado s ∈ S s \in \mathcal{S}sS suma accióna ∈ A a \in \mathcal{A}aDistribución de probabilidad de A a acciónπ ( a ∣ s ) \pi(a|s)proyección π ( a s ) , π ( a ∣ s ) \pi(a|s)π ( a s ) significa en estadosss , tomar acciónaaa的概率。
π ( a ∣ s ) = p ( A t = a ∣ S t = s ) , ∃ t \pi(a|s) = p(A_t = a |S_t = s), \exists tπ ( un s )=pag ( unt=un St=s ) ,t

Retorno Esperado (Expected Return) se refiere al valor de retorno esperado de todas las trayectorias posibles bajo una estrategia dada, que se puede expresar como:
J ( π ) = ∫ τ p ( τ ∣ π ) R ( τ ) = E τ ∼ π [ R ( τ ) ] J(\pi) = \int_{\tau}p(\tau|\pi)R(\tau) = \mathbb{E}_{\tau \sim \pi} [R(\tau ) ]J ( pag )=tpags ( τ π ) R ( τ )=miτ π[ R ( τ )]

Aquí, p ( τ ∣ π ) p(\tau|\pi)p ( τ π ) representa la distribución de estado inicial dadaρ 0 \rho_0r0y estrategia π \piπ , un TTen un proceso de decisión de MarkovTrayectoria τ \tau de T pasoLa probabilidad de ocurrencia de τ es la siguiente:

pags ( τ ∣ π ) = ρ 0 ( s 0 ) ∏ t = 0 T - 1 pags ( S t + 1 ∣ S t , UN t ) π ( UN t ∣ S t ) ] pags(\tau|\pi) = \rho_0(s_0) \prod\limits_{t=0}^{T-1}p(S_{t+1}|S_t, A_t)\pi(A_t|S_t)]pags ( τ π )=r0( s0)t = 0T 1pag ( St + 1St,At) p ( untSt)]

Los problemas de optimización del aprendizaje por refuerzo mejoran las políticas mediante métodos de optimización para maximizar las recompensas esperadas. Política óptima π ∗ \pi^*Pi∗ se puede expresar como

π ∗ = arg ⁡ max ⁡ π J ( π ) \pi^* = \arg \max\limits_{\pi} J(\pi)Pi=ar gPimáximoJ ( pag )

Dada una estrategia π \piπ , función de valorV ( s ) V(s)V ( s ) , el rendimiento esperado en un estado dado, se puede expresar como

V π ( s ) = mi τ ∼ π [ R ( τ ) ∣ S 0 = s ] = EA t ∼ π ( ⋅ ∣ S t ) [ ∑ t = 0 ∞ γ t R ( S t , UNA t ) ∣ S 0 = s ] V^{\pi}(s) = \mathbb{E}_{\tau \sim \pi} [R(\tau)|S_0 = s] = \mathbb{E}_{A_t \sim \pi(\cdot | S_t)} \left[ \sum\limits_{t=0}^{\infty} \gamma^tR(S_t, A_t)|S_0 = s \right]Vπ (s)=miτ π[ R ( τ ) S0=s ]=miAtπ ( St)[t = 0Ct R(St,At) S0=s ]

En MDP, dada una acción, existe una Función Action-Value (Función Action-Value), que se basa en el estado y el retorno esperado de la acción. Se define de la siguiente manera:

Q π ( s , una ) = mi τ ∼ π [ R ( τ ) ∣ S 0 = s , UNA 0 = una ] = EA t ∼ π ( ⋅ ∣ S t ) [ ∑ t = 0 ∞ γ t R ( S t , UN t ) ∣ S 0 = s , UN 0 = un ] Q^{\pi}(s, a) = \mathbb{E}_{\tau \sim \pi} [R(\tau)|S_0 = s, A_0 = a] = \mathbb{E}_{A_t \sim \pi(\cdot | S_t)} \left[ \sum\limits_{t=0}^{\infty} \gamma^tR(S_t , A_t)|S_0 = s, A_0 = a \right]qπ (s,un )=miτ π[ R ( τ ) S0=s ,A0=un ]=miAtπ ( St)[t = 0Ct R(St,At) S0=s ,A0=un ]

De acuerdo con la definición anterior, podemos obtener:
V π ( s ) = E a ∼ π [ Q π ( s , a ) ] V^{\pi}(s) = \mathbb{E}_{a \sim \ pi} [ Q^{\pi}(s, a)]Vπ (s)=miun π[ Pπ (s,un )]

2. Aprendizaje por refuerzo profundo

Deep Learning + Reinforcement Learning = Deep Reinforcement Learning (DRL)
deep learning DL tiene fuertes capacidades de abstracción y representación, especialmente adecuado para modelar funciones de valor en RL, por ejemplo: función de valor de acción Q π ( s , a ) Q^\pi \left (s, un \ derecho)qPi( s ,a ) .
La combinación de los dos amplía enormemente el rango de aplicación de RL.

3. Algoritmos comunes de aprendizaje por refuerzo profundo

Hay muchos algoritmos para el aprendizaje de refuerzo profundo, los más comunes son: DQN, DDPG, PPO, TRPO, A3C, SAC, etc.
(El breve proceso de cada algoritmo se complementará más adelante)

3.1 Redes Q profundas (DQN)

La red DQN combina Q-Learning y aprendizaje profundo, e introduce dos técnicas novedosas para resolver el problema del uso de aproximadores de funciones no lineales, como las redes neuronales, para representar la función de valor de acción Q ( s , a ) Q(s,a )Q ( s ,a ) El problema de inestabilidad resultante:
Técnica1 ◯ {\textcircled{\small{1}}}\normalsize1 : Búfer de reproducción de experiencia (Búfer de reproducción): almacene la experiencia obtenida por el agente en el caché y luego adopte uniformemente (o considere el muestreo basado en prioridades) muestras de lotes pequeños del caché para la actualización de Q-Learning; Tecnología 2 ◯
{\ textcircled{\small{2}}}\normalsize2 : Red de destino: introduzca una red independiente para reemplazar la red Q requerida para generar el objetivo de Q-Learning y mejorar aún más la estabilidad de la red neuronal.

Aquí, técnica 1 ◯ {\textcircled{\small{1}}}\normalsize1 Puede mejorar la eficiencia del uso de muestras, reducir la correlación entre muestras y suavizar el proceso de aprendizaje; tecnología2 ◯ {\textcircled{\small{2}}}\normalsize2 Puede ser que el valor objetivo no se vea afectado por los últimos parámetros, y haya mucha menos divergencia y choque.

Probado en varios juegos en Atari, el algoritmo DQN muestra un rendimiento excelente.

La descripción específica del algoritmo DQN es la siguiente:

1. Hiperparámetro : capacidad de caché de reproducción BBB , factor de descuento de recompensaγ \gammaγ , tamaño de paso de retardo de actualización de la red de destinoCCC ;
2.Entrada: búfer de reproducciónB \mathcal{B}B , inicializa la red de función de valor de acciónQ ( s , a ∣ θ Q ) Q(s,a|\theta^Q)Q ( s ,un θQ ), red objetivoQ ′ ( s , a ∣ θ Q ′ ) Q^{\prime} (s,a|\theta^{ { Q}^\prime})q (s,un θq )$;
3.\qquadInicialice los parámetros de la red de destino Q ′ Q^\primeq :θ Q ′ ← θ Q \theta^{Q^\prime} \leftarrow \theta^{Q}iqiQ
4.para episodio = 1 , ⋯ , M episodio = 1, \cdots, Me p i so d e=1 ,,M hacer
5.\qquadInicializar el entorno,
6. \qquadEl estado inicial es S 0 S_0S0
7. \qquadpara t = 1 , ⋯ , T t = 1,\cdots, Tt=1 ,,T hacer
8.\qquad\qquadCon probabilidad ϵ \epsilonϵ elige una acción aleatoriaA t A_tAt; De lo contrario, elige la acción A t = arg ⁡ max ⁡ a Q ( S t , a ∣ θ Q ) A_t = \arg \max\limits_{a} Q\left(S_t, a|\theta^Q \right)At=ar gamáximoq( Stun θQ )
9.\qquad\qquadEjecutar acción A t A_tAtobtener recompensa R t R_tRt, observe el siguiente estado S t + 1 S_{t+1}St + 1
10. \qquad\qquadGuardar muestras de transición de estado ( S t , A t , R t , S t + 1 ) \left(S_t, A_t, R_t, S_{t+1}\right)( St,At,Rt,St + 1) aB \mathcal{B}B
11.\qquad\qquaddel caché B \mathcal{B}Muestreo aleatorioNN en BN个状态转移( S yo , A yo , R yo , Si yo + 1 ) \left(S_i, A_i, R_i, S_{i+1}\right)( Syo,Ayo,Ryo,Syo + 1)
12.\qquad\qquad设置Y yo = R yo + γ max ⁡ un Q ′ ( S yo + 1 , un ∣ θ Q ′ ) Y_i = R_i + \gamma \max\limits_{a}Q^{\prime}\left({S_{ i+1}, a| \theta^{Q^{\prime}} }\right)Yyo=Ryo+Camáximoq( Syo + 1,un θq )
13.\qquad\qquadActualice la red Q minimizando la función de pérdida ( s , a ∣ θ Q ) Q(s,a|\theta^Q)Q ( s ,un θQ )
14.\qquad\qquad L = 1 norte ∑ yo ( Y yo − Q ( S yo , UN yo ∣ θ Q ) ) 2 L = \frac{1}{N}\sum_i \left( Y_i - Q(S_i, A_i|\theta^Q ) \derecho)^2L=norte1yo( YyoQ ( Syo,AyoθP ))2
15.\qcuadrado\qcuadradopor ccPaso C , para la red objetivoQ ′ ( s , a ∣ θ Q ′ ) Q^{\prime} (s,a|\theta^{ { Q}^\prime})q (s,un θq )para sincronizar:
16.\qquad\qquad θ Q ′ ← θ Q \theta^{Q^\prime} \flecha izquierda \theta^{Q}iqiQ
17.\qquadend for
18. end for


Nota: aquí probabilidad de selección de acción aleatoria ϵ \epsilonϵ generalmente disminuye gradualmente con el aumento del Episodio de iteración y el Paso de tiempo, el propósito es reducir la influencia de la estrategia aleatoria y mejorar gradualmente la influencia de la red Q en la selección de acciones del Agente.

Resuelve, la línea 14 es una ecuación simple:
θ Q ← θ Q + β ∑ i ∈ N ∂ Q ( s , a ∣ θ Q ) ∂ θ Q [ yi − Q ( s , a ∣ θ Q ) ] . \theta ^ Q \leftarrow \theta^Q + \beta\sum\limits_{i\in \mathcal{N}}\frac{\parcial Q(s,a|\theta^Q)}{\parcial \theta^Q} [ y_i-Q(s,a|\theta^Q)]iqiq+byo norteθqQ ( s ,un θq )[ añosyoQ ( s ,un θQ )]
Entre ellos, el conjuntoN \mathcal{N}NNpara minilote en NN( S t , A t , R t , S t + 1 ) \left(S_t, A_t, R_t, S_{t+1}\right)( St,At,Rt,St + 1) conjunto de muestras de experiencia,β \betaβ representa el tamaño del paso de iteración en una iteración de gradiente.

Referencias:
[1] V. Mnih et al., "Control a nivel humano a través del aprendizaje de refuerzo profundo", Nature, vol. 518, núm. 7540, págs. 101-1 529–533, febrero. 2015.

3.2 Gradiente de política determinista profundo (DDPG)

El algoritmo DDPG puede considerarse como la combinación del algoritmo Deterministic Policy Gradient (DPG) y la red neuronal profunda, que es una extensión de la red Q profunda (DQN) mencionada anteriormente en el espacio de acción continua.

DDPG establece la función de valor Q (Crítico) y la función de estrategia (Actor) al mismo tiempo. Aquí, Critic es lo mismo que DQN y se actualiza mediante el método TD, mientras que Actor utiliza la estimación de Critic para actualizar mediante el método de gradiente de estrategia.

El algoritmo DDPG se describe específicamente de la siguiente manera:

1. Hiperparámetro : factor de actualización suave ρ \rhoρ , factor de descuento de recompensaγ \gammaγ 2.Entrada: búfer de reproducción
mathcal{B}B , inicializa la red críticaQ ( s , a ∣ θ Q ) Q(s,a|\theta^Q)Q ( s ,un θQ )función de actor( s ∣ θ π ) \pi(s|\theta^{\pi})π ( s θπ )
3__Red de destino Q ′ Q^\primeqπ ′ \pi^\principalPi
4.\qquadInicialice los parámetros de la red de destino Q ′ Q^\primeq yπ ′ \pi^\primePi
5.\qquad θ Q ′ ← θ Q \theta^{Q^\prime} \flecha izquierda \theta^{Q}iqiQ ,θ π ′ ← θ π \theta^{\pi^\prime} \leftarrow \theta^{\pi}iPiiπ
6.para episodio = 1 , ⋯ , M episodio = 1, \cdots, Me p i so d e=1 ,,M hacer
7.\qquadInicializar el proceso aleatorio N \mathcal{N}N , usado para agregar exploración a las acciones
8.\qquadEl estado inicial es S 1 S_1S1
9. \qquadpara t = 1 , ⋯ , T t = 1,\cdots, Tt=1 ,,T hacer
10.\qquad\qquadSea A t = π ( S t ∣ θ π ) + N t A_t = \pi(S_t|\theta^\pi) + \mathcal{N}_tAt=π ( Stθpag )+nortet
11. \qquad\qquadEjecutar acción A t A_tAtobtener recompensa R t R_tRt, observe el siguiente estado S t + 1 S_{t+1}St + 1
12. \qquad\qquadGuardar muestras de transición de estado ( S t , A t , R t , S t + 1 ) \left(S_t, A_t, R_t, S_{t+1}\right)( St,At,Rt,St + 1) aB \mathcal{B}B
13.\qquad\qquaddel caché B \mathcal{B}Muestreo aleatorioNN en BN个状态转移( S yo , A yo , R yo , Si yo + 1 ) \left(S_i, A_i, R_i, S_{i+1}\right)( Syo,Ayo,Ryo,Syo + 1)
14.\qquad\qquad设置Y yo = R yo + γ Q ′ ( S yo + 1 , π ′ ( S yo + 1 ∣ θ π ′ ) ∣ θ Q ′ ) Y_i = R_i + \gamma Q^{\prime}\left({S_ {i+1}, \pi^{\prime}(S_{i+1}|\theta^{\pi^{\prime}}) | \theta^{Q^{\prime}} }\right)Yyo=Ryo+γ Q( Syo + 1,Pi (Syo + 1θPi )θq )
15.\qquad\qquadActualice la red Critic minimizando la función de pérdida:
16. \qquad\qquadL = 1 norte ∑ yo ( Y yo − Q ( S yo , UN yo ∣ θ Q ) ) 2 L = \frac{1}{N}\sum_i \left( Y_i - Q(S_i, A_i|\theta^Q ) \derecho)^2L=norte1yo( YyoQ ( Syo,AyoθP ))2
13.\qquad\qquadActualice la red de actores muestreando el gradiente de políticas:
14. \qquad\qquad ∇ θ π J ≈ 1 norte ∑ yo ∇ una Q ( s , una ∣ θ Q ) ∣ s = S yo , una = π ( S yo ) ∇ θ π π ( s ∣ θ π ) ∣ S yo \nabla_{\ theta^\pi}J \approx \frac{1}{N}\sum_i{\nabla_aQ(s, a|\theta^Q)|_{s=S_i, a = \pi(S_i)}\nabla_{\ theta^{\pi}} \pi(s|{\theta^{\pi}})|_{S_i}}ipagjnorte1younQ ( s ,un θP )s = Syo, un = π ( Syo)ipagπ ( s θ)_Syo
15. \qquad\qquadActualizar red de destino:
16. \qquad\qquad θ Q ′ ← ρ θ Q + ( 1 − ρ ) θ Q ′ \theta^{Q^\prime} \leftarrow \rho\theta^{Q} + (1-\rho)\theta^{Q^{\ principal}}iqyo _q+( 1r ) yoq ,
17.\qquad\qquad θ π ′ ← ρ θ π + ( 1 − ρ ) θ π ′ \theta^{\pi^\prime} \leftarrow \rho\theta^{\pi} + (1- \rho)\theta^{\pi ^{\principal}}iPiyo _Pi+( 1r ) yoPi
18.\qquadfinal para
19. final para

En el artículo original, se usó el proceso de Ornstein-Uhlenbeck (proceso OU) como el término de ruido agregado N \mathcal{N}N , también se puede usar ruido gaussiano de media cero no correlacionado en el tiempo (la práctica relevante muestra que su efecto también es muy bueno).

Referencias:
[1] Lillicrap, Timothy P., et al., "Control continuo con aprendizaje de refuerzo profundo", versión preliminar de arXiv, 2015, en línea: https://arxiv.org/pdf/1509.02971.pdf

3.3 Optimización de políticas proximales (PPO)

El algoritmo PPO es una mejora de Trust Region Policy Optimization (TRPO), que utiliza un método más simple y efectivo para hacer cumplir la política π θ \pi _{\theta}Piiθ ′ \pi_{\theta}^{\prime }Pii′′Por ejemplo
, TRPO tiene un rango de voltajes:
max ⁡ π θ ′ L π θ ( π θ ′ ) s . t mi s ∼ ρ π θ [ DKL ( π θ ∣ ∣ π θ ′ ) ] ≤ δ \max\limits_{\pi_{\theta}^{\prime}} \mathcal{L}_{\pi_{\theta} }\left(\pi_{\theta}^{\prime}\right)\\st\mathbb{E}_{s\sim \rho_{\pi_{\theta}}}\left[D_{KL}\ izquierda ( \pi_{\theta}||\pi_{\theta}^{\prime}\right)\right] \le \deltaPii′′máximoLPii( pagi′′)s . t . mis ρPii[ DK L( pagi∣∣ πi′′) ]δ
y el algoritmo PPO optimiza directamente la versión regular del problema anterior, a saber:

max ⁡ π θ ′ L π θ ( π θ ′ ) − λ mi s ∼ ρ π θ [ DKL ( π θ ∣ ∣ π θ ′ ) ] \max\limits_{\pi_{\theta}^{\prime}} \mathcal{L}_{\pi_{\theta}}\left(\pi_{\theta}^{\prime}\right) - \lambda\mathbb{E}_{s \sim \rho_{\pi_ { \theta}}}\left[D_{KL}\left(\pi_{\theta}||\pi_{\theta}^{\prime}\right)\right]Pii′′máximoLPii( pagi′′)λE _s ρPii[ DK L( pagi∣∣ πi′′) ]

Aquí, λ \lambdaλ es el coeficiente de regularización, correspondiente a cadaδ \deltaδ , hay unλ \lambdaλ , por lo que los dos problemas de optimización anteriores tienen la misma solución. Sin embargo,λ \lambdaEl valor de λ depende deπ θ \pi_\thetaPii, por lo tanto, en PPO, es necesario usar un λ \lambda dinámicamente ajustablelambda _ Específicamente, existen dos métodos:λ \lambda
comprobando el valor de divergencia KLYa sea que λ aumente o disminuya, esta versión del algoritmo PPO se denomina PPO-Penalty;
(2) trunca directamente la función objetivo utilizada para el gradiente de política para obtener una actualización más conservadora, este método se denomina PPO-Clip.

La descripción específica del algoritmo PPO-Clip es la siguiente:

1. Hiperparámetros : factor de truncamiento ϵ \epsilonϵ , el número de subiteracionesM , BM, BM ,B ,
2.Entrada: Parámetro de estrategia de inicializaciónθ \thetaθ , parámetro de valor inicialϕ \phiϕ
3.para k = 1 , ⋯ k= 1, \cdotsk=1 , hacer
4.\qquadHacer cumplir la política π θ k \pi_{\theta_k} en el entornoPiik, y guarde el conjunto de trayectorias D k = { τ i } \mathcal{D}_k = \left\{\tau_i\right\}Dk={ vyo}
5.\qquadCalcula la recompensa que obtendrá G ^ t \hat{G}_tGRAMO^t
6. \qquadBasado en la función de valor actual V ϕ k V_{\phi_k}Vϕk, calcule la función de ventaja A ^ t \hat{A}_tA^t(usando cualquier método para estimar probabilidades)
7. \qquadpara metro = 1 , ⋯ , METRO metro= 1,\cdots, METROmetro=1 ,,M hacer
8.\qquad\qquad ℓ t ( θ ′ ) = π θ ( UN t ∣ S t ) π θ viejo ( UN t ∣ S t ) \ell_t(\theta^{\prime})=\frac{\pi_{\theta}(A_t| S_t)}{\pi_{\theta_{antiguo}}(A_t|S_t)}t( yo )=Piiviejo _ _( UntSt)Pii( UntSt)
9. \qquad\qquadUse el algoritmo de ascenso de gradiente estocástico de Adam para maximizar la función objetivo de PPO-Clip para actualizar la estrategia:
10. \qquad\qquad θ k + 1 = arg ⁡ max ⁡ θ 1 ∣ re k ∣ T ∑ τ ∈ re k ∑ t = 0 T f ( θ ′ ) \theta_{k+1} = \arg \max\limits_{\theta}{ ; \frac{1}{|\mathcal{D}_k|T}}\sum\limits_{\tau \in \mathcal{D}_k}\sum\limits_{t=0}^{T}f(\ theta ^{\principal})ik + 1=ar gimáximoDkT1τ Dkt = 0Tf ( yo )
11.\qquadfinal para
12. \qquadpara segundo = 1 , ⋯ , segundo segundo = 1, \cdots, segundob=1 ,,B hacer
13.\qquad\qquadAprenda la función de valor minimizando el error cuadrático medio usando el descenso de gradiente:
14. \qquad\qquad ϕ k + 1 = arg ⁡ max ⁡ θ 1 ∣ re k ∣ T ∑ τ ∈ re k ∑ t = 0 T ( V ϕ ( S t ) − G ^ t ) 2 \phi_{k+1} = \arg \ max\limits_{\theta}{\frac{1}{|\mathcal{D}_k|T}}\sum\limits_{\tau \in \mathcal{D}_k}\sum\limits_{t=0} ^{T}\left(V_{\phi}(S_t)-\hat{G}_t \right)^2ϕk + 1=ar gimáximoDkT1τ Dkt = 0T( Vϕ( St)GRAMO^t)2
15.\qcuadradofin para
16. fin para


其中, f ( θ ′ ) = min ⁡ ( ℓ t ( θ ′ ) A π θ viejo ( S t , A t ) , clip ( ℓ t ( θ ′ ) , 1 − ϵ , 1 + ϵ ) UN π θ antiguo ( S t , UN t ) ) f(\theta^{\prime}) = \min\left(\ell_t(\theta^{\prime})A^{\pi_{\theta_{ antiguo}}}(S_t, A_t), clip(\ell_t(\theta^{\prime}),1-\epsilon, 1+\epsilon)A^{\pi_{\theta_{antiguo}}}(S_t, A la derecha)f ( yo )=min( t( yo )UnPiiviejo _ _( St,At) ,clip ( _ _ _t( yo ),1, _1+ϵ ) APiiviejo _ _( St,At) )

Por ejemplo, recorte ( x , 1 − ϵ , 1 + ϵ ) recorte(x,1-\epsilon, 1+\epsilon)clip ( x , _ _ _1, _1+ϵ ) significa quexxx truncada en[ 1 − ϵ , 1 + ϵ ] [1-\epsilon, 1+\epsilon][ 1, _1+ϵ ]中。

参考文献:
[1] Schulman, J., et al. “Algoritmos de optimización de políticas proximales”, versión preliminar de arXiv, 2017, en línea: https://arxiv.org/pdf/1707.06347.pdf
[2] Schulman J, Levine S, Abbeel P, et al. “Optimización de políticas de región de confianza”, Conferencia internacional sobre aprendizaje automático. PMLR, 2015: 1889-1897, en línea: http://proceedings.mlr.press/v37/schulman15.pdf

4. Clasificación de algoritmos de aprendizaje por refuerzo profundo

Existen muchos estándares de clasificación para los algoritmos de aprendizaje por refuerzo profundo. Los métodos de clasificación comunes y las categorías específicas se resumen a continuación:

4.1 Según si las estrategias utilizadas en el entrenamiento y prueba de Agentes son consistentes

4.1.1 fuera de política (estrategia fuera de pista, estrategia fuera de línea)

La estrategia utilizada por el Agente durante el entrenamiento (generando datos) π 1 \pi_1Pi1La estrategia utilizada al probar con el agente (evaluación y promoción del método) π 2 \pi_2Pi2Inconsistente.

Por ejemplo, en el algoritmo DQN, durante el entrenamiento, generalmente se usa ϵ − greedy \epsilon-greedyϵg ree d y estrategia; al probar el rendimiento o el uso real, usea ∗ = arg max ⁡ a Q π ( s , a ) a^* = arg \max\limits_{a} Q^{\pi}\left ( s , un \derecho)a=un rg _amáximoqPi( s ,a ) Estrategia.

Los algoritmos comunes son: DDPG, TD3, Q-learning, DQN, etc.

4.1.2 en política (estrategia en la misma pista, estrategia en línea)

La estrategia utilizada por Agent durante el entrenamiento (generación de datos) y la estrategia utilizada durante la prueba (evaluación y promoción del método) son la misma estrategia π \pipág .

Los algoritmos comunes incluyen: Sarsa, Policy Gradient, TRPO, PPO, A3C, etc.

4.2 Diferentes formas de optimización de la estrategia

4.2.1 Algoritmos basados ​​en valores (algoritmos basados ​​en valores)

Los métodos basados ​​en valores generalmente implican que la función de acción-valor Q π ( s , a ) Q^{\pi}(s,a)qπ (s,a ) optimización, la estrategia óptima selecciona la funciónQ π ( s , a ) Q^{\pi}(s,a)qπ (s,a ) La acción correspondiente al valor máximo, es decir,π ∗ ≈ arg ⁡ max ⁡ π Q π ( s , a ) \pi^* \approx \arg \max\limits_{\pi}Q^{\pi} (s, un)Piar gPimáximoqπ (s,a ) , aquí,≈ \approx es causado por el error de aproximación de la función.

El algoritmo basado en valores tiene las ventajas de una eficiencia de muestreo relativamente alta, una varianza de estimación de función de valor pequeña y no es fácil caer en el óptimo local. La desventaja es que generalmente no puede tratar con problemas de espacio de acción continua, y la estrategia final suele ser una estrategia determinista.

Los algoritmos comunes incluyen Q-learning, DQN, Double DQN, etc., que son adecuados para el espacio de acción discreto. Entre ellos, el algoritmo DQN se basa en la función de estado-acción Q ( s , a ) Q(s,a)Q ( s ,a ) para seleccionar la acción óptima.

4.2.2 Algoritmos basados ​​en políticas (algoritmos basados ​​en políticas)

El método basado en la estrategia optimiza directamente la estrategia y actualiza iterativamente la estrategia a través del despacho de aduanas para maximizar la recompensa acumulada (retorno). Tiene las ventajas de una parametrización de políticas simple y una convergencia rápida, y es adecuado para espacios de acción continuos o de alta dimensión.

El método de gradiente de política (Policy Gradient Method, PGM) es una clase de métodos de aprendizaje por refuerzo que apuntan directamente al rendimiento esperado a través del descenso de gradiente (Gradient Descent, para el problema de minimización) para la optimización de políticas. No necesita resolver el problema de optimización de la maximización del valor en el espacio de acción, por lo que es más adecuado para el espacio de acción continuo y de alta dimensión, y también puede modelar estrategias aleatorias de forma natural.

El método PGM optimiza directamente la estrategia del agente sobre los parámetros de la red neuronal a través del método de ascenso de gradiente.

Según teorías relacionadas, el rendimiento esperado J ( π θ ) J(\pi_{\theta})J ( fi) sobre el parámetroθ \thetaEl gradiente de θ se puede expresar como:

∇ θ J ( π θ ) = mi τ ∼ π θ [ ∑ t = 0 TR t ∇ θ ∑ t ′ = 0 T iniciar sesión ⁡ π θ ( UN t ′ ∣ S t ′ ) ] = mi τ ∼ π θ [ ∑ t ′ = 0 T ∇ θ Iniciar sesión ⁡ π θ ( UN t ′ ∣ S t ′ ) ∑ t = 0 TR t ] \nabla_{\theta}J(\pi_{\theta})=\mathbb{E}_{ \tau \sim \pi_{\theta}}\left[ \sum\limits_{t=0}^{T}R_t\nabla_{\theta}\sum\limits_{t^{\prime}=0}^{ T}\log{\pi_{\theta}(A_{t^\prime}|S_{t^{\prime}})}\right] = \mathbb{E}_{\tau \sim \pi_{\ theta}}\left[ \sum\limits_{t^{\prime}=0}^{T}\nabla_{\theta}\log{\pi_{\theta}(A_{t^\prime}|S_{ t^{\prime}})}\sum\limits_{t=0}^{T}R_t \right]iJ ( fi)=miτ πi[t = 0TRtit =0Tiniciar sesiónPii( Unt′′St′′) ]=miτ πi[t =0Tiiniciar sesiónPii( Unt′′St′′)t = 0TRt]

T → ∞ T\rightarrow\inftyTCuando ∞ , la fórmula anterior se puede expresar como:

∇ θ J ( π θ ) = mi τ ∼ π θ [ ∑ t ′ = 0 ∞ ∇ θ Iniciar sesión ⁡ π θ ( UNA t ′ ∣ S t ′ ) γ t ′ ∑ t = t ′ ∞ γ t − t ′ R t ] \nabla_{\theta}J(\pi_{\theta})= \mathbb{E}_{\tau \sim \pi_{\theta}}\left[ \sum\limits_{t^{\prime} =0}^{\infty}\nabla_{\theta}\log{\pi_{\theta}(A_{t^\prime}|S_{t^{\prime}})}\gamma^{t^{ \prime}}\sum\limits_{t=t^{\prime}}^{\infty}\gamma^{tt^{\prime}}R_t \right]iJ ( fi)=miτ πi[t =0iiniciar sesiónPii( Unt′′St′′) ctt = tCt - t Rt]
En la práctica,γ t ′ \gamma^{t^{\prime}}Ct , para evitar el problema de enfatizar demasiado los primeros estados de la trayectoria.

Los métodos anteriores tienden a tener métodos más grandes para la estimación del gradiente (recompensa R t R_tRtLa aleatoriedad de puede crecer exponencialmente con la longitud de la trayectoria L). Por esta razón, el método común es introducir una función de referencia b ( S i ) b(S_i)segundo ( Syo) , solo indiqueS i S_iSyoLa función. El degradado anterior se puede modificar para:

∇ θ J ( π θ ) = mi τ ∼ π θ [ ∑ t ′ = 0 ∞ ∇ θ Iniciar sesión ⁡ π θ ( UNA t ′ ∣ S t ′ ) ( ∑ t = t ′ ∞ γ t − t ′ R t − b ( S t ′ ) ) ] \nabla_{\theta}J(\pi_{\theta})= \mathbb{E}_{\tau \sim \pi_{\theta}}\left[ \sum\limits_{ t^{\prime}=0}^{\infty}\nabla_{\theta}\log{\pi_{\theta}(A_{t^\prime}|S_{t^{\prime}})}\ izquierda(\sum\limits_{t=t^{\prime}}^{\infty}\gamma^{tt^{\prime}}R_t-b(S_{t^{\prime}}) \right)\ bien]iJ ( fi)=miτ πi[t =0iiniciar sesiónPii( Unt′′St′′)(t = tCt - t Rtsegundo ( St′′) ) ]

Los algoritmos comunes de PGM incluyen REINFORCE, PG, PPO, TRPO, etc.

4.2.3 Algoritmos actor-crítico (método actor-crítico)

El método Actor-Critic combina el método basado en valores y el método basado en políticas mencionados anteriormente, utiliza el método basado en valores para aprender la función de valor Q o la función de valor de estado V para mejorar la eficiencia de muestreo (Critic) y utiliza el método basado en políticas para aprender la función política (Actor), por lo tanto, adecuado para espacios de acción continuos o de alta dimensión. Sus deficiencias también heredan las deficiencias de los dos. Por ejemplo, Critic tiene un problema de sobreestimación, mientras que Actor tiene un problema de infraexploración.

Los algoritmos comunes incluyen DDPG, A3C, TD3, SAC, etc., adecuados para espacios de acción continuos y de alta dimensión,

4.3 Los métodos de actualización de parámetros son diferentes

Métodos de actualización de parámetros

4.3.1 Método de Montecarlo

Método Monte Carlo: debe esperar una trayectoria τ k \tau_ktkNo se puede actualizar hasta que se genere (valor verdadero).

Los algoritmos comunes incluyen: gradiente de política, TRPO, PPO, etc.

4.3.2 Método de diferencia temporal

Método de diferencia de tiempo: Bootstrapping (valor estimado) se puede actualizar en el tiempo en cada paso de la ejecución de la acción.

Los algoritmos comunes son: DDPG, Q-learning, DQN, etc.

Supongo que te gusta

Origin blog.csdn.net/b_b1949/article/details/128997146
Recomendado
Clasificación