Eine kurze Geschichte des Perzeptrons

4 min read

Eine kurze Geschichte des Perzeptrons

Das Perzeptron ist ein neuronales Netzwerk, dessen Name daran erinnert, wie die Zukunft aus Sicht der fünfziger Jahre aussah. Heute wird unter einem Perzeptron ein einfacher Algorithmus zur Ausführung der binären Klassifikation gemeint, der voraussagt, ob die Eingabe einer bestimmten Kategorie von Interesse zugeordnet ist oder nicht: fraud oder not_fraudcat oder not_cat.

In der Geschichte der neuronalen Netzwerke und der künstlichen Intelligenz spielt das Perzeptron eine besondere Rolle: Der Anfangswirbel bezüglich seiner Leistung führte zu der Widerlegung von Minsky und Papert und einer weiter verbreiteten Gegenreaktion, die jahrzehntelang auf die Forschung im Bereich der neuronalen Netzwerke einen Schatten warf. Der Winter des neuronalen Netzes taute erst mit Geoff Hintons Forschungen in den 2000er Jahren völlig auf, deren Ergebnisse die Gemeinschaft des maschinellen Lernens inzwischen erfasst haben.

Der Pate des Perzeptrons ist der US-amerikanische Psychologe und Informatiker Frank Rosenblatt, der seine Erfindung als Gerät und nicht als Algorithmus popularisierte. Zum ersten Mal erschien das Perzeptron als Hardware in der Welt1. Rosenblatt studierte und später lehrte Psychologie an der Cornell University. Vom US-amerikanischen Büro für Marineforschung bekam er die Finanzierung für die Entwicklung einer lernfähigen Maschine. Seine Maschine wurde das Mark-I-Perzeptron genannt und sah so aus:

Ein Perzeptron ist ein linearer Klassifikator, d.h. es ist ein Algorithmus, der die Eingabe durch die Trennung von zwei Kategorien durch eine gerade Linie klassifiziert. Typisch ist die Eingabe eines Merkmalsvektors x, der mit Gewichtungen w multipliziert und zu einer Verschiebung b hinzugefügt wird: y = w * x + b.

Die Aufgabe eines Perzeptrons besteht darin, eine einzelne Ausgabe basierend auf mehreren reell wertigen Eingabedaten zu erzeugen, indem eine lineare Kombination mit Verwendung von entsprechenden Eingabegewichtungen gebildet wird (und manchmal wird die Ausgabe durch eine nichtlineare Aktivierungsfunktion durchgelassen). Mathematisch sieht dies so aus:

Dabei steht w für den Vektor der Gewichtung, x für den Vektor der Eingänge, b für die Verschiebung und phi für die nichtlineare Aktivierungsfunktion.

Rosenblatt baute ein einlagiges Perzeptron: Sein Hardware-Algorithmus enthielt nicht mehrere Schichten, die den neuronalen Netzwerken erlauben, eine Merkmal-Hierarchie zu modellieren. Deshalb war es ein flaches neuronales Netzwerk, das seinem Perzeptron hinderte, eine nichtlineare Klassifizierung, wie z. B. die XOR-Funktion, durchzuführen (der Trigger eines XOR-Operators bedeutet, dass die Eingabe entweder ein oder das andere Merkmal zeigt, auf keinen Fall beide; dies steht für ausschließendes Oder). Diese Erscheinung wurde von Minsky und Papert in ihrem Buch beschrieben.

Mehrlagiges Perzeptron (MLP)

In nachfolgender Arbeit mit mehrlagigem Perzeptron wurde gezeigt, dass es fähig ist, sowohl einen XOR-Operator als auch viele andere nichtlineare Funktionen zu approximieren.

So wie Rosenblatt sein Perzeptron auf einen im Jahre 1943 konzipierten McCulloch-Pitts-Neuron baute, sind auch Perzeptrons selbst die Bausteine, die ihre Nützlichkeit nur in solchen größeren Funktionen wie mehrlagiges Perzeptron beweisen2.

Das mehrlagige Perzeptron ist die Hallo-Welt des tiefen Lernens, da es ein guter Ausgangspunkt zum Erlernen des tiefen Lernens ist.

Ein mehrlagiges Perzeptron (MLP) ist ein tiefes, künstliches neuronales Netzwerk. Es enthält mehr als ein Perzeptron. Das sind die Eingabeschicht zum Empfangen des Signals, die Ausgabeschicht zum Treffen der Entscheidung oder Vorhersage über die Eingabe und dazwischen eine beliebige Anzahl von verborgenen Schichten, die man als wahre Rechenmaschine des MLP darstellen kann. MLPs mit einer verborgenen Schicht sind im Stande, jede kontinuierliche Funktion zu approximieren.

Mehrlagige Perzeptrons werden oft zum Lösen der Probleme des überwachten Lernens verwendet3: Sie werden am Satz von Eingabe-Ausgabe-Paaren trainiert und lernen, die Korrelation (oder Abhängigkeiten) zwischen diesen Eingabe- und Ausgabedaten zu modellieren. Training bedeutet die Anpassung der Parameter, Gewichtungen und Verschiebung des Modells, um Fehler zu minimieren. Die Backpropagation wird verwendet, um diese Gewichtungen und Verschiebungen bezüglich des Fehlers relativ einzustellen. Der Fehler selbst wird auf verschiedene Weisen gemessen, einschließlich durch den mittleren quadratischen Fehler (RMSE / root-mean-square error).

Feedforward-Netzwerke wie MLPs kann man mit Tennis oder Ping-Pong vergleichen. Sie bestehen aus zwei Bewegungen, einem ständigen Hin und Her. Man kann dieses Ping-Pong von Annahmen und Antworten als eine Art beschleunigte Wissenschaft darstellen: Jede Annahme ist die Prüfung dessen, was wir zu wissen denken, und jede Antwort ist die Rückmeldung, die uns wissen lässt, wie falsch wir sind.

Im Durchlauf Vorwärts läuft der Signalfluss von der Eingabeschicht durch die versteckten Schichten zur Ausgabeschicht. Dabei wird die Entscheidung der Ausgabeschicht bezüglich der Bodenwahrheitslabels gemessen.

Im Durchlauf Rückwärts werden partielle Ableitungen der Fehlerfunktion bezüglich verschiedener Gewichtungen und Verschiebungen durch das MLP zurück propagiert, indem die Backpropagation und die Kettenregel des Kalküls verwendet werden. Dieser Akt der Differenzierung ermittelt einen Gradienten oder eine Fehlerlandschaft, in der die Parameter anzupassen sind, wenn sie das MLP einen Schritt näher an das Fehlerminimum bringen. Dazu kann jeder auf Gradienten basierte Optimierungsalgorithmus wie stochastischer Gradientenabstieg verwendet werden. Dieses Tennisspiel wird vom Netzwerk so lange gespielt, bis der Fehler geringer wird. Dieser Zustand ist als Konvergenz bekannt.

Fußnoten

  1. Es ist zu beachten, dass Software und Hardware in einem Flussdiagramm existieren: Software kann als Hardware ausgedrückt werden und umgekehrt. Wenn ein bestimmter Algorithmus beim Programmieren von Chips wie FPGAs oder Konstruieren von ASICs in Silizium eingebrannt wird, wird die Software einfach eine Stufe tiefer durchgeführt, um die Arbeit zu beschleunigen. Genauso kann man das, was in Silizium eingebrannt oder zusammen mit Lampen und Potentiometern verdrahtet wird, wie das Mark I von Rosenblatt, symbolisch im Code ausdrücken. Dies ist der Grund, warum Alan Kay zu folgender Schlussfolgerung gekommen ist: „Leute, die Software wirklich ernst wahrnehmen, sollten ihre eigene Hardware herstellen.“ Wie man weiß, gibt es kein kostenloses Mittagessen: Wenn man beim Einbrennen von Algorithmen in Silizium an Geschwindigkeit gewinnt, verliert man in der Flexibilität und umgekehrt. Im maschinellen Lernen kann dies ein echtes Problem sein, da sich die Algorithmen aufgrund von Datenexpositionen ändern. Die Herausforderung besteht darin, diejenigen Teile des Algorithmus zu finden, die auch bei Änderungen der Parameter stabil bleiben. Als Beispiel kann man die linearen Algebra-Operationen nennen, die heutzutage am schnellsten von GPUs verarbeitet werden.
  2. Die Gedanken können zum nächsten Schritt führen, wenn immer komplexere und nützlichere Algorithmen gebraucht werden. Man geht von einem Neuron zu mehreren, die eine Schicht genannt werden; man geht von einer Schicht zu mehreren, die ein mehrlagiges Perzeptron genannt werden. Kann man sich von einem MLP zu mehreren bewegen oder werden die Schichten einfach aufgehäuft, wie es von Microsoft bei seinem ImageNet-Gewinner ResNet gemacht wurde, der mehr als 150 Schichten hatte? Oder kann man die richtige Kombination von MLPs als ein Ensemble von vielen Algorithmen betrachten, die in einer Art Computerdemokratie für die beste Vorhersage stimmen? Oder handelt es sich dabei um eine Einbettung eines Algorithmus mit einem anderen, wie es bei faltenden graphischen neuronalen Netzwerken getan wird?
  3. Sie werden von Google, dem wahrscheinlich fortschrittlichsten KI-Unternehmen der Welt, für ein breites Aufgabenfeld weit verwendet, obwohl komplexere und modernste Methoden heutzutage zur Verfügung stehen.

Wenn Sie mehr über das Perzeptron von Rosenblatt erfahren möchten, können Sie sich an das Team von AI-United.de per Mail oder Q&A wenden.

Quelle

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.