PyTorch - Grundlagen des neuronalen Netzwerks
Das Hauptprinzip des neuronalen Netzwerks umfasst eine Sammlung von Grundelementen, dh künstliches Neuron oder Perzeptron. Es enthält mehrere grundlegende Eingänge wie x1, x2… .. xn, die einen Binärausgang erzeugen, wenn die Summe größer als das Aktivierungspotential ist.
Die schematische Darstellung des Probenneurons wird unten erwähnt -
Die erzeugte Ausgabe kann als gewichtete Summe mit Aktivierungspotential oder Vorspannung betrachtet werden.
$$ Output = \ sum_jw_jx_j + Bias $$
Die typische neuronale Netzwerkarchitektur wird unten beschrieben -
Die Schichten zwischen Eingabe und Ausgabe werden als verborgene Schichten bezeichnet, und die Dichte und Art der Verbindungen zwischen Schichten ist die Konfiguration. Beispielsweise sind bei einer vollständig verbundenen Konfiguration alle Neuronen der Schicht L mit denen von L + 1 verbunden. Für eine ausgeprägtere Lokalisierung können wir nur eine lokale Nachbarschaft, beispielsweise neun Neuronen, mit der nächsten Schicht verbinden. Abbildung 1-9 zeigt zwei verborgene Schichten mit dichten Verbindungen.
Die verschiedenen Arten von neuronalen Netzen sind wie folgt:
Feedforward Neuronale Netze
Feedforward-Neuronale Netze umfassen Grundeinheiten der Familie der Neuronalen Netze. Die Bewegung von Daten in diesem Typ eines neuronalen Netzwerks erfolgt von der Eingangsschicht zur Ausgangsschicht über gegenwärtige verborgene Schichten. Die Ausgabe einer Schicht dient als Eingabeschicht mit Einschränkungen für jede Art von Schleifen in der Netzwerkarchitektur.
Wiederkehrende neuronale Netze
Wiederkehrende neuronale Netze treten auf, wenn sich das Datenmuster über einen Zeitraum hinweg ändert. In RNN wird dieselbe Schicht angewendet, um die Eingabeparameter zu akzeptieren und Ausgabeparameter in einem bestimmten neuronalen Netzwerk anzuzeigen.
Neuronale Netze können mit dem Paket torch.nn aufgebaut werden.
Es ist ein einfaches Feed-Forward-Netzwerk. Es nimmt die Eingabe auf, führt sie nacheinander durch mehrere Ebenen und gibt schließlich die Ausgabe aus.
Mit Hilfe von PyTorch können wir die folgenden Schritte für ein typisches Trainingsverfahren für ein neuronales Netzwerk ausführen:
- Definieren Sie das neuronale Netzwerk mit einigen lernbaren Parametern (oder Gewichten).
- Iterieren Sie über einen Datensatz von Eingaben.
- Eingaben über das Netzwerk verarbeiten.
- Berechnen Sie den Verlust (wie weit ist die Ausgabe von der Richtigkeit entfernt).
- Übertragen Sie Gradienten zurück in die Netzwerkparameter.
- Aktualisieren Sie die Gewichte des Netzwerks, normalerweise mithilfe eines einfachen Updates, wie unten angegeben
rule: weight = weight -learning_rate * gradient