Hallo allemaal, en welkom terug.
In de laatste lezing zijn we uiteindelijk begonnen met het bouwen van onze omgeving.
We hebben hier in wezen een raster van 11 bij 11 waar onze postbode doorheen moet om onze uitdaging op te lossen.
We willen nu gaan nadenken over zodra we het raster hebben.
We moeten ook acties hebben voor onze agent en ik ga deze heel snel verwijderen.
We hebben deze cellen niet nodig.
Ik wilde hem gewoon wat tussenruimte hebben.
Maakt het gewoon makkelijker om je te zien.
Geef me 1/2, laat me deze verwijderen en we kunnen deze hier achterlaten.
Dus.
Ik heb een tekst achtergelaten die we hebben en we willen onze acties instellen als rechtop, omlaag en links.
Met Python is het vrij eenvoudig.
We kunnen de lijst samenstellen en onze acties instellen.
Onze acties zullen gelijk zijn.
Twee zoals we rechtsboven, linksonder hebben.
Dus laten we het opzetten.
Rechts naar beneden en naar links.
We moeten onze eigenlijk, onze agent, neem me niet kwalijk, enige vaardigheid geven om met deze acties door het doolhof te
manoeuvreren.
Daarnaast moeten we ook beginnen met het instellen van beloningen.
Dit is waar het een beetje lastiger begint te worden, omdat we verschillende
toestanden van onze omgeving moeten instellen, verschillende toestanden in de zin van dat we deze -100 en
negatieve aan deze stappen of deze toestandswaarden willen kunnen toewijzen aan elk vierkant binnen het raster.
Dus we zien dat we een beloningswaarde willen hebben om onze agent te helpen elke staat of locatie in onze stad te leren kennen.
Zo gaat onze agent het leren.
Dus de agent kan beginnen bij elk wit vierkant, maar zijn doel is altijd hetzelfde.
Het wil zijn totale beloningen maximaliseren met in Q het leren van negatieve beloningen, we weten dat ze straffen
worden genoemd.
Deze worden gebruikt voor alle staten behalve het doel.
Zo gaan we dat optimale beleid tot stand brengen, dat het oog stimuleert om de kortste weg naar het
doel te vinden door de straffen te minimaliseren.
Oke.
Om de cumulatieve beloningen te maximaliseren, moet de agent ook het kortste pad vinden tussen het gebied voor het verpakken
van artikelen, ons Groene Plein, onthoud, en de andere locaties in de stad waar de postbode
over de witte vierkanten kan reizen.
Agenten gaan leren om te voorkomen dat ze tegen een van de stadsgrenzen botsen.
Dat zijn de zwarte vierkantjes, zoals we zien bij de -100.
We willen uit hun buurt blijven.
Ze hebben meer straf.
Dus om dit te doen, hebben we ons raster, de omgeving die we hierboven hebben gecreëerd met onze rijen.
Maar die waarden willen we er ook aan toekennen.
Laten we, om dat te doen, proberen na te denken over hoe we kunnen vaststellen dat we NumPy
kunnen gebruiken en we kunnen het ook instellen op -100 voor omgevingsrijen en omgevingskolommen.
We hebben dus onze omgevingsrijen en omgevingskolommen.
Dus laten we dit beloningen gelijk aan numpy full noemen en laten we doorgaan in onze omgevingsrijen, omgevingskolommen en om
onze waarden in te stellen, kunnen we beginnen met -100.
Daarnaast willen we ons beloningsvenster ook instellen op.
Gebruik de indexen van nul en vijf.
Gelijk aan 100.
En dit wordt in een oogwenk logisch.
Dus nemen we een kijkje op ons Groene Plein.
We hebben onze nul vijf.
We hebben ons Groene Plein ingesteld op 100 en nemen deze of deze locatie om de waarde in te stellen.
Nu ga ik het volgende codefragment plakken, zodat we het kunnen doornemen.
Je hoeft me dus niet elke stap te zien beoordelen omdat het een beetje repetitief is.
En nu hebben we onze witte ruimtes.
Laten we het weten voor onze beloningspunten.
En in dit codefragment gebruiken we een woordenboek en stellen we elk van onze waarden in ons woordenboek in.
Dus we hebben onze gangpaden.
We beschouwen dat als elke afzonderlijke rij, en we kunnen instellen met onze slicing, met onze index één tot
en met negen.
En we willen een iteratie gebruiken met onze for-lus om deze waarden in te stellen.
Daarbij zul je zien of we kijken naar één tot en met tien, één, zeven en negen.
En door dit te gebruiken, kunnen we de rij-index in ons bereik van één tot tien instellen, waar
we in onze omgeving doorheen werken.
We kunnen de kolomindex instellen.
In onze gangpaden van onze rijindex met ons woordenboek, onze beloningsrij-index en kolomindex, kunnen we deze op
negatief zetten.
Dus wat dit doet is in wezen, als we naar elk specifiek kijken, als we hier een bereik nemen, bijvoorbeeld, ik
zal negen voor ik in ons bereik, we hebben een negatieve set in de hele omgeving of elke toestand in onze
omgeving .
Voor acht hebben we drie en zeven.
Dus als we omhoog kunnen scrollen, kunnen we zien dat we in drie en zeven een negatieve waarde instellen, aangezien ze allemaal
-100 zouden zijn of ingesteld op een negatieve honderd.
En met deze iteratie kunnen we die beloningen instellen of elke status die we binnen onze gangpaden definiëren
op negatief zetten.
Het maakt het heel gemakkelijk.
In plaats van verdere logica of misschien meer gedetailleerde functies of instructies te moeten schrijven, kunnen we deze waarden
doorlopen en instellen.
Ik raad je ten zeerste aan even de tijd te nemen om het experiment te verkennen als je de omgeving later wilt
veranderen.
Nadat we deze oplossing hebben uitgevoerd, is dit een geweldige manier om dit beleid te leren kennen en te versterken.
Maar dit begint vorm te krijgen en het coole dat we kunnen doen, is dat we het echt kunnen visualiseren.
Dus laten we vier rijen in beloningen doen.
Druk de rij af en laten we dit afdrukken en we kunnen zien dat ik deze cellen misschien opnieuw moet uitvoeren.
Mijn verontschuldigingen.
Ik was niet verbonden met de notebook die hier werkte.
Geef het 1/2.
Het gaat een fout geven.
Ik moet teruggaan en de cellen opnieuw doorlopen.
Dus laat me dit heel snel herhalen.
Ik wil NumPy importeren.
Ik kan eigenlijk alleen maar hopen op mijn excuses.
Laat me dit jaar doornemen.
Ik kom naar beneden.
We willen onze omgeving besturen.
We willen onze acties uitvoeren.
De andere zijn alleen tekst, dus we hebben ze niet nodig.
Maar ik vind het leuk om dat erin te hebben, zodat jullie er een verwijzing naar kunnen hebben.
We willen punten belonen en dit willen we eindelijk visualiseren.
We kunnen de visualisatie zien, de feitelijke numerieke weergave in het klein van onze omgeving.
Echt gaaf.
Dus we hebben onze omgeving ingericht.
Geweldig werk.
Ik hoop dat jullie dit nuttig vinden.
Nu gaan we het hier afronden, want in de volgende lezing gaan we beginnen met het trainen van het model.
Dit was dus om de acties van onze agenten in te stellen, om onze omgeving in te stellen, om onze beloningen te bepalen.
Onze straf gaat die agent helpen om het optimale beleid binnen Q learning te bepalen.
Over het algemeen hebben we deze visuele weergave of deze afbeelding gebouwd, en we kunnen het hier zien als
we onze rij afdrukken.
Verbazingwekkend.
Oke.
Ik blijf niet doorzeuren.
Laten we het hier in de volgende lezing af houden.
Laten we beginnen met het trainen van het model.
Ik zie jullie in de volgende lezing.