Como ajustar pesos em valores Q com aproximação de função linear

12

No aprendizado por reforço, a aproximação de função linear é freqüentemente usada quando grandes espaços de estado estão presentes. (Quando as tabelas de consulta se tornam inviáveis.)

A forma do valor com aproximação da função linear é dada porQ-

Q(s,uma)=W1 1f1 1(s,uma)+W2f2(s,uma)+,

onde são os pesos e são os recursos.WEufEu

Os recursos são predefinidos pelo usuário. Minha pergunta é: como os pesos são atribuídos?

Eu li / baixei alguns slides de aula sobre learning com aproximação de função. A maioria deles apresenta slides sobre regressão linear a seguir. Como são apenas slides, eles tendem a ser incompletos. Gostaria de saber qual é a conexão / relação entre os dois tópicos.Q-

cgo
fonte

Respostas:

11

A aproximação de funções é basicamente um problema de regressão (no sentido geral, ou seja, oposto à classificação onde a classe é discreta), ou seja, tenta-se aprender um mapeamento de funções da entrada (no seu caso f(s,uma) ) a um valor real saída Q(s,uma) . Como não temos uma tabela completa de todos os valores de entrada / saída, mas aprendemos e estimamos Q(s,uma) ao mesmo tempo, os parâmetros (aqui: os pesos W ) não podem ser calculados diretamente a partir dos dados. Uma abordagem comum aqui é usar a descida em gradiente .

Aqui está o algoritmo geral para aprender Q(s,uma) com Valor Função Aproximação

  • Init parâmetro do vector W=(W1 1,W2,....,Wn) aleatoriamente (por exemplo, em [0,1])
  • Para cada episódio:

    1. s estado inicial do episódio
    2. uma ação dada pela política deπ (recomendo:ϵ -greedy)
    3. Tome a ação uma , observe a recompensa r próximo estado s
    4. ww+α(r+γmaxaQ(s,a)Q(s,a))wQ(s,a)
    5. ss

    Repita 2-5 até s ser terminal

Onde ...

  • α[0,1] é a taxa de aprendizado
  • γ[0,1] é a taxa de desconto
  • maxaQ(s,a) é a açãoa no estados maximizandoQ(s,a)
  • wQ(s,a)é o gradiente deQ(s,a)emW. No seu caso linear, o gradiente é simplesmente um vector(f1 1(s,uma),...,fn(s,uma))

Os parâmetros / pesos-atualização (4º passo) podem ser lidos da seguinte maneira:

  • (r+γmumaxumaQ(s,uma))-(Q(s,uma)) é o erro entre a previsãoQ(s,uma) e o valor "real" paraQ(s,uma) , que é a recompensar obtidaagora MAISa recompensa esperada e com desconto, seguindo a política gulosaposteriormente γmumaxumaQ(s,uma)
  • Portanto, o parâmetro / vetor de peso é deslocado para a direção mais íngreme (dada pelo gradiente WQ(s,uma) ) pela quantidade do erro medido, ajustado por α .

Principal fonte:

Capítulo 8 Valor Aproximação do livro (geral recomendado) Aprendizagem por reforço: uma introdução por Sutton e Barto (primeira edição). O algoritmo geral foi modificado, como geralmente é feito para calcular Q(s,uma) vez de V(s) . Também abandonei os traços de elegibilidade e para focar na descida do gradiente, portanto, usando apenas backups de uma etapa

Mais referências

Steffen
fonte
2
Link quebrado para Barto e Sutton! Agora aqui -> incompleteideas.net/book/the-book.html :) e como ebook incompleteideas.net/book/ebook mas eu não sei onde encontrar um arquivo mobi
grisaitis
11
O gradiente de Q (s, a) não é em relação ao vetor da coluna wa, em que cada elemento é fi (s, a), em vez de ser a soma de todos os fi, como você disse? O objetivo é que cada peso seja alterado de acordo com o valor do recurso ao qual está se multiplicando.
Miguel Saraiva
@MiguelSaraiva Sim, corrigiu. Muito obrigado.
Steffen