Suche

2.5 Viele Trennungen

Wie lernt ein neuronales Netz mit zwei Eingaben, Entscheidungen zu treffen?

Im Unterschied zu den vorherigen Beispielen, in denen ein einzelnes Neuron erfolgreich gelernt hat, Marienkäfer und Raupen voneinander zu unterscheiden, wird nun ein etwas größeres neuronales Netz eingesetzt (ohne es zu erläutern). Es wird insgesamt vier Klassen von Tieren lernen, die sich sogar leicht überlappen.

In den Beispielen zuvor haben wir gesehen, dass ein Neuron zwei Klassen durch eine Linie voneinander trennen kann. Werden nun mehrere Neuronen eingesetzt, wie das hier der Fall ist, können dementsprechend mehrere Trennlinien verwendet werden, um alle Klassen voneinander zu unterscheiden. Solche Trennungen zwischen Klassen zu finden, ist eine der Hauptaufgaben von neuronalen Netzen. Das alles passiert immer noch (und das wird auch zukünftig so bleiben) nur durch Änderungen der Gewichts- und Schwellwerte. 

Anleitung

  • Klicke Reset: Alles, was das Netz gelernt hat, wird zurückgesetzt.
  • Fahre mit der Maus über die Tiere in der Abbildung: Unter dem Koordinatensystem wird angezeigt, um welches Tier es sich handelt und wie seine Daten sind.
  • Klicke mit der Maus in das Koordinatensystem, um neue Tiere mit der angeklickten Breite und Länge hinzuzufügen.
  • Fahre mit der Maus über die weißen Punkte in der Abbildung, die für unbekannte Tiere stehen: Unter dem Koordinatensystem wird eine Vorhersage angezeigt, um welches Tier es sich handeln könnte und wie seine Daten sind.
  • Klicke Start. Nach dem Training zeigt die Farbgebung im Hintergrund der Abbildung mit den jeweiligen Farben für jedes Feld farblich an, welche Tiere mit diesen Werten für Breite und Länge am ehesten vorhergesagt werden.
Bitte einen anderen Browser benutzen.
Bitte einen anderen Browser benutzen.

Eine vertiefende Betrachtung zum Schluss

Für das neuronale Netz ist es kein Problem, wenn sich die Daten überlappen, wie z. B. die „Mini-Hummel“ an Position (7 / 7) und der große Marienkäfer an Position (7 / 7.5). Neuronale Netze sind sehr fehlertolerant und nehmen solche Missklassifikationen durchaus in Kauf. Immerhin wird der Großteil der Tiere richtig erkannt. Deshalb ist es in den seltensten Fällen überhaupt gewollt oder möglich, eine 100-prozentige Genauigkeit zu erreichen. Man gibt sich oftmals mit 80–90 % zufrieden. In der Natur bzw. beim Umgang mit echten biologischen oder allgemein mit realen Daten kommt es schließlich auch sehr oft zu Überlappungen, wo eine grobe bis fast perfekte Einteilung ausreicht. Darum ordnet man neuronale Netze häufig dem Bereich des sogenannten Soft-Computing zu.

Das neuronale Netz schafft das alles auf diese ungenaue, aber doch geniale Art und Weise, da es ja von Anfang an Fehler macht. Am Anfang (oder nach Klick auf Reset) hält es zumeist alle Felder für dasselbe Tier. Dieser anfangs sehr große Fehler wird dann im Laufe des Trainings immer kleiner. Das Beispiel auf dieser Seite bricht nach 500 Trainings-Epochen ab. Würde das neuronale Netz aus mehr Neuronen bestehen und viel länger trainiert werden, würde es vielleicht neue, zusätzliche, kleinere Trennlinien so um die Überlappungen legen, dass die roten und blauen Bereiche wirklich alle Marienkäfer bzw. Hummeln enthielten. Die Trennlinien wären aber nicht mehr so schön einfach und gerade. Fachsprachlich ausgedrückt hieße das: Das neuronale Netz wäre übertrainiert, es würde jetzt vielleicht 100 % der Trainingsdaten erkennen, aber neue Daten gar nicht mehr so gut generalisieren, also richtig in die Klassenbereiche einordnen können. Deshalb hält man die Zahl der Neuronen möglichst gering, verwendet sehr viele Trainingsdaten und stoppt das Training möglichst früh. Auch sollte man die Güte eines neuronalen Netzes immer mit neuen, unbekannten Testdaten überprüfen. 

Schliesse Suche