Articulo de referencia

Algoritmo actor-crítico

El algoritmo actor-crítico (AC) es una familia de algoritmos de aprendizaje por refuerzo (RL) que combinan algoritmos de RL basados ​​en políticas, como los métodos de gradiente...

El algoritmo actor-crítico (AC) es una familia de algoritmos de aprendizaje por refuerzo (RL) que combinan algoritmos de RL basados ​​en políticas, como los métodos de gradiente de políticas , y algoritmos de RL basados ​​en valores, como la iteración de valor, el aprendizaje Q , SARSA y el aprendizaje TD . [ 1 ]

Un algoritmo AC consta de dos componentes principales: un " actor " que determina qué acciones tomar según una función de política, y un " crítico " que evalúa esas acciones según una función de valor. [ 2 ] Algunos algoritmos AC son on-policy, otros son off-policy. Algunos se aplican a espacios de acción continuos o discretos. Algunos funcionan en ambos casos.

Descripción general

Los métodos actor-crítico pueden entenderse como una mejora con respecto a los métodos de gradiente de política puros como REINFORCE, mediante la introducción de una línea base.

Actor

El actor utiliza una función de políticaπ(a|s){\displaystyle \pi (a|s)}, mientras que el crítico estima la función de valorV(s){\displaystyle V(s)}, la función Q de valor de acciónQ(s,a),{\displaystyle Q(s,a),}la función de ventajaA(s,a){\displaystyle A(s,a)}o cualquier combinación de las mismas.

El actor es una función parametrizadaπθ{\displaystyle \pi _{\theta }}, dóndeθ{\displaystyle \theta }son los parámetros del actor. El actor toma como argumento el estado del entorno.s{\displaystyle s}y produce una distribución de probabilidadπθ(|s){\displaystyle \pi _{\theta }(\cdot |s)}.

Si el espacio de acción es discreto, entoncesaπθ(a|s)=1{\displaystyle \sum _{a}\pi _{\theta }(a|s)=1}. Si el espacio de acción es continuo, entoncesaπθ(a|s)da=1{\displaystyle \int _{a}\pi _{\theta }(a|s)da=1}.

El objetivo de la optimización de políticas es mejorar al actor. Es decir, encontrar algunaθ{\displaystyle \theta }que maximiza la recompensa episódica esperadaJ(θ){\displaystyle J(\theta )}:J(θ)=miπθ[t=0Tγtrt]{\displaystyle J(\theta )=\mathbb {E} _{\pi _{\theta }}\left[\sum _{t=0}^{T}\gamma ^{t}r_{t}\right]}dóndeγ{\displaystyle \gamma }es el factor de descuento ,rt{\displaystyle r_{t}}es la recompensa en el pasot{\displaystyle t}, yT{\displaystyle T}es el horizonte temporal (que puede ser infinito).

El objetivo del método de gradiente de política es optimizarJ(θ){\displaystyle J(\theta )}mediante ascenso de gradiente en el gradiente de políticaJ(θ){\displaystyle \nabla J(\theta)}.

Como se detalla en la página del método del gradiente de política , existen muchos estimadores insesgados del gradiente de política:θJ(θ)=miπθ[0jTθlnπθ(Aj|Sj)Ψj|S0=s0]{\displaystyle \nabla _{\theta }J(\theta )=\mathbb {E} _{\pi _{\theta }}\left[\sum _{0\leq j\leq T}\nabla _{\theta }\ln \pi _{\theta }(A_{j}|S_{j})\cdot \Psi _{j}{\Big |}S_{0}=s_{0}\right]}dóndeΨj{\textstyle \Psi _{j}}es una suma lineal de lo siguiente:

  • 0iT(γiRi){\textstyle \sum _{0\leq i\leq T}(\gamma ^{i}R_{i})}.
  • γjjiT(γijRi){\textstyle \gamma ^{j}\sum _ {j\leq i\leq T}(\gamma ^{ij}R_ {i})}: el algoritmo REINFORCE .
  • γjjiT(γijRi)b(Sj){\textstyle \gamma ^{j}\sum _{j\leq i\leq T}(\gamma ^{ij}R_{i})-b(S_{j})}: el algoritmo REINFORCE con línea base . Aquíb{\displaystyle b}es una función arbitraria.
  • γj(Rj+γVπθ(Sj+1)Vπθ(Sj)){\textstyle \gamma ^{j}\left(R_{j}+\gamma V^{\pi _{\theta }}(S_{j+1})-V^{\pi _{\theta }}(S_{j})\right)}: Aprendizaje TD(1) .
  • γjQπθ(Sj,Aj){\textstyle \gamma ^{j}Q^{\pi _{\theta }}(S_{j},A_{j})}.
  • γjAπθ(Sj,Aj){\textstyle \gamma ^{j}A^{\pi _{\theta }}(S_{j},A_{j})}: Ventaja Actor-Crítico (A2C) . [ 3 ]
  • γj(Rj+γRj+1+γ2Vπθ(Sj+2)Vπθ(Sj)){\textstyle \gamma ^{j}\left(R_{j}+\gamma R_{j+1}+\gamma ^{2}V^{\pi _{\theta }}(S_{j+2})-V^{\pi _{\theta }}(S_{j})\right)}: Aprendizaje TD(2).
  • γj(k=0norte1γkRj+k+γnorteVπθ(Sj+norte)Vπθ(Sj)){\textstyle \gamma ^{j}\left(\sum _{k=0}^{n-1}\gamma ^{k}R_{j+k}+\gamma ^{n}V^{\pi _{\theta }}(S_{j+n})-V^{\pi _{\theta }}(S_{j})\right)}: Aprendizaje TD(n).
  • γjnorte=1λnorte11λ(k=0norte1γkRj+k+γnorteVπθ(Sj+norte)Vπθ(Sj)){\textstyle \gamma ^{j}\sum _{n=1}^{\infty }{\frac {\lambda ^{n-1}}{1-\lambda }}\cdot \left(\sum _{k=0}^{n-1}\gamma ^{k}R_{j+k}+\gamma ^{n}V^{\pi _{\theta }}(S_{j+n})-V^{\pi _{\theta }}(S_{j})\right)}: Aprendizaje TD(λ), también conocido como GAE (estimación de ventaja generalizada) . [ 4 ] Esto se obtiene mediante una suma que decae exponencialmente de los términos de aprendizaje TD(n).

Crítico

En los estimadores insesgados dados anteriormente, ciertas funciones comoVπθ,Qπθ,Aπθ{\displaystyle V^{\pi _{\theta }},Q^{\pi _{\theta }},A^{\pi _{\theta }}}Aparecen. Estas son aproximadas por el crítico . Dado que todas estas funciones dependen del actor, el crítico debe aprender junto con el actor. El crítico se aprende mediante algoritmos de aprendizaje por refuerzo basados ​​en valores.

Por ejemplo, si el crítico está estimando la función de valor de estado.Vπθ(s){\displaystyle V^{\pi _{\theta }}(s)}, entonces se puede aprender mediante cualquier método de aproximación de función de valor. Sea el crítico un aproximador de función.Vϕ(s){\displaystyle V_{\phi }(s)}con parámetrosϕ{\displaystyle \phi }.

El ejemplo más sencillo es el aprendizaje TD(1), que entrena al crítico para minimizar el error TD(1):δi=Ri+γVϕ(Si+1)Vϕ(Si){\displaystyle \delta _{i}=R_{i}+\gamma V_{\phi }(S_{i+1})-V_{\phi }(S_{i})}Los parámetros críticos se actualizan mediante descenso de gradiente sobre el error TD al cuadrado:ϕϕαϕ(δi)2=ϕ+αδiϕVϕ(Si){\displaystyle \phi \leftarrow \phi -\alpha \nabla _{\phi }(\delta _{i})^{2}=\phi +\alpha \delta _{i}\nabla _{\phi }V_{\phi }(S_{i})}dóndeα{\displaystyle \alpha }es la tasa de aprendizaje. Tenga en cuenta que el gradiente se toma con respecto a laϕ{\displaystyle \phi }enVϕ(Si){\displaystyle V_{\phi }(S_{i})}solamente, ya que elϕ{\displaystyle \phi }enγVϕ(Si+1){\displaystyle \gamma V_{\phi }(S_{i+1})}constituye un objetivo en movimiento, y el gradiente no se toma con respecto a él. Esta es una fuente común de error en las implementaciones que utilizan diferenciación automática , y requiere "detener el gradiente" en ese punto.

De manera similar, si el crítico está estimando la función de valor de acciónQπθ{\displaystyle Q^{\pi _{\theta }}}, entonces se puede aprender mediante Q-learning o SARSA . En SARSA, el crítico mantiene una estimación de la función Q, parametrizada porϕ{\displaystyle \phi }, denotado comoQϕ(s,a){\displaystyle Q_{\phi }(s,a)}El error de diferencia temporal se calcula entonces comoδi=Ri+γQθ(Si+1,Ai+1)Qθ(Si,Ai){\displaystyle \delta _{i}=R_{i}+\gamma Q_{\theta }(S_{i+1},A_{i+1})-Q_{\theta }(S_{i},A_{i})}El crítico es luego actualizado porθθ+αδiθQθ(Si,Ai){\displaystyle \theta \leftarrow \theta +\alpha \delta _{i}\nabla _{\theta }Q_{\theta }(S_{i},A_{i})}El crítico de ventaja puede ser entrenado entrenando una función Q.Qϕ(s,a){\displaystyle Q_{\phi }(s,a)}y una función de valor de estadoVϕ(s){\displaystyle V_{\phi }(s)}, entonces dejaAϕ(s,a)=Qϕ(s,a)Vϕ(s){\displaystyle A_{\phi }(s,a)=Q_{\phi }(s,a)-V_{\phi }(s)}Aunque es más común entrenar solo una función de valor de estado.Vϕ(s){\displaystyle V_{\phi }(s)}, luego estimar la ventaja mediante [ 3 ]Aϕ(Si,Ai)j0:norte1γjRi+j+γnorteVϕ(Si+norte)Vϕ(Si){\displaystyle A_{\phi }(S_{i},A_{i})\approx \sum _{j\in 0:n-1}\gamma ^{j}R_{i+j}+\gamma ^{n}V_{\phi }(S_{i+n})-V_{\phi }(S_{i})}Aquí,norte{\displaystyle n}es un número entero positivo. Cuanto mayor sea el número entero positivo, mayor será el número entero positivo.norte{\displaystyle n}Es decir, cuanto menor sea el sesgo en la estimación de la ventaja, pero a costa de una mayor varianza.

La Estimación de Ventaja Generalizada (GAE) introduce un hiperparámetroλ{\displaystyle \lambda }que interpola suavemente entre los retornos de Monte Carlo (λ=1{\displaystyle \lambda =1}, alta varianza, sin sesgo) y aprendizaje TD de 1 paso (λ=0{\displaystyle \lambda =0}, baja varianza, alto sesgo). Este hiperparámetro se puede ajustar para elegir el equilibrio óptimo entre sesgo y varianza en la estimación de la ventaja. Utiliza un promedio exponencialmente decreciente de los rendimientos de n pasos conλ{\displaystyle \lambda }siendo la fuerza de desintegración. [ 4 ]

Variantes

  • Actor-Crítico de Ventaja Asíncrona (A3C) : Versión paralela y asíncrona de A2C. [ 3 ]
  • Actor-Crítico Suave (SAC) : Incorpora la maximización de la entropía para una exploración mejorada. [ 5 ]
  • Gradiente de política determinista profundo (DDPG) : especializado para espacios de acción continuos. [ 6 ]

Véase también

Referencias

  1. Arulkumaran, Kai; Deisenroth, Marc Peter; Brundage, Miles; Bharath, Anil Anthony (noviembre de 2017). "Aprendizaje profundo por refuerzo: una breve revisión". IEEE Signal Processing Magazine . 34 (6): 26– 38. arXiv : 1708.05866 . Bibcode : 2017ISPM...34...26A . doi : 10.1109/MSP.2017.2743240 . ISSN 1053-5888 . 
  2. Konda, Vijay; Tsitsiklis, John (1999). "Algoritmos actor-crítico" . Avances en sistemas de procesamiento de información neuronal . 12. MIT Press.
  3. 1 2 3 Mnih, Volodymyr; Badia, Adrià Puigdomènech; Mirza, Mehdi; Graves, Alex; Lillicrap, Timothy P.; Harley, Tim; Silver, David; Kavukcuoglu, Koray (2016-06-16), Métodos asíncronos para el aprendizaje profundo por refuerzo , arXiv : 1602.01783
  4. 1 2 Schulman, John; Moritz, Philipp; Levine, Sergey ; Jordan, Michael; Abbeel, Pieter (2018-10-20), Control continuo de alta dimensión mediante estimación de ventaja generalizada , arXiv : 1506.02438
  5. Haarnoja, Tuomas; Zhou, Aurick; Hartikainen, Kristian; Tucker, George; Ja, Sehoon; Bronceado, Jie; Kumar, Vikash; Zhu, Enrique; Gupta, Abhishek (29 de enero de 2019), Algoritmos y aplicaciones de actor-crítico suave , arXiv : 1812.05905
  6. ^ Lillicrap, Timothy P.; Cazar, Jonathan J.; Pritzel, Alejandro; Heess, Nicolás; Erez, Tom; Tassa, Yuval; Plata, David; Wierstra, Daan (05 de julio de 2019), Control continuo con aprendizaje por refuerzo profundo , arXiv : 1509.02971
  • Konda, Vijay R.; Tsitsiklis, John N. (enero de 2003). "Sobre algoritmos actor-crítico" . SIAM Journal on Control and Optimization . 42 (4): 1143– 1166. doi : 10.1137/S0363012901385691 . ISSN 0363-0129 . 
  • Sutton, Richard S.; Barto, Andrew G. (2018). Aprendizaje por refuerzo: una introducción . Serie de computación adaptativa y aprendizaje automático (2.ª  ed.). Cambridge, Massachusetts: The MIT Press. ISBN 978-0-262-03924-6.
  • Bertsekas, Dimitri P. (2019). Aprendizaje por refuerzo y control óptimo (2.ª  ed.). Belmont, Massachusetts: Athena Scientific. ISBN 978-1-886529-39-7.
  • Grossi, Csaba (2010). Algoritmos para el aprendizaje por refuerzo . Conferencias de síntesis sobre inteligencia artificial y aprendizaje automático (1.ª  ed.). Cham: Springer International Publishing. ISBN 978-3-031-00423-0.
  • Grondman, Ivo; Busoniu, Lucian; Lopes, Gabriel AD; Babuska, Robert (noviembre de 2012). "Una revisión del aprendizaje por refuerzo actor-crítico: gradientes de política estándar y naturales" . IEEE Transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews . 42 (6): 1291– 1307. Bibcode : 2012ITHMS..42.1291G . doi : 10.1109/TSMCC.2012.2218595 . ISSN 1094-6977 .