Por que os métodos de gradiente de política são preferidos à aproximação da função de valor em domínios de ação contínua?

7

Na aproximação função-valor, em particular no aprendizado profundo de Q, entendo que primeiro previmos os valores de Q para cada ação. No entanto, quando existem muitas ações, essa tarefa não é fácil.

Mas na iteração de política, também temos que gerar um vetor softmax relacionado a cada ação. Portanto, não entendo como isso pode ser usado para trabalhar com espaço de ação contínuo.

Por que os métodos de gradiente de política são preferidos à aproximação da função de valor em domínios de ação contínua?

Shamane Siriwardhana
fonte

Respostas:

7

Mas na iteração de políticas também temos que gerar um vetor softmax relacionado a cada ação

Isto não é estritamente verdade. Um vetor softmax é uma maneira possível de representar uma política e funciona em espaços de ação discretos. A diferença entre o gradiente de política e as funções de valor abordadas aqui está em como você usa a saída. Para uma função de valor, você encontraria a saída máxima e escolheria (talvez -gredily), e deve ser uma estimativa do valor de executar essa ação. Para uma função de política, você usaria a saída como probabilidade para escolher cada ação e não sabe o valor de executar essa ação.ϵ

Então, eu não entendo como isso pode ser usado para trabalhar com espaço de ação contínuo?

Com métodos de gradiente de política, a política pode ser qualquer função dos seus parâmetros que:θ

  • Gera uma distribuição de probabilidade

  • Pode ser diferenciado em relação aθ

Por exemplo, sua função de política pode ser

πθ(s)=N(μ(s,θ),σ(s,θ))

onde e podem ser funções que você implementa com, por exemplo, uma rede neural. A saída da rede é uma descrição da distribuição Normal para o valor da ação a dado valor de estado . A política exige que você faça uma amostra da distribuição normal definida por esses valores (o NN não faz essa amostragem, normalmente é necessário adicioná-la no código).μσas

Por que os métodos de gradiente de política são preferidos à aproximação da função de valor em domínios de ação contínua?

Embora ainda seja possível estimar o valor de um par de estado / ação em um espaço de ação contínuo, isso não ajuda a escolher uma ação. Considere como você pode implementar uma política -greedy usando a aproximação do valor da ação: seria necessário executar uma otimização no espaço de ação para cada opção de ação, a fim de encontrar a ação ideal estimada. Isso é possível, mas provavelmente muito lento / ineficiente (também existe o risco de encontrar o máximo local).ϵ

Trabalhar diretamente com políticas que emitem distribuições de probabilidade pode evitar esse problema, desde que essas distribuições sejam fáceis de amostrar. Portanto, muitas vezes você verá coisas como políticas que controlam parâmetros da distribuição Normal ou similar, porque é sabido como fazer uma amostra fácil dessas distribuições.

Neil Slater
fonte
ah! Portanto, no tempo de execução, nossa função de pontuação da política fornecerá probabilidade de executar cada ação e, em seguida, selecione uma ação com o máximo de prob | ISSO É ERRADO! | Em vez disso, o que ele fará é criar uma distribuição. Algo como distribuição normalizada. Assim como na política epsilon-gananciosa, o sistema executará ações de acordo com a distribuição. Estou certo ?
Shamane Siriwardhana
11
@ ShamaneSiriwardhana: Sim, seu comentário parece correto para mim. O ponto não é que a função-valor da ação nem a função da política escolham diretamente a ação, você deve adicionar isso como parte do algoritmo de aprendizado. Para o valor da ação, você deve examinar todas as ações possíveis e encontrar a recompensa máxima para identificar uma ação gananciosa (você pode escolher aleatoriamente às vezes ). Para função de política, ele gera uma distribuição e você sempre escolhe aleatoriamente essa distribuição. p(non-greedy)=ϵ
Neil Slater
você pode responder a isso, por favor datascience.stackexchange.com/questions/25259/…
Shamane Siriwardhana
11
@ ShamaneSiriwardhana: Desculpe, não posso responder, não sei o suficiente. Monitoro todas as perguntas do site (não é muito ocupado. Talvez 20 perguntas por dia) e procuro perguntas que possam ser respondidas, para que não seja necessário vinculá-las. Espero que você encontre sua resposta. BTW, pode ajudar se você parar de usar capturas de tela - em vez disso, vincule os slides como a fonte e coloque o texto do slide na pergunta. Pode levar algum tempo para obter as equações direita, mas torna a questão muito melhor (e mais provável conseguir-se-votou)
Neil Slater
3

Nos métodos da função Valor (ou métodos Críticos), geralmente escolhemos uma das seguintes opções para selecionar nossas ações depois de estimar a função de valor relevante:

  • Função Boltzman com um parâmetro de temperatura (inverso) que controla o quanto 'escutamos' o máximo da função value para selecionar nossas ações.
  • ϵ -greedy: seleciona a ação com a função de valor máximo com probabilidade (1- ) e uma ação aleatória com probabilidade .ϵϵ

No Gradiente de Política (ou Métodos de Ator), temos duas abordagens:

  1. Gradientes de política estocástica (SPG): O resultado é uma probabilidade sobre as ações. Para o seu algoritmo, a saída seria os parâmetros de uma distribuição pré-especificada (geralmente gausiana), como Neil descreveu. Em seguida, você experimenta essa distribuição de maneira semelhante à distribuição Boltzman.
  2. Gradientes de política determinísticos (DPG): Saída é o valor de uma ação (por exemplo, velocidade, altura etc.).

Pelo exposto, você pode ver claramente que, quando há espaço para ação contínua, o PG oferece uma solução muito mais plausível.

Para mais informações, sugiro a tese de mestrado PG Methods: SGD-DPG of Riashat. Ele trabalhou em estreita colaboração com um dos co-autores do artigo DPG de Silver e a tese está muito bem estruturada com o código MATLAB disponível. Os métodos de Gradientes de política são muito mais difíceis de entender por causa da matemática envolvida (e muitas vezes da notação diferente usada). No entanto, eu sugiro que você comece com Jan Peters e volte aos slides de Silver (minha opinião :)).

Constantinos
fonte
como normalmente coletamos amostras dessas distribuições? Você pode dar um exemplo.
Shamane Siriwardhana
Ah, é como selecionamos um valor melhor da distribuição com algum conjunto de margens como esse, certo? google.com.sg/… :
Shamane Siriwardhana
Não tenho certeza de quantos detalhes você precisa sobre isso. Você amostra essas distribuições com os métodos de amostragem usuais. Para o Boltzmann (caso do espaço de ação discreta), seria necessário calcular a distribuição cumulativa (In MATLAB histc). Em seguida, você mostra um número aleatório entre 0 e 1 e vê onde neste histograma esse número aleatório cai e seleciona a ação que corresponde à probabilidade mais próxima do seu número aleatório. Se você não estiver familiarizado com isso, entre em contato.
Constantinos
11
Para o caso gaussiano, a maioria das linguagens de programação possui um comando de uma linha para amostra de um gaussiano. Por exemplo, no MATLAB é mvnrand (mu, sigma). Os parâmetros gaussianos são provenientes da saída do seu algoritmo de gradiente de política (versão estocástica, é claro). Observe que, com os métodos PG, você obtém o valor da ação, por exemplo, velocidade = 10 km, o que é adequado para domínios de ação contínua. Nos métodos discretos de caso e valor descritos acima, você obtém um índice que indica a ação (por exemplo, ação1 = 'Norte', exemplo de saída da amostragem: 1 que corresponde à ação Norte). Espero que ajude :)
Constantinos
2
Corrigir! Nos casos de SPG, a rede de políticas tenta aproximar a distribuição de probabilidade sobre as ações fornecidas pelo estado. Portanto, você sempre tem uma etapa de amostragem após a saída líquida da probabilidade. A partir dessa etapa, você obtém a ação retornada ao ambiente. Nos casos DPG, a saída da rede é a ação real, portanto não há necessidade de amostragem.
Constantinos