Hallo zusammen und willkommen zurück.
In der letzten Vorlesung haben wir angefangen, unsere Umgebung zu bauen.
Wir haben hier im Wesentlichen ein 11-mal-11-Raster, das unser Postbote durchlaufen soll, um unsere Herausforderung zu lösen.
Wir wollen jetzt darüber nachdenken, wann wir das Gitter haben.
Wir brauchen auch Aktionen für unseren Agenten und ich werde diese sehr schnell löschen.
Wir brauchen diese Zellen nicht.
Ich wollte es nur für etwas Abstand haben.
Macht es einfach einfacher, Sie zu sehen.
Geben Sie mir 1/2, lassen Sie mich diese löschen und wir können diese hier lassen.
So.
Ich habe einen Text hinterlassen, den wir haben und wir wollen unsere Aktionen wie in aufrecht, unten und links festlegen.
Mit Python ist es ziemlich einfach.
Wir können die Liste erstellen und unsere Aktionen festlegen.
Unsere Handlungen werden gleich sein.
Zwei wie oben rechts, unten links.
Also richten wir es ein.
Rechts runter und links.
Wir müssen unserem Agenten, Entschuldigung, eigentlich die Fähigkeit geben, mit diesen Aktionen durch das Labyrinth zu
manövrieren.
Darüber hinaus müssen wir auch damit beginnen, Belohnungen festzulegen.
Hier wird es jetzt etwas kniffliger, weil wir verschiedene Zustände unserer Umgebung
einstellen müssen, verschiedene Zustände in dem Sinne, dass wir diesen -100 diese -100 zuweisen können
wollen und einem negativen diese Schritte oder diese Zustandswerte zu jedem Quadrat innerhalb des Rasters.
Wir sehen also, dass wir einen Belohnungswert haben wollen, um unserem Agenten zu helfen, jeden Staat oder Ort in unserer Stadt zu lernen.
So wird unser Agent es lernen.
Der Agent kann also an jedem weißen Feld beginnen, aber sein Ziel ist immer das gleiche.
Es möchte seine Gesamtbelohnungen maximieren, indem es negative Belohnungen in Q lernt, wir wissen, dass sie als Bestrafungen
bezeichnet werden.
Diese werden für alle Zustände außer dem Ziel verwendet.
Auf diese Weise werden wir diese optimale Richtlinie etablieren, die das Auge ermutigt, den kürzesten Weg zum Ziel
zu finden, indem es seine Strafen minimiert.
Gut.
Um die kumulierten Belohnungen zu maximieren, muss der Agent außerdem den kürzesten Weg zwischen dem Verpackungsbereich der Artikel,
unserem Grünen Quadrat, und den anderen Orten in der Stadt finden, an denen der Postbote
die weißen Quadrate passieren kann.
Die Agenten werden lernen, wie man es vermeidet, gegen eine der Stadtgrenzen zu stoßen.
Das sind die schwarzen Quadrate, wie wir bei der -100 sehen.
Wir wollen uns von ihnen fernhalten.
Sie haben eher eine Strafe.
Um dies zu tun, haben wir also unser Raster, die Umgebung, die wir oben mit unseren Zeilen erstellt haben.
Diese Werte wollen wir ihm aber auch zuordnen.
Um das zu tun, versuchen wir darüber nachzudenken, wie wir feststellen können, dass wir NumPy verwenden können, und
wir können auch damit beginnen, es für Umgebungszeilen und Umgebungsspalten auf -100 zu setzen.
Wir haben also unsere Umgebungszeilen und Umgebungsspalten.
Nennen wir diese Belohnungen also gleich numpy full und übergeben wir unsere Umgebungszeilen, Umgebungsspalten und um
unsere Werte festzulegen, können wir mit -100 beginnen.
Darüber hinaus möchten wir auch unser Belohnungsfenster auf einstellen.
Verwenden Sie die Indizes null und fünf.
Gleich 100.
Und das wird in einer Sekunde Sinn machen.
Also werfen wir einen Blick auf unser Grünes Quadrat.
Wir haben unsere null fünf.
Wir haben unser Green Square auf 100 gesetzt und nehmen diese oder diese Stelle, um den Wert festzulegen.
Jetzt füge ich das nächste Code-Snippet ein, damit wir es durchgehen können.
Sie müssen also nicht zusehen, wie ich jeden Schritt bewerte, weil es sich ein wenig wiederholt.
Und jetzt haben wir unsere Weißräume.
Lassen Sie es uns wissen, um unsere Prämienpunkte zu erhalten.
Und in diesem Codeausschnitt verwenden wir ein Wörterbuch und legen jeden unserer Werte in unserem Wörterbuch fest.
Also haben wir unsere Gänge.
Wir betrachten das als jede einzelne Zeile, und wir können mit unserem Slicing mit unserem Index eins bis
neun festlegen.
Und wir wollen eine Iteration mit unserer for-Schleife verwenden, um diese Werte festzulegen.
Dabei werden Sie sehen, ob wir eins bis zehn, eins, sieben und neun betrachten.
Und indem wir dies verwenden, können wir den Zeilenindex tatsächlich in unserem Bereich von eins bis zehn setzen,
den wir in unserer Umgebung abarbeiten.
Wir können den Spaltenindex setzen.
In unseren Gängen unseres Zeilenindex mit unserem Wörterbuch, unserem Belohnungszeilenindex und Spaltenindex können wir ihn auf negativ
eins setzen.
Also, was das macht, ist im Wesentlichen, wenn wir uns jeden einzelnen ansehen, wenn wir hier einen Bereich nehmen, zum Beispiel, ich
werde neun für ich in unserem Bereich, wir haben eine negative Eins in der gesamten Umgebung oder in jedem Zustand innerhalb
unserer Umgebung .
Für acht haben wir drei und sieben.
Wenn wir also nach oben scrollen können, können wir sehen, dass wir in drei und sieben eine negative Eins setzen, da
sie alle -100 oder auf minus Hundert gesetzt wären.
Und mit dieser Iteration können wir diese Belohnungen festlegen oder jeden Status, den wir in unseren Gängen definieren,
auf negativ setzen.
Es macht es sehr einfach.
Anstatt weitere Logik oder vielleicht detailliertere Funktionen oder Anweisungen schreiben zu müssen, können wir diese Werte
iterieren und festlegen.
Ich empfehle dringend, dass Sie sich eine Minute Zeit nehmen, um das Experiment zu erkunden, wenn Sie die Umgebung später ändern
möchten.
Nachdem wir diese Lösung ausgeführt haben, ist sie eine großartige Möglichkeit, diese Richtlinien zu lernen und zu verstärken.
Aber das nimmt Gestalt an und eine coole Sache, die wir tun können, ist, dass wir es tatsächlich visualisieren können.
Also lasst uns vier Reihen in Belohnungen machen.
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.
Entschuldigen Sie.
Ich war nicht mit dem Notebook verbunden, das hier durcharbeitete.
Gib ihm 1/2.
Es wird einen Fehler werfen.
Ich muss zurückgehen und die Zellen erneut ausführen.
Lassen Sie mich das also schnell noch einmal wiederholen.
Ich möchte NumPy importieren.
Ich kann eigentlich nur auf meine Entschuldigung hoffen.
Lassen Sie mich dieses Jahr durchgehen.
Ich werde herunterkommen.
Wir wollen unsere Umwelt regieren.
Wir wollen unsere Aktionen ausführen.
Die anderen sind nur Text, also brauchen wir sie nicht.
Aber ich möchte das gerne haben, damit ihr einen Bezug darauf haben könnt.
Wir wollen Punkte belohnen und das endlich visualisieren.
Wir können die Visualisierung sehen, die tatsächliche numerische Darstellung unserer Umgebung.
Wirklich cool.
Also haben wir unsere Umgebung eingerichtet.
Erstaunliche Arbeit.
Ich hoffe, ihr findet das nützlich.
Jetzt machen wir hier den Abschluss, denn in der nächsten Vorlesung beginnen wir mit dem Training des Modells.
Das war also, die Aktionen unserer Agenten festzulegen, unsere Umgebung festzulegen, unsere Belohnungen festzulegen.
Unsere Bestrafung wird diesem Agenten helfen, die optimale Richtlinie innerhalb des Q-Lernens festzulegen.
Insgesamt haben wir diese visuelle Darstellung oder dieses Bild aufgebaut, und wir können es hier sehen, wenn wir
unsere Zeile ausdrucken.
Tolle.
Gut.
Ich werde nicht weiter schwadronieren.
Lassen wir es in der nächsten Vorlesung hier bleiben.
Beginnen wir mit dem Training des Modells.
Wir sehen uns in der nächsten Vorlesung.