Perzeptron: Aufbau, Lernen und XOR-Grenze
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.
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$.
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.
Der Rechenweg lautet immer: Eingaben gewichten – Produkte addieren – Bias ergänzen – mit der Schwelle vergleichen.
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$
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.
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 .
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:
- Vorhersage richtig: $t-o=0$. Das Gewicht bleibt unverändert.
- Klasse 1 wurde übersehen: $t=1$ und $o=0$. Bei einer positiven Eingabe wird das Gewicht erhöht.
- Klasse 1 wurde fälschlich vorhergesagt: $t=0$ und $o=1$. Bei einer positiven Eingabe wird das Gewicht vermindert.
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
- Setze die Eingabewerte ein.
- Berechne $z$ und daraus die Ausgabe $o$.
- Vergleiche $o$ mit dem Zielwert $t$.
- Berechne für jedes Gewicht die Änderung $\alpha(t-o)x_i$.
- Verwende die neuen Gewichte erst beim nächsten Trainingsschritt.
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.
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.
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$ |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
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.
Ein einlagiges Perzeptron kann XOR nicht lernen. Wiederholtes Training oder eine andere Lernrate beseitigen diese geometrische Grenze nicht.
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:
- Die Eingabeschicht übernimmt die Merkmale.
- Verborgene Neuronen bilden Zwischenergebnisse.
- 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.
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.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- 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
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.
Mit Google fortfahren