Qual é a função Q e qual é a função V no aprendizado por reforço?

30

Parece-me que a função pode ser facilmente expressa pela função e, portanto, a função parece ser supérflua para mim. No entanto, eu sou novo no aprendizado por reforço, então acho que entendi algo errado.VQV

Definições

O aprendizado de Q e V está no contexto dos processos de decisão de Markov . Um MDP é uma tupla de 5 tuplas com(S,A,P,R,γ)

  • S é um conjunto de estados (normalmente finito)
  • A é um conjunto de ações (geralmente finitas)
  • P(s,s,a)=P(st+1=s|st=s,at=a) é a probabilidade de passar do estado para o estado com a ação .ssa
  • R(s,s,a)R é a recompensa imediata após passar do estado para o estado com a ação . (Parece-me que normalmente só assuntos).ssas
  • γ[0,1] é chamado fator de desconto e determina se alguém se concentra em recompensas imediatas ( ), na recompensa total ( ) ou em alguma troca.γ=0γ=1

Uma políticaπ , de acordo com Aprendizagem por Reforço: Uma Introdução por Sutton e Barto, é uma função (isso pode ser probabilístico).π:SA

De acordo com slides de Mario Martins , a função é e a função Q é V

Vπ(s)=Eπ{Rt|st=s}=Eπ{k=0γkrt+k+1|st=s}
Qπ(s,a)=Eπ{Rt|st=s,at=a}=Eπ{k=0γkrt+k+1|st=s,at=a}

Meus pensamentos

Os função estados que o valor total esperado (não recompensa!) De um estado no âmbito da política é.Vsπ

Os função estados qual é o valor de um estado e uma ação no âmbito da política é.Qsaπ

Isso significa que

Qπ(s,π(s))=Vπ(s)

Direita? Então, por que temos a função de valor? (Eu acho que misturei alguma coisa)

Martin Thoma
fonte

Respostas:

15

Os valores Q são uma ótima maneira de explicitar as ações, para que você possa lidar com problemas em que a função de transição não está disponível (sem modelo). No entanto, quando seu espaço de ação é grande, as coisas não são tão agradáveis ​​e os valores Q não são tão convenientes. Pense em um grande número de ações ou mesmo em espaços de ação contínuos.

De uma perspectiva de amostragem, a dimensionalidade de é maior que portanto, pode ser mais difícil obter amostras suficientes em comparação com . Se você tiver acesso à função de transição, às vezes é bom.Q(s,a)V(s)(s,a)(s)V

Existem também outros usos em que ambos são combinados. Por exemplo, a função de vantagem em que . Se você estiver interessado, poderá encontrar um exemplo recente usando as funções de vantagem aqui:A(s,a)=Q(s,a)V(s)

Arquiteturas de rede de duelo para aprendizado profundo de reforço

por Ziyu Wang, Tom Schaul, Matteo Hessel, Hado van Hasselt, Marc Lanctot e Nando de Freitas.

Juan Leni
fonte
19

Vπ(s)s π é a função de valor de estado do MDP (Processo de Decisão de Markov). É o retorno esperado a partir de estado seguinte política .sπ

Na expressão

Vπ(s)=Eπ{Gt|st=s}

Gt é a recompensa total com desconto do passo , em oposição a que é um retorno imediato. Aqui você está assumindo a expectativa de TODAS as ações de acordo com a política .tRtπ

Qπ(s,a) é a função de valor da ação. É o retorno esperado a partir do estado , seguindo a política , a ação . Está se concentrando na ação em particular no estado em particular.sπa

Qπ(s,a)=Eπ{Gt|st=s,at=a}

A relação entre e (o valor de estar nesse estado) éQπVπ

Vπ(s)=aAπ(a|s)Qπ(a,s)

Você soma cada valor de ação multiplicado pela probabilidade de executar essa ação (a política ).π(a|s)

Se você pensar no exemplo do mundo da grade, multiplique a probabilidade de (cima / baixo / direita / esquerda) pelo valor do estado um passo à frente de (cima / baixo / direita / esquerda).

Aaron
fonte
5
Esta é a resposta mais concisa.
Brett
Eu tenho uma fonte que afirma que . Como você relaciona essa equação à que você fornece em sua resposta, ? Na sua equação, você está definindo em termos de uma soma ponderada dos valores deIsso é diferente da definição que tenho, que define como o mais alto . Vπ(s)=maxaAQπ(s,a)Vπ(s)=aAπ(as)Qπ(a,s)VQVQ
nbro
@ Nbro Eu acredito que depende de que tipo de política você está seguindo. Em uma política pura e gananciosa, você está correto. Mas se fosse uma política mais exploratória, criada para decidir
estocamente
7

Você está certo, a função fornece o valor de um estado e fornece o valor de uma ação em um estado (seguindo uma determinada política ). Encontrei a explicação mais clara do Q-learning e como ele funciona no livro de Tom Mitchell "Machine Learning" (1997), cap. 13, que pode ser baixado. é definido como a soma de uma série infinita, mas não é importante aqui. O que importa é a função é definida comoVQπVQ

Q(s,a)=r(s,a)+γV(δ(s,a))
que V * é o melhor valor de um estado se você puder seguir uma política ótima que não usa sei. No entanto, possui uma boa caracterização em termos de computação é feita substituindo-se na primeira equação para fornecer Q
V(s)=maxaQ(s,a)
QV
Q(s,a)=r(s,a)+γmaxaQ(δ(s,a),a)

Isso pode parecer uma recursão ímpar no início porque está expressando o valor Q de uma ação no estado atual em termos do melhor valor Q de um estado sucessor , mas faz sentido quando você olha como o processo de backup a usa: A exploração o processo para quando atinge um estado de objetivo e coleta a recompensa, que se torna o valor Q da transição final. Agora, em um episódio de treinamento subsequente, quando o processo de exploração atingir esse estado predecessor, o processo de backup usa a igualdade acima para atualizar o valor Q atual do estado predecessor. Da próxima vez que o seuQuando o predecessor é visitado, o valor Q do estado é atualizado e assim por diante (o livro de Mitchell descreve uma maneira mais eficiente de fazer isso armazenando todos os cálculos e reproduzindo-os posteriormente). Desde que todos os estados sejam visitados infinitamente, esse processo eventualmente calcula o Q ideal

Às vezes, você verá uma taxa de aprendizado aplicada para controlar quanto Q realmente é atualizado: Observe agora que a atualização para o valor Q que dependem do valor Q atual. O livro de Mitchell também explica por que isso é e por que você precisa : é para MDPs estocásticos. Sem , toda vez que um estado, um par de ações fosse tentado, haveria uma recompensa diferente; portanto, a função Q ^ saltaria por todo o lugar e não convergiria. existe para que, como o novo conhecimento seja aceito apenas em parte.α

Q(s,a)=(1α)Q(s,a)+α(r(s,a)+γmaxaQ(s,a))
=Q(s,a)+α(r(s,a)+γmaxaQ(s,a)Q(s,a))
ααααé definido alto para que os atuais (principalmente valores aleatórios) de Q sejam menos influentes. diminui à medida que o treinamento avança, para que novas atualizações tenham cada vez menos influência, e agora o aprendizado Q convergeα

SN
fonte
0

Aqui está uma explicação mais detalhada da relação entre valor do estado e valor da ação na resposta de Aaron. Vamos primeiro dar uma olhada nas definições de função de valor e função de valor de ação em política : onde é o retorno no tempo . O relacionamento entre essas duas funções de valor pode ser derivado como π

vπ(s)=E[Gt|St=s]qπ(s,a)=E[Gt|St=s,At=a]
Gt=k=0γkRt+k+1t
vπ(s)=E[Gt|St=s]=gtp(gt|St=s)gt=gtap(gt,a|St=s)gt=ap(a|St=s)gtp(gt|St=s,At=a)gt=ap(a|St=s)E[Gt|St=s,At=a]=ap(a|St=s)qπ(s,a)
A equação acima é importante. Descreve a relação entre duas funções fundamentais de valor no aprendizado por reforço. É válido para qualquer política. Além disso, se tivermos uma política determinística , então . Espero que isso seja útil para você. (para saber mais sobre a equação de otimização de Bellman https: //stats.stackexchange.vπ(s)=qπ(s,π(s)))

Jie Shi
fonte
0

A função value é uma formulação abstrata de utilidade. E a função Q é usada para o algoritmo Q-learning.

Emmanuel
fonte
Para o contexto desta pergunta, e são diferentes. VQ
Siong Thye Goh