Perzeptron: Unterschied zwischen den Versionen

Aus eLearning - Methoden der Psychologie - TU Dresden
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{Nav|Navigation|Kognitive Modellierung|Hauptseite}} Artikelinhalt“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Nav|Navigation|Kognitive Modellierung|Hauptseite}}
{{Nav|Navigation|Kognitive Modellierung|Hauptseite}}
Artikelinhalt
= Perzeptron =
 
Das von Frank Rosenblatt im Jahre 1958 erfundene Perzeptron bildet die Grundlage heutiger künstlicher neuronaler Netze. In seiner ursprünglichen Version besteht es aus einem einzelnen Knoten. Die Bezeichnung „Perzeptron“ gilt daher sowohl für einen einzelnen Knoten als auch für ein- oder mehrschichtige Netze aus diesen Knoten.
 
== Aufbau eines Perzeptrons ==
 
Das Perzeptron wandelt einen Input in einen Output um. Der Input besteht aus einem Vektor, von dem jeder Wert eine bestimmte Gewichtung besitzt. Um den Netzinput zu ermittelt, werden alle Werte mit den Gewichten multipliziert und aufsummiert. Danach kommt eine Aktivierungsfunktion ins Spiel, die dem Netzinput einen Output zuordnet. Dabei handelt es sich beim traditionellen Perzeptron um eine Stufenfunktion, da ein strikter Schwellwert gilt. Liegt der Netzinput über diesem Wert, feuert das Perzeptron, das heißt, es erhält den Wert 1. Andernfalls ist es inaktiv und besitzt den Wert 0. Darüber hinaus ist es auch möglich, durch eine andere Aktivierungsfunktion einen nichtbinären Output zu erzielen.
 
== Lernen im Perzeptron ==
 
Das Perzeptron kann lernen, Inputmuster einer Kategorie zuzuordnen. Bei binärem Output funktioniert das Lernen wie folgt. Stimmt der Output mit dem gewünschten Wert überein, findet keine Gewichtsänderung statt. Ist der Output 0, obwohl 1 gewünscht ist, wird eine Vergrößerung der Gewichte vorgenommen. Bei einem Output von 1, der eigentlich 0 sein sollte, werden die Gewichte verringert. Diese Perzeptron-Lernregel ist eine Form der Deltaregel. Andere Lernregeln können ebenfalls implementiert werden, so zum Beispiel das Hebb’sche Lernen.
 
== Das XOR-Problem ==
 
Ein einschichtiges Perzeptron kann viele Kategorisierungsregeln lernen, jedoch wird vorausgesetzt, dass die Inputmuster in der Regel linear separierbar sind. Was bedeutet das? Nehmen wir als Beispiel an, das Perzeptron erhält zwei Inputs, die jeweils an oder aus sein können. Dies können wir als 2-dimensionales Koordinatensystem darstellen (siehe Grafik), in dem jede Achse einen Input repräsentiert. In diesem Koordinatensystem können wir nun verschiedene Kategorisierungsregeln betrachten. Eine OR-Kategorisierungsregel sagt beispielsweise, dass das Perzeptron feuern soll, wenn mindestens einer der beiden Inputs 1 ist. Wenn kein Input 1 ist, soll das Perzeptron inaktiv bleiben. Diese Kategorisierung ist durch den Schwellwert möglich. In unserem Koordinatensystem stellt diesen Schwellwert eine Linie dar, die den Raum der möglichen Kategorisierungen in 2 Bereiche teilt: einen, in dem das Perzeptron feuern soll, und einen, in dem es nicht feuern soll. Da die Bereiche durch eine gerade Linie getrennt sind, sind sie linear separierbar. Ein Problem stellt die XOR-Kategorisierungsregel (exklusives Oder) dar. Eine XOR-Regel fordert, dass das Perzeptron feuern soll, wenn genau einer der beiden Inputs 1 ist, nicht aber bei beiden gleichzeitig. Diese Separierung ist nun nicht einfach durch eine Linie durchführbar. An dieser Stelle scheitert das einfache Perzeptron. Der Nachweis dieses Scheiterns führte damals zu einer Krise in der Forschung zu neuronalen Netzen, denn die Lösung des Problems bestand in der Verwendung eines mehrschichtigen Perzeptrons, auf dass sich aber die allseits verwendete Delta-Lernregel nicht anwenden ließ. Erst die Erfindung der Backpropagation-Lernregel löste dieses Problem und läutete damit eine neue Blüte der neuronalen Netze ein.

Version vom 4. August 2018, 15:45 Uhr

Perzeptron

Das von Frank Rosenblatt im Jahre 1958 erfundene Perzeptron bildet die Grundlage heutiger künstlicher neuronaler Netze. In seiner ursprünglichen Version besteht es aus einem einzelnen Knoten. Die Bezeichnung „Perzeptron“ gilt daher sowohl für einen einzelnen Knoten als auch für ein- oder mehrschichtige Netze aus diesen Knoten.

Aufbau eines Perzeptrons

Das Perzeptron wandelt einen Input in einen Output um. Der Input besteht aus einem Vektor, von dem jeder Wert eine bestimmte Gewichtung besitzt. Um den Netzinput zu ermittelt, werden alle Werte mit den Gewichten multipliziert und aufsummiert. Danach kommt eine Aktivierungsfunktion ins Spiel, die dem Netzinput einen Output zuordnet. Dabei handelt es sich beim traditionellen Perzeptron um eine Stufenfunktion, da ein strikter Schwellwert gilt. Liegt der Netzinput über diesem Wert, feuert das Perzeptron, das heißt, es erhält den Wert 1. Andernfalls ist es inaktiv und besitzt den Wert 0. Darüber hinaus ist es auch möglich, durch eine andere Aktivierungsfunktion einen nichtbinären Output zu erzielen.

Lernen im Perzeptron

Das Perzeptron kann lernen, Inputmuster einer Kategorie zuzuordnen. Bei binärem Output funktioniert das Lernen wie folgt. Stimmt der Output mit dem gewünschten Wert überein, findet keine Gewichtsänderung statt. Ist der Output 0, obwohl 1 gewünscht ist, wird eine Vergrößerung der Gewichte vorgenommen. Bei einem Output von 1, der eigentlich 0 sein sollte, werden die Gewichte verringert. Diese Perzeptron-Lernregel ist eine Form der Deltaregel. Andere Lernregeln können ebenfalls implementiert werden, so zum Beispiel das Hebb’sche Lernen.

Das XOR-Problem

Ein einschichtiges Perzeptron kann viele Kategorisierungsregeln lernen, jedoch wird vorausgesetzt, dass die Inputmuster in der Regel linear separierbar sind. Was bedeutet das? Nehmen wir als Beispiel an, das Perzeptron erhält zwei Inputs, die jeweils an oder aus sein können. Dies können wir als 2-dimensionales Koordinatensystem darstellen (siehe Grafik), in dem jede Achse einen Input repräsentiert. In diesem Koordinatensystem können wir nun verschiedene Kategorisierungsregeln betrachten. Eine OR-Kategorisierungsregel sagt beispielsweise, dass das Perzeptron feuern soll, wenn mindestens einer der beiden Inputs 1 ist. Wenn kein Input 1 ist, soll das Perzeptron inaktiv bleiben. Diese Kategorisierung ist durch den Schwellwert möglich. In unserem Koordinatensystem stellt diesen Schwellwert eine Linie dar, die den Raum der möglichen Kategorisierungen in 2 Bereiche teilt: einen, in dem das Perzeptron feuern soll, und einen, in dem es nicht feuern soll. Da die Bereiche durch eine gerade Linie getrennt sind, sind sie linear separierbar. Ein Problem stellt die XOR-Kategorisierungsregel (exklusives Oder) dar. Eine XOR-Regel fordert, dass das Perzeptron feuern soll, wenn genau einer der beiden Inputs 1 ist, nicht aber bei beiden gleichzeitig. Diese Separierung ist nun nicht einfach durch eine Linie durchführbar. An dieser Stelle scheitert das einfache Perzeptron. Der Nachweis dieses Scheiterns führte damals zu einer Krise in der Forschung zu neuronalen Netzen, denn die Lösung des Problems bestand in der Verwendung eines mehrschichtigen Perzeptrons, auf dass sich aber die allseits verwendete Delta-Lernregel nicht anwenden ließ. Erst die Erfindung der Backpropagation-Lernregel löste dieses Problem und läutete damit eine neue Blüte der neuronalen Netze ein.