Tenho uma dúvida sobre como exatamente é treinada a função de perda de uma Deep Q-Learning Network. Estou usando uma rede feedforward de 2 camadas com camada de saída linear e relu camadas ocultas.
- Vamos supor que eu tenho 4 ações possíveis. Portanto, a saída da minha rede para o estado atual é . Para torná-lo mais concreto, vamos assumir
- Agora, tomo a ação correspondente ao valor ou seja, a terceira ação, e chego a um novo estado .
- Em seguida, calculo a passagem direta com o estado e digamos que obtenho os seguintes valores na camada de saída . Também digamos a recompensa e .
A perda é dada por:
OU
OR
Thank you, sorry I had to write this out in a very basic way... I am confused by all the notation. ( I think the correct answer is the second one...)
Respostas:
After reviewing the equations a few more times. I think the correct loss is the following:
My reasoning is that the q-learning update rule for the general case is only updating the q-value for a specificstate,action pair.
This equation means that the update happens only for one specificstate,action pair and for the neural q-network that means the loss is calculated only for one specific output unit which corresponds to a specific action .
In the example providedQ(s,a)=4.3 and the target is r+γmaxa∗Q(s′,a∗)=11.1 .
fonte