La optimización de políticas proximales ( PPO ) es un algoritmo de aprendizaje de refuerzo 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 de aprendizaje de refuerzo 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 el rendimiento y la comprensión. [ cita requerida ] 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 es la función que utiliza el agente para tomar decisiones. Básicamente, para entrenar la red 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 ascenso del gradiente. [4]
El aprendizaje por refuerzo (RL), al que pertenece el PPO, tiene sus raíces en la psicología y la neurociencia. En comparación con otros campos del aprendizaje automático, el RL imita de cerca el tipo de aprendizaje que realizan los humanos y otros animales. Muchos de los algoritmos básicos, incluido el PPO, se inspiraron originalmente en sistemas de aprendizaje biológico, como el aprendizaje por ensayo y error del psicólogo Edward Thorndike (1913). [5] [6]
En 2015, John Schulman introdujo la Optimización de Políticas de Región de Confianza (TRPO, por sus siglas en inglés) como una versión anterior de PPO. TRPO abordó el problema de inestabilidad encontrado en el algoritmo anterior, deep q-network (DQN), al utilizar la restricción de región de confianza para regular la divergencia KL entre la política antigua y la nueva. Sin embargo, TRPO es computacionalmente complicado e ineficiente debido a su optimización de segundo orden, lo que lleva a una implementación costosa y difícil para problemas de gran escala. [7] [8]
En 2017, John Schulman resolvió el problema de complejidad de TRPO al adoptar la optimización de primer orden en PPO. Schulman y sus equipos diseñaron un mecanismo de recorte que prohíbe que la nueva política se desvíe significativamente de la anterior cuando la relación de probabilidad entre ellas está fuera del rango de recorte. [1] [8] En otras palabras, PPO modifica la función objetivo de TRPO con un castigo por actualizaciones de política demasiado grandes. Además, PPO elimina 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 del algoritmo central en PPO y luego profundiza en la función objetivo principal en PPO.
Para comenzar el proceso de entrenamiento del 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 conjuntos de datos 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. [9] 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 conocido como Estado al actuar, es recompensado con una recompensa positiva o una recompensa negativa. El objetivo de un agente es maximizar sus recompensas totales a lo largo de una serie de Estados, también conocidos como episodios. Los científicos refuerzan al agente para que aprenda a realizar las mejores acciones mediante la experiencia, y esta función de decisión se llama Política. [10]
Como parte esencial de la PPO, la función de ventaja intenta responder a la pregunta de si una acción específica del agente es mejor que otra acción posible en un estado dado o peor que la otra acción. Por definición, la función de ventaja es una estimación del valor relativo de una acción seleccionada. El resultado positivo de la función de ventaja significa que la acción elegida es mejor que el rendimiento promedio, por lo que las posibilidades de esa acción específica aumentarán, y viceversa. [8]
Cálculo de la función de ventaja: A = suma descontada (Q) - estimación de referencia (V). La primera parte, la suma descontada, es la recompensa ponderada total por completar un episodio actual. Se le dará más peso a una acción específica que brinde recompensas fáciles y rápidas. Por otro lado, se le dará menos peso a las acciones que requieren un esfuerzo significativo pero ofrecen recompensas desproporcionadas. [11] [8] 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 segunda parte, la estimación de referencia, es 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 algunas variaciones ) porque utiliza una red neuronal . Con las dos partes calculadas, la función de ventaja se calcula restando la estimación de referencia del rendimiento real (suma descontada). [12] A > 0 significa cuánto mejor es el rendimiento real de la acción en función del rendimiento esperado de la experiencia; A < 0 implica qué tan malo es el rendimiento real en función del rendimiento esperado.
En PPO, la función de relación calcula la probabilidad de tomar la acción a en el estado s en la red de políticas actual dividida por la versión anterior de la política.
En esta función, rt ( θ ) denota la relación de probabilidad entre la política actual y la anterior:
Esta función de relación permite estimar fácilmente la divergencia entre las políticas antiguas y las actuales. [13] [4]
La función objetivo central de PPO toma el operador de expectativa (denotado como E), 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:
1. Función de ventaja R-theta*: es el producto de la función de relación y la función de ventaja que se introdujo en TRPO, también conocida como objetivo de gradiente de política normal. [14]
2. Función de ventaja recortada (R-theta): primero se recorta la relación de la política entre 1- épsilon y 1 + épsilon; por lo general, épsilon se define como 0,20. Luego, se multiplica la versión recortada por la ventaja.
La intuición fundamental detrás de la PPO es la misma que la de la TRPO: conservadurismo. El recorte se aplica para hacer que la "estimación de ventaja" de la nueva política sea conservadora. El razonamiento detrás del conservadurismo es que si los agentes hacen cambios significativos debido a estimaciones de ventaja altas, la actualización de la política será grande e inestable, y puede "caer por el precipicio" (poca posibilidad de recuperación). [15] Hay dos aplicaciones comunes de la función de recorte. Cuando una acción bajo una nueva política resulta ser una acción realmente buena según la función de ventaja, la función de recorte limita cuánto crédito se puede dar a una nueva política por buenas acciones ponderadas al alza. Por otro lado, cuando una acción bajo la antigua política se juzga como una mala acción, la función de recorte restringe cuánto puede el agente recortar el margen de la nueva política para malas acciones ponderadas a la baja. [16] En consecuencia, el mecanismo de recorte está diseñado para desincentivar el incentivo de ir 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 y limpia.
Después de calcular la función objetivo sustituta recortada, el programa 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 (límite pesimista) de lo que un agente sabe que es posible. [16] En otras palabras, el método mínimo asegura que el agente esté haciendo la actualización más segura posible.
El método PPO se aproxima a lo que hacía el método TRPO sin realizar demasiados cálculos. Utiliza la optimización de primer orden (función de recorte) para restringir la actualización de la política, mientras que el método TRPO utiliza restricciones de divergencia KL fuera de la función objetivo (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 tiempo de cálculo. Por lo tanto, es más económico y más eficiente utilizar el método PPO en problemas de gran escala. [17]
Mientras que otros algoritmos de aprendizaje por refuerzo requieren un ajuste de hiperparámetros , PPO no necesariamente lo requiere (en la mayoría de los casos, se puede utilizar 0,2 para épsilon). [18] 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 cantidad de datos para entrenar una buena política. Los algoritmos basados en políticas, incluidos PPO y TRPO, generalmente tienen un bajo nivel de eficiencia de muestreo. [19] Sin embargo, PPO logró la eficiencia de muestreo debido a su uso de objetivos sustitutos. Los objetivos sustitutos permiten 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. [20]