DE4328896A1 - Verfahren zum Entwurf eines neuronalen Netzes - Google Patents
Verfahren zum Entwurf eines neuronalen NetzesInfo
- Publication number
- DE4328896A1 DE4328896A1 DE4328896A DE4328896A DE4328896A1 DE 4328896 A1 DE4328896 A1 DE 4328896A1 DE 4328896 A DE4328896 A DE 4328896A DE 4328896 A DE4328896 A DE 4328896A DE 4328896 A1 DE4328896 A1 DE 4328896A1
- Authority
- DE
- Germany
- Prior art keywords
- neurons
- intermediate layer
- values
- output
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zum Entwurf
eines neuronalen Netzes nach dem Oberbegriff des An
spruchs 1 und auf ein neuronales Netz, welches mit dem
Verfahren erhältlich ist.
Neuronale Netze, wie sie z. B. aus dem Buch "Neuronale
Netzwerke" von Eberhard Schöneburg, Nikolaus Hansen und
Andreas Cawelczyk, erschienen 1990 im Markt & Technik
Verlag, bekannt sind, können aufgrund ihrer Netzwerk
struktur anhand von vorgegebenen Ein-/Ausgangswerten eine
nichtlineare Abbildungsvorschrift lernen. Ein häufig ver
wendetes Lernverfahren ist das auf den Seiten 90 bis 98
des oben angegebenen Buches beschriebene Backpropagation-
Verfahren. Die Gewichte (Parameter) des neuronalen Netzes
werden zu Beginn mit Zufallswerten initialisiert. Es wird
dann das erste Eingangsmuster an das Netz angelegt. Mit
diesen Werten wird das Netz komplett durchgerechnet. Der
berechnete Ausgangswert des neuronalen Netzes wird nun mit
dem geforderten Ausgangswert verglichen. Die Abweichung
ergibt einen Fehlerwert. Die Gewichte des neuronalen
Netzes werden nun so korrigiert, daß zu einem Eingangswert
der korrekte Ausgangswert angenähert wird. Dies wird er
reicht, indem man den ermittelten Fehler anteilmäßig auf
die Gewichte der vorhergehenden Neuronen aufteilt und die
Gewichte entsprechend ändert, so daß der Fehler minimal
wird. Der Fehler wird also vom Ausgang auf den Eingang des
neuronalen Netzes zurückgerechnet. Das Aufteilen des Fehlers
erfolgt anhand der Größe der Gewichte. Je größer der
Wert eines Gewichts ist, desto stärker ist auch dessen
Beitrag zum Fehler und entsprechend stark wird dieses
Gewicht dann geändert. Dieses Verfahren wird nun fuhr sehr
viele Ein-/Ausgangswerte durchgeführt, d. h., es wird ein
Ausgangsmuster angelegt, durchgerechnet und der Fehler auf
die Gewichte zurückgerechnet. Zu Beginn sind die Abwei
chungen noch sehr groß, und es ergeben sich entsprechend
große Änderungen für die Gewichte. Wenn sich aber die
Werte stabilisieren, hat das neuronale Netz die geforderte
Abbildungsvorschrift gelernt. Das Trainieren des Netzes
anhand von Stützwerten mit dem Backpropagation-Verfahren
stellt daher ein iteratives Verfahren dar. Nachteilig da
bei ist, daß es nur langsam konvergiert und das iterative
Ermitteln der Parameter sehr große Rechenzeiten erfordert.
Zudem ist das anteilige Aufteilen des Fehlers nur möglich,
wenn die nichtlineare Funktion der Neuronen stetig diffe
renzierbar ist und wenn sich die Eingangssignale in den
Neuronen linear überlagern. Das Backpropagation-Verfahren
funktioniert daher nur für spezielle Neuronentypen. Nach
teilig ist auch, daß die sich nach dem Backpropagation-
Verfahren ergebenden Lösungen in der Regel nicht reprodu
zierbar sind. Aufgrund der Anfangsinitialisierung mit Zu
fallszahlen und den nichtlinearen Eigenschaften der neuro
nalen Netze erhält man in verschiedenen Simulationsläufen
für gleiche Lerndaten unterschiedliche Lösungen.
In der deutschen Patentanmeldung P 42 28 703.0 wird ein
Verfahren vorgeschlagen, bei dem nahezu beliebige
Neuronentypen in einer Zwischenschicht Verwendung finden
können. Mit einer Einrichtung zur Optimierung werden
Wertepaare für die Eingangs- und Ausgangssignale des
neuronalen Netzes vorgegeben. Durch Lösen eines linearen
Gleichungssystems für die Gewichte der Neuronen in der
Ausgangsschicht werden daraufhin mit diesen Wertepaaren
Parameter des neuronalen Netzes ermittelt. Bezüglich
weiterer Einzelheiten des Entwurfverfahrens und damit
erhältlicher neuronaler Netze wird auf die genannte
Patentanmeldung verwiesen. Problematisch dabei ist, daß
die Determinante der Matrix M des dort aufgestellten
Gleichungssystems
M · ª = y
sehr klein und damit die Gewichte in den Ausgangsneuronen
recht groß werden können, wenn die Gewichte und die Off
sets in den Neuronen der Zwischenschicht durch ein
Zufallsverfahren bestimmt werden. Dies wirkt sich u. U.
nachteilig auf die interpolierenden Eigenschaften des
neuronalen Netzes zwischen den Stützwerten aus.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren
zum Entwurf neuronaler Netze zu finden, mit welchem Para
meter der Verknüpfung in den Neuronen der Zwischenschicht
derart gewählt werden, daß die Gewichte in den Neuronen
der Ausgangsschicht klein bleiben und das neuronale Netz
gute Interpolationseigenschaften besitzt.
Zur Lösung dieser Aufgabe weist das neue Verfahren der
eingangs genannten Art die im kennzeichnenden Teil des
Anspruchs 1 genannten Merkmale auf. In den Unteransprüchen
2 bis 5 sind vorteilhafte Weiterbildungen des Verfahrens
angegeben. Mit dem neuen Verfahren können nach Anspruch 6
neuartige neuronale Netze erhalten werden, deren Eigen
schaften mit nur einem Entwurfsparameter beeinflußbar
sind.
Es zeigen:
Fig. 1 ein neuronales Netz, eingebettet in seiner Prozeß
umgebung,
Fig. 2 eine dreischichtige Netzstruktur,
Fig. 3 ein Neuron der Zwischenschicht,
Fig. 4 ein neuronales Netz mit einem Eingang und einem
Ausgang,
Fig. 5 ein neuronales Netz mit zwei Eingängen und einem
Ausgang,
Fig. 6 ein neuronales Netz mit vierschichtiger Netz
struktur,
Fig. 7 einen qualitativen Verlauf der sigmoiden Funktion,
Fig. 8 einen qualitativen Verlauf des Tangens-Hyper
bolikus,
Fig. 9 einen qualitativen Verlauf der Glockenkurve und
Fig. 10 Stützwerte eines neuronalen Netzes mit zwei Ein
gängen.
In Fig. 1 ist eine Anwendung des erfindungsgemäßen Ver
fahrens zur lernfähigen Anpassung von Prozeßgrößen 1, die
von einem Prozeß 2 ermittelt wurden, dargestellt. In einer
Einrichtung zur Eingangssignalvorverarbeitung 3 werden die
eingehenden Prozeßgrößen 1 aufbereitet. Dies kann eine
min/max-Begrenzung sein, eine Differentiation, eine Inte
gration, ein Schieberegister oder eine Klassifikation, im
Prinzip aber auch ein weiteres neuronales Netz, wie es
nachfolgend beschrieben wird. Die Einrichtung 3 liefert
Eingangsdaten 4 für das neuronale Netz 5, welches im
Zusammenspiel mit einer Einrichtung zur Optimierung 6
nach einer lernbaren Funktion angepaßte Prozeßgrößen als
Ausgangsdaten 7 erzeugt. Die Einrichtung zur Optimierung 6
dient dazu, das neuronale Netz 5 anhand vorgegebener
Stützwerte mit Parametern 8 zu versorgen. Als Stützwert
wird eine zusammenhängende Wertekombination von einem oder
mehreren Eingangssignalen 4 und einem oder mehreren Aus
gangssignalen 7 verstanden. Zwischen den Ein- und Aus
gangssignalen 4 und 7 besteht eine unbekannte lineare oder
nichtlineare Abbildungsvorschrift. Die Einrichtung 6 zur
Optimierung parametriert das neuronale Netz 5 in einer
Lernphase so, daß es den Eingangssignalen 4 die gewünsch
ten Ausgangssignale 7 zuordnet. Dabei können zwei Arbeits
weisen unterschieden werden, je nachdem, ob das neuronale
Netz 5 Stützwerte interpolieren oder approximieren soll.
Soll das neuronale Netz 5 Stützwerte nach der Lernphase
reproduzieren und nicht gelernte Ausgangssignale inter
polieren, dann muß die Zuordnung exakt erfolgen. Andern
falls approximiert das neuronale Netz 5. Es kann z. B. mit
der Methode der linearen Regression anhand der Stützwerte
eine Zuordnungsfunktion ermittelt werden, bei der die
quadratische Abweichung zwischen den berechneten Ausgangs
signalwerten und den vorgegebenen Stützwerten minimal
wird.
Das neuronale Netz in Fig. 2 ist dreischichtig aufgebaut.
Es besteht aus einzelnen Neuronen 1l . . . 1k, 2l . . . 2n und
3l . . . 3p, die netzartig in drei Schichten hintereinander
angeordnet sind. Jedes Neuron in einer Schicht ist mit den
Ausgängen aller Neuronen in der vorherigen Schicht verbun
den. In jeder Schicht muß mindestens ein Neuron vorhanden
sein. Die Anzahl k der Eingänge xl . . . xk sowie die Anzahl
p der Ausgänge yl . . . yp ist je nach Anwendung frei wähl
bar. Die Anzahl p der Ausgänge yl . . . yp muß dabei nicht
gleich der Anzahl k der Eingänge xl . . . xk sein. Bei
neuronalen Netzen mit mehreren Eingängen werden keine
einzelnen Werte der Eingangssignale vorgegeben, sondern
Eingangsmuster, d. h. zusammengehörige Kombinationen von
Werten. Für die Ausgänge gilt Entsprechendes.
Die ursprüngliche Anwendung von neuronalen Netzen ist die
Mustererkennung mit dem Ziel, Bilder oder Buchstaben zu
erkennen. Ein Bild setzt sich aus einzelnen Pixeln zusam
men. Jedes Pixel entspricht dann einem Eingangsneuron. Bei
einem Buchstaben werden somit immer mehrere Pixel, d. h.
Eingangsneuronen, gleichzeitig angesprochen.
Fig. 3 zeigt das Neuron 21 der Zwischenschicht aus
Fig. 2. Es hat k Eingänge, an denen die Eingangssignale
xl . . . xk anliegen, sowie einen Ausgang mit dem Ausgangs
signal y. Neuronen können geschachtelte Funktionen bilden.
Sie haben eine Eingangsfunktion g(x) und eine Ausgangs
funktion f(g(x)). Die Eingangsfunktion hat k Eingänge,
deren Signale xl . . . xk in der Eingangsfunktion gewichtet
und miteinander verknüpft werden. Weiterhin kann noch ein
konstanter Offset aufaddiert werden. Das Ergebnis der Ein
gangsfunktion wird in der Ausgangsfunktion nochmals linear
oder nichtlinear bewertet. Ein Neuron liefert nur ein Aus
gangssignal y.
Die Neuronen 1l . . . 1k in der ersten Schicht in Fig. 2
bilden den Eingang des neuronalen Netzes. Für jedes zu
lernende Eingangssignal xl . . . xk muß ein Eingangsneuron
1l . . . 1k vorhanden sein. Die in einer eventuell vorge
schalteten Einrichtung zur Eingangssignalvorverarbeitung
aufbereiteten Eingangssignale xl . . . xk werden über die
Eingangsneuronen 1l . . . 1k an die Neuronen 2l . . . 2n in
der Zwischenschicht weitergeleitet. Die Neuronen 3l . . . 3p
in der dritten Schicht bilden den Ausgang des neuronalen
Netzes. Für jedes zu lernende Ausgangssignal yl . . . yp muß
ein Ausgangsneuron 3l . . . 3p vorhanden sein. In der
Zwischenschicht können im Prinzip beliebig viele Neuronen
2l . . . 2n angeordnet sein. Für ein interpolierendes neu
ronales Netz müssen in der Zwischenschicht so viele Neu
ronen 2l . . . 2n sein, wie Stützwerte vorgegeben werden.
Ist die Anzahl n der Neuronen 2l . . . 2n kleiner als die
Anzahl der Stützwerte, dann approximiert das neuronale
Netz.
Die mathematische Verknüpfung in der Eingangsfunktion g
kann eine Summation, Multiplikation oder Division sein.
Von der Ausgangsfunktion f wird gefordert, daß sie jedem
Eingangswert nur einen Ausgangswert zuordnet. Sie muß
nicht überall stetig differenzierbar sein, d. h., sie
darf "Sprungstellen" und "Knicke" enthalten, wie bei einer
Treppenfunktion. Sie darf auch abschnittsweise linear
sein. Die Gewichtung und Verknüpfung der Eingangssignale
durch die Eingangsfunktion g bilden den Eingangsteil des
Neurons, die nichtlineare Funktion f den Ausgangsteil. Die
Art der Verknüpfung und die Form der Nichtlinearität kann
in jedem Neuron der Zwischenschicht unterschiedlich sein.
Die Ausgangssignale der Neuronen 2l . . . 2n in der
Zwischenschicht werden an die Neuronen 3l . . . 3p in der
Ausgangsschicht weitergegeben. Jedes Ausgangsneuron 3l . . .
3p ist mit allen Neuronen 2l . . . 2n der Zwischen
schicht verbunden. Die Signale werden in den Ausgangs
neuronen 3l . . . 3p wieder gewichtet und miteinander ver
knüpft. In den Ausgangsneuronen 3l . . . 3p ist aber nicht
mehr jede Art von Verknüpfung zulässig. Die gewichteten
Signale dürfen nur aufaddiert, multipliziert oder divi
diert werden. Im Falle der Addition kann noch ein kon
stanter Wert hinzuaddiert bzw. abgezogen werden. Kombina
tionen von Summation und Multiplikation bzw. Summation und
Division sind hier nicht zulässig. Das Ergebnis dieser
Verknüpfung wird entweder direkt ausgegeben oder nochmals
mit einer linearen oder nichtlinearen Funktion bewertet.
Die Verknüpfung der Signale in den Eingangsfunktionen der
Neuronen und die Nichtlinearitäten in den Ausgangsfunk
tionen sind Eigenschaften des neuronalen Netzes. Das Ver
fahren zum Entwurf des neuronalen Netzes verändert ledig
lich die Faktoren, mit denen die Signale gewichtet werden,
und die konstanten Werte, die bei der Verknüpfung hinzu
addiert werden. Das neuronale Netz kann sowohl software
mäßig als Programm oder auch schaltungstechnisch durch
diskrete oder integrierte Bauelemente realisiert werden.
Im einen Fall stellt z. B. eine nichtlineare Funktion oder
eine Wertetabelle die Ausgangsfunktion f dar, im anderen
Fall die nichtlineare Eigenschaft der Bauteile (z. B.
Dioden).
Fig. 4 zeigt ein neuronales Netz mit einem Eingangs
signal x und einem Ausgangssignal y. In der Zwischen
schicht befinden sich drei Neuronen, die jeweils para
metrierbar sind durch die Gewichtungsfaktoren e1, e2 und
e3 sowie mit den Parametern d1, d2 und d3, die den kon
stanten Offsets entsprechen, welche in den Neuronen hinzu
addiert werden. Im Ausgangsneuron sind die Gewichtungs
faktoren a1, a2 und a3 einstellbar. Anhand dieses neuro
nalen Netzes soll nun das Entwurfsverfahren näher erläu
tert werden. Man hat drei fest eingestellte nichtlineare
Funktionen f1, f2 und f3. Diese drei Funktionen sollen nun
so zusammengeschaltet werden, daß sie ein Ausgangssignal y
bilden, das durch drei vorgegebene Stützwerte verläuft.
Bei einer Verknüpfung durch Addition in dem Ausgangsneuron
3l wird das Ausgangssignal y als gewichtete Summe der Aus
gangssignale der drei Neuronen der Zwischenschicht erhal
ten. Es gilt:
y = a1 · f1 (g(d1, e1, x)) +
a2 · f2 (g(d2, e2, x)) +
a3 · f3 (g(d3, e3, x)).
y = a1 · f1 (g(d1, e1, x)) +
a2 · f2 (g(d2, e2, x)) +
a3 · f3 (g(d3, e3, x)).
Diese Funktion soll nun die drei Stützwerte (x1, y1), (x2,
y2) und (x3, y3) lernen. Setzt man die Stützwerte in die
obige Gleichung ein, so erhält man ein Gleichungssystem
von drei Gleichungen für die Werte y1, y2 und y3 des Aus
gangssignals y, das sich in Matrizenschreibweise darstel
len läßt:
M · ª = y.
Dabei sind die Elemente der Matrix M die Ausgangswerte der
Neuronen für die verschiedenen Eingangswerte. Es handelt
sich dabei um die Ausgangswerte der geschachtelten Funk
tionen:
mÿ = fj(gj(dj, ej, xi)).
mÿ = fj(gj(dj, ej, xi)).
Die Variable i = 1 . . . 3 ist der Zeilenindex und die
Variable j = 1 . . . 3 der Spaltenindex der Matrix M. Der
Vektor ª ist ein Spaltenvektor und setzt sich aus den
Gewichtungsfaktoren a1, a2 und a3 zusammen, während der
Spaltenvektor y aus den Werten y1, y2 und y3 des Aus
gangssignals y besteht. In diesem Gleichungssystem sind
die Parameter d1, d2, d3, e1, e2, e3, a1, a2 und a3 die
freien Parameter. Man hat also drei Gleichungen und neun
Unbekannte. Das Gleichungssystem ist dann eindeutig lös
bar, wenn die Matrix M invertierbar ist. In diesem Fall
ist die Determinante der Matrix M von Null verschieden.
Die Parameter d1, d2, d3 und e1, e2, e3 werden so vor
gegeben, daß diese Bedingung erfüllt ist. Die Lösungen des
Gleichungssystems sind die Gewichte in den Neuronen der
Ausgangsschicht. Zum Lösen des linearen Gleichungssystems
muß die Matrix M invertiert werden, denn es gilt:
ª = M -1 · y.
Die Lösungen des Gleichungssystems entsprechen dann den
gesuchten Parametern a1, a2 und a3. Für die Berechnung der
Determinante werden nur die Ausgangswerte der geschach
telten Funktionen für die drei Stützwerte benötigt. Es
spielt daher keine Rolle, auf welche Art und Weise die
Eingangsfunktionen g gebildet werden und welchen Verlauf
die Ausgangsfunktionen f der Neuronen in der Zwischen
schicht haben. Ebenfalls spielt für das Aufstellen der
Matrix M die Stetigkeit oder Differenzierbarkeit der
Ausgangsfunktion f keine Rolle. Allerdings ist die Stetig
keit der nichtlinearen Ausgangsfunktion f für den späteren
Einsatz des neuronalen Netzes von Bedeutung, wenn das
gelernte neuronale Netz nicht gelernte Zwischenwerte der
Stützwerte interpolieren soll. Die Stetigkeit ist dann
eine wichtige Bedingung für das sogenannte "Generalisie
ren". Ist die Anzahl der parallelgeschalteten Neuronen in
der Zwischenschicht gleich der Anzahl der zu lernenden
Stützwerte, so kann das Gleichungssystem exakt gelöst
werden. Das Netzwerk interpoliert in diesem Fall. Ist die
Anzahl der Stützwerte größer als die Anzahl der Neuronen,
dann erhält man ein überbestimmtes Gleichungssystem. Das
Netzwerk kann dann nur noch approximieren.
Gibt es mehr Stützwerte als Neuronen, dann erhält man
ein überbestimmtes Gleichungssystem. Die Matrix erhält man
dann über folgendes Matrixprodukt:
M1 = M T · M.
M T ist dabei die Transponierte von M. M ist eine
nxq-Matrix, d. h. , es gibt n Neuronen in der Zwischen
schicht und q Stützwerte, wobei q größer als n ist. M1
ist wieder eine nxn-Matrix.
Die Faktoren kann man dann über eine lineare Regression
approximieren:
ª = (M T · M)-1 · M T · y.
In diesem Fall wird die quadratische Abweichung zwischen
berechnetem Ausgangswert und vorgegebenem Ausgangswert
minimiert.
Als Ausgangsfunktion kann z. B. die sigmoide Funktion
verwendet werden nach der Formel:
Bei neuronalen Netzen mit mehreren Ausgängen muß man für
jedes Ausgangsneuron getrennt ein Gleichungssystem auf
stellen und lösen. Bei einem Netz mit zwei Ausgängen muß
nur eine Matrix invertiert werden, die Ausgangsgewichte
werden zweimal berechnet. An den Gewichten und Offsets in
der Zwischenschicht ändert sich nichts.
Ein Anwendungsfall für neuronale Netze mit zwei Eingängen
und einem Ausgang nach Fig. 5 sind z. B. Kennfelder von
Motoren. Prinzipiell kann der Entwurf des neuronalen
Netzes hier ähnlich durchgeführt werden wie bei dem
neuronalen Netz nach Fig. 4. Lediglich die Eingangs
funktion gewichtet und verknüpft nun zwei Eingangssignale
x1 und x2 statt eines einzelnen Eingangssignals x. Ihre
Gewichtungsfaktoren sind in der Fig. 5 der Übersichtlich
keit halber nicht dargestellt, sondern lediglich die
hinzuaddierten Werte d1 . . . d4. Das neuronale Netz weist
vier Neuronen in der Zwischenschicht auf, deren Ausgangs
signale im Ausgangsneuron mit den Gewichtungsfaktoren a1,
a2, a3 und a4 multipliziert und einander überlagert wer
den. Der Entwurf führt also hier auf ein Gleichungssystem
mit vier Gleichungen für diese vier Gewichtungsfaktoren,
wenn vier Stützwerte vorgegeben werden. Daraus ist er
sichtlich, daß die Zahl der Eingänge keinen Einfluß auf
den Rechenaufwand beim Entwurf des neuronalen Netzes hat.
In einem stark überbestimmten neuronalen Netz, d. h., wenn
die Anzahl q der Stützwerte wesentlich größer ist als die
Anzahl n der Neuronen in der Zwischenschicht, kann der
Fall eintreten, daß die Anzahl n der Gewichte in der
Zwischenschicht nicht mehr ausreicht, um die q unabhängi
gen Stützwerte zu erzeugen. Dann muß man die Anzahl der
freien Parameter (Gewichte) vergrößern. Dies ist zum einen
möglich durch eine Vergrößerung der Anzahl n der Neuronen
in der Zwischenschicht und zum anderen durch die Verwen
dung von komplexeren Eingangsfunktionen mit mehr Para
metern in den Neuronen der Zwischenschicht.
Bei der ersten Variante wird die Anzahl der unabhängigen
Stützwerte vergrößert. Damit steigt der Rechenaufwand beim
Lösen des linearen Gleichungssystems. Die zweite Variante
läßt sich dadurch erzeugen, indem man zwischen Eingangs-
und Zwischenschicht eine weitere Zwischenschicht mit ver
borgenen Neuronen einbaut, d. h. , man verwendet z. B. ein
vierschichtiges neuronales Netzwerk nach Fig. 6. Für die
Neuronen der nun ersten Zwischenschicht gilt das gleiche
wie für die Neuronen der jetzt zweiten Zwischenschicht.
Formal unterscheiden sich diese beiden Schichten nicht.
Jedes Neuron der zweiten Zwischenschicht ist mit allen
Neuronen der neuen ersten Zwischenschicht verbunden. Diese
zusätzliche Zwischenschicht sorgt dafür, daß die Eingangs
funktionen der Neuronen in der zweiten Zwischenschicht
wesentlich komplexer werden. Damit erhält man zusätzliche
Freiheitsgrade für die Normierung.
Prinzipiell können die Parameter der Neuronen in der
Zwischenschicht willkürlich, durch gezieltes Probieren
oder auch mit einem Optimierungsalgorithmus ermittelt
werden. Zielfunktion ist die Determinante der Matrix zur
Lösung des Gleichungssystems.
Im folgenden soll beschrieben werden, wie die Gewichte und
Offsets der Neuronen in der Zwischenschicht vorbelegt wer
den können, damit die Determinante der Matrix M nicht zu
klein und die Gewichte der Ausgangsneuronen nicht zu groß
werden. Dies kann erreicht werden, indem man für die
Matrix M eine Struktur derart vorgibt, daß sie leicht
invertierbar ist, und indem die gesuchten Gewichte und
Offsets der Neuronen in der Zwischenschicht in Abhängig
keit von den Stützwerten der Eingangssignale mit einem
Koeffizientenvergleich zur Erzeugung dieser Struktur be
rechnet werden. Dabei ist die Anzahl q der Stützwerte
gleich der Anzahl n der Neuronen in der Zwischenschicht
zu wählen. Drei vorteilhafte Strukturen sollen hier an
gegeben werden:
erste Struktur:
Die Elemente auf der Diagonalen und darüber haben den Wert
Eins. Die Elemente unterhalb der Diagonalen haben den Wert
Null.
Die Determinante hat den Wert : det (M1)=1.
Die Inverse lautet:
Die exakte Lösung des Gleichungssystems lautet dann:
zweite Struktur:
Die Elemente auf der Diagonalen und darüber haben den Wert
Eins. Die Elemente unterhalb der Diagonalen haben den Wert
-1.
Die Determinante hat den Wert : det (M2)=2(q-1).
Die Inverse lautet:
Die exakte Lösung des Gleichungssystems lautet dann:
dritte Struktur (Einheitsmatrix):
Die Elemente auf der diagonalen haben den Wert Eins. Die
übrigen Elemente haben den Wert Null.
Die Determinante hat den Wert : det (M3) = 1.
Die Inverse lautet:
Die exakte Lösung des Gleichungssystems lautet dann:
Für diese Strukturen können die dazugehörigen Inversen
direkt angegeben werden. Daraus können dann auch die Aus
gangsgewichte direkt berechnet werden.
Hat ein Ausgangsgewicht den Wert Null, so kann das dazu
gehörige Neuron der Zwischenschicht weggelassen werden,
weil es nicht mit dem Ausgangsneuron verbunden ist. In
diesem Fall wird das neuronale Netz ausgedünnt.
Die erste Struktur ist bei einem neuronalen Netz vor
teilhaft anwendbar, dessen nichtlineare Elemente in den
Neuronen der Zwischenschicht einer sigmoiden Funktion
ähnlich sind, während sich die zweite Struktur besonders
für nichtlineare Elemente mit einem Verhalten entsprechend
der Tangens-Hyperbolikus-Funktion eignet.
In Fig. 7 ist der prinzipielle Verlauf der sigmoiden
Funktion
dargestellt. Der Wert der Eingangsfunktion g(x) wird hier
als z bezeichnet. Bei großen positiven Werten von z nähert
sich die Funktion asymptotisch dem Begrenzungswert Eins,
bei großen negativen Werten dem Wert Null. Dazwischen hat
die sigmoide Funktion einen S-förmigen Verlauf. Sie ist
punktsymmetrisch bezüglich dem Punkt (z, y) = (0, 0.5),
d. h. y(z) = 1 - y(-z).
Fig. 8 zeigt den qualitativen Verlauf des Tangens-Hyper
bolikus mit
dessen Funktionswerte sich bei großen positiven Werten
asymptotisch dem Begrenzungswert Eins, bei großen negati
ven Werten dem Begrenzungswert -1 nähern. Die Tangens-
Hyperbolikus-Funktion hat dazwischen ebenfalls einen
S-förmigen Verlauf. Sie ist punktsymmetrisch bezüglich dem
Koordinatenursprung, d. h. y(z) = -y(-z).
Bei gleichen Gewichten ei und Offsets di der Neuronen in
der Zwischenschicht wären die Spalten der Matrix M linear
abhängig. Damit das Gleichungssystem lösbar ist, müssen
die Spalten durch geeignete Wahl der Gewichte ei und
Offsets di linear unabhängig werden. Werden dazu Zufalls
zahlen verwendet, so kann das Gleichungssystem zwar im
allgemeinen numerisch gelöst werden, aber die Ausgangs
gewichte werden in einigen Fällen sehr groß. Dies ist dann
ein Zeichen dafür, daß die lineare Abhängigkeit der Spal
ten dabei noch sehr groß war.
Das Eingangssignal x wird auf den Wertebereich
-1 × 1 normiert. Weiterhin wird hilfsweise zur Auf
stellung der Matrix M davon ausgegangen, daß die Stütz
werte xi gleichverteilt aus dem vorhandenen Wertebereich
kommen, um die Gewichte ei und Offsets di sinnvoll
vorbelegen zu können. D. h., es werden Hilfsgrößen xi′
für die Eingangssignale xi entsprechend der Formel
eingeführt. Es ist zu betonen, daß die Hilfsgrößen xi′
lediglich zur Ermittlung der Gewichte ei und der Offsets
di verwendet werden. Zur Lösung des Gleichungssystems
M · ª = y werden dagegen die Stützwerte (xi, yi) heran
gezogen.
Die erste Zeile von M enthält somit die Ausgangssignale
der Neuronen der Zwischenschicht für x1′ (=1 wegen der
Gleichverteilung), die zweite Zeile die Werte für x2′,
. . . , und die letzte Zeile enthält die Werte für xq′ (= -1
wegen der Gleichverteilung).
Zur Bestimmung der Gewichte ei und Offsets di ergeben sich
aus der ersten und zweiten Struktur der Matrix M die fol
genden Regeln:
- (1) - Die Elemente auf und oberhalb der Diagonalen müssen nahe beim positiven Begrenzungswert liegen und
- (2) - die Elemente unterhalb der Diagonalen müssen nahe beim unteren Grenzwert sein (bei einer Nichtlineari tät mit sigmoider Funktion: 0, mit Tangens-Hyper bolikus: -1).
Daraus können die folgenden beiden Formeln abgeleitet
werden:
f(di + ei · xi′) = 1 und
f(di + ei · x(i+1)′) = 0 für sigmoide Funktion
oder
f(di + ei · x(i+1)′ = -1 für Tangens-Hyperbolikus.
f(di + ei · xi′) = 1 und
f(di + ei · x(i+1)′) = 0 für sigmoide Funktion
oder
f(di + ei · x(i+1)′ = -1 für Tangens-Hyperbolikus.
Nach Auflösung erhält man daraus:
di + ei · xi′ = f-1(1) = GW, di + ei · x(i+1)′ = f-1(0 bzw. -1) = -GW.
di + ei · xi′ = f-1(1) = GW, di + ei · x(i+1)′ = f-1(0 bzw. -1) = -GW.
Die Funktionen sigmoid und Tangens-Hyperbolikus sind
symmetrisch. Das bedeutet, daß der Abstand zum asympto
tischen oberen Grenzwert bei f(GW) demjenigen zum unteren
Grenzwert bei f(-GW) gleich ist. Der Wert GW in den Glei
chungen wird so gewählt, daß der Abstand gering wird. Dies
ist etwa der Fall bei GW = 9 für die sigmoide Funktion und
GW = 5 für den Tangens-Hyperbolikus. Die beiden obenge
nannten Gleichungen können nach ei und di aufgelöst werden
zu:
ei = GW · (q-1) und
di = GW · (2 · i - q).
ei = GW · (q-1) und
di = GW · (2 · i - q).
Die Eingangsgewichte ei haben also alle den gleichen Wert.
Die Offsets di sind in den Neuronen unterschiedlich. Der
Wertebereich des Eingangssignals x wird durch die Neuronen
der Zwischenschicht in Teilbereiche unterteilt. Je nach
dem, welchen Wert das Eingangssignal x gerade hat, sind
die Neuronen der Zwischenschicht entweder nahe beim posi
tiven oder negativen Grenzwert.
Der Wert GW beeinflußt die Interpolationseigenschaften des
neuronalen Netzes. Bei GW = 9 (bzw. 5) erhält man einen
treppenförmigen Kurvenverlauf mit sehr scharfen Übergän
gen, weil die Ausgangssignale der Neuronen der Zwischen
schicht entweder beim oberen oder beim unteren Grenzwert
liegen. Verringert man den Wert GW, so gibt es keinen so
scharfen Übergang mehr, sondern es entsteht ein gleitender
Übergang mit Zwischenwerten. Allerdings entspricht die
Matrix M dann nicht mehr der vorgegebenen idealen Struk
tur. Die Ausgangsgewichte müssen nun numerisch ermittelt
werden. Dafür wird der Kurvenverlauf glatter und die
Interpolationseigenschaften des neuronalen Netzes ver
bessern sich. Als besonders günstig hat sich bei nicht
linearen Elementen mit sigmoider Funktion der Werte
bereich 0.5 < GW < 2 und für nichtlineare Elemente mit
Tangens-Hyperbolikus der Wertebereich 0.2 < GW < 1 er
wiesen. Wird GW aus diesen Bereichen gewählt, so hat das
neuronale Netz gute Interpolationsfähigkeiten bei zuver
lässiger Berechnung der Gewichte ai der Ausgangsneuronen.
Für die dritte angegebene Struktur der Matrix M, die ähn
lich der Einheitsmatrix ist, können vorteilhaft nicht
lineare Elemente mit dem Verlauf einer Glockenkurve in
den Neuronen der Zwischenschicht eingesetzt werden.
Der qualitative Verlauf einer Glockenkurve ist in Fig. 9
dargestellt. Die Formel einer derartigen Glockenkurve
lautet:
y = e-(z/b)2
Diese Funktion hat ein ausgeprägtes Maximum bei z = 0 mit dem Funktionswert f(0) = 1. Für große wie auch für kleine Werte von z nähert sich die Funktion asymptotisch dem Wert 0. Für z = b erhält man als Funktionswert y(b) = exp(-1) ≈ 0.368. D. h., im Abstand b von der Ordinate ist der Ausgabewert der Funktion auf ca. ein Drittel gefallen. Die Funktion ist symmetrisch bezüglich der Ordinate, d. h. y(z) = y(-z).
y = e-(z/b)2
Diese Funktion hat ein ausgeprägtes Maximum bei z = 0 mit dem Funktionswert f(0) = 1. Für große wie auch für kleine Werte von z nähert sich die Funktion asymptotisch dem Wert 0. Für z = b erhält man als Funktionswert y(b) = exp(-1) ≈ 0.368. D. h., im Abstand b von der Ordinate ist der Ausgabewert der Funktion auf ca. ein Drittel gefallen. Die Funktion ist symmetrisch bezüglich der Ordinate, d. h. y(z) = y(-z).
Um unter Verwendung einer Glockenkurve als nichtlineares
Element in den Neuronen der Zwischenschicht eine Matrix M
der dritten Struktur zu erhalten, müssen folgende Regeln
angewendet werden:
- (1) - Die Elemente auf der Diagonalen müssen dem Maximal wert Eins entsprechen und
- (2) - ober- und unterhalb der Diagonalen müssen die Ele mente nahe dem Grenzwert Null liegen.
Mit der Eingangsverknüpfung z = e · × + d in den Neuronen
der Zwischenschicht kann daraus die Gleichung abgeleitet
werden:
di = -ei · xi′.
di = -ei · xi′.
Aus der zweiten Regel folgt für die nicht auf der Diagona
le liegenden Elemente:
Wegen der Symmetrie der Glockenkurve gilt diese Berechnung
sowohl für die Elemente oberhalb als auch unterhalb der
Diagonalen.
Die Eingangsgewichte werden alle auf den Wert Eins
gesetzt, dann erhält man:
ei = 1
di = -1 + 2 · (i-1)/(q-1) = -xi
b = 0.2/(q-1).
ei = 1
di = -1 + 2 · (i-1)/(q-1) = -xi
b = 0.2/(q-1).
Der Kurvenverlauf dieses neuronalen Netzes ist eine Folge
von Glockenkurven. Diese Kurven sind sehr schmal; die
Flanken fallen steil zu Null hin ab. Die Kurven entspre
chen daher mehr "Nadelimpulsen". Die Spitzen der Kurven
entsprechen den gelernten Stützwerten. Das neuronale Netz
hat daher schlechte Interpolationseigenschaften. Bei Ein
gangssignalen zwischen den Stützwerten wird vom neuronalen
Netz näherungsweise Null ausgegeben. Die Interpolations
eigenschaften sind aber mit dem Faktor b veränderbar. Je
größer b wird, desto breiter werden die einzelnen Glocken
kurven, bis sie sich überlappen und das neuronale Netz
auch zwischen den Stützwerten geeignete Ausgangswerte
liefert. Damit geht aber gleichzeitig der scharfe Übergang
von Null nach Eins im Bereich der Diagonalen der Matrix M
verloren und die Matrix M verliert ihre ideale Struktur.
Man erhält nun sogenannte "Bandmatrizen":
Je größer b wird, desto breiter wird das "Band".
Besonders gute Interpolationseigenschaften bei zuver
lässiger Berechnung der Gewichte ai in den Ausgangs
neuronen werden erreicht, wenn für b Werte aus dem
Bereich 1/(q-1) < b < 3/(q-1) gewählt werden.
Die Vorgabe einer geeigneten Struktur für die Matrix M
liefert also eine analytische Einstellvorschrift für die
Gewichte ei und die Offsets di der Neuronen der Zwischen
schicht im neuronalen Netz. Die Interpolationseigen
schaften sind allerdings mit dieser Einstellung zunächst
eher ungünstig. Sie können aber durch Ändern von vorteil
haft nur einem Parameter (GW bzw. b) verändert werden.
Dadurch weicht die Matrix M von der vorgegebenen idealen
Struktur ab und die Ausgangsgewichte ai müssen numerisch
berechnet werden. Aufgrund der Einstellvorschrift ergeben
sich dabei aber keine numerischen Probleme. Die numerische
Lösung liefert auch bei überbestimmten Gleichungssystemen,
z. B., wenn es mehr Stützwerte als Neuronen der Zwischen
schicht gibt, sinnvolle Ergebnisse. Wird GW zu stark ver
ringert bzw. b zu sehr vergrößert, so nähern sich die
Zeilen der Matrix M der linearen Abhängigkeit, und die
Ausgangsgewichte ai in den Neuronen der Ausgangsschicht
werden größer.
Wenn die Matrix M nach der Bestimmung der Gewichte ei und
der Offsets di anhand der äquidistanten Hilfsgrößen für
die Lerndaten aufgestellt wird, kann es zu Abweichungen
von der idealen Struktur kommen, falls diese Lerndaten
nicht äquidistant sind. Es hat sich aber gezeigt, daß die
numerisch günstigen Eigenschaften dieser Einstell
vorschrift erhalten bleiben.
Im allgemeinen ist ein Offset im Ausgangsneuron nicht
notwendig. Soll aber dennoch ein Offset d mitberechnet
werden, so muß das Gleichungssystem folgendermaßen erwei
tert werden:
m11 · a1 + m12 · a2 + m13 · a3 + d = y1
m21 · a1 + m22 · a2 + m23 · a3 + d = y2
m31 · a1 + m32 · a2 + m33 · a3 + d = y3
in Matrixschreibweise:
m11 · a1 + m12 · a2 + m13 · a3 + d = y1
m21 · a1 + m22 · a2 + m23 · a3 + d = y2
m31 · a1 + m32 · a2 + m33 · a3 + d = y3
in Matrixschreibweise:
Die Matrix M wird also um eine Spalte mit Elementen mit
dem Wert "1" und der Lösungsvektor um den gesuchten Offset
d erweitert. Das Gleichungssystem hat nun mehr Parameter
als Stützwerte, es kann aber dennoch mit Methoden der
Näherung gelöst werden.
Es soll nun ein neuronales Netz mit zwei Eingängen x und
y betrachtet werden. Die Lerndaten haben die Form (x, y, z).
Jeder Eingang wird auf den Wertebereich 1 . . . -1 normiert.
Aus diesem Wertebereich werden wiederum gleichverteilte
Hilfsgrößen xi′ und yi′ für die Eingangssignale x bzw. y
gebildet:
xi′ = 1 - 2 · (i-1)/(q-1)
yi′ = 1 - 2 · (i-1)/(q-1).
xi′ = 1 - 2 · (i-1)/(q-1)
yi′ = 1 - 2 · (i-1)/(q-1).
Die so hilfsweise eingeführten Wertepaare (xi′, yi′) für
die Eingangssignale des neuronalen Netzes ergeben sich
dann durch Kombination der Hilfsgrößen xi′ und yi′ der
Eingänge. Werden von jedem Eingang q Hilfsgrößen gebildet,
so ergeben sich hier q²-Kombinationen. Jedes dieser Werte
paare deckt einen Teilbereich des zweidimensionalen Ein
gangsraumes ab. Die Netze werden also sehr groß, weil hier
pauschal der gesamte Eingangsraum abgedeckt wird, unabhän
gig von der tatsächlichen Verteilung der Lerndaten.
Jedes dieser Wertepaare erfordert ein Neuron in der
Zwischenschicht. Sollen mit diesem Netz dann n-Lerndaten
gelernt werden, so erhält die Matrix M die Größe n × q².
Für eine quadratische Matrix M benötigt man somit n = q²
Lerndaten. Bei mehr Lerndaten erhält man ein überbestimm
tes Gleichungssystem. Das neuronale Netz bildet dann eine
Ausgleichsfunktion, bei der der quadratische Fehler mini
miert wird.
Beispielsweise soll bei einem neuronalen Netz mit zwei
Eingängen jeder Eingang durch fünf äquidistante Hilfs
größen in vier Teilabschnitte unterteilt werden. Die
Kombinationen dieser Hilfsgrößen liefern die Stützwerte
für den zweidimensionalen Eingangsraum. Man erhält so ein
Gitter von 25 Stützwerten gemäß Fig. 10.
Für das Aufstellen des Gleichungssystems werden mindestens
25 Lerndaten benötigt. Die Matrix M hat dann die Dimension
25 × 25. Es müssen bei mehrdimensionalen neuronalen Netzen
sehr große Gleichungssysteme gelöst werden. Beim Lernen
eines "Mexikanischen Hutes" (= sin(z)/z mit
z = 8 · sqrt(x²+y²)) mit sogenannten "radial-basis-Funk
tionen" (siehe unten) ist eine Matrix mit etwa q = 10
notwendig.
Das Lernen von Stützwerten bei zweidimensionalen neuro
nalen Netzen soll nun für die radial-basis-Funktion als
nichtlinearem Element erläutert werden. Die radial-basis-
Funktion hat einen glockenförmigen Verlauf gemäß der
Formel:
Mit den Lerndaten (xi, yi, zi) wird wieder ein Gleichungs
system aufgestellt. Gibt es genausoviele Stützwerte wie
Neuronen in der Zwischenschicht, dann erhält man eine
quadratische Matrix M. Diese Matrix soll die Diagonal
struktur erhalten, d. h., nur die Diagonalelemente sollen
den Wert Eins haben. Im Diagonalelement erhält man für ein
Eingangswertepaar (x1′ , y1′ ) folgende Gleichung:
Daraus folgt:
x0 = x1′ und y0 = y1′.
Für jedes Wertepaar wird somit ein Neuron in der Zwischen
schicht benötigt. Für ein Wertepaar (xj′, yi′) erhält man
dabei die Einstellvorschrift:
Der Faktor b beeinflußt dabei wieder die Interpolations
eigenschaften bei Zwischenwerten. Je nachdem, wie weit ein
Eingangs-Lernwert von den Wertepaaren eines Neurons ent
fernt ist, hat der Ausgang des Neurons einen Wert zwischen
Null und Eins. Bei einer beliebigen Verteilung der Lern
daten erhält man so "dünnbesetzte" Matrizen mit einer mehr
oder weniger ausgeprägten Diagonalstruktur. Dieses Ver
halten kann man ausnutzen, um das Netz zu verkleinern.
Neuronen, die in der Matrix M eine Spalte nur mit Nullen
oder sehr kleinen Werten liefern, kann man weglassen.
Bei einem neuronalen Netz mit k Eingängen wird jeder Ein
gang für sich in q äquidistante Hilfsgrößen unterteilt.
Die Werte-k-Tupel für das neuronale Netz ergeben sich
somit wieder durch Kombination der Hilfsgrößen der einzel
nen Eingänge. Man erhält dadurch qk Werte-k-Tupel für das
mehrdimensionale neuronale Netz. Jedes dieser Werte-k-
Tupel deckt einen Teilbereich des k-dimensionalen Ein
gangsraumes ab. Die Netze werden also sehr groß, weil hier
pauschal der gesamte Eingangsraum abgedeckt wird - unab
hängig von der tatsächlichen Verteilung der Lerndaten.
Jedes dieser Werte-k-Tupel erfordert ein Neuron in der
Zwischenschicht. Sollen mit diesem Netz n Lerndaten
gelernt werden, so erhält die Matrix M die Größe n × qk.
Für eine quadratische Matrix M benötigt man somit n = qk
Lerndaten. Bei mehr Lerndaten erhält man ein überbestimm
tes Gleichungssystem. Das neuronale Netz bildet dann eine
Ausgleichsfunktion, bei der der quadratische Fehler mini
miert wird.
Der Vorteil der radial-basis-Funktionen liegt wieder
darin, daß man die Werte-k-Tupel zunächst unabhängig von
den Ausgangswerten festlegen kann. Die Anzahl q bestimmt
dabei die Auflösung und damit die Genauigkeit der Approxi
mation. Der Nachteil liegt darin, daß die Netze sehr groß
werden können.
Bei den übrigen nichtlinearen Funktionen werden in der
Eingangsfunktion die Eingangssignale linear überlagert;
dadurch ergeben sich Mehrdeutigkeiten, welche die Be
rechnung erschweren.
Wenn davon ausgegangen wird, daß die Lerndaten nur in
einem Teilbereich des k-dimensionalen Eingangsraumes
liegen, so kann man durch folgende Vorgehensweise für
Neuronen mit radial-basis-Funktionen zu einem kleineren
Netz kommen:
- - Bei einem neuronalen Netz mit k Eingängen werden von jedem Eingangssignal, wie oben beschrieben, q Hilfs größen gebildet, je nach gewünschter Auflösung.
- - Diese Hilfsgrößen werden alle miteinander kombiniert. Diese Kombinationen bilden die Werte-k-Tupel des k-dimensionalen Eingangsraumes.
- - Diese Werte-k-Tupel liefern die Parameter der radial basis-Funktionen. Es gibt damit zunächst so viele Neuronen in der Zwischenschicht wie Werte-k-Tupel.
- - Es werden nun nacheinander für jeden Eingangs-Lern datensatz die Ausgangswerte aller Neuronen berechnet.
- Die Ausgangswerte werden aufsummiert. Ist das Ergebnis Null oder sehr klein, so wird das Neuron aussortiert. Es bleiben damit nur solche Neuronen übrig, bei denen die Lerndaten in der Nähe der Werte-k-Tupel liegen. Auf diese Weise erhält man noch zusätzlich einen Überblick über die relevanten Werte-k-Tupel.
- - Mit diesen Neuronen wird dann das Gleichungssystem aufgestellt und gelöst. Verwendet man genausoviele Neuronen wie Lerndaten, dann können die Lerndaten exakt gelernt werden; verwendet man weniger Neuronen als Lerndaten, dann bildet das neuronale Netz ein mehr dimensionales Ausgleichspolynom.
Alternativ können die relevanten Werte-k-Tupel auch er
mittelt werden, wenn man für jeden Eingang eine Häufig
keitsverteilung aufstellt. Dazu wird jeder Eingang in
Teilbereiche aufgeteilt. Die Anzahl der Bereiche richtet
sich nach der gewünschten Genauigkeit. Es wird nun er
mittelt, wieviele Lerndaten in welchem Teilbereich liegen.
Heben sich hier einzelne Teilbereiche heraus, dann kann
man die Mittelwerte dieser Teilbereiche als Werte-k-Tupel
für die radial-basis-Funktionen verwenden. Die Breite der
Teilbereiche liefert einen Hinweis zur Wahl von b.
Weiterhin ist noch eine "Vorverarbeitung" der Lerndaten
vorteilhaft, bei welcher ein sehr großer Datensatz mit
Lerndaten auf einen kleineren repräsentativen Datensatz
reduziert wird.
Mit dieser Entwurfsvorschrift kann man die Größe des neu
ronalen Netzes an die zu lernende Funktion anpassen. Die
Netze sind dabei immer noch größer als bei Verwendung der
übrigen Funktionen (sigmoid, tanh, Glockenkurve), dafür
ist der Entwurf aber sicherer, weil bei neuronalen Netzen
mit radial-basis-Funktionen die Zuordnung Eingangswert zu
Ausgangswert von weniger Parametern abhängt.
Durch das erfindungsgemäße Entwurfsverfahren ist man
nicht mehr auf neuronale Netze mit speziellen Neuronen
typen beschränkt, wie es beim Backpropagation-Verfahren
der Fall war, sondern man kann auch neuronale Netze mit
allgemeineren Neuronentypen verwenden.
Die Neuronen in der Zwischenschicht müssen nicht unbe
dingt als Eingangsfunktion eine Summation bilden und als
Ausgangsfunktion den Tangens-Hyperbolikus oder die
sigmoide Funktion besitzen. Im Prinzip sind bei den
Neuronen beliebige Eingangsfunktionen, also auch Produkte
und Divisionen, und auch beliebige Ausgangsfunktionen
möglich. Die einzige Anforderung für einen sinnvollen
Entwurf ist, daß der Ausgangswert der Neuronen nicht
völlig linear von den Eingangsgrößen abhängt. Die Nicht
linearität darf dabei jedem Eingangswert nur einen Aus
gangswert zuordnen. Wenn die Bedingungen für die Nicht
linearität schon durch die Verknüpfung in der Eingangs
funktion erfüllt sind, dann kann die Ausgangsfunktion auch
linear sein. Die Neuronen in der Zwischenschicht müssen
jetzt auch nicht mehr die gleiche Eingangs- und Ausgangs
funktion haben, sondern die Funktionen können in den
Neuronen verschieden sein. Die Gewichtungsfaktoren in den
Eingangsfunktionen der Neuronen der Zwischenschicht und
die Parameter der Nichtlinearität müssen so gewählt
werden, daß aus q Stützwerten n linear unabhängige
Gleichungen aufgestellt werden können.
Die Eingangsfunktionen in den Neuronen der Ausgangsschicht
müssen so geartet sein, daß man jeweils ein Gleichungs
system aufstellen kann. Die gewichteten Eingangssignale
dieser Neuronen müssen entweder durch eine Addition,
Multiplikation oder Division verknüpft werden. Im Falle
einer Multiplikation oder Division erhält man das Glei
chungssystem durch Logarithmieren. Es muß dann aber darauf
geachtet werden, daß die normierten Stützwerte der Aus
gabesignale der Zwischenschicht und die zu lernenden Aus
gangswerte positiv sind. Bei negativen Ausgangswerten muß
in den Ausgangsneuronen noch eine weitere lineare oder
nichtlineare Ausgangsfunktion implementiert werden, welche
die negativen Ausgangswerte auf interne positive Ausgangs
werte abbildet. Durch Logarithmieren erhält man unter den
angegebenen Voraussetzungen aus einer Verknüpfung
y = a1 · f1 · a2 · f2 · a3 · f3 · a4 · f4
die Gleichung:
ln(y) = ln(a1f1) + . . . + ln(a4f4).
ln(y) = ln(a1f1) + . . . + ln(a4f4).
Mit derartigen Gleichungen kann wiederum in der bereits
beschriebenen Weise ein lineares Gleichungssystem aufge
stellt und gelöst werden.
Für ein Neuron in der Ausgangsschicht mit z. B. drei Ein
gängen, an denen die Signale f1 . . . f3 anliegen, den Ge
wichtungsfaktoren a1 . . . a3 und einer sigmoiden Ausgangs
funktion erhält man das Gleichungssystem folgendermaßen:
Durch beidseitige Kehrwertbildung, Subtrahieren von 1
und Logarithmieren erhält man daraus die Gleichung:
d - a1f1 - a2f2 - a3f3 = ln(1/y - 1.0).
Mit den Lerndaten werden verschiedene Kombinationen der
Ein- und Ausgangswerte festgelegt. Die Werte f1, f2 und f3
sind dabei die Ausgangswerte von Neuronen der Zwischen
schicht. Man kann dann durch Logarithmieren ein lineares
Gleichungssystem aufstellen und die Parameter d, a1, a2
und a3 wieder in der bereits beschriebenen Weise ermit
teln.
Claims (6)
1. Verfahren zum Entwurf eines neuronalen Netzes, das min
destens einen Eingang und mindestens einen Ausgang sowie
Neuronen in mehreren hintereinander angeordneten Schich
ten aufweist, wobei in den Neuronen einer Zwischenschicht
Eingangssignale zunächst gewichtet, dann miteinander ver
knüpft und mit einem nichtlinearen Element ausgewertet
werden und jedem Ausgang des neuronalen Netzes ein Aus
gangsneuron zugeordnet ist, auf welches die Signale der
Neuronen der Zwischenschicht geführt sind und in denen
durch eine Gewichtung und Verknüpfung dieser Signale je
weils ein Ausgangssignal erzeugt wird, bei welchem für
jeden Ausgang q Stützwerte (xi, yi) für Eingangs- und
Ausgangssignale vorgegeben werden, wobei die Anzahl q der
Stützwerte mindestens gleich der Anzahl n der Neuronen in
der Zwischenschicht ist, und die Gewichte (ai) des Aus
gangsneurons eines Ausgangs durch Lösen eines linearen
Gleichungssystems ermittelt werden, das aus q Gleichungen
für die Ausgangssignalwerte der q Stützwerte (xi, yi)
besteht, in denen die Werte der von den Zwischenschicht
neuronen zugeführten Signale (mÿ) jeweils mit den ent
sprechenden Gewichten (ai) multipliziert und addiert
werden, wobei die Gewichte und die nichtlinearen Elemente
in den Zwischenschichtneuronen derart vorgegeben sind, daß
das Gleichungssystem lösbar ist, nach dem deutschen
Patent . . . . . . . . . . (Patentanmeldung P 42 28 703.0), da
durch gekennzeichnet, daß
- - der Wertebereich des Eingangssignals (x) ermittelt und q Hilfsgrößen (xi′) derart festgelegt werden, daß sie auf dem Wertebereich gleichverteilt sind, daß
- - die Matrix (M) zur Lösung des linearen Gleichungssystems M·ª=y näherungsweise eine vorgegebene Struktur auf weist, so daß sie leicht invertierbar ist, und daß
- - die Parameter (ei, di) der Verknüpfung der Eingangs signale in den Neuronen der Zwischenschicht derart be stimmt werden, daß die Auswertung der Hilfsgrößen (xi′) mit dem nichtlinearen Element eine Matrix der vorge gebenen Struktur ergibt.
2. Verfahren nach Anspruch 1, dadurch ge
kennzeichnet, daß
- - näherungsweise eine Matrixstruktur vorgegeben wird, bei der die Elemente (mÿ) der Matrix (M) auf und oberhalb der Diagonalen den Wert Eins, unterhalb der Diagonalen den Wert Null haben, und daß
- - die nichtlinearen Elemente der Neuronen in der Zwischen schicht näherungsweise den Verlauf einer sigmoiden Funk tion haben.
3. Verfahren nach Anspruch 1, dadurch ge
kennzeichnet, daß
- - näherungsweise eine Matrixstruktur vorgegeben wird, bei der die Elemente (mÿ) der Matrix (M) auf und oberhalb der Diagonalen den Wert Eins, unterhalb der Diagonalen den Wert -1 haben, und daß
- - die nichtlinearen Elemente der Neuronen in der Zwischen schicht näherungsweise den Verlauf einer Tangens-Hyper bolikus-Funktion haben.
4. Verfahren nach Anspruch 1, dadurch ge
kennzeichnet, daß
- - näherungsweise eine Matrix (M) entsprechend der Ein heitsmatrix vorgegeben wird und daß
- - die nichtlinearen Elemente der Neuronen in der Zwischen schicht näherungsweise den Verlauf einer Glockenkurve haben.
5. Verfahren nach Anspruch 4, dadurch ge
kennzeichnet, daß
- - zur Verknüpfung in den Neuronen der Zwischenschicht die Summe der Quadrate der mit einem Offset (x0, y0) über lagerten Eingangssignale (x, y) gebildet wird.
6. Neuronales Netz, erhältlich mit einem Verfahren nach
einem der vorhergehenden Ansprüche.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4328896A DE4328896A1 (de) | 1992-08-28 | 1993-08-27 | Verfahren zum Entwurf eines neuronalen Netzes |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4228703A DE4228703A1 (de) | 1992-08-28 | 1992-08-28 | Verfahren zum Entwurf eines neuronalen Netzes |
DE4328896A DE4328896A1 (de) | 1992-08-28 | 1993-08-27 | Verfahren zum Entwurf eines neuronalen Netzes |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4328896A1 true DE4328896A1 (de) | 1995-03-02 |
Family
ID=25918000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4328896A Ceased DE4328896A1 (de) | 1992-08-28 | 1993-08-27 | Verfahren zum Entwurf eines neuronalen Netzes |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4328896A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002027654A2 (de) * | 2000-09-29 | 2002-04-04 | Siemens Aktiengesellschaft | Verfahren und anordnung zur rechnergestützten abbildung mehrerer zeitlich veränderlicher zustandsbeschreibungen und verfahren zum training einer solchen anordnung |
-
1993
- 1993-08-27 DE DE4328896A patent/DE4328896A1/de not_active Ceased
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002027654A2 (de) * | 2000-09-29 | 2002-04-04 | Siemens Aktiengesellschaft | Verfahren und anordnung zur rechnergestützten abbildung mehrerer zeitlich veränderlicher zustandsbeschreibungen und verfahren zum training einer solchen anordnung |
WO2002027654A3 (de) * | 2000-09-29 | 2003-11-27 | Siemens Ag | Verfahren und anordnung zur rechnergestützten abbildung mehrerer zeitlich veränderlicher zustandsbeschreibungen und verfahren zum training einer solchen anordnung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112018004992T5 (de) | Übertragung synaptischer gewichte zwischen leitfähigkeitspaaren mitpolaritätsumkehr zum verringern fester einheitenasymmetrien | |
DE102008020379A1 (de) | Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems | |
WO2008080864A1 (de) | Verfahren zur rechnergestützten steuerung und/oder regelung eines technischen systems | |
EP0663632A1 (de) | Verfahren und Vorrichtung zur Führung eines Prozesses | |
DE10261727A1 (de) | Steuersystem in Fuzzy-Logik für ein Rad eines Kraftfahrzeugs und Verfahren zum Implementieren einer Fuzzy-Logikeinheit für derartiges Rad eines Kraftfahrzeuges | |
DE4439225B4 (de) | Defuzzifizierungsverfahren für Fuzzy Logic-Ausgangssignale und Reglervorrichtung hierzu | |
EP0657053B1 (de) | Verfahren zum entwurf eines neuronalen netzes und danach erhaltenes neuronales netz | |
DE4406300C2 (de) | Lineares Interpolationsverfahren | |
DE4328896A1 (de) | Verfahren zum Entwurf eines neuronalen Netzes | |
EP0791192B1 (de) | Verfahren zum entwurf eines fuzzy-reglers | |
EP0815515B1 (de) | Verfahren und einrichtung zum entwurf eines neuronalen netzes | |
EP0700536B1 (de) | Regeleinrichtung | |
DE4205903A1 (de) | Signalverarbeitungsvorrichtung mit neuronalem netzwerk | |
Heinemann | Die theorie globaler spiele: Private information als mittel zur vermeidung multipler gleichgewichte | |
CH636485A5 (en) | Signal generator for generating sinusoidal output signals with predetermined mutual phase angle, and use thereof as three-phase generator for calibrating electricity meters | |
DE19528984C1 (de) | Verfahren zur Nachbildung von insbesondere dreieck- oder trapezförmigen Zugehörigkeitsfunktionen bei der Transformation eines Fuzzy-Systems in ein neuronales Netz | |
EP0673522B1 (de) | Einrichtung zur vervollständigung einer unvollständigen regelbasis eines fuzzy-reglers | |
DE3609925A1 (de) | Einrichtung zur simulation von neuronensystemen | |
WO1993008515A1 (de) | Wissensbasierte steuer- und regeleinrichtung | |
Friedrich et al. | Wissensrepräsentation | |
DE102004059684B3 (de) | Verfahren und Anordnung sowie Computerprogramm mit Programmmcode-Mitteln und Computerprogramm-Produkt zur Ermittlung eines zukünftigen Systemzustandes eines dynamischen Systems | |
DE4232752C1 (de) | Verfahren zur Erzeugung einer scharfen Ausgangsstellgröße am Ausgang eines Fuzzy-Regelkreises | |
DE102019219156A1 (de) | Verfahren zum ermitteln eines indikatorwerts eines leistungsfähigkeits-indikators einer vorgegebenen schaltungstopologie einer elektronischen schaltung, computerprogramm, maschinenlesbares speichermedium und vorrichtung | |
DE10356655B4 (de) | Verfahren und Anordnung sowie Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zur Ermittlung eines zukünftigen Systemzustandes eines dynamischen Systems | |
DE977282C (de) | Schluessel-Programmwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AF | Is addition to no. |
Ref country code: DE Ref document number: 4228703 Format of ref document f/p: P |
|
8131 | Rejection |