Hallo und willkommen zu dem super aufregenden Teil unserer Kreation, dem Teil, wo wir es schlau machen.
Genau das passiert also, wenn ich an dem Tag trainiere, an dem ich seine Intelligenz trainiere, um das Ziel zu erreichen,
das wir erreichen wollten, nämlich die Weste zu erreichen, ohne getötet zu werden.
Um dies zu tun, trainieren wir das neuronale Netzwerk grundsätzlich so, dass es die richtigen Vorhersagen ausgibt, und
dann ist alles bereits fertig, da diese Ausgangssignale des Gehirns bereits die richtige Übertragung
in den Körper haben, um die endgültigen Aktionen auszuführen.
Im Grunde ist das, was wir jetzt tun werden, etwas, was wir schon vorher gemacht haben.
Wir werden nur einige zufällige Stapel aus dem Speicher nehmen, unsere Eingaben aus den Samples abrufen, die Ergebnisse
abrufen, das Ziel abrufen und die Vorhersagen berechnen. Berechnen Sie den letzten Bereich zwischen den Vorhersagen und dem Ziel
und führen Sie dann eine Rückwärtsausbreitung durch, um die Kategorisierung in dem Sinn vorzunehmen Gewichte danach, wie
viel sie zu diesem letzten Fehler beigetragen haben.
Also lass uns das alles machen.
Sie werden sehen, wie einfach es sein wird, denn wir haben bereits
alle Werkzeuge, um dies zu implementieren. Wir haben nicht nur Brennerwerkzeuge wie den Optimierer und die letzten Funktionen, sondern auch alle
Klassen, die wir zuvor gemacht haben Gehirn natürlich, das wir verwenden werden, um die Vorhersagen zu erhalten.
Dann werden unsere Wiederholbarkeits-Wiederholbarkeits-Ablaufverfolgung und alle diese Tools zusammen mit den Teilen kombiniert, die das Training zu
einer überragenden Leistung machen, und daher werden wir letztendlich eine super mächtige KI
erhalten.
Also lasst uns das geschehen lassen.
Lassen Sie uns unser Smart machen, und als Erstes erhalten Sie die letzte Funktion, die wir
im Training zur Berechnung des Fehlers und ein Optimierer kennen.
Das ist das erste, was wir tun werden.
Erstellen wir also eine Variable für die letzte Funktion.
Wir werden es Verlust nennen und dies wird der MSEE-Verlustfunktion des Endmoduls entsprechen.
Und diese MSEE ist die letzte Funktion, die wir verwenden werden, da unsere Vorhersagen im Wesentlichen Schlüsselwerte sind, von denen
Sie wissen, dass sie die Kernwerte der verschiedenen Aktionen vorhersagen.
Und da es sich hierbei um reelle Zahlen handelt, leisten wir eine Art neuronales Netz für die
Regression. Daher ist die letzte Funktion der CT-Fehler.
Das ist die letzte Funktion, die wir verwenden.
Im Allgemeinen für Rückschritte.
Nun gut, jetzt haben wir unsere letzte Funktion. Holen wir uns unseren Optimierer.
So optimiert ist hier der Voivode, den wir Fredas Optimierer erstellen.
Und wir werden wie üblich nehmen.
Wie für das selbstfahrende Auto der Atom Atomizer.
Dies ist ein sehr leistungsfähiger Optimierer, der beim Training Wunder bewirkt.
Also lasst uns das in diesem Adam hochbringen.
Und denken Sie daran, es ist genau das, was das selbstfahrende Auto hat, um zwei wesentliche Argumente einzugeben.
Der erste ist derjenige, der die Verbindung zwischen dem Optimierer und den Parametern unseres neuronalen
Netzwerks herstellt.
Das sind die Gewichte der Neuronen unseres Gehirns.
Und dazu nehmen wir unser Gehirn, das wir CNN genannt haben.
Das ist das Objekt, das wir für unser Gehirn geschaffen haben.
Und so CNN, die Parameter, die wir gehen, und einige Klammern erinnern, so dass die Verbindung zwischen dem Optimierer und
den Gewichten der Neuronen im Gehirn unserer KI hergestellt wird.
Und das zweite Argument ist eine Lernrate, die von uns gegeben wird.
Deshalb müssen wir hier eine kleinere Erhöhung vornehmen, da wir nicht zu schnell konvergieren wollen und
etwas Beschleunigung und daher gute Lernwege haben wollen.
Hier ist ein kleiner Punkt, der auf dem Punkt ist oder zu einem Prozent offen ist.
Ich denke, das ist dasselbe, was wir für das selbstfahrende Auto verwenden.
In Ordnung, jetzt haben wir einen letzten Funktionszerstäuber, also sind wir fast bereit, den Fall zu beginnen.
Nun, eigentlich werden wir gleich damit anfangen, aber kurz bevor wir es tun, werden wir
entscheiden, wie viele Epochen wir trainieren werden.
Und deshalb, wenn Sie hier eine neue Variable erstellen, die auf diese Anzahl von Aboxs reagiert und
etwa 100 ergibt.
Das wird genug sein, um die KI zu trainieren.
Und auch so werde ich es schaffen, den besten Weg vor 100 zu erreichen.
Wie 20 oder 30.
Mal schauen.
Aber jetzt nehmen wir 100.
Und wenn wir es brauchen, erhöhen wir es.
Aber ich denke nicht, dass das nötig sein wird.
OK, jetzt, da wir unsere Anzahl an Airbags haben, können wir mit dem Follow-up beginnen.
Sie kennen diese Haupt-Schleife des Trainings, wenn wir über die Xbox trainieren.
Also dann ist es ein wirklich machbares Buch.
Das ist es, was wir dafür wieder wählen.
Jetzt werden wir natürlich die Range-Funktion verwenden, um zu sagen, dass wir von der ersten zu der Anzahl
Bücher plus eins gehen
wollen, weil die obere Grenze eines Bereichs nicht zu beachten ist.
Deshalb wollen wir auf 100 steigen.
Nun, wir müssen das Plus angeben, um auf 100 zu steigen.
Also gut, CULLEN. Und jetzt lasst uns in die Schleife gehen.
In Ordnung, also machen wir als erstes 200 Läufe mit 10 Schritten.
Also wird jede Epoche 200 Läufe hintereinander von 10 Schritten sein, und dazu haben wir diese Ein-Schritt-Funktion aus unserer
Erfahrungswiederholungsklasse und verwenden daher diese Funktion, die eigentlich eine Methode ist, weil
wir sie aus unserem Speicherobjekt holen werden ist ein Objekt aus der Wiedergabespeicherklasse, um diese zweihundert Läufe
mit 10 Schritten zu erzeugen.
Nun, wir müssen unser Speicherobjekt sagen, an das wir erinnern, dass wir hier erstellt haben. Speicher ist ein Objekt, in dem
die Speicherklasse mit Schritten von 10 Schritten und einer Kapazität von 10.000 wiedergegeben wird.
Wir haben dieses Objekt erstellt und von diesem Objekt nehmen wir.
Nun, diese Laufschrittfunktion führt Schritte aus, und wir geben zweihundert aufeinanderfolgende Läufe von 10 Schritten an.
Das wird also jede Epoche hinzufügen.
Im Grunde einhundert Schritte.
Jetzt haben wir diese 200 Schritte in jeder Epoche.
Nun, es ist an der Zeit, einige Chargen dieser Läufe zu testen und diese Chargen zu testen.
Wir haben eine weitere Funktion aus unserem Speicher, die als Beispielstapel dient und aus diesen zweihundert Läufen
genau einige Stapel generiert.
Aber denken Sie daran, dass diese Chargen diesmal Chargen von Übergängen sind.
Es gibt eine Reihe von 10 Schritten im Gegensatz zu vorher, wo die Chargen diesmal nur einige
Chargen von einzelnen Übergängen waren.
Es wird Stapel von zehn Schritten 10 Übergängen geben und daher ist es Zeit, aus unserem Gedächtnis
zu kommen.
Diese zufälligen Chargen.
Und um sie zu bekommen, haben wir die einfache Batch-Funktion verwendet, auf die wir die Batchgröße für
die Batchgröße anwenden müssen, wobei wir 32 oder sogar 64 oder sogar 128 verwenden können.
Denken Sie daran, dies sagt, dass dies üblich ist 32 zu verwenden.
Das ist, was Sie im Allgemeinen in den Architekturen für neuronale Netzwerke sehen, wenn Sie Bachche lernen.
Diesmal ist es jedoch ganz anders.
Wir haben nur einige zehn Schritte geschickt.
Daher ist es besser, Bänke mit größeren Abmessungen zu verwenden.
Deshalb können wir 64 oder 128 nehmen.
Wir nehmen also 128 und tatsächlich ist dies in einem Fulop, weil wir mehrere Stapel nehmen wollen,
und wir nehmen sie in dem, was von der Muster-Stapelfunktion zurückgegeben wird.
Dieser Fulop für den Speicherstapelsatz 128 bedeutet also, dass alle 128 Schritte jeder Speicher eine Batchgröße
128 ergibt, die tatsächlich die letzten 128 Schritte enthält, die gerade ausgeführt wurden.
Wir haben gerade ein paar Chargen der Größe 128 und das Lernen wird mit diesen Chargen geschehen.
Abgesehen von diesen Chargen werden wir alle zehn Schritte mit den für die Eignung
geeigneten Trays ausführen.
Also gut, jetzt in dieser Schleife, die immer noch in einer Epoche stattfindet.
Aber jetzt befinden wir uns in einer bestimmten Gruppe, und jetzt werden wir zuerst
unsere Eingaben und unsere Ziele separat erhalten.
Und wie ich Ihnen gesagt habe, können Sie dies mit einem der von uns implementierten Tools tun. Dies
sind Berechtigungstricks.
Diese unleserliche Trace-Funktion nimmt einen Stapel als Eingabe auf.
Nun müssen wir die Eingaben und Ziele als Ausgabe abschicken und zurückgeben.
Wir können also jetzt einfach zwei neue Variablen erstellen, die als
Inputs und Ziele dienen, und diese Inputs können uns nicht genau sagen, welche Ergebnisse diese LGBTI-Trace-Funktion auf batch zurückgibt, um diese
Funktion auf den Batch von our anzuwenden Schleife.
Was wir also tun werden, ist nur eine Eignungsaufzeichnung, die auf die Charge unseres Ups angewendet wird.
Gut.
Das bringt uns den Eingang und die Toiletten, aber in PI Fackel gibt es immer etwas mehr zu
tun.
Dies ist natürlich die Umwandlung der Eingaben des neuronalen Netzwerks und auch des Ziels in einige Variablen.
Es gibt aber auch nichts Neues.
Wir wissen, wie es geht.
Wir können es auf diese Weise tun, wir nehmen unsere Inputs und dann unsere Ziele.
Und während sie den variablen Eingaben gleich sind, gilt dies für die Eingaben und die variablen Ziele und hier sind
die Ziele.
In Ordnung, also werden die Eingaben des Gehirns in einige Brennweitenvariablen umgewandelt, und die Ziele werden auch
in einige Variablen umgewandelt.
So können wir jetzt die Eingänge in das neuronale Netzwerk bekommen.
Und warum müssen wir das tun?
Der nächste Schritt besteht darin, die Vorhersagen zu erhalten, auf die wir zielen müssen.
Jetzt brauchen wir natürlich unsere Vorhersagen, denn dann wird der Verlust zwischen den
Vorhersagen und den Zielen berechnet.
Lassen Sie uns diese Vorhersagen abrufen.
Nun, das ist wieder so einfach, jetzt müssen wir nur noch unser Gehirn, das
CNN, unser konstitutionelles Nachrichtennetzwerk ist, auf unsere Inputs anwenden.
Da gehen wir.
Die Eingaben gehen in das neuronale Netzwerk und das neuronale Netzwerk gibt die Vorhersagen aus.
Perfekt.
Jetzt haben wir den Schutz, den wir anvisieren müssen, damit wir die Gesetze erhalten können, und das ist der nächste Schritt.
Wir werden eine neue Variable einführen, da wir im Moment den letzten Fehler erhalten, der sich
von der letzten Funktion unterscheidet, weil wir die Gesetzesfunktion verwenden, um den letzten Fehler abzurufen.
Also der letzte Fehler hier und dass wir es mit der letzten Funktion erhalten, die auf unsere Vorhersagen angewendet wird und die Ziele,
die wir gehen, sehen, wie alles glatt läuft.
Jetzt ist alles logisch.
Wir bekommen zuerst die Ziele und dann die Vorhersagen, dann die Vorhersagen
und dann die letzten Fehler.
Also sehr logisch und reibungslos.
Und was ist nun der nächste Schritt.
Nun, derselbe logische Weg, da wir jetzt den letzten Fehler zurück in das neuronale Netz zurückgeworfen haben, um
Gewichte zu machen, und wir tun das mit dem Gasgrill in der Mitte und um Grad zu erreichen in dem
Sinne, dass wir unseren Optimierer brauchen.
Aber hier haben wir es schon.
Unser Adam-Zerstäuber.
Aber jetzt daran erinnern, was wir tun mussten.
Wir mussten es initialisieren und initialisieren.
Denken Sie daran, dass wir unser Optimierungsobjekt verwenden.
Und dann wenden wir die Zero-Grette-Methode an.
Dann gehen wir nicht vergessen die Klammer, mit der sie initialisiert wurde.
Der nächste Schritt besteht nun darin, den letzten Fehler zurück in das neue Netzwerk
zu verbreiten. Um dies zu tun, nehmen wir unseren letzten Fehler und wenden darauf die Rückwärtsmethode an.
Das ist also genau die Rückwärtsausbreitung.
Und endlich, da der letzte Fehler wieder in den neuen Fehler übertragen wurde, können die Gewichte aktualisiert
werden.
Wir werden immer noch in dem Sinne großartig und denken Sie daran, dass wir unseren Optimierer nehmen und
dann die Schrittmethode anwenden.
Da gehen wir.
Die Gewichte sind jetzt datiert.
Wie ich Ihnen sagte, haben wir es nicht nur schon gemacht, sondern es scheint jetzt so einfach und natürlich.
Jetzt machen wir etwas Spaß.
Wir werden den Durchschnitt aus jeder Epoche drucken.
Sie wissen also, wir können den Verlauf der KI verfolgen, wie das Training läuft.
Wir möchten, dass die durchschnittliche Belohnung über die Stufen der Epochen zunimmt. Zunächst gibt es natürlich
diese Ausbeutungsphase, so dass der Durchschnitt zu Beginn nicht ansteigt, aber sobald er die Ausbeutungsphase erreicht, werden
wir die durchschnittliche Belohnung definitiv sehen erhöhen und es wird bis zu einem bestimmten Niveau
steigen, wenn es so schnell wie möglich die Weste erreicht.
Beginnen wir also mit der Prämisse.
Sie wissen, dass wir dies auf eine Weise tun, aber wir müssen zur Schleife hier zurückgehen und
dann drucken.
Zuerst aber dann Prozent, weil wir alles in einen String umwandeln, der besser ist.
Und dann addieren wir den Durchschnitt, den wir waren, und dann fügen wir auch noch S hinzu, dann schließen
wir das Zitat und fügen dann einen Prozentsatz hinzu.
Und auf der anderen Seite wissen Sie, dass wir die Variablen, die diese erste Person sein werden, als
Epoche hier angeben können.
Die zweite Variable entspricht dem Durchschnittswort, das gerade berechnet wird.
Das durchschnittliche Wort lebensfähig existiert also noch nicht.
Wir werden es jetzt schaffen.
Wir werden also Esti in unserer Epoche einsetzen, selbst wenn die Zahl, die in einen Zug umgewandelt werden soll,
besser wird und wir hinzufügen, dass dies die durchschnittliche Belohnung sein wird.
Wir erstellen also eine Variable, die wir eine Viji-Belohnung nennen.
Und jetzt erstellen wir diese Variable und berechnen sie.
OK, lass uns das tun.
Das war das einzige, was wir noch tun mussten, also haben wir EPOC bereits.
Lassen Sie uns nun das durchschnittliche Wort berechnen, und wir müssen das hier berechnen.
Noch in der Schleife, aber unser Junggeselle, denn jetzt haben wir unsere Patch-Muster und wir haben eine Schulung
im Stapel.
Nun wird aber für die Ausbreitung Plus die Rückwärtsausbreitung im Stapel durchgeführt.
Wir kehren also wieder in die Epoche-Schleife zurück und können nun die kumulativen Wörter berechnen, die
wir mit unserem step-Objekt ausführen können, da unser insteps-Objekt diese Funktion enthält. Mit diesen Schritten können wir die
kumulativen Belohnungen in den Schritten erzielen, die Sie kennen Schritte laufen.
Wir werden es also jetzt verwenden, um die neuen Belohnungen der Schritte zu aktualisieren, und dann das bewegliche
Durchschnittsobjekt aktualisieren, indem die kumulativen Wörter zum sich bewegenden Objekt hinzugefügt werden.
Und dann berechnen wir den Durchschnitt, und so erhalten wir den Durchschnitt von dem, was wir als
erstes als das brauchen, was wir brauchen, das Wort Stribild.
Nennen wir sie die Wörter Schritte, und dann nehmen wir, wie gesagt, unser Endschrittobjekt, das ich hier erinnern
möchte, und Objekt der Schrittfortschrittsklasse aus unserer Erfahrungswiedergabe für beispielsweise Objekte.
Dann fügen wir Wortschritte und dann einige Klammern hinzu.
Gut.
Das bringt uns die neuen kumulativen Belohnungen der Schritte.
In Ordnung, aber dann müssen wir diese neuen kumulativen Belohnungen in unserem gleitenden Durchschnittsobjekt hinzufügen. Um dies
zu tun, haben wir dieses Mal eine Methode in der gleitenden Durchschnittsklasse. Diese Methode ist sehr
einfach. Wir nehmen unser gleitendes Durchschnittsobjekt, das wir hier erstellt haben In 100 Schritten werden wir unsere Add-Methode
verwenden.
Und dann setzen wir im Admetus unsere Wortschritte, und die Belohnungen der Schritte werden dem gleitenden
Durchschnitt hinzugefügt.
In Ordnung und endlich können wir das Durchschnittswort berechnen, und das ist gut so, das ist die
Variable hier.
Das ist also das, was dem Durchschnittswort gleich sein wird, und um es zu erhalten, müssen wir nur die Durchschnittsmethode
dieses Mal von unserem Objekt des gleitenden Durchschnitts verwenden. Das heißt, wir sagen und sagen diesen Durchschnitt, um zu sagen, dass unser
gleitender Durchschnitt bereits aktualisiert wurde mit den neuen Wortschritten, die wir der Add-Methode hinzugefügt
haben, ist es toll.
Jetzt haben wir unser Durchschnittswort, damit es hier bevölkert wird.
Und das wird jede Stunde gedruckt.
Das wird also sehr aufregend, weil wir in jeder Episode verfolgen werden, wie die Luft
aussieht.
Sie wissen, wir werden sehen, ob das durchschnittliche Wort zunimmt.
Und von etwas aufregendem reden.
Sehr aufregend ist, dass ich weiß, dass sie die Weste sicher erreicht, wenn sie 1500 erreicht.
Was wir jetzt tun werden, ist das, wenn die durchschnittliche Belohnung 1500 erreicht.
Wenn es über 1500 wird, werden wir etwas Neues drucken, und das wird der endgültige
Druck sein.
Den sehr erfolgreichen Druck, den wir drucken werden, können wir sagen.
Herzlichen Glückwunsch zu Ihrer KI, denn Ihre KI gewinnt.
Das wäre fantastisch, wenn das nicht der Durchschnitt wäre.
Größer als 1500.
Wir können hundertprozentig sicher sein, dass die KI die Beste ist.
Vielleicht ist es etwas niedriger als das, aber ich habe mit 1000 experimentiert und manchmal nicht fortgeschritten, aber
mit 1500, wenn wir gut da sind, gewinnt die KI mit Sicherheit.
Also schauen wir uns das später an.
Also gut, das wäre sehr aufregend.
Und dann ist das eigentlich nur das Ende der Kurve.
Wir müssen angeben, dass wir mit dem Training beginnen möchten.
Wenn dies passiert, wissen Sie, wenn es den riesigen Reichtum erreicht, muss es nicht mehr trainiert werden.
Wir werden also den gesamten Prozess mit einer Pause beenden, wenn wir eine durchschnittliche Welt von 1500 erreichen.
Wir können den gesamten Prozess abschließen und dazu können wir diese Pause hier verwenden.
Gut.
Und als letztes noch zu tun, wenn das Spiel beendet ist, ist die KI siegreich.
Nun, wir können die Umgebung schließen und fügen hier nur eine letzte Aktion hinzu, die
ich als Schließung der Doom-Umgebung bezeichnen möchte.
Dazu nehmen wir unsere Dume-Umgebung, die wir Doom genannt haben, und erinnern uns.
Und dann können wir nur noch etwas hinzufügen, und das ist alles, was wir nur
in unmittelbarer Umgebung tun.
Also gut, wir sind fertig.
Ich bin so gespannt auf die Ergebnisse und tatsächlich werde ich im nächsten Tutorial eine Überraschung für Sie haben,
während Sie die Ergebnisse sehen.
Es wird ziemlich aufregend.
Und jetzt denke ich, es ist Zeit, damit zu spielen und Spaß zu haben.
Hoffen wir, dass wir diese Weste so schnell wie möglich erreichen können.
Das ist das Ziel dieser neuen Umgebung.
Also gut, lass uns Spaß haben.
Bereiten Sie sich einen guten Kaffee oder einen guten Tee zu.
Stehen Sie bequem auf unserem Stuhl und schauen Sie sich einige sehr coole Videos unserer Flugzeuge an.
Machen wir das im nächsten Tutorial.
Und bis dahin genießen Sie AI.