Una breve introducción a la optimización de políticas proximales

La optimización de políticas proximales (PPO) es un avance reciente en el campo del aprendizaje reforzado, que proporciona una mejora en la optimización de políticas de región de confianza (TRPO). Este algoritmo se propuso en 2017 y mostró un rendimiento notable cuando OpenAI lo implementó. Para comprender y apreciar el algoritmo, primero debemos comprender qué es una política.

Note: This post is ideally targeted towards people who have a fairly basic understanding of Reinforcement Learning.

Una política, en la terminología de aprendizaje por refuerzo, es un mapeo del espacio de acción al espacio de estado. Puede imaginarse que son instrucciones para el agente de RL, en términos de qué acciones debe tomar en función del estado del entorno en el que se encuentra actualmente. Cuando hablamos de evaluar un agente, generalmente nos referimos a evaluar la función de política para averiguar qué tan bien se está desempeñando el agente, siguiendo la política dada. Aquí es donde los métodos de gradiente de políticas juegan un papel vital. Cuando un agente está “aprendiendo” y no sabe realmente qué acciones dan el mejor resultado en los estados correspondientes, lo hace calculando los gradientes de política. Funciona como una arquitectura de red neuronal, por lo que el gradiente de la salida, es decir, el registro de probabilidades de acciones en ese estado particular,

Si bien este método probado funciona bien, la principal desventaja de estos métodos es su hipersensibilidad al ajuste de hiperparámetros, como la elección del tamaño de paso, la tasa de aprendizaje, etc., junto con su baja eficiencia de muestra. A diferencia del aprendizaje supervisado que tiene una ruta garantizada hacia el éxito o la convergencia con un ajuste de hiperparámetros relativamente menor, el aprendizaje por refuerzo es mucho más complejo con varias partes móviles que deben tenerse en cuenta. PPO tiene como objetivo lograr un equilibrio entre factores importantes como la facilidad de implementación, la facilidad de ajuste, la complejidad de la muestra, la eficiencia de la muestra y tratar de calcular una actualización en cada paso que minimice la función de costo mientras asegura que la desviación de la política anterior sea relativamente pequeña. PPO es, de hecho, un método de gradiente de políticas que también aprende de los datos en línea. Simplemente garantiza que la política actualizada no sea muy diferente de la política anterior para garantizar una baja variación en la capacitación. La implementación más común de PPO es a través del Modelo Actor-Crítico que utiliza 2 Redes Neuronales Profundas, una toma la acción (actor) y la otra maneja las recompensas (crítico). La ecuación matemática de PPO se muestra a continuación:

L^{CLIP}(\theta) = \bar E_{t}[min(r_t(\theta)\bar A_t,clip(r_t(\theta),1-\epsilon,1+\epsilon)\bar A_t)] \\ \\ where,\\ \theta\:is\:the\:policy\:parameter\\ \bar E_t\:denotes\:the\:empirical\:expectation\:over\:timesteps\\ r_t\:denotes\:the\:ratio\:of\:the\:probabilities\:under\:the\:new\:and\:old\:policies\:respectively\:(also\:known\:as\:Importance\:Sampling\:Ratio)\\ \bar A_t\:is\:the\:estimated\:advantage\:at\:time\:t\\ \epsilon \:is\:a\:hyperparameter,\:usually\:0.1\:or\:0.2.

Las siguientes inferencias importantes se pueden extraer de la ecuación PPO:

  • Es un algoritmo de optimización de gradiente de políticas, es decir, en cada paso hay una actualización de una política existente para buscar mejoras en ciertos parámetros.
  • Garantiza que la actualización no sea demasiado grande, es decir, que la política anterior no sea muy diferente de la política nueva (lo hace esencialmente «recortando» la región de actualización a un rango muy estrecho)
  • La función de ventaja es la diferencia entre la suma futura descontada de recompensas en un determinado estado y acción, y la función de valor de esa política.
  • La relación de muestreo de importancia, o la relación de probabilidad según las políticas nueva y antigua, respectivamente, se utiliza para la actualización.
  • ε es un hiperparámetro que indica el límite del rango dentro del cual se permite la actualización

Así es como se ve el algoritmo PPO en funcionamiento, en su totalidad cuando se implementa en estilo Actor-Critic:

Algorithm\:for\:PPO\:using\:Actor-Critic\:implementation: \\ Input:\:initial\:policy\:paramters\\ for\:iteration=1,2,...do\\ \:\:for\:actor=1,2,....do\\ \:\:\:\:Run\:policy\:\pi_{\theta_{old}}\:in\:environment\:for\:T\:timesteps\\ \:\:\:\:Compute\:Advantage\:estimates\:\bar A_1,...,\bar A_t\\ \:\:end\:for\\ \:\:Optimize\:surrogate\:L\:wrt\:\theta ,\:with\:K\:epochs\:and\:minibatch\:size\:M<=NT\\ \:\:\theta_{old}\:\leftarrow \:\theta\\ end\:for

Lo que podemos observar es que se utilizan pequeños lotes de observación para la actualización y luego se desechan para incorporar un nuevo lote de observaciones, también conocido como «minilote». La política actualizada se recortará en ε a una pequeña región para no permitir grandes actualizaciones que podrían ser potencialmente dañinas de forma irrecuperable. En resumen, PPO se comporta exactamente como otros métodos de gradiente de políticas en el sentido de que también implica el cálculo de probabilidades de salida en el paso hacia adelante en función de varios parámetros y el cálculo de los gradientes para mejorar esas decisiones o probabilidades en el paso hacia atrás. Implica el uso de la ración de muestreo de importancia como su predecesor, TRPO. Sin embargo, también garantiza que la política anterior y la política nueva estén al menos a una cierta proximidad (indicada por ε), y no se permiten actualizaciones muy grandes.

Publicación traducida automáticamente

Artículo escrito por sidsen99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *