QLearning e intermináveis ??episódios
-
11-09-2019 - |
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.
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.