DE4328896A1 - Verfahren zum Entwurf eines neuronalen Netzes - Google Patents

Verfahren zum Entwurf eines neuronalen Netzes

Info

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
Application number
DE4328896A
Other languages
English (en)
Inventor
Karl-Heinz Dipl Ing Kirchberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from DE4228703A external-priority patent/DE4228703A1/de
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE4328896A priority Critical patent/DE4328896A1/de
Publication of DE4328896A1 publication Critical patent/DE4328896A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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)).
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)).
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.
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.
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).
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).
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′.
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).
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:
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).
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).
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.
DE4328896A 1992-08-28 1993-08-27 Verfahren zum Entwurf eines neuronalen Netzes Ceased DE4328896A1 (de)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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