Inhaltsverzeichnis
Backpropagation
In den bisherigen Aufgaben dieses Kapitels haben wir anhand vorgegebener gelabelter Testdaten künstliche Neuronen und dann neuronale Netze "von Hand" erstellt, sodass sie die durch die Testdaten vorgegebene Kategorisierung möglichst gut wiedergaben. In der Praxis sind die neuronalen Netze ungleich umfangreicher, sodass diese Vorgehensweise nicht tragfähig ist. Benötigt wird ein Algorithmus, der
- bei vorgegebenen gelabelten Trainingsdaten und
- vorgegebener Struktur des neuronalen Netzes (d.h. Anzahl der Schichten, Anzahl der Neuronen in den Schichten, gegebenen Aktivierungsfunktionen)
Gewichte und die Schwellenwerte ermitteln kann, die das neuronale Netz befähigen, sowohl bei den Trainingsdaten als auch anschließend bei den Testdaten möglichst passende Ausgabewerte zu liefern.
Wir werden in diesem Kapitel die grobe Vorgehensweise eines solchen Algorithmus kennenlernen. Die detaillierten Berechnungen sind nicht Gegenstand des Informatiklehrplans. Interessierten Schülerinnen und Schülern lege ich die Videos von Grant Sanderson dazu (s.u.) sehr ans Herz!
Die Ermittlung der Gewichte und Schwellenwerte mithilfe von Backpropagation folgt immer folgendem groben Ablaufplan:
- 1. Gewichte und Schwellenwerte des neuronalen Netzes zufällig belegen
- 2. Forward-Propagation mit dem ersten Trainingsdatensatz
- 3. Ermittlung der Abweichung der Ausgabewerte von den korrekten Werten (d.h. dem "Label" des Trainingsdatensatzes) mithilfe einer Kostenfunktion.
- 4. Verbesserung der Gewichte und Schwellenwerte, sodass der Wert der Kostenfunktion für den aktuellen Trainingsdatensatz etwas niedriger wird.
- Fahre fort bei Schritt 2 mit dem nächsten Trainingsdatensatz.
Kostenfunktion
Als Kostenfunktion wird meist die mittlere quadratische Abweichung des Ausgabewertes $(IstWert_1, ..., IstWert_n)$ der Forward-Propagation vom Label $(Sollwert_1, ..., Sollwert_n)$ des Testdatensatzes ermittelt: $$MSE = \frac{1}{n} \sum_{i=1}^{n} (IstWert_i - Sollwert_i)^2$$ Die mittlere quadratische Abweichung wird oft auch als mittlerer quadratischer Fehler (engl. mean squared error) bezeichnet.
Wird man sich bewusst, dass bei fest vorgegebenem Testdatensatz die Eingangswerte und die Sollwerte konstant sind, so ist der mittlere quadratische Fehler eine Funktion
$f(w_1, w_2, ..., w_m, \theta_1, \theta_2, ..., \theta_k)$ von ${\rm I\!R}^{m + k} \rightarrow {\rm I\!R}$
Die Anpassung der Gewichte und Schwellenwerte wird jeweils so vorgenommen, dass sie sich ein Stück weit auf das am nächsten gelegene lokale Minimum dieser Funktion zubewegen.
Einfluss von Trainingsdaten und Hyperparametern auf den Lernerfolg künstlicher neuronaler Netze
Die Güte eines künstlichen neuronales Netzes misst man, indem man einen Satz gelabelter Testdaten mithilfe des Netzes klassifiziert und den Bruchteil der korrekt klassifizierten Daten bestimmt.
Was beeinflusst die Güte?
- Ist die Anzahl der Trainingsdaten zu gering oder decken sie die möglichen Ausgabewerte des neuronalen Netzes ("Ausprägungen" der Daten) nicht gleichmäßig genug ab, so wird das Netz zu sehr auf die einzelnen Trainingsdatensätze trainiert und generalisiert zu wenig, sodass es ihm unbekannte Testdaten dann nicht sicher genug klassifizieren kann.
- Auch die Qualität der Trainingsdaten beeinflusst die Güte des neuronalen Netzes, da falsch gelabelte/verzerrte Datensätze mitgelernt werden.
- Anzahl der Schichten
- Anzahl der Neuronen
- Aktivierungsfunktionen der Neuronen
- Anzahl der Iterationen im Lernvorgang (Epochen == vollständige Durchläufe durch alle Trainingsdaten)
Aufgaben
Seite 151/1 Seite 151/2
Grant Sandersons Videos (3blue1brown)
Es gibt eine Video-Reihe zu neuronalen Netzen von Grant Sanderson (Youtube-Kanal 3blue1brown), deren Qualität so hervorragend ist, dass Sie sie unbedingt ansehen sollten. Sie ergänzt und vertieft die Ausführungen in diesem Skript auf sehr gute Art und Weise und Weise!
Hier der Link zur kompletten Playlist in Youtube.
Vieles in den Videos ist natürlich nicht lehrplanrelevant, insbesondere die Videos zu Large Language Models (LLMs).
Nachfolgend die Videos aus der Liste, die Sie sich unbedingt ansehen sollten.
1. Einführung in neuronale Netze
2. Kostenfunktion, Gradientenverfahren
3. Backpropagation (intuitiv)
4. Backpropagation (Analysis)
Bemerkung: Dieses Video geht weit über die Inhalte hinaus, die der Lehrplan vorsieht.

