Qual é o problema “Hello World” do Reinforcement Learning?

Sep 13 2020

Como todos sabemos, "Hello World" geralmente é o primeiro programa que qualquer programador aprende / implementa em qualquer linguagem / estrutura.

Como Aurélien Géron mencionou em seu livro que MNIST é freqüentemente chamado de Hello World of Machine Learning , existe algum problema de "Hello World" de Reinforcement Learning?

Alguns candidatos que eu poderia pensar são problema de bandidos multi-armados e Cart Pole Env .

Respostas

9 nbro Sep 13 2020 at 20:28

MNIST (junto com CIFAR) pode ser o "Hello World" do aprendizado supervisionado para classificação de imagens, mas definitivamente não é o "Hello World" de todas as técnicas de aprendizado de máquina, visto que RL também faz parte do ML e MNIST definitivamente não é o "Hello World" de RL.

Não acho que haja um único problema "Hello World" para RL. No entanto, se você estiver procurando por problemas (ou ambientes) simples que geralmente são usados ​​como linhas de base para avaliar a qualidade dos agentes RL, eu diria que os mundos de grade simples onde você precisa se mover de um lugar para outro, o CartPole , MountainCar , Pendulum ou outros ambientes listados aqui são usados ​​com frequência.

O ambiente que você escolhe para treinar e testar seu agente RL depende de seus objetivos. Por exemplo, se você projetou um algoritmo que deveria lidar com espaços de ação contínuos, um ambiente onde você pode realizar apenas um número discreto de ações pode não ser uma boa opção.

Os ambientes mencionados são muito simples (ou seja, problemas com brinquedos). Na minha opinião, precisamos de ambientes mais sérios que possam mostrar a aplicabilidade da RL a outras áreas além dos jogos (relativamente simples).

2 mugoh Sep 14 2020 at 15:56

Embora não haja um problema simples de Hello World de RL, se o seu objetivo é entender o funcionamento básico do Aprendizado por Reforço e vê-lo em ação usando o mínimo de partes móveis possível, uma sugestão simples seria usar o Q-Learning Tabular em um ambiente de brinquedo (como seu Env Cart-Pólo sugerido).

Aqui está o raciocínio por trás dessa sugestão

Digamos que interpretemos o rótulo do MNIST como um Hello World of Supervised Learning para significar algo que mostre as etapas básicas de fazer o Supervised Learning: Criar um modelo, carregar os dados e treinar.

Se essa interpretação não estiver muito distante, podemos dizer que um problema introdutório simples ao Reinforcement Learning (RL) deve se concentrar em demonstrar facilmente um Processo de Decisão de Markov (MDP) funcional, que é a espinha dorsal do processo de tomada de decisão de RL. Como tal, este trabalho mínimo envolveria: Observar o mundo, selecionar uma ação, como mostrado neste loop:

Esta imagem está faltando duas etapas importantes em um loop de aprendizagem de algoritmo RL:

  1. Estimando as recompensas ou ajustando o modelo
  2. Melhorar a forma como você seleciona ações. (Atualizando sua política)

Como decidimos atualizar a política ou ajustar o modelo é o que faz a diferença no algoritmo de RL na maioria das vezes.

Portanto, um primeiro problema sugerido seria aquele que o ajudasse a ver o MDP em ação , mantendo as etapas 1 e 2 simples o suficiente para que você entenda como o agente aprende . O Q-Learning tabular parece claro o suficiente para isso, porque usa uma tabela Q representada como uma matriz 2D para fazer as duas etapas. Isso não deve sugerir que o Q-learning é um algoritmo RL "Hello World" devido à referida relativa facilidade de compreensão :)

Você não será capaz de usar sua versão tabular em qualquer outro lugar que não seja em um ambiente de brinquedo, normalmente Frozen-Lake e CartPole. Uma melhoria seria usar uma rede neural em vez de uma tabela para estimar os valores de Q.

Aqui estão alguns recursos úteis:

  1. Q-Learning com Tabelas (Guia)
  2. Bloco de notas jupyter Q-learning (código ~ 25 linhas)
  3. Q-Learning com Frozen-Lake e Taxi (Código)
  4. Aprendizagem por Reforço com Q-Learning (Guia)

Um bandido multi-armado também seria ótimo para apresentar a você o trade-off exploração-exploração (o que o Q-learning também faz), embora não seja considerado um algoritmo RL completo, uma vez que não tem contexto.