Métodos de gradiente de política (policy gradient methods) são uma classe de algoritmos de aprendizado por reforço e uma subclasse de métodos de otimização de política. Ao contrário dos métodos baseados em valor, que aprendem uma função de valor para derivar uma política, os métodos de otimização de política aprendem diretamente uma função de política que seleciona ações sem consultar uma função de valor. Para que o gradiente de política se aplique, a função de política é parametrizada por um parâmetro diferenciável .[1]
No aprendizado por reforço baseado em política, o ator é uma função de política parametrizada , onde são os parâmetros do ator. O ator recebe como argumento o estado do ambiente e produz uma distribuição de probabilidade.
Se o espaço de ação é discreto, então . Se o espaço de ação é contínuo, então .
O objetivo da otimização de política é encontrar algum que maximize a recompensa episódica esperada :onde é o fator de desconto, é a recompensa no passo , é o estado inicial e é o horizonte de tempo (que pode ser infinito).
O gradiente de política é definido como . Diferentes métodos de gradiente de política estimam estocasticamente o gradiente de política de maneiras diferentes. O objetivo de qualquer método de gradiente de política é maximizar iterativamente por meio da ascensão de gradiente. Como a parte fundamental de qualquer método de gradiente de política é a estimativa estocástica do gradiente de política, eles também são estudados sob o título de "Estimativa de gradiente de Monte Carlo".[2]
REINFORCE
editar
Gradiente de política
editar
O algoritmo REINFORCE, introduzido por Ronald J. Williams em 1992, foi o primeiro método de gradiente de política.[3]
É baseado na identidade do gradiente de política
que pode ser aprimorada através do "truque da causalidade"[1]
Lema —
A esperança da função escore é zero, condicionada a qualquer estado presente ou passado. Ou seja, para qualquer e qualquer estado , temos
Além disso, se é uma variável aleatória que é independente de , então
Pelo lema, para qualquer . Substituindo isso na fórmula anterior, obtemos
que é a segunda equação.
Assim, temos um estimador não viesado do gradiente de política:
onde o índice varia sobre trajetórias geradas (rollouts) usando a política .
A função escore pode ser interpretada como a direção no espaço de parâmetros que aumenta a probabilidade de tomar a ação no estado . O gradiente de política, então, é uma média ponderada de todas as direções possíveis, ponderada pelos sinais de recompensa: ações associadas a recompensas altas são reforçadas, e ações associadas a recompensas baixas são desencorajadas.
Algoritmo
editar
O algoritmo REINFORCE é um loop:
Realize o rollout de trajetórias no ambiente, usando como a função de política.
Calcule a estimativa do gradiente de política:
Atualize a política por ascensão de gradiente:
Aqui, é a taxa de aprendizado na etapa de atualização .
Redução de variância
editar
REINFORCE é um algoritmo on-policy, o que significa que as trajetórias usadas para a atualização devem ser amostradas a partir da política atual . Isso pode levar a uma alta variância nas atualizações, pois os retornos podem variar significativamente entre as trajetórias. Muitas variantes do REINFORCE foram introduzidas, sob o título de redução de variância.
REINFORCE com linha de base
editar
Uma forma comum de reduzir a variância é o algoritmo REINFORCE com linha de base (baseline), baseado na seguinte identidade:para qualquer função . Isso pode ser demonstrado aplicando o lema anterior.
O algoritmo usa o estimador de gradiente modificado e o algoritmo REINFORCE original é o caso especial em que .
Se for bem escolhido, de tal forma que , isso poderia diminuir significativamente a variância na estimativa do gradiente. Ou seja, a linha de base deve estar o mais próxima possível da função de valor, aproximando-se do ideal de:Note que, à medida que a política é atualizada, a função de valor também é atualizada, portanto a linha de base também deve ser atualizada. Uma abordagem comum é treinar uma função separada que estima a função de valor e usá-la como a linha de base. Esse é um dos métodos ator-crítico, onde a função de política é o ator e a função de valor é o crítico.
A função Q também pode ser usada como crítico, uma vez que por um argumento semelhante usando a lei da esperança iterada.
Subtraindo a função de valor como linha de base, descobrimos que a função de vantagem também pode ser usada como o crítico:Em resumo, existem muitos estimadores não viesados para , todos na forma de: onde é qualquer soma linear dos seguintes termos:
: nunca usado.
: usado pelo algoritmo REINFORCE.
: usado pelo algoritmo REINFORCE com linha de base.
: Aprendizado por Diferença Temporal (TD) de 1 passo.
.
.
Alguns outros possíveis são os seguintes, com demonstrações muito semelhantes.
: Aprendizado TD de 2 passos.
: Aprendizado TD de n passos.
: Aprendizado TD(λ), também conhecido como GAE (estimativa generalizada de vantagem).[4] Isso é obtido por uma soma decrescente exponencial dos aprendizados TD de n passos.
Gradiente de política natural
editar
O método do gradiente de política natural é uma variante do método do gradiente de política, proposto por Sham Kakade em 2001.[5] Ao contrário dos métodos padrão de gradiente de política, que dependem da escolha de parâmetros (tornando as atualizações dependentes das coordenadas), o gradiente de política natural visa fornecer uma atualização livre de coordenadas, o que é geometricamente "natural".
Motivação
editar
As atualizações de gradiente de política padrão resolvem um problema de otimização com restrição:
Embora a função objetivo (melhoria linearizada) seja geometricamente significativa, a restrição euclidiana introduz a dependência das coordenadas. Para resolver isso, o gradiente de política natural substitui a restrição euclidiana por uma restrição de Divergência de Kullback-Leibler (KL):onde a divergência KL entre duas políticas é calculada em média sobre a distribuição de estado sob a política . Isto é, Isso garante que as atualizações sejam invariantes a transformações de parâmetros afins inversíveis.
Aproximação da informação de Fisher
editar
Para um pequeno, a divergência KL é aproximada pela Métrica de informação de Fisher:onde é a Matriz de informação de Fisher da política, definida como: Isso transforma o problema em um problema de programação quadrática, resultando na atualização do gradiente de política natural:O tamanho do passo é normalmente ajustado para manter a restrição de KL, com .
Inverter é computacionalmente intenso, especialmente para parâmetros de alta dimensão (por exemplo, redes neurais). Implementações práticas frequentemente usam aproximações.
Otimização de Política de Região de Confiança (TRPO)
editar
A Otimização de Política de Região de Confiança (TRPO - Trust Region Policy Optimization) é um método de gradiente de política que estende a abordagem do gradiente de política natural impondo uma restrição de região de confiança nas atualizações de política.[6] Desenvolvido por Schulman et al. em 2015, a TRPO melhora o método de gradiente de política natural.
A descida de gradiente natural é teoricamente ideal, se a função objetivo for verdadeiramente uma função quadrática, mas isso é apenas uma aproximação. A restrição de KL e a busca linear da TRPO tentam restringir a solução a uma "região de confiança" na qual essa aproximação não se quebra. Isso torna a TRPO mais robusta na prática.
Formulação
editar
Assim como o gradiente de política natural, a TRPO atualiza iterativamente os parâmetros da política resolvendo um problema de otimização com restrição especificado livre de coordenadas:onde
é a vantagem substituta (surrogate advantage), medindo o desempenho de em relação à política antiga .
é o raio da região de confiança.
Observe que, em geral, outras vantagens substitutas são possíveis:onde é qualquer soma linear do tipo mencionado anteriormente. De fato, a OpenAI recomendou o uso da Estimativa Generalizada de Vantagem (GAE), em vez da simples vantagem .
A vantagem substituta é projetada para se alinhar com o gradiente de política . Especificamente, quando , é igual ao gradiente de política derivado da função de vantagem:
No entanto, quando , isso não é necessariamente verdade. Portanto, é um "substituto" da função objetivo real.
Assim como no gradiente de política natural, para pequenas atualizações de política, a TRPO aproxima a vantagem substituta e a divergência KL usando as expansões de Taylor em torno de :
onde:
é o gradiente de política.
é a matriz de informação de Fisher.
Isso reduz o problema a uma otimização quadrática, produzindo a atualização do gradiente de política natural:
Até o momento, isso é essencialmente igual ao método do gradiente natural. No entanto, a TRPO o aprimora por meio de duas modificações:
Usa a busca linear com retrocesso para garantir que a restrição da região de confiança seja satisfeita. Especificamente, ele retrocede o tamanho do passo para garantir a restrição KL e a melhoria da política. Ou seja, ele testa cada uma das seguintes soluções de teste até encontrar uma que satisfaça a restrição KL e resulte em um maior. Aqui, é o coeficiente de retrocesso.
Otimização de Política Proximal (PPO)
editar
Uma melhoria adicional é a otimização de política proximal (PPO), que evita até mesmo calcular e por meio de uma aproximação de primeira ordem usando razões de probabilidade limitadas (ou cortadas).[7]
Especificamente, em vez de maximizar a vantagem substituta sob uma restrição de divergência KL, ela insere a restrição diretamente na vantagem substituta: e o PPO maximiza a vantagem substituta pela descida estocástica de gradiente, como de costume.
Em outras palavras, o aumento de gradiente da nova função de vantagem substituta significa que, em algum estado , se a vantagem for positiva: , então o gradiente deve direcionar na direção que aumenta a probabilidade de realizar a ação sob o estado . Contudo, assim que for tão alterado que , então o gradiente deve parar de apontá-lo nessa direção. O mesmo vale para quando . Dessa forma, o PPO evita forçar excessivamente a atualização de parâmetros e evita mudar muito a política.
Para ser mais exato, para atualizar para é preciso realizar várias etapas de atualização no mesmo lote (batch) de dados. Ele inicializaria com e então repetidamente aplicaria a descida de gradiente (como o otimizador Adam) para atualizar até que a vantagem substituta estivesse estabilizada. Ele então atribuiria a , e executaria novamente.
Durante esse loop interno, a primeira atualização em não atingiria os limites , mas à medida que é cada vez mais atualizado e distanciado de , ele eventualmente começará a tocar os limites. Para cada toque no limite, o gradiente correspondente torna-se zero, e assim o PPO evita a atualização de muito longe de .
Isso é importante, pois a perda substituta (surrogate loss) assume que o par estado-ação é amostrado do que o agente veria se executasse a política , mas o gradiente de política deve ser on-policy. Assim, conforme se modifica, a perda substituta torna-se cada vez mais off-policy. É por isso que é necessário manter proximal a .
Se existir uma política de referência da qual a política treinada não deva divergir muito, então pode-se adicionar uma penalização adicional de divergência KL:onde ajusta a intensidade da penalidade. Isso tem sido usado no treinamento de modelos de linguagem de raciocínio com aprendizado por reforço com feedback humano.[8] O termo de penalidade da divergência KL pode ser estimado com menor variância usando a forma equivalente (veja F-divergência para obter os detalhes):[9]
Otimização de Política Relativa de Grupo (GRPO)
editar
A Otimização de Política Relativa de Grupo (GRPO - Group Relative Policy Optimization) é uma pequena variação do PPO que descarta o estimador da função de valor . Em vez disso, para cada estado , ela faz a amostragem de múltiplas ações da política e, na sequência, calcula a vantagem relativa de grupo[9] onde são a média e o desvio padrão de . Ou seja, é o escore padrão das recompensas.
Então, ela maximiza o objetivo PPO, calculando a média de todas as ações:Intuitivamente, cada etapa de atualização de política na GRPO faz com que a política se torne mais inclinada a responder a cada estado com uma ação que obteve desempenho relativamente superior às outras ações testadas naquele estado e, em contrapartida, com uma menor probabilidade a responder com uma que tenha tido um desempenho comparativamente pior.
Como antes, o termo da penalidade KL pode ser aplicado para estimular a política treinada a permanecer próxima a uma política de referência. A GRPO foi originalmente proposta no escopo do treinamento de modelos de linguagem de raciocínio pelos pesquisadores da DeepSeek.[9]
Otimização de Política e a perspectiva da Descida de Espelho (MDPO)
editar
Métodos como TRPO, PPO e gradiente de política natural dividem de uma ideia comum - enquanto a política deve ser atualizada para a direção do gradiente de política, a atualização deve ser feita de maneira segura e estável, comumente avaliada por alguma distância em relação à política antes de sua atualização.
Uma concepção similar de estabilidade de atualização é encontrada em técnicas de otimização convexa proximal, como a Descida de Espelho (Mirror Descent).[10] Na qual, , o suposto minimizador de em algum conjunto de restrições , é progressivamente atualizado em direção ao gradiente , apresentando uma penalidade de proximidade com a atual calibrada por alguma divergência de Bregman , a qual pode ser estruturada pela seguinte fórmula: onde controla a proximidade das iterações contínuas, semelhante à taxa de aprendizado na descida de gradiente.
Isso nos leva a ressignificar o procedimento de atualização de política como um processo de otimização focado a procurar uma política ideal, no cenário de otimização (não convexa) do respectivo processo de decisão de Markov (MDP). Este modo de ver a otimização com o emprego do gradiente da política recebe o nome de Otimização de Política por Descida de Espelho (MDPO - Mirror Descent Policy Optimization),[11][12] originando a sucessiva atualização no momento em que a KL se torna a divergência de Bregman eleita:Mediante a uma política parametrizada , a perda em MDPO passa a ser:Este propósito é passível a ser associado conjuntamente de outros procedimentos ordinários, assim como o corte que é feito pelo PPO. Em suma, a penalidade por divergência KL manifesta-se no artigo primário do PPO,[7] presumindo as percepções em MDPO serem uma aproximação teórica aos fundamentais esquemas de dedução existentes perante grande parte das abordagens atreladas ao uso de gradientes de política de forma concomitante.
↑Schulman, John; Moritz, Philipp; Levine, Sergey; Jordan, Michael; Abbeel, Pieter (20 de outubro de 2018). «High-Dimensional Continuous Control Using Generalized Advantage Estimation». arXiv:1506.02438 [cs.LG]
↑Kakade, Sham M (2001). «A Natural Policy Gradient». MIT Press. Advances in Neural Information Processing Systems. 14
↑Schulman, John; Levine, Sergey; Moritz, Philipp; Jordan, Michael; Abbeel, Pieter (6 de julho de 2015). «Trust region policy optimization». Lille, França: JMLR.org. Proceedings of the 32nd International Conference on International Conference on Machine Learning. 37: 1889–1897
↑ abSchulman, John; Wolski, Filip; Dhariwal, Prafulla; Radford, Alec; Klimov, Oleg (28 de agosto de 2017). «Proximal Policy Optimization Algorithms». arXiv:1707.06347 [cs.LG]
↑Nisan Stiennon; Long Ouyang; Jeffrey Wu; Daniel Ziegler; Ryan Lowe; Chelsea Voss; Alec Radford; Dario Amodei; Paul F. Christiano (2020). «Learning to summarize with human feedback». Advances in Neural Information Processing Systems (em inglês). 33
↑ abcShao, Zhihong; Wang, Peiyi; Zhu, Qihao; Xu, Runxin; Song, Junxiao; Bi, Xiao; Zhang, Haowei; Zhang, Mingchuan; Li, Y. K. (27 de abril de 2024). «DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models». arXiv:2402.03300 [cs.CL]
↑Arkadi Nemirovsky e David Yudin. Problem Complexity and Method Efficiency in Optimization. John Wiley & Sons, 1983.
↑Tomar, Manan; Shani, Lior; Efroni, Yonathan; Ghavamzadeh, Mohammad (20 de maio de 2020). «Mirror Descent Policy Optimization» (em inglês). arXiv:2005.09814v5 [cs.LG]
Bibliografia
editar
Sutton, Richard S.; Barto, Andrew G. (2018). Reinforcement learning: an introduction. Col: Adaptive computation and machine learning series 2 ed. Cambridge, Massachusetts: The MIT Press. ISBN978-0-262-03924-6
Bertsekas, Dimitri P. (2019). Reinforcement learning and optimal control 2 ed. Belmont, Massachusetts: Athena Scientific. ISBN978-1-886529-39-7
Grossi, Csaba (2010). Algorithms for Reinforcement Learning. Col: Synthesis Lectures on Artificial Intelligence and Machine Learning 1 ed. Cham: Springer International Publishing. ISBN978-3-031-00423-0