La optimización de políticas proximales (PPO) es un algoritmo de aprendizaje por refuerzo profundo destinado a mejorar el rendimiento de los modelos mediante el aprendizaje por refuerzo. La política en PPO indica cómo un agente (como un robot o un programa) ha aprendido a actuar en el mundo. Este enfoque ha revolucionado el aprendizaje y es un elemento clave de la forma en que los agentes y los sistemas pueden aprender a medida que interactúan con los usuarios y con el mundo. Los modelos de lenguaje de gran tamaño modernos (como los derivados de ChatGPT de OpenAI) utilizan la PPO para el aprendizaje por refuerzo a partir del feedback humano (RLHF). La PPO es también uno de los algoritmos más habituales para entrenar agentes en videojuegos, en la automatización robótica de procesos y en los coches autónomos.
La PPO fue presentada por primera vez por John Schulman, Filip Wolski y otros1en un artículo titulado "Proximal Policy Optimization Algorithms". Para comprender cómo funciona la PPO y por qué es importante, debemos empezar por el aprendizaje por refuerzo (RL). El proceso de RL utiliza el machine learning para ayudar a un sistema a elegir una acción en función del entorno y de un objetivo. Los seres humanos tomamos este tipo de decisiones constantemente; por ejemplo, en una partida de blackjack decidimos si "pedir" (coger una nueva carta) o "plantarme" (quedarme con las cartas que ya tengo). El aprendizaje por refuerzo tiene cuatro elementos fundamentales: agente, entorno, acciones y recompensas. En el ejemplo del blackjack tenemos:
El agente: el humano que juega el juego.
El entorno: qué cartas tiene el jugador y qué cartas puede ver que tiene el crupier.
Acciones: si "pedir" (obtener una nueva carta) o "quedarse" (mantener las cartas actuales).
Recompensas: si el usuario gana o pierde la mano.
Una política es una estrategia o un conjunto de reglas que sigue un agente, como un robot o un programa informático, para seleccionar una acción concreta en función de su entorno. La política establece una correspondencia entre los entornos y las posibles acciones que el agente debe llevar a cabo. Las políticas pueden ser sencillas, con una acción fija para cada estado, o complejas, en las que la política incorpora estimaciones o cálculos para elegir, así como mecanismos de aprendizaje para determinar las acciones óptimas. El objetivo es encontrar una política que maximice la recompensa acumulada que recibe el agente a lo largo del tiempo. Podemos imaginar una política sencilla para el blackjack, por ejemplo, "pide carta si tus cartas suman menos de 17 y plántate si suman más de 18". El agente compararía el entorno con la política y seleccionaría una acción basándose en ella.
El RL es una forma de ayudar a un agente a aprender una política que le permita decidir qué acciones llevar a cabo para maximizar las recompensas. El PPO es una técnica potente que ayuda a los agentes a obtener más información de forma más eficaz. Se ha utilizado en aplicaciones que van desde la construcción de robots hasta la mejora de la forma en que los modelos de lenguaje de gran tamaño (LLM) razonan y responden a las instrucciones. La PPO es uno de los componentes fundamentales del aprendizaje por refuerzo con feedback humano (RLHF) que se utiliza para entrenar los LLM. Es precisamente este último método el que ha impulsado gran parte de la investigación reciente en el campo del RL.
Hay dos grandes familias de métodos de RL. Los primeros son métodos basados en valores que evalúan el entorno y determinan la mejor acción para ese entorno en función de la recompensa esperada. Se evalúan todas las acciones posibles y el agente selecciona la acción con la mayor recompensa esperada. Para determinar la mejor opción, el agente se centra en aprender una función de valor que estime la recompensa (rendimiento) acumulada esperada de cada entorno o de cada par entorno-acción. La política se deriva indirectamente seleccionando acciones que maximizan el valor estimado mediante el uso de un valor. La idea es descubrir una función de valor óptima para cada acción posible que conduzca a una política óptima. Cuando hay pares limitados de acciones y entornos que explorar, este enfoque puede resultar muy eficaz. El agente calculará la recompensa esperada para cada acción y elegirá en función de esa estimación. En los espacios de acción amplios, cuando el número de acciones posibles es elevado, resulta difícil estimar el rendimiento de cada una de ellas. Un robot que debe decidir cómo girar un brazo con múltiples articulaciones en el espacio tridimensional se enfrenta a miles de decisiones posibles, demasiadas como para calcular una función para cada combinación posible de posiciones de las articulaciones. Además, esto limita al agente a acciones predefinidas, lo que significa que el agente es incapaz de idear estrategias nuevas o innovadoras.
Esto conduce a un segundo enfoque: métodos basados en políticas. Una política es una estrategia o conjunto de reglas que un agente, como un robot o un programa de software, sigue para tomar decisiones basadas en su entorno. La política establece una correspondencia entre los entornos y las posibles acciones que el agente debe llevar a cabo. Las políticas pueden ser simples, con una acción fija para cada estado, o pueden ser complejas en las que la política incorpora estimaciones y cálculos de ventajas para elegir y aprender mecanismos para determinar acciones óptimas. El objetivo es encontrar una política que maximice la recompensa acumulada que recibe el agente a lo largo del tiempo. Imagine un modelo que intente decidir cuándo comprar, vender o mantener determinadas acciones. Una estrategia definiría cuándo el agente debería plantearse comprar o vender una acción en función de la tendencia de dicha acción o del comportamiento del mercado bursátil en su conjunto.
Un método de aprendizaje basado en políticas aprende qué acciones son las más adecuadas para un estado determinado sin estimar directamente sus resultados esperados. Este enfoque significa que el agente puede aprender muchas más acciones posibles para cada estado y no necesita estimar una función de valor para cada una de ellas. El agente optimiza la política ajustando la probabilidad de elegir una acción para maximizar el rendimiento esperado sin estimar una función de ventaja para cada acción. Este proceso requiere muchos más datos y una arquitectura de aprendizaje compleja porque el número de acciones posibles para un estado dado es teóricamente infinito. Los gradientes de políticas forman parte de la segunda categoría.
Con el aprendizaje de políticas, existen dos enfoques fundamentales para aprender una política para un agente. Los métodos basados en la política utilizan únicamente las acciones actuales para impulsar el aprendizaje, aprender de lo que hace. Imagine un coche autónomo que intenta encontrar la ruta óptima hacia un destino a lo largo de varios viajes. En el aprendizaje basado en políticas, ese automóvil aprendería únicamente de las rutas que toma.
La política guía las acciones del agente en cualquier entorno, incluido el proceso de toma de decisiones durante el aprendizaje. El agente evalúa los resultados de sus acciones actuales y va perfeccionando su estrategia de forma gradual. Este método permite al agente adaptarse y mejorar su toma de decisiones al interactuar directamente con el entorno y aprender de sus propias interacciones en tiempo real.
Los métodos fuera de la política harían que el coche observara las rutas que siguen otros coches autónomos para aprender de sus acciones. El coche no tiene que seguir la misma política que los coches que está observando, pero puede observar las recompensas que recibe por sus acciones y actualizar su propia política en consecuencia. Implica aprender el valor de la política óptima independientemente de las acciones del agente. Estos métodos permiten al agente aprender de las observaciones sobre la política óptima, incluso cuando no la sigue. Este método es útil para aprender de un conjunto de datos fijo o de una política docente.
El gradiente de la política es un enfoque basado en la política para crear una política que optimice directamente la propia política siguiendo el gradiente de rendimiento esperado con respecto a los parámetros de la política. Conceptualmente, es similar al descenso de gradiente estocástico (SGD), que intenta minimizar el error de una predicción con una función de pérdida. Sin embargo, hay una diferencia clave: el SGD suele estimar parámetros para minimizar una pérdida. Por otro lado, un gradiente de políticas intenta estimar los parámetros de la distribución de políticas para priorizar las acciones que maximizan la recompensa. El objetivo es crear una distribución de probabilidad para todas las acciones posibles que haga que las acciones que den mayores recompensas tengan más probabilidades y las acciones que den menos recompensas tengan menos probabilidades.
Los gradientes de política son lo que se conoce como métodos "actor-crítico". El "actor" es una red de políticas que selecciona las acciones, y el "crítico" es el que estima en qué medida esa política asocia las acciones a los estados con una recompensa específica.
Si su política es (una distribución de probabilidad sobre las acciones) y el objetivo de los agentes es maximizar un rendimiento esperado denotado por entonces se darían pasos de ascenso por gradiente definidos como:
En este caso, es el vector de parámetros de la política que determina la distribución de probabilidad de las acciones. La política anterior se actualiza, , sumando a la política anterior la tasa de aprendizaje multiplicada por el gradiente de la política. El gradiente de la política es es decir, el gradiente con respecto a multiplicado por una función objetivo que representa el rendimiento esperado de la política.
Un gradiente de política aprende aplicando la política actual, seleccionando una acción, evaluando la recompensa y luego calculando el gradiente de la función objetivo. A continuación, el algoritmo aplica una actualización de política para la siguiente iteración cuando puede realizar una acción y observar la ventaja obtenida por la actualización.
En el centro del enfoque del gradiente político está el teorema del gradiente político, que muestra cómo una política se puede optimizar. El gradiente es, sencillamente, en qué medida la política aumenta o disminuye la probabilidad de una acción, multiplicado por las recompensas obtenidas con dicha acción. La ecuación del teorema del gradiente de política se expresa así:
Esta ecuación establece que el gradiente de una política dada para los parámetros puede fijarse en una esperanza . Esa esperanza es una función de puntuación multiplicada por el logaritmo de la probabilidad de la acción elegida y , la recompensa que obtiene el agente al realizar la acción en el estado .
Un gradiente de políticas permite a un agente explorar muchas variaciones y calcular cuáles darán la mayor recompensa de forma rápida y eficiente. Sin embargo, esta técnica no está exenta de defectos. Por ejemplo, los métodos de gradiente de políticas suelen converger hacia un máximo local en lugar de hacia un óptimo global. El cálculo de un gradiente de políticas puede tardar más en entrenarse que otros tipos de métodos basados en políticas. El propio gradiente de políticas puede generar una gran varianza, lo que significa que la estimación del propio gradiente es muy inexacta. Este resultado puede llevar al proceso a desestimar la trayectoria del gradiente y cuánto le afectan los cambios políticos.
Un ejemplo clásico de algoritmo de gradiente de política es la optimización de políticas de región de confianza (TRPO)2. Supuso un gran avance cuando se presentó por primera vez, pero presenta varios problemas bien conocidos que dificultan su uso en la práctica.
La PPO es una mejora en el uso de un gradiente de políticas para aprender. Fundamentalmente, busca cómo dar el mayor paso posible de mejora en una política utilizando los datos actuales sin realizar actualizaciones de política tan grandes que el rendimiento se derrumbe. En los métodos de gradiente de políticas, la política se mejora ajustando ligeramente sus parámetros en la dirección que aumenta la recompensa esperada. Sin embargo, las actualizaciones grandes pueden destruir el rendimiento y un solo paso de gradiente demasiado agresivo puede cambiar drásticamente el comportamiento del agente y colapsar el aprendizaje. Los algoritmos anteriores (como TRPO) resolvieron este problema imponiendo una restricción sobre hasta qué punto la nueva política puede alejarse de la anterior, pero eran matemáticamente complejos.
La PPO mantiene las actualizaciones de la política cerca de la política anterior y evita la necesidad de restricciones complejas. En lugar de elegir la próxima actualización de forma estocástica, la PPO utiliza lo que se denomina un objetivo sustituto recortado que impide que la póliza dé grandes saltos. La política seguirá mejorando (ese es el gradiente de la recompensa a medida que el agente la aplica y observa los resultados), pero lo hará de forma segura.
Con un gradiente de políticas, cada iteración da un paso ascendente de gradiente en la función objetivo de la política. El tamaño del paso presenta un desafío. Si el paso es demasiado pequeño, el proceso de entrenamiento será lento, pero si es demasiado grande, habrá demasiada variabilidad en la política como para que el agente pueda encontrar una solución óptima.
En la PPO, la idea es restringir las actualizaciones de políticas con una función objetivo sustituta recortada que limite el cambio de política a un rango específico. Esta función se da como:
Para desglosar esta fórmula, la primera parte es la función de razón: . Esa función de razón es:
Se trata de la probabilidad de realizar la acción en el estado en la política actual, dividida por la de la política anterior. De este modo se calcula la relación de probabilidades entre la política actual y la anterior. Si , entonces la acción en el estado es más probable en la política actual que en la anterior. Si la relación es inferior a 1, significa que la medida se ajusta menos a la política actual que a la anterior.
Esta sección muestra cómo la PPO recorta la función utilizando restricciones sustitutas para penalizar los cambios que conducen a una relación alejada de 1. Este paso demuestra que, a medida que el algoritmo prueba los cambios en la política, esos cambios se mantienen pequeños según el valor épsilon .
La principal ventaja de este enfoque de sustitutos recortados es que permite realizar pequeños cambios y es eficiente desde el punto de vista computacional. Los métodos más antiguos, como TRPO, utilizan la divergencia de KL tras calcular la función objetivo para restringir la actualización de la política. Ese enfoque puede ser eficaz para restringir las actualizaciones, pero requiere una implementación compleja y un tiempo de cálculo más largo. La PPO implementa esa relación de probabilidad de recorte directamente en la función objetivo, acelerando cada época de entrenamiento.
Otra ventaja que tiene la PPO sobre muchos otros enfoques es que crea una mayor eficiencia muestral, es decir, cada interacción en el entorno conduce a una mayor mejora de las políticas. La PPO logra esta eficacia al crear un minilote de datos de despliegue que puede utilizar los mismos datos de interacción en varias actualizaciones. Otros enfoques, como las redes Deep Q-Networks, pueden ser incluso más eficientes, pero requieren un mayor esfuerzo computacional y, por lo tanto, no son la opción preferida cuando se dispone de datos suficientes.
Una parte crucial de la actualización de la política es estimar cuánta ventaja tiene respecto a las versiones anteriores. Este paso es más complejo desde el punto de vista computacional que simplemente calcular la diferencia de recompensas para dos políticas en un paso determinado. Los agentes deben aprender en qué medida se distribuyen las probabilidades de acción en varios pasos. Incluso en un juego relativamente sencillo de blackjack, la acción que realiza un actor no se dará cuenta hasta varias rondas de juego después. Este método se vuelve aún más importante en un juego como el ajedrez o en un escenario que involucra navegación robótica.
Para conocer estas actualizaciones, la PPO utiliza lo que se denomina una estrategia iterativa de estimación de ventajas generalizadas (GAE). Este paso ayuda a determinar qué tan bien funciona la política y cuánto debería alejarse de la actual para mejorar. GAE calcula ventajas ponderando exponencialmente los errores futuros, proporcionando a PPO una señal de aprendizaje de baja varianza y bajo sesgo que hace que las actualizaciones de políticas sean estables y eficientes para muestras.
Dejar de acumular recompensas reales demasiado pronto introduce un sesgo alto, ya que solo se tiene en cuenta una pequeña parte de la verdadera rentabilidad junto con las recompensas reales mínimas. Acumular demasiadas recompensas conduce a una gran varianza, ya que confiar en un mayor número de muestras reales puede hacer que la estimación sea inestable.
Bibliotecas como Stable-Baselines3 y RLlib proporcionan implementaciones completas de PPO que se pueden aplicar a una amplia gama de dominios y problemas. También hay implementaciones más ligeras como CleanRL que incluyen tutoriales para el autoaprendizaje escritos en PyTorch y Tensorflow que se pueden encontrar en GitHub.
Las bibliotecas como "Transformer Reinforcement Learning" (TRL) de HuggingFace están optimizadas específicamente para facilitar el entrenamiento de modelos de lenguaje basados en transformadores mediante el uso de algoritmos de RL como la PPO. En este contexto, la PPO ayuda a garantizar que los modelos aprendan a seleccionar respuestas que estén mejor alineadas con los objetivos del creador del modelo y con el feedback humano.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.
1. Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.
2. Schulman, J., Levine, S., Abbeel, P., Jordan, M., & Moritz, P. (2015, junio). Trust region policy optimization. En International conference on machine learning (págs. 1889-1897). PMLR.