Hallo und willkommen zu diesem Tutorial, dieses besondere Spielzeug wird sehr aufregend, weil wir uns dem A
nähern. S. C. Algorithmus.
Sie werden sehen, dass das, was wir gerade implementieren, und das als Eignungstrace oder
Sarsour bezeichnet wird, eigentlich ein Algorithmus der synchronen, aktiven Kritikeragenten ist, die wir nicht berücksichtigen können.
Und wir sehen, weil wir immer noch einen Agenten haben werden, aber
Sie werden immer noch sehen, dass das, was wir implementieren werden, tatsächlich aus dem folgenden Artikel entnommen wird,
der als Synchronoss-Methode für tiefes Verstärkungslernen dient In diesem Dokument finden Sie A-3-Algorithmen, die wir als
abschließenden Bonus dieses Kurses implementieren werden.
Aber wie gesagt, wir kommen näher an das Projekt heran, denn das Modell, das jetzt implementiert wird, ist
tatsächlich das synchron und säkularisierte Modell. Es ist das Modell, das fast der A3 C ist, der danach arbeitet,
aber mit einem Agenten und der mächtigen Sache darüber In diesem und in Schritt Cunanan werden wir lernen, Belohnungen zu sammeln und
das kumulative Ziel in den Endschritten zu lernen, anstatt wie in einem Schritt wie Priestley.
Und das macht das Training viel leistungsfähiger und damit auch leistungsfähiger.
Wir haben also tatsächlich den Pseudocode für diesen Algorithmus, es ist dieser Algorithmus hier.
Also lass uns darauf klicken und los geht's.
Das ist der Algorithmus, den wir gerade implementieren.
Denken Sie jedoch daran, dass mit nur einem Agenten der Unterschied besteht, dass hier eine Aktion ausgeführt wird.
80 nach Angaben des Präsidenten Greely basiert auf den q-Werten für den aktuellen Zustand und der gespielten
Aktion.
In unserem Fall haben wir jedoch keine ausgezeichnete grüne Politik umgesetzt.
Wir haben einen weichen Max implementiert.
Aber der Rest ist derselbe wie Sie sehen können.
Wir werden den kumulierten Wert berechnen, an dem wir gearbeitet haben, und tatsächlich 10 Schritte.
Denken Sie daran, dass die Schritte gleich 10 sind.
Daher werden wir diese Codezeile in unseren Algorithmus implementieren, den wir gerade implementieren werden.
Wir werden das bekommen.
Und meist werden wir das auch umsetzen.
Sie werden sehen, dass wir das Maximum der q-Werte für den aktuellen Status und die aktuelle Aktion in
diesem Theta erhalten.
Hier ist nur ein Zielparameter.
Lasst uns das tun, lasst uns diesen Algorithmus angreifen.
Dieses wird als synchrones und stiftiges Lernen bezeichnet.
Wir haben jedoch nicht das Recht, uns synchron zu sagen, da wir nur einen Motor haben.
Daher können wir es nennen und Lernfähigkeitsspur oder sogar Sarsour lernen.
Also gut, lass uns das tun.
Das wird ziemlich lustig.
Wir können dem Code hier grundsätzlich folgen und das werden wir auch tun.
Wenn Sie also sehen, dass ein Parameter, den wir benötigen, wieder der Parameter ist, der der
Decay-Parameter ist, beginnen wir mit der Einführung einer Variablen für diesen Gahanna-Parameter und der Auswahl dieser Parameter.
Also lass uns das tun.
Wir brauchen eigentlich kein riesiges Klassenzimmer. Wir können dies einfach mit einer Funktion implementieren, weil Sie wissen,
dass wir keine Objekte erstellen müssen, damit das Modell verfolgt werden kann. Eine Funktion reicht
aus, denn im Grunde wollen wir das tun Geben Sie die Eingaben und das Ziel zurück, damit wir später beim Trainieren
der KI bereit sind, den Abstand zwischen den Vorhersagen und dem Ziel zu minimieren und die Vorhersagen zu erhalten, die
wir benötigen, da wir unser Gehirn auf die Eingaben anwenden werden, um die Ausgabe zu erhalten Signale, die
unsere Vorhersagen sein werden.
Und sobald wir unsere Vorhersagen und Ziele haben, werden wir bereit sein, die KI zu trainieren, indem wir
versuchen, diese große Entfernung zwischen den Vorhersagen und den Toiletten zu minimieren.
Das ist also der springende Punkt, dies jetzt zu tun.
Wir implementieren diese Funktion, um diese Eingaben in den Sowjets zurückgeben zu können, so dass wir für
das Training bereit sein können, um die quadratischen Entfernungsvorhersagen für die Toiletten zu minimieren.
Also gut, machen wir das so, wie wir sagten, wir wollen Funktionen implementieren.
Wir fangen damit an.
Dies nennen wir die Berechtigung unterstrichene Spur.
Sie können es auch Sarsour nennen.
Sie können es auch als Schritt bezeichnen, um zu klingeln, was immer Sie
wollen, aber nennen wir es Eignungsverfolgung, und diese Funktion wird ein Argument benötigen, das
ein Batch sein wird Wir werden die KI in Batches trainieren.
Die Eingaben und Ziele gehen also in einige Stapel über, und daher ist das
Eingabeargument hier dieser Stapel, der mehrere Eingaben und dann mehrere Ziele enthält, die berechnet werden.
Also los geht's.
Das ist das einzige Argument, das wir brauchen.
Gehen wir nun in eine Funktion und definieren wir, was wir tun müssen.
Wie wir in der Basilika des Papiers gesehen haben, brauchen wir die Parameter erneut, so dass wir, wie
gesagt, diesen Gamma-Parameter halbnah einführen und den Wert bereits entschlüsseln können.
Und wir wählen vier Punkte, neunundneunzig, die für Ghana und Norreys ein klassischer guter Wert sind.
Ich habe überprüft, dass dies für unsere KI ein guter Wert ist.
Nun, im nächsten Schritt bereiten wir unsere Informationen und Ziele vor, denn genau das wollen
wir zurückgeben.
Wir möchten die Eingaben in Ziele zurückführen, um das Training vorzubereiten.
Und so können wir sie bereits mit einer leeren Liste initialisieren, da diese Eingaben
natürlich am besten in eine Liste aufgenommen werden. Dabei werden die
Eingaben als Liste sowie die Ziele initialisiert.
Also haben wir unsere Ziele initialisiert und in unsere Ziele eingefügt, und am Ende liefert diese Funktion zur
Ablaufverfolgung genau diese Eingaben.
Und das waren natürlich Filton.
Wir haben mehrere Eingänge und die damit verbundenen verschiedenen Ziele, die von der Funktion zurückgegeben werden.
Der nächste Schritt im nächsten Schritt ist, eine Schleife zu starten, und zwar genau deshalb, weil wir dem langsamen
Code des Papiers folgen.
Diese Art von Code.
Und wie Sie sehen, gibt es diesen Wiederholungscodeabschnitt und genau eine vollständige Schleife im Code.
Wir berechnen die kumulierte Belohnung, die sich hier über die 10 Schritte angesammelt hat.
Und wie wird es berechnet?
In jedem Schritt, der nicht der letzte Schritt ist, werden wir das Maximum der Kernwerte der Währung ermitteln, in
der wir uns befinden, und die Schritte werden ausgeführt.
Und wenn wir den letzten Zustand der 10 Stufen gut erreichen, ist dies gleich Null.
Das heißt, wir wollen es nicht mehr machen.
Und dann haben wir diese for-Schleife, die eine weitere sein wird.
Sie sagen nicht, dass hier nichts wiederholt wird, aber es ist das Gleiche, es wird die zweite vollständige Schleife in unserem Algorithmus sein.
Nun, wir haben es so gemacht, indem wir es mit dem Abklingparameter gamma multipliziert und das Wort
hinzugefügt haben.
Also lass uns das tun, lass uns zu Python zurückkehren und lass uns damit anfangen.
Und was wird die iterative Variable sein.
Nun, das wird unsere 10-Schritte-Serie sein.
Sie kennen unsere Serie von 10 Übergängen. Wir bezeichnen diese Variablen also als eine Serie von 10
Übergängen wie eine Folge von 10 Übergängen.
Also für Serien in.
Und was denkst du dann?
Nun, unsere Serie wird von unserer Charge bestimmt.
Es gibt die Batches, auf denen die AI-Serie in Batch trainiert wird, die sich auf alle
10 Übergänge in unserem Input-Batch bezieht.
Nun, wo werden wir gut arbeiten, um eine kumulative Belohnung zu erhalten, die Sie in der Kieselsäure sehen werden, dass
wir den Zustand des ersten Übergangs der Serie und auch den Zustand des letzten Übergangs der Serie benötigen.
Also müssen wir diese Eingabestatus jetzt abrufen, also werden wir diese beiden Zustände in eine
realisierbare Form bringen, die Input nennen würde, und wir werden diese beiden Eingabestatus erhalten.
Der erste Teil der Serie und der letzte, den wir in ein Nicht-Pilot-Array einbauen werden, aber keine Sorgen bleiben dabei
und Ampyra wird das natürlich in ein schreckliches verwandeln, aber der erste Schritt ist,
diese beiden zu setzen sagt den ersten im letzten in ein Reich.
Und hier fügen wir hier in diesem Array die erste Eingabe hinzu, die die Eingangsstufe des ersten Übergangs der
Serie ist, und das ist Serie, und dann nehmen wir den Übergang Null, um den Übergang zu übernehmen, und dann
den ersten Nullpunkt der Serie Wir können darauf zugreifen, indem wir die Attribute nehmen, die state und das ist, weil
wir in unserer Replay-Datei mit Erfahrung eine spezielle Struktur für jeden Übergang gefunden haben und Sie
die Struktur kennen.
Jeder Übergang besteht aus einem Zustand und einem Aktionswort.
Aber das letzte Element, das so gemacht wird, ist diese spezielle Struktur, die wir jetzt verwenden dürfen,
von der Art, wie wir den Übergang und die Wiederholungserfahrung definiert haben.
In Ordnung, damit erhalten wir den Eingabezustand des ersten Übergangs und lassen uns nun auch
die Eingangsstufe des letzten Übergangs der Serie erhalten.
Um dies zu tun, können wir das einfach kopieren und einfügen und so wie Sie sind hier durch den
letzten Index der Serie ersetzen, auf den wir mit diesem Trick zugreifen können, minus einer
Serie minus einem Übergang der Serie.
In Ordnung, dann müssen wir diese beiden Elemente in eckige Klammern setzen, da dies vom Umpire eine Funktion
erwartet wird. Dies ist eine wichtige Aufgabe, da wir dies in eine Antwort des
Brenners in einer Brennervariable umwandeln werden.
Denken Sie daran, dass ein Brennertensor per Definition ein spezielles Array ist, das einen einzigen Typ enthält.
Wir müssen also zwingen, einen einzigen Typ zu haben.
Und wie üblich wählen wir den Float-Typ aus. Wenn Sie diesen Parameter hier hinzufügen, ist D Type
gleich und P ist Float.
Damit Sie dieses nehmen können, können wir es jetzt in einen Brennerspanner in einem Brennervolivode umwandeln.
Also lass uns das tun.
Nun, lassen Sie uns das zunächst in einen Brennersensor umwandeln.
Und denken Sie daran, wir können die Fackel verwenden, die von Nicht-Primzahlen aus geht, und wir setzen alle Felder der zwei
Eingangszustände in diesen Fackeltänzer, wobei die Fackel von ihnen durch eine Funktion perfekt ist, die diese Felder des
Eingangszustands in eine Fackel umwandelt Sensor.
Und jetzt setzen wir diese Taschenlampe mit der Variablenklasse sehr gut in eine Taschenlampe, sodass die Eingabe ein Objekt
der wertvollen Klasse ist.
Und wie Sie es verstanden haben, nimmt diese variable Klasse dies alles als Argument und das
Objekt wird erstellt.
Also gut, jetzt sollten wir gut sein.
Wir haben unsere zwei Eingaben, die wir brauchen.
Dies ist der Eingabezustand des ersten Übergangs und der Eingang sagt dann den letzten Übergang.
Und jetzt haben wir die Eingänge Nun, was können wir bekommen, können wir das Ausgangssignal des Gehirns der KI
erhalten.
Das ist die Vorhersage, die wir als Output bezeichnen werden.
Das ist das Ausgangssignal.
Und um die Ausgänge zu bekommen.
Nun, das ist sehr einfach, denn wir haben bereits ein Gehirn geschaffen, das unser konvolutionelles neuronales Netzwerk
ist.
Und so können wir einfach unser Gehirn CNN auf die Eingaben anwenden, was die Vorhersage liefert, dass
die Ausgabe so einfach ist.
Und jetzt sind wir bereit, zum nächsten Schritt überzugehen.
Der nächste Schritt ist, diese Community zu berechnen, wenn Sie möchten.
Also machen wir jetzt genau das gleiche wie unser Algorithmus für den Sarsour oder sollten wir das nennen
und Schritte zum Lernen.
Wir werden die kumulative Belohnungsvariable einführen, die die kumulative Belohnung sein wird. Lassen Sie uns zurück zur Zeitung gehen, wie Sie
jetzt sehen können, was wir tun müssen, um diese Community-Belohnung zu erhalten, die hier
unsere ist.
Nun, und bei jedem Schritt der 10 Schritte müssen wir ihn aktualisieren, indem wir dieser Community eine Null hinzufügen, wenn wir
die letzte Stufe der Serie erreicht hätten oder das Maximum der Kernwerte, wenn wir die letzte Stufe von nicht erreicht
hätten die Serie, die für alle Statik ist, die dauerte.
Das ist einfach ein Bonanzas.
Gehen wir zurück zu Piscean.
Diese Community-Belohnung wird also, wie wir gerade gesehen haben, gleich Nullpunkt sein, wenn wir den letzten Status erreicht haben, und wir
können diese Bedingung auf diese Weise schreiben, wenn eine Reihe von Index minus 1 ist.
Das ist der letzte Übergang der Serie.
Dann fügen wir hinzu, dass getan wird, weil getan ist ein Attribut von Ihnen, wissen Sie diese
Übergangsstruktur, die wir in Erfahrung definiert haben, wir spielen unsere Erfahrung mit Replay Foul, und dies geschieht
von den Eröffnungsstrukturen, denn wenn wir auf die offene Allergan-Website gehen, ist das richtig hier habe ich es
vorbereitet.
Das ist das Gute oder Vizir.
Und wenn wir zur Dokumentation gehen und dann, wenn wir.
Das ist das Tutorial, das ich Ihnen wirklich nahe legen möchte.
Sie können eine Umgebung ausführen, in der Knowsley Sie sehen kann, dass unsere Beobachtungen, dass dies
Übergänge sind, durch eine Beobachtung definiert werden.
Wir möchten, dass dies hier erledigt wird und dies bedeutet, dass ein Übergang oder ein Schritt beendet ist.
Deshalb werden wir dies hier für unsere IF-Bedingung verwenden.
Daher bedeutet iSeries Wahnsinn, wenn der letzte Übergang der Serie abgeschlossen ist.
Diese kumulative Belohnung wird also gleich Null sein, wenn der letzte Übergang der Serie abgeschlossen ist.
Wenn wir den letzten Übergang noch nicht erreicht haben, wird die kumulative Belohnung mit
dem Maximum der Schlüsselwerte aktualisiert.
Und da diese Ausgabe hier die Ausgabe des Gehirns ist, sind dies die Vorhersagen des neuronalen Netzwerks.
Und wie Sie wissen, sind die Vorhersagen des neuronalen Netzwerks die vorhergesagten Werte. Nun, diese Ausgabe enthält
die Werte.
Und da wir das Maximum der q-Werte gut annehmen müssen, müssen wir zuerst diesen Index hinzufügen,
da diese Struktur zwei Schlüsselwerte und der nächste enthält.
Und dann müssen wir Daten hinzufügen, um auf die Daten zuzugreifen.
Diese Ausgabestruktur, von der Sie wissen, dass sie die besondere Struktur eines Brenner-Woiwode hat, ist.
Damit erhalten wir unsere Kernwerte und wir wollen das Maximum unserer Cue-Werte nehmen
und fügen diese Max hinzu.
Und jetzt bekommen wir genau das, was wir wollen, als dieses Maximum der Würfelwerte für
die Nichtterminalstaaten perfekt ist.
Und jetzt machen wir die zweite Falte.
Für die 10 Schritte der Serie werden wir den kumulativen Verlauf aktualisieren, indem wir zuerst den
bereits vorhandenen Abklingparameter mit Gamma multiplizieren und dann das B-Wort hinzufügen.
Also lass uns das tun.
Wir werden genau das gleiche wie im Pseudocode machen, da Sie feststellen können, dass sie von
rechts beginnen.
Sie beginnen also nicht mit dem ersten Schritt und gehen in den letzten Test, den sie mit dem letzten Schritt beginnen.
T-minus 1 bis zum ersten Schritt.
Das ist genau das, was wir tun werden, und das ist,
weil wir am Ende die kumulierte Belohnung gleich unserem Gleichwert oder Null plus Gamma oder 1 plus Gamma-Quadrat oder zwei plus dem plus plus Gamma
bei der Potenz von 10 oder 10 erhalten möchten 1 oder 2 sind, sind 10 das Wort, das in jedem der Schritte der
Serie erhalten wird.
Machen wir eine kurze Pause, bevor wir die zweite vollständige Schleife machen, und wir sehen uns im nächsten Tutorial.
Bis dahin genießen Sie die KI.