Instructeur: Hallo iedereen en welkom terug.
In deze video bespreken we
hoe we ChatGPT kunnen gebruiken
om "Breakout" op te lossen.
Dus ik heb het al gevraagd met een heleboel gekke prompts, we
kregen geweldige resultaten, we zullen ze zo zien.
Dus in deze video loop ik eigenlijk
door mijn denkproces
over hoe ik de resultaten heb gekregen,
en hoe je ChatGPT kunt gebruiken om ook
een A3C-algoritme te maken.
Oké, dus ik begon op dezelfde manier als bij "DOOM," ik zei, oké,
je bent eigenlijk een machine
learning expert met jarenlange
ervaring in robotica.
Ik huur je in om A3C algoritme te doen voor "Breakout. Het doel is een volledig functioneel SOTA,
A3C algoritme dat
het "Breakout" spel kan spelen.
Ik heb klassen, de test code omgeving,
en aangepaste versies van Adam
optimizer geïmplementeerd die gebruikt
wordt voor als een gedeelde-gewichten optimizer
voor het A3C model.
Dus dit is het geven van meer
context, wat ik deed, ik geef je deze drie dingen.
Dus zoals ik al zei voor het genereren van de rest van de code, is het
uw doel om de volledige oplossing
te implementeren met Python,
Torch, zoals we hadden,
en de code te optimaliseren voor
uitvoering in Google Colab,
zoals we eerder hadden.
Geef bovendien commentaar op elke
regel van de code, zodat de leerlingen kunnen
begrijpen wat je in de code hebt gedaan.
Stel zo nodig verduidelijkende vragen, begrepen.
Dus we hebben wat overlapping met wat we deden voor
conversational Deep Q voor
"DOOM," maar ik heb veel context toegevoegd dat ik al dingen geïmplementeerd heb, en
ik wil dat ze gebruikt worden.
Dus daar begin ik aan en het is bevestigd.
Ja, ik begrijp het en ik zal vragen
stellen. Geef de rest van de code.
Toen zei ik, dit is Adam optimizer, ik plakte
de code voor Adam optimizer, voor
de middelen die we hebben, en ik gaf deze instructie,
ik zei, wacht op de rest van
de code voor ik implementeer,
ik plakte gewoon, voor ik goede resultaten kreeg,
en het sprong onmiddellijk naar de implementatie van A3C, zonder
te wachten op de rest.
Dus ik voegde dit toe
als een soort systemische
code, systemische prompt, en het zei, oké, geef de omgeving
en test de code.
Dus het verwijst eigenlijk naar
wat we in de eerste prompt gaven.
Ik zei, cool, hier is de implementatie
van Gym environment.
Ik heb die hoofdcode geplakt,
ik heb hier context toegevoegd, als je kijkt,
en dit is het hoofdbestand
waarin alles draait.
En toen zei ik, oké, cool, wacht
op de testcode.
En hij zei, ja, ik, echter,
ik moet de testcode
nog zien voordat ik A3C implementeer, ik zei, cool, hier
is een testcode.
En je ziet dat als je een groter,
groter project hebt, je dat
kunt gebruiken om dat stukje
code te gebruiken of
als referentie, in de stijl zodat je daadwerkelijk
iets kunt genereren in jouw stijl van
code.
Cool, en toen ik dat deed,
zei het, geweldig, ga ervoor.
En het zei eigenlijk dat ik deze hoofdcode
ga gebruiken, en testen, en dit implementeren.
En toen stond er, gecreëerd model. py, wat we eigenlijk ook in de cursus
hebben gedaan.
En hij zei, hier is het ActorCritic model,
en ik vergelijk met het onze.
Dit is de nieuwere versie van python, dus veel
van de initialisatie van gewichten
en dat soort dingen kunnen op een elegantere manier worden gedaan.
Dus het deed het en het gebruikt eigenlijk
vrij goed, dan gegenereerd trein code, en in principe
ActorCritic.
En als je kijkt, is het nogal simplistisch,
dus het moet zeker verbeterd
worden.
Dus wat je kunt doen, je kunt zeggen,
oké, ik zei ga door,
en het gaat door met opschrijven.
Het creëerde dit als een soort verlies,
maar er is, ja, eigenlijk alles
wat we nodig hadden, het optimaliseerde alles, en je kunt die
optimizer zien. stop aan het einde.
Dus het gebruikte eigenlijk
alles wat we tot nu toe gedefinieerd
hebben, evenals het
juiste verlies, en ja, optimizer, alles.
Dus dat is het.
In een paar eenvoudige stappen
zijn we erin geslaagd om de hele code te implementeren
voor een van de state-of-the-art modellen
die toevallig als een van de beste
in 2017, 2018.
Tot op de dag van vandaag heeft
het veel capaciteit om complexe omgevingen
zoals "Breakout. Dus je zag, nu we bijvoorbeeld ChatGPT hebben,
dat je het kunt leiden om bepaalde
bepaalde delen van de code te implementeren.
En als je niet weet wat bepaalde
delen van de code eigenlijk
doen, kun je het gaan vragen,
bijvoorbeeld, cool, kun je het trainingsgedeelte uitleggen
en waar is de gewoonte van Adam?
Dus ik spoor het aan om zichzelf te verklaren, dus dat is een
andere manier
om het aan te sporen om je meer redenen te geven achter
zijn opwekking.
En je kunt zien dat het
stap voor stap wordt uitgelegd.
Dus ja, we kunnen
hier op wachten, je kunt dezelfde aanwijzingen
doen en je krijgt echt soortgelijke resultaten
als ik, maar wat het nu in het
algemeen gaat doen is de treinfunctie nemen
die het hier bovenaan gedefinieerd
heeft, en het zal in principe elke
stap doorlopen en het implementeren.
Dus ja, dat zou het zijn.
Ik moedig u zeker aan om deze code uit te proberen
in Google Colab, Het
kan, het zal een
beetje lastig zijn om het te laten werken, vanwege de visualisatie en de beperkingen
van de Goggle Colab omgeving.
Maar je kunt zeker de fouten
hier gaan plakken, en je kunt, je kunt daar
behoorlijk wat resultaten
voor krijgen om het proces te debuggen.
En ja, daarmee laat ik je zijn, en nu
heb je de manier om ChatGPT te gebruiken
om waarde te krijgen voor A3C.
En ja, ik hoop dat je de cursus
tot nu toe leuk vond, doei.