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?
Respostas:
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.T R
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.
fonte
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)=argmaxa∑s′,rp(s′,r|s,a)(r+v(s′)) p(s′,r|s,a) r s′ a s p(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.
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 .
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.
fonte
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 :
Agora, vejamos a principal regra de atualização do algoritmo de aprimoramento de políticas :
fonte
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.
fonte
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.
fonte
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.
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.
fonte