Norbert Hoffmann. Simulation neuronaler Netze

Ähnliche Dokumente
Jakob Schwarz. DOS Einsteigen leichtgemacht

P. P. Bothner W.-M. Kähler. Einführung in die Programmiersprache APL

H. Günther. Programme und Tools für Erddruck und Erdwiderstand mit gekrümmten und ebenen Gleitflächen

Vieweg Programmbibliothek Mikrocomputer 39. Simulationen in BASIC mit dem IBM PC, XT, AT

D. Herrmann. Probleme und Lösungen mi t Turbo-Prolog

Claudia Borchard-Tuch. Computersysteme - Ebenbilder der Natur?

H. Kreth. C. P. Ortlieb. Lehr und Obungsbuch fur die Rechner SHARP PC-1246/47 PC-1251 PC-1260/61 PC-1350 PC-1401/02

Kleines Handbuch Neuronale Netze

Peter F. Orlowski. Simulation und Optimierung von Regelkreisen mit dem IBM AT und Kompatiblen

IV ANHANG. Cambridge, Massachusetts: The MIT Press. ISBN

VGA und SuperVGA professionell programmiert

H. Pudlatz. Einführung in die Programmiersprache Modula-2

Anton Liebetrau. Turbo Pascal 4.0. von A.. Z

Ekkehard Kaier. Informationstechnische Grundbildung Multiplan

Paul Schmitz Werner Dinkelbach (Hrsg.) Arbeitsbuch zum Macintosh

Klaus P. Greis WORD 5.5. Einsteigen leichtgemacht

Regina B. und Rolf B. Baumeister (Hrsg.) Chart Software Training

Regina B. und Rolf B. Baumeister (Hrsg.) dbase III Software Training

Stefan Hering PC TOOLS 6.0. Ein praxisgerechtes Nachschlagewerk

Turbo Pascal 5.0/5.s Units und Utilities

. -Aus dem Bereich Computerliteratur

Ekkehard Kaier. Informationstechnische Grundbildung Turbo Pascal

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Georg Fischer. DOS Profi Utilities mit Turbo Pascal

Erstellung eines Prototyps zum sicheren und gesteuerten Zugriff auf Dateien und Dokumente auf Basis von Lotus Domino und Notes

Annette Weinert. Programmieren mit Ada und C

Ekkehard Kaier. Informationstechnische Grundbildung MS-DOS

Weitere Bände in dieser Reihe

Dietmar Abts. Masterkurs Client/Server-Programmierung mit Java

H. R. Behrendt/H. Junghans. Einführung in die Anwendung des Betriebssystems Apple DOS (Apple II)

Rene Steiner. Theorie und Praxis relationaler Datenbanken

Mädchen spielen mit Puppen Jungen auch?

Ekbert Hering. Mathematische Probleme der Betriebswirtschaft in BASIC mit dem IBM PC

Peter Cornelius Führung von Beratern in der öffentlichen Verwaltung

Gerhard Moll. Rechenstru kturen und Geometrie mit LOGO

Sichtweisen der Informatik

TopSpeed Modula-2 Units und Utilities

Klaus-Dieter Becker EXPERTENSYSTEME STEUERN DIE CAD/CAM-ANWENDUNG

F. Sause W. Tölle. Einführung in die Programmiersprache C++

Walter Schlee. Einführung in die Spieltheorie

Günter Wellenreuther Dieter Zastrow. Lösungsbuch Speicherprogrammierte Steuerungen SPS

Axel Kotulla. Effektiv Starten mit Turbo Pascal 6.0

Peter Baumann. Erkenntnistheorie. Lehrbuch Philosophie. Verlag J. B. Metzler Stuttgart Weimar

Ludwig Brandt. Antennentechnik. BASIC-Programme für den PC

Ronald Schnetzer. Business Process Reengineering kompakt und verständlich

Norbert Hoffmann Rezepte für Borland Pascal

Eugen Gehrer. Musik mit dem TI 99/4A

Karl-Heinz Bruck (Hrsg.) FAHRZEUG VERGLASUNG

DesignAgility - Toolbox Media Prototyping

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Vieweg Programmbibliothek Mikrocomputer 14. Lineares Optimieren Maximierung- Minimierung 11 HP-41-Programme

Künstliche Intelligenz

Händle/Oesterreich/Trommer Aufgaben politischer Bildung in der Sekundarstufe I

Die Big Five und ihre Auswirkungen auf das Gründungsverhalten

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg

Silvia-Iris Lübke Schule ohne Noten

Kim Kose Rolf SchrOder Kornel Wieliczek. Numerik sehen und verstehen

Gisela Osterhold. Veränderungsmanagement

Hans-Georg Kemper Henning Baars. Business Intelligence Arbeits- und Übungsbuch

Dennis Julius Broich. Mitarbeiterbindung in KMU. Analyse von Instrumenten und Maßnahmen

Ulrich Furbach. Logische uod Fuoktiooale Programmiemog

Gunnar Paul. CIM-Basiswissen fur die Betriebspraxis

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Ralf Bohnsack Rekonstruktive Sozialforschung

Diplomarbeit BESTSELLER. Eva-Maria Matzker. Einrichtungen des Gesundheitswesens strategisch steuern. Anwendung der Balanced Scorecard

Paul Chlebek. Praxis der User Interface-Entwicklung

Oskar Reichert. C.lllputergestUbIe. Netzplantechnlk

Software-Praktikum. Ein praxisorientiertes Vorgehen zur Software-Erstellung

R. Sonyi/H.-P. Zinser Auf dem Weg zum Zertifikat

Die Balanced Scorecard als Instrument des strategischen Managements aus Sicht eines mittelständischen Logistikunternehmens

Klaus-Dieter Tillmann. DFÜ Datenfernübertragung im Apple-Pascal-System

Gene Zelazny Wie aus Zahlen Bilder werden

Geyer Kredite aktiv verkaufen

Arbeitsbuch Mathematik

Aktivierung latenter Steueransprüche nach IFRS für steuerliche Verlust- und Zinsvorträge

Gerhard Sielhorst Manuela Wilhelm. Makroprogrammierung mit Excel 3.0

Selbstgesteuertes Lernen bei Studierenden

Springer Spektrum, Springer Vieweg und Springer Psychologie.

S. Dietze / G. Pönisch. Starthilfe Graphikfähige Taschenrechner und Numerik

ALMA MATER Consulting Berlin GmbH (Hrsg.) Franz Rudolph. Chefsache

Norbert Hoffmann. 100 Grafik-Rezepte für Turbo Pascal unter Windows

Reiner Schmalz-Bruns Ansätze und Perspektiven der Institutionentheorie

Kataloge der Universitätsbibliothek Rostock / Die Bibliothek Herzog Johann Albrechts I. von Mecklenburg ( )

Aufgabensammlung Fertigungstechnik

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Finanzierung von Public Private Partnership Projekten

Friedrich A. Rode Der Weg zum neuen Konsumenten

Herzog Zinsänderungsrisiken in Kreditinstituten

Die Zukunft von Nationalstaaten in der europäischen Integration

Karl H. Delhees. Soziale Kommunikation

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Frederik Ramm. Recherchieren und Publizieren im World Wide Web

von Reibnitz. Szenario-Technik

Dietmar Herrmann. Programrnierprinzipien in BASIC und Pascal

Bibliografische Information der Deutschen Nationalbibliothek:

Kundenzufriedenheit im Mittelstand

Springer Spektrum, Springer Vieweg und Springer Psychologie.

Der Zusammenhang zwischen Mitarbeiterzufriedenheit und Mitarbeiterbindung

Stolorz I Fohmann (Hrsg.) Controlling in Consulting-Unternehmen

Dieter Baacke. Günter Frank Martin Radde. Medienwelten - Medienorte

Transkript:

Norbert Hoffmann Simulation neuronaler Netze

-Aus dem Bereich -... Computerliteratur Effektiv Starten mit Turbo Pascal von A. Kotulla Objektorientierte Programmierung mit Turbo Pascal von M. Aupperle Dynamische Systeme und Fraktale Computergrafische Experimente mit Pascal von K.-H. Becker und M. Dörfler Turbo Pascal Tools Einsatz von Turbo Pascal in der naturwissenschaftlichen Praxis von M.Weber Simulation neuronaler Netze Grundlagen, Modelle, Programme in Turbo Pascal von N. Hoffmann Simulation dynamischer Systeme Grundwissen, Methoden, Programme von H. Bossel Das Modula-2 Umsteigerbuch Von Turbo Pascal zu TopSpeed Modula-2 von R. Abdelhamid Parallele Programmierung mit Modula-2 von E. A. Heinz USP Fallstudien mit Anwendungen in der Künstlichen Intelligenz von R. Esser und E. Feldmar Prolog Eine methodische Einführung von R. Cordes, R. Kruse, H. Langendörfer und H. Rust Logische Grundlagen der Künstlichen Intelligenz von M. R. Genesereth und N. J. Nilsson '----Vieweg------------------

NORBERT HOFFMANN SIMULATION NEURONALER NETZE Grundlagen, Modelle, Programme in Turbo Pascal

Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor und der Verlag übernehmen infolgedessen keine Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann International. Alle Rechte vorbehalten Friedr. Vieweg & Sohn Verlagsgesellschaft mbh, Braunschweig 1991 Softcover reprint ofthe hardcover 1st edition 1991 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere rur Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Umschlaggestaltung: Schrimpf & Partner, Wiesbaden ISBN 978-3-528-05140-2 ISBN 978-3-322-87789-5 (ebook) DOI 10.1007/978-3-322-87789-5

VORWORT In letzter Zeit ist immer öfter von "neuronalen Netzen" oder "Neurocomputern" die Rede. Von ihren Fähigkeiten werden vielfach wahre Wunderdinge berichtet. Wer allerdings - über eine bloße Begriffsbestimmung hinaus - nähere Auskünfte über neuronale Netze sucht und vielleicht sogar den Wunsch verspürt, ihre Funktionsweise zu verstehen, der wird bestenfalls auf anspruchsvolle und zumeist englischsprachige Literatur verwiesen. Der Aufwand, um neuronale Netze zu verstehen, ist also beträchtlich. Diese Situation ist nicht allein darauf zurückzuführen, daß neuronale Netze eine relativ neue Konzeption sind und daß es daher noch wenig Literatur für den interessierten Laien gibt. Vielmehr liegt es im Wesen der neuronalen Netze, daß sie schwer verstehbar sind. Ihr Aufbau und ihre Funktionsweise beruhen nämlich auf Prinzipien, die von tierischen und menschlichen Nervenzellen abgeleitet sind. Zwar ist es nicht schwierig, die Arbeitsweise einer einzelnen Nervenzelle und die gegenseitige Einwirkung mehrerer Nervenzellen aufeinander zu verstehen; das daraus resultierende Verhalten größerer Ansammlungen von Nervenzellen ist jedoch - zumindest nach dem derzeitigen Kenntnisstand - mit einfacher Logik nicht erfaßbar. Ein intellektuelles Verständnis neuronaler Netze scheint also heute kaum erreichbar zu sein. Eine vielversprechende Alternative stünde offen, wenn es gelänge, mit neuronalen Netzen zu experimentieren und so einen Einblick in ihr Verhalten zu gewinnen. Glücklicherweise können neuronale Netze auf Computern simuliert werden; für einfache Netze, an denen bereits alle wichtigen Eigenschaften demonstriert werden können, genügt bereits ein Personalcomputer. Genau dieser Demonstration ist das vorliegende Buch gewidmet. Zur Simulation ist ein IBM-PC oder kompatibler Rechner erforderlich. Das Programm ist in Turbo-Pascal 6.0 geschrieben und vollständig abgedruckt. Zum Buch ist eine Diskette erhältlich, die das ausführbare Programm, die Quelltexte und alle im Buch verwendeten Musterbeispiele enthält. Zum Verständnis ist die Kenntnis der Programmiersprache Turbo-Pascal nicht erforderlich. Das Buch kann auch ohne Verwendung des Programms gelesen werden, doch entfällt dann natürlich die Möglichkeit zu eigenen Experimenten. Dem Vieweg-Verlag und insbesondere den Anregungen des Lektors, Herrn Dr. Reinald Klockenbusch, ist es zu verdanken, daß dieses Buch erscheinen konnte. März 1991 Norbert Hoffmann

INHALT S VERZEI C HNI S I GRUNDLAGEN 1 Einleitung... 1 1.1 Begriff und Bedeutung neuronaler Netze... 1 1.1.1 Nervensysteme... 1 1.1.2 Abstraktes Modell eines Nervensystems... 4 1.1.3 Neuronales Netz... 5 1.1.4 Vergleich mit herkömmlichen Computern... 5 1.1.5 Ausblicke... 6 1.2 Übersicht über den Buchinhalt... 6 1. 3 Vorkenntnisse des Lesers... 8 2 Allgemeine Beschreibung des Programms... 9 2.1 Allgemeine Hinweise... 9 2.1.1 Hardwarevoraussetzungen und Programminstallation... 9 2.1.2 Konventionen zur Programmbedienung... 10 2.2 Bedieneroberfläche aus Anwendersicht... 11 2.2.1 Einteilung des Bildschirms... 11 2.2.2 Aufruf eines Menüpunkts... 11 2.2.3 Umgang mit Fenstern... 13 2.2.4 Dialogfenster... 14 2.2.5 Anzeige von Zahlen... 16 2.2.6 Anzeige von Zahlengruppen... 18 2.2.7 Monochrome Bildschirme... 18 2.3 Künstliche neuronale Netze... 19 2.3.1 Aufbau... 19 2.3.2 Aktivierungsfunktionen... 21 2.3.3 Ausgangsfunktionen... 23 2.3.4 Zustände und Zustandsänderungen... 24

VIII Inhaltsverzeichnis 2.4 Programmtechnische Realisierung... 26 2.4.1 Aufbau des Programms... 26 2.4.2 Datenstruktur eines Neurons... 26 2.4.3 Neuronen in Turbo-Pascal... 28 2.4.4 Datenstruktur des Netzes... 31 2.4.5 Netz in Turbo-Pascal... 33 11 MODELLE 3 Grundlagen des Muster-Assoziators...... 36 3. 1 Begriff des Muster-Assoziators... 36 3.1.1 Struktur des Netzes...,... 36 3.1.2 Eigenschaften der einzelnen Neuronen... 37 3.1.3 Aktivierung des Netzes in der Reproduktionsphase... 37 3.2 Reproduktion gespeicherter Muster: Das ODER-Problem... 38 3.2.1 Erklärung des Problems... 38 3.2.2 Programmbedienung... 38 3.2.3 Analyse der Ergebnisse...46 3.2.4 Speichern der Musterpaare und Gewichte...48 3.2.5 Drucken des Netzzustandes... 50 3.3 Lernen beim Muster-Assoziator... 51 3.3.1 Lernen des ODER-Problems mit der Hebb'schen Lernregel... 51 3.3.2 Versagen der Hebb'schen Lernregel... 56 3.3.3 Lernen mit der Delta-Lernregel.... 60 3.4 Allgemeine Richtlinien für die Bedienung des Programms... 64 3.4.1 Programmablauf... 64 3.4.2 Menü "Aktionen"... 65 3.4.3 Menü "Anzeige"... 66 3.4.4 Menü "Parameter"... 67 3.4.5 Menü "Werte"... 68 3.4.6 Menü "Muster"... 68 3.4.7 Menü "Rücksetzen"... 69 3.4.8 Menü "Info"... 69 3.4.9 Sondertasten... 70 3.4.10 Typische Vorgangsweise... 71 3.5 Zusammenfassung... 72

Inhaltsverzeiclmis IX 4 Anwendungen des Muster-Assoziators... 74 4.1 Assoziative Speicherung... 74 4.1.1 Problemstellung... 74 4.1.2 Verwendung der McCulloch-Pitts-Funktion... 76 4.1.3 Verwendung der Fermi-Funktion... 77 4.1.4 Vereinfachtes Problem... 78 4.1.5 Verwendung der linearen Ausgangsfunktion... 80 4.2 Lesen von Buchstaben... 80 4.2.1 Problemstellung... 80 4.2.2 Darstellung auf dem Bildschirm... 81 4.2.3 Lemphase... 81 4.2.4 Reproduktionsphase... 82 4.2.5 Folgerungen... 86 4.2.6 Verwendung der Fermi-Funktion... 87 5 Auto-Assoziatoren... 88 5.1 Definition des linearen Auto-Assoziators... 88 5.1.1 Struktur des Netzes... 88 5.1.2 Eigenschaften der Neuronen... 89 5. 1.3 Akti vierung des Netzes in der Reproduktionsphase... 90 5.1.4 Hebb'sche Lemregel beim linearen Auto-Assoziatof.... 90 5.2 Richtlinien für die Programmbedienung... 90 5.2.1 Festlegung des Netzes... 90 5.2.2 Lernen... 91 5.2.3 Erläuterung der Anzeige... 91 5.2.4 Reproduzieren... 93 5.2.5 Weiteres Beispiel... 95 5.2.6 Besonderheiten der Reproduktion... 95 5.3 Lernen und Wiedererkennen von Buchstaben... 96 5.3.1 Problemstellung... 96 5.3.2 DeIta-Lemregel beim Auto-Assoziator... 97 5.3.3 Lemphase... 97 5.3.4 Rekonstruktion gestörter Vorlagen... 98 5.4 BSB-Modell (Brain-State-in-the-Box)... 99 5.4.1 Beschreibung des BSB-Modells... 99 5.4.2 Lernen und Wiedererkennen im BSB-Modell... 100 5.5 DMA-Modell (Distributed memory and anmesia)... 101 5.5.1 Aufbau des OMA-Modells... 101 5.5.2 Beschreibung eines Beispiels: Möbel... 102 5.5.3 Lernen des Prototyps Tisch... 103

x Inhaltsverzeichnis 5.5.4 Simultanes Lernen mehrerer Prototypen... 106 5.5.5 Automatische Einteilung gelernter Muster in Kategorien... 107 5.5.6 Zusätzliches Lernen einzelner Muster... 109 5.6 Zusammenfassung... 112 6 Training verborgener Einheiten mit der Backpropagation-Lemregel... 114 6.1 Begriff des Backpropagation-Netzes... 114 6.1.1 Ein bisher unlösbares Problem... 114 6.1.2 Struktur des Backpropagation-Netzes... 115 6.1.3 Eigenschaften der einzelnen Neuronen... 116 6.1.4 Aktivierung des Netzes in der Reproduktionsphase... 117 6.1.5 Backpropagation-Lernregel... 117 6.1.6 Variante der Backpropagation-Lernregel..... 119 6.1. 7 Erfolg und Versagen der Backpropagation-Lernregel..... 119 6.2 Lernen des XOR-Problems... 119 6.2.1 Festlegung der Netzstruktur... 119 6.2.2 Vorbereitung des Netzes... 120 6.2.3 Erster Lernschritt... 124 6.2.4 Weitere Lernschritte... 128 6.2.5 Lernen mit geänderten Startgewichten... 130 7 Hopfield-Netze.............................. 132 7.1 Definition des Hopfield-Netzes... 132 7.1.1 Struktur des Netzes... 132 7.1.2 Eigenschaften der Neuronen... 133 7.1.3 Lernregel.... 133 7.1.4 Reproduktionsphase... 133 7.2 Beispiel: MöbeL... 134 7.2.1 Problemstellung... 134 7.2.2 Lernen der Prototypen... 134 7.2.3 Überprüfung des Lernerfolgs... 135 7.2.4 Vervollständigung von Möbel-Fragmenten... 136 8 Zusammenfassende Übersicht über die behandelten Netzmodelle...... 137 8.1 Berechnung eines Neurons... 137 8.2 Berechnung des Netzes... 137 8.3 Netzmodelle... 139 8.3.1 Muster-Assoziator... 139 8.3.2 Auto-Assoziator... 139 8.3.3 Backpropagation-Netz... 140 8.3.4 Hopfield-Netz... 141

Inhaltsverzeichnis XI illprogramme 9 Grundlegende Programme..................... 142 9.1 Vorbemerkungen zu allen Programmen... 142 9.2 Rahmenprogramm (NN.PAS)... 144 9.2.1 Erläuterungen... 144 9.2.2 Programmtext... 144 9.3 Allgemeine Unterprogramme (Unit ALLGUPG)... 145 9.3. 1 Erläuterungen... 145 9.3.2 Programmtext... 146 9.4 Fensterprogramme (Unit ALLGPROG)... 150 10 Neuronstrukturen und Hilfsprogramme........... 156 10.1 Neuronstrukturen (Unit UNEURON)... 156 10.1.1 Rahmenprogramm... 156 10.1.2 Interface... 156 10.1.3 Methoden für TAktivierungs_Parameter... 159 10.1.4 Methoden für TAusgangs_Parameter... 160 10.1.5 Methoden für TEingangs_Zuordnung... 161 10.1.6 Methoden für TRea1... 161 10.1. 7 Methoden für TNeuron... 163 10.2 Hilfsprogramme (Unit UNETZ)... 164 10.2.1 Rahmenprogramm... 164 10.2.2 Interface... 165 10.2.3 Methoden für TSchichtbeschreiber... 167 10.2.4 Methoden für TAnzeigeformat... 168 10.2.5 Methoden für Terw_Anzeigeformat... 169 10.2.6 Methoden für TAnzeige... 170 10.2.7 Methoden für TIAnzeigefenster... 172 10.2.8 Methoden für TAnzeigefenster... 175 10.2.9 Prozedur Daten_eingeben... 175 10.2.10 Methoden für TMusterpaar... 177 11 Objekt TNetz (Unit NETZ)........ 183 11.1 Rahmenprogramm... 183 11.2 Interface........................................................................ 184 11.3 Implementation... 185 11.3. 1 Menüsteuerung...................................................... 185 11.3.2 Speicher bereitstellen............................................... 189

XII Inhal tsverzeiclmis 11.3.3 Weitere Programme... 198 11.3.4 Fensterüberschriften... 212 11.3.5 Zufallsgenerator... 212 11.3.6 Reproduzieren... 213 11.3.7 Lernen... 215 12 Eingabe und Modifikation des Programms... 222 12.1 Neuerstellung des Programms... 222 12.2 Einfache Änderungen... 222 12.2.1 Änderung von Texten... 222 12.2.2 Änderung von Programmkonstanten... 223 12.2.3 Änderung von Standardwerten... 223 IV ANHANG 13 Literaturverzeichnis... 225 13.1 Literaturverweise aus dem Text..... 225 13.2 Weiterführende Literatur... 226 14 Synonymverzeichnis... 228 15 Symbolverzeichnis... 229 16 Register... 230