Hallo und willkommen zurück zu dem Kurs und tiefes Lernen, jetzt da wir Ihre eigenen Netzwerke in Aktion
gesehen haben, ist es an der Zeit herauszufinden, wie sie lernen.
Also lass uns gleich rein gehen.
Es gibt zwei grundsätzlich unterschiedliche Ansätze, um ein Programm dazu zu bringen, das zu tun, was Sie möchten.
Eine ist eine hart codierte Kodierung, bei der Sie tatsächlich die spezifischen Regeln des Programms und die gewünschten Ergebnisse
angeben.
Sie führen es einfach durch den gesamten Weg und berücksichtigen alle möglichen Optionen, mit
denen das Programm umgehen muss.
Auf der anderen Seite haben Sie neuronale Netzwerke, in denen Sie eine Einrichtung für das Programm erstellen, um zu verstehen, was
es selbst tun muss.
Sie erstellen also grundsätzlich dieses neuronale Netzwerk, in dem Sie Eingaben gemacht haben, sagen Sie, was Sie als Ausgänge
wünschen, und lassen Sie dann alles selbst herausfinden.
Zwei grundlegend unterschiedliche Ansätze, und das ist etwas, was wir beim Durcharbeiten dieser Tutorials
beachten sollten.
Unser Ziel ist es, dieses Netzwerk zu schaffen, das dann selbstständig lernt.
Wir vermeiden den Versuch, die Regeln einzufügen, und ein gutes Beispiel, das ich Ihnen jetzt geben kann, ist, dass dies im Kurs
weiter voranschreitet, aber es ist nur ein sehr anschauliches Beispiel.
Wie unterscheidet man zwischen einem Hunde- und Katzenfell auf der linken Seite des Prozesses, der auf
der linken Seite dargestellt ist, würden Sie Programme programmieren, bei denen die Ohren der Katze so aussehen müssen,
wie bei diesem Typ Achten Sie auf diese Farben, wenn Sie diese Farben beschreiben. Wenn
Sie Ohren haben, die spitzer sind als Katzen, wenn die Ohren nach unten
geneigt sind und möglicherweise einen Hund und so weiter.
Auf der anderen Seite codieren Sie für ein neuronales Netzwerk einfach die neuronalen Netzwerke, die Sie für die Architektur codieren,
und dann richten Sie das neuronale Netzwerk auf einen Ordner mit all diesen Katzen und Hunden mit Bildern von Katzen und Hunden,
die bereits kategorisiert sind, und Sie sagen es OK Ich habe ein paar Bilder von Katzen und Hunden, die gehen
und lernen, was eine Katze ist.
Geh und lerne was ein Hund ist.
Und das neuronale Netzwerk wird alles verstehen, was es verstehen muss, und dann weiter unten, wenn es
ein neues Bild von einer Katze oder einem Hund gibt, kann es verstehen, was es
war.
Das sind also die beiden grundsätzlich unterschiedlichen Ansätze.
Und heute fangen wir langsam an, wie dieser zweite Ansatz funktioniert.
Gut.
Also lass uns gleich anfangen.
Hier haben wir ein sehr grundlegendes neuronales Netzwerk mit einer Einschicht, das als ein neuronales Feedforward-Netzwerk bezeichnet wird,
und es wird auch als Wahrnehmung bezeichnet.
Bevor wir jedoch fortfahren, müssen wir den Ausgabewert anpassen.
Im Moment können Sie sehen, dass es nur ein Y ist.
Wir müssen dort einen Hut aufsetzen.
Und der Grund dafür ist normalerweise y steht für den tatsächlichen Wert, und das ist es, was wir verwenden werden.
Warum also der tatsächliche Wert ist, den wir als Inrealitätsausgabewert sehen, ist der vorhergesagte Wert des Algorithmus
durch das neuronale Netzwerk.
Warum ist der Ausgabewert.
Im Grunde ist dies die Bezeichnung für den Ausgabewert.
Und die Wahrnehmung, die Frank Rosenblat im Jahr 1957 erfunden hatte, war die Idee, etwas zu
schaffen, das sich tatsächlich selbst lernen und anpassen kann.
Und das werden wir uns jetzt ansehen.
Also haben wir unseren Grundsatz gezogen.
Mal sehen, wie unsere Wahrnehmung lernt.
Nehmen wir also an, wir haben einige Eingabewerte, die der Wahrnehmung und / oder grundsätzlich unserem eigenen Netzwerk zur Verfügung
gestellt wurden.
Dann wird die Aktivierungsfunktion angewendet.
Wir haben eine Ausgabe und jetzt werden wir die Ausgabe in einem Diagramm darstellen.
Da ist es also unsere Ausgabe.
Jetzt müssen wir lernen, dass wir den Ausgabewert mit dem tatsächlichen Wert vergleichen
müssen, den das neuronale Netzwerk richtig machen soll.
Und das ist der Wert y.
Wenn wir es also hier angeben, werden Sie feststellen, dass es einen Unterschied gibt.
Wir berechnen nun eine Funktion, die als Kostenfunktion bezeichnet wird, und wird als die Hälfte der Differenz
der quadratischen Differenz zwischen dem tatsächlichen Wert und dem Ausgabewert berechnet.
Nun gibt es viele Möglichkeiten, wie Sie die Klassenfunktion nutzen können.
Es gibt viele verschiedene Kostenfunktionen, die Sie verwenden können.
Dies ist wahrscheinlich die am häufigsten verwendete Anruffunktion. Warum genau diese Funktion von uns verwendet wird, erfahren Sie weiter
unten, wenn wir über einen anständigen Gradienten sprechen. Im Moment werden wir
uns jedoch darauf einigen, dass dies die Kostenfunktion ist Im Grunde sagt uns
die Kostenfunktion, welchen Fehler Sie in Ihrer Vorhersage haben.
Unser Ziel ist es, die Kostenfunktion zu minimieren, denn je niedriger die Kostenfunktion ist, desto näher kommt das y
an y.
OK, da nur wir uns darin einig sind, lasst uns fortfahren.
Im Grunde gibt es also von hier aus eine Kostenfunktion und von
hier aus werden wir nun, wenn wir einmal verglichen haben, diese Informationen in das neuronale Netzwerk zurückspeisen.
Also, los geht's, die Informationen gehen zurück ins neuronale Netzwerk und gehen auf die Gewichte und
die Gewichte werden aktualisiert.
Grundsätzlich haben wir in diesem sehr einfachen neuronalen Netzwerk nur die Gewichte
w 1 W2 bis W ..
Unser Ziel ist es, die Kostenfunktion zu minimieren, sodass wir nur die Gewichte aktualisieren können.
Wir aktualisieren also die Gewichte und passen sie etwas an.
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
machen wir weiter.
Aber hier habe ich diesen Screenshot der Daten gezeigt, um nur einen Punkt klar zu machen, dass wir jetzt während des gesamten
Experiments alles, was wir gerade tun, nur mit einer Rolle zu tun haben.
Wir haben es also mit einem Datensatz aus einer Zeile zu tun, in dem wir uns beispielsweise
damit beschäftigen, wie lange Sie es studieren, wie die von uns vorhergesagte Variable ist.
Was ist das Ergebnis, das Sie bei einer Prüfung bekommen werden?
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
geschlafen haben, und was Sie beim Quiz bekommen haben.
In der Mitte des Semesters Also in der Mitte des Semesters ist ein Quiz, wie viel Prozent Sie dort bekommen haben.
Auf der Grundlage dieser Variablen versuchen wir also vorherzusagen, welche Punktzahl Sie für die Prüfung erhalten, und die 93
Prozent sind der tatsächliche Wert.
Das ist der Grund.
So.
Wir speisen diese drei Werte nun wieder zum zweiten Mal in ein neuronales Netzwerk ein und vergleichen
das Ergebnis dann mit Weiß.
Mal sehen, wie das funktioniert.
Diese Werte geben wir in das neuronale Netzwerk ein.
Alles wird angepasst und die Gewichte werden einfach so, wie Sie sehen können, werden die Werte erneut eingegeben. Der Punkt hier ist,
dass wir den gleichen Ball füttern, so dass wir nur eine Rolle haben, die wir zu trainieren versuchen
in einer Reihe.
Dies ist so, weil dies nur ein sehr einfaches grundlegendes Beispiel ist.
Dann werden wir sehen, was passiert, wenn es Moral gibt.
Also füttern wir diese Reihen erneut in unserer funktionsübergreifenden Anpassung.
Wie Sie sehen, passiert wieder alles in dieser Richtung.
Wie Sie sagen, jedes Mal, wenn sich unser weißer Hut ändert, weil wir die Gewichte angepasst haben.
Alles, was ich hatte, war, unsere Kleidungsfunktion zu ändern, diesen ganzen Look wieder zu ändern, also füttern wir diese.
Warum musste sich die Kleidung ändern?
Wir erhalten Rückmeldungen zu den Gewichten, damit die Gewichte wieder angepasst werden.
Wir geben die gleichen Werte ein, wenn alles angepasst wird, bis zu den Gewichten.
Und noch einmal füttern.
OK.
Ein anderes Mal haben wir also die Art und Weise angepasst, wie wir uns in den Informationen fühlen.
Und da gehen wir hin.
Der weiße Hut ist also diesmal gleich y cross-funktional 0.
Normalerweise erhalten Sie keine Kostenfunktion gleich Null.
Dies ist jedoch ein sehr einfaches Beispiel.
Hoffentlich machte das alles Sinn, wenn wir genau dieselbe Zeile einspeisen, denn nur in diesem Fall haben wir es
mit dieser einen Zeile in unserem neuronalen Netzwerk zu tun.
Nun, die Gewichtungen erhalten die Werte, und die Werte erhalten eine gültige Versorgung. Die Art und Weise, wie die
Aktivierungsfunktion angewendet wird, erhalten Sie im Vergleich zu Y. Dann sehen wir, wie die Kostenfunktion geändert wird.
Feedback und die Feed-Information, die Bakker über Ihr eigenes Netzwerk erhält, und dann einfach die
Gewichte erneut anpassen.
Und dann wiederholen wir den gleichen Vorgang noch einmal mit derselben Zeile.
Wir versuchen diese Kosten zu minimieren.
Bis jetzt haben wir uns nur mit dieser einen Reihe beschäftigt.
Mal sehen, was passiert, wenn Sie mehrere Rollen haben.
Hier ist der vollständige Datensatz.
Wir haben acht Reihen, wie viele Stunden Sie geschlafen haben, oder vielleicht sind dies verschiedene Schüler, die an einem Tag die gleiche
Prüfung ablegen, wie viele Stunden sie studiert haben, wie viele Stunden sie geschlafen haben, bevor die Prüfung
das Quiz und das Endergebnis der Prüfung erhalten würde.
Und wie Sie hier links sehen können, habe ich tatsächlich acht dieser Wahrnehmungen.
Sie haben alle die gleiche Wahrnehmung, daher ist dies auch wichtig.
Ich habe es einfach vervielfacht oder wie achtmal kopiert, nur damit wir es können.
Konzeption ist das.
Aber das Wichtigste hier ist das gleiche neuronale Netzwerk, das wir in ein Samual-Netzwerk einspeisen werden.
Also lass uns gehen, lass uns anfangen.
Ein Flughafen, von dem Sie hören, dass ein Airpark erwähnt wurde, ist, wenn wir einen ganzen Datensatz durchgehen und
unser neuronales Netzwerk auf all diesen Rollen trainieren, so dass diese Listen sind.
Es gibt also unsere erste Reihe und warum hatte die erste Reihe eine zweite Rolle? Warum hatte ich die
zweite Runde?
Es wird also jedes Mal wieder in dasselbe neuronale Netz eingespeist.
Ich habe sie einfach mehrmals kopiert, damit wir visuell sehen können, wie das passiert.
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
so weiter.
Grundsätzlich erhalten wir die gleichen Werte auch für die restlichen vier Zeilen.
Jedes Mal, wenn wir uns in unser neuronales Netzwerk einspeisen, werden wir davon erfahren.
Dann vergleichen wir mit dem tatsächlichen Wert.
Sie sind also die tatsächlichen Werte.
Für jede einzelne Rolle haben wir also einen tatsächlichen Wert.
Und nun basierend auf all diesen Unterschieden zwischen yhat und warum können wir
die Kostenfunktion berechnen, die sich aus der Summe dieser quadrierten Unterschiede zwischen warum und warum und wie alles halbiert.
Und es gibt unsere Kostenfunktion.
Und im Grunde, was wir tun, nachdem wir die volle Kostenfunktion haben, gehen wir zurück und aktualisieren die Gewichte, die
wir aktualisieren, um ein W 1 WTW.
Und das Wichtigste, das hier zu beachten ist, ist, dass alle diese neuronalen Netze dieser Wahrnehmung tatsächlich
ein neuronales Netzwerk sind.
Es gibt also nicht acht, sondern nur einen.
Wenn wir die Gewichte aktualisieren, werden wir die Gewichte in diesem neuronalen Netzwerk aktualisieren, so dass die
Gewichte im Wesentlichen für alle Zeilen gleich sind.
Es ist also nicht so, dass jede Rolle ein eigenes Gewicht hat.
Jetzt teilen sich alle Zeilen die Gewichtungen. Deshalb haben wir uns die Kostenfunktion angesehen, die sich aus
der Summe der quadratischen Unterschiede zusammensetzt. Dann haben wir die Gewichtungen aktualisiert und jetzt gab es nur noch eine Iteration.
Als Nächstes werden wir das Ganze noch einmal ausführen.
Wir werden jede einzelne Reihe in das neuronale Netzwerk einspeisen, unsere Kostenfunktion herausfinden und diesen gesamten Vorgang
erneut durchführen.
So wie wir zuvor gesehen haben, wo wir nur eine Reihe hatten, haben wir hier immer wieder alles und
immer wieder dasselbe gemacht.
Aber jetzt machen wir Pedros oder 800 Zeilen oder 8000 Zeilen, egal wie viele Zeilen Sie
in Ihrem Datensatz haben.
Sie führen diesen Prozess aus und berechnen dann die Kostenfunktion.
Das Ziel ist es, die Kostenfunktion zu minimieren und sobald Sie eine Minute der Kostenfunktion gefunden
haben, die Ihr endgültiges neuronales Netzwerk ist, das bedeutet, dass Ihre Gewichte angepasst wurden und Sie die optimalen Gewichte für
diesen Datensatz gefunden haben, die Sie begonnen haben Ihr Training wird fortgesetzt und Sie sind bereit, die Testphase
oder die Bewerbungsphase zu beginnen.
Und dieser ganze Prozess wird als Rückwärtsausbreitung bezeichnet.
Einige zusätzliche Informationen, die Sie möglicherweise für die Kostenfunktion machen möchten, und ich weiß, dass wir gerade über eine
gesprochen haben, und es gibt viele verschiedene.
Ein guter Artikel befindet sich auf cross-validiert.
Es wird eine Liste von Kursfunktionen genannt, die in neuronalen Netzwerken neben Anwendungen verwendet werden.
Der Euro ist also da, aber Sie können einfach nach dem genauen Suchbegriff oder Suchbegriff googeln und Sie werden feststellen, dass
dieser der erste ist, der auftaucht.
Es gibt einige gute Beispiele und Anwendungsfälle oder Anwendungsfälle für verschiedene Kostenfunktionen. Wenn Sie also mehr über
Kostenfunktionen erfahren möchten, lesen Sie diesen Artikel.
Und in diesem Sinne hoffe ich, dass Ihnen dieses Tutorial gefällt.
Ich freue mich auf ein nächstes Mal.
Bis dahin tiefes Lernen genießen.