WEBVTT

00:00.490 --> 00:01.720
Hallo allemaal, en welkom terug.

00:02.080 --> 00:05.290
In de laatste lezing zijn we uiteindelijk begonnen met het bouwen van onze omgeving.

00:05.300 --> 00:13.090
We hebben hier in wezen een raster van 11 bij 11 waar onze postbode doorheen moet om onze uitdaging op te lossen.

00:14.020 --> 00:18.430
We willen nu gaan nadenken over zodra we het raster hebben.

00:18.430 --> 00:23.860
We moeten ook acties hebben voor onze agent en ik ga deze heel snel verwijderen.

00:23.860 --> 00:24.940
We hebben deze cellen niet nodig.

00:24.940 --> 00:27.670
Ik wilde hem gewoon wat tussenruimte hebben.

00:27.790 --> 00:29.440
Maakt het gewoon makkelijker om je te zien.

00:29.440 --> 00:35.290
Geef me 1/2, laat me deze verwijderen en we kunnen deze hier achterlaten.

00:35.950 --> 00:36.280
Dus.

00:37.390 --> 00:43.060
Ik heb een tekst achtergelaten die we hebben en we willen onze acties instellen als rechtop, omlaag en links.

00:43.630 --> 00:45.550
Met Python is het vrij eenvoudig.

00:45.550 --> 00:48.010
We kunnen de lijst samenstellen en onze acties instellen.

00:48.280 --> 00:51.160
Onze acties zullen gelijk zijn.

00:52.200 --> 00:55.170
Twee zoals we rechtsboven, linksonder hebben.

00:55.380 --> 00:56.760
Dus laten we het opzetten.

00:57.630 --> 01:01.050
Rechts naar beneden en naar links.

01:01.380 --> 01:06.570
We moeten onze eigenlijk, onze agent, neem me niet kwalijk, enige vaardigheid geven om met deze acties door het doolhof te

01:06.570 --> 01:07.020
manoeuvreren.

01:08.300 --> 01:11.780
Daarnaast moeten we ook beginnen met het instellen van beloningen.

01:12.110 --> 01:17.990
Dit is waar het een beetje lastiger begint te worden, omdat we verschillende

01:17.990 --> 01:24.920
toestanden van onze omgeving moeten instellen, verschillende toestanden in de zin van dat we deze -100 en

01:24.920 --> 01:31.670
negatieve aan deze stappen of deze toestandswaarden willen kunnen toewijzen aan elk vierkant binnen het raster.

01:32.090 --> 01:39.260
Dus we zien dat we een beloningswaarde willen hebben om onze agent te helpen elke staat of locatie in onze stad te leren kennen.

01:39.260 --> 01:40.700
Zo gaat onze agent het leren.

01:41.030 --> 01:45.020
Dus de agent kan beginnen bij elk wit vierkant, maar zijn doel is altijd hetzelfde.

01:45.260 --> 01:50.900
Het wil zijn totale beloningen maximaliseren met in Q het leren van negatieve beloningen, we weten dat ze straffen

01:50.900 --> 01:51.770
worden genoemd.

01:52.040 --> 01:54.040
Deze worden gebruikt voor alle staten behalve het doel.

01:54.050 --> 01:59.840
Zo gaan we dat optimale beleid tot stand brengen, dat het oog stimuleert om de kortste weg naar het

01:59.840 --> 02:02.540
doel te vinden door de straffen te minimaliseren.

02:03.200 --> 02:03.560
Oke.

02:04.460 --> 02:09.830
Om de cumulatieve beloningen te maximaliseren, moet de agent ook het kortste pad vinden tussen het gebied voor het verpakken

02:09.830 --> 02:14.510
van artikelen, ons Groene Plein, onthoud, en de andere locaties in de stad waar de postbode

02:14.510 --> 02:16.310
over de witte vierkanten kan reizen.

02:16.730 --> 02:20.420
Agenten gaan leren om te voorkomen dat ze tegen een van de stadsgrenzen botsen.

02:20.420 --> 02:23.050
Dat zijn de zwarte vierkantjes, zoals we zien bij de -100.

02:23.120 --> 02:24.260
We willen uit hun buurt blijven.

02:24.470 --> 02:26.480
Ze hebben meer straf.

02:26.930 --> 02:32.450
Dus om dit te doen, hebben we ons raster, de omgeving die we hierboven hebben gecreëerd met onze rijen.

02:32.810 --> 02:35.990
Maar die waarden willen we er ook aan toekennen.

02:36.410 --> 02:42.020
Laten we, om dat te doen, proberen na te denken over hoe we kunnen vaststellen dat we NumPy

02:42.020 --> 02:46.880
kunnen gebruiken en we kunnen het ook instellen op -100 voor omgevingsrijen en omgevingskolommen.

02:47.120 --> 02:49.310
We hebben dus onze omgevingsrijen en omgevingskolommen.

02:49.580 --> 03:02.540
Dus laten we dit beloningen gelijk aan numpy full noemen en laten we doorgaan in onze omgevingsrijen, omgevingskolommen en om

03:03.290 --> 03:10.100
onze waarden in te stellen, kunnen we beginnen met -100.

03:11.920 --> 03:18.370
Daarnaast willen we ons beloningsvenster ook instellen op.

03:20.090 --> 03:23.510
Gebruik de indexen van nul en vijf.

03:24.260 --> 03:25.640
Gelijk aan 100.

03:26.650 --> 03:28.420
En dit wordt in een oogwenk logisch.

03:28.540 --> 03:30.130
Dus nemen we een kijkje op ons Groene Plein.

03:30.160 --> 03:31.280
We hebben onze nul vijf.

03:31.300 --> 03:37.060
We hebben ons Groene Plein ingesteld op 100 en nemen deze of deze locatie om de waarde in te stellen.

03:37.540 --> 03:41.650
Nu ga ik het volgende codefragment plakken, zodat we het kunnen doornemen.

03:41.680 --> 03:44.700
Je hoeft me dus niet elke stap te zien beoordelen omdat het een beetje repetitief is.

03:44.710 --> 03:47.440
En nu hebben we onze witte ruimtes.

03:47.650 --> 03:51.580
Laten we het weten voor onze beloningspunten.

03:52.120 --> 03:57.420
En in dit codefragment gebruiken we een woordenboek en stellen we elk van onze waarden in ons woordenboek in.

03:57.430 --> 03:58.450
Dus we hebben onze gangpaden.

03:58.450 --> 04:05.230
We beschouwen dat als elke afzonderlijke rij, en we kunnen instellen met onze slicing, met onze index één tot

04:05.230 --> 04:06.340
en met negen.

04:06.610 --> 04:11.230
En we willen een iteratie gebruiken met onze for-lus om deze waarden in te stellen.

04:11.860 --> 04:16.000
Daarbij zul je zien of we kijken naar één tot en met tien, één, zeven en negen.

04:16.180 --> 04:21.280
En door dit te gebruiken, kunnen we de rij-index in ons bereik van één tot tien instellen, waar

04:21.280 --> 04:23.050
we in onze omgeving doorheen werken.

04:23.530 --> 04:25.300
We kunnen de kolomindex instellen.

04:26.530 --> 04:33.280
In onze gangpaden van onze rijindex met ons woordenboek, onze beloningsrij-index en kolomindex, kunnen we deze op

04:33.280 --> 04:34.450
negatief zetten.

04:34.870 --> 04:41.590
Dus wat dit doet is in wezen, als we naar elk specifiek kijken, als we hier een bereik nemen, bijvoorbeeld, ik

04:41.590 --> 04:48.100
zal negen voor ik in ons bereik, we hebben een negatieve set in de hele omgeving of elke toestand in onze

04:48.100 --> 04:49.030
omgeving .

04:49.570 --> 04:52.410
Voor acht hebben we drie en zeven.

04:52.420 --> 04:57.670
Dus als we omhoog kunnen scrollen, kunnen we zien dat we in drie en zeven een negatieve waarde instellen, aangezien ze allemaal

04:57.670 --> 05:00.130
-100 zouden zijn of ingesteld op een negatieve honderd.

05:00.370 --> 05:07.180
En met deze iteratie kunnen we die beloningen instellen of elke status die we binnen onze gangpaden definiëren

05:07.180 --> 05:08.590
op negatief zetten.

05:08.860 --> 05:10.390
Het maakt het heel gemakkelijk.

05:10.390 --> 05:17.200
In plaats van verdere logica of misschien meer gedetailleerde functies of instructies te moeten schrijven, kunnen we deze waarden

05:17.200 --> 05:18.640
doorlopen en instellen.

05:18.940 --> 05:23.890
Ik raad je ten zeerste aan even de tijd te nemen om het experiment te verkennen als je de omgeving later wilt

05:23.920 --> 05:24.280
veranderen.

05:24.280 --> 05:29.410
Nadat we deze oplossing hebben uitgevoerd, is dit een geweldige manier om dit beleid te leren kennen en te versterken.

05:29.410 --> 05:34.990
Maar dit begint vorm te krijgen en het coole dat we kunnen doen, is dat we het echt kunnen visualiseren.

05:34.990 --> 05:38.380
Dus laten we vier rijen in beloningen doen.

05:40.050 --> 05:46.620
Druk de rij af en laten we dit afdrukken en we kunnen zien dat ik deze cellen misschien opnieuw moet uitvoeren.

05:46.620 --> 05:47.400
Mijn verontschuldigingen.

05:47.640 --> 05:50.010
Ik was niet verbonden met de notebook die hier werkte.

05:50.280 --> 05:51.210
Geef het 1/2.

05:51.210 --> 05:52.260
Het gaat een fout geven.

05:52.620 --> 05:55.240
Ik moet teruggaan en de cellen opnieuw doorlopen.

05:55.240 --> 05:56.940
Dus laat me dit heel snel herhalen.

05:57.210 --> 05:58.560
Ik wil NumPy importeren.

05:58.770 --> 06:01.470
Ik kan eigenlijk alleen maar hopen op mijn excuses.

06:02.130 --> 06:03.360
Laat me dit jaar doornemen.

06:03.690 --> 06:04.830
Ik kom naar beneden.

06:04.830 --> 06:06.780
We willen onze omgeving besturen.

06:07.170 --> 06:08.550
We willen onze acties uitvoeren.

06:08.550 --> 06:10.680
De andere zijn alleen tekst, dus we hebben ze niet nodig.

06:10.680 --> 06:14.430
Maar ik vind het leuk om dat erin te hebben, zodat jullie er een verwijzing naar kunnen hebben.

06:14.730 --> 06:18.450
We willen punten belonen en dit willen we eindelijk visualiseren.

06:18.870 --> 06:25.770
We kunnen de visualisatie zien, de feitelijke numerieke weergave in het klein van onze omgeving.

06:25.920 --> 06:26.760
Echt gaaf.

06:27.030 --> 06:28.860
Dus we hebben onze omgeving ingericht.

06:29.130 --> 06:30.140
Geweldig werk.

06:30.150 --> 06:31.620
Ik hoop dat jullie dit nuttig vinden.

06:31.740 --> 06:36.540
Nu gaan we het hier afronden, want in de volgende lezing gaan we beginnen met het trainen van het model.

06:36.810 --> 06:41.910
Dit was dus om de acties van onze agenten in te stellen, om onze omgeving in te stellen, om onze beloningen te bepalen.

06:41.910 --> 06:46.440
Onze straf gaat die agent helpen om het optimale beleid binnen Q learning te bepalen.

06:46.680 --> 06:53.310
Over het algemeen hebben we deze visuele weergave of deze afbeelding gebouwd, en we kunnen het hier zien als

06:53.310 --> 06:54.750
we onze rij afdrukken.

06:55.970 --> 06:56.510
Verbazingwekkend.

06:56.900 --> 06:57.290
Oke.

06:57.740 --> 06:58.970
Ik blijf niet doorzeuren.

06:58.970 --> 07:00.630
Laten we het hier in de volgende lezing af houden.

07:00.650 --> 07:02.090
Laten we beginnen met het trainen van het model.

07:02.570 --> 07:03.860
Ik zie jullie in de volgende lezing.
