WEBVTT

00:00.490 --> 00:01.720
Hallo zusammen und willkommen zurück.

00:02.080 --> 00:05.290
In der letzten Vorlesung haben wir angefangen, unsere Umgebung zu bauen.

00:05.300 --> 00:13.090
Wir haben hier im Wesentlichen ein 11-mal-11-Raster, das unser Postbote durchlaufen soll, um unsere Herausforderung zu lösen.

00:14.020 --> 00:18.430
Wir wollen jetzt darüber nachdenken, wann wir das Gitter haben.

00:18.430 --> 00:23.860
Wir brauchen auch Aktionen für unseren Agenten und ich werde diese sehr schnell löschen.

00:23.860 --> 00:24.940
Wir brauchen diese Zellen nicht.

00:24.940 --> 00:27.670
Ich wollte es nur für etwas Abstand haben.

00:27.790 --> 00:29.440
Macht es einfach einfacher, Sie zu sehen.

00:29.440 --> 00:35.290
Geben Sie mir 1/2, lassen Sie mich diese löschen und wir können diese hier lassen.

00:35.950 --> 00:36.280
So.

00:37.390 --> 00:43.060
Ich habe einen Text hinterlassen, den wir haben und wir wollen unsere Aktionen wie in aufrecht, unten und links festlegen.

00:43.630 --> 00:45.550
Mit Python ist es ziemlich einfach.

00:45.550 --> 00:48.010
Wir können die Liste erstellen und unsere Aktionen festlegen.

00:48.280 --> 00:51.160
Unsere Handlungen werden gleich sein.

00:52.200 --> 00:55.170
Zwei wie oben rechts, unten links.

00:55.380 --> 00:56.760
Also richten wir es ein.

00:57.630 --> 01:01.050
Rechts runter und links.

01:01.380 --> 01:06.570
Wir müssen unserem Agenten, Entschuldigung, eigentlich die Fähigkeit geben, mit diesen Aktionen durch das Labyrinth zu

01:06.570 --> 01:07.020
manövrieren.

01:08.300 --> 01:11.780
Darüber hinaus müssen wir auch damit beginnen, Belohnungen festzulegen.

01:12.110 --> 01:17.990
Hier wird es jetzt etwas kniffliger, weil wir verschiedene Zustände unserer Umgebung

01:17.990 --> 01:24.920
einstellen müssen, verschiedene Zustände in dem Sinne, dass wir diesen -100 diese -100 zuweisen können

01:24.920 --> 01:31.670
wollen und einem negativen diese Schritte oder diese Zustandswerte zu jedem Quadrat innerhalb des Rasters.

01:32.090 --> 01:39.260
Wir sehen also, dass wir einen Belohnungswert haben wollen, um unserem Agenten zu helfen, jeden Staat oder Ort in unserer Stadt zu lernen.

01:39.260 --> 01:40.700
So wird unser Agent es lernen.

01:41.030 --> 01:45.020
Der Agent kann also an jedem weißen Feld beginnen, aber sein Ziel ist immer das gleiche.

01:45.260 --> 01:50.900
Es möchte seine Gesamtbelohnungen maximieren, indem es negative Belohnungen in Q lernt, wir wissen, dass sie als Bestrafungen

01:50.900 --> 01:51.770
bezeichnet werden.

01:52.040 --> 01:54.040
Diese werden für alle Zustände außer dem Ziel verwendet.

01:54.050 --> 01:59.840
Auf diese Weise werden wir diese optimale Richtlinie etablieren, die das Auge ermutigt, den kürzesten Weg zum Ziel

01:59.840 --> 02:02.540
zu finden, indem es seine Strafen minimiert.

02:03.200 --> 02:03.560
Gut.

02:04.460 --> 02:09.830
Um die kumulierten Belohnungen zu maximieren, muss der Agent außerdem den kürzesten Weg zwischen dem Verpackungsbereich der Artikel,

02:09.830 --> 02:14.510
unserem Grünen Quadrat, und den anderen Orten in der Stadt finden, an denen der Postbote

02:14.510 --> 02:16.310
die weißen Quadrate passieren kann.

02:16.730 --> 02:20.420
Die Agenten werden lernen, wie man es vermeidet, gegen eine der Stadtgrenzen zu stoßen.

02:20.420 --> 02:23.050
Das sind die schwarzen Quadrate, wie wir bei der -100 sehen.

02:23.120 --> 02:24.260
Wir wollen uns von ihnen fernhalten.

02:24.470 --> 02:26.480
Sie haben eher eine Strafe.

02:26.930 --> 02:32.450
Um dies zu tun, haben wir also unser Raster, die Umgebung, die wir oben mit unseren Zeilen erstellt haben.

02:32.810 --> 02:35.990
Diese Werte wollen wir ihm aber auch zuordnen.

02:36.410 --> 02:42.020
Um das zu tun, versuchen wir darüber nachzudenken, wie wir feststellen können, dass wir NumPy verwenden können, und

02:42.020 --> 02:46.880
wir können auch damit beginnen, es für Umgebungszeilen und Umgebungsspalten auf -100 zu setzen.

02:47.120 --> 02:49.310
Wir haben also unsere Umgebungszeilen und Umgebungsspalten.

02:49.580 --> 03:02.540
Nennen wir diese Belohnungen also gleich numpy full und übergeben wir unsere Umgebungszeilen, Umgebungsspalten und um

03:03.290 --> 03:10.100
unsere Werte festzulegen, können wir mit -100 beginnen.

03:11.920 --> 03:18.370
Darüber hinaus möchten wir auch unser Belohnungsfenster auf einstellen.

03:20.090 --> 03:23.510
Verwenden Sie die Indizes null und fünf.

03:24.260 --> 03:25.640
Gleich 100.

03:26.650 --> 03:28.420
Und das wird in einer Sekunde Sinn machen.

03:28.540 --> 03:30.130
Also werfen wir einen Blick auf unser Grünes Quadrat.

03:30.160 --> 03:31.280
Wir haben unsere null fünf.

03:31.300 --> 03:37.060
Wir haben unser Green Square auf 100 gesetzt und nehmen diese oder diese Stelle, um den Wert festzulegen.

03:37.540 --> 03:41.650
Jetzt füge ich das nächste Code-Snippet ein, damit wir es durchgehen können.

03:41.680 --> 03:44.700
Sie müssen also nicht zusehen, wie ich jeden Schritt bewerte, weil es sich ein wenig wiederholt.

03:44.710 --> 03:47.440
Und jetzt haben wir unsere Weißräume.

03:47.650 --> 03:51.580
Lassen Sie es uns wissen, um unsere Prämienpunkte zu erhalten.

03:52.120 --> 03:57.420
Und in diesem Codeausschnitt verwenden wir ein Wörterbuch und legen jeden unserer Werte in unserem Wörterbuch fest.

03:57.430 --> 03:58.450
Also haben wir unsere Gänge.

03:58.450 --> 04:05.230
Wir betrachten das als jede einzelne Zeile, und wir können mit unserem Slicing mit unserem Index eins bis

04:05.230 --> 04:06.340
neun festlegen.

04:06.610 --> 04:11.230
Und wir wollen eine Iteration mit unserer for-Schleife verwenden, um diese Werte festzulegen.

04:11.860 --> 04:16.000
Dabei werden Sie sehen, ob wir eins bis zehn, eins, sieben und neun betrachten.

04:16.180 --> 04:21.280
Und indem wir dies verwenden, können wir den Zeilenindex tatsächlich in unserem Bereich von eins bis zehn setzen,

04:21.280 --> 04:23.050
den wir in unserer Umgebung abarbeiten.

04:23.530 --> 04:25.300
Wir können den Spaltenindex setzen.

04:26.530 --> 04:33.280
In unseren Gängen unseres Zeilenindex mit unserem Wörterbuch, unserem Belohnungszeilenindex und Spaltenindex können wir ihn auf negativ

04:33.280 --> 04:34.450
eins setzen.

04:34.870 --> 04:41.590
Also, was das macht, ist im Wesentlichen, wenn wir uns jeden einzelnen ansehen, wenn wir hier einen Bereich nehmen, zum Beispiel, ich

04:41.590 --> 04:48.100
werde neun für ich in unserem Bereich, wir haben eine negative Eins in der gesamten Umgebung oder in jedem Zustand innerhalb

04:48.100 --> 04:49.030
unserer Umgebung .

04:49.570 --> 04:52.410
Für acht haben wir drei und sieben.

04:52.420 --> 04:57.670
Wenn wir also nach oben scrollen können, können wir sehen, dass wir in drei und sieben eine negative Eins setzen, da

04:57.670 --> 05:00.130
sie alle -100 oder auf minus Hundert gesetzt wären.

05:00.370 --> 05:07.180
Und mit dieser Iteration können wir diese Belohnungen festlegen oder jeden Status, den wir in unseren Gängen definieren,

05:07.180 --> 05:08.590
auf negativ setzen.

05:08.860 --> 05:10.390
Es macht es sehr einfach.

05:10.390 --> 05:17.200
Anstatt weitere Logik oder vielleicht detailliertere Funktionen oder Anweisungen schreiben zu müssen, können wir diese Werte

05:17.200 --> 05:18.640
iterieren und festlegen.

05:18.940 --> 05:23.890
Ich empfehle dringend, dass Sie sich eine Minute Zeit nehmen, um das Experiment zu erkunden, wenn Sie die Umgebung später ändern

05:23.920 --> 05:24.280
möchten.

05:24.280 --> 05:29.410
Nachdem wir diese Lösung ausgeführt haben, ist sie eine großartige Möglichkeit, diese Richtlinien zu lernen und zu verstärken.

05:29.410 --> 05:34.990
Aber das nimmt Gestalt an und eine coole Sache, die wir tun können, ist, dass wir es tatsächlich visualisieren können.

05:34.990 --> 05:38.380
Also lasst uns vier Reihen in Belohnungen machen.

05:40.050 --> 05:46.620
Drucken Sie die Zeile und lassen Sie uns dies drucken, und wir können sehen, dass ich diese Zellen möglicherweise tatsächlich erneut ausführen muss.

05:46.620 --> 05:47.400
Entschuldigen Sie.

05:47.640 --> 05:50.010
Ich war nicht mit dem Notebook verbunden, das hier durcharbeitete.

05:50.280 --> 05:51.210
Gib ihm 1/2.

05:51.210 --> 05:52.260
Es wird einen Fehler werfen.

05:52.620 --> 05:55.240
Ich muss zurückgehen und die Zellen erneut ausführen.

05:55.240 --> 05:56.940
Lassen Sie mich das also schnell noch einmal wiederholen.

05:57.210 --> 05:58.560
Ich möchte NumPy importieren.

05:58.770 --> 06:01.470
Ich kann eigentlich nur auf meine Entschuldigung hoffen.

06:02.130 --> 06:03.360
Lassen Sie mich dieses Jahr durchgehen.

06:03.690 --> 06:04.830
Ich werde herunterkommen.

06:04.830 --> 06:06.780
Wir wollen unsere Umwelt regieren.

06:07.170 --> 06:08.550
Wir wollen unsere Aktionen ausführen.

06:08.550 --> 06:10.680
Die anderen sind nur Text, also brauchen wir sie nicht.

06:10.680 --> 06:14.430
Aber ich möchte das gerne haben, damit ihr einen Bezug darauf haben könnt.

06:14.730 --> 06:18.450
Wir wollen Punkte belohnen und das endlich visualisieren.

06:18.870 --> 06:25.770
Wir können die Visualisierung sehen, die tatsächliche numerische Darstellung unserer Umgebung.

06:25.920 --> 06:26.760
Wirklich cool.

06:27.030 --> 06:28.860
Also haben wir unsere Umgebung eingerichtet.

06:29.130 --> 06:30.140
Erstaunliche Arbeit.

06:30.150 --> 06:31.620
Ich hoffe, ihr findet das nützlich.

06:31.740 --> 06:36.540
Jetzt machen wir hier den Abschluss, denn in der nächsten Vorlesung beginnen wir mit dem Training des Modells.

06:36.810 --> 06:41.910
Das war also, die Aktionen unserer Agenten festzulegen, unsere Umgebung festzulegen, unsere Belohnungen festzulegen.

06:41.910 --> 06:46.440
Unsere Bestrafung wird diesem Agenten helfen, die optimale Richtlinie innerhalb des Q-Lernens festzulegen.

06:46.680 --> 06:53.310
Insgesamt haben wir diese visuelle Darstellung oder dieses Bild aufgebaut, und wir können es hier sehen, wenn wir

06:53.310 --> 06:54.750
unsere Zeile ausdrucken.

06:55.970 --> 06:56.510
Tolle.

06:56.900 --> 06:57.290
Gut.

06:57.740 --> 06:58.970
Ich werde nicht weiter schwadronieren.

06:58.970 --> 07:00.630
Lassen wir es in der nächsten Vorlesung hier bleiben.

07:00.650 --> 07:02.090
Beginnen wir mit dem Training des Modells.

07:02.570 --> 07:03.860
Wir sehen uns in der nächsten Vorlesung.
