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 .

Visão geral 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".

REINFORCE

Gradiente de política O algoritmo REINFORCE, introduzido por Ronald J. Williams em 1992, foi o primeiro método de gradiente de política.

É baseado na identidade do gradiente de política

que pode ser aprimorada através do "truque da causalidade"

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 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 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 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 .

Métodos ator-crítico

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). Isso é obtido por uma soma decrescente exponencial dos aprendizados TD de n passos.

Gradiente de política natural

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. 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 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 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)

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. 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 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 o método do gradiente conjugado para resolver para em iterativamente, sem inversão de matriz explícita. 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)

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).

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. 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):

Otimização de Política Relativa de Grupo (GRPO)

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 onde são a média e o desvio padrão de . Ou seja, é o escore padrão das recompensas.