Q1: Existem métodos comuns ou aceitos para lidar com o ambiente não estacionário na aprendizagem por reforço em geral?
α
No entanto , isso aborda a não estacionariedade de longo prazo, como a alteração do problema entre os episódios ou em uma escala de tempo ainda maior. Sua descrição parece mais que você deseja alterar a estrutura de recompensa com base nas ações que o agente executou, dentro de um curto espaço de tempo. Essa resposta dinâmica às ações é melhor estruturada como um MDP diferente e mais complexo, não como "não estacionariedade" dentro de um MDP mais simples.
Um agente não pode aprender alterações no ambiente que ainda não foi amostrado; portanto, alterar a estrutura de recompensa não impedirá que o agente retorne aos estados visitados anteriormente. A menos que você esteja usando algo como uma RNN no agente, o agente não terá uma "memória" do que aconteceu antes no episódio, exceto o que estiver representado no estado atual (sem dúvida, o uso de uma RNN torna a camada oculta da RNN parte do Estado). Em vários episódios, se você usar um agente de Q-learning tabular, o agente simplesmente aprenderá que determinados estados têm valor baixo, não será capaz de aprender que a segunda ou terceira visita ao estado causa esse efeito, porque não possui maneira de representar esse conhecimento. Não será capaz de se adaptar às mudanças com rapidez suficiente para aprender on-line e no meio do episódio.
P2: No meu mundo da grade, a função de recompensa muda quando um estado é visitado. Tudo o que eu quero que meu agente aprenda é "Não volte a menos que você realmente precise", mas isso torna o ambiente não estacionário.
Se é tudo o que você precisa que o agente aprenda, talvez isso possa ser incentivado por uma estrutura de recompensa adequada. Antes que você possa fazer isso, você precisa entender a si mesmo o que "realmente precisa" implica e quão apertado isso deve ser logicamente. Você pode ficar bem, apenas atribuindo alguma penalidade por visitar qualquer local que o agente já tenha visitado recentemente ou recentemente.
Esta regra muito simples pode / deve ser incorporada no modelo MDP e como?
Sim, você deve adicionar no estado as informações sobre os locais visitados. Isso imediatamente tornará seu modelo de estado mais complexo do que um simples mundo de grade, aumentando a dimensionalidade do problema, mas é inevitável. A maioria dos problemas do mundo real supera rapidamente os exemplos de brinquedos fornecidos para ensinar conceitos de RL.
Uma alternativa é enquadrar o problema como um Processo de Decisão Markov Parcialmente Observável (POMDP) . Nesse caso, o estado "verdadeiro" ainda incluiria todo o histórico necessário para calcular as recompensas (e, como esse é um problema de brinquedo em um computador, você ainda precisará representá-lo de alguma forma), mas o agente pode tentar aprender com restrições. conhecimento do estado, exatamente o que você deixar observar. Em geral, essa é uma abordagem muito mais difícil do que expandir a representação do estado, e eu não a recomendaria aqui. No entanto, se você achar a idéia interessante, poderá usar seu problema para explorar POMDPs. Aqui está um artigo recente (da equipe Deep Mind do Google, 2015) que analisa dois algoritmos de RL combinados com RNNs para resolver POMDPs.
Q3: Estive estudando o Q-learning com repetição de experiência como uma solução para lidar com ambientes não estacionários, pois isso ocorre com atualizações sucessivas. Esse é o uso correto do método ou é mais uma questão de tornar a aprendizagem mais eficiente dos dados?
A repetição da experiência não ajudará em ambientes não estacionários. De fato, isso poderia piorar o desempenho neles. No entanto, como já foi dito, seu problema não é realmente sobre um ambiente não estacionário, mas sobre como lidar com dinâmicas de estado mais complexas.
648×8264
Com um estimador de funções, a repetição da experiência é muito útil, pois sem ele, é provável que o processo de aprendizado seja instável. A recente abordagem do DQN para jogar jogos da Atari usa a repetição da experiência por esse motivo.
Q1: Q learning é um algoritmo de aprendizado on-line de reforço que funciona bem com o ambiente estacionário. Também pode ser usado com um modelo não estacionário com a condição de que o modelo (função de recompensa e probabilidades de transição) não mude rapidamente.
fonte