Ein neuronales Netzwerk aufbauen das Nichtlinearitäten lernt, mit der folgenden bekannten Modellstruktur beginnen: lineares Modell der Form $y = b + w_1x_1 + w_2x_2 + w_3x_3$.
Diese Gleichung lässt sich wie unten dargestellt visualisieren, wobei $x_1$, $x_2$ und $x_3$ sind unsere drei Eingabeknoten (in Blau) und $y'$ ist unser Ausgabeknoten (in grün).
Übung 1
Im obigen Modell sind die Werte weight und bias-Werte sind zufällig initialisiert. Führen Sie die folgenden Aufgaben durch, um sich mit dem und erkunden das lineare Modell. Sie können das Drop-down-Menü Aktivierungsfunktion vorerst ignorieren. besprechen wir das weiter unten im Modul.
Klicken Sie über dem Netzwerk auf die Schaltfläche „Wiedergabe“ (▶️), um den Wert den Ausgabeknoten für die Eingabewerte $x_1 = 1.00$, $x_2 = 2.00$ und $x_3 = 3,00$.
Klicken Sie auf den zweiten Knoten im Eingabeschicht und erhöhen Sie den Wert von 2,00 bis 2,50. Beachten Sie, dass sich der Wert des Ausgabeknotens ändert. Ausgabe auswählen Knoten (in grün) und sehen Sie sich den Bereich Berechnungen an, um zu sehen, wie sich die Ausgabe -Wert berechnet.
Klicken Sie auf den Ausgabeknoten (in grün), um die Gewichtung ($w_1$, $w_2$, $w_3$) anzuzeigen. Bias ($b$)-Parameterwerte. Verringern Sie den Gewichtungswert für $w_3$ (Beachten Sie wieder, dass der Wert des Ausgabeknotens und die Berechnungen geändert wurden). Erhöhen Sie dann den Wert für die Verzerrung. Sehen Sie sich an, wie diese Änderungen die Modellausgabe beeinflusst haben.
Ebenen zum Netzwerk hinzufügen
Wenn Sie die Werte für Gewichtung und Verzerrung des Netzwerks in Übung 1: Durch die Änderung wurde die mathematische Gesamtberechnung Beziehung zwischen Eingabe und Ausgabe. Unser Modell ist immer noch ein lineares Modell.
Aber was ist, wenn wir dem Netzwerk eine weitere Schicht hinzufügen, und die Ausgabeebene? In der Terminologie von neuronalen Netzwerken sind zusätzliche Schichten zwischen werden die Eingabe- und die Ausgabeschicht verborgene Ebenen und die Knoten in diesen Schichten werden als Neuronen
Der Wert jedes Neurons in der verborgenen Schicht wird auf dieselbe Weise berechnet wie die Ausgabe eines linearen Modells: Nehmen Sie die Summe des Produkts jeder Eingabe. (die Neuronen in der vorherigen Netzwerkschicht) und einen eindeutigen Gewichtungsparameter, plus die Voreingenommenheit. Die Neuronen der nächsten Schicht (hier die Ausgabeschicht) werden mit den Neuronenwerten der verborgenen Schicht als Eingaben berechnet.
Dank dieser neuen verborgenen Ebene kann unser Modell die Eingabedaten mit einer anderen Gruppe von Parametern. Kann das Modell damit nicht lineare Beziehungen lernen?
Übung 2
Wir haben dem Modell eine versteckte Schicht mit vier Neuronen hinzugefügt.
Klicken Sie über dem Netzwerk auf die Schaltfläche „Wiedergabe“ (▶️), um den Wert die vier Knoten mit versteckter Schicht und den Ausgabeknoten für die Eingabewerte $x_1 = 1,00$, $x_2 = 2,00$ und $x_3 = 3,00$.
Sehen Sie sich dann das Modell an und verwenden Sie es, um die folgenden Fragen zu beantworten.
Versuchen Sie, die Modellparameter zu ändern, und beobachten Sie die Auswirkungen auf die Hidden-Layer-Knotenwerte und den Ausgabewert (Sie können sich die Berechnungsbereich unten, um zu sehen, wie diese Werte berechnet).
Kann dieses Modell Nichtlinearitäten lernen?
Wenn Sie auf jeden Knoten in der ausgeblendeten Ebene klicken, Berechnungen unten sehen, sind sie alle linear (umfasst Multiplikation und Addition).
Wenn Sie auf den Ausgabeknoten klicken und die Berechnung überprüfen, sehen Sie, dass diese Berechnung ebenfalls linear ist. Linear mit linearen Berechnungen durchgeführte Berechnungen linear, d. h., das Modell kann Nichtlinearitäten nicht lernen.