Hallo und herzlich willkommen zu diesem Tutorial.
Jetzt haben wir das Gehirn von morgen.
Wir haben auch den Optimierer.
Grundsätzlich sind wir also bereit, unsere verschiedenen Agenten zu schulen.
Das sind unsere verschiedenen Gehirne.
Das ist also ab jetzt die große Zugfunktion, die den gesamten A3-Algorithmus enthalten wird. Was
wir also in diesem Zug implementieren werden, ist nur diese riesige Zugfunktion, die nur
diese große Zugfunktion sein wird Klasse, aber wer wird diese Zugfunktion verwenden.
Und der letzte Schritt dieses Moduls mit dem Hauptcode.
Also los geht's.
Aber bevor wir anfangen, können Sie das bemerken.
Zunächst importieren wir einige Bibliotheken, so dass dies die klassischen Bibliotheken mit dem Brennermodul sind.
Ich meine, Ihre Fackelbibliothek beendet dann die Bibliothek, um die Umgebung zu schaffen, die ausbrechen wird.
Dann werden wir natürlich Klasse aus unserem Modell importieren.
Diese hier ablegen.
Und schließlich verwenden wir eine Variable von TORCIDA.
Ich bedauere es, an der Steigung hochleistungsfähige Wettkämpfe durchzuführen.
Dank der dynamischen Grafiken.
Und dann haben wir diese Funktion, die die Funktion eines geteilten Absolventen sicherstellt, und ich wollte nicht zu viel Zeit
dafür aufwenden, weil dies zunächst nur eine Funktion ist, die sicherstellt, dass alles richtig funktioniert.
Wenn das vom Agenten verwendete Modell keinen Anteilsverlauf aufweist.
Deshalb heißt es kurz geteilte Absolventen und der andere Grund ist, dass ich diese Funktion nicht für
notwendig halte.
Aber wir wissen nie und zumindest werden wir uns zu 100 Prozent sicher sein, dass der Code korrekt ausgeführt wird, aber
das ist nicht wirklich wichtig.
Worauf wir uns konzentrieren müssen, ist diese Trendfunktion, die wir alle gerade jetzt beginnen.
Auf geht's.
Def und Train werden bald zu einem Zug und diese Umwandlung wird mehrere Argumente erfordern.
Der erste ist Rang.
Ich werde erklären was es ist und der zweite ist Harams, so dass alle Parameter
die Umgebung sind.
Dann wird der dritte Parameter moralisch geteilt.
Sie wissen also, dass der Agent das gemeinsam genutzte Modell für eine kleine Anzahl
von Schritten verwenden wird, und schließlich wird das letzte Argument der Optimierer sein, den wir zuvor gemacht haben.
So perfekt, dass es Argumente gibt.
Nun können wir die gleiche Funktion implementieren.
Das erste, was wir tun werden, ist, dass Sie sich daran erinnern, was A-380 für synchron
aktive Crilley-Agenten bedeutet.
Also in 8: 3 gibt es einen synchronen.
Wenn Sie also verstanden haben, dass wir jeden Trainingsagenten entziehen müssen, müssen wir den
Rang verwenden, um jede Seite mit diesem Rang zu verschieben. Dieser Rangparameter hier ist nur, den Startwert so zu
verschieben, dass jeder Trainingsagent synchronisiert wird.
Wenn es beispielsweise Trainingsagenten gibt, werden die Ränge von 1 bis 10 gehen und es gibt eine
ganze Zahl pro Agent von 1 bis 10.
Wenn wir also den Samen um einen Thread verschieben, sind alle von diesem Thread erzeugten Pseudo-Zufallszahlen
völlig unabhängig von den anderen Threads.
Jedoch der Samen oder feste Zahlen.
Wenn wir also die Erfahrung reproduzieren, werden wir genau dieselben Ereignisse finden.
Und das ist so, weil es in Bezug auf den Sitz deterministisch ist.
Daher ist es wichtig zu verstehen, dass es wichtig ist, die Trainee-Agenten zu synchronisieren, indem man
hier rechts den Samen mit dem Rang verschiebt.
Also lass uns das tun, um das zu tun.
Wir werden unsere Fackelbibliothek nehmen.
Dann erhalten wir das Saatgut mit manueller Unterstreichung der Saatgutklammer.
Dies ist eine Funktion, und jetzt nehmen wir den Samen aller Agenten, mit denen wir auf diesen
Samen zugreifen können, und verschieben sie um den Rang, um sie zu synchronisieren.
Jeder dieser Agenten wird hier nur plus rec hinzufügen, und das wird den Samen mit dem Rang verschieben, um jeden Auszubildenden zu
entziehen, da es für jede Trainingsagentur einen Samen gibt.
Alles klar, als Erstes getan, und als nächsten Schritt müssen Sie die Umgebung erhalten.
Wir werden also eine neue Variable erstellen, die wir aufrufen werden und nun Atari und Funktion
aus dem Endmodul erstellen, um die Umgebung für den Breakout zu erstellen.
Das soll die Umgebung des Ausbruchs bringen.
Also nehmen wir diese Funktion zum Erstellen von Terry und müssen nun nur noch ein Argument eingeben, das die Parameter der
Umgebung sind.
Und wir haben sie, weil dies einer der Eingänge der Gehirnfunktion ist.
Dies ist dieser Parameter hier, der die Parameter der Breakout-Umgebung sein
wird. Um die Breakout-Umgebungen zu erhalten, argumentieren diese Programme dann, und dann erhalten wir einen Namen, der in der Zukunft im
nächsten Code mit der Hauptfunktion steht ausgeführt wird der gesamte
Code wird brachial Vizier ausbrechen.
Also gut, damit uns die Umgebung perfekt wird.
Der nächste Schritt besteht darin, den Sitz der Umgebung an dem der Agenten auszurichten.
Und warum machen wir das?
Jeder Agent des A-3 Silmaril hat seine eigene Vision von der Umgebung wie eine eigene
Kopie der Umgebung. Deshalb müssen wir jeden Agenten auf eine bestimmte Version der Umgebung ausrichten und
dies tun den Sitz zu verwenden, da jeder Sitz eine bestimmte Umgebung
bestimmt.
Indem wir jedem Agenten einen anderen Grund zuordnen, erhalten wir genau das, was wir wollen, nämlich,
dass jeder Agent seine eigene Umgebung hat.
Und wie können wir also tun, dass wir unsere Umgebung nehmen können und dann die Seed-Funktion verwenden, damit Sie wissen,
welche er für die Umgebung erhält.
Und so, jetzt den Sitz der Umgebung auf den Samen des Agenten auszurichten.
Nun, wir müssen das einfach bekommen, weil dies dem Sitz des Agenten entspricht, der die Dinge verschoben hat,
um anständige organisierte Trainingsagenten zu bekommen, weil sie alle in einem anderen Set sind.
Wir müssen das also nur hier bezahlen, und dies wird den Sitz der Umgebung an den
des Agenten anpassen. Okay, jetzt bekommen wir unser Modell.
Das ist unser A-3-Verstand.
Deshalb verwenden wir jetzt die aktive Klasse aus unserer Modelldatei.
Wir werden also im Grunde ein neues Objekt dieser Aktivitätsklasse erstellen und dieses Objektmodell oder
Gehirn nennen, wenn Sie möchten.
Grundsätzlich enthält dieses Objekt jedoch alle Windungen, die der CM-Kanal aufweist. Die lineare Verbindung und die
Ford-Funktion dienen zur Signalübertragung.
Es wird also im Grunde die Gehirne des Schauspielers in der Kritik enthalten, mit der Fähigkeit, das Signal im
ganzen Gehirn zu verbreiten, um die endgültige Ausgabe zu erhalten.
Also machen wir das. Erstellen wir unser Modell, damit wir dieses Objektmodell nennen möchten.
Und so erstellen wir ein Objekt der Act-Klasse, und deshalb nehmen wir einen Kritiker der Klassenakteure und erinnern uns jetzt, welche Argumente
bei den beiden Eingaben vorkommen.
Das sind eigentlich die Argumente der Funktion.
Wir müssen also selbst eingeben, dass Sie wissen, dass wir das Objekt in der Methode verwenden müssen.
Aber die Argumente, die wir stellen müssen, sind Nomine-Puts, die in schlechtem Zustand sind, was in Kunstketten in
Druckbildern geschieht, und der tatsächliche Raum, in dem Sie die Menge der Aktionen kennen.
Lassen Sie uns diese Argumente in die Zugfunktion einfügen.
Das erste, was wir mit unserer Umgebung bekommen können und das, und dann benutzen wir Beobachtungsraum, der Beobachtungsraum ist,
und dann erhalten Sie die Anzahl der Eingaben, die wir als Nullpunkt der Schattenklammer erhalten.
Gut.
Das ist für Eingaben.
Und jetzt zum Aktionsraum.
Nun, das ist fast so, wie wir es brauchen, um es aus unserer Umgebung zu holen.
Und dann Aktionsraum.
Gut.
Und das gibt uns die Argumente, die wir beim Erstellen eines Objekts eingeben müssen.
Das Modell der Execrate-Klasse.
OK, jetzt haben wir unser Modell und jetzt ist der nächste Schritt die Vorbereitung unserer Eingabezustände.
Denken Sie also daran, dass wir immer noch ein tieferes informelles Lernen absolvieren, so dass die Eingabe unsere
Eingabebilder angibt. Daher wird dies ursprünglich von Ray ausgeführt, der einen Kanal enthält, da wir mit
Schwarzweißbildern arbeiten und Zeit in 42-er Ozeanen haben wird 42.
Es ist jedoch wichtig zu verstehen, dass die Eingabezustände Eingabebilder sind.
Was wir also tun müssen, ist die Nichtmacht, die wir dann in eine Folterantwort umwandeln.
Aber der erste Schritt als das, was wir zuvor gemacht haben, ist, einen Schiedsrichter zu bekommen und ihn zu bekommen.
Es ist eigentlich ganz einfach.
Nun, zuerst müssen wir eine Variable für den Eingabezustand erstellen, die den Status überschreitet, und dies, um ein Umpire-Array
zu erhalten.
Wir müssen nur unsere Umgebung nehmen und dann die Reset-Funktion anpassen und dann verwenden.
Und dies wird Staaten als eine Reihe von Dimensionen nach Reich für Reichweiten von 42 zu 42 initialisieren.
Ein Kanal bedeutet also ein Schwarz-Weiß-Bild und 42 nach 42 ist natürlich die Dominanz des Bildes.
Die Anzahl der Pixel und die Breite und die Anzahl der Pixel und die Höhe.
Das ist im Grunde nur die Zeitinstanz.
Und damit arbeiten wir zusammen.
Und jetzt, wo wir dies tatsächlich in Umpiring haben, weil uns diese Bilder einer solchen Zeitversicherung
in Empire gebracht werden.
Jetzt können wir sie in Fackeltänzer umwandeln, und um dies gut zu machen, werden wir wieder in einen Datenzustand
versetzt, da wir die Zahlenfelder nicht behalten müssen.
Und hier verwenden wir das Brennermodul.
Und denken Sie daran, dass wir dies bereits mit der Funktion aus nicht-thailändischen Klammern getan haben.
Innerhalb dieser Funktion müssen wir die Zahlenrate eingeben, die in einen Brennersensor umgewandelt werden soll.
Und das ist der Zustand, in dem die vorherige Version des Zustands-Nichtbezahlungs-Arrays von der Pipe-Funktion
einen Brennersensor geleitet wird, so dass sich gerade aus dem Zustand Intensivierung ergibt.
Und jetzt müssen wir nur das Machbare initialisieren.
Denken Sie daran, dass die Variable im Allgemeinen die Variable ist, die besagt, ob eine Episode vorbei ist oder ob das Spiel beendet ist.
Nun, wir möchten dies nur sehr gut einführen und den Initialisierer auf true setzen, um anzugeben, dass
dieser Don't Voivode gleich true ist, wenn das Spiel fertig ist.
Das wird für später nützlich sein, damit die KI nicht unbegrenzt zum Ausbruch spielt.
Gut.
Das war also im Grunde der Anfang dieser Trendfunktion mit einigen Initialisierungen und einigen Dingen, die wir
tun müssen.
Der wichtigste Teil hier war, dass wir jeden Auszubildenden entmachten müssen.
Das ist ein erster Grundsatz des A3, den wir anwenden müssen.
Im nächsten Tutorial werden wir nun mit dem gemeinsamen Modell synchronisieren.
Vergessen Sie nicht, dass es ein anderes Modell gibt, aber auch das Aktienmodell, das alle
Agenten gemeinsam nutzen.
Deshalb müssen wir uns mit dem Show-Modell synchronisieren, damit jeder Agent dieses gemeinsam genutzte Modell dazu bringen kann,
eine kleine Erkundung einer bestimmten Anzahl von Schritten durchzuführen.
So machen wir das nächste Statoil.
Und bis dahin genießen Sie AI.