Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Neuronale Netze und Parallelrechner
Lösung des 838-Dekoderproblems mit dem Backpropagation-Algorithmus auf einem CNAPS-Board von Pieter Raath & Peter Wendzioch
2
9/22/2018
3
Neuronale Netze@Referat
Motivation Das Neuron Backpropagation feed forward backpropagate Probleme
4
Motivation@Neuronale Netze
Neuronale Netze sind informationsverarbeitende Systeme. Sie bestehen aus einer großen Anzahl einfacher Einheiten (Neuronen). Informationen werden über die Neuronenverbindungen ausgetauscht. Informationen werden massiv parallel verarbeitet. sind in Form von Programmen, Netzwerksimulatoren oder in Form spezieller neuronaler Hardware in vielen Anwendungsgebieten einsetzbar. Idee: Nachbildung menschlicher Informationsverarbeitung 9/22/2018
5
Motivation@Neuronale Netze
Gehirn Rechner Anzahl der Verarbeitungselemente ca Neuronen 109 Transistoren Art massiv parallel seriell Speicherung Adreßbezogen assoziativ Schaltzeit eines Elements ca. 1 ns ca. 1 ms 9/22/2018
6
Das Neuron@Neuronale Netze
9/22/2018
7
Backpropagation@Neuronale Netze
Für neuronale Netze existieren eine Vielzahl von Lernmethoden. Das hier ist vorgestellte Verfahren ist Backpropagation, eine Art Standardverfahren. Als Gradientenabstiegsverfahren berechnet es den Gradienten der Fehlerfunktion. Die Fehlerfunktion ist ein Vergleich zwischen erwarteter (Sollwert) und realer Ausgabe (Istwert). Die Kombination derjenigen Gewichte eines Netzes, die den Berechnungsfehler minimiert, gilt als Lösung des Lernproblems. 9/22/2018
8
feed forward@Neuronale Netze
i o 0,75 h1 h1 0,1 0,1 0,1 0,1 0,1 0,1 e1 0,1 0,51 0,1 -0,25 0,1 0,9 0,9 -0,5 a1 a1 0,47 0,9 0,1 0,9 0,25 -0,5 h2 h2 0,49 -0,37 e2 0,1 0,9 0,9 0,1 0,25 9/22/2018
9
backpropagate@Neuronale Netze
0,01 i o 0,75 0,76 h1 0,1 0,1 0,1 0,1 0,1 0,1 e1 0,1 0,51 0,1 -0,24 -0,25 0,1 0,1 0,9 0,9 0,9 0,9 -0,4 -0,5 a1 0,47 0,9 0,1 0,9 0,24 0,25 -0,6 -0,5 h2 0,49 -0,37 e2 0,9 -0,09 0,9 0,9 0,1 0,25 0,26 -0,01 9/22/2018
10
Probleme@Backpropagation
Verlassen guter Minima Oszillationen in steilen Schluchten Lokale Minima der Fehlerfläche Flache Plateaus 9/22/2018
11
Parallelrechner@Referat
Motivation Klassifizierung Probleme
12
Motivation@Parallelrechner
Aufgaben der Informatik werden immer komplexer und datenintensiver. Klimamodelle Spracherkennung Bildverarbeitung ‚von Neumann‘-Prinzip ist für diese und viele andere Probleme uneffizient. Speziell: Berechnung der Neuronengewichte von NN‘s Erhöhung der Verarbeitungsleistung durch zeitgleiche Verarbeitung größerer Datenmengen. Architektur der Parallelrechner 9/22/2018
13
Klassifizierung@Parallelrechner
SIMD MIMD Jeder Prozessor arbeitet auf eigenem Datenstrom. Alle Prozessoren führen den gleichen Befehl aus. Beispiel: Adaptive Solutions CNAPS, Thinking Machines CM-2. Jeder Prozessor arbeitet aus eigenem Datenstrom. Jeder Prozessor arbeitet auf eigenem Befehlstrom. Beispiel: Hypercube, Dual Pentium 9/22/2018
14
Probleme@Parallelrechner
Datenabhängigkeit. Explizite und implizite Parallelität Explizite P. liegt bei strukturierten Daten vor (Vektor, Matrizen). Implizite P. muß mit Datenabhängigkeitsanalyse ermittelt werden. Bei gemeinsam genutzen Ressourcen treten Wartezeiten auf, die den Geschwindigkeitsvorteil mindern. Mangelnde Unterstützung der Hardware durch Betriebssysteme und Compiler. 9/22/2018
15
CNAPS@Referat Board CSC & CNAPS 1064 Processornode CNAPS-C CNAPI
CNAPSBP.DLL
16
Board@CNAPS 4 MB file memory 512 KB program CSC CNAPS array
ISA bus interface local bus CSC CNAPS array 9/22/2018
17
CSC & PN63 9/22/2018
18
Processor 9/22/2018
19
CNAPS-C@CNAPS CNAPS-C ist an das ANSI-C angelehnt.
Zusätzliche Sprachelemente für die CNAPS-spezifische Programmentwicklung: Der Datentyp domain faßt eine Gruppe von PN‘s zusammen, auf denen Funktionen parallel ausgeführt werden. Funktionen können als entry points definiert werden, damit sie vom Host-Programm aus aufgerufen werden können. Spezielle Datentypen für die Festpunktarithmetik. u.a. Direkte Hardwareprogrammierung ist in der Assemblersprache CPL möglich. 9/22/2018
20
Das CNaps Application Programming Interface stellt u.a. folgende elementare Funktionen zur Kommunikation mit dem CNAPS-Board zur Verfügung: Laden der Programme Laden der Daten Kontrolle der Programmausführung Setzen von Breakpoints Abfragen des Fehlerstatus u.a. 9/22/2018
21
CNAPSBP In der CNAPSBP.DLL ist eine parallele Version des Back-propagation-Algorithmus implementiert. Mit ihren Funktionen läßt sich ein 3-schichtiges feed-forward-Netz initialisieren, trainieren und verifizieren: bpInitTraining() bpTrain() bpGetLastResult() bpDone() bpTerminate() bpInitApplication() bpRunApplication() 9/22/2018
22
Beispiel@Referat 838-Dekoder Netztopologie Demonstration
Interpretation
23
838-Dekoder@Beispiel Eingangswert Ausgangswert Binärdekodierung
9/22/2018
24
Netztopologie@Beispiel
Input Output 1 1 1 1 Hidden 8 Input-Neuronen 3 Hidden-Neuronen 8 Output-Neuronen Vollständig verbundenes feed-forward-Netz 9/22/2018
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.