WEBVTT

00:00.840 --> 00:05.380
Hallo und willkommen zurück zu dem Kurs und tiefes Lernen, jetzt da wir Ihre eigenen Netzwerke in Aktion

00:05.440 --> 00:08.280
gesehen haben, ist es an der Zeit herauszufinden, wie sie lernen.

00:08.470 --> 00:10.480
Also lass uns gleich rein gehen.

00:10.510 --> 00:16.100
Es gibt zwei grundsätzlich unterschiedliche Ansätze, um ein Programm dazu zu bringen, das zu tun, was Sie möchten.

00:16.240 --> 00:24.610
Eine ist eine hart codierte Kodierung, bei der Sie tatsächlich die spezifischen Regeln des Programms und die gewünschten Ergebnisse

00:24.610 --> 00:25.120
angeben.

00:25.120 --> 00:30.940
Sie führen es einfach durch den gesamten Weg und berücksichtigen alle möglichen Optionen, mit

00:30.940 --> 00:33.130
denen das Programm umgehen muss.

00:33.310 --> 00:41.320
Auf der anderen Seite haben Sie neuronale Netzwerke, in denen Sie eine Einrichtung für das Programm erstellen, um zu verstehen, was

00:41.800 --> 00:43.530
es selbst tun muss.

00:43.530 --> 00:50.080
Sie erstellen also grundsätzlich dieses neuronale Netzwerk, in dem Sie Eingaben gemacht haben, sagen Sie, was Sie als Ausgänge

00:50.110 --> 00:53.050
wünschen, und lassen Sie dann alles selbst herausfinden.

00:53.350 --> 00:59.890
Zwei grundlegend unterschiedliche Ansätze, und das ist etwas, was wir beim Durcharbeiten dieser Tutorials

00:59.890 --> 01:00.850
beachten sollten.

01:00.850 --> 01:06.180
Unser Ziel ist es, dieses Netzwerk zu schaffen, das dann selbstständig lernt.

01:06.220 --> 01:14.570
Wir vermeiden den Versuch, die Regeln einzufügen, und ein gutes Beispiel, das ich Ihnen jetzt geben kann, ist, dass dies im Kurs

01:14.680 --> 01:18.680
weiter voranschreitet, aber es ist nur ein sehr anschauliches Beispiel.

01:18.700 --> 01:25.690
Wie unterscheidet man zwischen einem Hunde- und Katzenfell auf der linken Seite des Prozesses, der auf

01:25.690 --> 01:33.250
der linken Seite dargestellt ist, würden Sie Programme programmieren, bei denen die Ohren der Katze so aussehen müssen,

01:33.250 --> 01:39.530
wie bei diesem Typ Achten Sie auf diese Farben, wenn Sie diese Farben beschreiben. Wenn

01:39.530 --> 01:45.310
Sie Ohren haben, die spitzer sind als Katzen, wenn die Ohren nach unten

01:45.310 --> 01:49.600
geneigt sind und möglicherweise einen Hund und so weiter.

01:49.600 --> 01:55.090
Auf der anderen Seite codieren Sie für ein neuronales Netzwerk einfach die neuronalen Netzwerke, die Sie für die Architektur codieren,

01:55.090 --> 02:01.030
und dann richten Sie das neuronale Netzwerk auf einen Ordner mit all diesen Katzen und Hunden mit Bildern von Katzen und Hunden,

02:01.030 --> 02:06.580
die bereits kategorisiert sind, und Sie sagen es OK Ich habe ein paar Bilder von Katzen und Hunden, die gehen

02:06.880 --> 02:08.860
und lernen, was eine Katze ist.

02:08.860 --> 02:10.560
Geh und lerne was ein Hund ist.

02:10.600 --> 02:16.000
Und das neuronale Netzwerk wird alles verstehen, was es verstehen muss, und dann weiter unten, wenn es

02:16.000 --> 02:20.950
ein neues Bild von einer Katze oder einem Hund gibt, kann es verstehen, was es

02:20.950 --> 02:21.600
war.

02:21.610 --> 02:25.600
Das sind also die beiden grundsätzlich unterschiedlichen Ansätze.

02:25.690 --> 02:31.090
Und heute fangen wir langsam an, wie dieser zweite Ansatz funktioniert.

02:31.090 --> 02:31.530
Gut.

02:31.570 --> 02:33.340
Also lass uns gleich anfangen.

02:33.400 --> 02:39.880
Hier haben wir ein sehr grundlegendes neuronales Netzwerk mit einer Einschicht, das als ein neuronales Feedforward-Netzwerk bezeichnet wird,

02:39.880 --> 02:42.760
und es wird auch als Wahrnehmung bezeichnet.

02:42.760 --> 02:47.380
Bevor wir jedoch fortfahren, müssen wir den Ausgabewert anpassen.

02:47.380 --> 02:49.320
Im Moment können Sie sehen, dass es nur ein Y ist.

02:49.330 --> 02:51.160
Wir müssen dort einen Hut aufsetzen.

02:51.190 --> 02:56.500
Und der Grund dafür ist normalerweise y steht für den tatsächlichen Wert, und das ist es, was wir verwenden werden.

02:56.500 --> 03:03.700
Warum also der tatsächliche Wert ist, den wir als Inrealitätsausgabewert sehen, ist der vorhergesagte Wert des Algorithmus

03:03.700 --> 03:05.890
durch das neuronale Netzwerk.

03:05.890 --> 03:09.220
Warum ist der Ausgabewert.

03:09.220 --> 03:11.500
Im Grunde ist dies die Bezeichnung für den Ausgabewert.

03:11.740 --> 03:20.020
Und die Wahrnehmung, die Frank Rosenblat im Jahr 1957 erfunden hatte, war die Idee, etwas zu

03:20.170 --> 03:25.010
schaffen, das sich tatsächlich selbst lernen und anpassen kann.

03:25.240 --> 03:28.010
Und das werden wir uns jetzt ansehen.

03:28.030 --> 03:30.230
Also haben wir unseren Grundsatz gezogen.

03:30.250 --> 03:32.070
Mal sehen, wie unsere Wahrnehmung lernt.

03:32.080 --> 03:39.130
Nehmen wir also an, wir haben einige Eingabewerte, die der Wahrnehmung und / oder grundsätzlich unserem eigenen Netzwerk zur Verfügung

03:39.130 --> 03:40.210
gestellt wurden.

03:40.330 --> 03:44.190
Dann wird die Aktivierungsfunktion angewendet.

03:44.200 --> 03:49.210
Wir haben eine Ausgabe und jetzt werden wir die Ausgabe in einem Diagramm darstellen.

03:49.210 --> 03:51.830
Da ist es also unsere Ausgabe.

03:51.830 --> 03:57.520
Jetzt müssen wir lernen, dass wir den Ausgabewert mit dem tatsächlichen Wert vergleichen

03:57.520 --> 04:01.310
müssen, den das neuronale Netzwerk richtig machen soll.

04:01.600 --> 04:04.520
Und das ist der Wert y.

04:04.810 --> 04:08.230
Wenn wir es also hier angeben, werden Sie feststellen, dass es einen Unterschied gibt.

04:08.330 --> 04:13.510
Wir berechnen nun eine Funktion, die als Kostenfunktion bezeichnet wird, und wird als die Hälfte der Differenz

04:13.510 --> 04:17.200
der quadratischen Differenz zwischen dem tatsächlichen Wert und dem Ausgabewert berechnet.

04:17.200 --> 04:20.500
Nun gibt es viele Möglichkeiten, wie Sie die Klassenfunktion nutzen können.

04:20.500 --> 04:23.300
Es gibt viele verschiedene Kostenfunktionen, die Sie verwenden können.

04:23.320 --> 04:30.280
Dies ist wahrscheinlich die am häufigsten verwendete Anruffunktion. Warum genau diese Funktion von uns verwendet wird, erfahren Sie weiter

04:30.280 --> 04:34.900
unten, wenn wir über einen anständigen Gradienten sprechen. Im Moment werden wir

04:34.900 --> 04:39.830
uns jedoch darauf einigen, dass dies die Kostenfunktion ist Im Grunde sagt uns

04:40.420 --> 04:44.240
die Kostenfunktion, welchen Fehler Sie in Ihrer Vorhersage haben.

04:44.290 --> 04:50.770
Unser Ziel ist es, die Kostenfunktion zu minimieren, denn je niedriger die Kostenfunktion ist, desto näher kommt das y

04:50.790 --> 04:51.780
an y.

04:52.150 --> 04:54.430
OK, da nur wir uns darin einig sind, lasst uns fortfahren.

04:54.430 --> 05:00.760
Im Grunde gibt es also von hier aus eine Kostenfunktion und von

05:00.760 --> 05:08.950
hier aus werden wir nun, wenn wir einmal verglichen haben, diese Informationen in das neuronale Netzwerk zurückspeisen.

05:08.980 --> 05:14.170
Also, los geht's, die Informationen gehen zurück ins neuronale Netzwerk und gehen auf die Gewichte und

05:14.200 --> 05:15.630
die Gewichte werden aktualisiert.

05:15.700 --> 05:20.880
Grundsätzlich haben wir in diesem sehr einfachen neuronalen Netzwerk nur die Gewichte

05:20.900 --> 05:23.490
w 1 W2 bis W ..

05:23.980 --> 05:29.370
Unser Ziel ist es, die Kostenfunktion zu minimieren, sodass wir nur die Gewichte aktualisieren können.

05:29.500 --> 05:33.690
Wir aktualisieren also die Gewichte und passen sie etwas an.

05:33.940 --> 05:39.600
Und wie genau wir das für die Daunen herausfinden, aber für den Moment sind wir uns einig, dass wir die Gewichte haben und dann

05:39.600 --> 05:40.320
machen wir weiter.

05:40.320 --> 05:48.870
Aber hier habe ich diesen Screenshot der Daten gezeigt, um nur einen Punkt klar zu machen, dass wir jetzt während des gesamten

05:48.930 --> 05:53.990
Experiments alles, was wir gerade tun, nur mit einer Rolle zu tun haben.

05:54.000 --> 06:00.330
Wir haben es also mit einem Datensatz aus einer Zeile zu tun, in dem wir uns beispielsweise

06:00.330 --> 06:05.720
damit beschäftigen, wie lange Sie es studieren, wie die von uns vorhergesagte Variable ist.

06:06.180 --> 06:08.230
Was ist das Ergebnis, das Sie bei einer Prüfung bekommen werden?

06:08.430 --> 06:13.200
Und die abhängigen unabhängigen Variablen, die wir haben, sind die Anzahl der Stunden, die Sie für die Anzahl der Stunden, die Sie

06:13.200 --> 06:15.430
geschlafen haben, und was Sie beim Quiz bekommen haben.

06:15.460 --> 06:19.880
In der Mitte des Semesters Also in der Mitte des Semesters ist ein Quiz, wie viel Prozent Sie dort bekommen haben.

06:19.880 --> 06:26.100
Auf der Grundlage dieser Variablen versuchen wir also vorherzusagen, welche Punktzahl Sie für die Prüfung erhalten, und die 93

06:26.100 --> 06:28.010
Prozent sind der tatsächliche Wert.

06:28.010 --> 06:29.020
Das ist der Grund.

06:29.560 --> 06:30.460
So.

06:30.660 --> 06:36.720
Wir speisen diese drei Werte nun wieder zum zweiten Mal in ein neuronales Netzwerk ein und vergleichen

06:36.720 --> 06:38.980
das Ergebnis dann mit Weiß.

06:39.150 --> 06:40.690
Mal sehen, wie das funktioniert.

06:40.800 --> 06:43.710
Diese Werte geben wir in das neuronale Netzwerk ein.

06:43.830 --> 06:50.160
Alles wird angepasst und die Gewichte werden einfach so, wie Sie sehen können, werden die Werte erneut eingegeben. Der Punkt hier ist,

06:50.190 --> 06:55.480
dass wir den gleichen Ball füttern, so dass wir nur eine Rolle haben, die wir zu trainieren versuchen

06:55.480 --> 06:56.370
in einer Reihe.

06:56.370 --> 06:59.580
Dies ist so, weil dies nur ein sehr einfaches grundlegendes Beispiel ist.

06:59.640 --> 07:01.610
Dann werden wir sehen, was passiert, wenn es Moral gibt.

07:01.800 --> 07:06.180
Also füttern wir diese Reihen erneut in unserer funktionsübergreifenden Anpassung.

07:06.180 --> 07:10.520
Wie Sie sehen, passiert wieder alles in dieser Richtung.

07:10.530 --> 07:15.030
Wie Sie sagen, jedes Mal, wenn sich unser weißer Hut ändert, weil wir die Gewichte angepasst haben.

07:15.030 --> 07:20.550
Alles, was ich hatte, war, unsere Kleidungsfunktion zu ändern, diesen ganzen Look wieder zu ändern, also füttern wir diese.

07:20.550 --> 07:22.840
Warum musste sich die Kleidung ändern?

07:22.920 --> 07:27.020
Wir erhalten Rückmeldungen zu den Gewichten, damit die Gewichte wieder angepasst werden.

07:27.030 --> 07:31.850
Wir geben die gleichen Werte ein, wenn alles angepasst wird, bis zu den Gewichten.

07:31.860 --> 07:33.920
Und noch einmal füttern.

07:34.020 --> 07:34.990
OK.

07:35.730 --> 07:40.720
Ein anderes Mal haben wir also die Art und Weise angepasst, wie wir uns in den Informationen fühlen.

07:40.830 --> 07:41.370
Und da gehen wir hin.

07:41.370 --> 07:45.990
Der weiße Hut ist also diesmal gleich y cross-funktional 0.

07:46.020 --> 07:48.410
Normalerweise erhalten Sie keine Kostenfunktion gleich Null.

07:48.420 --> 07:50.720
Dies ist jedoch ein sehr einfaches Beispiel.

07:50.820 --> 07:57.480
Hoffentlich machte das alles Sinn, wenn wir genau dieselbe Zeile einspeisen, denn nur in diesem Fall haben wir es

07:57.480 --> 08:01.370
mit dieser einen Zeile in unserem neuronalen Netzwerk zu tun.

08:01.400 --> 08:06.990
Nun, die Gewichtungen erhalten die Werte, und die Werte erhalten eine gültige Versorgung. Die Art und Weise, wie die

08:06.990 --> 08:12.320
Aktivierungsfunktion angewendet wird, erhalten Sie im Vergleich zu Y. Dann sehen wir, wie die Kostenfunktion geändert wird.

08:12.430 --> 08:16.500
Feedback und die Feed-Information, die Bakker über Ihr eigenes Netzwerk erhält, und dann einfach die

08:16.500 --> 08:17.470
Gewichte erneut anpassen.

08:17.850 --> 08:21.410
Und dann wiederholen wir den gleichen Vorgang noch einmal mit derselben Zeile.

08:21.570 --> 08:23.320
Wir versuchen diese Kosten zu minimieren.

08:23.520 --> 08:26.860
Bis jetzt haben wir uns nur mit dieser einen Reihe beschäftigt.

08:27.030 --> 08:29.470
Mal sehen, was passiert, wenn Sie mehrere Rollen haben.

08:29.490 --> 08:31.320
Hier ist der vollständige Datensatz.

08:31.350 --> 08:38.610
Wir haben acht Reihen, wie viele Stunden Sie geschlafen haben, oder vielleicht sind dies verschiedene Schüler, die an einem Tag die gleiche

08:38.610 --> 08:44.070
Prüfung ablegen, wie viele Stunden sie studiert haben, wie viele Stunden sie geschlafen haben, bevor die Prüfung

08:44.070 --> 08:47.300
das Quiz und das Endergebnis der Prüfung erhalten würde.

08:47.490 --> 08:52.720
Und wie Sie hier links sehen können, habe ich tatsächlich acht dieser Wahrnehmungen.

08:53.100 --> 08:55.950
Sie haben alle die gleiche Wahrnehmung, daher ist dies auch wichtig.

08:56.010 --> 09:02.600
Ich habe es einfach vervielfacht oder wie achtmal kopiert, nur damit wir es können.

09:03.330 --> 09:04.310
Konzeption ist das.

09:04.320 --> 09:10.380
Aber das Wichtigste hier ist das gleiche neuronale Netzwerk, das wir in ein Samual-Netzwerk einspeisen werden.

09:10.380 --> 09:11.650
Also lass uns gehen, lass uns anfangen.

09:11.650 --> 09:20.550
Ein Flughafen, von dem Sie hören, dass ein Airpark erwähnt wurde, ist, wenn wir einen ganzen Datensatz durchgehen und

09:20.610 --> 09:27.410
unser neuronales Netzwerk auf all diesen Rollen trainieren, so dass diese Listen sind.

09:27.420 --> 09:34.410
Es gibt also unsere erste Reihe und warum hatte die erste Reihe eine zweite Rolle? Warum hatte ich die

09:34.410 --> 09:35.260
zweite Runde?

09:35.280 --> 09:39.590
Es wird also jedes Mal wieder in dasselbe neuronale Netz eingespeist.

09:39.600 --> 09:45.070
Ich habe sie einfach mehrmals kopiert, damit wir visuell sehen können, wie das passiert.

09:45.090 --> 09:52.320
Wenn es wieder passiert, also in der dritten Reihe, in der vierten Reihe, dann ist unser weißer Kopf für die vierte Reihe und

09:52.320 --> 09:53.010
so weiter.

09:53.010 --> 09:56.580
Grundsätzlich erhalten wir die gleichen Werte auch für die restlichen vier Zeilen.

09:56.580 --> 10:03.440
Jedes Mal, wenn wir uns in unser neuronales Netzwerk einspeisen, werden wir davon erfahren.

10:03.780 --> 10:06.930
Dann vergleichen wir mit dem tatsächlichen Wert.

10:06.930 --> 10:08.550
Sie sind also die tatsächlichen Werte.

10:08.760 --> 10:11.340
Für jede einzelne Rolle haben wir also einen tatsächlichen Wert.

10:11.640 --> 10:18.480
Und nun basierend auf all diesen Unterschieden zwischen yhat und warum können wir

10:18.480 --> 10:27.620
die Kostenfunktion berechnen, die sich aus der Summe dieser quadrierten Unterschiede zwischen warum und warum und wie alles halbiert.

10:28.230 --> 10:30.360
Und es gibt unsere Kostenfunktion.

10:30.360 --> 10:36.750
Und im Grunde, was wir tun, nachdem wir die volle Kostenfunktion haben, gehen wir zurück und aktualisieren die Gewichte, die

10:37.170 --> 10:39.480
wir aktualisieren, um ein W 1 WTW.

10:39.510 --> 10:45.810
Und das Wichtigste, das hier zu beachten ist, ist, dass alle diese neuronalen Netze dieser Wahrnehmung tatsächlich

10:45.810 --> 10:47.340
ein neuronales Netzwerk sind.

10:47.340 --> 10:49.420
Es gibt also nicht acht, sondern nur einen.

10:49.680 --> 10:55.110
Wenn wir die Gewichte aktualisieren, werden wir die Gewichte in diesem neuronalen Netzwerk aktualisieren, so dass die

10:55.110 --> 10:57.900
Gewichte im Wesentlichen für alle Zeilen gleich sind.

10:57.930 --> 11:00.560
Es ist also nicht so, dass jede Rolle ein eigenes Gewicht hat.

11:00.580 --> 11:07.320
Jetzt teilen sich alle Zeilen die Gewichtungen. Deshalb haben wir uns die Kostenfunktion angesehen, die sich aus

11:07.620 --> 11:15.270
der Summe der quadratischen Unterschiede zusammensetzt. Dann haben wir die Gewichtungen aktualisiert und jetzt gab es nur noch eine Iteration.

11:15.270 --> 11:19.020
Als Nächstes werden wir das Ganze noch einmal ausführen.

11:19.020 --> 11:25.440
Wir werden jede einzelne Reihe in das neuronale Netzwerk einspeisen, unsere Kostenfunktion herausfinden und diesen gesamten Vorgang

11:25.440 --> 11:26.370
erneut durchführen.

11:26.370 --> 11:32.090
So wie wir zuvor gesehen haben, wo wir nur eine Reihe hatten, haben wir hier immer wieder alles und

11:32.140 --> 11:33.590
immer wieder dasselbe gemacht.

11:33.600 --> 11:38.880
Aber jetzt machen wir Pedros oder 800 Zeilen oder 8000 Zeilen, egal wie viele Zeilen Sie

11:38.880 --> 11:40.590
in Ihrem Datensatz haben.

11:40.830 --> 11:43.700
Sie führen diesen Prozess aus und berechnen dann die Kostenfunktion.

11:44.220 --> 11:51.510
Das Ziel ist es, die Kostenfunktion zu minimieren und sobald Sie eine Minute der Kostenfunktion gefunden

11:51.510 --> 12:00.210
haben, die Ihr endgültiges neuronales Netzwerk ist, das bedeutet, dass Ihre Gewichte angepasst wurden und Sie die optimalen Gewichte für

12:00.750 --> 12:08.550
diesen Datensatz gefunden haben, die Sie begonnen haben Ihr Training wird fortgesetzt und Sie sind bereit, die Testphase

12:08.550 --> 12:11.130
oder die Bewerbungsphase zu beginnen.

12:11.550 --> 12:14.920
Und dieser ganze Prozess wird als Rückwärtsausbreitung bezeichnet.

12:15.000 --> 12:21.930
Einige zusätzliche Informationen, die Sie möglicherweise für die Kostenfunktion machen möchten, und ich weiß, dass wir gerade über eine

12:21.930 --> 12:24.840
gesprochen haben, und es gibt viele verschiedene.

12:24.840 --> 12:28.690
Ein guter Artikel befindet sich auf cross-validiert.

12:28.740 --> 12:33.020
Es wird eine Liste von Kursfunktionen genannt, die in neuronalen Netzwerken neben Anwendungen verwendet werden.

12:33.090 --> 12:39.840
Der Euro ist also da, aber Sie können einfach nach dem genauen Suchbegriff oder Suchbegriff googeln und Sie werden feststellen, dass

12:39.960 --> 12:42.150
dieser der erste ist, der auftaucht.

12:42.150 --> 12:48.660
Es gibt einige gute Beispiele und Anwendungsfälle oder Anwendungsfälle für verschiedene Kostenfunktionen. Wenn Sie also mehr über

12:48.660 --> 12:51.800
Kostenfunktionen erfahren möchten, lesen Sie diesen Artikel.

12:51.990 --> 12:54.380
Und in diesem Sinne hoffe ich, dass Ihnen dieses Tutorial gefällt.

12:54.420 --> 12:56.070
Ich freue mich auf ein nächstes Mal.

12:56.070 --> 12:58.020
Bis dahin tiefes Lernen genießen.
