Zum Inhalt springen

Perzeptron

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Perceptron)
Einfaches zweilagiges feed-forward Perzeptron mit
  • fünf Input-Neuronen,
  • drei Hidden-Neuronen und
  • einem Output-Neuron, sowie
  • zwei Bias-Neuronen
  • Das Perzeptron (nach engl. perception, „Wahrnehmung“) ist ein vereinfachtes künstliches neuronales Netz, das zuerst von Frank Rosenblatt 1957 vorgestellt wurde. Es besteht in der Grundversion (einfaches Perzeptron) aus einem einzelnen künstlichen Neuron mit anpassbaren Gewichtungen und einem Schwellenwert. Unter diesem Begriff werden heute verschiedene Kombinationen des ursprünglichen Modells verstanden, dabei wird zwischen einlagigen und mehrlagigen Perzeptren (engl. multi-layer perceptron, MLP) unterschieden. Perzeptron-Netze wandeln einen Eingabevektor in einen Ausgabevektor um und stellen damit einen einfachen Assoziativspeicher dar.

    Einfaches Perzeptron, das ein logisches ODER realisiert.
  • Input-Neuronen
  • Output-Neuron
  • 1943 führten der Neurophysiologe Warren McCulloch und der Logiker Walter Pitts das „Neuron“ als logisches Schwellwert-Element mit mehreren Eingängen und einem einzigen Ausgang in die Informatik ein.[1] Es konnte als Boolesche Variable die Zustände wahr und falsch annehmen und „feuerte“ (= wahr), wenn die Summe der Eingangssignale einen Schwellenwert überschritt (siehe McCulloch-Pitts-Zelle). Dies entsprach der neurobiologischen Analogie eines Aktionspotentials, das eine Nervenzelle bei einer kritischen Änderung ihres Membranpotentials aussendet. McCulloch und Pitts zeigten, dass durch geeignete Kombination mehrerer solcher Neuronen jede einfache aussagenlogische Funktion (UND, ODER, NICHT) beschreibbar ist.

    1949 stellte der Psychologe Donald O. Hebb die Hypothese auf, Lernen beruhe darauf, dass sich die aktivierende oder hemmende Wirkung einer Synapse als Produkt der prä- und postsynaptischen Aktivität berechnen lasse.[2] Es gibt Anhaltspunkte, dass die Langzeit-Potenzierung und das sogenannte spike-timing dependent plasticity (STDP) die biologischen Korrelate des Hebbschen Postulates sind. Überzeugende Evidenz für diese These steht aber noch aus.

    1957 schließlich publizierte Frank Rosenblatt das Perzeptron-Modell, das bis heute die Grundlage künstlicher neuronaler Netze darstellt.[3]

    Mark I Perceptron

    [Bearbeiten | Quelltext bearbeiten]

    Das Perceptron war eher als Maschine denn als Programm konzipiert. Obwohl es zunächst als Software für den Großrechner IBM 704 implementiert wurde, wurde es später als „Mark I Perceptron“ unter dem Projektnamen „Project PARA“[4] in speziell angefertigter Hardware für die Bilderkennung umgesetzt. Die Maschine befindet sich derzeit im National Museum of American History.[5]

    Mark I Perceptron: Links die S-Einheiten, in der Mitte die A-Einheiten und ganz rechts das Bedienfeld sowie die R-Einheiten. Die Steckplatine für die Verbindung zwischen Sensoren und A-Einheiten befindet sich hinter der geschlossenen Blende rechts vom Bediener. Der Buchstabe „C“ auf der Frontblende zeigt den aktuellen Status der Sensoreingabe an.

    Das Mark I Perceptron bestand aus drei Schichten. Eine Version wurde wie folgt implementiert:

    • Ein Array aus 400 Fotozellen, angeordnet in einem 20×20-Raster, bezeichnet als „Sensor-Einheiten“ (S-Einheiten) oder „Eingangs-Retina“. Jede S-Einheit kann mit bis zu 40 A-Einheiten verbunden werden.
    • Eine verborgene Schicht aus 512 Perzeptronen, die als „Assoziationseinheiten“ (A-Einheiten) bezeichnet wurden.
    • Eine Ausgabeschicht aus acht Perzeptronen, die als „Reaktionseinheiten“ (R-Einheiten) bezeichnet wurden.

    Rosenblatt nannte dieses dreischichtige Perzeptron-Netzwerk das Alpha-Perzeptron, um es von anderen Perzeptron-Modellen zu unterscheiden, mit denen er experimentierte.[6]

    Die S-Einheiten sind über eine Steckplatine zufällig (gemäß einer Zufallszahlentabelle) mit den A-Einheiten verbunden, um „jede bestimmte absichtliche Verzerrung im Perceptron zu beseitigen“. Die Verbindungsgewichte sind fest vorgegeben und werden nicht erlernt. Rosenblatt bestand auf den zufälligen Verbindungen, da er glaubte, dass die Netzhaut zufällig mit dem visuellen Kortex verbunden sei, und er wollte, dass seine Perceptron-Maschine der menschlichen visuellen Wahrnehmung ähnelt.[7]

    Die A-Einheiten sind mit den R-Einheiten verbunden, wobei die einstellbaren Gewichte in Potentiometern kodiert sind und die Aktualisierung der Gewichte während des Lernvorgangs durch Elektromotoren erfolgte.[8]  Die Hardware-Details sind in einer Bedienungsanleitung enthalten.[4]

    Bei einer von der US-Marine organisierten Pressekonferenz im Jahr 1958 gab Rosenblatt Aussagen zum Perceptron ab, die in der noch jungen KI-Gemeinschaft heftige Kontroversen auslösten. Auf der Grundlage von Rosenblatts Aussagen berichtete die New York Times, das Perceptron sei „der Embryo eines elektronischen Computers, von dem [die Marine] erwartet, dass er gehen, sprechen, sehen, schreiben, sich selbst reproduzieren und sich seiner Existenz bewusst sein wird.“[9]

    Die Fotoabteilung der Central Intelligence Agency untersuchte von 1960 bis 1964 den Einsatz der Mark-I-Perceptron-Maschine zur Erkennung militärisch interessanter Silhouetten (wie Flugzeuge und Schiffe) auf Luftbildern.[10][11]

    Weitere Arbeiten

    [Bearbeiten | Quelltext bearbeiten]

    Rosenblatt setzte seine Arbeit am Perceptron trotz schwindender finanzieller Mittel fort. Der letzte Versuch war „Tobermory“, das zwischen 1961 und 1967 für die Spracherkennung gebaut wurde.[12] Es nahm einen ganzen Raum ein.[13] Es verfügte über vier Schichten mit 12.000 Gewichten, die durch ringförmige Magnetkerne realisiert wurden. Zum Zeitpunkt seiner Fertigstellung waren Simulationen auf digitalen Computern schneller geworden als speziell für diesen Zweck gebaute Perceptron-Maschinen.[14]

    Ein Simulationsprogramm für neuronale Netze wurde für den IBM 7090/7094 geschrieben und diente zur Untersuchung verschiedener Anwendungen der Mustererkennung, wie z. B. Zeichenerkennung, Teilchenspuren in Blasenkammeraufnahmen; Phonem-, Einzelwort- und kontinuierliche Spracherkennung; Sprecherverifizierung; sowie Mechanismen zur Erkennung des Fokusbereichs in der Bildverarbeitung.[15][14]

    Organisation eines biologischen Gehirns und eines Perzeptrons

    Der Kernel-Perzeptron-Algorithmus wurde bereits 1964 von Aizerman et al. eingeführt.[16] Margin-Bounds-Garantien für den Perzeptron-Algorithmus im allgemeinen nicht-separierbaren Fall wurden 1998 von Freund und Schapire gegeben.[17] Mohri und Rostamizadeh erweiterten 2013 frühere Ergebnisse und lieferten günstigere L1-Bounds.[18][19]

    Das Perzeptron ist ein vereinfachtes Modell einer biologischen Nervenzelle. Während die Komplexität biologischer Nervenzellmodelle oft erforderlich ist, um das neuronale Verhalten vollständig zu verstehen, deuten Forschungsergebnisse darauf hin, dass ein perzeptronähnliches lineares Modell bestimmte Verhaltensweisen reproduzieren kann, die in realen Nervenzellen zu beobachten sind.[20]

    Lösungsräume von Entscheidungsgrenzen für alle binären Funktionen und Lernverhalten wurden ebenfalls untersucht.[21]

    Einlagiges Perzeptron

    [Bearbeiten | Quelltext bearbeiten]

    Beim einlagigen Perzeptron gibt es nur eine einzige Schicht aus künstlichen Neuronen, welche zugleich den Ausgabevektor repräsentiert. Jedes Neuron wird dabei durch eine Neuronenfunktion repräsentiert und erhält den gesamten Eingabevektor als Parameter. Die Verarbeitung erfolgt ganz ähnlich zur sogenannten Hebbschen Lernregel für natürliche Neuronen. Allerdings wird der Aktivierungsfaktor dieser Regel durch eine Differenz zwischen Soll- und Istwert ersetzt. Da die Hebbsche Lernregel sich auf die Gewichtung der einzelnen Eingangswerte bezieht, erfolgt also das Lernen eines Perzeptrons durch die Anpassung der Gewichtung eines jeden Neurons. Sind die Gewichtungen einmal gelernt, so ist ein Perzeptron auch in der Lage, Eingabevektoren zu klassifizieren, die vom ursprünglich gelernten Vektor leicht abweichen. Gerade darin besteht die gewünschte Klassifizierungsfähigkeit des Perzeptrons, der es seinen Namen verdankt.

    Berechnung der Ausgabewerte

    [Bearbeiten | Quelltext bearbeiten]

    Mit einem Bias , den Eingaben und den Gewichten berechnen sich die Ausgabewerte zu

    .[22]

    Anmerkungen

    • Der Bias ist als Schwellenwert (engl. threshold) mit einem negativen Vorzeichen festgelegt.
    • Verwendet man stattdessen den Schwellenwert , so ergibt sich die erste Bedingung zu und es ändert sich auch beim zugehörigen Funktionsterm das entsprechende Vorzeichen.

    Perzeptron-Lernregel

    [Bearbeiten | Quelltext bearbeiten]

    Es gibt verschiedene Versionen der Lernregel, um auf die unterschiedlichen Definitionen des Perzeptrons einzugehen. Für ein Perzeptron mit binären Ein- und Ausgabewerten wird hier die Lernregel angegeben. Diese Regel konvergiert nur, wenn der Trainings-Datensatz linear separierbar ist, siehe dazu unten unter "Varianten".

    Folgende Überlegungen liegen der Lernregel des Perzeptrons zu Grunde:

    1. Wenn die Ausgabe eines Neurons 1 (bzw. 0) ist und den Wert 1 (bzw. 0) annehmen soll, dann werden die Gewichtungen nicht geändert.
    2. Ist die Ausgabe 0, soll aber den Wert 1 annehmen, dann werden die Gewichte inkrementiert.
    3. Ist die Ausgabe 1, soll aber den Wert 0 annehmen, dann werden die Gewichte dekrementiert.

    Mathematisch wird der Sachverhalt folgendermaßen ausgedrückt:

    ,
    .

    Dabei ist

    die Änderung des Gewichts für die Verbindung zwischen der Eingabezelle und Ausgabezelle ,
    die gewünschte Ausgabe des Neurons ,
    die tatsächliche Ausgabe,
    die Eingabe des Neurons und
    die Lernrate.

    Eine Gewichtsaktualisierung im Schritt verläuft danach wie folgt:

    1. bei korrekter Ausgabe,
    2. bei Ausgabe 0 und gewünschter Ausgabe 1 und
    3. bei Ausgabe 1 und gewünschter Ausgabe 0.

    Rosenblatt konnte im Konvergenztheorem nachweisen, dass mit dem angegebenen Lernverfahren alle Lösungen eingelernt werden können, die ein Perzeptron repräsentieren kann.

    Frank Rosenblatt zeigte, dass ein einfaches Perzeptron mit zwei Eingabewerten und einem einzigen Ausgabeneuron zur Darstellung der einfachen logischen Operatoren AND, OR und NOT genutzt werden kann. Marvin Minsky und Seymour Papert wiesen jedoch 1969 nach, dass ein einlagiges Perzeptron den XOR-Operator nicht auflösen kann (Problem der linearen Separierbarkeit). Dies führte zu einem Stillstand in der Forschung der künstlichen neuronalen Netze.

    Die in diesem Zusammenhang zum Teil äußerst polemisch geführte Diskussion war letztlich ein Richtungsstreit zwischen den Vertretern der symbolischen Künstlichen Intelligenz und der „Konnektionisten“ um Forschungsgelder. Frank Rosenblatt hatte zwar gezeigt, dass der logische Operator XOR durch die Verwendung eines mehrlagigen Perzeptrons beschrieben werden kann, was sich aus der Äquivalenz zur folgenden Kombination der Operatoren OR, AND und NOT ergibt: . Er starb jedoch zu früh, um sich gegen die Angriffe seiner KI-Kollegen zu wehren.

    Varianten der Perzeptron-Lernregel

    [Bearbeiten | Quelltext bearbeiten]

    Die oben angegebene Standard-Lernregel konvergiert nur, wenn der Trainings-Datensatz linear separierbar ist. Ist dies nicht der Fall, so wird die Standard-Lernregel keine approximative Lösung erzeugen (zum Beispiel eine Lösung mit möglichst wenigen falsch zugeordneten Daten). Stattdessen wird der Lernvorgang vollständig versagen.

    Da lineare Separierbarkeit des Trainings-Datensatzes oft nicht vor Trainingsbeginn bekannt ist, sollten daher Varianten des Trainingsalgorithmus benutzt werden, die robust sind in dem Sinne, dass sie im nicht linear separablen Fall zu einer approximativen Lösung konvergieren.

    Ein solches robustes Verfahren ist der Maxover-Algorithmus.[23] Im linear separablen Fall löst er das Trainingsproblem vollständig, auch unter weiteren Optimierungsbedingungen wie maximaler Stabilität (maximaler Abstand zwischen den Daten mit Ausgabe 0 und 1). Im nicht linear separablen Fall erzeugt er eine Lösung mit wenigen falsch zugeordneten Daten. In beiden Fällen geschieht eine graduelle Annäherung an die Lösung im Laufe des Lernvorganges. Der Algorithmus konvergiert zu einer global optimalen Lösung im linear separablen Fall, bzw. zu einer lokal optimalen Lösung im nicht linear separablen Fall.

    Der Pocket-Algorithmus[24] lernt mit einer Standard-Perzeptron-Lernregel. Er behält diejenige Lösung, die bisher die wenigsten falsch zugeordneten Daten produzierte, in seiner „Tasche“ (pocket), und gibt diese als approximative Lösung aus. Im linear separablen Fall lernt dieser Algorithmus vollständig. Im nicht linear separablen Fall wird ausgenutzt, dass die Standard-Perzeptron-Lernregel zufällige Lösungen produziert, unter denen stochastisch solche approximativen Lösungen auftauchen. Der Pocket-Algorithmus hat somit Nachteile: Zum einen erfolgt keine graduelle Annäherung an die Lösung, sondern stochastische Sprünge werden ausgenutzt. Da diese zu unvorhersehbaren Zeitpunkten im Lernvorgang auftreten, gibt es keine Sicherheit darüber, wie weit sich der Algorithmus nach einer bestimmten Anzahl von Lernschritten einer optimalen Lösung angenähert hat. Zum anderen muss in jedem Lernschritt die Gesamtzahl der richtig zugeordneten Daten ermittelt werden. Der Algorithmus arbeitet also nicht lokal, wie für neuronale Netze typisch.

    Ist die lineare Separabilität des Trainingsdatensatzes bekannt, so können verschiedene Varianten der Standard-Perzeptron-Lernregel genutzt werden. Das "Perzeptron der optimalen Stabilität" (maximaler Abstand zwischen den Daten mit Ausgabe "0" und "1") kann erzeugt werden mit dem Min-Over-Algorithmus (Krauth und Mezard, 1987).[25] Ein besonders schneller Algorithmus, der auf quadratischer Optimierung basiert, ist das AdaTron (Anlauf and Biehl, 1989)[26] Optimale Stabilität, zusammen mit dem Kernel-Trick, sind die konzeptuellen Voraussetzungen der Support Vector Machine.

    Das Perzeptron als linearer Klassifikator

    [Bearbeiten | Quelltext bearbeiten]

    Jenseits aller (pseudo-)biologischen Analogien ist ein einlagiges Perzeptron letztlich nichts weiter als ein linearer Klassifikator der Form (lineare Diskriminanzfunktion, multiple lineare Regression). In der Nomenklatur der künstlichen neuronalen Netze werden bis als Gewichte und bis als Eingangssignale bezeichnet, wobei letztere nur Werte von 1 oder 0 („wahr“ oder „falsch“) annehmen können. Überschreitet die Summe einen Schwellenwert, so wird die Zuordnung der gesuchten Klasse auf „wahr“ bzw. 1 gesetzt, sonst auf „falsch“ bzw. 0.

    Mehrlagiges Perzeptron

    [Bearbeiten | Quelltext bearbeiten]
    Zweilagiges Perzeptron zur Berechnung der XOR-Funktion

    Die Beschränkung des einlagigen Perzeptrons konnte später mit dem mehrlagigen Perzeptron (Multi-Layer-Perzeptron) gelöst werden, bei dem es neben der Ausgabeschicht auch noch mindestens eine weitere Schicht verdeckter Neuronen gibt (engl. hidden layer). Sind die Ausgänge nur mit Eingängen einer nachfolgenden Schicht verknüpft, so dass der Informationsfluss nur in einer Richtung verläuft, spricht man von Feed-forward-Netzen. Dabei haben sich folgende Topologien bewährt:

    • Fully connected: Die Neuronen einer Schicht werden mit allen Neuronen der direkt folgenden Schicht verbunden.
    • Short-Cuts: Einige Neuronen sind nicht nur mit allen Neuronen der nächsten Schicht verbunden, sondern darüber hinaus mit weiteren Neuronen der übernächsten Schichten.

    Sind im Netz Neuronen vorhanden, deren Ausgänge mit Neuronen derselben oder einer vorangegangenen Schicht verbunden sind, handelt es sich um ein Rekurrentes neuronales Netz.

    Mehrlagige Perzeptronen benötigen komplexere Lernregeln als einlagige Perzeptronen. Backpropagation ist ein möglicher Algorithmus für Überwachtes Lernen.

    Die Erweiterung dieser Netztopologien um weitere verborgene Schichten und Einführung anderer Architekturen (zum Beispiel rekurrente neuronale Netze), die ebenfalls meist mittels backpropagation trainiert werden, wird heute unter dem Schlagwort Deep Learning zusammengefasst.

    • Rosenblatt, Frank (1958): The perceptron: a probabilistic model for information storage and organization in the brain. Psychological Reviews 65 (1958) 386–408
    • M. L. Minsky und S. A. Papert: Perceptrons. 2nd Edition, MIT-Press 1988, ISBN 0-262-63111-3.

    Einzelnachweise

    [Bearbeiten | Quelltext bearbeiten]
    1. A logical calculus of the ideas immanent in nervous activity. WS McCulloch, W Pitts. Bull Math. Biophys., 5, 115-133, 1943.
    2. Organization of Behaviour. D Hebb. Wiley. New York. 1949.
    3. Frank Rosenblatt: The perceptron – A perceiving and recognizing automaton. (Memento vom 7. April 2023 im Internet Archive) Cornell Aeronautical Laboratory, Report No. 85-460-1, Januar 1957. Siehe dazu auch: Frank Rosenblatt: The perceptron – a probabilistic model for information storage and organization in the brain. Psychological Review 65, 1958. doi:10.1037/h0042519
    4. 1 2 John Cameron Hay: Mark I perceptron operators' manual (Project PARA) /. Cornell Aeronautical Laboratory, Buffalo 1960 (englisch, apps.dtic.mil (Memento des Originals vom 27. Oktober 2023 im Internet Archive)).
    5. Perceptron, Mark I. In: National Museum of American History. Abgerufen am 30. Oktober 2023 (englisch).
    6. Nils J. Nilsson: The Quest for Artificial Intelligence. Cambridge University Press, Cambridge 2009, ISBN 978-0-521-11639-8, 4.2.1. Perceptrons (englisch, cambridge.org).
    7. James A. Anderson, Edward Rosenfeld (Hrsg.): Talking Nets: An Oral History of Neural Networks. The MIT Press, 2000, ISBN 978-0-262-26715-1, doi:10.7551/mitpress/6626.003.0004 (englisch, mit.edu).
    8. Christopher M. Bishop: Pattern Recognition and Machine Learning. Springer, 2006, ISBN 0-387-31073-8, S. 193 (englisch).
    9. Mikel Olazaran: A Sociological Study of the Official History of the Perceptrons Controversy. In: Social Studies of Science. 26. Jahrgang, Nr. 3, 1996, S. 611–659, doi:10.1177/030631296026003005, JSTOR:285702 (englisch).
    10. Perception Concepts to Photo-Interpretation. In: www.cia.gov. Abgerufen am 14. November 2024 (englisch).
    11. Julia A. Irwin: Artificial Worlds and Perceptronic Objects: The CIA's Mid-century Automatic Target Recognition. In: Grey Room. Nr. 97, 11. September 2024, ISSN 1526-3819, S. 6–35, doi:10.1162/grey_a_00415 (englisch, mit.edu).
    12. Frank Rosenblatt: “A Description of the Tobermory Perceptron.” Cognitive Research Program. Report No. 4. Collected Technical Papers, Vol. 2. Edited by Frank Rosenblatt. Ithaca, NY: Cornell University (englisch).
    13. George Nagy, 1963. System and circuit designs for the Tobermory perceptron. Technical report number 5, Cognitive Systems Research Program, Cornell University, Ithaca New York (englisch).
    14. 1 2 George Nagy: Neural networks—then and now. In: IEEE Transactions on Neural Networks. 2. Jahrgang, Nr. 2, März 1991, ISSN 1941-0093, S. 316–318, doi:10.1109/72.80343, PMID 18276386 (englisch, rpi.edu [PDF]).
    15. Trevor H. Barker, NONR 401 (40) and NSF GK-250: A Computer Program for Simulation of Perceptrons and Similar Neural Networks: Users' Manual. Cornell University, Ithaca, NY 14. Juli 1966 (englisch, dtic.mil).
    16. M. A. Aizerman, E. M. Braverman, L. I. Rozonoer: Theoretical foundations of the potential function method in pattern recognition learning. In: Automation and Remote Control. 25. Jahrgang, 1964, S. 821–837 (englisch).
    17. Y. Freund, R. E. Schapire: Large margin classification using the perceptron algorithm. In: Machine Learning. 37. Jahrgang, Nr. 3, 1999, S. 277–296, doi:10.1023/A:1007662407062 (englisch, ucsd.edu [PDF]).
    18. Mehryar Mohri, AfshincRostamizadeh (2013). "Perceptron Mistake Bounds" (englisch).
    19. Foundations of Machine Learning, MIT Press (Chapter 8) (englisch)
    20. Sydney Cash, Rafael Yuste: Linear Summation of Excitatory Inputs by CA1 Pyramidal Neurons. In: Neuron. 22. Jahrgang, Nr. 2, 1999, S. 383–394, doi:10.1016/S0896-6273(00)81098-3, PMID 10069343 (englisch).
    21. D.-R. Liou, J.-W. Liou, C.-Y. Liou: Learning Behaviors of Perceptron. iConcept Press, 2013, ISBN 978-1-4775-5473-9 (englisch).
    22. Michael Nielsen: Chapter 1: Using neural nets to recognize handwritten digits. Abschnitt: Perceptrons. Abgerufen am 9. August 2019 (englisch).
    23. Andreas Wendemuth: Learning the Unlearnable. In: Journal of Physics A: Math. Gen. 28. 1995, S. 5423–5436 (PDF (Memento vom 5. März 2016 im Internet Archive) [abgerufen am 14. März 2016]).
    24. S.I. Gallant. Perceptron-based learning algorithms. IEEE Transactions on Neural Networks, vol. 1, no. 2, S. 179–191 (1990)
    25. W. Krauth and M. Mezard. Learning algorithms with optimal stability in neural networks. J. of Physics A: Math. Gen. 20: L745-L752 (1987)
    26. J.K. Anlauf and M. Biehl. The AdaTron: an Adaptive Perceptron algorithm. Europhysics Letters 10, 1989, S. 687–692.