Informatik

Perzeptron: Aufbau, Lernen und XOR-Grenze

Perzeptron: Aufbau, Lernen und XOR-Grenze
Perzeptron: Aufbau, Lernen und XOR-Grenze
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Ein Perzeptron ist ein einfacher binärer Klassifikator: Es gewichtet Eingaben, addiert einen Bias und entscheidet anschließend zwischen den Klassen 0 und 1. Bei linear separierbaren Trainingsdaten findet die klassische Lernregel nach endlich vielen Schritten eine fehlerfreie Trennung. Bei nicht linear separierbaren Daten gilt diese Konvergenzgarantie nicht.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Wie trifft ein Perzeptron eine Entscheidung?

Stell dir vor, zwei Merkmale sollen darüber entscheiden, ob ein Objekt zur Klasse 0 oder zur Klasse 1 gehört. Die Merkmalswerte sind die Eingaben $x_1$ und $x_2$.

Jede Eingabe wird mit einem Gewicht multipliziert. Entscheidend ist das Produkt aus Eingabe und Gewicht: Ein positives Produkt erhöht die gewichtete Summe, ein negatives senkt sie. Sein Betrag zeigt, wie stark die Eingabe in diesem Fall wirkt.

Anschließend berechnet das Perzeptron die gewichtete Summe mit Bias:

$$z=w_1x_1+w_2x_2+b$$

Der Bias $b$ ist ein zusätzlicher konstanter Wert. Er verschiebt die Entscheidungsschwelle. Das ist nützlich, weil die Entscheidungsgrenze dadurch nicht durch den Ursprung des Koordinatensystems verlaufen muss.

Für die hier verwendete Stufenfunktion gilt:

  • Ist $z>0$, lautet die Ausgabe $o=1$.
  • Ist $z\leq0$, lautet die Ausgabe $o=0$.
Definition

Perzeptron

Ein klassisches Perzeptron ist ein künstliches Neuron mit Eingaben, anpassbaren Gewichten, einem Bias und einer binären Aktivierungsfunktion. Es ordnet eine Eingabe einer von zwei Klassen zu.

Merke

Der Rechenweg lautet immer: Eingaben gewichten – Produkte addieren – Bias ergänzen – mit der Schwelle vergleichen.

Teste dich
Frage 1 von 1LeichtWelche Aufgabe hat der Bias?
Lösung: Er verschiebt die Entscheidungsschwelle beziehungsweise Entscheidungsgrenze. — Der Bias wird vor der Aktivierungsentscheidung zur gewichteten Summe addiert. Dadurch kann sich die Lage der Entscheidungsgrenze verändern.
Wie berechnest du eine Ausgabe vollständig?

Gegeben sind zwei Eingaben und die zugehörigen Gewichte:

  • $x_1=1$ und $x_2=1$
  • $w_1=0{,}8$ und $w_2=-0{,}4$
  • $b=-0{,}2$
Beispiel

1. Eingaben gewichten:

$w_1x_1=0{,}8\cdot1=0{,}8$

$w_2x_2=-0{,}4\cdot1=-0{,}4$

2. Produkte und Bias zusammenfassen:

$$z=0{,}8-0{,}4-0{,}2=0{,}2$$

3. Mit der Schwelle vergleichen:

Da $0{,}2>0$ gilt, ist die Ausgabe $o=1$.

Das Perzeptron ordnet diese Eingabe also der Klasse 1 zu. Das negative zweite Gewicht schwächt die Aktivierung, kann sie in diesem Beispiel aber nicht verhindern.

Lückentext

Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.

Zuerst werden Eingaben mit ihren multipliziert. Danach wird der addiert. Bei $z>0$ liefert die verwendete Stufenfunktion die Ausgabe .

Lösungen: Lücke 1: Gewichten; Lücke 2: Bias; Lücke 3: 1. Entscheidend ist die Reihenfolge: gewichten, summieren, Bias ergänzen und erst danach die Aktivierungsentscheidung treffen.
Wie lernt das Perzeptron aus Fehlern?

Das Perzeptron wird überwacht trainiert. Zu jeder Trainingseingabe ist ein Zielwert $t$ bekannt. Nach der Vorhersage vergleicht der Lernalgorithmus diesen Zielwert mit der tatsächlichen Ausgabe $o$.

Für ein Gewicht gilt die Lernregel:

$$w_i^{neu}=w_i^{alt}+\alpha(t-o)x_i$$

Dabei ist $\alpha>0$ die Lernrate. Sie bestimmt die Größe eines Lernschritts.

Die drei möglichen Fälle sind:

  1. Vorhersage richtig: $t-o=0$. Das Gewicht bleibt unverändert.
  2. Klasse 1 wurde übersehen: $t=1$ und $o=0$. Bei einer positiven Eingabe wird das Gewicht erhöht.
  3. Klasse 1 wurde fälschlich vorhergesagt: $t=0$ und $o=1$. Bei einer positiven Eingabe wird das Gewicht vermindert.
Beispiel

Angenommen, $w_1=0{,}8$, $x_1=1$, $t=1$, $o=0$ und $\alpha=0{,}1$. Die Eingabe wurde fälschlich der Klasse 0 zugeordnet.

$$w_1^{neu}=0{,}8+0{,}1(1-0)\cdot1=0{,}9$$

Das Gewicht steigt von $0{,}8$ auf $0{,}9$. Bei einer vergleichbaren Eingabe spricht dieses Merkmal künftig stärker für Klasse 1.

Ein Bias lässt sich wie das Gewicht einer konstanten Eingabe mit dem Wert 1 auffassen und entsprechend anpassen.

Einen Trainingsschritt simulieren

  1. Setze die Eingabewerte ein.
  2. Berechne $z$ und daraus die Ausgabe $o$.
  3. Vergleiche $o$ mit dem Zielwert $t$.
  4. Berechne für jedes Gewicht die Änderung $\alpha(t-o)x_i$.
  5. Verwende die neuen Gewichte erst beim nächsten Trainingsschritt.
Gut zu wissen

Eine große Lernrate erzeugt große Änderungen und kann zu überschießenden Schritten führen. Eine kleine Lernrate verändert die Gewichte vorsichtiger, benötigt aber meist mehr Trainingsschritte.

Teste dich
Frage 1 von 1MittelFür ein Beispiel gelten $t=0$, $o=1$, $x_i=1$ und $\alpha>0$. In welche Richtung ändert sich $w_i$?
Lösung: Das Gewicht wird kleiner. — Die Änderung lautet $\alpha(0-1)\cdot1=-\alpha$. Deshalb wird das Gewicht vermindert.
Wann kann ein Perzeptron die Aufgabe lernen?

Ein einzelnes Perzeptron erzeugt eine lineare Entscheidungsgrenze. Bei zwei Eingaben ist das eine Gerade, bei drei Eingaben eine Ebene und bei noch mehr Eingaben eine sogenannte Hyperebene.

Definition

Lineare Separierbarkeit

Daten sind linear separierbar, wenn eine einzige lineare Entscheidungsgrenze alle Beispiele der Klasse 0 von allen Beispielen der Klasse 1 trennen kann.

Für linear separierbare Trainingsdaten findet die klassische Perzeptron-Lernregel nach endlich vielen Lernschritten eine passende Trennung. Das bedeutet nicht, dass sie für beliebige Daten konvergiert.

Die logischen Funktionen UND und ODER sind linear separierbar. Bei XOR ist die Ausgabe genau dann 1, wenn sich die beiden Eingaben unterscheiden:

$A$$B$$A\operatorname{XOR}B$
000
011
101
110

Die beiden Punkte der Klasse 1 liegen einander diagonal gegenüber. Dasselbe gilt für die Punkte der Klasse 0. Eine einzige Gerade kann die beiden Klassen deshalb nicht trennen.

Merke

Ein einlagiges Perzeptron kann XOR nicht lernen. Wiederholtes Training oder eine andere Lernrate beseitigen diese geometrische Grenze nicht.

Teste dich
Frage 1 von 2LeichtWoran erkennst du ein linear separierbares Problem mit zwei Eingaben?
Lösung: Eine einzige Gerade kann die beiden Klassen vollständig trennen. — Entscheidend ist nicht, ob die Punkte selbst auf einer Geraden liegen, sondern ob eine Gerade als Grenze zwischen den Klassen gezogen werden kann.
Frage 2 von 2MittelWarum scheitert ein einzelnes Perzeptron an XOR?
Lösung: Die beiden Klassen lassen sich nicht durch eine einzige Gerade trennen. — Ein Bias kann eine Gerade verschieben, aber aus einer Geraden keine nichtlineare Grenze machen. Daher bleibt XOR für ein einzelnes Perzeptron unlösbar.
Was ändert sich bei einem mehrlagigen Perzeptron?

Ein mehrlagiges Perzeptron, kurz MLP, besitzt mindestens eine verborgene Schicht zwischen Eingabe und Ausgabe. Die Ausgaben einer Schicht werden zu Eingaben der folgenden Schicht.

In einem Feed-forward-Netz fließen die Informationen nur vorwärts:

  1. Die Eingabeschicht übernimmt die Merkmale.
  2. Verborgene Neuronen bilden Zwischenergebnisse.
  3. Die Ausgabeschicht erzeugt die Vorhersage.

Mehrere Neuronen können verschiedene lineare Teilentscheidungen bilden und diese anschließend kombinieren. So lässt sich XOR beispielsweise als Kombination einfacher logischer Operationen darstellen:

$$A\operatorname{XOR}B=(A\operatorname{OR}B)\operatorname{AND}\operatorname{NOT}(A\operatorname{AND}B)$$

Zum Trainieren verborgener Schichten reicht die einfache Perzeptron-Lernregel nicht aus. Bei Backpropagation wird der Ausgabefehler rückwärts durch das Netz übertragen. Dadurch lässt sich bestimmen, wie die Gewichte der verborgenen Schichten zur Verringerung des Fehlers verändert werden sollen.

Gut zu wissen

Ein MLP ist nicht einfach nur ein größeres einzelnes Perzeptron. Verborgene Schichten und nichtlineare Aktivierungsfunktionen ermöglichen komplexere Entscheidungsgrenzen, erhöhen aber auch den Rechenaufwand und die Schwierigkeit des Trainings.

Teste dich
Frage 1 von 1MittelWelche Änderung ermöglicht einem geeigneten Netz, XOR darzustellen?
Lösung: Eine verborgene Schicht, deren Teilentscheidungen kombiniert werden. — Mehrere geeignete Neuronen können lineare Teilprobleme lösen. Eine weitere Schicht verbindet diese Teilentscheidungen zu einer nichtlinearen Gesamtentscheidung.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • Perzeptron
    • Berechnung: Eingaben, Gewichte, Bias, Aktivierung
    • Lernen: Zielwert, Fehler, Lernrate, Gewichtsänderung
    • Voraussetzung: lineare Separierbarkeit
    • Grenze: XOR benötigt mehr als eine lineare Teilentscheidung
    • Erweiterung: MLP mit verborgener Schicht
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWelche Reihenfolge beschreibt die Ausgabe eines Perzeptrons richtig?
Lösung: Eingaben gewichten, Produkte addieren, Bias ergänzen, Schwelle prüfen. — Die gewichtete Summe einschließlich Bias entscheidet, auf welcher Seite der Schwelle die Eingabe liegt.
Frage 2 von 3MittelEin Perzeptron sagt 0 voraus, obwohl das Ziel 1 ist. Die betrachtete Eingabe ist positiv. Was bewirkt die Lernregel?
Lösung: Das zugehörige Gewicht wird erhöht. — Die Änderung $\alpha(t-o)x_i$ ist in diesem Fall positiv. Das Merkmal erhält dadurch mehr Einfluss in Richtung Klasse 1.
Frage 3 von 3SchwerEin einzelnes Perzeptron scheitert trotz vieler Trainingsdurchläufe an fehlerfreien XOR-Daten. Welche Diagnose ist fachlich richtig?
Lösung: XOR ist nicht linear separierbar; für die Aufgabe wird eine geeignet erweiterte Architektur benötigt. — Das Scheitern folgt aus der Modellgrenze des einzelnen Perzeptrons. Ein geeignetes mehrlagiges Netz kann mehrere lineare Teilentscheidungen kombinieren und XOR darstellen.

Du kannst ein Perzeptron nun nicht nur als künstliches Neuron benennen, sondern seine Entscheidung berechnen, einen Lernschritt begründen und erkennen, wann seine lineare Modellform für eine Aufgabe nicht ausreicht.

Passend dazu