Una breve descripción de los algoritmos relacionados con el actor-crítico

Este artículo presenta brevemente los algoritmos relevantes basados ​​en actor-crítico en el aprendizaje de refuerzo profundo (aprendizaje de refuerzo profundo) mediante la clasificación del contenido del tutorial de aprendizaje automático del profesor Li Hongyi.

El enlace de la estación B del curso de Li Hongyi:
Li Hongyi, aprendizaje de refuerzo profundo, actor-crítico

Notas relacionadas:
Una breve descripción del algoritmo de gradiente de política Una breve descripción del
algoritmo de optimización de política proximal Una breve descripción del
algoritmo DQN (red Q profunda)


ventaja asíncrona actor-crítico(A3C)


Referencias:
Volodymtr Mnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, Koray Kavukcuoglu, “Métodos asíncronos para el aprendizaje por refuerzo profundo”, ICML

Entre los algoritmos relacionados basados ​​en actor-crítico, el método más conocido es actor-crítico de ventaja asíncrona, o A3C para abreviar.
Si quitas asíncrono (asynchronous), es una ventaja actor-crítico, es decir, A2C.

首先回顾一下策略梯度法:
▽ R ˉ θ ≈ 1 norte ∑ norte = 1 norte ∑ t = 1 T norte ( ∑ t ′ = t T norte γ t ′ - trt ′ norte - segundo ) ▽ ln ⁡ pags θ (en ∣ stn ) \triangledown \bar R_{\theta} \approx \frac{1}{N} \sum_{n=1}^{N} \sum_{t=1}^{T_n} (\sum_{t^ {\prime}=t}^{T_n} \gamma^{t^{\prime} - t} r_{t^{\prime}}^n - b) \triangledown \ln p_\theta(a^n_t | s ^ n t)Rˉinorte1norte = 1nortet = 1Tn(t =tTnCt -trtnsegundo ) enpagi( untnstn)

Registre el incentivo acumulativo como GGG
G tn = ∑ t ′ = t T n γ t ′ − trt ′ n G^n_t = \sum_{t^{\prime}=t}^{T_n} \gamma^{t^{\prime} - t} r_{t^{\principal}}^nGRAMOtn=t =tTnCt -trtn

Sin embargo, debido a la aleatoriedad del proceso de interacción en sí, el incentivo acumulativo puede ser muy inestable, y la cantidad de muestras antes de cada actualización de los parámetros no puede ser mucha, y pueden surgir problemas:

G, inestable

Así que considere usar incentivos acumulativos para GGEl valor esperado de G se usa en lugar del valor muestreado, y el método para obtener el valor esperado es un método basado en valores, a saber, DQN.

DQN tiene dos tipos de críticas, a saber, la función de valor de estado (función de valor de estado) V π ( s ) V^\pi(s)Vπ (s)y la función de valor de estado-acción (función de valor de estado-acción)Q π ( s , a ) Q^\pi(s, a)qπ (s,un )
DQN, críticos

Entre ellos, tanto el enfoque basado en Monte-Carlo (MC) como el enfoque de diferencia temporal (TD) pueden usarse para la estimación.La diferencia temporal es relativamente estable y Monte Carlo es más preciso.

De hecho, el incentivo acumulativo GGEl valor esperado de G esQQQ,即:
E [ G tn ] = Q π θ ( stn , atn ) E[G^n_t] = Q^{\pi_\theta}(s^n_t, a^n_t)mi [ soltn]=qPii( stn,atn)

Con respecto a la línea de base, una práctica común es usar la función de valor de estado V π θ ( stn ) V^{\pi_\theta}(s^n_t)VPii( stn) para representar, es decir:
G y línea de base

La desventaja del método anterior es que es necesario estimar el QQQ yVVV dos redes, el riesgo de estimaciones inexactas se duplica. En realidad, podemos estimar solo una red,VVred V , conVVEl valor de V para representarel QQEl valor de q. Ya que:
Q π ( stn , atn ) = E [ rtn + V π ( st + 1 n ) ] Q^{\pi}(s^n_t, a^n_t) = E[r^n_t + V^\pi( s^n_{t+1})]qπ (stn,atn)=mi [ rtn+Vπ (st + 1n) ]

Elimine la expectativa y use VV directamenteV significaQQQ
Q π ( stn , atn ) = rtn + V π ( st + 1 n ) Q^{\pi}(s^n_t, a^n_t) = r^n_t + V^\pi(s^n_{t +1})qπ (stn,atn)=rtn+Vπ (st + 1n)

Luego obtenga la expresión de la función de ventaja (ventaja):
rtn + V π ( st + 1 n ) − V π ( stn ) r^n_t + V^\pi(s^n_{t+1}) - V^\pi (s^n_t)rtn+Vπ (st + 1n)Vπ (stn)

estrategia de actualización π \piDé los valores de π de la siguiente manera:
▽ R ˉ θ ≈ 1 norte ∑ norte = 1 norte ∑ t = 1 T norte ( rtn + V π ( st + 1 n ) − V π ( stn ) ) ▽ ln ⁡ pags θ ( .atn ∣ stn ) \triangledown \bar R_{\theta} \approx \frac{1}{N}\sum_{n=1}^{N}\sum_{t=1}^{T_n}(r^n_t+ V^\pi(s^n_{t+1}) - V^\pi(s^n_t)) \triangledown \ln p_\theta(a^n_t | s^n_t);Rˉinorte1norte = 1nortet = 1Tn( rtn+Vπ (st + 1n)Vπ (stn) ) enpagi( untnstn)

En cuanto a la razón para eliminar el valor esperado, es el resultado del artículo original de A3C que probó varios métodos para la comparación experimental.

El proceso general es el siguiente:
diagrama de flujo

En el método del gradiente de estrategia, después de recopilar los datos, es necesario actualizar la estrategia;
pero en el método actor-crítico, en lugar de usar directamente esos datos para actualizar la estrategia, primero use estos datos para estimar la función de valor VVV (se puede usar el método basado en Monte Carlo o el método basado en la diferencia de series de tiempo), y luego, en función de la función de valor, use la fórmula anterior para actualizar la estrategia π \pipág .

Hay dos trucos aquí.

Primero, al implementar actor-crítico, necesitamos estimar dos redes, VVLa red de funciones V y la red de políticasπ \piπ _ Dado que la entrada de estas dos redes es el estadosss , por lo que las primeras capas se pueden compartir, especialmente para juegos donde la entrada es una imagen:

consejo 1

En segundo lugar, necesitamos un mecanismo de exploración. Un enfoque común es la política π \piLa salida de π es una restricción, por lo que la entropía de la distribución de salida no debe ser demasiado pequeña, es decir, se espera que la probabilidad de explorar diferentes acciones sea promedio. De esta manera, puedes probar varias acciones y explorar mejor el entorno.

El algoritmo anterior tiene la ventaja actor-crítico (A2C), y finalmente explica qué es asíncrono (asynchronous).

Como se muestra en la siguiente figura, cada actor se ejecuta en paralelo, es decir, "cada uno hace lo suyo, independientemente del otro". Cuando un proceso termina de ejecutarse y se prepara para devolver parámetros, los parámetros originales pueden haber sido sobrescritos por otros. actores, pero no importa, simplemente actualice directamente, lo cual es "asincrónico". (Nota: △ θ \triangle \theta
en la figuraθ debe ser▽ θ \triangledown \thetaθ
inserte la descripción de la imagen aquí


gradiente de política de derivados pathwise


参考文献:
David Silver, Guy Lever, Nicolas Heess, Thomas Degris, Daan Wierstra, Martin Riedmiller, "Algoritmos de gradiente de políticas deterministas", ICML 2014 Timothy P.
Lillicrap, Jonathan J. Hunt, Alexander Pritzel, Nocolas Heess, Tom Erez, Yuval Tassa, David Silver, Daan Wierstra, "Control continuo con aprendizaje de refuerzo profundo", ICLR 2016

A continuación, se introduce el algoritmo de gradiente de política de derivación de ruta. La idea de este algoritmo es que el crítico no solo evalúe la calidad de la acción, sino que también le diga al actor qué acción es buena, a saber:
arg ⁡ max ⁡ a Q π ( s , a ) \arg \max_a Q^ \pi(s, un )ar gamáximoqπ (s,un )

Pero si se trata de una escena de acción continua, será más difícil resolver el problema de optimización anterior, por lo que puede aprender otra red para resolver este problema de optimización (análogo a GAN):

gradiente de política de derivación de ruta, red

El flujo del algoritmo es, primero usa una estrategia π \piπ interactúa con el entorno, estimandoQQFunción Q , luego arregla QQQ , y luego aprende la estrategiaπ \piπ , obtener un mejor actor, y así sucesivamente, como se muestra en la siguiente figura:

gradiente de la política de derivados pathwise, diagrama de flujo

Similar al QQ real en la red de destinoQ Red y QQobjetivored Q (ver sección DQN), también hay dos actores en este algoritmo, es decir, elπ \piπ y objetivoπ ^ \hat \piPi^ .
Además, se pueden utilizar las técnicas mencionadas anteriormente, como el búfer de reproducción y la exploración, etc.

El proceso específico es el siguiente (en comparación con el DQN original):

pendiente de la política de derivados en el camino, proceso específico


La relación actor-crítico y GAN


El actor-crítico es muy similar a GAN. Para más detalles, consulte el artículo:
David Pfau, Oriol Vinyals, "Connecting Generative Adversarial Networks and Actor-Critic Methods", arXiv preprint 2016

Se sabe que ambos son difíciles de entrenar, por lo que el artículo recopila varios métodos sobre cómo entrenar GAN. Y debido a que hay dos grupos de personas que realizan GAN y actor-crítico, el artículo enumera qué métodos de los dos algoritmos se han probado, como se muestra en la siguiente figura:

actor-crítico & GAN

Supongo que te gusta

Origin blog.csdn.net/Zhang_0702_China/article/details/123501178
Recomendado
Clasificación