¿Qué es la optimización de políticas proximales?

Imagen abstracta de una pelota

La optimización de políticas proximales (PPO) es un algoritmo de aprendizaje por refuerzo profundo para 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 revolucionó el aprendizaje y es una parte clave de cómo los agentes y los sistemas pueden aprender a medida que interactúan con los usuarios y con el mundo. Los modelos de lenguaje grandes modernos (como los derivados de ChatGPT de OpenAI) utilizan PPO para el aprendizaje por refuerzo a partir del feedback humano (RLHF). La PPO también es uno de los algoritmos más comunes para entrenar agentes en videojuegos, automatización de procesos robóticos y en automóviles autónomos.

John Schulman, Filip Wolski, et al1 presentaron por primera vez la PPO en un artículo titulado Proximal Policy Optimization Algorithms. Para entender cómo funciona la PPO y por qué es importante, debemos comenzar por el aprendizaje por refuerzo (RL). El proceso de RL utiliza machine learning para ayudar a un sistema a elegir una acción basada en el entorno y en un objetivo. Los humanos tomamos este tipo de decisiones todo el tiempo, por ejemplo, en un juego de blackjack decidimos si “pedir” (conseguir una nueva carta) o “quedarse” (mantener las cartas que ya tenemos). El aprendizaje por refuerzo tiene cuatro elementos fundamentales: agente, entorno, acciones y recompensas. En el ejemplo de jugar al blackjack tenemos:

Agente: el humano que juega el juego. 

Entorno: qué cartas tiene el jugador y qué cartas puede ver que tiene el repartidor.

Acciones: ya sea para “pedir” (obtener una nueva tarjeta) o “quedarse” (mantener las cartas actuales). 

Recompensas: si el usuario gana o pierde la mano. 

Una política es una estrategia o conjunto de reglas que un agente, como un robot o un programa de software, sigue para seleccionar una acción discreta basada en su entorno. La política proporciona un mapeo de los entornos a las posibles acciones que el agente debe realizar. Las políticas pueden ser sencillas con una acción fija para cada estado, o pueden ser complejas donde la política incorpora estimaciones o cálculos para elegir y aprender mecanismos para determinar acciones óptimas. El objetivo es encontrar una política que maximice la recompensa acumulada que el agente recibe a lo largo del tiempo. Podemos imaginar una política sencilla para el blackjack: “pedir si las cartas son menores de 17, mantener si las cartas son mayores de 18”. El agente compararía el entorno con la política y seleccionaría una acción basada en la política.

Cómo un agente utiliza la PPO para aprender de un entorno y actualizar una política Proximal policy optimization diagram

El RL es una manera de ayudar a un agente a aprender una política que le ayudará a decidir qué acciones realizar para maximizar las recompensas. La PPO es una técnica eficaz para ayudar a los agentes a aprender más. Se ha utilizado en aplicaciones desde la construcción de robots hasta la mejora de cómo los modelos de lenguaje grandes (LLM) razonan y responden a las instrucciones. La PPO es una de las partes fundamentales del aprendizaje por refuerzo mediante feedback humano (RLHF) que se utiliza para entrenar a los LLM. Es el último de estos métodos el que ha impulsado gran parte de la investigación reciente sobre el RL.

Aprendizaje de políticas

Hay dos amplias 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 recompensa esperada más alta. Para determinar cuál es la mejor, el agente se enfoca en aprender una función de valor que estima la recompensa acumulativa esperada (retorno) de cada entorno o 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 para explorar, este enfoque puede ser muy eficaz. El agente calculará la recompensa esperada para cada acción y elegirá en función de esa estimación. Con grandes espacios de acción, cuando el número de acciones posibles es alto, se vuelve difícil estimar el rendimiento de cada acción posible. Un robot que decide cómo rotar un brazo con múltiples articulaciones en el espacio 3D se enfrenta a miles de decisiones posibles, demasiadas para calcular una función para cada combinación posible de posiciones articulares. También restringe al agente a acciones predefinidas, lo que significa que el agente no puede idear estrategias nuevas o novedosas.

Esto lleva a un segundo enfoque: los 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 proporciona un mapeo de los entornos a las posibles acciones que el agente debe realizar. Las políticas pueden ser simples, con una acción fija para cada estado, o pueden ser complejas donde 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 el agente recibe a lo largo del tiempo. Imaginemos un modelo que intenta decidir cuándo comprar, vender o mantener acciones específicas. Una política definiría cuándo el agente debería pensar en comprar o vender una acción en función de la tendencia de la acción o del comportamiento del mercado de valores en general.

Un método de aprendizaje basado en políticas aprende qué acciones preferir 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 determinado 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 políticas utilizan solo las acciones actuales para impulsar el aprendizaje: aprender de lo que se está haciendo. Imaginemos un automóvil autónomo que intenta encontrar la ruta óptima hacia un destino en el transcurso de varios viajes. En el aprendizaje basado en políticas, ese automóvil aprendería solo de las rutas que toma.

La política dirige las acciones de los agentes en todos los entornos, incluido el proceso de toma de decisiones durante el aprendizaje. El agente evalúa los resultados de sus acciones actuales, refinando su estrategia de forma incremental. Este método permite al agente adaptar y mejorar su toma de decisiones interactuando directamente con el entorno y aprendiendo de sus propias interacciones en tiempo real.

Los métodos fuera de la política harían que el automóvil observara las rutas tomadas por otros automóviles autónomos para aprender de sus acciones. El automóvil no tiene que seguir la misma política que los automóviles que está observando, pero puede observar qué recompensas reciben de 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 está siguiendo. Este método es útil para aprender a partir de un conjunto de datos fijo o una política de enseñanza.

Gradiente de políticas

El gradiente de políticas 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 acciones que maximicen 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 sean más probables y las acciones que den recompensas menores sean menos probables.

Los gradientes de políticas son lo que se denomina métodos actor-crítico. El actor es una red de políticas que selecciona acciones y el crítico es el que estima qué tan bien esa política coincide con las acciones de los estados con una recompensa específica.

Si la política es  πθ(a|s) (una distribución de probabilidad sobre acciones), y el objetivo de los agentes es maximizar un retorno esperado denotado por J(θ) entonces tomaría pasos de ascenso de gradiente definidos como:

 θ←θ+a∇θJ(θ) 

En este θ es el vector de parámetros de política que determina la distribución de probabilidad de las acciones. Se actualiza la política antigua,  ← , por la política anterior más la tasa de aprendizaje  a veces el gradiente de la política. El gradiente de la política es  ∇θ el gradiente respecto a  θ veces una función objetivo  J(θ)  que representa el retorno esperado de la política.

Un gradiente de políticas 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íticas para la siguiente iteración cuando puede realizar una acción y observar la ventaja obtenida por la actualización.

En el núcleo del enfoque de gradiente de políticas se encuentra el teorema del gradiente de políticas, que muestra cómo una política  Jθ se puede optimizar. El gradiente es simplemente cuánto aumenta o disminuye la probabilidad de una acción por la política multiplicada por las recompensas obtenidas por esa acción. La ecuación para el teorema del gradiente de políticas se da como:

 ∇θJ=E[∇θ·logπ(a∣s)A(s,a)]

 

Esta ecuación establece que el gradiente de una política dada  J para los parámetros  θ puede establecer a una expectativa  E . Esa expectativa es una función de puntuación  ∇θ veces la probabilidad logarítmica de la acción elegida  logπ(a∣s)  y  A(s,a) , la recompensa del agente que toma acción  a En el estado  s .

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 fallas. Por ejemplo, los métodos de gradiente de políticas a menudo convergerán a un máximo local en lugar de a 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 gradiente de políticas en sí puede generar una alta varianza, lo que significa que la estimación del gradiente en sí es muy inexacta. Este resultado puede llevar al proceso a desestimar la trayectoria del gradiente y cuánto lo afectan los cambios de política.

Un ejemplo clásico de un algoritmo de gradiente de políticas es la optimización de políticas de región de confianza (TRPO)2. Fue un gran avance cuando se introdujo por primera vez, pero tiene varios problemas bien conocidos que dificultan su uso en la práctica.

Comprender la optimización de políticas proximales

La PPO es una mejora en el uso de un gradiente de políticas para aprender. Fundamentalmente, busca cómo dar el mayor paso de mejora posible en una política mediante el uso de los datos actuales sin realizar actualizaciones de políticas tan grandes que el rendimiento colapse. En los métodos de gradiente de políticas, la política se mejora al orientar 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 al aplicar una restricción sobre qué tan lejos puede avanzar la nueva política con respecto a la anterior, pero eran matemáticamente complejos.

La PPO mantiene las actualizaciones de políticas cerca de la política anterior mientras evita la necesidad de restricciones complejas. En lugar de elegir la próxima actualización estocásticamente, la PPO utiliza lo que se llama un objetivo sustituto acotado que impide que la política haga grandes saltos. La política seguirá mejorando—es decir, la pendiente 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ítica, cada iteración da un paso ascendente del gradiente sobre la función objetivo de la política. El tamaño del paso supone un reto. Si el paso es demasiado pequeño, el proceso de entrenamiento será lento, pero si es demasiado alto, habrá demasiada variabilidad en la política para que el agente encuentre una solución óptima.

Función objetivo sustituta acotada

En la PPO, la idea es restringir las actualizaciones de políticas con una función objetivo sustituta acotada que restringe el cambio de política a un rango específico. Esta función se da como:

 LCLIP(θ)=Et[rt(θ)At,clip(rt(θ),1-ϵ,1+ϵ)At)] 


Para desglosar esta fórmula, la primera parte es la función de razón:  rt(θ) . Esa función de razón es:

 rt(θ)=πθ(at∣st)πθold(at∣st) 


Esta es la probabilidad de hacer actuar  at en el estado  st  en la política actual dividida por la anterior. Esto calcula la razón de probabilidad entre la política actual y la anterior. Si  rt(θ)>1 , luego la acción  at en el estado  st  es más probable en la política actual que en la política anterior. Si la razón es menor que 1, entonces la acción es menos parecida en la política actual que en la anterior.

Esta sección  clip(rt(θ),1-ϵ,1+ϵ) muestra cómo la PPO acota la función mediante el uso de restricciones sustitutas para penalizar los cambios que llevan a una razón alejada de 1. Este paso demuestra que a medida que el algoritmo prueba cambios en la política, esos cambios se mantienen pequeños por el valor de epsilon  ϵ .

El principal beneficio de este enfoque sustituto acotado es que provoca pequeños cambios y es eficiente computacionalmente. Los métodos más antiguos, como TRPO, usan la divergencia KL luego de 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 acotación 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 de muestra, es decir, cada interacción del entorno conduce a una mayor mejora de las políticas. La PPO logra esta eficiencia creando un minilote de datos de implementación que puede usar los mismos datos de interacción en múltiples actualizaciones. Otros enfoques, como Deep Q-Networks, pueden ser aún más eficientes, pero son más intensivos desde el punto de vista computacional y, por lo tanto, no son los preferidos cuando hay datos adecuados.

Estimación de ventaja generalizada

Una parte crucial de la actualización de la política es estimar cuánta ventaja tiene la política sobre las iteraciones 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 cuánto varía la distribución de las probabilidades de acción en múltiples pasos. Incluso en un juego de blackjack relativamente simple, la acción que realiza un actor no se realizará 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 estrategia iterativa de estimación generalizada de ventajas (GAE). Este paso ayuda a determinar qué tan bien está funcionando la política y cuánto debe alejarse de la política actual para mejorar. La GAE calcula las ventajas ponderando exponencialmente los errores futuros, lo que le da a la PPO una señal de aprendizaje de baja varianza y bajo sesgo que hace que las actualizaciones de políticas sean estables y eficientes en la muestra.

Detenerse demasiado pronto en la acumulación de recompensas reales introduce un alto sesgo porque solo se considera una pequeña parte del rendimiento real junto con las recompensas reales mínimas. Acumular demasiadas recompensas conlleva una alta varianza, ya que depender de un mayor número de muestras reales puede hacer que la estimación sea inestable.

Aplicación de la PPO

Bibliotecas como Stable-Baselines3 y RLlib proporcionan implementaciones completas de la 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 el aprendizaje por refuerzo de transformadores (TRL) de HuggingFace están optimizadas específicamente para ayudar a entrenar modelos de lenguaje transformador mediante el uso de algoritmos RL como 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.

Autor

Joshua Noble

Data Scientist

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

  1. Explore watsonx.ai
  2. Reserve una demostración en vivo
Notas de pie de página

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. (Junio de 2015). Trust region policy optimization. In International conference on machine learning (pp. 1889-1897). PMLR.