La optimización de políticas proximales ( PPO ) es un algoritmo de aprendizaje por refuerzo (RL) para entrenar la función de decisión de un agente inteligente para realizar tareas difíciles. PPO fue desarrollado por John Schulman en 2017, [1] y se había convertido en el algoritmo RL predeterminado en la empresa de inteligencia artificial estadounidense OpenAI . [2] Desde 2018, PPO ha tenido éxito en una amplia variedad de aplicaciones, como controlar un brazo robótico , vencer a jugadores profesionales en Dota 2 y sobresalir en los juegos de Atari. [3] Muchos expertos llamaron a PPO el estado del arte, debido a su capacidad para lograr un equilibrio entre rendimiento y comprensión. En comparación con otros algoritmos, las tres principales ventajas de PPO son la simplicidad, la estabilidad y la eficiencia de la muestra. [4]
El PPO se clasifica como un método de gradiente de políticas para entrenar la red de políticas de un agente . Esta red se aproxima a una función de políticas , utilizada por el agente para tomar decisiones. Básicamente, para entrenar la función de políticas, el PPO realiza un pequeño paso de actualización de políticas, de modo que el agente pueda alcanzar de manera confiable la solución óptima. Un tamaño de paso demasiado grande puede dirigir la política en una dirección subóptima, con lo que tendrá pocas posibilidades de recuperación; un tamaño de paso demasiado pequeño reduce la eficiencia general. En consecuencia, el PPO implementa una función de recorte que restringe la actualización de políticas de un agente para que no sea demasiado grande, de modo que se puedan utilizar tamaños de paso más grandes sin afectar negativamente el proceso de ascenso del gradiente . [4]
En 2015, John Schulman introdujo la Optimización de Políticas de Región de Confianza (TRPO), que fue un predecesor de PPO. TRPO abordó el problema de inestabilidad de otro algoritmo, la Red Q Profunda (DQN), al utilizar la restricción de región de confianza para regular la divergencia KL entre las políticas antiguas y nuevas. Sin embargo, TRPO es computacionalmente complejo e ineficiente debido a su uso de optimización de segundo orden, lo que genera dificultades y costos al implementar soluciones para problemas de gran escala. [5] [6]
En 2017, John Schulman resolvió el problema de complejidad de TRPO al adoptar la optimización de primer orden en PPO. Schulman y su equipo diseñaron un mecanismo de recorte que evita que la nueva política se desvíe significativamente de la anterior cuando la relación de probabilidad entre ellas excede un cierto umbral de recorte. [1] [6] En otras palabras, PPO modifica la función objetivo de TRPO al penalizar las actualizaciones de políticas que son demasiado grandes. PPO también obvia las complicadas restricciones de la región de confianza y utiliza la función de recorte en su lugar. Como resultado, PPO mejora el rendimiento y la implementación en función del marco de TRPO.
Esta sección primero explora los componentes clave de PPO, luego profundiza en la función objetivo principal.
Para comenzar el proceso de entrenamiento de PPO, el agente se coloca en un entorno para realizar acciones basadas en su entrada actual. En la fase inicial del entrenamiento, el agente puede explorar libremente las soluciones y realizar un seguimiento del resultado. Más tarde, con una cierta cantidad de muestras de transición y actualizaciones de políticas, el agente seleccionará una acción a tomar mediante un muestreo aleatorio de la distribución de probabilidad generada por la red de políticas. [7] Las acciones que tengan 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 en secuencias de estados, conocidas como episodios .
La función de ventaja (denotada como ) es central para la 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 opuesto es cierto para un resultado de ventaja negativo. [6]
La función de ventaja se puede definir como , donde es la suma descontada de recompensas (la recompensa ponderada total por completar un episodio) y es la estimación de referencia. [8] [6] Dado que la función de ventaja se calcula después de completar 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 genera 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 , como la función de política en sí. Con y calculados, la función de ventaja se calcula restando la estimación de referencia del rendimiento descontado real. [9] Si , el rendimiento real de la acción es mejor que el rendimiento esperado de la experiencia; si , el rendimiento real es peor.
En PPO, la función de proporción ( ) calcula la probabilidad de seleccionar una acción en el estado dada la red de políticas actual, dividida por la probabilidad previa bajo la política anterior. En otras palabras:
Por lo tanto, esta función de relación puede estimar fácilmente la divergencia entre las políticas antiguas y las actuales. [10] [4]
La función objetivo de PPO toma el operador de expectativa (denotado como ), lo que significa que esta función se calculará sobre cantidades de trayectorias. El operador de expectativa toma el mínimo de dos términos:
La intuición fundamental detrás de la PPO es la misma que la de la TRPO: conservadurismo. El recorte da como resultado una estimación conservadora de la ventaja de la nueva política. El razonamiento es que si un agente realiza cambios significativos debido a estimaciones altas de la ventaja, su actualización de política será grande e inestable, y puede divergir de la política óptima con pocas posibilidades de recuperación. [12] 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 las buenas acciones ponderadas al alza. Por otro lado, cuando una acción bajo la antigua política se juzga como mala, la función de recorte restringe cuánto puede aceptar el agente las malas acciones ponderadas a la baja de la nueva política. [13] En consecuencia, el mecanismo de recorte está diseñado para desincentivar el incentivo de moverse más allá del rango definido recortando 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.
Después de calcular la función objetivo sustituta recortada, el agente tiene dos razones de probabilidad: una no recortada y otra recortada. Luego, al tomar el mínimo de los dos objetivos, el objetivo final se convierte en un límite inferior (un límite pesimista ) de lo que el agente sabe que es posible. [13] En otras palabras, el método mínimo garantiza que el agente esté realizando la actualización más segura posible.
El método PPO se aproxima a lo que hace el método TRPO, con considerablemente menos computación. Utiliza la optimización de primer orden (la función de recorte) para restringir la actualización de la política, mientras que el método TRPO utiliza restricciones de divergencia KL (optimización de segundo orden). En comparación con el método 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 más eficiente utilizar el método PPO en problemas de gran escala. [14]
Mientras que otros algoritmos de RL requieren un ajuste de hiperparámetros , PPO comparativamente no requiere tanto (0,2 para épsilon se puede utilizar en la mayoría de los casos). [15] 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.
La eficiencia de muestreo indica si los algoritmos necesitan más o menos datos para entrenar una buena política. Los algoritmos basados en políticas, incluidos PPO y TRPO, generalmente tienen una buena eficiencia de muestreo (no requieren tantas muestras como los algoritmos alternativos). [16] Sin embargo, PPO logró la eficiencia de muestreo debido a su uso de objetivos sustitutos. El objetivo sustituto permite a PPO evitar que la nueva política se aleje demasiado de la política 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 complicadas y de alta dimensión, donde la recopilación y el cálculo de datos pueden ser costosos. [17]