Aprendizagem de reforço profundo
Nota: No momento, apenas a execução do código do contêiner do docker (abaixo) é suportada. O Docker permite a criação de um único ambiente com maior probabilidade de trabalhar em todos os sistemas. Basicamente, instalo e configuro todos os pacotes para você, exceto o próprio Docker, e você apenas executa o código em um ambiente testado.
Para instalar o Docker, recomendo uma pesquisa na web para "Instalando o Docker no <Your OS Here>". Para executar o código em uma GPU, você deve também instalar o NVIDIA-Docker. O NVIDIA Docker permite o uso de GPUs de um host dentro dos contêineres do Docker. Depois de ter o Docker (e o NVIDIA-Docker, se estiver usando uma GPU) instalado, siga as três etapas abaixo.
Executando o código
- Clone este repo:
git clone --depth 1 https://github.com/mimoralea/gdrl.git && cd gdrl - Puxe a imagem GDRL com:
docker pull mimoralea/gdrl:v0.14 - Spin um recipiente:
- No Mac ou Linux:
docker run -it --rm -p 8888:8888 -v "$PWD"/notebooks/:/mnt/notebooks/ mimoralea/gdrl:v0.14 - No Windows:
docker run -it --rm -p 8888:8888 -v %CD%/notebooks/:/mnt/notebooks/ mimoralea/gdrl:v0.14 - NOTA: Use
nvidia-docker ou adicione --gpus all --rm ao comando, se você estiver usando uma GPU.
- Abra um navegador e vá para o URL mostrado no terminal (provavelmente será: http: // localhost: 8888). A senha é:
gdrl
Sobre o livro
Site do livro
https://www.manning.com/books/grokking-deep-reinforcement-learning
Tabela de conteúdo
- Introdução ao aprendizado de reforço profundo
- Fundamentos matemáticos de aprendizado de reforço
- Equilibrando objetivos imediatos e de longo prazo
- Equilibrando a reunião e a utilização da informação
- Avaliação de comportamentos dos agentes
- Melhorando os comportamentos dos agentes
- Alcançar metas de maneira mais eficaz e eficiente
- Introdução ao aprendizado de reforço profundo baseado em valor
- Métodos mais estáveis baseados em valor
- Métodos baseados em valor com eficiência de amostra
- Métodos de gradiente de políticas e atores críticos
- Métodos avançados de ator-crítico
- Rumo à inteligência geral artificial
Tabela detalhada de conteúdo
1. Introdução ao aprendizado de reforço profundo
2. Fundamentos matemáticos de aprendizado de reforço
- (Livebook)
- (Caderno)
- Implementações de vários MDPs:
- Bandit Walk
- Bandit Slippery Walk
- Slippery Walk Three
- Caminhada aleatória
- Russell e Norvig's Gridworld da AIMA
- Frozenlake
- Frozenlake8x8
3. Equilibrando objetivos imediatos e de longo prazo
- (Livebook)
- (Caderno)
- Implementações de métodos para encontrar políticas ideais:
- Avaliação de políticas
- Melhoria da política
- Iteração política
- Iteração de valor
4. Equilibrando a reunião e a utilização da informação
- (Livebook)
- (Caderno)
- Implementações de estratégias de exploração para problemas de bandidos:
- Aleatório
- Ambicioso
- Greedy E.
- Greedy E com Epsilon em decomposição linear
- E-GREEY com Epsilon em decomposição exponencial
- Inicialização otimista
- Softmax
- Confiança superior limitada
- Bayesiano
5. Avaliando os comportamentos dos agentes
- (Livebook)
- (Caderno)
- Implementação de algoritmos que resolvem o problema de previsão (estimativa de políticas):
- Previsão de Monte-Carlo na primeira visita
- Política em todas as visitas de previsão de Monte-Carlo
- Previsão de diferenças temporais (TD)
- Previsão de diferenças temporais N-Step (TD N-ETP)
- TD (λ)
6. Melhorando os comportamentos dos agentes
- (Livebook)
- (Caderno)
- Implementação de algoritmos que resolvem o problema de controle (melhoria da política):
- Controle de Monte-Carlo na primeira visita
- Controle de Monte-Carlo em todas as políticas
- Controle TD na política: SARSA
- Controle TD fora da política: q-learning
- Duplo q-learning
7. atingir objetivos de maneira mais eficaz e eficiente
- (Livebook)
- (Caderno)
- Implementação de algoritmos de aprendizado de reforço mais eficazes e eficientes:
- SARSA (λ) com substituição de traços
- SARSA (λ) com traços acumulados
- Q (λ) com substituição de traços
- Q (λ) com traços acumulados
- Dyna-Q
- Amostragem de trajetória
8. Introdução ao aprendizado de reforço profundo baseado em valor
- (Livebook)
- (Caderno)
- Implementação de uma linha de base de aprendizado de reforço profundo baseado em valor:
- Q-alperation neural (NFQ)
9. Métodos mais estáveis baseados em valor
- (Livebook)
- (Caderno)
- Implementação de métodos de aprendizado de reforço profundo "clássico" baseados em valor:
- Deep Q-Networks (DQN)
- Double Deep Q-Networks (DDQN)
10. Métodos baseados em valor com eficiência de amostra
- (Livebook)
- (Caderno)
- Implementação de melhorias principais para métodos de aprendizado de reforço profundo baseados em valor:
- Duelo Deep Q-Networks (Dueling DQN)
- Experiência priorizada Replay (PER)
11. Métodos de gradiente de políticas e atores críticos
- (Livebook)
- (Caderno)
- Implementação de métodos clássicos de aprendizado de reforço profundo baseado em políticas e atores críticos:
- Gradientes de políticas sem função de valor e retornos de Monte-Carlo (reforço)
- Gradientes de políticas com linha de base da função de valor treinada com retornos de Monte-Carlo (VPG)
- Vantagem assíncrona ator-crítico (A3C)
- Estimativa de vantagem generalizada (GAE)
- [Síncrono] vantagem ator-crítico (a2c)
12. Métodos avançados de ator crítico
- (Livebook)
- (Caderno)
- Implementação de métodos avançados de ator crítico:
- Gradiente de política determinística profunda (DDPG)
- Twin atrasado gradiente de política determinística profunda (TD3)
- Ator mole-crítico (SAC)
- Otimização de política proximal (PPO)
13. Rumo à inteligência geral artificial