WEBVTT

00:00.390 --> 00:02.550
Hallo und herzlich willkommen zu diesem Tutorial.

00:02.550 --> 00:02.870
Gut.

00:02.880 --> 00:08.370
In den vorherigen Tutorials haben wir also das Gehirn gemacht oder wenn Sie das Gehirn für die A-3 sehen wollen, müssen

00:08.370 --> 00:09.560
wir dieses Gehirn trainieren.

00:09.660 --> 00:15.240
Aber um sein Gehirn zu trainieren, brauchen wir einen Optimierer, der dieses Werkzeug verwendet. Stecken Sie eine Zigarette in

00:15.240 --> 00:20.820
die Mitte, um das Gewicht entsprechend dem Anteil, den sie zum Fehler zwischen den Vorhersagen und den Zielen

00:20.940 --> 00:21.900
beitragen, zu tragen.

00:22.200 --> 00:29.790
Und was wir bisher im ersten und zweiten Modul gemacht haben, haben wir im Training den Atom Optimizer per Fackel

00:29.910 --> 00:30.660
verwendet.

00:30.840 --> 00:38.260
Aber wie ich Ihnen gesagt habe, haben wir es mit einem sehr herausfordernden Problem zu tun, das ausbricht und der A-380-Algorithmus

00:38.260 --> 00:41.560
allein reicht nicht aus, um dieses Problem zu lösen.

00:41.580 --> 00:48.480
Wir brauchen ein paar angepasste Optimierer und viele verschiedene Tricks, um dieses Problem zu lösen, ohne lange warten

00:48.480 --> 00:49.340
zu müssen.

00:49.530 --> 00:56.790
Das ist also der Zweck, und deshalb haben wir einen separaten benutzerdefinierten Optimierer, der auf dem

00:56.790 --> 00:57.990
Atom-Optimierer basiert.

00:58.200 --> 01:02.680
Und das ist in dieser gemeinsamen feindlichen Klasse enthalten und warum das gemeinsame Atom.

01:02.880 --> 01:08.190
Dies ist so, weil es tatsächlich der Atom-Optimierer ist, aber das funktioniert bei gemeinsamen Zuständen.

01:08.190 --> 01:12.840
Wir werden also erklären, wie es funktioniert und es zu toile geht. Also

01:12.840 --> 01:18.170
gehen wir die verschiedenen Funktionen hier durch, ohne sie zu töten, weil Sie wissen, dass wir für

01:18.180 --> 01:23.190
den nächsten Moment etwas Energie behalten wollen fiel, was mehr als einhundert Zeilen Code braucht.

01:23.190 --> 01:24.550
Sei also darauf vorbereitet.

01:24.600 --> 01:30.440
Deshalb werden wir versuchen, in einem Statoil Statoil zu erklären, was hier vor sich geht.

01:30.480 --> 01:31.970
Und fangen wir gleich an.

01:32.810 --> 01:38.480
In Ordnung, so führen wir zuerst dieses Class-Sharing-Atom ein, das drei Funktionen enthält, die Init-Funktion,

01:38.480 --> 01:40.900
die Shared Memory-Funktion und die Step-Funktion.

01:41.180 --> 01:48.410
Was wir zuerst tun, ist, dass wir von optin das Atom erben, das natürlich der Atom-Optimierer ist und

01:48.410 --> 01:52.100
das wir vom Upton-Modul aus der Fackel-Bibliothek bekommen.

01:52.280 --> 01:57.980
Hier sind wir also einfach, die Werkzeuge alle mit dem Atom-Optimierer in Verbindung zu bringen, und dann beginnen

01:57.980 --> 01:59.320
wir mit der init-Funktion.

01:59.330 --> 02:00.990
Was passiert also hier?

02:01.150 --> 02:08.050
Zuerst verwenden wir die Überfunktion, um von allen Werkzeugen und allen grundlegenden Parametern des Atoms die Atom-Klasse

02:08.050 --> 02:11.310
zu erben. Diese grundlegenden Parameter befinden sich hier.

02:11.380 --> 02:16.090
Harams lernen Rassenköder Epsilon und Gewichtsverlust.

02:16.240 --> 02:17.920
Und dann beginnen wir mit einem Follow-up.

02:17.980 --> 02:21.840
Diese erste Foluke für die Gruppe selbst, die Paramo gruppiert.

02:21.850 --> 02:28.310
Was für Parum-Gruppen in Gruppen eingerichtet ist, enthält also alle Attribute des Optimierers.

02:28.510 --> 02:34.030
Und unter diesen Attributen haben wir die Parameter, die wir haben, um

02:34.030 --> 02:40.790
diese Parameter zu optimieren, um andere Wege des Netzwerks zu atomisieren, die in Selbstparum-Gruppen enthalten sind.

02:40.930 --> 02:44.860
Also, da gehen wir Gruppe gehört zu Selbsthilfegruppen.

02:44.980 --> 02:50.920
Und hier haben wir den zweiten Faltu, der diese Parameter erhalten wird, die wir

02:50.920 --> 02:54.910
optimieren möchten und die vielleicht in Selbstzweifel-Parum-Gruppen enthalten sind.

02:54.910 --> 03:01.870
Im Grunde gehen wir durch Selbsthilfegruppen, die alle Parameter enthalten. Für jede Parametergruppe und für Selbstgespräche

03:01.930 --> 03:07.480
von Gruppen werden wir die Parameter durchgehen, die wir optimieren möchten.

03:07.540 --> 03:14.300
Für die Gruppe Paramo bedeutet hier also für jeden Tancer die Gewichte, die wir optimieren wollen.

03:14.410 --> 03:20.200
Also für jedes Sensorgewicht, das wir optimieren möchten, und was dann innerhalb dieser Gruppe mit diesen

03:20.200 --> 03:21.550
vier Codezeilen geschieht.

03:21.820 --> 03:29.650
Grundsätzlich geschieht, dass die vom Optimierer durchgeführte Aktualisierung auf einem exponentiellen gleitenden Durchschnitt des

03:29.890 --> 03:31.170
Gradienten basiert.

03:31.250 --> 03:32.880
Das ist diese Codezeile hier.

03:33.010 --> 03:38.270
Das ist der exponentielle gleitende Durchschnitt des Gradienten von Moment eins, der in der Ordnung eins ist.

03:38.500 --> 03:44.860
Die von Atom hergestellten Objekte basieren jedoch nicht nur auf einem exponentiellen gleitenden Durchschnitt

03:45.190 --> 03:47.140
des Quadrats des Gradienten.

03:47.260 --> 03:51.770
Dies ist ein exponentieller gleitender Durchschnitt des Impulsgradienten auf ein oder zwei.

03:52.030 --> 03:55.320
Hier ist also der exponentielle gleitende Durchschnitt von einem.

03:55.480 --> 04:00.560
Und hier ist der exponentielle gleitende Durchschnitt von zwei für jeden, den EMJ abgebaut hat.

04:00.790 --> 04:01.890
Also, was passiert hier?

04:02.080 --> 04:07.930
Und wenn Sie nun mehr über die Funktionsweise des exponentiellen gleitenden Durchschnitts erfahren

04:07.930 --> 04:14.560
möchten, sollten Sie sich diese Adam-Methode zur stochastischen Optimierung ansehen, da der Atom-Optimierer, auf

04:14.860 --> 04:20.610
den wir jetzt implementieren, im Wesentlichen basiert den Algorithmus hier ein.

04:20.890 --> 04:27.700
Wenn Sie also mehr Details zur Funktionsweise des Algorithmus wünschen, ist dieses Dokument auf jeden Fall hilfreich.

04:27.700 --> 04:32.720
Und dann haben Sie noch einige weitere Erklärungen zum Algorithmus mit den Atomen und den Regeln.

04:32.860 --> 04:37.840
Sie wissen also, dass dies nur dann der Fall ist, wenn Sie dies angreifen möchten, bevor Sie die große Zugfunktion

04:37.840 --> 04:39.120
angreifen, die danach ausgeführt wird.

04:39.400 --> 04:41.990
OK, lass uns zu Bison zurückkehren.

04:42.220 --> 04:46.140
Nun geht es weiter zur zweiten Funktion des gemeinsamen Speichers.

04:46.190 --> 04:47.890
Jetzt werde ich nur noch ein paar Worte sagen.

04:48.010 --> 04:54.580
Die Idee dieser Shared Memory-Funktion ist eine Art Tensor, bei dem Kuda, den Sie kennen, ein Beschleuniger ist, der auf

04:54.580 --> 04:55.830
einer Ansicht basiert.

04:55.870 --> 05:03.160
Im Grunde ist es hier also so, dass wir hier und hier die Tensoren der Zustände haben, die

05:03.160 --> 05:10.210
das Gedächtnis gemeinsam haben und sich ein bisschen wie Tenso verhalten, das die beschleunigte Berechnung beschleunigen könnte.

05:10.420 --> 05:17.140
Der Unterschied ist jedoch, dass hier die Sensoren, die sich den Speicher teilen, die Berechnung an einen Teil

05:17.140 --> 05:22.150
des Hausarztes senden, den Sie oder Sie für alle gelähmten Bedrohungen zugänglich sind.

05:22.160 --> 05:23.580
Das ist also im Grunde das, was hier gemacht wird.

05:23.590 --> 05:30.220
Das ist ein bisschen wie 10 für diesen Kuda, aber er wird nur an einen Teil des GP gesendet, um für die

05:30.220 --> 05:32.090
parallelisierten Bedrohungen zugänglich zu sein.

05:32.090 --> 05:32.460
Gut.

05:32.470 --> 05:35.100
Und dann haben wir den letzten Funktionsschritt.

05:35.110 --> 05:41.830
Sie wissen also, dass diese Funktion die Schrittmethode des Atom-Optimierers ist, die wir in diesem Kurs verwenden.

05:41.830 --> 05:47.170
Und wieder basiert dieser Algorithmus auf dem gleichen Papier, das wir zuvor gesehen haben.

05:47.170 --> 05:48.610
Also dieser Algorithmus.

05:48.850 --> 05:52.250
Sie möchten also die folgenden Codezeilen im Detail verstehen.

05:52.420 --> 05:57.240
Nun wieder ich Ingrid's, um diesen Algorithmus durch dieses Papier zu betrachten.

05:57.580 --> 06:04.330
Außerdem ist das, was hier gemacht wird, nicht zwingend, da es sich tatsächlich um eine Kopie der

06:04.330 --> 06:07.180
Schrittmethode handelt, die diese Atomklasse ausübt.

06:07.180 --> 06:14.050
Im Grunde haben wir es also getan, wenn wir unser Erbe verwenden würden, denn hier erben wir

06:14.050 --> 06:20.620
von Acton, dass Adam und so, um unser Erbe zu nutzen. Was wir tun können,

06:20.620 --> 06:29.260
anstatt alles zu tun, ist hier nur einen Kommentar zu schreiben Superfunktion, die wir auf unsere gemeinsame Adam-Klasse anwenden, dann unser

06:29.710 --> 06:38.020
Objekt selbst und hier fügen wir einfach Schritt mit Klammern hinzu. Schritt ist die Methode des Akts in dieser Klasse, und

06:38.320 --> 06:40.550
das ist genau das Gleiche.

06:40.750 --> 06:45.820
Deshalb habe ich nur gesagt, dass hier nur eine Kopie der Schrittmethode des Acts in der

06:45.850 --> 06:46.860
Atom-Klasse eingefügt wird.

06:46.930 --> 06:53.440
Ich denke also, wenn Sie all dies durch diese Superfunktion ersetzen, die angewendet wurde, um Adam und die Schrittmethode gut zu

06:53.830 --> 06:55.960
teilen, könnten wir genau dasselbe bekommen.

06:57.220 --> 06:59.900
Also gut, also war es interessant, einen kurzen Blick darauf zu werfen.

06:59.920 --> 07:02.750
Grundsätzlich können Sie dies als den Adam-Optimierer sehen.

07:02.850 --> 07:04.530
Es ist, als hätten wir es tiefer betrachtet.

07:04.640 --> 07:10.000
Aber wenn Sie mehr darüber erfahren möchten und verstehen möchten, was sich hinter der Szene abspielt? Nun,

07:10.000 --> 07:14.120
ich möchte Sie dazu ermutigen, einen Blick auf diese Forschungsarbeit zu werfen.

07:14.170 --> 07:16.120
Ich werde den Link hier in die Kommentare einfügen.

07:16.120 --> 07:19.940
Sie wissen, dass Sie den gesamten Code detailliert miteinander verbunden haben.

07:19.990 --> 07:22.120
Es ist also gut, wenn Sie es sich ansehen können.

07:22.580 --> 07:30.310
Und jetzt hoffe ich, dass Sie eine großartige Energie haben, weil wir mit der Zugdatei fortfahren werden, die diese riesige Zugfunktion

07:30.310 --> 07:35.860
enthalten wird, die unser Gehirn im Grunde trainieren wird, was wir jetzt tun können, weil

07:35.860 --> 07:37.510
wir unseren Optimierer haben.

07:37.690 --> 07:39.230
Also jetzt eine gute Pause.

07:39.250 --> 07:41.840
Schlafen Sie gut und wann immer Sie sich in guter Verfassung befinden.

07:41.980 --> 07:44.440
Fahren wir mit dem nächsten Schritt fort.

07:44.440 --> 07:45.910
Bis dahin genießen Sie die KI.
