Pergunta

Vamos imaginar que temos um plano (x, y), onde um robô pode se mover. Agora vamos definir a meio do nosso mundo como o estado meta, o que significa que nós estamos indo dar uma recompensa de 100 a nosso robô uma vez que atinge esse estado.

Agora, vamos dizer que existem 4 estados (que chamarei A, B, C, D) que pode levar ao estado meta.

A primeira vez que estamos em um e ir para o estado objetivo, vamos atualizar nossa mesa QValues ??como a seguir:

Q(state = A, action = going to goal state) = 100 + 0

Uma das 2 coisas podem acontecer. Eu posso terminar o episódio aqui, e começar um diferente, onde o robô tem de encontrar novamente o estado objetivo, ou eu posso continuar a explorar o mundo, mesmo depois de eu ter encontrado o estado meta. Se eu tentar fazer isso, eu vejo um problema embora. Se estou em estado objetivo e voltar para estado A, é qvalue será o seguinte:

Q(state = goalState, action = going to A) = 0 + gamma * 100

Agora, se eu tentar ir novamente para o estado gol de A:

Q(state = A, action = going to goal state) = 100 + gamma * (gamma * 100)

O que significa que se eu continuar fazendo isso, como 0 <= gamma <= 0, ambos os qValues ??vão subir para sempre.

Este é o comportamento esperado de QLearning? Estou fazendo algo errado? Se este é o comportamento esperado, não pode isso levar a problemas? Eu sei que probabilisticamente, todos os 4 estados (A, B, C e D), vai crescer no mesmo ritmo, mas mesmo assim kinda me incomoda tê-los crescer para sempre.

A ideia de permitir que o agente para continuar a explorar, mesmo depois de encontrar o objetivo tem que fazer com que o mais perto que ele é do estado meta, o mais provável é estar em estados que podem ser atualizados no momento.

Foi útil?

Solução

Este é como esperado, uma vez que a estimativa Q não é o esperado recompensa , é o esperado retorno , que é o (possivelmente descontado via gama) quantidade de recompensa eu esperaria para colher daquele estado / acção, se eu comecei lá e seguido a minha política até o final do episódio ou para sempre.

Se você me der alguns botões, e um desses botões sempre produz US $ 1 quando pressionado, então a verdadeira recompensa esperada para pressionar esse botão é de US $ 1. Mas o verdadeiro retorno esperado para pressionar o botão é dólares infinito, assumindo eu recebo número infinito de chances de apertar um botão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top