ebook img

Simulation Neuronaler Netze: Grundlagen, Modelle, Programme in Turbo Pascal PDF

247 Pages·1991·6.34 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Simulation Neuronaler Netze: Grundlagen, Modelle, Programme in Turbo Pascal

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 irgend einer 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 neu ronale Netze sucht und vielleicht sogar den Wunsch verspürt, ihre Funktionsweise zu verstehen, der wird bestenfalls auf anspruchsvolle und zumeist englischsprachige Lite ratur 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 versteh bar 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 mehre rer Nervenzellen aufeinander zu verstehen; das daraus resultierende Verhalten größerer Ansammlungen von Nervenzellen ist jedoch - zumindest nach dem derzeitigen Kennt nisstand -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 neurona len Netzen zu experimentieren und so einen Einblick in ihr Verhalten zu gewinnen. Glücklicherweise können neuronale Netze auf Computern simuliert werden; für einfa che 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 Musterbei spiele 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 •T isch· ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 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

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.