Nous avons abordé de nombreuses utilisations, hacks de productivité, automatisations, flux de travail et autres façons d’utiliser l’IA pour améliorer vos résultats, vos compétences et bien plus encore. Cependant, une application que nous n’avons pas abordée jusqu’à présent est l’utilisation de l’IA pour jouer à Pokémon Rouge. Ce guide permet d’en savoir plus sur l’entraînement des modèles d’IA à l’aide de l’apprentissage par renforcement. Vous y trouverez également le processus d’apprentissage de l’IA dans le jeu, les succès et les échecs de l’IA, les détails techniques du développement de l’IA, les stratégies pour mener des expériences de manière efficace, les améliorations futures et la manière d’exécuter le programme sur votre propre ordinateur si vous êtes intéressé.
L’IA a été entraînée à jouer à Pokémon Rouge en utilisant l’apprentissage par renforcement, un processus qui a commencé avec l’IA n’ayant aucune connaissance du jeu et seulement la capacité d’appuyer sur des boutons au hasard. Au cours des cinq années de jeu simulé, l’IA a appris à attraper des Pokémon, à les faire évoluer et même à vaincre le chef d’une salle de sport. Ce processus d’apprentissage a été guidé par un système de récompenses, qui a incité l’IA à remplir des objectifs et à apprendre par essais et erreurs.
Apprendre à l’IA à jouer aux Pokémon grâce à l’apprentissage par renforcement
Le processus d’apprentissage de l’IA a été visualisé pour comprendre son comportement et sa prise de décision. Cette visualisation a fourni des informations précieuses sur le processus d’apprentissage de l’IA et a permis d’orienter les améliorations futures de la formation de l’IA. Regardez la vidéo ci-dessous pour en savoir plus sur le processus et le voir en action.
L’IA a été encouragée à explorer la carte du jeu et à rechercher la nouveauté, des récompenses étant accordées pour la découverte de nouveaux écrans. Toutefois, ce processus d’apprentissage n’a pas été sans difficultés. L’IA se fixait parfois sur certaines zones en raison du système de récompense des nouveautés. Pour ajuster le comportement de l’IA, le système de récompense a été modifié, par exemple en augmentant le seuil des récompenses pour la nouveauté afin d’encourager l’exploration de nouveaux endroits. Des récompenses supplémentaires ont été ajoutées pour inciter l’IA à participer à des batailles et à améliorer le niveau de ses Pokémon.
L’IA a appris à naviguer sur la carte du jeu, à participer à des combats et même à exploiter le générateur de nombres aléatoires du jeu. Le comportement de l’IA a été analysé et visualisé afin de comprendre son processus d’apprentissage et de prise de décision. Cette analyse a révélé que l’interaction de l’IA avec l’environnement du jeu et la conception de la fonction de récompense étaient des éléments clés du processus de formation.
L’IA a été formée à l’aide d’un algorithme d’apprentissage par renforcement appelé optimisation de la politique proximale. Cet algorithme a été choisi pour sa capacité à gérer l’environnement complexe et dynamique de Pokémon Red. Cependant, la formation de l’IA n’a pas été sans difficultés. La nécessité de revenir en arrière dans le jeu, le coût de l’entraînement et la nécessité de concevoir soigneusement la fonction de récompense sont autant de facteurs qui ont dû être pris en compte.
L’entraînement de l’IA peut être effectué sur un ordinateur personnel, grâce aux instructions fournies dans le dépôt GitHub du projet. Cependant, il est important de noter que par défaut, le jeu se termine après 32 000 pas, soit environ une heure. Cette durée peut être augmentée en ajustant la variable ep_length, mais cela utilisera également plus de mémoire. Par défaut, le jeu peut utiliser jusqu’à environ 100G de RAM. Cette consommation peut être réduite en diminuant la variable num_cpu ou ep_length, mais les résultats risquent d’en être affectés. De plus, le comportement du modèle peut devenir dégénéré pendant les 50 premières itérations d’entraînement avant de commencer à s’améliorer.
Étapes de la formation d’un modèle d’IA à l’aide de l’apprentissage par renforcement :
1. Formulation du problème :
- Espace d’état : Définir l’ensemble des états possibles que l’agent peut rencontrer.
- Espace des actions : Définit l’ensemble des actions possibles que l’agent peut entreprendre.
- Fonction de récompense : Définir une fonction qui fournit une récompense scalaire basée sur la paire état-action.
- Politique : Stratégie employée par l’agent pour déterminer la prochaine action en fonction de l’état actuel.
- Objectif : En général, l’objectif est de maximiser la récompense cumulative attendue, souvent actualisée dans le temps.
2. Configuration de l’environnement :
- Vous pouvez utiliser un environnement préconstruit (comme OpenAI Gym) ou en construire un personnalisé qui simule le problème que vous essayez de résoudre.
3. Initialisation des paramètres :
- Initialiser la politique et d’autres paramètres comme le facteur d’escompte, le taux d’apprentissage, etc.
4. Boucle d’apprentissage :
- Observation : Observer l’état actuel de l’environnement.
- Sélection de l’action : Utiliser la politique actuelle pour sélectionner une action à entreprendre dans l’état observé.
- Exécution : Exécuter l’action et observer le nouvel état et la récompense.
- Apprentissage : Mise à jour de la politique ou d’une fonction intermédiaire (comme la fonction de valeur ou la fonction action-valeur) sur la base de la récompense et de la transition observées.
- Boucle : Poursuivre ce processus jusqu’à ce qu’une condition de fin soit remplie, qui peut être un nombre maximum d’itérations, un niveau d’apprentissage satisfaisant tel que défini par le problème, ou d’autres critères.
5. Amélioration de la politique :
- Après un entraînement suffisant, affiner ou optimiser la politique pour obtenir de meilleures performances, ce qui peut être fait en utilisant des techniques telles que l’itération de la politique, l’itération de la valeur, ou des méthodes plus avancées telles que les modèles critiques d’acteur.
6. Évaluation :
- Exécuter l’agent formé sur des environnements de test ou des scénarios du monde réel pour évaluer ses performances.
Algorithmes :
Différents algorithmes peuvent être utilisés au stade de l’apprentissage, chacun ayant ses propres avantages et inconvénients :
- Itération de la valeur, Itération de la politique : Méthodes de base principalement utilisées à des fins éducatives.
- Q-Learning, Sarsa : méthodes sans modèle adaptées aux espaces d’état à haute dimension.
- Réseau Q profond (DQN) : Combine le Q-Learning avec le Deep Learning.
- Gradients de politique : Optimise directement la fonction de politique.
- Acteur-critique : Combine les méthodes basées sur la valeur et les méthodes basées sur la politique.
Bibliothèques et outils :
- Bibliothèques Python telles que TensorFlow, PyTorch pour la construction de réseaux neuronaux si vous utilisez des approximateurs de fonction.
- OpenAI Gym pour les simulations d’environnement.
Grâce à l’apprentissage par renforcement, l’IA a appris à naviguer dans le monde du jeu, à s’engager dans des batailles et même à exploiter les mécanismes du jeu. Malgré les difficultés, l’entraînement de l’IA a permis d’obtenir des informations précieuses sur le processus d’apprentissage et la prise de décision de l’IA, et a ouvert la voie à de futures améliorations et applications de l’IA dans les jeux.
Lire plus Guide:
- Les GFlowNets sont-ils l’avenir de l’IA et que sont-ils ?
- Comment tirer le meilleur parti de ChatGPT
- Comment apprendre à communiquer efficacement grâce aux jeux de rôle et au ChatGPT ?
- Le nouveau modèle d’IA Zephyr-7B LLM affine celui de Mistral-7B et bat le Llama-2 70B
- Google Bard en classe : Révolutionner l’éducation grâce à l’apprentissage piloté par l’IA
- Présentation de la plateforme d’apprentissage machine Nuvoton pour l’IA des points finaux