Lade Inhalt...

Überwachung eines neuronalen Netzes mittels Controller

©2000 Studienarbeit 65 Seiten

Zusammenfassung

Inhaltsangabe:Zusammenfassung:
Im Rahmen dieser Belegarbeit entstand eine Software, die es erlaubt, die Signalflüsse eines analogen Multiplayerperzeptrons zu überwachen. Grundlage war eine vorangegangene Diplomarbeit, in der die Struktur eines selbstlernenden neuronalen Netzes als Analogschaltung herausgearbeitet wurde.
Die Software realisiert die Control-Funktion des analogen Netzes. Diese Funktion überwacht die Ein- und Ausgänge des Netzes, regelt den Signalfluss zum Musterspeicher und kontrolliert den Lernprozess. Ziel war es, die Einsatzmöglichkeit eines Mikrocontrollers zur Netzsteuerung zu untersuchen. Dabei erwies sich die schnellstmögliche Abarbeitung des Control-Algorithmus als wichtiges Kriterium. Aus diesem Grund wurde das Controllerprogramm im Assemblercode entwickelt.
Das entstandene Programm ermöglicht es, ein neuronales Netz mit bis zu 100 Eingangs- und 20 Ausgangsneuronen zu steuern. Dabei wurde Wert darauf gelegt, die Software möglichst flexibel zu gestalten. So ist es z.B. möglich, die Anzahl der Ein- und Ausgangsneuronen festzulegen und auch die Zahl der Lern- und Testpattern kann bis zum Maximalwert von je 1000 variiert werden.

Inhaltsverzeichnis:Inhaltsverzeichnis:
1.Kurzreferat1
2.Inhaltsverzeichnis4
3.Verzeichnis der Abbildungen6
4.Grundlagen neuronaler Netze7
4.1Das biologische Vorbild7
4.2Künstliche neuronale Netze8
5.Multilayerperzeptron und Backpropagationalgorithmus10
5.1Aufbau und Funktion des Multilayerperzeptrons (MLP)11
5.2Der Backpropagationalgorithmus12
6.Struktur der technischen Realisierung14
6.1Grundstruktur des Netzes14
6.2Algorithmus zum automatisierten Lernen15
6.3Ermittlung des minimalen Netzfehlers17
6.4Algorithmus der Control-Funktion18
7.Der Mikrocontroller Hitachi H8/53420
7.1Aufbau und Eigenschaften des H8/53420
7.1.1Betriebsmodi der H8-Familie22
7.1.2Festlegen des Betriebsmodus und Speicherplatzbedarf der Software23
7.2Auswahl der Programmiersprache24
7.3Interne Zahlendarstellung25
7.3.1Variablenformate der Control-Funktion25
7.3.2Festkommazahlen26
7.3.3Gleitkommazahlen26
8.Die Software27
8.1Vereinbarungsteil und Speichereinteilung29
8.2Das Hauptprogramm30
8.3Unterprogramm Copy_Tab31
8.4Algorithmus zur Zufallszahlenerzeugung31
8.4.1Algorithmen zur Zufallszahlenerzeugung31
8.4.2Implementation des Zufallszahlengenerators (Unterprogramm Random)34
8.5Unterprogramm Present_Learnpattern35
8.5.1Verwendung der Mikrocontrollerports35
8.5.2Präsentation der […]

Leseprobe

Inhaltsverzeichnis


ID 7227
Krause, Michael: Überwachung eines neuronalen Netzes mittels Controller
Hamburg: Diplomica GmbH, 2003
Zugl.: Universität Rostock, Universität, Studienarbeit, 2000
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die
Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine
Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen.
Diplomica GmbH
http://www.diplom.de, Hamburg 2003
Printed in Germany

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
1. Kurzreferat
Im Rahmen dieses Kleinen Beleges entstand eine Software, die es erlaubt, die Signalflüsse
eines analogen Multiplayerperzeptrons zu überwachen. Grundlage war eine vorangegangene
Diplomarbeit, in der die Struktur eines selbstlernenden neuronalen Netzes als
Analogschaltung herausgearbeitet wurde.
Die Software realisiert die Control-Funktion des analogen Netzes. Diese Funktion überwacht
die Ein- und Ausgänge des Netzes, regelt den Signalfluss zum Musterspeicher und
kontrolliert den Lernprozess. Ziel war es, die Einsatzmöglichkeit eines Mikrocontrollers zur
Netzsteuerung zu untersuchen. Dabei erwies sich die schnellstmögliche Abarbeitung des
Control-Algorithmus als wichtiges Kriterium. Aus diesem Grund wurde das
Controllerprogramm im Assemblercode entwickelt.
Das entstandene Programm ermöglicht es, ein neuronales Netz mit bis zu 100 Eingangs- und
20 Ausgangsneuronen zu steuern. Dabei wurde Wert darauf gelegt, die Software möglichst
flexibel zu gestalten. So ist es z.B. möglich, die Anzahl der Ein- und Ausgangsneuronen
festzulegen und auch die Zahl der Lern- und Testpattern kann bis zum Maximalwert von je
1000 variiert werden.
Seite 3

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
2. Inhaltsverzeichnis
1. Kurzreferat ... 1
2. Inhaltsverzeichnis... 4
3. Verzeichnis der Abbildungen... 6
4. Grundlagen neuronaler Netze... 7
4.1
Das biologische Vorbild... 7
4.2
Künstliche neuronale Netze ... 8
5. Multilayerperzeptron und Backpropagationalgorithmus... 10
5.1
Aufbau und Funktion des Multilayerperzeptrons (MLP)... 11
5.2 Der
Backpropagationalgorithmus ... 12
6. Struktur der technischen Realisierung ... 14
6.1
Grundstruktur des Netzes... 14
6.2
Algorithmus zum automatisierten Lernen... 15
6.3
Ermittlung des minimalen Netzfehlers... 17
6.4
Algorithmus der Control-Funktion ... 17
7. Der Mikrocontroller Hitachi H8/534... 19
7.1
Aufbau und Eigenschaften des H8/534... 19
7.1.1
Betriebsmodi der H8-Familie... 21
7.1.2
Festlegen des Betriebsmodus und Speicherplatzbedarf der Software... 22
7.2
Auswahl der Programmiersprache ... 23
7.3 Interne
Zahlendarstellung... 24
7.3.1
Variablenformate der Control-Funktion ... 24
7.3.2 Festkommazahlen... 25
7.3.3 Gleitkommazahlen ... 25
Seite 4

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
8. Die Software... 26
8.1
Vereinbarungsteil und Speichereinteilung ... 27
8.2 Das
Hauptprogramm ... 28
8.3 Unterprogramm
Copy_Tab ... 29
8.4
Algorithmus zur Zufallszahlenerzeugung ... 29
8.4.1
Algorithmen zur Zufallszahlenerzeugung... 29
8.4.2
Implementation des Zufallszahlengenerators (Unterprogramm Random)... 32
8.5 Unterprogramm
Present_Learnpattern... 33
8.5.1
Verwendung der Mikrocontrollerports ... 33
8.5.2 Präsentation
der Lernpattern ... 36
8.6 Unterprogramm
Present_Testpattern ... 36
8.6.1 Unterprogramm
Error_Calc ... 38
8.7
Unterprogramme zum Umgang mit Gleitkommawerten... 38
8.7.1 Unterprogramm
R_to_I ... 38
8.7.2 Unterprogramm
IEEE_Mult... 39
8.8 Programmlaufzeit ... 40
9. Softwaretest ... 41
10.
Ausblick... 42
11.
Literatur- und Quellenverzeichnis ... 43
Anhang ... 45
Seite 5

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
3. Verzeichnis
der
Abbildungen
Abbildung 4.1-1: Biologische Neuronen ... 7
Abbildung 4.1-2: Pyramidenzelle ... 8
Abbildung 4.2-1: Biologisches Neuron und Modellneuron... 9
Abbildung 5.1-1: Struktur eines dreischichtigen Multilayerperzeptrons... 11
Abbildung 6.1-1: Funktionelle Struktur des Netzes... 14
Abbildung 6.2-1: Algorithmus zum automatisierten Lernen ... 16
Abbildung 6.4-1: Algorithmus der Control-Funktion... 18
Abbildung 7.1-1: Blockschaltung des H8/534 ... 20
Abbildung 7.1-2: Eigenschaften der Hitachi H8/536 und H8/534 Mikrocontroller ... 21
Abbildung 7.1.1-1: Betriebsmodi des H8/534 ... 22
Abbildung 7.1.2-1: Speicherplatzbedarf der Software... 23
Abbildung 7.3.2-1: Darstellung von ,,3,25" als Festkommazahl ... 25
Abbildung 7.3.3-1: Zahlendarstellung im IEEE-Format... 26
Abbildung 8.1-1: Speichernutzung des Assemblerprogramms... 27
Abbildung 8.4.1-1: Algorithmus der Methode der linearen Kongruenz... 30
Abbildung 8.4.1-2: Schieberegister mit linearer Rückführung... 30
Abbildung 8.4.1-3: Abgriffspositionen verschiedener Schieberegister ... 31
Abbildung 8.4.2-1: Speicherformat der von Random benutzten Tabellen ... 32
Abbildung 8.5.1-1: Verwendung der Mikrocontrollerports des H8/534... 34
Abbildung 8.6-1: Anschluss des Mikrocontrollers zur Netzfehlerermittlung... 37
Abbildung 8.8-1: Laufzeiten der wichtigsten Programmmodule... 40
Seite 6

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
4.
Grundlagen neuronaler Netze
4.1 Das biologische Vorbild
Das Ziel bei der Erforschung und Entwicklung künstlicher neuronaler Netze ist, dass
menschliche Gehirn so realistisch wie möglich nachzubilden.
Das menschliche Gehirn gehört zu den kompliziertesten bekannten Strukturen. Es enthält
rund 100 Milliarden Nervenzellen und ist spiegelsymmetrisch in zwei Hälften unterteilt.
Beide Hälften sind durch eine Brücke aus Nervenfasern verbunden. Zu erkennen sind
außerdem große Strukturen (Lappen) sowie viele kleine Windungen. Das Gehirn erscheint
wie ein flaches Tuch bestimmter Dicke, das zusammengeknüllt in einem begrenzten Raum
untergebracht ist. Die als Tuch dargestellte Hirnrinde weist eine geschichtete Struktur auf.
Sie lässt sich in zwei grobe Schichten unterteilen. Die erste Schicht bilden die grau
aussehenden Nervenzellen. Die zweite Schicht erscheint weiß und enthält die
Nervenfortsätze. Diese Fortsätze bilden ein kurz- oder weitreichendes Verbindungswerk und
stellen die Aktivierungsleitungen im Gehirn dar.
Im Gehirn gibt es eine Vielzahl von unterschiedlichen Nervenzellen, die alle verschiedene
Aufgaben erfüllen. Zwei Arten sollen im folgenden näher betrachtet werden, die relativ
großen und häufig vorkommenden pyramidenähnlichen Zellen (Pyramidenzellen) und die
kleineren sternförmigen Zellen (Stern- oder Gliazelle).
Abbildung 4.1-1: Biologische Neuronen
In Abbildung 4.1-1 ist ein mit der Golgi-Anfärbemethode hergestellter Schnitt zu sehen. Er
zeigt beide Typen von Nervenzellen. Bei Neuron a bis e handelt es sich um Pyramidenzellen,
die Zellen f bis h sind Sternzellen. Zwischen beiden Zelltypen gibt es eine Arbeitsteilung. Die
Pyramidenzellen verarbeiten die elektrischen Impulse, während die Sternzellen die
Energieversorgung sichern. Sie sind Mittler zwischen Blutsystem und Pyramidenzellen. D.h.
die Sternzellen sorgen für die Blut-Hirn-Schranke und tragen durch die Vorgabe der
Wachstumsrichtung entscheidend zur Entwicklung des Gehirns bei. In künstlichen neuronalen
Netzen beschränkt man sich auf die Simulation der Pyramidenzellen.
Seite 7

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
Abbildung 4.1-2: Pyramidenzelle
Abbildung 4.1-2 zeigt eine natürliche Pyramidenzelle. Die Verdickung bzw. der Knoten stellt
den Zellkörper dar. Die kleinen, astartigen und mit Stacheln besetzten Auswüchse werden als
Dendriten bezeichnet. Sie leiten die gesamte elektrische Erregung, die sie erhalten, an den
Zellkörper weiter. Wird ein bestimmter Schwellwert der Erregung überschritten, kommt es zu
einer plötzlichen Spannungsentladung, was häufig als ,,Feuern" bezeichnet wird. Der Impuls
gelangt vom Zellkörper auf dem dicken Zellfortsatz, dem Axon, bis in die entferntesten
Verzweigungen. Es ist möglich, dass Axone und benachbarte Dendriten anderer Neuronen
aufeinander zuwachsen und elektrochemische Kontaktstellen, die Synapsen, bilden. Der
Informationsfluss der Nervenzellen geht normalerweise vom Zellkern über das Axon durch
die Synapsen zu den Dendriten und schließlich zum Zellkern eines benachbarten Neurons.
Wo sind nun aber die Informationen gespeichert? Die Nervenzelle selbst kann die Signale nur
übertragen bzw. verarbeiten. Die Verarbeitung beschränkt sich hierbei auf das Vergleichen
der Gesamterregung mit dem Schwellwert und die daraus resultierende eventuelle Entladung.
Es können also keine Informationen direkt gespeichert werden. Die Informationen sind
vielmehr in der Stärke der synaptischen Verbindungen und der Gehirntopologie enthalten.
4.2 Künstliche neuronale Netze
Im vorherigen Abschnitt wurde das natürliche Vorbild der neuronalen Netze beschrieben. In
der Realisierung eines künstlichen neuronalen Netzes geht man jedoch von einem stark
vereinfachten Neuronenmodell aus. Diese Netze sind demnach neuronale, also neuronen-
ähnliche Netze.
Seite 8

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
Abbildung 4.2-1: Biologisches Neuron und Modellneuron
Die Abbildung 4.2-1 zeigt links ein biologisches Neuron und rechts ein entsprechendes
Modellneuron, wie es in der Technik angewandt wird. Das Grundmodell eines künstlichen
Neurons, von McCulloch und Pitts im Jahr 1943 entwickelt, fasst das Neuron als eine Art
Addierer mit Schwellwert auf. Die Verbindungen (Synapsen) eines Neurons nehmen
Aktivierungen x
1
, x
2
, x
3
mit bestimmten Stärken w
1
, w
2
, w
3
von anderen Neuronen auf,
summieren diese und lassen am Ausgang y (Axon) des Neurons eine Aktivität entstehen,
sofern die Summe vorher einen Schwellwert s überschritten hat.
Diese Modellbildung führt die Wirkungen von hunderten Synapsen zwischen dem Axon eines
Neurons und den Dendriten anderer Neuronen in ein Gewicht w über und vernachlässigt
Faktoren wie bidirektionale Synapsen, chemische Informationswege und
Energieversorgungsfragen.
Das künstliche Neuron bildet also die gewichtete Summe der Eingangsaktivitäten und
berechnet mittels der Aktivierungsfunktion die Ausgangsaktivität. Die Art der
Aktivierungsfunktion wird durch die verwendete Lernregel bestimmt. Häufig verwendete
Funktionen sind die Sigmoid-Funktion, die Heavyside-Funktion und der hyperbolische
Tangens.
Das Lernen beschreibt die Anpassung eines neuronalen Netzes an die zu erfüllende Aufgabe.
Der eigentliche Lernvorgang erfolgt durch Änderung der Gewichte zwischen den einzelnen
Neuronen. Dazu werden dem Netz Beispielmuster präsentiert, mit deren Hilfe die
erforderlichen Netzparameter bestimmt werden. Grundlage der Parameterbestimmung ist der
verwendete Lernalgorithmus. Grundsätzlich lassen sich dabei zwei Lernarten unterscheiden,
überwachtes und unüberwachtes Lernen. Beim überwachten Lernen werden dem Netz neben
den Eingangsmustern auch die zu erwartenden Ergebnisse präsentiert, wohingegen sich das
unüberwachte Lernen auf die Präsentation der Eingangsmuster beschränkt.
Das vorliegende Mikrocontrollerprogramm realisiert die Überwachung des Lern- und
Arbeitsprozesses eines Multilayerperzeptrons, das den Backpropagationalgorithmus als
Lernmethode benutzt. Dieser Algorithmus zählt zu den Methoden, die ein überwachtes
Lernen voraussetzen. Die Funktionsweise und die Eigenschaften des Multilayerperzeptrons
sowie des Backpropagationalgorithmus sind im Kapitel 5 näher erläutert.
Seite 9

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
Vergleicht man die künstlichen neuronalen Netze mit dem biologischen Vorbild bleiben trotz
der o.g. Vereinfachungen folgende Eigenschaften erhalten:
Massive Parallelität
Diese Eigenschaft ist ausschlaggebend für die enorme Leistungsfähigkeit des Nervensystems
und wichtiges Merkmal neuronaler Netze.
Einfach arbeitende Elemente (Neuronen)
Neuronen sind sehr einfach aufgebaut, trotzdem lassen sich mit ihnen komplexe Probleme
lösen.
Gewichtete Verbindungen zwischen den Neuronen
Die Verbindungen erlauben die Weitergabe des Grades der Aktivierung an andere Neuronen.
Modifizierbarkeit der Verbindungsgewichte
Die Anpassung der Verbindungsgewichte ist eine Grundvoraussetzung für die Lernfähigkeit
und entspricht der Plastizität der Synapsen im biologischen Vorbild.
Relativ hohe Verbindungsrate mit anderen Neuronen
Die bisher wesentlich geringere Leistungsfähigkeit künstlicher neuronaler Netze lässt sich
anhand der Unterschiede zum biologischen Vorbild erklären:
Struktur der Dendriten wird nicht modelliert
Die baumartig verästelte Struktur wird durch eine direkte Verbindung ersetzt.
Vernachlässigung zeitlicher Vorgänge
Keine Berücksichtigung chemischer Einwirkungen räumlich benachbarter Neuronen
Biologisch unplausible Lernregeln
In der Natur gibt es z.B. kein überwachtes Lernen.
Aufgrund der zum Teil doch erheblichen Unterschiede zum biologischen Vorbild ist man
heute vom Ziel, biologische Intelligenz mit technischen Mitteln nachzuempfinden, noch weit
entfernt.
5.
Multilayerperzeptron und Backpropagationalgorithmus
Das Perzeptron bzw. das weiterentwickelte Multilayerperzeptron gehören zu den wichtigsten
und weitverbreitesten Netzmodellen. In dieser Arbeit entstand ein Mikrocontrollerprogramm
zur Überwachung und Organisation der Signalflüsse eines Multilayerperzeptrons, das den
Backpropagationalgorithmus als Lernmethode verwendet. Deshalb sei in diesem Kapitel kurz
auf den Aufbau und die Funktionsweise eines solchen neuronalen Netzes eingegangen.
Seite 10

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
5.1 Aufbau und Funktion des Multilayerperzeptrons (MLP)
Das Multilayerperzeptron ist ein mehrschichtiges neuronales Netz. Es besteht aus Eingangs-,
versteckter und Ausgangsschicht. Die Neuronen der einzelnen Schichten sind über Synapsen
miteinander verbunden. Im dieser Arbeit zugrunde liegenden Netzmodell sind alle Neuronen
einer Schicht mit allen Neuronen der nächsten Schicht verbunden. In diesem Fall handelt es
sich um ein vollvernetztes Netz. Ein solches dreischichtiges Netz ist in Abbildung 5.1-1
dargestellt.
Eingangs- versteckte Ausgangs-
schicht
Schicht
schicht
Abbildung 5.1-1: Struktur eines dreischichtigen Multilayerperzeptrons
Der an der Eingangsschicht anliegende Eingabewert wird durch die Eingangsneuronen ohne
eine Transformation an die versteckte Schicht weitergegeben. Die zwischen den Neuronen
liegenden Synapsen beinhalten die Gewichte und führen die Multiplikation des
Eingangswertes mit dem entsprechenden Gewichtswert der Synapse aus. Dieser gewichtete
Wert wird an die Neuronen der versteckten Schicht weitergegeben.
Die Neuronen der versteckten Schicht verfügen über mehrere Eingänge. Aufgabe der Hidden-
neuronen ist es, die Werte ihrer Eingänge aufzusummieren. Die Summe z der Eingänge wird
Aktivierung genannt. Sie ist die gewichtete Summe der Ausgänge der vorherigen Schicht und
stellt den Funktionswert der Aktivierungsfunktion dar, die den Ausgang des Neurons
bestimmt. Der für das Lernen des Netzes verwendete Backpropagationalgorithmus verlangt
eine stetige, differenzierbare Aktivierungsfunktion. Oft wird die bereits in Kapitel 4.2
erwähnte Sigmoid-Funktion verwendet. Die von den Neuronen auszuführenden Operationen
beschreiben folgende Formeln:
=
=
m
i
i
i
x
w
z
1
(5.1)
z
e
z
S
-
+
=
1
1
)
(
(5.2)
Die Gleichung 5.1 beschreibt die Bildung der Summe der Neuroneneingänge, während die
Gleichung 5.2 die sigmoide Aktivierungsfunktion darstellt. Soll eine bipolare Ausgabe der
Seite 11

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
Neuronen erreicht werden, muss die Funktion S(z) noch um einen konstanten Wert auf der y-
Achse verschoben werden.
5.2 Der
Backpropagationalgorithmus
Das Lernen des Netzes erfolgt überwacht, d.h. die von außen anzulegenden Muster bestehen
aus dem Eingabevektor und dem zugehörigen Ausgangsvektor. Nach einer zufälligen
Initialisierung der Netzgewichte w
i
wird der Lernalgorithmus ausgeführt. Folgende Schritte
werden dabei ständig wiederholt:
a) Feedforward-Berechnung der Eingabe
b) Bestimmung des Netzfehlers E
c) Backpropagation und Gewichtskorrektur
Der Lernalgorithmus wird solange ausgeführt, bis der Netzfehler E entweder klein genug
geworden ist oder aber die maximalen Wiederholungen erreicht wurden. Im letzteren Fall hat
das Netz nicht konvergiert.
a) Feedforward-Berechnung der Eingabe
Nach Anlegen des Eingabemusters wird dieses vorwärtsgerichtet durch das Netz propagiert
und die entsprechende Netzausgabe erzeugt.
b) Bestimmung des Netzfehlers E
Der Vergleich des Sollwertes mit dem tatsächlichen Ausgang ergibt für jedes Neuron einen
Fehler. Das Ziel des Lernens ist es, den globalen Netzfehler E zu minimieren. Dieser
berechnet sich durch Aufsummieren des quadratischen Fehlers jedes Ausgangsneurons zu:
=
-
=
n
i
i
i
o
d
E
1
2
)
(
2
1
(5.3)
(d
i
: erwartete Ausgabe, o
i
: tatsächliche Ausgabe)
c) Backpropagation und Gewichtskorrektur
Für die Bestimmung des jeweiligen Gewichtsupdates kommt beim Backpropagation-
algorithmus die nach einem Gradientenabstiegsverfahren arbeitende Delta-Regel zum Einsatz.
D.h., die Verbindungsgewichte werden immer in Richtung des steilsten Gradienten der
Fehlerfunktion verändert. Das Gewichtsupdate für die Synapsen berechnet sich nach der
Formel:
ij
ij
w
E
w
-
=
(5.4)
(
: Lernrate)
Gemäß dieser Gleichung müssen also die partiellen Ableitungen
ij
w
E
errechnet werden.
Die Gewichtsänderung (Gleichung 5.4) lässt sich auch in der Form
Seite 12

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
j
i
ij
x
w
=
(5.5)
schreiben. (
i
: Fehler des jeweiligen Neurons,
: Eingangswert aus vorheriger Schicht)
j
x
Die Berechnung erfolgt für die Neuronen der versteckten und die Neuronen der
Ausgangsschicht auf unterschiedliche Art und Weise.
Für Ausgabeneuronen steht der Fehler im Zusammenhang mit der erwarteten und der
tatsächlichen Ausgabe. Der Fehler
i
berechnet sich hier zu:
)
(
)
(
'
i
i
i
i
o
d
o
S
-
=
(5.6)
(
) : Ableitung der Aktivierungsfunktion, o
(
'
i
o
S
i
: Neuronenausgabe)
Bei versteckten Neuronen muss der von der Ausgabeschicht rückgeführte Fehler
j
berücksichtigt werden. Der Fehler eines versteckten Neurons ist dann:
=
j
ij
j
i
w
z
S
)
(
'
(5.7)
(
: Verbindungsgewichte zu Elementen der Ausgabeschicht)
ij
w
Es werden also zuerst die Fehler der Ausgabeschicht berechnet und dann in die versteckte
Schicht zurückpropagiert. Auf diese Weise wird solange verfahren, bis man die
Eingangsschicht erreicht hat. Mit den aus den Gleichungen (5.6) und (5.7) berechneten
Gewichtsänderungen werden nun die Gewichte korrigiert. Die dafür nötige Ableitung der
Aktivierungsfunktion ist bei Verwendung einer sigmoiden Funktion sehr einfach, da für S'(z)
die Beziehung
)
(
))
(
1
(
)
(
'
z
S
z
S
z
S
-
=
(5.8)
gilt. Die Aktivierungsfunktion kann also auch für die Ermittlung der Ableitung verwendet
werden. Der größte Vorteil des Backpropagationalgorithmus besteht darin, dass die
Gewichtsanpassung in jeder Schicht parallel erfolgen kann.
Nach Abschluss der Gewichtskorrektur wird der Lernalgorithmus solange wiederholt, bis der
Netzfehler E klein genug geworden ist. Das Minimieren des Netzfehlers lässt sich mit dem
Finden des globalen Minimums auf einer mehrdimensionalen Fläche vergleichen. Wichtige
Kriterien für ein sicheres Konvergieren sind die Evolution der Lernrate
und die Art der
Lernpatternpräsentation. Das Konvergenzverhalten des Netzes hängt außerdem stark von der
zu lösenden Aufgabe ab. Sie bestimmt zusammen mit der Anfangsinitialisierung der
Gewichte das Aussehen der mehrdimensionalen Fläche. Die Parameter für ein schnelles und
sicheres Konvergieren müssen jedoch oft heuristisch ermittelt werden. Das Problem des in der
Delta-Lernregel verwendeten Gradientenabstiegsverfahrens ist die Gefahr, in einem lokalen
Minimum ,,stecken" zu bleiben bzw. bei Tälern mit großen Gradienten an den Rändern das
globale Minimum durch große Gewichtsänderungen zu ,,überspringen". Diese Gefahr lässt
sich durch Optimierungen, wie das Einführen eines Momentum-Terms, das Lernen mit
verschiedenen Anfangsinitialisierungen und eine zufällige Präsentation der Lernpattern
verringern.
Seite 13

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
6.
Struktur der technischen Realisierung
6.1 Grundstruktur des Netzes
Für die Umsetzung des beschriebenen Multilayerperzeptrons in einen Schaltkreis ist es
sinnvoll, das Netz in entsprechende Teilfunktionen zu zerlegen, die Funktionen durch Ein-
und Ausgangsvariablen voneinander abzugrenzen und die Realisierung jedes einzelnen
Funktionsteils getrennt zu betrachten. Aus der Literatur (LV /4/) stammt die in Abbildung
6.1-1 gezeigte Konzeption des Netzes.
Abbildung 6.1-1: Funktionelle Struktur des Netzes
Deutlich erkennbar sind die 3 Hauptfunktionen Control, Classification und Switch. Deren
Aufgaben sind
1. Control-Funktion:
Steuerung des Lernprozesses
2. Classification-Funktion: eigentliches MLP mit Backpropagation-Lernen
3. Switch-Funktion:
Umschaltung der Eingangssignale.
Desweiteren ist eine Einteilung in Analog- und Digitalteil zu erkennen. Der Digitalteil ist im
Mikrocontroller realisiert. Die Control-Funktion sorgt hier für die Steuerung und
Überwachung des Lernprozesses. Im Patternspeicher werden die Lern- und Testmuster
abgespeichert. Die Verbindung zum Analogteil erfolgt über Digital/Analog- und
Analog/Digitalwandler. Im Fall des learn- und ini-Signals kann das digitale TTL-
Ausgangssignal direkt verwendet werden. Im Analogteil dient das ini-Signal zur
Initialisierung der Gewichte, während das learn-Signal zur Kennzeichnung des Lernzustandes
und zur Steuerung der Switch-Funktion verwendet wird. Die Switch-Funktion beschreibt
Seite 14

Universität Rostock, Fachbereich Elektrotechnik, Institut für Gerätesysteme und Schaltungstechnik
einen Analogschalter, der die Umschaltung zwischen Sensorsignalen (Vin) und Lernpattern
(Vlearn) vornimmt. In der anschließenden Classification-Funktion ist das eigentliche
neuronale Netz enthalten. Es realisiert die Teilfunktionen Forward-Classification und Error-
Backpropagation. Die Funktion Forward-Classification sorgt für die Weitergabe der
Aktivierungen bis zur Ausgangsschicht (Netzausgabe mit Vout), während Error-
Backpropagation die Berechnung und Rückführung des Fehlers sowie die Gewichtskorrektur
vornimmt (Signale Vout, d (erwartete Netzausgabe), learnrate). In der technischen
Umsetzung ist es auch denkbar, beide Teilfunktionen getrennt zu realisieren. Die Funktion
Error-Backpropagation kann dann ebenfalls digital vom Mikrocontroller ausgeführt werden.
Dies würde aber zu einer wesentlich höheren Auslastung des Controllers und einer deutlich
längeren Verarbeitungszeit während des Lernens führen, da die Berechnung des
Gewichtsupdates nun nicht mehr parallel erfolgen kann. Das vorliegende Programm der
Control-Funktion geht von der Variante der analogen Berechnung des Gewichtsupdates aus.
6.2 Algorithmus zum automatisierten Lernen
Ziel des Lernens ist es, den Netzfehler E möglichst gegen 0 gehen zu lassen oder ihn
zumindest so weit wie möglich zu minimieren (globales Minimum). Das Problem beim
Backpropagationalgorithmus ist, dass die Konvergenz nicht garantiert ist. Ein Lernversuch
kann z.B. divergieren oder in einem lokalen Minimum stecken bleiben. Hinzu kommt die
starke Abhängigkeit des Lernerfolges von den Anfangsbedingungen und den Lernparametern.
Die optimalen Lernparameter, im einfachsten Fall nur Lernrate und Anzahl der Lernschritte,
sind wiederum vom zu lösenden Problem abhängig. Mit dem vorliegenden Algorithmus wird
versucht, die optimalen Lernparameter zu ermitteln.
Dabei geht man als erstes von einer großen Lernrate aus und lässt das Netz eine bestimmte
Anzahl Schritte lernen. Konvergiert das Netz nicht, werden die Lernrate verringert, die
Gewichte neu initialisiert und erneut eine bestimmte Anzahl von Schritten gelernt. Zur
Beobachtung des Lernerfolges wird der Ausgangsfehler des Netzes anhand von Testpattern
errechnet. Dabei sind folgende 3 Fälle möglich:
1. Der Netzfehler wird kleiner, d.h. das Netz lernt erfolgreich. Das Lernen ist
fortzusetzen.
2. Der Fehler des Netzes wird größer. In diesem Fall kann es sein, dass das Netz
divergiert oder aber bei großer Lernrate ein lokales Minimum verlässt. Eine
Schlussfolgerung für den Lernzyklus zu ziehen ist hier sehr schwierig. Während das
Verlassen eines lokalen Minimums gut für die Konvergenz ist, ist der andere Fall sehr
ungünstig. Der Lernzyklus wird deshalb bei stark ansteigendem Fehler abgebrochen.
3. Der Netzfehler bleibt gleich. Auch hier gibt es wieder zwei Möglichkeiten. Ist der
Fehler kleiner als der zulässige minimale Fehler, so hat das Netz erfolgreich gelernt
und kann in die Arbeitsphase übergehen. Ist der Fehler jedoch größer als der erlaubte
minimale Fehler, ist das Lernen entweder in einem lokalen Minimum hängen
geblieben oder es gibt mit dem vorhandenen Netz keine Lösung des Problems. Nach
erneuter Initialisierung wird versucht durch einen wiederholten Lernzyklus das
Problem zu lösen.
Der Lernalgorithmus ist in der Control-Funktion implementiert. In Abbildung 6.2-1 ist das
Struktogramm des Algorithmus dargestellt.
Seite 15

Details

Seiten
Erscheinungsform
Originalausgabe
Erscheinungsjahr
2000
ISBN (eBook)
9783832472276
ISBN (Paperback)
9783838672274
DOI
10.3239/9783832472276
Dateigröße
1.5 MB
Sprache
Deutsch
Institution / Hochschule
Universität Rostock – Elektronik und Informationstechnik
Erscheinungsdatum
2003 (September)
Note
1,0
Schlagworte
netz microcontroller assembler zufallszahl hitachi
Zurück

Titel: Überwachung eines neuronalen Netzes mittels Controller
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
book preview page numper 10
book preview page numper 11
book preview page numper 12
book preview page numper 13
book preview page numper 14
65 Seiten
Cookie-Einstellungen