Aprendizado por reforço em ambiente não estacionário

9

Q1: Existem métodos comuns ou aceitos para lidar com o ambiente não estacionário na aprendizagem por reforço em geral?

P2: No meu mundo da grade, a função de recompensa muda quando um estado é visitado. A cada episódio, as recompensas são redefinidas para o estado inicial. 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. Esta regra muito simples pode / deve ser incorporada no modelo MDP e como? O Q-learning é a melhor solução para lidar com esse problema? Alguma sugestão ou exemplos disponíveis?

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? E só o vi usado com aproximação de valor. Não tenho certeza se é um exagero usá-lo para um espaço de estado discreto e simples, como o gridworld, ou se existe uma razão diferente para isso.

Sinta-se à vontade para responder ou comentar, mesmo que você não consiga responder a todas as perguntas.

Voltronika
fonte

Respostas:

10

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.

Neil Slater
fonte
Se o ambiente não é estacionário, como você lida com o fato de que, no exemplo do mundo da grade, estar no estado no tempo t = 1 não é o mesmo que estar naquele estado em t = 2? Se você os tratar como estados separados, certamente a dimensionalidade do seu espaço de estados explodirá?
precisa
@tryingtolearn: O ponto principal de um estado de Markov é que ele captura todos os detalhes importantes de como o MDP progredirá a partir desse ponto. Normalmente, estar no estado em t = 1 não é diferente de estar no mesmo estado em t = 2, em termos de recompensa futura esperada e transições de estado. Se você terminar com regras baseadas no valor de t, você colocará t no estado Isso pode acontecer se você puder receber recompensa a qualquer momento, mas o número de etapas é limitado - o episódio sempre termina em t = 10, por exemplo. Nesse caso, saber o seu tempo restante poderia ser importante
Neil Slater
@NeilSlater, você pode expandir as idéias POMDP e RNN em sua resposta? Eles parecem interessantes. E, se possível, forneça fontes relevantes, porque às vezes é difícil navegar na literatura. Eu realmente não gosto da idéia de manter a sequência de estados visitados, embora essa seja a única coisa em que eu possa pensar até agora, então estou procurando outras opções. O modelo se torna muito complicado dessa maneira, uma vez que preciso introduzir uma regra muito simples. Não tenho certeza se estou perdendo algo muito óbvio ou simplesmente não estou usando o modelo e a formulação corretos.
Voltronika
@NeilSlater Isso não pode ser ajudado usando coisas como métodos de gradiente de política? Na prática, você sabe qual é o padrão para resolver esse tipo de problema?
precisa
11
@ Voltronika Expandi a resposta adicionando um parágrafo sobre POMDPs. Observe que a estruturação do seu problema como um POMDP torna muito mais difícil trabalhar e resolver do que estender o estado para incluir memória adequada dos locais visitados. Por isso, sugiro que você apenas analise se o objetivo é estudar POMDPs.
Neil Slater
0

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.

Khalid Ibrahim
fonte