4 pontos por GN⁺ 2024-05-06 | 1 comentários | Compartilhar no WhatsApp

Curso introdutório de Deep Reinforcement Learning

  • Este é um curso introdutório e prático de algoritmos básicos e clássicos de Deep Reinforcement Learning.
  • Ao concluir, você conseguirá implementar diretamente algoritmos como DQN, SAC e PPO e compreender o embasamento teórico desses algoritmos em um nível elevado.
  • Será possível treinar uma IA para jogar jogos de Atari ou para fazer a Lua pousar uma IA.

Configuração do ambiente

  • São apresentados métodos de configuração do ambiente para focar apenas no aprendizado
    • Instalação do Miniconda (gerenciador de ambiente com opção de escolha de versão do Python)
    • Faça o clone deste repositório Git e acesse a pasta correspondente
    • Crie e ative o ambiente virtual drlzh
      conda create --name drlzh python=3.11
      conda activate drlzh  
      
    • Instale o Poetry e as dependências (incluindo gymnasium[accept-rom-license] para Atari)
      pip install poetry
      poetry install
      
    • Instale o Visual Studio Code

Como começar

  • Abra a pasta deste repositório no Visual Studio Code (mantenha a pasta .vscode)
  • Abra o primeiro notebook 00_Intro.ipynb e siga as instruções
  • Vá para o próximo notebook em seguida
  • Em caso de dúvida, consulte a pasta /solution
  • Para explicações detalhadas sobre a codificação passo a passo, confira os vídeos do YouTube

Opinião da GN⁺

  • Reinforcement Learning é uma das tecnologias de IA com grandes resultados em jogos e robótica, mas ainda é desafiadora para aplicar em problemas reais. Por exemplo, o processo de treinamento é demorado e, em cenários onde a segurança é crítica, não é viável passar por tentativa e erro.
  • Como esse curso trata de problemas simples, como jogos de Atari ou simulação de pouso lunar, ele é bom para iniciantes, mas para uso em campo parece necessário estudar mais.
  • À medida que materiais educacionais open source como este se espalham, mais desenvolvedores conseguem aprender e aplicar tecnologias de IA. Em particular, Reinforcement Learning tende a se tornar uma habilidade essencial para engenheiros de robótica e direção autônoma.
  • Para montar o ambiente de prática, usa-se uma variedade de ferramentas como Conda e Poetry, o que pode pesar para quem está começando. Se um ambiente de prática em nuvem fosse oferecido, seria possível reduzir a barreira de entrada.

1 comentários

 
GN⁺ 2024-05-06
Comentário do Hacker News

Aqui vai um resumo:

  • Ao tentar aprender Deep Reinforcement Learning (aprendizado por reforço profundo), percebi que, embora existam muitos recursos excelentes, faltavam materiais que trouxessem um equilíbrio adequado entre teoria e prática.
  • Por isso, decidi criar e compartilhar tudo como código aberto. Reescrevi os algoritmos do zero em notebooks Python, com uma abordagem de "ensino".
  • É um tutorial prático e passo a passo que orienta pela teoria e por exercícios de codificação para os algoritmos mais usados, como Q-Learning, DQN, SAC e PPO.

Feedback

  • Embora existam muitos exemplos simples que funcionam de fato, há pouca orientação prática sobre o que fazer quando aparecem problemas. Por exemplo, seria útil ter conselhos para cenários como ação presa no valor máximo ou quando a exploração não está acontecendo corretamente.
  • No Tetris, mesmo as técnicas mais recentes de RL podem ter desempenho ruim em comparação com heurísticas simples.
  • Compartilhou o framework DRL para geração de música RaveForce, parecido com o Gym, que pode ser usado para testar os algoritmos.
  • Parece útil para quem tem pouco conhecimento prévio em estatística/ML entender melhor como o agente aprende.
  • Seria bom adicionar links de vídeos do YouTube.
  • Foi indicado que o título foi inspirado em "Neural Network: Zero To Hero", de Andrej Karpathy. Também houve um comentário de que isso pode causar confusão com branding pessoal.