Nanodegree de aprendizado de reforço profundo

Este repositório contém material relacionado ao profundo programa de aprendizado de reforço da Udacity.
Índice
Tutoriais
Os tutoriais levam você através da implementação de vários algoritmos no aprendizado de reforço. Todo o código está em Pytorch (v0.4) e Python 3.
- Programação dinâmica: implemente algoritmos de programação dinâmica, como avaliação de políticas, melhoria de políticas, iteração de políticas e iteração de valor.
- Monte Carlo: Implemente os métodos de Monte Carlo para previsão e controle.
- Diferença temporal: implemente métodos de diferença temporal, como SARSA, q-learning e SARSA esperados.
- Discretização: Aprenda a discretizar espaços de estado contínuos e resolver o ambiente de carro da montanha.
- Codificação de ladrilhos: Implemente um método para discretizar espaços de estado contínuos que permitem melhor generalização.
- Defined Q-Network: Explore como usar uma rede Q Profunda (DQN) para navegar em um veículo espacial sem bater.
- Robótica: use uma API C ++ para treinar agentes de aprendizado de reforço da simulação robótica virtual em 3D. ( Link externo )
- Escalada nas colinas: use escalada de montanhas com escalagem de ruído adaptável para equilibrar um poste em um carrinho em movimento.
- Método entre entropia: use o método de entropia cruzada para treinar um carro para navegar em uma colina íngreme.
- Reforço: Aprenda a usar os gradientes de políticas de Monte Carlo para resolver uma tarefa de controle clássico.
- Otimização da política proximal : explore como usar a otimização de políticas proximais (PPO) para resolver uma tarefa clássica de aprendizado de reforço. ( Em breve! )
- Gradientes políticos determinísticos profundos : Explore como usar os profundos gradientes de políticas determinísticas (DDPG) com ambientes de academia Openai.
- Pendulum: Use o ambiente de pêndulo da academia Openai.
- BiEdalwalker: Use o ambiente Bipedalwalker da OpenAI Gym.
- Finanças: treine um agente para descobrir estratégias de negociação ideais.
Laboratórios / projetos
Os laboratórios e projetos podem ser encontrados abaixo. Todos os projetos usam ambientes de simulação ricos da Unity ML-Agents. No Programa de Nanodegree de Aprendizagem Profunda, você receberá uma revisão do seu projeto. Essas análises devem fornecer feedback personalizado e dizer o que pode ser melhorado em seu código.
- O problema do táxi: neste laboratório, você treinará um táxi para pegar e deixar passageiros.
- Navegação: No primeiro projeto, você treinará um agente para coletar bananas amarelas, evitando bananas azuis.
- Controle contínuo: No segundo projeto, você treinará um braço robótico para atingir os locais alvo.
- Colaboração e competição: no terceiro projeto, você treinará um par de agentes para jogar tênis!
Recursos
- Cheatsheet: Você é incentivado a usar este arquivo PDF para orientar seu estudo sobre o aprendizado de reforço.
Openai Gym Benchmarks
Controle clássico
-
Acrobot-v1 com codificação de ladrilhos e q-learning -
Cartpole-v0 com escalada nas colinas | resolvido em 13 episódios -
Cartpole-v0 com reforço | resolvido em 691 episódios -
MountainCarContinuous-v0 com método de entropia cruzada | resolvido em 47 iterações -
MountainCar-v0 com discretização uniforme da grade e q-learning | resolvido em <50000 episódios -
Pendulum-v0 com profundos gradientes de política determinística (DDPG)
Box2d
-
BipedalWalker-v2 com profundos gradientes de política determinística (DDPG) -
CarRacing-v0 com Deep Q-Networks (DQN) | Em breve! -
LunarLander-v2 com Deep Q-Networks (DQN) | resolvido em 1504 episódios
Texto de brinquedo
-
FrozenLake-v0 com programação dinâmica -
Blackjack-v0 com métodos Monte Carlo -
CliffWalking-v0 com métodos de diferença temporal
Dependências
Para configurar seu ambiente Python para executar o código neste repositório, siga as instruções abaixo.
Crie (e ativar) um novo ambiente com o Python 3.6.
conda create --name drlnd python=3.6
source activate drlnd
conda create --name drlnd python=3.6
activate drlnd
Se estiver em execução no Windows , verifique se você possui as "Ferramentas de construção do Visual Studio 2019" instaladas neste site. Este artigo também pode ser muito útil. Isso foi confirmado para funcionar na casa do Windows 10.
Siga as instruções neste repositório para executar uma instalação mínima da academia OpenAI.
- Em seguida, instale o grupo de ambiente de controle clássico seguindo as instruções aqui.
- Em seguida, instale o grupo de ambiente Box2D seguindo as instruções aqui.
Clone o repositório (se você ainda não o fez!) E navegue até a pasta python/ . Em seguida, instale várias dependências.
git clone https://github.com/udacity/deep-reinforcement-learning.git
cd deep-reinforcement-learning/python
pip install .
Crie um kernel ipython para o ambiente drlnd .
python -m ipykernel install --user --name drlnd --display-name " drlnd "
Antes de executar o código em um caderno, altere o kernel para corresponder ao ambiente drlnd usando o menu suspenso Kernel .

Quer aprender mais?
Venha aprender conosco no Programa de Nanodegree de Aprendizagem de Reforço Profundo da Udacity!
