Qual é a diferença entre o aprendizado de reforço sem modelo e com base em modelo?

29

Qual é a diferença entre o aprendizado de reforço sem modelo e com base em modelo?

Parece-me que qualquer aluno sem modelo, aprendendo por tentativa e erro, poderia ser reformulado como baseado em modelo. Nesse caso, quando os alunos sem modelo seriam apropriados?

vin
fonte
Veja também esta resposta: qr.ae/TUtHbv .
nbro
Como você pode reformular um aluno sem modelo como um modelo?
HelloGoodbye
Aqui está uma versão não abreviada do link da nbro: Qual é a diferença entre o aprendizado por reforço baseado em modelo e sem modelo? (Quora)
jrh 28/03

Respostas:

14

O aprendizado por reforço baseado em modelo faz com que um agente tente entender o mundo e criar um modelo para representá-lo. Aqui o modelo está tentando capturar 2 funções, a função de transição de estados e a função de recompensa . Nesse modelo, o agente tem uma referência e pode planejar adequadamente.TR

No entanto, não é necessário aprender um modelo, e o agente pode aprender uma política diretamente usando algoritmos como Q-learning ou gradiente de política.

Uma verificação simples para ver se um algoritmo RL é baseado em modelo ou sem modelo é:

Se, após o aprendizado, o agente puder fazer previsões sobre qual será o próximo estado e a recompensa antes de executar cada ação, é um algoritmo de RL baseado em modelo.

Se não puder, é um algoritmo sem modelo.

Jaden Travnik
fonte
2
em suas palavras, "não é necessário aprender um modelo", e minha pergunta é: por que alguém adotaria uma abordagem baseada em modelo?
vin
4
Um grande exemplo em que consigo pensar é quando você deseja que um agente aprenda sobre o ambiente ao redor sem realmente otimizar nada. Isso faz parte do problema do aprendizado contínuo; você precisa criar um modelo interno como "Eu bato nas paredes quando meu sensor de distância lê uma parede perto", para que esse agente possa generalizar essas informações para várias tarefas, se surgirem.
Jaden Travnik
2
obrigado @Jaden Travnik. entendo por que seria útil aprender uma representação do ambiente ("bato nas paredes quando a distância está perto da parede") sem resolver alguma tarefa (por exemplo, navegar até a cozinha). mas por que isso seria considerado RL sem modelo e não uma tarefa de aprendizado supervisionado por baunilha?
vin
2
Isso não seria um aprendizado supervisionado porque não há dados rotulados. O agente não tinha idéia do que os sinais significam, então não conseguiu distinguir um sensor de distância de um termômetro. O que o agente está aprendendo são previsões de sinais com base em outros sinais, o que é um modelo de seu mundo.
Jaden Travnik
2
com uma abordagem baseada em modelo, o agente aprende a prever o próximo estado, de acordo com sua explicação original. faz isso aprendendo <x, y>, onde x é (s1, ação) e y é (s2, recompensa). desculpe se estou interpretando mal, mas não é esse aprendizado supervisionado?
vin
12

Qual é a diferença entre o aprendizado de reforço sem modelo e com base em modelo?

No Aprendizado por Reforço, os termos "baseado em modelo" e "sem modelo" não se referem ao uso de uma rede neural ou outro modelo estatístico de aprendizado para prever valores ou mesmo para prever o próximo estado (embora o último possa ser usado como parte de um algoritmo baseado em modelo e ser chamado de "modelo", independentemente de o algoritmo ser baseado em modelo ou sem modelo).

Em vez disso, o termo refere-se estritamente se, enquanto durante a aprendizagem ou a ação, o agente usa previsões da resposta do ambiente. O agente pode usar uma única previsão do modelo da próxima recompensa e do próximo estado (uma amostra), ou pode solicitar ao modelo a próxima recompensa esperada ou a distribuição completa dos próximos estados e próximas recompensas. Essas previsões podem ser fornecidas inteiramente fora do agente de aprendizagem - por exemplo, por código de computador que entende as regras de um dado ou jogo de tabuleiro. Ou eles podem ser aprendidos pelo agente, caso em que serão aproximados.

Só porque existe um modelo do ambiente implementado, não significa que um agente RL seja "baseado em modelo". Para se qualificar como "baseado em modelo", os algoritmos de aprendizado precisam referenciar explicitamente o modelo:

  • Algoritmos que se baseiam apenas em experiências como Monte Carlo Control, SARSA, Q-learning e Actor-Critic são algoritmos RL "sem modelo". Eles dependem de amostras reais do ambiente e nunca usam previsões geradas do próximo estado e da próxima recompensa para alterar o comportamento (embora possam amostrar a partir da memória da experiência, que está perto de ser um modelo).

  • Os algoritmos arquetípicos baseados em modelo são Programação Dinâmica (Iteração de Política e Iteração de Valor) - todos eles usam as previsões ou distribuições do próximo estado e recompensa do modelo para calcular as ações ideais. Especificamente na Programação Dinâmica, o modelo deve fornecer probabilidades de transição de estado e recompensa esperada de qualquer estado, par de ações. Observe que isso raramente é um modelo aprendido.

  • O aprendizado básico de TD, usando apenas valores de estado, também deve ser baseado em modelo para funcionar como um sistema de controle e selecionar ações. Para escolher a melhor ação, ele precisa consultar um modelo que preveja o que acontecerá em cada ação e implementar uma política como onde é a probabilidade de receber recompensa e o próximo estado ao executar ação no estado . Essa função é essencialmente o modelo.π(s)=argmaxas,rp(s,r|s,a)(r+v(s))p(s,r|s,a)rsasp(s,r|s,a)

A literatura sobre RL diferencia entre "modelo" como um modelo de ambiente para aprendizado "baseado em modelo" e "sem modelo" e o uso de alunos de estatística, como redes neurais.

In RL, neural networks are often employed to learn and generalise value functions, such as the Q value which predicts total return (sum of discounted rewards) given a state and action pair. Such a trained neural network is often called a "model" in e.g. supervised learning. However, in RL literature, you will see the term "function approximator" used for such a network to avoid ambiguity.

Parece-me que qualquer aluno sem modelo, aprendendo por tentativa e erro, poderia ser reformulado como baseado em modelo.

Acho que aqui você está usando o entendimento geral da palavra "modelo" para incluir qualquer estrutura que faça previsões úteis. Isso se aplicaria a, por exemplo, tabela de valores Q em SARSA.

No entanto, como explicado acima, não é assim que o termo é usado na RL. Portanto, embora seu entendimento de que a RL construa representações internas úteis esteja correto, não é tecnicamente correto que isso possa ser usado para re-enquadrar entre "livre de modelo" como "baseado em modelo", porque esses termos têm um significado muito específico em RL .

Nesse caso, quando os alunos sem modelo seriam apropriados?

Geralmente com o estado da arte atual em RL, se você não possui um modelo preciso fornecido como parte da definição do problema, as abordagens sem modelo geralmente são superiores.

Há muito interesse em agentes que constroem modelos preditivos do ambiente, e fazê-lo como um "efeito colateral" (embora ainda seja um algoritmo sem modelo) ainda pode ser útil - ele pode regularizar uma rede neural ou ajudar a descobrir os principais preditores preditivos. recursos que também podem ser usados ​​em políticas ou redes de valor. No entanto, os agentes baseados em modelo que aprendem seus próprios modelos para o planejamento têm um problema que a imprecisão nesses modelos pode causar instabilidade (as imprecisões se multiplicam quanto mais o futuro olhar para o agente). Algumas incursões promissoras estão sendo feitas usando agentes e / ou mecanismos baseados na imaginação para decidir quando e quanto confiar no modelo aprendido durante o planejamento.

No momento (em 2018), se você tiver um problema do mundo real em um ambiente sem um modelo conhecido explícito no início, a aposta mais segura é usar uma abordagem sem modelo, como DQN ou A3C. Isso pode mudar à medida que o campo avança rapidamente e novas arquiteturas mais complexas podem muito bem ser a norma em alguns anos.

Neil Slater
fonte
11
Uma pequena correção, normalmente os termos "modelo baseado" ou "modelo livre" não são usados ​​para o planejamento de algoritmos como o MCTS. É usado apenas para classificar algoritmos de aprendizado.
Miguel Saraiva
@ MiguelSaraiva: Não estou 100% certo disso, mas removi a referência ao MCTS. Fora de interesse, onde você colocaria a DynaQ em relação a essa limitação do uso dos termos? Eu acho que fica complicado, quando todos os algoritmos compartilham uma visão tão comum do modelo MDP e aprimoram as políticas, para saber onde estão os limites entre planejamento e aprendizado.
Neil Slater
Eu posso estar errado, sou um novato na área. Acabei de me lembrar de um professor de campo fazendo esse comentário depois de fazer a mesma observação.
Miguel Saraiva
5

assr

O principal objetivo do agente é coletar a maior quantidade de recompensa "a longo prazo". Para fazer isso, o agente precisa encontrar uma política ideal (aproximadamente, a estratégia ideal para se comportar no ambiente). Em geral, uma política é uma função que, dado o estado atual do ambiente, gera uma ação (ou uma distribuição de probabilidade sobre as ações, se a política é estocástica ) a ser executada no ambiente. Uma política pode, portanto, ser considerada a "estratégia" usada pelo agente para se comportar nesse ambiente. Uma política ideal (para um determinado ambiente) é uma política que, se seguida, fará com que o agente receba a maior quantidade de recompensa a longo prazo (que é o objetivo do agente). Na RL, estamos interessados ​​em encontrar políticas ótimas.

O ambiente pode ser determinístico (ou seja, aproximadamente a mesma ação no mesmo estado leva ao mesmo estado seguinte, para todas as etapas do tempo) ou estocástico (ou não determinístico), ou seja, se o agente executar uma ação em um Em um determinado estado, o próximo estado resultante do ambiente pode nem sempre ser o mesmo: há uma probabilidade de que seja um determinado estado ou outro. Obviamente, essas incertezas tornarão mais difícil a tarefa de encontrar a política ideal.

Em RL, o problema é frequentemente formulado matematicamente como um processo de decisão de Markov (MDP). Um MDP é uma maneira de representar a "dinâmica" do ambiente, ou seja, a maneira como o ambiente reagirá às possíveis ações que o agente pode executar, em um determinado estado. Mais precisamente, um MDP é equipado com uma função de transição (ou "modelo de transição"), que é uma função que, dado o estado atual do ambiente e uma ação (que o agente pode executar), gera uma probabilidade de mudança para qualquer dos próximos estados. Uma função de recompensatambém está associado a um MDP. Intuitivamente, a função de recompensa gera uma recompensa, dado o estado atual do ambiente (e, possivelmente, uma ação executada pelo agente e o próximo estado do ambiente). Coletivamente, as funções de transição e recompensa são freqüentemente chamadas de modelo de ambiente. Para concluir, o MDP é o problema e a solução para o problema é uma política. Além disso, a "dinâmica" do ambiente é governada pelas funções de transição e recompensa (ou seja, o "modelo").

No entanto, geralmente não temos o MDP, ou seja, não temos as funções de transição e recompensa (do MDP associado ao ambiente). Portanto, não podemos estimar uma política do MDP, porque é desconhecida. Observe que, em geral, se tivéssemos as funções de transição e recompensa do MDP associadas ao ambiente, poderíamos explorá-las e recuperar uma política ideal (usando algoritmos de programação dinâmica).

Na ausência dessas funções (ou seja, quando o MDP é desconhecido), para estimar a política ideal, o agente precisa interagir com o ambiente e observar as respostas do ambiente. Isso geralmente é chamado de "problema de aprendizado por reforço", porque o agente precisará estimar uma política reforçando suas crenças sobre a dinâmica do ambiente. Com o tempo, o agente começa a entender como o ambiente responde a suas ações e, assim, pode começar a estimar a política ideal. Assim, no problema de RL, o agente estima a política ideal para se comportar em um ambiente desconhecido (ou parcialmente conhecido) interagindo com ele (usando uma abordagem de "tentativa e erro").

Nesse contexto, um modelo baseado emalgoritmo é um algoritmo que usa a função de transição (e a função de recompensa) para estimar a política ideal. O agente pode ter acesso apenas a uma aproximação da função de transição e das funções de recompensa, que podem ser aprendidas pelo agente enquanto interage com o ambiente ou podem ser fornecidas ao agente (por exemplo, por outro agente). Em geral, em um algoritmo baseado em modelo, o agente pode prever potencialmente a dinâmica do ambiente (durante ou após a fase de aprendizado), porque possui uma estimativa da função de transição (e da função de recompensa). No entanto, observe que as funções de transição e recompensa que o agente usa para melhorar sua estimativa da política ideal podem ser apenas aproximações das funções "verdadeiras". Portanto, a política ideal pode nunca ser encontrada (por causa dessas aproximações).

Um algoritmo sem modelo é um algoritmo que estima a política ideal sem usar ou estimar a dinâmica (funções de transição e recompensa) do ambiente. Na prática, um algoritmo sem modelo estima uma "função de valor" ou a "política" diretamente da experiência (ou seja, a interação entre o agente e o ambiente), sem usar a função de transição nem a função de recompensa. Uma função de valor pode ser pensada como uma função que avalia um estado (ou uma ação executada em um estado), para todos os estados. A partir dessa função de valor, uma política pode ser derivada.

Na prática, uma maneira de distinguir entre algoritmos baseados em modelo ou sem modelo é olhar para os algoritmos e ver se eles usam a função de transição ou recompensa.

Por exemplo, vejamos a regra principal de atualização no algoritmo Q-learning :

Q(St,At)Q(St,At)+α(Rt+1+γmaxaQ(St+1,a)Q(St,At))

Rt+1

Agora, vejamos a principal regra de atualização do algoritmo de aprimoramento de políticas :

Q(s,a)sS,rRp(s,r|s,a)(r+γV(s))

p(s,r|s,a)

nbro
fonte
2

RL sem modelo

Na RL sem modelo, o agente não tem acesso a um modelo do ambiente. Por ambiente, quero dizer uma função que prevê a transição e recompensas do estado.

Até o momento da redação deste artigo, os métodos sem modelo são mais populares e têm sido pesquisados ​​extensivamente.

RL baseada em modelo

Na RL baseada em modelo, o agente tem acesso a um modelo do ambiente.

A principal vantagem é que isso permite que o agente planeje com antecedência pensando no futuro. Os agentes destilam os resultados do planejamento futuro em uma política aprendida. Um exemplo famoso de RL baseada em modelo é o AlphaZero .

A principal desvantagem é que muitas vezes uma representação do terreno da verdade geralmente não está disponível.


Abaixo está uma taxonomia não exaustiva dos algoritmos de RL, que pode ajudá-lo a visualizar melhor o cenário da RL.

insira a descrição da imagem aqui

Rrz0
fonte
1

De acordo com o OpenAI - Tipos de algoritmos de RL , algoritmos que usam um modelo de ambiente, ou seja, uma função que prediz transições e recompensas de estados, são chamados métodos baseados em modelo e aqueles que não são chamados sem modelo . Esse modelo pode ter sido fornecido ao agente ou aprendido pelo agente.

O uso de um modelo permite que o agente planeje pensando no futuro, vendo o que aconteceria com uma variedade de opções possíveis e decidindo explicitamente entre suas opções. Isso pode ser útil quando confrontado com problemas que requerem mais pensamento a longo prazo. Uma maneira de executar o planejamento é usar algum tipo de pesquisa em árvore, por exemplo, pesquisa em árvore Monte Carlo (MCTS), ou - que eu suspeito que também possa ser usada - variantes da árvore aleatória de exploração rápida (TRR). Veja, por exemplo, agentes que imaginam e planejam .

O agente pode destilar os resultados do planejamento antecipado em uma política aprendida - isso é conhecido como iteração especializada.

Um modelo também pode ser usado para criar um ambiente simulado ou "imaginado" no qual o estado é atualizado usando o modelo e fazer com que o agente aprenda dentro desse ambiente, como nos Modelos Mundiais .

Em muitos cenários do mundo real, o modelo de base do ambiente não está disponível para o agente. Se um agente quiser usar um modelo nesse caso, ele precisará aprender o modelo, o que pode ser desafiador por vários motivos.

No entanto, há casos em que o agente usa um modelo que já é conhecido e, consequentemente, não precisa aprender o modelo, como no AlphaZero , onde o modelo vem na forma das regras do jogo.

Olá adeus
fonte
1

Embora haja várias boas respostas, quero acrescentar este parágrafo em Reinforcement Learning: An Introduction , página 303, para uma visão mais psicológica da diferença.

A distinção entre algoritmos de aprendizado por reforço sem modelo e baseado em modelo corresponde à distinção que os psicólogos fazem entre o controle habitual e o direcionado por objetivos dos padrões comportamentais aprendidos. Hábitos são padrões de comportamento desencadeados por estímulos apropriados e, em seguida, executados mais ou menos automaticamente. O comportamento direcionado a metas, de acordo com a maneira como os psicólogos usam a frase, é proposital no sentido de que é controlado pelo conhecimento do valor das metas e pela relação entre ações e suas conseqüências. Às vezes, diz-se que os hábitos são controlados por estímulos antecedentes, enquanto o comportamento direcionado a objetivos é controlado por suas consequências (Dickinson, 1980, 1985). O controle direcionado a objetivos tem a vantagem de poder mudar rapidamente o comportamento de um animal quando o ambiente muda sua maneira de reagir às ações do animal. Embora o comportamento habitual responda rapidamente às informações de um ambiente acostumado, ele é incapaz de se ajustar rapidamente às mudanças no ambiente.

Ele continua a partir daí e tem um bom exemplo depois.

Acho que o ponto principal que nem sempre foi explicado nas outras respostas é que, em uma abordagem sem modelo, você ainda precisa de algum tipo de ambiente para lhe dizer qual é a recompensa associada à sua ação. A grande diferença é que você NÃO precisa armazenar nenhuma informação sobre o modelo. Você dá ao ambiente a ação que você escolheu, atualiza sua política estimada e a esquece. Por outro lado, nas abordagens baseadas em modelo, é necessário conhecer o histórico de transições de estado como na Programação Dinâmica ou ser capaz de calcular todos os estados seguintes possíveis e recompensas associadas, a partir do estado atual.

Miguel Saraiva
fonte