Anmelden

Ziel des Trainingsprozesses

Ein neu erstelltes Neurales Netzwerk weiß nicht wirklich, was es tun soll und ist einfach "Dumm". Um dem Netzwerk einen Sinn im Leben zu geben müssen wir es Trainieren, dass es weiß, was es tun soll. Während des Trainingsprozesses versucht das Netzwerk die Gewichte und Bias-Werte zu Optimieren, um eine bessere Vorhersage geben zu können. Hierfür wird der Fehler für das Neurale Netzwerk berechnet, dieser spiegelt die Abweichung zwischen dem gewünschtem und dem berechnetem Ergebnis wieder. Das Ziel des Trainingsprozesses ist es, den Fehler so weit wie möglich zu minimieren.


Trainingsdaten

Um ein Neurales Netzwerk zu Trainieren, werden Trainingsdaten verwendet.
Trainingsdaten bestehen aus jeweils einem Eingabedatensatz und einem Ausgabedatensatz.

Trainingsdaten Beispiel

Ablauf des Trainingsprozesses

1. Eingabedaten bereitstellen

Das Training beginnt mit  dem bereitstellen von Trainingsdaten. Diese bestehen aus:

  • Eingabewerte (Inputs): Daten, die in das Neurale Netzwerk eingegeben werden.
  • Zielwerte (Labels): Die Ergebnisse, die am Ende einer Vorhersage erwartet werden.

2. Vorhersage (Forward Pass)

Die Eingabedaten werden durch das Netzwerk geleitet, um eine Vorhersage zu erstellen.

  • Jede Schicht im Netzwerk berechnet eine gewichtete Summe der Eingaben:
z = w1 * x1 + w2 * x2 + ... + b
  • Das Ergebnis wird durch eine Aktivierungsfunktion (z.B. ReLU oder Sigmoid) verarbeitet.
  • Die letzte Schicht gibt die Vorhersage aus.

Siehe Vorhersagen


3. Fehlerberechnung (Verlustfunktion)

Der Unterschied zwischen der Vorhersage und den erwarteten Werten wird durch eine Verlustfunktion wie Mean Squared Error (MSE) berechnet.

0 0     erwartet - vorhersage 1 2

Ziel: 
Der Fehlerwert zeigt, wie gut oder schlecht das Netzwerk die Daten verarbeitet. Je kleiner der Fehler, desto besser die Vorhersage.


4. Fehler rückwärts propagieren (Backpropagation)

  1. Ableitung berechnen (Gradient)
    Mithilfe der Kettenregel (Chain Rule) wird die Ableitung (Gradient) der Verlustfunktion berechnet.
    • Der Gradient zeigt die Richtung und Stärke, in der die Gewichte geändert werden müssen.
  2. Fehler zurückpropagieren:
    Der berechnete Fehler wird von der Ausgabeschicht rückwärts durch das Netzwerk geleitet, um alle Gewichte zu aktualisieren.

5. Gewichts und Bias Aktualisierung (Gradient Descent)

Die Gewichte und Bias-Werte werden nun mithilfe des Gradientenabstiegs angepasst:

Formel:

New = Old - dOld * Learningrate

Training in Epochen

Eine Epoche ist ein vollständiger Durchlauf eines Trainingsprozesses.
Es werden mehrere Epochen verwendet, um das Neurale Netzwerk auf die Muster in den Trainingsdaten zu trainieren.


Training in Batches

Satt alle Daten gleichzeitig zu verarbeiten, wird der Datensatz in kleinere Gruppen (Batches) aufgeteilt, um effizienter zu arbeiten.

Bekannte Methoden:

MethodeBeschreibung
Stochastic Gradient DescentTrainiert das Neurale Netzwerk mit einem zufälligen Datensatz pro Epoche
Batch Gradient DescentTrainiert das Neurale Netzwerk mit allen Trainingsdaten gleichzeitig
Mini-Batch Gradient DescentTrainiert das Neurale Netzwerk mit einem Teil der Trainingsdaten.
z.B. 1000 Trainingsdaten könnten in 10 Batches mit jeweils 100 Trainingsdaten verarbeitet werden.