«Entraînement de renforcement profond. AlphaGo et autres technologies ": l'annonce du livre

Bonjour à tous!

Nous avons l'un des meilleurs livres sur la formation de renforcement disponible en précommande, initialement appelé " Deep Reinforcement Learning Hands-on " par Maxim Lapan. Voici la couverture de la traduction russe :



Afin que vous puissiez apprécier le résumé du livre, nous vous proposons une traduction de la critique rédigée par l'auteur à la sortie de l'original.


Salut

Je suis un passionné autodidacte qui aime l'apprentissage en profondeur. Par conséquent, lorsque des représentants de la maison d'édition Packt m'ont contacté et m'ont suggéré d'écrire un livre pratique sur l'état actuel de l'apprentissage en profondeur avec renforcement, j'avais un peu peur, mais après quelques hésitations, j'ai accepté, en supposant avec optimisme: "Oh, il y aura une expérience intéressante."
Je ne dirai pas que ce travail m'a été donné comme une promenade facile, bien sûr que non. Vous n'avez pas de jours de congé, pas de temps libre, une peur constante de "geler la stupidité" et la poursuite des délais pour chaque chapitre (deux semaines par chapitre et exemple de code). Cependant, en général, tout s'est passé de manière positive et très intéressante.

Avant de décrire brièvement le contenu de chaque chapitre, décrivons l' idée de l'ensemble du livre .
Lorsque j'ai commencé à expérimenter en RL il y a plus de quatre ans, j'avais à ma disposition les sources d'informations suivantes:



Peut-être qu'il y avait autre chose, mais ce sont les sources d'information les plus importantes. Tous sont très loin de la pratique:

  • Le livre de Sutton et Barto, également connu sous le nom de «Le livre RL», ne fournit que les fondements théoriques de cette discipline.
  • Les articles liés à RL sont publiés presque quotidiennement, mais contiennent encore rarement des liens vers un code spécifique. Uniquement des formules et des algorithmes. Si vous êtes chanceux, des hyper paramètres seront indiqués.
  • Le cours David Silver a été enseigné à l'University College London (UCL) en 2015. Il donne un très bon aperçu des méthodes qui existaient à l'époque, leur permettant d'être maîtrisées intuitivement, cependant, ici, la théorie l'emporte à nouveau sur la pratique.


Dans le même temps, j'étais profondément accro à l' article DeepMind ("Un réseau de neurones peut apprendre à jouer aux jeux Atari en pixels! WOW!"), Et j'ai senti que cette théorie sèche cache une énorme valeur pratique. J'ai donc passé beaucoup de temps à étudier la théorie, à mettre en œuvre diverses méthodes et à les déboguer. Comme vous l'avez probablement deviné, cela n'a pas été facile: vous pouvez passer quelques semaines à perfectionner la méthode, puis découvrir que votre implémentation est incorrecte (ou pire encore, vous avez mal compris la formule). Je ne considère pas une telle formation comme une perte de temps - au contraire, je pense que c'est la façon la plus correcte d'apprendre quelque chose. Cependant, cela prend beaucoup de temps.

Deux ans plus tard, lorsque j'ai commencé à travailler sur le texte, mon objectif principal était le suivant: donner des informations pratiques approfondies sur les méthodes de RL à un lecteur qui ne connaît que cette discipline fascinante - comme je l'ai déjà fait.

Maintenant, parlons un peu du livre. Il se concentre principalement sur la pratique, et j'ai essayé de minimiser le volume de la théorie et des formules. Il contient des formules clés, mais aucune preuve n'est donnée. Fondamentalement, j'essaie de donner une compréhension intuitive de ce qui se passe, sans rechercher la rigueur maximale de présentation.

Dans le même temps, il est supposé que le lecteur possède des connaissances de base de l'apprentissage en profondeur et des statistiques. Il y a un chapitre dans le livre avec une vue d'ensemble de la bibliothèque PyTorch (puisque tous les exemples sont donnés en utilisant PyTorch), mais ce chapitre ne peut pas être considéré comme une source d'information auto-suffisante sur les réseaux de neurones. Si vous n'avez jamais entendu parler des fonctions de perte et d'activation auparavant, commencez par consulter d'autres livres, aujourd'hui il y en a beaucoup. (Remarque: par exemple, le livre " Deep learning ").

Dans mon livre, vous trouverez de nombreux exemples de complexité variable, à commencer par les plus simples (la méthode CrossEntropy dans l'environnement CartPole contient ~ 100 lignes en python), se terminant par des projets assez importants, par exemple, apprendre AlphGo Zero ou un agent RL pour le commerce sur l'échange. Un exemple de code est entièrement téléchargé sur GitHub , il y a plus de 14k lignes de code en Python.

Le livre se compose de 18 chapitres couvrant les aspects les plus importants de l'apprentissage profond moderne avec renforcement:

  • Le chapitre 1 : fournit des informations introductives sur le paradigme de l'apprentissage renforcé, montre en quoi il diffère de l'apprentissage avec et sans enseignant. Nous considérons ici le modèle mathématique central lié à l'apprentissage par renforcement: les processus décisionnels de Markov: (MPPR). La connaissance du MPNR s'est faite étape par étape: je parle des chaînes de Markov, qui sont transformées en processus de renforcement de Markov (avec l'ajout d'une composante de renforcement) et, enfin, en processus de décision Markov à part entière, où les actions de l'agent sont également prises en compte dans le tableau d'ensemble.
  • Chapitre 2 : parle d' OpenAI Gym , une API généralisée pour RL, conçue pour fonctionner dans une variété d'environnements, y compris Atari, résoudre des problèmes classiques, tels que CartPole, des tâches d'apprentissage continu, etc.
  • Chapitre 3 : donne un aperçu rapide de l'API PyTorch. Ce chapitre n'a pas été conçu comme un guide complet de DL, mais il jette les bases de la compréhension de chapitres supplémentaires. Si vous utilisez d'autres outils pour résoudre des problèmes d'apprentissage profond, il devrait servir de bonne introduction au beau modèle PyTorch, afin qu'il vous soit plus facile de comprendre les exemples des chapitres suivants. À la fin de ce chapitre, nous enseignerons un GAN simple qui générera et distinguera les captures d'écran Atari de différents jeux.
  • Chapitre 4 : examine l'une des méthodes les plus simples et les plus puissantes: CrossEntropy. Dans ce chapitre, nous vous apprendrons le premier réseau capable de résoudre des problèmes dans l' environnement CartPole .
  • Chapitre 5 : Ce chapitre commence la deuxième partie du livre sur l'algorithme d'itération pour les valeurs. Le chapitre 5 présente une méthode simple de formation sur un tableur à l'aide de l'équation de Bellman pour résoudre des problèmes dans l'environnement FrozenLake .
  • Chapitre 6 : Ce chapitre vous présente les DQN qui jouent au jeu Atari. L'architecture de l'agent est exactement la même que dans le célèbre article DeepMind .
  • Chapitre 7 : présente plusieurs extensions DQN modernes pour améliorer la stabilité et les performances du DQN sous-jacent. Dans ce chapitre, les méthodes de l'article « Rainbow: Combiner les améliorations dans Deep RL »; toutes ces méthodes sont implémentées dans le chapitre, et j'explique les idées qui les sous-tendent. Ces méthodes sont les suivantes: DQN en N étapes, DQN double, réseaux bruyants, tampon de lecture prioritaire, réseaux en duel et réseaux de catégorie. À la fin du chapitre, toutes les méthodes sont combinées dans un exemple de code commun, exactement comme cela a été fait dans «l'article arc-en-ciel».
  • Le chapitre 8 : décrit le premier projet de taille moyenne, illustrant le côté pratique du RL dans la résolution de problèmes du monde réel. Dans ce chapitre, à l'aide du DQN, un agent est formé pour effectuer des opérations sur l'échange.
  • Chapitre 9 : Ce chapitre commence la troisième partie du livre sur les techniques de gradient politique. On y découvre de telles méthodes, leurs forces et leurs faiblesses par rapport aux méthodes de dénombrement par valeurs déjà envisagées ci-dessus. La première méthode de cette famille est appelée RENFORCEMENT.
  • Le chapitre 10 : décrit comment traiter l'un des problèmes les plus graves de RL: la variabilité du gradient des politiques. Après avoir expérimenté les niveaux de PG de base, vous vous familiariserez avec la méthode acteur-critique.
  • Chapitre 11 : explique comment paralléliser la méthode acteur-critique sur du matériel moderne.
  • Chapitre 12 : un deuxième exemple pratique qui décrit comment résoudre les problèmes associés au traitement du langage naturel. Dans ce chapitre, nous enseignons à un chatbot simple à utiliser les méthodes RL sur le matériau de la boîte de dialogue cinéma Cornell .
  • Chapitre 13 : un autre exemple pratique sur l'automatisation Web: MiniWoB est utilisé comme plateforme. Malheureusement, OpenAI a refusé d'utiliser MiniWoB, il est donc difficile de trouver des informations à ce sujet ( voici quelques grains). Mais l'idée de MiniWoB est brillante, donc dans ce chapitre je montre comment configurer et former l'agent pour résoudre certains des problèmes qui lui sont associés.
  • Chapitre 14 : la dernière, quatrième partie du livre, consacrée aux méthodes et techniques plus avancées, commence par elle. Le chapitre 14 se concentre sur les tâches de gestion continue et décrit les méthodes A3C, DDPG et D4PG pour résoudre les problèmes dans certains environnements PyBullet.
  • Chapitre 15 : parle davantage des problèmes de gestion continue et vous présente le phénomène de la région de confiance en utilisant TRPO, PPO et ACKTR comme exemples.
  • Chapitre 16 : consacré aux méthodes pédagogiques avec renforcement sans gradients (travail sur le principe de la «boîte noire»); ils sont positionnés comme des alternatives plus évolutives pour les méthodes DQN et PG. Des stratégies évolutives et des algorithmes génétiques sont appliqués ici pour résoudre plusieurs problèmes de contrôle continu.
  • Le chapitre 17 : examine les approches RL basées sur un modèle et décrit la tentative de DeepMind de combler l'écart entre les méthodes basées sur un modèle et non basées sur un modèle. Ce chapitre implémente l'agent I2A pour Breakout.
  • Chapitre 18 : Le dernier chapitre du livre traite de la méthode AlphaGo Zero utilisée lors de la lecture de Connect4. Ensuite, l'agent fini est utilisé dans le cadre du bot de télégramme pour vérifier les résultats.



C'est tout! J'espère que vous apprécierez le livre.

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


All Articles