Formateur : Bonjour à tous et bienvenue.
Dans cette vidéo, nous verrons comment utiliser
ChatGPT pour résoudre le problème "Breakout", en
utilisant ChatGPT pour mettre en œuvre A3C.
Je l'ai donc déjà sollicité avec un grand nombre d'incitations folles, et nous avons
obtenu des résultats étonnants, que nous verrons dans une seconde.
Cette vidéo va donc vous expliquer
comment j'ai procédé
pour obtenir ces résultats,
et comment vous pouvez utiliser ChatGPT
pour créer un algorithme A3C.
J'ai commencé de la même manière que pour "DOOM", j'ai dit, ok, vous
êtes un expert en apprentissage
automatique avec des années
d'expérience en robotique.
Je vous engage pour faire l'algorithme A3C pour "Breakout". L'objectif est d'avoir un algorithme SOTA, A3C
entièrement fonctionnel
qui peut jouer au jeu "Breakout".
J'ai implémenté des classes, l'environnement
de code de test et des versions
personnalisées de l'optimiseur Adam qui
est utilisé comme optimiseur de poids partagés
pour le modèle A3C.
Pour donner plus de contexte,
j'ai fait en sorte de vous fournir ces trois éléments.
Donc, comme je l'ai mentionné avant de générer le reste du code, votre objectif est
d'implémenter la solution complète
en utilisant Python, Torch,
de manière similaire à
ce que nous avions, et d'optimiser le code
pour qu'il soit exécuté dans Google
Colab, de la même manière que nous l'avions auparavant.
En outre, commentez chaque ligne
du code afin que les étudiants puissent comprendre
ce que vous avez fait dans le code.
Posez des questions de clarification si nécessaire, c'est compris.
Il y a donc un certain chevauchement avec ce que nous avons fait
pour la conversation Deep Q pour
"DOOM", mais j'ai ajouté beaucoup de contexte en disant que j'ai déjà des choses
mises en œuvre et que j'aimerais
qu'elles soient utilisées.
C'est donc ce que j'ai commencé à faire et c'est confirmé.
Oui, je comprends et je poserai toutes
les questions, veuillez fournir le reste du code.
Ensuite, j'ai indiqué qu'il s'agissait de l'optimiseur
Adam, j'ai collé le code de l'optimiseur
Adam, pour les ressources dont nous disposons, et j'ai donné
cette instruction, j'ai dit d'attendre
le reste du code avant de le mettre
en œuvre, j'ai juste, avant d'obtenir de bons résultats,
j'ai juste collé et il a immédiatement sauté à la mise en œuvre d'A3C, sans
attendre le reste.
J'ai donc ajouté cela comme
une sorte de code systémique,
d'invite systémique, et cela m'a dit, ok, veuillez fournir l'environnement
et tester le code.
Il s'agit donc en fait d'une référence à ce
que nous avons donné dans le premier message.
J'ai dit, cool, voici la mise
en œuvre de l'environnement Gym.
J'ai collé le code principal,
j'ai ajouté le contexte ici, si vous jetez un coup
d'œil, et c'est le fichier
principal qui exécute tout.
Et puis j'ai dit, d'accord, cool, attendez
le code de test.
Et il m'a dit, oui, cependant,
j'ai encore besoin
de voir le code de test avant de mettre en œuvre A3C, j'ai dit,
cool, voici un code de test.
Et vous voyez que si vous avez
un projet plus important,
vous pouvez l'utiliser pour
utiliser ce morceau
de code ou comme référence, dans le style
afin de pouvoir générer quelque chose
dans votre style de code.
Cool, et quand j'ai fait
ça, ça m'a dit, super, vas-y.
Il disait en substance : "Je vais utiliser
ce code principal, le tester et le mettre en œuvre".
Ensuite, il a été indiqué "modèle créé". py, ce que nous avons également fait dans
le cadre du cours.
Il a dit : "Voici le modèle d'ActorCritic,
et je le compare au nôtre.
Il s'agit de la version la plus récente de Python, donc
une grande partie de l'initialisation des
poids et d'autres choses de ce genre peuvent être faites de manière plus élégante.
Il l'a donc fait et l'utilise assez
bien, puis il a généré un code de train et, en gros,
ActorCritic.
Et si vous y jetez un coup d'œil, vous constaterez qu'il est
assez simpliste, et qu'il doit donc être
amélioré.
Ce que vous pouvez faire, c'est dire,
ok, j'ai dit continuez,
et il continue à l'écrire.
Il a créé ceci comme une sorte de perte,
mais il y a, oui, en gros, tout
ce dont nous avions besoin, il a tout
optimisé, et vous pouvez
voir cet optimiseur. s'arrêter à la fin.
Il utilise donc tout ce que nous
avons défini jusqu'à présent,
ainsi que la perte appropriée,
et oui, l'optimiseur, tout.
C'est donc tout.
En quelques étapes simples,
nous avons réussi à mettre en œuvre l'ensemble
du code pour l'un des modèles de pointe
qui s'est avéré être comme l'un
des meilleurs en 2017, 2018.
Aujourd'hui encore, il possède une
grande capacité à résoudre des environnements complexes
tels que "Breakout". Vous avez donc vu, maintenant que nous avons
ChatGPT par exemple, que vous
pouvez le guider pour mettre en œuvre certaines parties du code.
Et si vous ne savez pas ce que font
certaines parties
du code, vous pouvez lui demander,
par exemple, cool, pouvez-vous expliquer
la partie formation et où se
trouve la coutume d'Adam ?
Je l'incite donc à s'expliquer, ce qui est une autre façon
de l'inciter
à vous donner plus de raisons pour justifier
sa création.
Et vous pouvez voir qu'il
s'agit d'une explication étape par étape.
Donc oui, nous pouvons
attendre cela, vous pouvez faire les mêmes invites
et vous obtiendrez des résultats vraiment similaires
aux miens, mais en général maintenant
ce qu'il va faire, c'est prendre la fonction
de train qu'il a défini juste en haut
ici, et il va essentiellement passer
par chaque étape et l'implémenter.
Alors oui, c'est tout.
Je vous encourage vivement à essayer ce code
dans Google Colab, c'est
possible, mais
ce sera un peu trop délicat à faire fonctionner, à cause de la visualisation et des limitations
de l'environnement Google Colab.
Cependant, vous pouvez tout
à fait coller les erreurs ici, et vous pouvez, vous
pouvez obtenir des résultats
assez décents pour déboguer le processus.
Sur ce, je vous laisse, et vous savez maintenant
comment utiliser le ChatGPT pour obtenir
de la valeur pour A3C.
Et oui, j'espère que vous avez apprécié
le cours jusqu'à présent, au revoir.