La optimización de políticas proximales ( PPO ) es un algoritmo de aprendizaje por refuerzo (RL) para entrenar a un agente inteligente . En concreto, es un método de gradiente de políticas , que se utiliza a menudo en el aprendizaje por refuerzo profundo cuando la red de políticas es muy grande.
Historia
El predecesor de PPO, Trust Region Policy Optimization (TRPO), se publicó en 2015. Abordó el problema de inestabilidad de otro algoritmo, Deep Q-Network (DQN), utilizando el método de región de confianza para limitar la divergencia KL entre las políticas antigua y nueva. Sin embargo, TRPO utiliza la matriz hessiana (una matriz de segundas derivadas) para imponer la región de confianza, pero la hessiana es ineficiente para problemas de gran escala. [ 1 ]
PPO se publicó en 2017. Era esencialmente una aproximación de TRPO que no requería el cálculo de la matriz hessiana. La restricción de divergencia KL se aproximó simplemente recortando el gradiente de la política. [ 2 ]
Desde 2018, PPO fue el algoritmo de aprendizaje por refuerzo predeterminado en OpenAI . [ 3 ] PPO se ha aplicado a muchas áreas, como el control de un brazo robótico , vencer a jugadores profesionales en Dota 2 ( OpenAI Five ) y jugar juegos de Atari. [ 4 ]
TRPO
TRPO, el predecesor de PPO, es un algoritmo basado en políticas. Puede utilizarse en entornos con espacios de acción discretos o continuos.
El pseudocódigo es el siguiente: [ 5 ]
- Entrada: parámetros iniciales de la política, parámetros de la función de valor inicial
- Hiperparámetros: límite de divergencia KLcoeficiente de retroceso, número máximo de pasos de retroceso
- parahacer
- Recopilar conjunto de trayectoriasmediante la ejecución de políticasen el medio ambiente.
- Calcular las recompensas pendientes.
- Calcular estimaciones de ventaja,(utilizando cualquier método de estimación de ventaja) basado en la función de valor actual.
- Estimar el gradiente de política como
- Utilice el algoritmo del gradiente conjugado para calculardóndees la matriz hessiana de la divergencia KL promedio de la muestra.
- Actualizar la política retrocediendo la búsqueda de línea condóndees el valor más pequeño que mejora la pérdida de muestra y satisface la restricción de divergencia KL de la muestra.
- Ajuste de la función de valor mediante regresión sobre el error cuadrático medio:normalmente mediante algún algoritmo de descenso de gradiente.
PPO
El pseudocódigo es el siguiente: [ 6 ]
- Entrada: parámetros iniciales de la política, parámetros de la función de valor inicial
- parahacer
- Recopilar conjunto de trayectoriasmediante la ejecución de políticasen el medio ambiente.
- Calcular las recompensas pendientes.
- Calcular estimaciones de ventaja,(utilizando cualquier método de estimación de ventaja) basado en la función de valor actual.
- Actualizar la política maximizando el objetivo PPO-Clip:normalmente mediante ascenso de gradiente estocástico con Adam.
- Ajuste de la función de valor mediante regresión sobre el error cuadrático medio:normalmente mediante algún algoritmo de descenso de gradiente.
Al igual que todos los métodos de gradiente de política, PPO se utiliza para entrenar a un agente de aprendizaje por refuerzo cuyas acciones están determinadas por una función de política diferenciable mediante ascenso de gradiente.
Intuitivamente, un método de gradiente de política requiere pequeños pasos de actualización de la política, por lo que el agente puede alcanzar recompensas cada vez mayores en promedio.
Los métodos de gradiente de política pueden ser inestables: un tamaño de paso demasiado grande puede dirigir la política en una dirección subóptima, con pocas posibilidades de recuperación; un tamaño de paso demasiado pequeño reduce la eficiencia general.
Para resolver la inestabilidad, PPO implementa una función de recorte que limita la actualización de la política de un agente para que no sea demasiado grande, de modo que se puedan usar tamaños de paso mayores sin afectar negativamente el proceso de ascenso de gradiente . [ 7 ]
Conceptos básicos
Para comenzar el proceso de entrenamiento PPO, el agente se configura en un entorno para realizar acciones basadas en su entrada actual. En la fase inicial del entrenamiento, el agente puede explorar libremente soluciones y realizar un seguimiento del resultado. Posteriormente, con una cierta cantidad de muestras de transición y actualizaciones de políticas, el agente seleccionará una acción a realizar mediante un muestreo aleatorio de la distribución de probabilidad.generado por la red de políticas. [ 8 ] Las acciones que tienen más probabilidades de ser beneficiosas tendrán la mayor probabilidad de ser seleccionadas de la muestra aleatoria. Después de que un agente llega a un escenario diferente (un nuevo estado ) al actuar, es recompensado con una recompensa positiva o una recompensa negativa. El objetivo de un agente es maximizar la señal de recompensa acumulada a través de secuencias de estados, conocidas como episodios .
Leyes de gradiente de política: la función de ventaja
La función de ventaja (denotada comoLa función de ventaja es fundamental para la optimización de procesos (PPO), ya que intenta responder a la pregunta de si una acción específica del agente es mejor o peor que alguna otra acción posible en un estado dado. Por definición, la función de ventaja es una estimación del valor relativo de una acción seleccionada. Si el resultado de esta función es positivo, significa que la acción en cuestión es mejor que el rendimiento promedio, por lo que las posibilidades de seleccionar esa acción específica aumentarán. Lo contrario ocurre con un resultado de ventaja negativo. [ 1 ]
La función de ventaja se puede definir como, dóndees la suma descontada de las recompensas (la recompensa ponderada total por completar un episodio) yes la estimación de referencia. [ 9 ] [ 1 ] Dado que la función de ventaja se calcula después de la finalización de un episodio, el programa registra el resultado del episodio. Por lo tanto, calcular la ventaja es esencialmente un problema de aprendizaje no supervisado . La estimación de referencia proviene de la función de valor que produce la suma descontada esperada de un episodio a partir del estado actual. En el algoritmo PPO, la estimación de referencia será ruidosa (con cierta varianza ), ya que también utiliza una red neuronal , al igual que la propia función de política. ConyCalculada, la función de ventaja se calcula restando la estimación de referencia del rendimiento descontado real. [ 10 ] Si, el retorno real de la acción es mejor que el retorno esperado por experiencia; siEl rendimiento real es peor.
Función de razón
En PPO, la función de razón () calcula la probabilidad de seleccionar la acciónen el estadodada la red de políticas actual, dividida por la probabilidad anterior bajo la política antigua. En otras palabras:
- Si, dóndeson los parámetros de la red de políticas, luego seleccionando la acciónen el estadoEs más probable que se base en la política actual que en la anterior.
- Si, luego seleccionando la acciónen el estadoEs menos probable con la política actual que con la política anterior.
Por lo tanto, esta función de razón puede estimar fácilmente la divergencia entre las políticas antiguas y las actuales. [ 11 ] [ 7 ]
Función objetivo de PPO
La función objetivo de PPO toma el operador de esperanza (denotado como) lo que significa que esta función se calculará sobre cantidades de trayectorias. El operador de esperanza toma el mínimo de dos términos:
- : este es el producto de la función de razón y la función de ventaja introducida en TRPO, también conocida como objetivo de gradiente de política normal. [ 12 ]
- : la relación de la política se recorta primero al rango; generalmente,se define como 0,2. Luego, como antes, se multiplica por la ventaja.
La intuición fundamental detrás de PPO es la misma que la de TRPO: conservadurismo. El recorte resulta en una estimación de ventaja conservadora de la nueva política. El razonamiento es que si un agente realiza cambios significativos debido a estimaciones de ventaja altas, su actualización de política será grande e inestable, y puede divergir de la política óptima con pocas posibilidades de recuperación. [ 13 ] Hay dos aplicaciones comunes de la función de recorte: cuando una acción bajo una nueva política resulta ser una buena elección basada en la función de ventaja, la función de recorte limita cuánto crédito se puede dar a una nueva política por acciones buenas ponderadas. Por otro lado, cuando una acción bajo la política anterior se considera mala, la función de recorte restringe cuánto puede aceptar el agente las acciones malas ponderadas de la nueva política. [ 14 ] En consecuencia, el mecanismo de recorte está diseñado para desalentar el incentivo de moverse más allá del rango definido al recortar en ambas direcciones. La ventaja de este método es que se puede optimizar directamente con el descenso de gradiente , a diferencia de la estricta restricción de divergencia KL de TRPO, lo que hace que la implementación sea más rápida e intuitiva.
Tras calcular la función objetivo sustituta recortada, el agente dispone de dos razones de probabilidad: una sin recortar y otra recortada. Al tomar el mínimo de ambas, el objetivo final se convierte en una cota inferior (una cota pesimista ) de lo que el agente sabe que es posible. [ 14 ] En otras palabras, el método del mínimo garantiza que el agente realice la actualización más segura posible.
Ventajas
Sencillez
PPO se aproxima a TRPO, pero con un coste computacional considerablemente menor. Utiliza optimización de primer orden (la función de recorte) para restringir la actualización de la política, mientras que TRPO utiliza restricciones de divergencia KL (optimización de segundo orden). En comparación con TRPO, el método PPO es relativamente fácil de implementar y requiere menos recursos computacionales y tiempo. Por lo tanto, es más económico y eficiente utilizar PPO en problemas a gran escala. [ 15 ]
Estabilidad
Si bien otros algoritmos de aprendizaje por refuerzo requieren ajuste de hiperparámetros , PPO comparativamente no requiere tanto (en la mayoría de los casos se puede usar 0,2 para épsilon). [ 16 ] Además, PPO no requiere técnicas de optimización sofisticadas. Se puede practicar fácilmente con marcos de aprendizaje profundo estándar y generalizar a una amplia gama de tareas.
Eficiencia de la muestra
La eficiencia de muestreo indica si los algoritmos necesitan más o menos datos para entrenar una buena política. PPO logró la eficiencia de muestreo gracias al uso de objetivos sustitutos. El objetivo sustituto permite a PPO evitar que la nueva política se aleje demasiado de la anterior; la función de recorte regulariza la actualización de la política y reutiliza los datos de entrenamiento. La eficiencia de muestreo es especialmente útil para tareas complejas y de alta dimensionalidad, donde la recopilación y el cálculo de datos pueden resultar costosos. [ 17 ]
Véase también
Referencias
- 1 2 3 Schulman, John; Levine, Sergey ; Moritz, Philipp; Jordan, Michael; Abbeel, Pieter (2015-07-06). "Optimización de la política de región de confianza" . Actas de la 32.ª Conferencia Internacional sobre Aprendizaje Automático - Volumen 37. ICML'15. Lille, Francia: JMLR.org: 1889–1897 .
- ↑ Schulman, John; Wolski, Filip; Dhariwal, Prafulla; Radford, Alec; Klimov, Oleg (2017-08-28), Proximal Policy Optimization Algorithms , arXiv : 1707.06347
- ↑ OpenAI, " Optimización de políticas proximales". Disponible en: https://openai.com/research/openai-baselines-ppo
- ↑ Arxiv Insights. "Introducción a los métodos de gradiente de política", YouTube , 1 de octubre de 2018 [Archivo de vídeo]. Disponible en: https://www.youtube.com/watch?v=5P7I-xPq8u8
- ↑ "Optimización de la política de región de confianza: documentación de Spinning Up" . spinningup.openai.com . Consultado el 21 de enero de 2025 .
- ↑ "Optimización de políticas proximales: documentación de Spinning Up" . spinningup.openai.com . Consultado el 21 de enero de 2025 .
- 1 2 T. Simonini, "Optimización de políticas proximales (PPO)", Hugging Face – La comunidad de IA que construye el futuro., https://huggingface.co/blog/deep-rl-ppo
- ↑ "Guía para principiantes sobre el aprendizaje profundo por refuerzo", Pathmind . https://wiki.pathmind.com/deep-reinforcement-learning#reward
- ↑ OpenAI, "Parte 1: Conceptos clave en RL", Parte 1: Conceptos clave en RL - Documentación de Spinning Up, https://spinningup.openai.com/en/latest/spinningup/rl_intro.html
- ↑ Rohitkumar, "PPO (Optimización de Políticas Proximales) explicada con ejemplos de código en PyTorch y TensorFlow," PlainSwipe, https://plainswipe.com/ppo-proximal-policy-optimization-explained-with-code-examples-in-pytorch-and-tensorflow/
- ↑ W. Heeswijk, "Optimización de políticas proximales (PPO) explicada", Medium, https://towardsdatascience.com/proximal-policy-optimization-ppo-explained-abed1952457b
- ↑ Edan Meyer. "Explicación de la optimización de políticas proximales", YouTube , 20 de mayo de 2021 [Archivo de vídeo]. Disponible en: https://www.youtube.com/watch?v=HrapVFNBN64
- ↑ CM Wild (9 de julio de 2018). "La búsqueda de la felicidad (robótica): cómo TRPO y PPO estabilizan los métodos de gradiente de política" . towardsdatascience.com .
- 1 2 Zheng, R., Dou, S., Gao, S., Hua, Y., Shen, W., Wang, B.,(2023). Secretos de RLHF en modelos de lenguaje grandes Parte I: PPO. ArXiv . /abs/2307.04964
- ↑ J. Nocedal y Y. Nesterov., "Optimización de políticas naturales, de región de confianza y proximales," TransferLab, https://transferlab.ai/blog/trpo-and-ppo/
- ↑ J. Hui, "RL - comparación de algoritmos de aprendizaje por refuerzo," Medium, https://jonathan-hui.medium.com/rl-reinforcement-learning-algorithms-comparison-76df90f180cf/
- ↑ XiaoYang-ElegantRL, "ElegantRL: Dominando los algoritmos PPO - hacia la ciencia de datos", Medium , 23 de noviembre de 2022. [En línea]. Disponible en: https://towardsdatascience.com/elegantrl-mastering-the-ppo-algorithm-part-i-9f36bc47b791
Enlaces externos
- Anuncio de optimización de políticas proximales por parte de OpenAI
- Repositorio de GitHub
- algoritmos de aprendizaje automático
- Aprendizaje por refuerzo
- 2017 en inteligencia artificial