Aumento ilimitado do Q-Value, consequência da recompensa recorrente após repetir a mesma ação no Q-Learning
Eu estou no processo de desenvolvimento de uma implementação simples de Q-Learning sobre um aplicativo trivial, mas há algo que me deixa intrigado.
Vamos considerar a formulação padrão do Q-Learning
Q(S, A) = Q(S, A) + alpha * [R + MaxQ(S', A') - Q(S, A)]
Vamos supor que exista esse estadoK
que tem duas ações possíveis, ambas concedendo nossas recompensas de agenteR
eR'
porA
eA'
.
Se seguirmos uma abordagem quase totalmente gananciosa (digamos que assumimos um 0,1 epsilon), eu irei primeiro escolher aleatoriamente uma das ações, por exemploA
. Da próxima vez, eu provavelmente (90% das vezes) escolherei novamenteA
e isso fará com que Q (K, A) continue crescendo e crescendo, sendo verdade que mesmo que por acaso eu tenteA'
Como provavelmente sua recompensa é da mesma magnitude que a de A, teremos chegado a uma situação em que é praticamente impossível "nos recuperar" do nosso primeiro palpite, durante o resto do aprendizado.
Eu acho que isso não deve ser assim, caso contrário, o agente basicamente não iria aprender - seria apenas seguir uma receita simples: fazer tudo como você fez pela primeira vez.
Estou esquecendo de algo? Eu sei que posso ajustar o valor alfa (geralmente, diminuindo com o tempo), mas isso não melhora nossa situação.