Training

A6 – Rechts sehen wir ein untrainiertes Perzeptron. Seine Gewichte sind alle auf 0 (Null) eingestellt. Wie würde es folgende Filme bewerten:

  • Lego Batman: Comedy (1), Action (1)

  • Die Simpsons: Comedy (1), Action (0)

  • James Bond: Comedy (0), Action (1)

  • Scream: Comedy (0), Action (0)

Antwort: Alle Filme würden mit dislike bewertet werden.

  • Lego Batman: 0 (Bias) + 0 (Comedy) + 0 (Action) = 0 --> nicht grösser als 0, daher dislike

  • Die Simpsons: 0 (Bias) + 0 (Comedy) = 0 --> nicht grösser als 0, daher dislike

  • James Bond: 0 (Bias) + 0 (Action) = 0 --> nicht grösser als 0, daher dislike

  • Scream: 0 (Bias) = 0 --> nicht grösser als 0, daher dislike

Abb. 7: Untrainiertes Perzeptron

Trainingsdaten

Tabelle 2 enthält unsere Trainingsdaten. Wie wir am Anfang definiert haben, unterscheiden wir für unsere Übungen nur zwischen vier Klassen. Eine Klasse ist in unserem Beispiel eine Gruppe von Filmen mit den gleichen Eigenschaften (repräsentiert durch die vier Spalten 2 bis 5).

Wir gehen der Einfachheit halber davon aus, dass eine Person alle Filme der gleichen Klasse genau gleich mag, bzw. nicht mag. Für das Training spielt es also keine Rolle, welchen Film wir auswählen, solange er aus der gleichen Klasse stammt.

Bei den roten und gelben Felder aus der Tabelle handelt es sich um klassifizierte Trainingsdaten. Die Gewichte des Perzpetrons sollen nun so "trainiert" werden, damit sie sich dem Geschmack der Personen – also den Daten aus der Tabelle – anpassen:

Tabelle 2: Übersicht der Trainingsdaten (Kategorien und Personen mit unterschiedlichen Filmgeschmäckern).Die Personen existieren nicht in Wirklichkeit. Es sind computergenerierte Gesichter der Seite thispersondoesnotexist.com

Als Beispiel soll hier gezeigt werden, wie das Training bei Kim aussehen würde. Unser Ziel ist es aus den vorhandenen Daten, die wir über Kim wissen, ein Perzeptron zu trainieren, damit es seinen Filmgeschmack wiederspiegeln kann. Nach dem Training soll das Perzeptron zukünftig neue Filme in den gleichen Filmkategorien gleich einordnen, wie es das beim Training "gelernt" hat. Wir nutzen also das bekannte Verhalten von Kim (die Daten aus der Tabelle), um diese für die Vorhersage zu nutzen, ob er einen beliebigen Film auch mögen wird. Dazu zeigen wir dem Perzeptron zufällig einen Film und berechnen damit die entsprechende Zuordnung.

Abb. 8: Perzeptron beim Training

Wir starten per Zufall mit dem Film "Transformers". Bei den Filmen aus dieser Klasse sind nur der Bias und Input 2 (Action) aktiv. Das heisst, unser Perzeptron rechnet:

Bias + Action

0 + 0 = 0

Da 0 (Null) nicht grösser als 0 ist, sagt das Perzeptron voraus, dass Kim den Film nicht mag. Diese Voraussage ist falsch. Wir müssen also die Gewichte anpassen, damit der Film beim nächsten Mal richtig klassifiziert wird. Bei einer falschen Voraussage verändern wir jeweils nur die aktiven Gewichte, in diesem Fall also Bias und Input 2. Die beiden Werte müssen vergrössert werden, weil Kim den Film ja in Wirklichkeit mag und wir einen zu tiefen Wert vorausgesagt haben.

Wäre die Voraussage korrekt gewesen, hätten wir die Gewichte nicht verändern müssen.

A7 – Als nächstes zeigen wir dem Perzeptron "Free Guy". Was passiert mit den Gewichten?

Das Perzeptron berechnet, dass Kim den Film mag. Weil der Bias und beide Inputs aktiv sind, lautet die Rechnung 1 + 0 + 1 = 2. Das ist grösser als 0 und somit richtig vorhergesagt.

A8 – Was passiert mit den Gewichten, wenn wir den Film "Es - Kapitel 2" zeigen?

Nur der Bias ist aktiv. Dieser ist 1 und somit grösser als 0. Das Perzeptron sagt also voraus, dass Kim den Film mag. Da Kim den Film in Wirklichkeit nicht mag, muss der Wert des Bias verkleinert werden. Die Gewichte lauten nach dieser Anpassung:

Bias = 0

Input 1 = 0

Input 2 = 1

A9 – Der Rest des Trainings ist eine Wiederholung der bisherigen Schritte. Da das Training des Perzeptrons immer nach der gleichen Handlungsvorschrift abläuft, handelt es sich per Definition um einen Algorithmus. Kannst du diesen Lernalgorithmus in eigenen Worten festhalten?

Setze alle Gewichte auf 0

Während (Voraussagen stimmen nicht bei allen vier Filmen):

Wähle zufällig einen Film

Summe = Addiere aktive Gewichte

Wenn (Summe grösser als Null):

Voraussage = 1 (Like)

Sonst:

Voraussage = 0 (Dislike)

Wenn (Voraussage < Tatsächliche Bewertung):

Ändere aktive Gewichte + 1

Sonst wenn (Voraussage > Tatsächliche Bewertung):

Ändere aktive Gewichte – 1

A10 – Du kennst jetzt alle nötigen Daten und Rechenvorschriften, um das Perzeptron für die restlichen fünf Personen zu trainieren. Arbeite alleine oder teile die Arbeiten in der Gruppe auf. Notiere für jede Person in jeweils 1-2 kurzen Sätzen...

  1. wie du ihren Filmgeschmack aufgrund der Angaben aus der Tabelle beschreiben würdest.

  2. wie lange das Perzeptron brauchte, um alle Film (-kategorien) korrekt vorherzusagen.

(Musterlösung)

A11 – Der Lernalgorithmus endet bei fast allen Personen. Das heisst, die Gewichte müssen nicht länger angepasst werden, da das Perzeptron die Bewertung ("like" oder "dislike") für Filme aus allen vier Klassen korrekt zuordnet. Bei welcher Person stimmen die Zuordnungen auch nach mehr als 20 Anpassungen noch nicht?

Sara mag nur zwei Kategorien von Filmen: Reine Komödien und reine Actionfilme. Action-Komödien findet sie aber schrecklich. Auch alle anderen Filme, die sich nicht in die beiden Klassen einordnen lassen, gefallen ihr nicht. Diese spezielle Ausprägung nennt sich Kontravalenz oder XOR und ist für unseren einfachen Perzeptron-Lernalgorithmus nicht lösbar.

Obwohl die Idee des Perzeptrons von 1957 als Grundlage für künstliche neuronale Netze gilt, führte die Unlösbarkeit des XOR-Problems in den 1970er-Jahren dazu, dass die Forschung in diesem Bereich für mehr als zehn Jahre fast eingestellt wurde.