Por que a repetição da experiência requer algoritmo fora da política?

12

No artigo que apresentou o DQN " Playing Atari with Deep Reforcement Learning ", mencionou:

Observe que, ao aprender pela repetição da experiência, é necessário aprender fora da política (porque nossos parâmetros atuais são diferentes daqueles usados ​​para gerar a amostra), o que motiva a escolha do Q-learning.

Eu não entendi direito o que isso significa. E se usarmos o SARSA e nos lembrarmos da ação a'que devemos executar s'em nossa memória, e depois amostrar lotes dele e atualizar o Q como fizemos no DQN? E, os métodos ator-crítico (A3C, para específico) podem usar a repetição da experiência? Se não, por que?

DarkZero
fonte

Respostas:

2

Os métodos dentro da política, como o SARSA, esperam que as ações em todos os estados sejam escolhidas com base na política atual do agente, que geralmente tende a explorar recompensas.

Ao fazer isso, a política melhora quando atualizamos nossa política com base nas últimas recompensas. Aqui, em particular, eles atualizam os parâmetros do NN que prevê o valor de um determinado estado / ação).

Porém, se atualizarmos nossa política com base nas transições armazenadas, como na repetição da experiência, na verdade estamos avaliando as ações de uma política que não é mais a atual, uma vez que evoluiu com o tempo, deixando de ser dentro da política.

Os valores Q são avaliados com base nas recompensas futuras que você obterá de um estado seguindo a política atual do agente.

No entanto, isso não é mais verdade, pois agora você está seguindo uma política diferente. Então, eles usam um método comum fora da política que explora com base em uma abordagem gananciosa.

dante
fonte
Obrigado, mas ainda não entendo isso: se eu usar a regra de atualização TD (0), lembrei-me de uma transição (s, a, r, s')e desenhe essa experiência para reprodução; Agora, suponha que o meu atual política diz que você deve levar a'em s', em seguida, marca que Q(s, a)deve ser r + Q(s', a')e fazer gradiente descendente. Acho que estou fazendo uma experiência repetindo a política. Há algum problema com o processo?
precisa
Acredito que o problema é que, agora que você está usando uma política diferente da anterior, e que a ação é escolhida usando a política antiga, você não pode realmente dizer que está na política: avaliar corretamente o valor Q de uma política você deve executar muitas ações com a mesma. Aqui você tenta avaliar uma política atual usando uma ação que essa política não pôde escolher.
Dante
Então, posso dizer que estou fazendo isso fora da política aqui? Qual será o resultado disso, em teoria?
precisa
1
Portanto, se eu entendi direito, deve-se usar métodos fora da política, como o Q-learning, sempre escolha o Q máximo para ser a recompensa esperada no futuro. Não importa qual é a ação atual, porque é uma propriedade do Q aprender que, se você sempre escolher o Q máximo para o futuro, Q convergirá para Q sob a política ideal; Ou ele deve seguir francamente uma política, escolher todas as ações, incluindo as futuras por meio dessa política, e fazer atualizações dentro da política. Isso está certo?
precisa
1
Até agora, não consigo entender por que os métodos dentro da política são bons. Os métodos fora da política parecem ter mais liberdade e podem descobrir a política ideal por si só. Você também se incomoda em responder stats.stackexchange.com/questions/265354/… ? Muito obrigado por todas as discussões.
precisa
1

David Silver aborda isso nesta palestra em vídeo às 46:10 http://videolectures.net/rldm2015_silver_reinforcement_learning/ : a experiência que o replay escolheuma a partir de s usando a política vigente na época, e essa é uma de suas vantagens - ela permite que a função Q aprenda com políticas anteriores, o que interrompe a correlação de estados e políticas recentes e evita que a rede fique "bloqueada" em um determinado modo de comportamento.

dilaudid
fonte