“Treinamento de reforço profundo. AlphaGo e outras tecnologias ": o anúncio do livro

Olá pessoal!

Temos um dos melhores livros sobre treinamento de reforço disponíveis para pré-encomenda, originalmente chamado de " Deep Reforcement Learning Hands-on " de Maxim Lapan. Aqui está a capa da tradução para o russo :



Para que você possa apreciar o resumo do livro, oferecemos uma tradução da resenha escrita pelo autor até o lançamento do original.


Oi

Sou um entusiasta autodidata que gosta de aprender profundamente. Portanto, quando representantes da editora Packt entraram em contato comigo e sugeriram escrever um livro prático sobre o estado atual do aprendizado profundo com reforço, fiquei um pouco assustado, mas depois de alguma hesitação, concordei, assumindo com otimismo: "Oh, haverá uma experiência interessante".
Não direi que esse trabalho me foi dado como uma caminhada fácil, claro que não. Você não tem dias de folga, tempo livre, medo constante de "estupidez congelante" e a busca de prazos para cada capítulo (duas semanas por capítulo e código de exemplo). No entanto, em geral, tudo correu de forma positiva e muito interessante.

Antes de descrever brevemente o conteúdo de cada capítulo, vamos descrever a idéia de todo o livro .
Quando comecei a experimentar RL há mais de quatro anos, eu tinha à minha disposição as seguintes fontes de informação:



Talvez houvesse algo mais, mas essas eram as fontes de informação mais importantes. Todos eles estão muito longe da prática:

  • O livro de Sutton e Barto, também conhecido como "O livro da RL", fornece apenas os fundamentos teóricos dessa disciplina.
  • Os artigos relacionados à RL são publicados quase diariamente, mas ainda raramente contêm links para código específico. Somente fórmulas e algoritmos. Se você tiver sorte, serão indicados hiper parâmetros.
  • O curso de David Silver foi ministrado na University College London (UCL) em 2015. Ele fornece uma visão geral muito boa dos métodos que existiam na época, permitindo que eles sejam dominados intuitivamente; no entanto, aqui a teoria novamente prevalece sobre a prática.


Ao mesmo tempo, fiquei profundamente viciado no artigo DeepMind ("Uma rede neural pode aprender a jogar jogos da Atari em pixels! WOW!"), E senti que essa teoria seca esconde um enorme valor prático. Então, passei muito tempo estudando a teoria, implementando vários métodos e depurando-os. Como você provavelmente adivinhou, não foi fácil: você pode passar algumas semanas aprimorando o método e depois descobrir que sua implementação está incorreta (ou, pior ainda, você não entendeu a fórmula). Não considero esse treinamento uma perda de tempo - pelo contrário, acho que essa é a maneira mais correta de aprender alguma coisa. No entanto, isso leva muito tempo.

Dois anos depois, quando comecei a trabalhar no texto, meu objetivo principal era o seguinte: fornecer informações práticas completas sobre métodos de RL a um leitor que esteja familiarizado apenas com essa disciplina fascinante - como fiz uma vez.

Agora um pouco sobre o livro. Ele é focado principalmente na prática, e tentei minimizar o volume de teoria e fórmulas. Ele contém fórmulas principais, mas nenhuma evidência é fornecida. Basicamente, tento dar uma compreensão intuitiva do que está acontecendo, sem buscar o máximo rigor da apresentação.

Ao mesmo tempo, supõe-se que o leitor tenha conhecimentos básicos de aprendizado profundo e estatística. Há um capítulo no livro com uma visão geral da biblioteca PyTorch (já que todos os exemplos são dados usando o PyTorch), mas este capítulo não pode ser considerado uma fonte auto-suficiente de informações sobre redes neurais. Se você nunca ouviu falar das funções de perda e ativação antes, comece olhando para outros livros, hoje existem muitos. (Nota: por exemplo, o livro " Deep learning ").

No meu livro, você encontrará muitos exemplos de complexidade variável, começando pelos mais simples (o método CrossEntropy no ambiente CartPole contém ~ 100 linhas em python), terminando com projetos bastante grandes, por exemplo, aprendendo o AlphGo Zero ou um agente RL para negociação na bolsa. O código de amostra é totalmente carregado no GitHub ; existem mais de 14 mil linhas de código no Python.

O livro consiste em 18 capítulos que cobrem os aspectos mais importantes do aprendizado profundo moderno com reforço:

  • Capítulo 1 : fornece informações introdutórias sobre o paradigma de aprendizado reforçado, demonstra como ele difere do aprendizado com e sem um professor. Aqui, consideramos o modelo matemático central relacionado ao aprendizado por reforço: processos de tomada de decisão de Markov: (MPPR). O conhecimento do MPNR foi feito passo a passo: falo sobre cadeias de Markov, que são transformadas em processos de reforço de Markov (com a adição de um componente de reforço) e, finalmente, em processos de tomada de decisão de Markov de pleno direito, onde as ações do agente também são levadas em conta no quadro geral.
  • Capítulo 2 : fala sobre o OpenAI Gym , uma API generalizada para RL, projetada para funcionar em uma variedade de ambientes, incluindo o Atari, resolvendo problemas clássicos, como CartPole, tarefas de aprendizado contínuo, etc.
  • Capítulo 3 : fornece uma visão geral expressa da API do PyTorch. Este capítulo não pretendia ser um guia completo para a DL, no entanto, estabelece as bases para a compreensão de outros capítulos. Se você usar outras ferramentas para resolver problemas profundos de aprendizado, ele deverá servir como uma boa introdução ao belo modelo PyTorch, para facilitar a compreensão dos exemplos dos capítulos seguintes. No final deste capítulo, ensinaremos um GAN simples que irá gerar e distinguir as capturas de tela do Atari de diferentes jogos.
  • Capítulo 4 : examina um dos métodos mais simples e poderosos: CrossEntropy. Neste capítulo, ensinaremos a primeira rede que pode resolver problemas no ambiente CartPole .
  • Capítulo 5 : Este capítulo inicia a segunda parte do livro sobre o algoritmo de iteração para valores. O Capítulo 5 discute uma maneira simples de treinar planilhas usando a equação de Bellman para resolver problemas no ambiente FrozenLake .
  • Capítulo 6 : Este capítulo apresenta os DQNs que jogam o jogo Atari. A arquitetura do agente é exatamente a mesma do famoso artigo DeepMind .
  • Capítulo 7 : apresenta várias extensões modernas de DQN para ajudar a melhorar a estabilidade e o desempenho do DQN subjacente. Neste capítulo, os métodos do artigo " Arco-íris: combinando melhorias no Deep RL "; todos esses métodos são implementados no capítulo e explico as idéias subjacentes a eles. Esses métodos são: DQN em uma etapa, DQN duplo, redes ruidosas, buffer de reprodução prioritário, redes de duelo e redes de categorias. No final do capítulo, todos os métodos são combinados em um exemplo de código comum, exatamente como foi feito no "artigo do arco-íris".
  • Capítulo 8 : descreve o primeiro projeto de tamanho médio, ilustrando o lado prático da RL na solução de problemas do mundo real. Neste capítulo, usando o DQN, um agente é treinado para executar operações na central.
  • Capítulo 9 : Este capítulo inicia a terceira parte do livro sobre técnicas de gradiente de políticas. Nele nos familiarizamos com esses métodos, seus pontos fortes e fracos em comparação com os métodos de enumeração por valores já considerados acima. O primeiro método nesta família é chamado REFORÇAR.
  • Capítulo 10 : descreve como lidar com um dos problemas mais sérios da RL: variabilidade do gradiente de políticas. Depois de experimentar os níveis básicos de PG, você se familiarizará com o método crítico de ator.
  • Capítulo 11 : fala sobre como paralelizar o método ator-crítico no hardware moderno.
  • Capítulo 12 : um segundo exemplo prático que descreve como resolver problemas associados ao processamento de linguagem natural. Neste capítulo, ensinamos um chatbot simples a usar métodos RL no material da caixa de diálogo do cinema Cornell .
  • Capítulo 13 : outro exemplo prático de automação da web: o MiniWoB é usado como plataforma. Infelizmente, o OpenAI se recusou a usar o MiniWoB, por isso é difícil encontrar informações sobre ele ( aqui estão alguns grãos). Mas a ideia do MiniWoB é brilhante, portanto, neste capítulo, mostro como configurar e treinar o agente para resolver alguns dos problemas associados a ele.
  • Capítulo 14 : a última, quarta parte do livro, dedicada a métodos e técnicas mais avançadas, começa com ele. O capítulo 14 se concentra nas tarefas de gerenciamento contínuo e descreve os métodos A3C, DDPG e D4PG para resolver problemas em alguns ambientes PyBullet.
  • Capítulo 15 : fala mais sobre problemas de gerenciamento contínuo e apresenta o fenômeno Trust Region usando TRPO, PPO e ACKTR como exemplos.
  • Capítulo 16 : dedicado a métodos de ensino com reforço sem gradientes (trabalhando no princípio da "caixa preta"); eles são posicionados como alternativas mais escalonáveis ​​para os métodos DQN e PG. Estratégias evolutivas e algoritmos genéticos são aplicados aqui para resolver vários problemas de controle contínuo.
  • Capítulo 17 : examina abordagens de RL baseadas em modelo e descreve a tentativa do DeepMind de preencher a lacuna entre métodos baseados em modelo e não baseados em modelo. Este capítulo implementa o agente I2A para Breakout.
  • Capítulo 18 : O capítulo final do livro discute o método AlphaGo Zero usado ao jogar o Connect4. Em seguida, o agente finalizado é usado como parte do bot de telegrama para verificar os resultados.



Isso é tudo! Espero que você goste do livro.

Source: https://habr.com/ru/post/pt474276/


All Articles