Künstliche Intelligenz mit Java
Maschinelles Lernen mit Neuronalen Netzwerken

4.2. Überwachtes Lernen durch Training

Im Kapitel über das Lernen mit nur einem Neuron ist das Thema Training schon angesprochen worden. Jetzt soll es für Neuronale Netze vertieft werden.

Beim überwachten Lernen benötigt man zuerst Eingangsdaten und die dazugehörigen richtigen Ausgangsdaten. Diese Daten werden in der Regel aufgeteilt:

  • 70% der Daten werden als Trainingsdaten genommen.
  • 30% der Daten werden als Testdaten genommen.

Ein erstes Qualitätsmerkmal für den Erfolg des Lernens ist, wieviel Prozent der Trainingsdaten nach dem Training den richtigen Output erzeugen. Fast noch interessanter ist dann, wieviel Prozent der Testdaten (die ja das Netzwerk vorher nie zum Trainieren erhalten hat) das richtige Ergebnis liefern.

Algorithmisch sieht das Lernen durch Training gar nicht mal so kompliziert aus (*Q26):

erstelle Daten, teile diese auf und nehme die Trainingsdaten

solange die Anzahl der Epochen noch nicht erreicht ist, tue

  mache einen Forward-Pass mit einer zufällig ausgewählten Eingangskombination

  berechne den Fehler zwischen realem Output und gewünschtem Output

  mache einen Backward-Pass in Abhängigkeit vom Fehler

Daten

Als erstes braucht man Daten, je mehr, umso besser (z. B. Aufnahmen von Gewebe als Input und die Information, ob es sich um Krebs handelt oder nicht als Output).

Danach werden diese Daten in 2 Kategorien aufgeteilt: Als guter Wert hat sich 70% für die sog. Trainingsdaten herausgestellt und 30% für die sog. Testdaten. Mit den letztgenannten findet man heraus, wie gut das Training funktioniert hat. Es gibt 2 Qualitätskriterien: wie viele der Trainingsdaten haben einen richtigen Output erzeugt und wie viele Testdaten haben das richtige Ergebnis geliefert.

Epochen

Die Anzahl der Epochen ist ein wichtiger Hyperparameter für das Training von Neuronalen Netzen. Klar ist, dass, wenn das Training zu kurz (Epochenanzahl niedrig) ist, nicht richtig gelernt werden kann (Underfitting). Wird die Epochenanzahl aber zu hoch eingestellt, kann es zu Überlernen (engl. Overlearning) bzw. Überanpassung (engl. Overfitting, s. Abbildung 26) kommen. Das Netzwerk lernt quasi nur auswendig  (was ja leider häufig auch in der Schule passiert) und nicht die dahinterstehenden Regeln zwischen Input und Output.

- 28 -