Neuronale Netze · Verständlich erklärt

Das Perceptron verständlich erklärt

Wer Aufträge einer von zwei Sorten zuordnen will, kann eine gerade Linie zwischen die Sorten legen. Das Perceptron ist das einfachste Verfahren, das so eine Linie aus Beispielen lernt: Es verschiebt sie nach jedem Fehler ein Stück. Dabei zeigt sich, was eine Gerade kann und wo sie nicht mehr reicht. Diese Seite erklärt das zuerst ohne Formeln und danach für Fachleute mit Modell, Formeln, Messwerten und Grenzen. Sie ist zugleich der Einstieg in das Thema neuronale Netze auf dieser Website, auch ohne Vorwissen.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.

Eine Linie zwischen zwei Sorten von Aufträgen

Ein Bild, das nicht aus der Demo stammt: Ein Disponent hat Aufträge auf einem Plan eingezeichnet. Ein Auftrag liegt umso weiter rechts, je schwerer er ist, und umso weiter oben, je dringender er ist. Rote Punkte sind Aufträge, die als Express gefahren wurden, blaue Punkte Aufträge, die normal gefahren wurden. Nun soll eine gerade Linie die roten von den blauen trennen. Für einen neuen Auftrag müsste man dann nur noch schauen, auf welcher Seite der Linie er liegt, um ihn einzuordnen.

Ein Perceptron ist das einfachste Verfahren, das eine solche Linie aus Beispielen lernt. Niemand gibt die Linie vor, das Verfahren findet sie selbst. Es ist der einfachste Baustein der neuronalen Netze. Das sind Rechenverfahren, die ihre Regeln aus Beispielen ableiten, statt dass jemand sie vorschreibt. Die zugehörige Demo, ein Programm zum Ausprobieren, beginnt mit diesem einfachsten Fall, weil sich an ihm gut sehen lässt, was eine einzelne Gerade leisten kann.

Das Verfahren: nach jedem Fehler ein Stück schieben

Am Anfang hat das Verfahren noch keine sinnvolle Linie. Es geht die Aufträge der Reihe nach durch. Liegt ein Auftrag auf der richtigen Seite, passiert nichts. Liegt er auf der falschen Seite, schiebt das Verfahren die Linie ein Stück so, dass dieser Auftrag der richtigen Seite näher kommt. Mehr tut es nicht. Es rechnet nicht über alle Aufträge zugleich und sucht nicht die beste Linie, es reagiert nur auf Fehler.

Ein Durchgang durch alle Aufträge ist ein Lernschritt im Großen (Fachleute nennen ihn Epoche, hier heißt er Durchgang). Gibt es in einem Durchgang keinen einzigen Fehler mehr, ist das Verfahren fertig. Eine Korrektur für einen Auftrag kann andere Aufträge, die vorher richtig lagen, auf die falsche Seite schieben. Deshalb kann es mehrere Durchgänge brauchen.

Wenn eine Gerade reicht

Lässt sich überhaupt eine gerade Linie finden, die rote und blaue Punkte sauber trennt, dann wird das Verfahren nach endlich vielen Korrekturen fertig. Praktisch heißt das: Es bleibt nicht endlos hängen. Mathematisch bewiesen ist das für den Idealfall, dass die Beispiele trennbar sind, sich nicht ändern und das Verfahren sie immer in derselben Reihenfolge durchgeht. In der Demo reichten bei den erzeugten, sauber getrennten Punktwolken wenige Korrekturen.

Die Mathematik nennt auch eine Höchstzahl an Korrekturen, die steigt, wenn der Abstand der Wolken sinkt. Das Verfahren brauchte in der Demo selbst beim kleinsten einstellbaren Abstand nur einen kleinen Bruchteil davon.

Wenn eine Gerade nicht reicht

Nun ein anderer Plan: Rote Punkte liegen links unten und rechts oben, blaue links oben und rechts unten, wie die vier Felder eines Kreuzes. Fachleute nennen dieses Muster XOR. Keine einzelne gerade Linie trennt hier rot von blau, wie auch immer man sie zeichnet. Das Verfahren weiß das nicht und korrigiert weiter.

In der Demo blieb deshalb in jedem Durchgang bis zum Abbruch mindestens ein Fehler, und die Linie wanderte weiter hin und her, statt zur Ruhe zu kommen. Das ist der eigentliche Punkt der Demo: Das Perceptron lernt, was eine Gerade trennen kann, und scheitert dort, wo eine Gerade nicht reicht.

Was dann hilft, ist die Kombination mehrerer Linien. Zwei Linien, die sich kreuzen, teilen den Plan in vier Felder. Rot liegt in zwei diagonal gegenüberliegenden Feldern, blau in den anderen beiden. Erst beide Linien zusammen ordnen also jeden Punkt richtig ein. Ein Netz aus mehreren Schichten arbeitet nach diesem Prinzip: Die erste Schicht legt solche Linien, die zweite wertet aus, in welchen Feldern ein Punkt liegt. Wie so ein Netz lernt, zeigt eine weitere Demo auf dieser Website.

Wie ernst ist das Modell zu nehmen?

Die Demo arbeitet mit erzeugten Punktwolken in der Ebene, nicht mit echten Aufträgen, und bewertet nur die Punkte, an denen das Verfahren lernt, nicht neue Punkte. Sie zeigt, was eine einzelne Trenngerade grundsätzlich kann und wo sie endet.

Was Sie mitnehmen: Eine einzelne Trennregel nach dem Muster „ab dieser Schwere und dieser Dringlichkeit Express“ reicht nur, solange sich die Fälle durch eine Linie trennen lassen. Fragen Sie einen Anbieter, der ein lernendes Verfahren einsetzt, wie viele der Lernfälle es am Ende noch falsch einordnet. Sinkt dieser Rest bei diesem einfachen Verfahren auch nach langem Lernen nicht auf null, trennt eine einzelne Linie die Fälle offenbar nicht. Beachten Sie: Der Rest wird nur an den Lernfällen gemessen und sagt nichts über neue Fälle, und die Aussage gilt für dieses einfache Verfahren, nicht für Netze aus mehreren Schichten.

Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.

Teil 2 · Für Fachleute

Modell und Annahmen

Dieser Teil ist eigenständig lesbar. Er fasst die formale Beschreibung der Demo zusammen; die vollständige Fassung steht im Expander „📐 Mathematische Formulierung“ der Demo.

  • Modell: Punkte \(x_i\) der Ebene mit Klassen \(y_i \in \{-1,+1\}\); Gewichte \(w\) und Bias \(b\); die Klasse ergibt sich aus dem Vorzeichen von \(w \cdot x_i + b\). Eine Marge von genau null zählt in der Vorhersage als Klasse \(+1\) (Konvention im Quelltext).
  • Verfahren: Start mit \(w=0\), \(b=0\). Eine Epoche ist ein Durchlauf über alle Punkte in fester Reihenfolge; bei einer Marge \(\le 0\) folgt ein Update. Eine Epoche ohne Update gilt als Konvergenz, sonst endet der Lauf bei der eingestellten Höchstzahl an Epochen. Die Lernregel ist von Grund auf mit Zählern geschrieben, sklearn dient nur als Testreferenz.
  • Trennbares Szenario: zwei Punktwolken um \((\pm\text{gap}/2,\, 0)\), gezogen aus einer Scheibe mit festem Radius (beschränktes Rauschen). Bei \(\text{gap} > 2\cdot\text{spread}\) ist Trennbarkeit konstruktiv garantiert, mit exakt bekannter Marge. Ein Regler steuert den Abstand der Zentren und damit direkt die Marge.
  • XOR-Szenario: vier Quadranten-Wolken, diagonal gegenüberliegende teilen die Klasse. Die Regler der Demo sind Datenmodus, Abstand der Zentren, Zahl der Punkte, Lernrate \(\eta\), Höchstzahl der Epochen und Zufalls-Seed; drei Presets laden durchgerechnete Beispiele.

Die Formeln

Die Demo kennt keine abgesetzten Formeln, die Formulierung steht im Fließtext. Der Kern ist die Update-Regel (Rosenblatt 1958): Für einen Punkt \((x_i, y_i)\) berechnet das Verfahren die Marge \(y_i (w \cdot x_i + b)\). Ist sie \(\le 0\) (Punkt falsch oder genau auf der Grenze), gilt \(w \leftarrow w + \eta\, y_i x_i\) und \(b \leftarrow b + \eta\, y_i\).

Die Novikoff-Schranke (1962) lautet: Existiert eine Trennebene mit Marge \(\gamma = \min_i y_i(w^* \cdot x_i + b^*)/\lVert w^*\rVert\) und ist \(R = \max_i \lVert x_i\rVert\), dann macht die Regel höchstens \((R/\gamma)^2\) Fehler (Updates) bis zur Konvergenz. Streng gilt das für Trennebenen durch den Ursprung bzw. ohne Bias-Update. Lernt der Bias wie hier mit, ist er eine Zusatzkoordinate mit Wert 1, und die strenge Schranke lautet \((R^2+1)/\gamma^2\). Die Demo zeigt \((R/\gamma)^2\) als Richtgröße, der Unterschied ist laut Demo hier gering.

In der Demo wird die Trennebene \(w=(1,0)\), \(b=0\) konstruktiv verwendet. Ihre exakte Marge ist \(\gamma = \text{gap}/2 - \text{spread}\); eine Maximalmargen-Rechnung (SVM oder Lineares Programm) ist dafür nicht nötig.

Beweisidee (Standardwissen, nicht aus der Demo übernommen): Man hängt den Bias als Zusatzkoordinate an und betrachtet \(z_i = y_i (x_i, 1)\). Nach \(k\) Updates ist die Summe \(v_k\) der gewichteten \(z_i\) (Faktor \(\eta\)) mindestens \(k\eta\gamma\) in Richtung der Trennebene gewachsen. Zugleich wächst \(\lVert v_k\rVert^2\) je Update um höchstens \(\eta^2 (R^2+1)\), weil ein Update nur bei einer Marge \(\le 0\) erfolgt. Beides zusammen ergibt \(k \le (R^2+1)/\gamma^2\), unabhängig von \(\eta\).

Befunde

Alle Zahlen stammen aus der README der Demo. Der Marge-Sweep nutzt je 15 Zufalls-Seeds, \(n=40\) Punkte und \(\eta=1{,}0\); die Schranke steht für Seed 14. „Ausnutzung“ ist der größte Quotient aus Updates und Schranke je Seed. Die Presets sind einzelne Läufe.

FrageBefund
Hält die Novikoff-Schranke auf trennbaren Daten?Ja: 0 Verletzungen über 50 Seeds, und das Perceptron konvergierte jedes Mal.
Marge-Sweep, gap 4,00 (Marge γ 1,000)Schranke 8,4; höchstens 1 Update über 15 Seeds; Ausnutzung bis 12,9 %.
Marge-Sweep, gap 3,00 (Marge γ 0,500)Schranke 23,3; höchstens 2 Updates; Ausnutzung bis 8,7 %.
Marge-Sweep, gap 2,40 (Marge γ 0,200)Schranke 112,2; höchstens 2 Updates; Ausnutzung bis 2,0 %.
Marge-Sweep, gap 2,10 (Marge γ 0,050)Schranke 1.555,6; höchstens 4 Updates; Ausnutzung bis 0,24 %.
Marge-Sweep, gap 2,02 (Marge γ 0,010)Schranke 37.365,5; höchstens 4 Updates; Ausnutzung bis 0,012 %.
Wie verhalten sich die zwei trennbaren Presets?Große Marge: konvergiert nach 2 Epochen mit 1 Update (γ 1,000, Schranke 8,6). Knappe Marge: ebenfalls 2 Epochen, 2 Updates (γ 0,050, Schranke 1.585,1). Die Schranke ist ein gültiges Worst-Case-Versprechen, kein typisches Verhalten.
Konvergiert das Perceptron auf dem XOR-Muster?Nein (Preset XOR-Muster, Seed 1): Die Fehlerzahl bleibt über alle 2000 Epochen größer als null, mindestens 18 im Schlussabschnitt des Laufs. Die Gewichtsänderung je Epoche liegt im Bereich 0,1–6,7; die Gewichte stabilisieren sich nicht.
Stimmt die eigene Update-Regel mit einer Referenz überein?100 % Übereinstimmung mit sklearn.linear_model.Perceptron über 5 Seeds.

Grenzen

  • Nur zwei erzeugte Vehikel: 2D-Punktwolken (trennbar und XOR), keine echten Datensätze. Aussagen gelten für diese Szenarien und die eingestellten Regler.
  • Schranke nur über die konstruktive Trennebene: Die Novikoff-Schranke wird über \(w=(1,0)\) ausgewertet, nicht über die tatsächliche Maximalmargen-Trennebene (laut README bei den meisten Seeds noch etwas großzügiger). Die Kernaussage bleibt, die Schranke gilt, ist aber grob; der zitierte Zahlenwert ist gültig, nicht unbedingt die bestmögliche Schranke.
  • Einzelne Seeds: Die Schranken in der Sweep-Tabelle gehören zu Seed 14, die der Presets zu den Preset-Läufen und weichen deshalb leicht ab (8,4 gegenüber 8,6 bei gap 4,00 bzw. 1.555,6 gegenüber 1.585,1 bei gap 2,10).
  • Feste Reihenfolge: Die Punkte werden je Epoche in fester Reihenfolge durchlaufen. Eine andere Reihenfolge kann andere, gleich gültige Trennebenen liefern; das Perceptron ist nicht eindeutig.
  • Marge in der Praxis unbekannt: Die Marge \(\gamma\) ist hier konstruiert und exakt bekannt. Bei echten Daten ist die Schranke nur im Nachhinein auswertbar.
  • XOR und die 2000 Epochen: Dass das Perceptron nicht konvergiert, ist in der Demo über 2000 Epochen gemessen. Dass keine Gerade das Muster trennt, belegt zusätzlich ein Nachweis per Linearem Programm in den Orakel-Tests.
  • Nur die Lernpunkte: Die Demo bewertet die Punkte, an denen gelernt wird; die Güte auf neuen Punkten misst sie nicht.
  • Bewusst nicht enthalten: kein Pocket-Algorithmus (bestmögliche Gerade bei nicht trennbaren Daten) und keine echte SVM- oder LP-Maximalmargen-Berechnung. Der nächste Schritt zu nicht linear trennbaren Daten ist das mehrschichtige Netz mit Backpropagation, ein eigenes Stück dieses Themas.

Quellen

  • Rosenblatt, F. (1958): The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review 65(6), 386–408.
  • Novikoff, A. B. J. (1962): On Convergence Proofs on Perceptrons. Proceedings of the Symposium on Mathematical Theory of Automata 12, 615–622.
  • Minsky, M., Papert, S. (1969): Perceptrons: An Introduction to Computational Geometry. MIT Press.
  • Quelltext, Szenarien und Tests der Demo: github.com/sebastian-hanisch/perceptron-demo.

Die genannten Arbeiten wurden für diese Seite nicht nachgeschlagen, die Angaben stammen aus der README der Demo. Die Beweisidee im Abschnitt „Die Formeln“ ist Standardwissen des Autors und nicht aus der Demo übernommen.