Grundeigenschaften neuronaler Netze Neuronen: Aufbau und

Werbung
Grundeigenschaften neuronaler Netze § 1
Neuronale Netze
NEURONALE NETZE
Grundeigenschaften neuronaler Netze
Aufgabe neuronaler Netze ist es, in mehr oder weniger grober Form die Eigenschaften realer Nervensysteme
nachzubilden.
Einige elementare Erkenntnisse sollen den Unterschied zwischen realen Nervensystemen und einem
sequentiellen Computer verdeutlichen:
Reale Nervensysteme arbeiten mit relativ langsamen Elementen, den Neuronen. Ihre Verarbeitungszeiten
liegen im Bereich von 1 - 100 ms. Trotzdem sind sie zu unglaublichen Leistungen fähig. Beispielsweise ist das
Auge-Hirn-System des Menschen in der Lage, in Echtzeit (50 - 100 ms) eine Datenreduktion von ca. 1 Gbit/s
(das ist etwa die Eingangs-Datenrate an der Netzhaut des Auges) in einem mehrstufigen Prozess auf einige 10
Bit/s vorzunehmen, die wir mehr oder weniger bewusst wahrnehmen.
Reale Nervensysteme können komplexe, stark gestörte Muster in Echtzeit erkennen und verfügen über eine
erstaunliche Lern- und Adaptionsfähigkeit.
Außerdem ist unser Nervensystem ein hochgradig paralleles System (im Gegensatz zu den meisten heutigen
Computersystemen, die im wesentlichen sequentiell arbeiten) mit einem ungeheuren Vernetzungsgrad. Das
menschliche Gehirn besteht aus etwa 1010 bis 1011 Neuronen. Jedes von ihnen verfügt über bis zu 100
Verbindungen zu anderen Neuronen (Synapsen), sodass daraus eine Gesamtzahl von Verbindungen in der
Größenordnung von bis zu 1015 resultiert. Daraus ergibt sich eine Verarbeitungsleistung, die durch alle
Supercomputer zusammengenommen nicht im entferntesten erreicht werden kann.
Die Daten in den meisten heutigen Computern sind an Stellen abgelegt, deren Adressen in keinerlei Beziehung
zum Inhalt stehen. Bei Abruf eines Datums muß eine exakte Adresse angegeben werden, sonst ist kein
Zugang möglich. Diese Zugriffsart ist von Nachteil, wenn ein Teil des gesuchten Inhalts schon bekannt ist,
der Rest aber vervollständigt werden soll. Besser geeignet für solche Anforderungen wäre die assoziative
Speicherung. Dabei geschieht der Datenabruf auf der Basis der Ähnlichkeit zwischen einer Vorgabe und den
gespeicherten Inhalten. Mit relativ geringem Verarbeitungsaufwand wird dasjenige Datum geliefert, das der
vorliegenden Spezifikation am ähnlichsten ist.
Weiters sind herkömmliche Computer wenig fehlertolerant. Bei fehlenden Daten kann evtl. noch Vorsorge
getroffen werden, ein fehlender Programmteil jedoch hat katastrophale Auswirkungen. Auch sind Programme
i. a. sehr unflexibel, d. h. die Modifikation eines Programmes zur Laufzeit ist unüblich bzw. nur im Rahmen einer
vorhersehbaren Anpassung möglich!
Neuronen: Aufbau und Modellbildung
Ein Nervensystem besteht aus einer Vielzahl von miteinander kommunizierenden Nervenzellen (Neuronen).
Jedes Neuron besteht aus einem Zellkörper (von seiner Umgebung durch die Zellmembran abgetrennt) mit
einem Zellkern und einer großen Zahl von Fortsätzen.
Dabei unterscheidet man zwei Typen: Die vielfach
Neuron
verzweigten Auswüchse heißen Dendriten. Daneben
besitzt jedes Neuron genau eine (bis zu etwa 1m Axon
[Rückenmark[) lange Nervenfaser, die Axon genannt wird
und die Hauptverbindung zu anderen Neuronen darstellt.
Das Axon verzweigt sich an seinem Ende, wobei jede
Verzweigung durch eine Synapse abgeschlossen wird.
Diese ist - nur durch den schmalen synaptischen Spalt
Synapse
getrennt - mit dem Zellkörper oder einem Dendriten eines
anderen Neurons verbunden. So entsteht eine
hochgradige Vernetzung der einzelnen Nervenzellen.
Die Vorgänge innerhalb eines Neurons sind
Dendrit
elektrochemischer Natur. Wird ein Neuron über einen
bestimmten Schwellwert hinaus erregt, ändern sich fast
Robert Salvador
2001
Neuronen: Aufbau und Modellbildung § 2
Neuronale Netze
schlagartig die Potentialverhältnisse an seiner Membran: das Neuron feuert. Dieses sogenannte
Aktivierungspotential hält jedoch nur etwa 1 ms an bevor das Neuron in den Ruhezustand zurückkehrt. Das
Aktivierungspotential wird über das Axon an die mit ihm verbundenen Neuronen weitergeleitet. An den
Synapsen angelangt, regt es diese zur Erzeugung bestimmter chemischer Substanzen (Neurotransmitter) an,
die über den synaptischen Spalt gelangen können und ihrerseits das nachfolgende Neuron beeinflussen
(Anregung oder Hemmung).
Eine ganz wesentliche Eigenschaft biologischer Neuronennetze liegt in der Tatsache, dass sich die
synaptischen Verbindungen mit der Zeit ändern können. Synapsen können wachsen, schrumpfen oder auch
gänzlich verschwinden. Durch Ausbildung neuer Axon-Verzweigungen können neue Verbindungen
hergestellt werden. Diese Änderungen sind die Grundlage der Lernfähigkeit neuronaler Netze.
Von systemtheoretischer Seite her betrachtet können wir also festhalten:
• Ein Neuron besitzt eine Anzahl von Eingängen (die synaptischen Verbindungen) und einen Ausgang (das
Axon)
• Ein Neuron kann im inaktiven oder im aktiven Zustand sein
• Der Ausgang eines Neuron führt i. a. zu vielen Eingängen anderer Neuronen. Der Zustand eines Neurons
ist lediglich von seinen Eingangswerten abhängig - die einzelnen Neuronen arbeiten unabhängig
voneinander
• Ein Neuron wird aktiv, wenn seine Eingänge über ein bestimmtes Maß hinaus angeregt werden
• Die einzelnen Synapsen einer Nervenzelle tragen mit unterschiedlicher Intensität (Synapsenstärke) zur
Erregung bei. Die Eingänge werden also mit bestimmten Gewichten wi versehen; daraus wird dann ein
effektiver Eingangswert ∑„berechnet“ (gewichtete Mittelwertbildung)
• Die Aktivität eines Neurons ergibt sich aus dem effektiven Eingangswert über die sogenannte
Aktivierungsfunktion akt
Die modellmäßige Umsetzung dieser Eigenschaften kann zur folgenden Darstellung eines Neurons führen:
x1
w1
x2
w2
∑
...
xn
akt
y
wn
Für das „Ausgangssignal“ des Neurons ergibt sich damit:
n
y = akt( Σ) = akt( ∑ w k x k ) .
k =1
Die Aktivierungsfunktion ist häufig durch die Einheits-Sprungfunktion oder durch Funktionen mit etwa
folgendem Verlauf gegeben:
1
akt(Σ)
0.5
Σ→
Das bedeutet im wesentlichen, dass
das Neuron bei Überschreiten eines
gewissen Mindestreizes aktiv wird.
Im vorliegenden Mathcad-Dokument wurde eine differenzierbare Aktivierungsfunktion, nämlich
Robert Salvador
2001
Aufbau des verwendeten künstlichen neuronalen Netzes § 3
Neuronale Netze
akt( x ) =
1
1+e
−x
gewählt. Sie hat die für das Training des neuronalen Netzes angenehme Eigenschaft
d
dx
akt( x ) = akt( x) ⋅ (1 − akt( x ))
Aufbau des verwendeten künstlichen neuronalen Netzes
Ein künstliches Neuron kann nach den bisherigen Ausführungen als nichtlineares (Aktivierungsfunktion)
Übertragungssystem interpretiert werden. Dabei ist die Nichtlinearität von entscheidender Bedeutung! Durch
Zusammenschalten solcher Systeme entsteht ein neuronales Netz, das ein komplexes Übertragungssystem mit
Ein- und Ausgängen darstellt. Normalerweise sind alle Neuronen im Netz vom gleichen Typ, sodass sich ihr
Übertragungsverhalten nur durch die speziellen Gewichtungen unterscheidet. Unser Netz ist in drei Schichten
aufgebaut, wobei jede Schicht aus mehreren Neuronen besteht. Man spricht von der Eingangsschicht (input
layer – sie nimmt die Reize der Außenwelt auf), der Ausgangsschicht (output layer – sie liefert die
entsprechende Reaktion) und der dazwischen liegenden versteckten Schicht (hidden layer – sie ist
mitverantwortlich für den notwendigen Vernetzungsgrad ):
z0
w0,0
w0,1
x0
v0,0
z1
v0,1
y0
.
.
.
yp-1
z2
x1
.
.
.
xn-1
.
.
.
zl-1
wn-1,l-1
vl-1,p-1
Ausgangsschich
t
(output layer)
Eingangsschicht
(input layer)
Versteckte Schicht
(hidden layer)
Lernen im neuronalen Netz
Die Aufgabe besteht darin, ein neuronales Netz für die Mustererkennung bzw. –unterscheidung einzusetzen.
Konkret soll das Netz in der Lage sein, Großbuchstaben richtig zu erkennen (auch dann, wenn diese in nicht
ganz idealer Form vorliegen).
Die Muster werden als 7×5-Matrizen mit den Elementen 0 oder 1 definiert, z. B.:
Jedem Matrixelement (Pixel) entspricht ein Eingangsneuron (daher 35 Eingangsneuronen), jedem Buchstaben
ein Ausgangsneuron (→ 26 Ausgangsneuronen). Die versteckte Schicht enthält 30 Neuronen.
Robert Salvador
2001
Lernen im neuronalen Netz § 4
Neuronale Netze
Der Lernprozess (es handelt sich um sogenanntes überwachtes Lernen) in unserem Netz geschieht in zwei
Schritten:
• Netzinitialisierung
Sämtliche Gewichte werden als Zufallszahlen vorgegeben
• Trainingsphase
Dem Netz werden Beispieldaten in Form von Aktivitätsmustern der Eingangsneuronen „vorgelegt“ (die
oben erwähnten 7×5-Matrizen – allerdings durch Stapeln der Matrixspalten umgewandelt in Vektoren).
Die Ausgänge werden mit den aktuellen Netzgewichten berechnet. Die Differenzen zwischen den
tatsächlichen Ausgabesignalen yn (aufgrund der Gewichte wi,k und vn,m ) und der gewünschten
Netzreaktion y_solln werden berechnet, quadriert und über alle Trainingsmuster aufsummiert. Dies ergibt
eine Fehlerfunktion
E=
1
∑ ∑ ( y n − y _ solln )2
⋅
2 Muster n
die von allen Netzgewichten wi,k und vn,m abhängt. Sie soll letzten Endes durch das Training möglichst
minimiert werden. Es geht also um die Berechnung des globalen Minimums einer Funktion von „sehr
vielen“ Variablen.
Dazu werden nun sämtliche Gewichte entsprechend einer geeigneten Lernregel so verändert, daß der
Wert der Fehlerfunktion nach der jeweiligen Trainingsrunde kleiner ist als vorher. Die verwendete
Methode ist jene des „steilsten Abstiegs“ auf der Fehlerfläche in Richtung Minimum. Ihre Realisierung
führt auf den sogenannten Backpropagation-Algorithmus, bei dem die Gewichte Schicht für Schicht vom
Ausgang zum Eingang fortschreitend passend korrigiert werden.
Das Training wird mehr oder weniger oft (mindestens einige tausend Mal) durchgeführt mit der Absicht,
den Fehler letzten Endes zu minimieren.
Das „Wissen“ des neuronalen Netzes liegt weitgehend unstrukturiert und gleichmäßig verteilt in seinen
Gewichten.
Und, wohlgemerkt: Das Erkennen eines Musters geschieht über diese antrainierten Fähigkeiten des Netzes
und nicht etwa dadurch, jedesmal das aktuelle Muster mit allen Soll-Mustern zu vergleichen und aus der
Größe der Differenzen das „richtige“ Muster zu berechnen. Anders ausgedrückt: Das ausreichend trainierte
Netz „kennt“ die möglichen Muster und kann die entsprechende Zuordnung immer sofort treffen.
Einige Teile dieses Dokumentes wurden (geändert)
Jörg Kahlert, Fuzzy Control für Ingenieure, Verlag Vieweg
Spektrum der Wissenschaft, November 1992
entnommen.
Robert Salvador
2001
Herunterladen