Hallo und willkommen zu diesem Python-Tutorial.
In Ordnung, also werden wir heute die Update-Funktion erstellen, die alles aktualisiert, sobald
das Auge einen neuen Zustand erreicht hat.
Wenn also eine neue Stufe erreicht wird, müssen Sie die Aktion aktualisieren.
Das letzte ist eigentlich die neue Aktion, die gerade gespielt wurde.
Aber auch das letzte Datum, das zum neuen Staat wird.
Und schließlich das letzte Wort, das zu dem neuen Wort wird, das wir bekommen, wenn wir die Aktion spielen.
Das ist also der logische Pfad, der direkt nach der Auswahl einer Aktion geschieht.
Wir müssen alle Elemente der Übergänge aktualisieren.
Und natürlich bekommen Sie einen neuen Übergang.
Also müssen wir diesen neuen Übergang an die Erinnerung anhängen.
Und schließlich werden wir auch ein Fenster aktualisieren oder belohnen, das Sie kennen, um ein Auge auf
die Entwicklung des Trainings und der Exploration zu haben.
Das Wichtigste für Sie ist jedoch, dass Sie nun endlich eine Verbindung zwischen der KI herstellen
können, die wir jetzt auf unserer Karte implementieren. Wenn wir zu unserer Karte zurückkehren, denken Sie daran,
dass diese Beiji-Aktualisierungsfunktion in der Spielklasse enthalten ist Dort haben wir eigentlich das Spiel mit dem Auto gemacht und festgelegt,
wie das Auto bestraft werden sollte, wenn es einen Fehler macht.
Aber in dieser Spieleklasse haben wir diese Aktualisierungsfunktion bemerkt, und in dieser Aktualisierungsfunktion haben
wir diese Zeilenaktion bemerkt, weil das Gehirn-Update zuletzt weniger Signal ausgegeben hat.
Und genau das machen wir gerade.
Wir sind dabei, diese Update-Funktion zu erstellen, die das letzte Wort und das letzte Signal benötigt, um die
nächste Aktion abzuspielen.
Es werden also nicht nur alle verschiedenen Elemente des Übergangs aktualisiert.
Meistens werden wir jedoch die Aktion spielen, die wir spielen sollten, wenn wir
das letzte Wort und das letzte Signal erhalten. Daher werden wir in dieser Aktualisierungsfunktion natürlich
die soeben implementierte Auswahlaktionsfunktion verwenden, bevor wir die Auswahlaktionsfunktion in die Zukünftige Update-Funktion,
die neben der Aktualisierung aller Updates ausgeführt werden soll.
Das ist also wirklich wichtig, um diese Verbindung jetzt mit der Karte herzustellen.
Was wir machen werden, ist letztendlich die Verbindung zwischen unserem Auge und dem Spiel, das wir in
dieser Klasse machen.
Was wir jetzt tun können, ist, dieses Update direkt anzunehmen.
Zuletzt waren wir weniger Signal, weil dies die Funktion ist, die wir hier mit diesen beiden Argumenten ausführen
werden.
Und genauso wie ein schnelles Erinnerungsgehirn ist unser KI-Objekt das Objekt der Dejuan-Klasse.
Also, was wir jetzt tun werden, ist, dass wir dieses Update mit weniger Worten weniger Signal kopieren und dies wird
unsere nächste Funktion sein, die wir machen.
Und deshalb und das hier einfügen, nur um vorsichtig zu sein, möchte ich nur einige andere Namen nennen als
die Namen, die wir hier haben.
Sie wissen, wir haben das letzte Wort hier und ich möchte dieses letzte Wort nicht mit diesem verwechseln.
Das kann gefährlich sein.
Also werde ich das letzte Wort hier durch ein Wort ersetzen.
Übrigens gilt das Gleiche für weniger Signal. Setzen Sie einfach ein Signal oder sogar ein neues Signal, um anzugeben, dass Sie wissen, dass wir
das messen möchten, wenn Sie einen neuen Zustand erreichen und daher ein neues Signal erhalten.
Aber dann wird dieses Wort natürlich die letzte Belohnung sein, die wir hier bekommen.
Sie wissen, wenn Sie auf Sand gehen oder, wenn Sie zu nahe an einen Rand der Karte kommen, wir
das letzte Wort definieren.
Dieses letzte Wort wird die Eingabe der Aktualisierungsfunktion sein, deshalb haben wir hier das letzte Wort.
Aber hier gebe ich nur einen anderen Namen für das Argument.
Wir wollen es hier nicht mit dem letzten Wort verwechseln.
Also gut, das ist die Update-Funktion.
Und jetzt lass uns hineingehen und diese beiden Dinge tun.
Das sind die Daten, die alle Elemente unseres Übergangs und natürlich die Aktion auswählen.
OK also, was müssen wir zuerst aktualisieren.
Nun, wie Sie verstanden haben, möchten wir ein Datum festlegen, wenn Sie einen Staat erreichen.
Das erste, was wir aktualisieren werden, ist offensichtlich die Nachricht, dass dies die Nachricht ist, die wir erreichen.
Also werde ich diesen neuen Staat als neuen Staat bezeichnen und dann wird er es.
Und wie können wir diesen neuen Zustand erreichen?
Das hängt natürlich vom Signal des neuen Signals ab, das die Sensoren gerade erkannt haben.
Und als Erinnerung daran, der Zustand ist das Signal selbst, das aus den drei Signalen besteht, dass die Sensoren
ein Signal signalisieren, um drei plus plus und minus Orientierung zu signalisieren.
Das ist unser Staat.
Stellen Sie sicher, dass das Signal der Zustand ist.
Im Moment ist es eine einfache Liste von fünf Elementen.
Und da dies der Input für all diese Arbeit sein wird, denken Sie daran, dass wir es in einen Brennersensor
umwandeln müssen.
Genau das werden wir also jetzt tun.
Wir werden unsere Taschenlampenbibliothek nehmen und dann die Tensor-Klasse nehmen, die unser
neues Signal in eine dichtere Fackel verwandelt Nehmen Sie eine
Typumwandlung vor, um sie wie folgt in Floats umzuwandeln.
Und dann versuchen Sie endlich, zu überlegen, was wir als nächstes tun müssen.
Es ist natürlich so, dass diese Fake-Down-Engine erstellt wird, um Diamanten hinzuzufügen und
der Charge zu entsprechen. Dies tun wir natürlich mit der Squeeze-Funktion, auf die wir den Index dieses großen Diamanten setzen müssen.
Und wir wollen für die Charge, die Null ist.
Gut.
Und jetzt haben wir unsere neuen Zustände, bestehend aus den drei Signalen der drei Sensoren
plus Orientierung minus Orientierung und natürlich davon, was von dem neuen Signal abhängt, das wir mit dieser Aktualisierungsfunktion erhalten.
Genau zu diesem Zeitpunkt erhalten wir die drei Signale.
Zusätzlich dazu oder zusätzlich und als Erinnerung werden die drei Signale der Sensordichte um die
Sensoren herum erfasst.
Gut.
Wir haben also gerade eine neue Etappe erreicht, das heißt, wir haben die neue Etappe erreicht und müssen nun das nächste Update vornehmen.
Also, was müssen wir jetzt aktualisieren?
Was wäre die logische Sache, wenn man diesen neuen Zustand erreicht hat?
Nun, was wir jetzt brauchen, ist die Erinnerung.
Warum das.
Dies liegt daran, dass zu jedem Zeitpunkt t ein Übergang aus dem aktuellen Status Estey am nächsten Tag als Tipis
besteht, wenn der Belohnung arti und die Aktion 80.
Und jetzt haben wir bereits S-T, wir haben bereits unser Team und wir haben bereits 80, und wir haben gerade
das letzte Element der Umstellung von Estep plus eins erhalten.
Indem wir diesen neuen Zustand so tief wie eins bekommen, bekommen wir einen brandneuen Übergang des Gedächtnisses und daher müssen
wir diesen brandneuen Übergang zum Speicher hinzufügen, da dies einfach unser nächster Übergang ist.
Deshalb haben wir diese Erinnerung jetzt.
Deshalb nehme ich mein aus der Replay-Speicherklasse erstelltes Erinnerungsobjekt, und deshalb nehme
ich das Selbstgedächtnis, um mich auf das Objekt zu beziehen.
Aber da ich das Selbst verwende, muss ich das Selbst in diese Funktion einbeziehen.
Jetzt kannst du wirklich sehen, wozu dieses Selbst dient.
Wann immer Sie eine Variable verwenden, die Sie in der init-Funktion erstellt und initialisiert haben, wird dieser Speicher verwendet.
Und jetzt haben wir es geschafft.
Und wie Sie das aktualisieren werden.
Nun, die gute Nachricht ist, dass wir bereits eine Funktion dafür erstellt haben.
Es ist die Push-Funktion, die ein Ereignis oder einen Übergang zum Speicher verbietet.
Genau das verwenden wir jetzt.
Wir werden die Push-Funktion verwenden, um unseren neuen Übergang, den wir gerade gemacht haben, in den Speicher zu
schreiben, und deshalb bin ich hier nicht gleichwertig, da wir die Methode verwenden werden und daher diesen
Push direkt verwenden können.
Und zuerst füge ich den Übergang hinzu, den wir gerade bekommen haben, und das ist das
erste Datum.
So selbst das letzte Datum.
Das ist also S-T. Genau das gibt es schon.
Dann ist das nächste Element dieses Übergangs natürlich der neue Zustand, den wir gerade erreicht haben.
Da das Objekt, das wir in dieser init-Funktion erstellt und initialisiert haben, nicht durchführbar ist, setzen wir
uns nicht hier.
Wir setzen direkt den Newstead, dann ist das nächste Element des Übergangs die Aktion und sagen, dass wir bereits den letzten Abschnitt haben,
der dieses Selbst ist und die letzte Aktion hier ist.
Also ist es natürlich gleich Null.
Dann wird es natürlich mit der Aktion select select aktualisiert.
Aber das ist das hier.
Also ist es die letzte Aktion.
Aber jetzt sei vorsichtig.
Die Elemente, die in diesen Übergang einbezogen wurden, sollten alle brennenden Antworten sein.
Wie Sie sehen, ist dies beim letzten Datum der Fall.
Es ist ein Brennersensor.
Der neue Zustand ist auch eine brennende Antwort.
Und so muss dies natürlich auch für die Aktion und dann für die Belohnung gelten.
Aber jetzt werden Sie darüber nachdenken, wie kann es eine brennende Antwort sein, wenn man bedenkt, dass es sich einfach um eine Zahl handelt.
Sie wissen, dass die Aktion entweder 0 1 oder 2 ist.
Aber das ist eigentlich kein Problem.
Wir können diese 0 1 oder 2-Variable immer noch in einen Brennersensor umwandeln.
Dies wird nur ein langer Tensor sein.
Der Long-Wert ist ein Typ und der Tensor enthält eine Ganzzahl, da die letzte Aktion eine
Ganzzahl ist, also 0 1 oder 2.
Was wir jetzt machen werden, ist unser Bibliotheksbrenner. Dann werden wir die lange Tensor-Klasse nehmen, die
ein Objekt schaffen wird, das die Nicht-Besitznahme selbst sein wird.
Wenn Sie diese selbstletzte Aktionsfunktion als Eingabe verwenden, wird dieses lange Tensorobjekt erstellt, aber es enthält immer noch
0 1 oder 2 in einem langen Tensorobjekt. Dies soll nur mit dem Übergang übereinstimmen, dass es nur Tensoren enthält, weil wir
sind wir arbeiten mit PI Fackel und wir arbeiten mit einem neuronalen Netzwerk.
Wir müssen also mit Sensoren arbeiten, damit wir lange antworten können, um zu antworten.
Und noch eine letzte Umstellung.
Wir müssen sicher sein, dass das, was in dieser langen Antwort enthalten ist, eine ganze Zahl ist. Um dies
sicherzustellen, auch wenn wir bereits wissen, dass die letzte Aktion 0 1 oder 2 ist, um sicherzustellen, dass
wir diese Int-Typ-Konvertierung erneut durchführen, konvertieren wir unsere Selbstletzte Aktion in eine Ganzzahl.
Da gehen wir und dann müssen wir einfach diese ganzzahlige, selbstlose Aktion in Klammern setzen, so dass wir jetzt einen
langen Tensor eines Elements erhalten, das diese letzte Aktion 0 oder 1 oder 2 selbst sein wird.
Der entscheidende Punkt ist also, wie Sie eine einfache Zahl von Null oder eins in einen Tensor mit Brenner konvertieren.
Gut.
Und dann endlich das letzte Element des Übergangs und das ist natürlich das letzte Wort, das wir bekommen haben.
Das ist genau das letzte Wort Volleyball, das wir in einer Funktion erstellt haben, die auf Null initialisiert wurde.
Aber dann wird es natürlich hier in diesem Code aktualisiert, entweder wenn wir zu einem Sinn kommen, der ein negatives Wort ist,
oder wenn wir uns weiter vom Ziel entfernen, ist das wiederum eine negative Belohnung.
Wenn wir uns dem Ziel nähern, ist das eine positive Belohnung und die schlechteste Bestrafung, wenn wir zu nahe an einen
Rand der Karte kommen. Nun, das ist ein schreckliches negatives Wort minus eins.
Und das ist eine.
Fügen wir dieses letzte Element des Übergangs hinzu, um das Wort selbst zu dirigieren.
Ich kopiere also diese Einfügung hier und jetzt müssen wir eine weitere Konvertierung vornehmen, die natürlich
genau dieselbe wie diese ist, da das Wort keine Ganzzahl, sondern eine Float-Zahl ist.
Wir werden einfach eine Taschenlampe mit dieser Tensorumwandlung herstellen, aber ohne dass die Klammern hier bleiben, weil Sie wissen, dass wir zuerst
die Nummer in eine Liste schreiben müssen, und dann wird diese Liste die Taschenlampe in den Unterricht aufnehmen, aber
wir haben keine Um das in der Konvertierung zu machen, weil das letzte Wort eine Float-Nummer ist.
Also, was wir tun werden, ist hier einfach hinzuzufügen: Fackel Punkt Tensor Fackel einen Tensor dann Klammern in Klammern.
Wir schließen hier die Klammern und schließen die Klammern.
Da gehen wir.
Um zusammenzufassen, haben Sie gesagt, dass wir gerade erreicht haben, und das Wort wir beobachten, dass wir ein neues Ereignis des Übergangs beobachten,
das wir der Erinnerung hinzufügen.
Und dieser Übergang enthält das letzte Datum und den neuen Zustand als Tipis, wenn die letzte Aktion 80
und das letzte Wort Archie gespielt wird.
Gut.
Und jetzt gehen wir mit unserer Erinnerung an Termine.
Also machen wir eine kurze Pause und wir kümmern uns um das nächste Update im nächsten Tutorial.
Bis dahin ich