DE4020001C2 - Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes - Google Patents
Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen NetzesInfo
- Publication number
- DE4020001C2 DE4020001C2 DE4020001A DE4020001A DE4020001C2 DE 4020001 C2 DE4020001 C2 DE 4020001C2 DE 4020001 A DE4020001 A DE 4020001A DE 4020001 A DE4020001 A DE 4020001A DE 4020001 C2 DE4020001 C2 DE 4020001C2
- Authority
- DE
- Germany
- Prior art keywords
- neuron
- arrangement according
- circuit arrangement
- learning
- circuit
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Feedback Control In General (AREA)
Description
Die Erfindung betrifft eine Schaltungsanordnung einer
Neuronenschaltung und eines damit aufgebauten neuronalen Netzes, welche einen in
einer Lernphase mit einem Speicherinhalt zu ladenden
Speicher enthält und jeweils mehrere Eingänge und jeweils
einen Ausgang aufweist, wobei mit den ladungsgemäßen
Speicherinhalten die jeweiligen Eingangsignale
parametrisiert und zu vorgegebenen Taktzeiten verknüpft
werden, wodurch Ausgangssignale gebildet werden, wobei die
ladbaren Speicher Digitalspeicher, bestehend aus einer
Mehrzahl von einzelnen Basiszellen, und die Ausgangssignale
digitale Signale sind und die Verknüpfung dieser
Digitalsignale und der Speicherinhalte mittels eines
Digitalprozessors erfolgt.
Ein ähnliches neuronales Netz ist aus US-PS 4,866,645
bekannt, bei dem in den Neuronenschaltungen analoge, nämlich
kapazitive, Speicherelemente verwandt sind, deren Inhalte mit
analogen Eingangssignalen zu einer Ausgangsgröße als
Produktsumme verknüpft werden. Derartige Neuronenschaltungen
haben den Nachteil, daß die flüchtigen Speicherinhalte
ständig neu geladen werden müssen, da deren Inhalt flüchtig
ist.
Weiterhin ist aus US-PS 4,912,652 ein neuronales Netz mit
einem Digitalprozessor bekannt, wobei die in einer Lernphase
gewonnenen Einflußfaktoren in einem Digitalspeicher
gehalten sind, die jeweils in einer ein Neuron darstellenden
Verknüpfung durch einen taktgesteuerten Prozessor mit den
verschiedenen digitalisierten Eingangssignalen zu einer
Produktsumme zusammengefaßt werden, aus der jeweils durch
eine nichtlineare Bewertung ein Ausgangssignal erzeugt wird.
Da diese Produkte und Produktsummen mittels
Gleitkommaoperationen gebildet werden, erfordert dies einen
hohen Rechenaufwand.
Weiter sind aus der Zeitschrift c′t, Nr. 10/1988, S. 70-82, H. Werntges et al, "Neuronale
Computer", Neuronenschaltungen bekannt, bei
denen ein Ausgangssignal aus den Eingangssignalen berechnet
wird. Dabei ist es vorgesehen, daß die Ein- und
Ausgangssignale nur bestimmte feste Werte annehmen, z. B. -1
und +1. Je nach dem angewendeten Berechnungsverfahren sind
diese neuronalen Netze nur für bestimmte Anwendungsklassen
einsetzbar, weil zum einen die Werte für die
Ein-/Ausgangssignale stark eingeschränkt sind oder zum
anderen die jeweilige Abbildung der Eingangssignale auf
zugehörige Ausgangssignale gar nicht oder nur extrem langsam
oder schlecht gelernt werden kann. Die bekannten Verfahren
für die Berechnung eines Ausgangssignals eines neuronalen
Netzes sind im allgemeinen mehrstufig und basieren im
allgemeinen auf Fließkomma-Berechnungen. Das hat bei einigen
der bekannten Verfahren den Vorteil, daß das Lernen nach
deterministischen Verfahren erfolgen kann, wobei sich
insbesondere das Backpropagation-Verfahren als
leistungsfähig erwiesen hat. Allerdings ist damit der
Nachteil verbunden, daß sowohl das Lernen als auch das
Auswerten einen hohen Rechenaufwand erfordert, der zu langen
Verarbeitungszeiten führt. Außerdem kann das Lernen in einem
lokalen Fehlerminimum enden, also nicht immer zu optimalen
Lernerfolgen führen.
Aus dem Buch vom J. Millmann und C. Halkias: "Integrated electronics",
McGraw-Hill, 1972, S. 620-623, ebenso wie aus der DE 39 27 343 A1
ist grundsätzlich bekannt, Speicher-Bausteine als "Lookup-Tabelle" oder
als Ersatz für kombinatorische Logikschaltung einzusetzen,
wodurch sich der Rechenaufwand verringern läßt.
Die Schaltungsanordnung eines neuronalen Netzes wird im
folgenden nur neuronales Netz genannt. Ein neuronales Netz
ist in der Lage, in einer Lernphase angelegte Muster zu
lernen und in der Auswertungsphase jeweils auf ein
zugeführtes Eingangsmuster von Eingangssignalen ein
zugehörig gelertes Ausgangsmuster auszugeben, selbst wenn
das Eingangsmuster graduell von einem gelernten abweicht.
Wegen ihrer Lernfähigkeit müssen neuronale Netze nicht für
jede neue Aufgabe speziell programmiert werden, sondern sie
werden nur durch geeignete Lehrmuster darauf trainiert.
Dadurch können die Neuronennetze auch
Signalverarbeitungsaufgaben lösen, bei denen kein
Funktionenzusammenhang der Ein- und Ausgangssignale explizit
bekannt ist oder dessen Ermittlung aufwendig ist, wenn nur
geeignete Lehrmuster verfügbar sind, die dem Netz zugeführt
werden können.
Neuronale Netze bestehen aus einer Vielzahl von insbesondere
gleichartigen Elementen, den Neuronenschaltungen. Die
Neuronenschaltungen sind dazu untereinander oder mit
Netzein- bzw. -ausgängen verbunden. Vorzugsweise sind dabei
die Neuronenschaltungen eines neuronalen Netzes in
Schichten angeordnet, wobei Ausgänge von Neuronenschaltungen
und die Netzeingänge mit je einem Eingang von mehreren
Neuronenschaltungen der nachfolgenden Schicht verbunden
sind. Die Netzausgänge sind im allgemeinen Neuronenausgänge
der letzten Schicht. Diese Verbindungsstruktur zwischen
Neuronenschaltungen und Netzein- und -ausgängen wird als
Topologie bezeichnet.
Es ist Aufgabe der vorliegenden Erfindung, eine Neuronenschaltung und ein damit aufgebautes neuronales
Netz der eingangs genannten Art zu schaffen, das eine
digitale Verarbeitungsgenauigkeit bietet, jedoch unter
Verzicht auf Gleitkommaoperationen kurze Verarbeitungszeiten
erlaubt und vielseitig einsetzbar ist.
Die Lösung der Aufgabe ist durch die Merkmale des Hauptanspruches
und des Nebenanspruches 2 angegeben.
Vorteilhafte Ausgestaltungen sind in den Unteransprüchen
angegeben.
Die vorteilhafte Wirkung der erfindungsgemäßen Lösung ergibt
sich dadurch, daß nur eine vergleichsweise geringe Anzahl
von Rechenoperationen, die zudem einfach sind und sich gut
auf eine Maschinenstruktur abbilden lassen, erforderlich
sind. Dazu ist die neuronenspezifische Information in
einer Basistabelle abgelegt, die das funktionale Ein-
/Ausgangsverhalten der Neuronenschaltung beschreibt, wodurch
die Verarbeitung durch einfache, schnell arbeitende
Schaltungselemente erfolgt, was zu einer hohen
Verarbeitungsgeschwindigkeit führt. Simulationen haben
gezeigt, daß damit kein nennenswerter Qualitätsverlust
verbunden ist. Dazu werden die Eingangssignale in Bereiche
aufgeteilt, denen eine Bereichsnummer zugeordnet ist, mit
deren Hilfe ein Index für die Tabelle der Neuronenschaltung
berechnet wird. Dieser Index verweist auf einen
Basiszelleneintrag, mit dem das Ausgangssignal bestimmt wird.
Die Umsetzung des Tabelleneintrags in das Ausgangssignal kann
auf verschiedene Weise erfolgen, so daß verschiedene
Neuronentypen und damit Verhaltensweisen einfach realisierbar
sind. Dabei werden sinnvollerweise die Signale verschiedener
Eingänge in verschiedene, gegebenenfalls auch in
unterschiedlich viele Bereiche eingeteilt.
Da für die erfindungsgemäßen Neuronenschaltungen keine
geschlossene mathematische Beschreibung vorliegt, ist z.Zt.
keine deterministische Lernstrategie bekannt. Statt dessen
erfolgt bei einem erfindungsgemäßen neuronalen Netz das
Lernen nach einem Trial-and-Error-Verfahren, das mit
Zufallskomponenten arbeitet. Dadurch ist die Lernstrategie
nicht an ein bestimmtes Neuronenmodell gebunden. Durch
einfache Änderungen in den Tabellen der Neuronenschaltungen
sind leicht verschiedene Verhaltensweisen des Netzes
realisierbar, ohne die Lernstrategie ändern zu müssen.
Desweiteren führt diese gestufte tabellarische
Verarbeitungsweise zu einem merklichen
Geschwindigkeitsvorteil erfindungsgemäßer neuronaler Netze
auch beim Lernen, weil keine aufwendigen Berechnungen nötig
sind.
Die folgende Beschreibung erläutert in Verbindung mit den
beigefügten Figuren die Erfindung exemplarisch anhand eines
Ausführungsbeispiels. Es zeigen:
Fig. 1 den prinzipiellen Aufbau eines neuronalen Netzes;
Fig. 2 den schematischen Aufbau einer erfindungsgemäßen
Neuronenschaltung;
Fig. 3 den schematischen Aufbau einer weiteren
erfindungsgemäßen Neuronenschaltung;
Fig. 4 den schematischen Aufbau eines Zuordners;
Fig. 5 den schematischen Aufbau eines weiteren Zuordners;
Fig. 6 den schematischen Aufbau eines weiteren Zuordners;
Fig. 7 den schematischen Aufbau eines weiteren Zuordners;
Fig. 8 den schematischen Aufbau einer speziellen
Ausgestaltung einer Neuronenschaltung;
Fig. 9 den schematischen Aufbau einer Steuervorrichtung für
die Lernphase;
Fig. 10 den schematischen Aufbau einer erweiterten
Neuronenschaltung;
Fig. 11 den Aufbau eines neuronalen Netzes, das eine
Neuronenschaltung im Zeitmultiplex für die Nachbildung
mehrerer Neuronenschaltungen einsetzt.
In der in Fig. 1 dargestellten Topologie eines neuronalen
Netzes NN erkennt man, daß ein neuronales Netz mehrere
Netzeingänge NE und i. allg. mehrere Netzausgänge NA besitzt.
Die Netzeingänge sind mit den Eingängen E von
Neuronenschaltungen N verbunden. Die Ausgänge A der
Neuronenschaltungen sind mit den Eingängen der weiteren
Neuronenschaltungen N oder mit Netzausgängen NA verbunden.
Die Topologie eines erfindungsgemäßen neuronalen Netzes ist
im Prinzip beliebig. Bei entsprechender Anordnung der
Verbindungen ergibt sich ein neuronales Netz NN, bei dem die
Neuronenschaltungen N in Schichten ES, AS und gegebenenfalls
verdeckte, innere Schichten 15 angeordnet sind. Wie in Fig. 1
gezeigt, sind bei einem schichtenförmigen Aufbau die Eingänge
E der Neuronenschaltungen der Eingangsschicht ES
ausschließlich mit Netzeingängen NE verbunden, die Eingänge
der in Fig. 1 nicht näher dargestellten inneren Schicht bzw.
Schichten IS sind ausschließlich mit Ausgängen A von
Neuronenschaltungen N der vorhergehenden Schicht verbunden,
und die Eingänge E der Neuronenschaltungen M der
Ausgangsschicht AS sind mit Ausgängen A von
Neuronenschaltungen N der inneren Schicht/en IS oder, falls
diese nicht vorhanden ist/sind, mit denen der Eingangsschicht
ES verbunden. Der schichtenförmige Aufbau, bei dem die
Eingänge E der Neuronenschaltungen N einer Schicht
ausschließlich mit Ausgängen A der vorhergehenden Schicht
verbunden sind, ist nicht zwingend vorgeschrieben, wird aber
meistens angewendet. Ebenso ist es nicht zwingend, daß alle
Ausgänge A der Neuronenschaltungen einer Schicht bzw.
Netzeingänge NE mit einem Eingang von jedem Neuronenschaltung
N der nachfolgenden Schicht verbunden sind, obwohl auch dies
meistens zweckmäßig ist.
Alle Neuronenschaltungen N und Verbindungen müssen nicht als
ein elektrisches Netzwerk existieren, sie sind auch durch
Multiplexierung oder Programmfolgen nachbildbar.
Das Verhalten eines neuronalen Netzes NN wird durch die
Vielzahl der Neuronenschaltungen N und deren starke
Vermaschung aus den verschiedenen Reaktionen der einzelnen
Neuronenschaltungen N bestimmt. Das globale Verhalten eines
neuronalen Netzes wird ausschließlich mittels der jeweils in
den Neuronenschaltungen N abgelegte tabellarisch abgelegten
Information beeinflußt.
Neuronale Netze werden jeweils in einer von zwei Phasen
betrieben, einer Lernphase oder einer Auswertphase. In der
Lernphase werden gemäß Fig. 9 an den Netzeingängen NE
Netzeingangssignale sNE angelegt, die zusammen ein
Lerneingangsmuster darstellen. Gleichzeitig werden die daraus
an den Netzausgängen NA resultierenden Netzausgangssignale
sNA mit zu lernenden Lernmustern verglichen, die den
Lerneingangsmustern zugeordnet sind. Durch Verändern der
lokal in den Speichern BT (Fig. 2, 3) der Neuronenschaltungen
N abgelegten Informationen wird in der Lernphase versucht,
daß das sich aufgrund der Auswertung der Information in den
Neuronenschaltungen ergebende Muster der Netzausgangssignale
sNA dem Lernmuster lsNA möglichst gut angenähert wird. Im
allgemeinen hat ein neuronales Netz eine Vielzahl von
Musterzuordnungen zu lernen, so daß beim Lernen einer
weiteren Musterzuordnung unter Umständen die Informationen in
den Neuronen überschrieben werden. Deshalb erfolgt das Lernen
durch wiederholtes zyklisches Anlegen der Musterzuordnungen.
Dadurch ist es in der Lage, in der Auswertphase auf
verschiedene Lerneingangsmuster den zugeordneten Lernmustern
entsprechende Ausgangsmuster zu reproduzieren.
Damit ein neuronales Netz einen Satz von mehreren
verschiedenen Musterzuordnungen mit nur geringen
Fehlersignalen sF, sF1 lernen kann, werden in der Lernphase
einander ähnliche Musterzuordnungen wiederholt angelegt. Das
neuronale Netz NN erhält dadurch in gewissen Grenzen in der
Auswertphase die Fähigkeit zu Verallgemeinerungen, so daß
auch auf vom Ursprung abweichende, aber ähnliche
Eingangsmuster gleiche Ausgangsmuster produziert werden.
Die Lernphase beinhaltet im allgemeinen auch den Betrieb des
neuronalen Netzes NN in der Auswertphase, um aus den sich
dabei aus den Netzeingangssignalen sNE ergebenden
Netzausgangssignalen sNA zu den Lernmustern lsNA
Fehlersignale sF, sF1 und die Abweichung sAB als
zusammenfassendes Kriterium zu bestimmen.
Die Praxis zeigt, daß es für eine gegebene Komplexität der zu
lernenden Musterzuordnungen eine angemessene Komplexität des
neuronalen Netzes NN, also Topologie, gibt.
Die Bestimmung der Ausgangssignale A der Neuronenschaltungen
N und M erfolgt nach einem festen Schema. Variabel sind in
den Neuronenschaltungen nur die in dem Speicher BT abgelegten
Basiszelleneinträge eTE (Fig. 2, 3). Folglich stecken
ausschließlich in der daraus gebildeten Basistabelle die
Informationen, die das lokale Verhalten der
Neuronenschaltungen und das globale Verhalten des neuronalen
Netzes festlegen. In der Lernphase werden diese
Basiszelleneinträge derart verändert, daß das gewünschte
Verhalten erreicht wird.
Die Eingangssignale sE und die Ausgangssignale sA sind
vorteilhaft auf einen Wertebereich, insbesondere auf einige
diskrete Werte, beschränkt. Dazu müssen Netzeingangssignale
sNE normiert und Netzausgangssignale sNA denormiert werden.
Erfindungsgemäße Neuronenschaltungen N, deren Aufbau
beispielhaft in Fig. 2 und 3 schematisch dargestellt ist,
werden anhand der Auswertphase näher erläutert. Die
verhaltensbeschreibende Information der Neuronenschaltungen
ist jeweils in einer Vielzahl von Basiszelleneinträgen eTE in
einem Speicher BT abgelegt. Diese liegen sinnvollerweise in
aneinander anschließenden Basiszellen TE in einer
Basistabelle. Dabei kann ein Basiszelleneintrag eTE auch
mehrere einfache Einträge enthalten.
Die erfindungsgemäßen Neuronenschaltungen N haben einen
dreistufigen Aufbau, wie Fig. 2 und 3 zeigt. In der ersten
Stufe wird mittels eines Zuordners FE, FE1, FE2, FE3 (Fig. 4-7)
aus den Eingangssignale sE der Neuronenschaltung ein
Basisindex BI bestimmt. Die zweite Stufe besteht aus dem
Speicher BT und benutzt diesen Basisindex BI zum Zugriff auf
den zu den vorliegenden Eingangssignalen sE zugeordneten
Basiszelleneintrag eTE. Dieser wird an die dritte Stufe
übergeben, die aus einem Ausgangssignalbildner FA, FA1 (Fig.
2, 3) besteht und daraus das Ausgangssignal sA der
Neuronenschaltung bestimmt.
Der Zuordner FE teilt den maximalen Wertebereich von jedem
Eingangssignal sE in mehrere stetig aneinander grenzende
Bereiche ein. Jeder dieser Bereiche eines Eingangssignals sE
hat ein eindeutiges Bereichskennzeichen, das den Bereich
eindeutig kennzeichnet, insbesondere eine Bereichsnummer BN
(Fig. 4), die die Bereiche fortlaufend numeriert. Das
aktuelle Bereichskennzeichen eines Eingangs E wird in einer
Ausführungsvariante aus dem aktuellen Wert des
Eingangssignals sE, zum Beispiel durch fortgesetzten
Vergleich mit den Bereichsgrenzwerten, bestimmt. Dabei wird
der Wert des Eingangssignals nacheinander solange mit den
Bereichsgrenzwerten verglichen, bis der Bereich gefunden ist,
in dem der Wert liegt. Das Bereichskennzeichen kann dabei
durch Zählen der Anzahl der Vergleiche oder bei Verzweigungen
durch direktes Bestimmen angegeben werden.
Bei einer Neuronenschaltung N werden in einer
Ausführungsvariante alle Eingänge E gleich behandelt, d. h.,
alle Eingangssignale sE werden in gleiche Bereiche
eingeteilt. Die erfindungsgemäße Neuronenschaltung N erlaubt
Varianten, die verschiedenen Eingänge E einer
Neuronenschaltung verschiedenen Bereichen, insbesondere
verschieden vielen Bereichen, zuzuordnen. Dadurch zeigen die
Eingänge E einer Neuronenschaltung unterschiedliche Wirkung.
Ein Eingang E, dem mehr Bereiche zugeordnet sind, wird
gegenüber anderen bevorzugt. Um alle Neuronenschaltungen N
gleich zu behandeln, werden neuronenweise die gleichen
Bereichseinteilungen für die jeweiligen Eingänge E gemacht.
Man kann aber auch einem erfindungsgemäßen neuronalen Netz
ein anderes Verhalten geben, indem schichtenweise oder auch
zu allen Neuronenschaltungen andere Bereichseinteilungen
vorgesehen sind.
Bei erfindungsgemäßen neuronalen Netzen, die
Neuronenschaltungen N benutzen, deren Eingangssignale in
verschiedene bzw. verschieden viele Bereiche eingeteilt
werden, ist es vorteilhaft, die Ausgänge A von
Neuronenschaltungen und Netzeingänge NE jeweils so mit den
Eingängen E von anderen Neuronenschaltungen N zu verbinden,
daß möglichst jedes Signal in den jeweils angeschlossenen
Neuronenschaltungen in andere Bereiche eingeteilt wird.
Dadurch werden in solchen Neuronenschaltungen, die dieselben
Eingangssignale sE haben, verschiedene Basisindizes BI
erzeugt und so eine bessere Verteilung der Informationen
erreicht.
Vorteilhafter bezüglich der Verarbeitungsgeschwindigkeit ist
gemäß Fig. 4 und Fig. 5 der Einsatz von Bereichstabellen BB,
BC, bei denen der aktuelle Wert des Eingangssignals sE einen
Bereichsindex angibt, der direkt auf das aktuelle
Bereichskennzeichen BN, BM in der Bereichstabelle verweist,
weil der oben geschilderte fortgesetzte Vergleich sequentiell
erfolgt und damit zeitaufwendig ist.
Bei ganzzahligen Werten der Eingangssignale sE kann der Wert
direkt als Bereichsindex benutzt werden. Die Bereichstabellen
BB, BC enthalten dann soviele Einträge, wie das jeweilige
Eingangssignal sE Werte annehmen kann. Die Zuordnung zu den
in den Bereichstabellen abgelegten Bereichskennzeichen ist
damit eindeutig. Bei nichtganzzahligen Werten der
Eingangssignale kann eine Überführung in einen Bereichsindex
über eine Multiplikation des Wertes mit einer Konstanten und
anschließendes Runden vorgenommen werden.
Der Einsatz von Bereichstabellen steigert die
Verarbeitungsgeschwindigkeit und unterstützt auch die
Einteilung von Eingangssignalen sE in verschiedene und
verschieden viele Bereiche, weil in den Bereichstabellen
lediglich Einträge geändert werden müssen.
Der zu den aktuellen Eingangssignalen sE gehörige
Basistabelleneintrag eTE kann bei beliebigen
Bereichskennzeichen durch Pattern Matching bestimmt werden.
Dieses Vorgehen ist zum einen langsam, weil eine Suche des zu
der zu den Eingangssignalen gehörigen Kombination von
Bereichskennzeichen zugeordneten Basiszelle TE erforderlich
ist, und zum anderen speicherintensiv, weil zu jeder
Basiszelle TE die zugehörige Kombination von
Bereichskennzeichen gespeichert werden muß.
Schneller und damit vorteilhafter ist es, Bereichsnummern als
Bereichskennzeichen zu verwenden, daraus in einem Zuordner
FE, Fig. 2 und 3, einen Basisindex BI zu berechnen und damit
direkt auf die zugeordnete Basiszelle TE zu verweisen, die
den jeweiligen Basiszelleneintrag eTE enthält. Die im
Speicher BT abgelegte Basistabelle besteht dann nur noch aus
den Basiszelleneinträgen eTE, und zwar je einem für jede
unterschiedliche Kombination von Eingangsignalen sE.
Es gibt zwei Varianten der Zuordner, die in Fig. 4 und Fig. 5
dargestellt sind. Fig. 4 zeigt einen Zuordner FE, bei dem die
Eingänge E auf eine Auswahlschaltung AU geführt sind, die in
Abhängigkeit von einem Taktsignal T1 eines der
Eingangssignale sE auf eine Bereichstabelle BB
weiterschaltet. Der Wert des Eingangssignals wird als Index
für den Bereichstabelleneintrag benutzt, der die diesem Wert
zugeordnete Bereichsnummer BN enthält. Die jeweils den
Eingängen zugeordneten Bereichsnummern BN werden für alle
Bereiche nacheinander einem Indexsummierer SU zugeführt, der
die Bereichsnummern aller Eingänge gewichtet addiert, indem
die Bereichsnummern mit einer dem jeweiligen Eingang
zugeordneten Konstanten multipliziert werden. Die Summe wird
als Basisindex BI an den Speicher BT weitergeleitet.
Bei der zweiten Variante eines Zuordners FE1, die in Fig. 5
dargestellt ist, ist jeder Eingang E auf eine eigene
Bereichstabelle BC geschaltet. Diese Bereichstabellen nehmen
für jeden Eingang unabhängig die Zuordnung vom Wert des
Eingangssignals zu der zugeordneten Bereichsnummer vor. Im
Gegensatz zur ersten Variante sind in diesen Bereichstabellen
jeweils die gewichteten Bereichsnummern BM abgelegt. Diese
gewichteten Bereichsnummern BM werden parallel einem
Indexsummierer SV zugeleitet, der lediglich aus einem
einfachen Addierer besteht. Die so gebildete Summe wird als
Basisindex BI1 an den Speicher BT weitergeleitet.
Die aktuellen Bereichsnummern BN und BM der einzelnen
Eingänge E sind sinnvollerweise bei O beginnend fortlaufend
numeriert.
Die Gewichte der Bereichsnummern BN, mit denen sie im
Indexsummierer SU des Zuordners FE multipliziert werden, und
die Gewichte, mit denen die bereichskennzeichnenden Nummern
multipliziert wurden, um die Bereichsnummern BM zu bilden,
und die in den Bereichstabellen BC des Zuordners FE1 abgelegt
sind, bestimmen sich aus der Anzahl der Bereichen der anderen
Eingänge nach folgendem Schema:
G₁ = 1;
Gi = Gi-1*×Zi für i = 2, . . . n
Gi = Gi-1*×Zi für i = 2, . . . n
mit:
G₁ = Gewicht eines ersten Eingangs E
Gi = Gewicht weiterer Eingänge E
Zi = Anzahl der Bereiche eines i-ten Eingangs
n = Anzahl der Eingänge einer Neuronenschaltung.
Gi = Gewicht weiterer Eingänge E
Zi = Anzahl der Bereiche eines i-ten Eingangs
n = Anzahl der Eingänge einer Neuronenschaltung.
Der Basisindex BI berechnet sich dann aus:
mit:
BI =Basisindex
BNi = Bereichsnummer eines i-ten Eingangssignals.
BI =Basisindex
BNi = Bereichsnummer eines i-ten Eingangssignals.
Die Gewichte sind Konstanten für die jeweilige
Neuronenschaltung N, M, so daß die Multiplikationen einfach
zum Beispiel durch Schieben und Addieren oder über Tabellen
realisierbar sind.
Der Basisindex BI1 berechnet sich aus:
mit:
BI1 = Basisindex
BMi = Bereichsnummer eines i-ten Eingangssignals.
BI1 = Basisindex
BMi = Bereichsnummer eines i-ten Eingangssignals.
Vorteilhafterweise wird die zweite Variante eines Zuordners
FE1 eingesetzt, weil eine Multiplikation bei der Bestimmung
des Basisindexes BI1 nicht nötig ist. Es reicht die Addition
der gewichteten Bereichsnummern im Indexsummierer SV. Das
führt i. allg. zu einer Beschleunigung der Verarbeitung.
In einer weiteren Variante eines Zuordners FE2, die in Fig. 6
dargestellt ist, wird die Struktur digitaler Maschinen
ausgenutzt und die Addition in anderer Weise vorgenommen.
Dabei besteht der Zusammenfasser SW aus Speicherzellen, die
die den jeweiligen Eingangssignalen sE zugeordneten
Dualzahlen über eine Bereichstabelle BD der Bereichsnummern
BL durch ein Taktsignal T1 gesteuert aufnehmen und die derart
gespeicherten Dualzahlen aneinandergereiht parallel als einen
Basisindex BI2 zu dem Speicher BT weiterleiten.
In dem Speicher BT sind bei dieser Variante die Basiszellen
TE (Fig. 2) derart angeordnet, daß den Eingängen E der
Neuronenschaltung N Gewichte Gi so zugeordnet sind, daß diese
Zweierpotenzen derart entsprechen, daß, falls das Gewicht
eines Eingangs nach obigen Schema keine Zweier-Potenz ergeben
würde, diesem die nächst höher Zweier-Potenz zugeordnet ist.
Diese Zuordnung wird vor Inbetriebnahme eines neuronalen
Netzes NN vorgenommen.
In analoger Weise sind in einer weiteren Variante eines
Zuordners FE3, die in Fig. 7 dargestellt ist, in den
Bereichstabellen BE ungewichtete Bereichsnummern BK abgelegt,
die einem Zusammenfasser Sx zugeführt werden. Dieser reiht
die den jeweiligen Eingangssignalen sE zugeordneten die
Bereichsnummer BK bildenden Dualzahlen zu einem Basisindex
BI3 aneinander und leitet diesen Basisindex an den Speicher
BT (Fig. 2) weiter. In diesem Speicher sind die Basiszellen
TE wie für einen Zuordner FE2 angeordnet.
Bei den Zuordnern FE2 (Fig. 6) und FE3 (Fig. 7) ergibt sich
eine vorteilhafte Wirkung dadurch, daß auf addierende
Elemente in den Indexsummierern verzichtet werden kann und
daß die Verkettung durch eine Aneinanderreihung von
Dualzahlen in vergleichsweise kurzer Zeit erfolgt. Dadurch
wird die Verarbeitungsleistung gesteigert.
Nach einer gemäß Fig. 2 oder 3 in der ersten Stufe
vorgenommenen Bestimmung des Basisindexes BI beschränkt sich
die zweite Stufe im Prinzip auf einen indizierten Zugriff auf
den Basiszelleneintrag eTE. Dieser aus einem oder mehreren
Einträgen bestehende Basiszelleneintrag eTE wird wie in Fig.
2 und 3 gezeigt an einen Ausgangssignalbildner FA
weitergeleitet, der daraus das Ausgangssignal sA bestimmt.
Dazu gibt es mehrere Varianten von Ausgangssignalbildnern,
die entscheidenden Einfluß auf die Verhaltensweise von
Neuronenschaltungen N und des neuronalen Netzes NN haben.
Bei einem Basiszelleneintrag eTE, der aus nur einem Eintrag
besteht, ist der einfachste Fall der, daß der
Basiszelleneintrag eTE in einem Ausgangssignalbildner FA
entweder mit einem konstanten Faktor multipliziert wird oder
direkt zum Ausgang A geführt ist. Der Ausgangssignalbildner
ist im letzten Fall optional.
Andererseits kann gemäß Fig. 3 der Basiszelleneintrag eTE bei
einer besonderen Ausführung eines Ausgangssignalbildners FA1
mit einem in einem Rückkoppelspeicher RSP gespeicherten Wert
des Ausgangssignals sA derart verrechnet werden, daß ein
Addierer den Basiszelleneintrag eTE auf diesen gespeicherten
Wert eines Ausgangssignals addiert und dieses Resultat an den
Rückkoppelspeicher weiterleitet, der dieses mit einem
Taktsignal T2 speichert und zum Ausgang A weiterleitet.
Dadurch wird im neuronalen Netz die Vorgeschichte vor dem
aktuell angelegten Eingangsmuster berücksichtigt.
In einer Erweiterung dieser Anordnung, die in Fig. 3
dargestellt ist, wird mit dem Taktsignal T2 in einem
Indexregister BR der Basisindex BI, der jeweils aus den
Eingangssignalen sE der betreffenden Neuronenschaltung
bestimmt wird, zwischengespeichert und der
zwischengespeicherte Basisindex BS an den Speicher BT und an
einen Indexvergleicher VG weitergeleitet. An diesen
Indexvergleicher ist ebenfalls der Basisindex BI
herangeführt. Der Ausgang des Indexvergleichers wird einem
Taktgatter TG zugeführt. Dieses Taktgatter leitet ein
Taktsignal T2 nur dann zu einem Rückkoppelspeicher RSP
weiter, wenn der Indexvergleicher VG anzeigt, daß der sich
aufgrund der aktuellen Eingangssignale sE ergebende
Basisindex BI von dem gespeicherten Basisindex BS abweicht.
Der Ausgang des Taktgatters ist der Übernahmetakt des
Rückkoppelspeichers RSP, dessen Eingang mit dem Ausgang des
Ausgangssignalbildners FA1 verbunden ist. Der Ausgang des
Rückkoppelspeichers RSP ist mit einem Eingang des
Ausgangssignalbildners und dem Ausgang A der
Neuronenschaltung verbunden.
Besteht ein Basiszelleneintrag eTE aus mehreren Einträgen,
sind komplexere Varianten von Ausgangssignalbildnern FA1 und
des Rückkoppelspeichers RSP möglich. Dabei werden in einer
Neuronenschaltung in dem Rückkoppelspeicher RSP mehreren
vergangene Ausgangssignale sA zwischengespeichert und an den
Ausgangssignalbildner FA1 geleitet. In dem
Ausgangssignalbildner FA1 werden die einzelnen Einträge des
aktuellen Basiszelleneintrags eTE mit Gewichten multipliziert
und einem Addierer zugeführt, dessen Ausgang mit dem
Rückkoppelspeicher verbunden ist.
Desweiteren ist denkbar, ein oder mehrere Eingangssignale sE
einem Ausgangssignalbildner FA zuzuführen und in die
Bestimmung des Ausgangssignals sA einzubeziehen, wobei zum
Beispiel ein Eintrag des aktuellen Basiszelleneintrags eTE
den Anteil des/der Eingangssignals/e sE am Ausgangssignal
angibt.
Bei einer weiteren Variante zu Fig. 1 eines
erfindungsgemäßen neuronalen Netzes NN ist es sinnvoll, aber
nicht zwingend, in mindestens einer Neuronenschaltung M der
Ausgangsschicht SA eine Bestimmung des Netzausgangssignals
sNA vorzunehmen, die sich von denen der Neuronenschaltungen N
unterscheidet.
Im einfachsten Fall besteht eine Neuronenschaltung M aus
einem Summierer, auf dessen Eingänge die Eingangssignale sE1
geschaltet sind. Das setzt für einen sinnvollen Betrieb eines
neuronalen Netzes mit mehreren Netzausgängen NA voraus, daß
die Eingänge E1 solcher Neuronenschaltungen M mit
verschiedenen Ausgängen A von Neuronenschaltungen N verbunden
sind.
Als weitergehende Maßnahme kann in den Neuronenschaltungen M
in Gewichtungsschaltungen GK eine Multiplikation der
Eingangssignale sE1 erfolgen, bevor sie zu einem Summierer ST
weitergeleitet werden, wie Fig. 8 zeigt. Der Ausgang dieses
Summierers ST wird zu dem jeweiligen Netzausgang NA geführt.
Die Gewichte der Eingangssignale sind sinnvollerweise
verschieden. Bei verschiedenen Gewichten in den
Gewichtungsschaltungen GK sind auch mehrere
Neuronenschaltungen M mit denselben Ausgangssignalen sA von
Neuronenschaltungen N (Fig. 1) verbindbar und zeigen trotzdem
unterschiedliches Verhalten.
Die Gewichte, mit denen Eingangssignale sE1 in den
Gewichtungsschaltungen GK multipliziert werden, können fest
sein oder in der Lernphase ermittelt werden. Dabei ist es
sinnvoll, die Gewichte zu Beginn der Lernphase zufällig
festzulegen.
Einem erfindungsgemäßen neuronalen Netz NN werden in einer
Lernphase die Zuordnungen von Lernmustern zu
Lerneingangsmustern angelernt. Bei erfindungsgemäßen neuronalen
Netzen ist der Einsatz deterministischer Verfahren zu Zeit
nicht bekannt. Deshalb erfolgt das Lernen nach einem Trial-
and-Error-Verfahren. Das Lernen kann erfolgen, indem in den
Basiszellen TE (Fig. 2, 3) der Neuronenschaltungen N die
Basiszelleneinträge eTE einem Lernerfolg entsprechend
angepaßt werden. Das Lernen erfolgt dadurch, daß wiederholt
Lerneingangsmuster angelegt werden, die sich dazu ergebenden
Ausgangsmuster wie in der Auswertphase bestimmt und mit den
Lernmustern verglichen werden. Bei Abweichungen werden im
Prinzip die Basiszelleneinträge eTE solange modifiziert, bis
die Abweichung sAB (Fig. 9) einen Grenzwert sGW
unterschreitet.
Im Folgenden wird anhand von Fig. 9 das Lernen eines
erfindungsgemäßen neuronalen Netzes näher beschrieben. Dabei
werden im Prinzip die Neuronenschaltungen zufällig
ausgewählt, deren sich aus dem Eingangsmuster aktuell
ergebender Basiszelleneintrag eTE (Fig. 2, 3) deterministisch
oder auch zufällig geändert wird, um die Abweichung zu
reduzieren. Dazu wird als erster Schritt sinnvollerweise die
Reihenfolge, in der die Neuronenschaltungen N modifiziert
werden sollen, festgelegt, damit nicht überprüft werden muß,
welche Neuronenschaltungen schon modifiziert wurden. Eine
Berücksichtigung evtl. vorhandener Schichten ist angebracht,
wobei die Modifikationen, zum Beispiel in der Ausgangsschicht
beginnend, wie eine Wellenfront zur Eingangsschicht und evtl.
zurück usw. vorgenommen werden.
Dazu werden Netzausgänge NA auf einen ersten Vergleicher V1
geführt, der die Netzausgangssignale sNA mit einem Lernmuster
lsNA vergleicht. Das Fehlersignal sF dieses Vergleichs wird
einem Abweichungsbildner AB zugeführt, an den weitere
Fehlersignale sF1 herangeführt sind. Der Abweichungsbildner
AB bestimmt aus den herangeführten Fehlersignalen ein
Abweichungssignal sAB. Dazu besteht eine Variante eines
Abweichungsbildners aus einer Schaltung, die das
betragsmäßige Maximum der Fehlersignale sF, sF1 bestimmt, und
leitet diese zu einem zweiten Vergleicher V2. Eine weitere
Variante summiert die Beträge aller Fehlersignale und leitet
die Summe zu einem zweiten Vergleicher V2 weiter.
Ein zweiter Vergleicher V2 vergleicht eine von einem
Abweichungsbildner AB kommende Abweichung sAB mit einem
Grenzwert sGW, der an diesen Vergleicher von einer
Grenzwertvorgabe GM herangeführt ist. Das Vergleichsergebnis
sVG wird an eine Zustandssteuerung ZST geleitet, die in
Abhängigkeit von diesem Vergleichsergebnis den Ablauf im
neuronalen Netz steuert.
Dazu leitet die Zustandssteuerung ZST einen Modifikationstakt
MT1 zeitlich koordiniert mit Taktsignalen T1, T2 zu
mindestens einer Neuronenschaltung N, die insbesondere nach
einem zufällig arbeitenden Verfahren ausgewählt wird. Diese
Neuronenschaltung ist desweiteren mit einem
Modifikationsgenerator MG verbunden, der zeitlich koordiniert
zum Modifikationstakt MT1 eine Basistabellenmodifikation BTM
in der aktuellen Basiszelle TE (Fig. 2, 3) dieser
Neuronenschaltung vornimmt.
Nachdem die Modifikation der Basistabelle in mindestens einer
Neuronenschaltung erfolgt ist, wird das neuronale Netz bei
gleichem Lerneingangsmuster neu ausgewertet. Abhängig von dem
Vergleichsergebnis sVG wird über einen weiteren
Modifikationstakt MT2 eine weitere Neuronenschaltung N
ausgewählt und deren aktuelle Basiszelle TE wie oben
modifiziert und anschließend das neuronale Netz erneut
ausgewertet, wenn das Vergleichsergebnis anzeigt, daß die
aktuelle Abweichung sAB den Grenzwert sGW nicht
unterschreitet. Wenn das Vergleichsergebnis anzeigt, daß der
Grenzwert unterschritten ist, veranlaßt die
Zustandssteuerung, daß nach dem gleichen Schema solange ein
weiteres Lerneingangsmuster und zeitlich koordiniert ein
Lernmuster an das neuronale Netz angelegt werden, bis eine
übergeordnete Instanz die Lernphase beendet.
Die Zustandssteuerung speichert zur Steuerung des Lernablaufs
das Vergleichsergebnis sVG zwischen, bevor das neuronale Netz
nach einer Basistabellenmodifikation erneut ausgewertet wird.
Dieses zwischengespeicherte Vergleichsergebnis wird mit dem
neuen aus der Auswertung resultierenden Vergleichsergebnis
verglichen. Stellt die Zustandssteuerung dabei fest, daß die
Abweichung größer geworden ist, werden der
Modifikationsgenerator und der entsprechende
Modifikationstakt so gesteuert, daß die vorgenommene
Modifikation zurückgenommen wird, bevor zum nächsten
Lernschritt übergegangen wird.
In einer Ausführungsvariante eines neuronalen Netzes NN
aktiviert eine Zustandssteuerung ZST über Modifikationstakt
MT1, MT2 die Modifikation von mehreren Neuronenschaltungen N
gleichzeitig, wobei der Modifikationsgenerator MG über
mehrere Basistabellenmodifikationen BTM, BTM2 dazu zeitlich
koordiniert mehrere Modifikationen der jeweiligen aktuellen
Basiszellen vornimmt, bevor die Zustandssteuerung die
Modifikation in einer oder mehreren anderen
Neuronenschaltungen über weitere Modifikationstakte
aktiviert.
Man kann, sollten die Abweichungen gleichbleiben oder größer
werden, eine Änderung des Basiszelleneintrags eTE in
entgegengesetzter Richtung versuchen oder gleich zur
Modifikation der nächsten Neuronenschaltung N übergehen.
Der zuvor geschilderte Ablauf für das Lernen kann dahingehend
erweitert werden, daß der Betrag einer
Basistabellenmodifikation BTM, BTM2 mit zunehmender Anzahl
Wiederholungen aller Musterkombinationen und/oder zunehmender
Anzahl Versuche bei einer Musterkombination durch einen
Basistabellenmodifikationstakt BTT von der Zustandssteuerung
gesteuert verkleinert wird.
Damit der Lernprozeß nicht in einem lokalen
Abweichungsminimum hängen bleibt, ist es sinnvoll, den Wert
einer Basistabellenmodifikation BTM, BTM1 zufällig aus einem
Wertebereich auszuwählen, dessen Grenzen gegebenenfalls wie
oben verkleinert werden.
Desweiteren kann die Richtung der Basistabellenmodifikationen
von dem Vorzeichen des Vergleichsergebnis sVG abhängig
gemacht werden, um den Lernvorgang zu beschleunigen. Dazu muß
an den Modifikationsgenerator das zugehörige
Vergleichsergebnis sVG herangeführt werden.
Eine Erweiterung des Ablaufs stellt die Verkleinerung des
Grenzwertes sGW durch die Grenzwertvorgabe GM dar, die durch
die Zustandssteuerung ZST über einen
Grenzwertmodifikationstakt GMT jedesmal dann ausgelöst wird,
wenn alle Musterkombinationen vollständig durchlaufen wurden.
Außerdem ist es denkbar, in einer erweiterten
Neuronenschaltung N gemäß Fig. 10 aus verschiedenen
Eingangssignalen sE und/oder Ausgangssignalen sA in einem
Zwischenwertbildner ZWB Zwischenwerte ZW zu berechnen und
diese wie weitere Eingangssignale zu behandeln, d. h., diese
ebenfalls in Bereiche einzuteilen, deren aktuelles
Bereichskennzeichen in die Bestimmung des Basisindizes BI der
jeweiligen Neuronenschaltung N eingeht. Die Zwischenwerte ZW
werden im Zwischenwertbildner ZWB sinnvollerweise durch
einfache Operationen wie Addition oder Subtraktion gebildet.
Dadurch sind recht viele verschiedene Verhaltensweisen der
Neuronenschaltungen N und damit auch des gesamten neuronalen
Netzes NN zu erzeugen.
Bei der Realisierung eines neuronalen Netzes NN ist es angebracht, eine in
Fig. 11 gezeigte Neuronenschaltung N2, die
prinzipiell den gleichen Aufbau wie die oben beschriebenen
Neuronenschaltungen N hat, für die Bestimmung der
Ausgangssignale sA mehrerer verschiedener Neuronenschaltungen
N zu benutzen. Dazu sind die Netzeingänge NE und Netzausgänge
NA mit dem Zwischenspeicher ZS verbunden. Desweiteren ist die
Neuronenschaltung N2 mit ihren Eingängen E2 und dem Ausgang
A2 mit dem Zwischenspeicher ZS verbunden. Eine
Ablaufsteuerung AST steuert über Steuersignale Z2 den
Zwischenspeicher ZS so, daß das Ausgangssignal sA2 der
Neuronenschaltung N2 derart im Zwischenspeicher ZS ablegt
und/oder an Netzausgangssignale NA weiterleitet und die
zwischengespeicherten Ausgangssignale sA2 zeitlich
koordiniert zwischengespeichert und zusammen mit den
Netzeingangssignalen sNE der Neuronenschaltung N2 als
Eingangssignale sE2 zugeführt werden. Mittels Steuersignalen
Z1 wird aus einem Basistabellenspeicher SBT eine Basistabelle
BT2 auswählt und an die Neuronenschaltung N2 herangeführt.
Die Steuersignale Z1 und Z2 und Taktsignale T3 sind derart
zeitlich koordiniert, daß die aus dem Zwischenspeicher ZS an
Eingangssignale sE2 geleiteten Signale derart auswählt und
das resultierende Ausgangssignal sA2 derart
zwischengespeichert und die Basistabelle BT2 aus dem
Basistabellenspeicher SBT derart ausgewählt und an die
Neuronenschaltung N2 herangeführt werden, daß sie jeweils den
Eingangssignalen sE und dem Ausgangssignal sA, sNA und dem
Speicher BT einer einzigen Neuronenschaltung N entsprechen.
Die Ablaufsteuerung AST steuert in aufeinanderfolgenden
Ablaufschritten den Zwischenspeicher und die
Neuronenschaltung N2 so, daß nacheinander verschiedene
Neuronenschaltungen N im Zeitmultiplex nachgebildet werden.
Das Gleiche gilt auch für eventuelle neuronenspezifische
Bereichstabellen BB, BC, BD, BE (Fig. 4-7). Die
Ablaufsteuerung AST ist der Zustandssteuerung ZST
übergeordnet.
Erfindungsgemäße neuronale Netze sind ohne weiteres in
Software simulierbar. Bei einer Software-Simulation
entsprechen die Eingangssignale sE einer Neuronenschaltung N
Parametern, die an eine Prozedur übergeben werden, und die
Ausgangssignale sA Parametern, die von einer Prozedur
zurückgeliefert werden. Die Basiszellen TE der jeweiligen
Neuronen liegen in einem globalen Speicher und werden durch
einen in Software implementierten Kontrollmechanismus ebenfalls
an die die Neuronenschaltung nachbildende Prozedur übergeben.
Vorzugsweise sind die Bereichstabellen BB, BC, BD oder BE
(Fig. 4-7) der Prozedur zugeordnet und werden für die
Nachbildung aller Neuronenschaltungen benutzt.
Die Zustandssteuerung ZST (Fig. 9) für die Steuerung der
Lernphase und die Ablaufsteuerung AST (Fig. 11) zur Nachbildung
mehrerer Neuronenschaltungen auf einer Implementation werden
ebenfalls durch Kontrollmechanismen durch Software nachgebildet.
Es ist zweckmäßig, eine Software-Simulation eines neuronalen
Netzes dazu einzusetzen, die in den neuronenspezifischen
Speichern abgelegten Informationen zu bestimmen und in einem
weiteren Schritt in eine Hardware-Realisierung des
erfindungsgemäßen neuronalen Netzes einzuspeisen. Dieses Lernen
fällt im Betrieb eines neuronalen Netzes gewöhnlich nur einmalig
an. Es hat zwar einen wesentlich höheren Zeitbedarf, läßt sich
jedoch einfacher durch Kontrollmechanismen in Software
beschreiben als in Hardware realisieren. Dadurch erreicht man,
daß die Hardware-Realisierung den Teil, der für das Lernen
erforderlich wäre und der zudem relativ komplex ausfallen würde,
nicht enthalten muß und folglich einfach zu realisieren ist.
Dadurch unbeeinflußt wird jedoch die Auswertung und damit der
Einsatz des neuronalen Netzes mit hoher
Verarbeitungsgeschwindigkeit vorgenommen.
Erfindungsgemäße neuronale Netze gestatten eine einfache
Realisierung sowohl in Hardware als auch in Software, die
sich durch hohe Geschwindigkeit sowohl in der Lern- als auch
in der Auswertphase auszeichnen. Sie gestatten vielfältige
Änderungen des Verhaltens, die einfach vorgenommen werden
können, ohne das Lernverfahren ändern zu müssen.
Claims (32)
1. Schaltungsanordnung einer Neuronenschaltung (N; M) eines
neuronalen Netzes (NN), welche einen in einer Lernphase
mit einem Speicherinhalt (eTE) zu ladenden Speicher (BT)
enthält und jeweils mehrere Eingängen (E, E1) und jeweils
einen Ausgang (A, NA) aufweist, wobei mit den
ladungsgemäßen Speicherinhalten (eTE) die jeweiligen
Eingangsignale (sE, SE1) parametrisiert und zu vorgegebenen
Taktzeiten (T1) verknüpft werden, wodurch Ausgangssignale
(sA, sNA) gebildet werden, wobei die ladbaren Speicher
(BT) Digitalspeicher, bestehend aus einer Mehrzahl von
einzelnen Basiszellen (TE), und die Ausgangssignale (sA,
sNA) digitale Signale sind und die Verknüpfung dieser
Digitalsignale und der Speicherinhalte (eTE) mittels eines
Digitalprozessors erfolgt,
dadurch gekennzeichnet, daß zu jedem Eingang (E, E1) ein
maximaler Wertebereich seines Eingangssignals vorgegeben
ist, der in stetig aneinander anschließende einzelne
digitale Wertebereiche eingeteilt ist, die in einem
Zuordner (FE) repräsentiert sind und zu denen jeweils in
dem Zuordner (FE) ein digitales Bereichskennzeichen
eindeutig zugeordnet ist, und daß in jeder Taktzeit (T1)
jedem Eingangssignal (sE, SE1) der ihm jeweils zugehörige
Wertebereich und daraus das diesem zugehörige
Bereichskennzeichen zugeordnet wird und alle zu den
einzelnen Eingangssignalen (sE, SE1) so ermittelten
Bereichskennzeichen digitale Bereichsnummern sind, die mit
Gewichten multipliziert und dann addiert und so zu einem
Basisindex (BI) verknüpft werden, mittels dessen in dem
Speicher (BT) eine Basiszelle (TE) ausgewählt wird, aus
der ein dem Basisindex (BI) eindeutig zugeordneter
Basiszelleneintrag (eTE) entnommen und dem Ausgang (A,
NA) zugeführt wird.
2. Schaltungsanordnung eines neuronalen Netzes (NN)
bestehend aus mehreren Neuronenschaltungen (N, M) gemäß
Patentanspruch 1, wobei von mehreren Netzeingängen (NE)
Netzeingangssignale (sNE) auf jeweils mindestens einen der
Eingänge (E, E1) einer Neuronenschaltung (N) geführt sind,
so ausgelegt, daß
die Basiszelleneinträge (eTE) als Lernparameter in einer
Lernphase abhängig von der durch das neuronale Netz zu
lernenden Information modifiziert werden, während die
Gewichte, mit denen die digitalen Bereichsnummern zur
Erzeugung des Basisindex (BI) multipliziert werden, fest
vorgegeben sind und auch in der Lenkphase unverändert
bleiben.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß in dem Zuordner (FE) in einer
Bereichstabelle (BB, BC) Bereichsnummern (BN, BM) als die
Bereichskennzeichen so gespeichert sind, daß deren
Relativadressen jeweils einzelnen digitalen Werten des
Eingangssignales (sE, sE1) zugeordnet sind und daß in einer
Taktzeit (T1) jeweils für ein Eingangssignal (sE, sE1) mit
dessen digitalem Wert ein Bereichstabellenzugriff zur
Entnahme der Bereichsnummer (BN, BM) erfolgt.
4. Schaltungsanordnung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß eine jeweils auszuwählende
Basiszelle (TE) durch einen Basisindex (BI) in der Form
bestimmt ist, daß dieser derart aus den den Eingangssignalen
(SE, SE1) zugeordneten Bereichsnummern (BN, BM) gebildet ist,
daß diese jeweils mit einem ihnen einzeln zugeordneten
Gewicht multipliziert und dann gewichtet zueinander addiert
werden.
5. Schaltungsanordnung nach Anspruch 4, dadurch
gekennzeichnet, daß die Gewichte der Bereichsnummern (BN, BM)
Zweier-Potenzen entsprechen, so daß die Addition der
Bereichsnummern (BN, BM) durch ein Verketten der den
Bereichsnummern (BN, BM) entsprechenden Dualzahlen erfolgt,
wobei keine Überträge entstehen.
6. Schaltungsanordnung nach einem der Ansprüche 3 bis 5,
dadurch gekennzeichnet, daß jedem Eingang (E, E1) einer
Neuronenschaltung (N, M) eine Bereichstabelle (BC) zur
Bestimmung der Bereichsnummer (BM) für das jeweilige
Eingangssignal (sE) zugeordnet ist, die die gewichtete
Bereichsnummer (BM) enthält, und daß der Basisindex (BI)
durch eine einfache Addition dieser Bereichsnummern (BM)
berechnet ist.
7. Schaltungsanordnung nach einem der Ansprüche 1 bis 6,
dadurch gekennzeichnet, daß mindestens zwei der
Neuronenschaltungen (N, M) dieselben Bereichsgrenzwerte
zugeordnet sind.
8. Schaltungsanordnung nach einem der Ansprüche 3 bis 7,
dadurch gekennzeichnet, daß mindestens zwei der
Neuronenschaltungen (N, M) dieselbe Bereichstabelle (BB, BC)
zugeordnet ist.
9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8,
dadurch gekennzeichnet, daß die Basiszellen (TE) in einem
Speicher (BT) einer Neuronenschaltung (N, M) aus mehreren
Basiszelleneinträgen (eTE) bestehen, die als Parameter in eine
Berechnung des Ausgangssignals (sA, sNA) mittels einer
Ausgangsfunktion einzusetzen sind.
10. Schaltungsanordnung nach einem der Ansprüche 1 bis 9,
dadurch gekennzeichnet, daß in einem Ausgangssignalbildner
(FA) ein Multiplizierer enthalten ist, der zur Bildung der
Ausgangsfunktion den Basiszelleneintrag (eTE) mit einem
vorgegebenen Faktor multipliziert.
11. Schaltungsanordnung nach einem der Ansprüche 1 bis 9,
dadurch gekennzeichnet, daß abhängig von Taktsignalen
(T2) jeweils ein bestimmter Anteil eines Basiszelleneintrags
(eTE) auf das jeweils vorher gegebene Ausgangssignal (sA,
sNA) addiert wird und so ein aktuelles Ausgangssignal (sA,
sNA) berechnet wird.
12. Schaltungsanordnung nach einem der Ansprüche 1 bis 11,
dadurch gekennzeichnet, daß in einer Neuronenschaltung (N, M)
mehrere zeitlich unterschiedlich zurückliegende
Ausgangssignalwerte (sA, sNA) gespeichert sind und das
aktuelle Ausgangssignal (sA, sNA) gemäß den den
Eingangssignalen (SE, sE1) zugeordneten Basiszelleneinträgen
(eTE) aus einem oder mehreren der genannten gespeicherten
Werte des Ausgangssignals (sA, sNA) durch einen Addierer
gebildet wird, wobei der oder die Basiszelleneinträge (eTE)
zur Gewichtung der genannten Werte dienen.
13. Schaltungsanordnung nach einem der Ansprüche 1 bis 12,
dadurch gekennzeichnet, daß ein oder mehrere Eingangssignale
(SE, sE1) mit mindestens einem Basiszelleneintrag (eTE)
parametrisiert modifiziert zueinander addiert das
Ausgangssignal (sA, sNA) bilden.
14. Schaltungsanordnung nach einem der Ansprüche 1 bis 13,
dadurch gekennzeichnet, daß von einem Indexvergleicher (VG)
nur immer dann ein Signal generiert wird, wenn die
Eingangssignale (sE, sE1) sich derart verändert haben, daß
der Basisindex (BI) auf eine andere Basiszelle (TE) als im
vorhergehenden Takt (T2) zeigt, mit dessen Auftreten das neu
gebildete Ausgangssignal (sA, sNA) zum Ausgang (A, NA)
geschaltet wird.
15. Schaltungsanordnung nach einem der Ansprüche 1 bis 14,
dadurch gekennzeichnet, daß bei mindestens einer
Neuronenschaltung (N, M) der Ausgang (A) auf einen der
Eingänge derselben Neuronenschaltung (N, M) zurückgekoppelt
ist.
16. Schaltungsanordnung nach einem der Ansprüche 1 bis 15,
dadurch gekennzeichnet, daß bei mindestens einer
Neuronenschaltung (N, M) durch gleiche Bereichsgrenzwerte zu
gleichen Eingangssignalen (sE, sE1) für alle Eingänge (E, E1)
dieselbe Bereichsnummer (BN, BM) bestimmt ist.
17. Schaltungsanordnung nach einem der Ansprüche 1 bis 15,
dadurch gekennzeichnet, daß bei mindestens einer
Neuronenschaltung (N, M) mindestens zwei Eingängen (E, E1)
derart verschiedene Bereichsgrenzwerte zugeordnet sind, daß
gleiche Eingangssignale (sE, sE1) an den zugeordneten
Eingängen mindestens in einem Bereich verschiedene
Bereichsnummern ergeben.
18. Schaltungsanordnung nach Anspruch 17, dadurch
gekennzeichnet, daß bei mindestens einer Neuronenschaltung
(N, M) mindestens zwei Eingängen (E, E1) verschieden viele
Bereiche zugeordnet sind.
19. Schaltungsanordnung nach einem der Ansprüche 1 bis 18,
dadurch gekennzeichnet, daß bei mindestens einer
Neuronenschaltung (N, M) aus Eingangssignalen (sE, sE1)
und/oder Ausgangssignalen (sA) und/oder einem inneren Zustand
der Neuronenschaltung in einem Zwischenwertbildner (ZWB)
Zwischenwerte (ZW) gebildet sind, deren Wertebereich in
mindestens einem Fall in Bereiche unterteilt und denen
zugeordnet Bereichsnummern abgespeichert sind, aus denen die
dem jeweiligen Zwischenwert zugeordnete Bereichsnummer in die
Bestimmung des Basisindexes (BI) eingeht, wobei diese
Zwischenwerte insbesondere durch Differenzbildung zweier oder
mehrerer Eingangssignale (SE, sE1) oder aus dem aktuellen und
vergangenen Eingangssignalen (sE, sE1) oder Ausgangssignalen
(sA, sNA) bestimmt sind.
20. Schaltungsanordnung nach einem der Ansprüche 17 bis 19,
dadurch gekennzeichnet, daß bei mindestens zwei
Neuronenschaltungen (N, M), die neuronenweise gleiche, aber
für verschiedene Eingänge (E, E1) verschiedene
Bereichsgrenzwerte haben, neuronenweise gleiche Eingänge (E,
E1) mit den Ausgängen (A, NA) verschiedener
Neuronenschaltungen (N, M) oder Netzeingängen (NE) verbunden
sind.
21. Schaltungsanordnung nach einem der Ansprüche 1 bis 20,
dadurch gekennzeichnet, daß jeweils mindestens ein
Netzausgangssignal (sNA) durch einfache Berechnung,
insbesondere Addition, aus den Ausgangssignalen (sA) von
mindestens zwei Neuronenschaltungen (N) berechnet wird.
22. Schaltungsanordnung nach einem der Ansprüche 2 bis 21,
dadurch gekennzeichnet, daß in der Lernphase jeweils in
einem Lernschritt in das neuronale Netz (NN) ein jeweils
vorgegebenes Lerneingangsmuster von Netzeingangssignalen
(sNE) eingespeist ist und das daraus resultierende
Netzausgangssignal (sNA) einem ersten Vergleich (V1) mit
einem zugehörigen Lernmuster (lsNA) unterzogen ist und das
daraus resultierende Fehlersignal (sF) mit weiteren
Fehlersignalen (sF1) der anderen ersten Vergleicher (V1) der
weiteren Netzausgangssignale (sNA) in einem
Abweichungsbildner (AB) zu einer Abweichung (sAB) verknüpft
ist, die in einem zweiten Vergleicher (V2) mit einem jeweils
vorgegeben Grenzwert (sGW) verglichen ist, und daß ein
Modifikationsgenerator (MG) von dem Vergleichsergebnis (sVG)
abhängig den Basiszelleneintrag (eTE), der durch den
aktuellen Basisindex (BI) ausgewählt ist, in mindestens einer
Neuronenschaltung (N, M) um eine Basistabellenmodifikation
(BTM) modifiziert.
23. Schaltungsanordnung nach Anspruch 22, dadurch
gekennzeichnet, daß eine Zustandssteuerung (ZST) zufällig
eine Neuronenschaltung (N, M) auswählt, dessen
Basiszelleneintrag (eTE) dann, wenn das Vergleichsergebnis
(sVG) anzeigt, daß die Abweichung größer als der Grenzwert
(sGW) ist, durch einen Modifikationsgenerator (MG) geändert
wird, insbesondere in eine Richtung, die das Vorzeichen der
Abweichung (sAB) direkt bestimmt.
24. Schaltungsanordnung nach einem der Ansprüche 22 oder 23,
dadurch gekennzeichnet, daß eine Zustandssteuerung (ZST) in
einer zufälligen Reihenfolge in aufeinander folgenden
Lernschritten Neuronenschaltungen (N, M) auswählt, deren
aktuelle Basiszelleneinträge (eTE) durch einen
Modifikationsgenerator (MG) modifiziert werden, bis die
Abweichung (sAB) kleiner als der Grenzwert (sGW) ist, wobei
bei neuronalen Netzen (NN), die in Schichten (ES, IS, AS)
gegliedert sind, indem die die Ausgänge (A) der Neuronen (N)
einer Schicht (ES, IS) jeweils mit den Eingängen der
nachfolgenden Schicht (IS, AS) verbunden sind, vorzugsweise
in aufeinander folgenden Lernschritten alle
Neuronenschaltungen (N, M) einer Schicht (ES, IS, AS)
ausgewählt werden, bevor in weiteren Lernschritten die einer
anderen Schicht ausgewählt werden.
25. Schaltungsanordnung nach einem der Ansprüche 23 bis 24,
dadurch gekennzeichnet, daß eine Grenzwertvorgabe (GM) den
Grenzwert (sGW), bei dem das Lernen einer Kombination von
Lerneingangsmustern der Netzeingangssignalen (sNE) und
Lernmustern (lsNA) abgebrochen wird, mit zunehmender Anzahl
durchgeführter Lernschritte verkleinert.
26. Schaltungsanordnung nach einem der Ansprüche 22 bis 25,
dadurch gekennzeichnet, daß ein Modifikationsgenerator (MG)
mit zunehmender Anzahl der durchgeführten Lernschritte die
Größe der Basistabellenmodifikationen (BTM) in den
Basiszelleneinträgen (eTE) der Neuronenschaltungen (N, M)
verkleinert.
27. Schaltungsanordnung nach einem der Ansprüche 22 bis 26,
dadurch gekennzeichnet, daß der Modifikationsgenerator (MG)
die Größe der Basistabellenmodifikation (BTM) nach einem
stochastischen Verfahren aus einem vorgegebenen Wertebereich
auswählt.
28. Schaltungsanordnung nach einem der Ansprüche 22 bis 26,
dadurch gekennzeichnet, daß der Modifikationsgenerator (MG)
die Größe der Basistabellenmodifikation (BTM), ausgehend von
einem Startwert für deren Betrag, mit der Anzahl der
durchgeführten Lernschritte für dieselbe Kombination von
Lerneingangsmuster und Lernmuster (lsNA) verkleinert.
29. Schaltungsanordnung nach einem der Ansprüche 22 bis 28,
dadurch gekennzeichnet, daß eine Zustandssteuerung (ZST) nach
einer festen Anzahl durchgeführter Lernschritte das Lernen
einer Kombination von Lerneingangsmuster und Lernmuster
(lsNA) abbricht, auch wenn die Abweichung (sAB) den vorgegebenen
Grenzwert (sGW) nicht unterschreitet.
30. Schaltungsanordnung nach einem der Ansprüche 1 bis 29,
dadurch gekennzeichnet, daß in einer Neuronenschaltung (M) die
Eingangssignale (sE1) durch eine Gewichtungsschaltung (GK) mit
einem Gewicht multipliziert und so gewichtet in einem Summierer
(ST) addiert werden, dessen Ausgang auf einen Netzausgang (NA)
geschaltet ist, wobei insbesondere die den Eingängen (E1) dieser
Neuronenschaltung (M) zugeordneten Gewichte von Eingang zu
Eingang und/oder von Neuronenschaltung (M) zu Neuronenschaltung
(M) verschieden sind.
31. Schaltungsanordnung nach einem der Ansprüche 1 bis 30,
dadurch gekennzeichnet, daß Netzeingänge (NE) und Netzausgänge
(NA) mit einem Zwischenspeicher (ZS) verbunden sind und daß eine
Neuronenschaltung (N2) mit einem Basistabellenspeicher (SBT)
und mit Eingängen (E2) und dem Ausgang (A2) mit dem
Zwischenspeicher (ZS) verbunden ist, wobei eine Ablaufsteuerung
(AST) im Zeitmultiplex zeitlich koordiniert über Steuersignale
(z1) aus dem Basistabellenspeicher (SBT) eine Basistabelle (BT2)
auswählt und an die Neuronenschaltung (N2) heranführt und über
Steuersignale (Z2) aus dem Zwischenspeicher (ZS) Eingangssignale
(sE2) derart auswählt und das Ausgangssignal (sA2) der
Neuronenschaltung (N2) derart im Zwischenspeicher (ZS) ablegt
und/oder an Netzausgangssignale (NA) weiterleitet, daß sie
jeweils dem Speicher (BT), den Eingangssignalen (sE) und dem
Ausgangssignale (sA, sNA) verschiedener Neuronenschaltungen (N)
entsprechen.
32. Schaltungsanordnung nach einem der Ansprüche 1 bis 31,
dadurch gekennzeichnet, daß mindestens eine Neuronenschaltung
(N, N2) in Software simuliert wird.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE4020001A DE4020001C2 (de) | 1990-06-24 | 1990-06-24 | Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE4020001A DE4020001C2 (de) | 1990-06-24 | 1990-06-24 | Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE4020001A1 DE4020001A1 (de) | 1992-01-09 |
| DE4020001C2 true DE4020001C2 (de) | 1995-01-26 |
Family
ID=6408913
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE4020001A Expired - Fee Related DE4020001C2 (de) | 1990-06-24 | 1990-06-24 | Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE4020001C2 (de) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10021369B4 (de) * | 2000-05-02 | 2005-03-31 | Mitterauer, Bernhard, Prof. Dr. | Rechensystem, insbesondere zur Simulation der menschlichen Wahrnehmung durch Sinnesorgane |
| KR20210012839A (ko) * | 2019-07-26 | 2021-02-03 | 에스케이하이닉스 주식회사 | 연산동작을 수행하는 방법 및 이를 수행하는 반도체장치 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2920041C2 (de) * | 1979-05-18 | 1986-09-04 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren zum Verifizieren von Signalen, und Anordnung zum Durchführen des Verfahrens |
| US4866645A (en) * | 1987-12-23 | 1989-09-12 | North American Philips Corporation | Neural network with dynamic refresh capability |
| GB2223338B (en) * | 1988-08-19 | 1992-07-01 | Fuji Xerox Co Ltd | Programmable fuzzy logic circuit |
| US4912652A (en) * | 1988-12-14 | 1990-03-27 | Gte Laboratories Incorporated | Fast neural network training |
-
1990
- 1990-06-24 DE DE4020001A patent/DE4020001C2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE4020001A1 (de) | 1992-01-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3883192T2 (de) | Neuronale Netzwerkschaltung und -struktur. | |
| DE112020000748B4 (de) | Adresserzeugung zur hochleistungsverarbeitung von vektoren | |
| DE2354521A1 (de) | Verfahren und einrichtung zum gleichzeitigen zugriff zu verschiedenen speichermoduln | |
| DE1901343B2 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
| DE69324967T2 (de) | Cache-Speicherfehlgriffvorhersageverfahren und -vorrichtung für einen nach Seiten organisierten Hauptspeicher in einem Datenverarbeitungssystem | |
| DE112017008040T5 (de) | Rechenoperationsschaltung, rechenoperationsverfahren und programm | |
| DE102019112186A1 (de) | Doppelladebefehl | |
| WO1995010803A1 (de) | Prozessor für zeichenketten variabler länge | |
| WO2019121206A1 (de) | Verfahren zur realisierung eines neuronalen netzes | |
| DE10048478C2 (de) | Verfahren zum Zugriff auf eine Speichereinheit bei der Suche nach Teilzeichenfolgen | |
| DE4020001C2 (de) | Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes | |
| EP3869380A1 (de) | Verfahren, computerbasiertes system und computerprogramm-produkt zum floorplanning für eine programmierbare gatteranordnung mit nicht-rechteckigen blockgrenzen | |
| DE102018000205A1 (de) | Numerische Steuerung | |
| DE19531635C1 (de) | Ordnungsverfahren für Zugehörigkeitsfunktionswerte lingustischer Eingangswerte in einem Fuzzy-Logic-Prozessor und Anordnungen zu deren Durchführung | |
| WO2020193481A1 (de) | Verfahren und vorrichtung für training und herstellung eines künstlichen neuronalen netzes | |
| DE4417932A1 (de) | Paralleldatenverarbeitungssystem | |
| DE3607241C2 (de) | ||
| DE2459476A1 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen | |
| DE69313622T2 (de) | Speicherorganisationsverfahren für eine Steuerung mit unscharfer Logik und Gerät dazu | |
| DE1801725C3 (de) | Digitaler Fourier-Analysator | |
| DE3609925C2 (de) | ||
| EP0757811B1 (de) | Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen | |
| WO1995008797A1 (de) | Anordnung zur regeldekodierung und regelauswertung für einen fuzzy-interference-prozessor mit hoher auflösung | |
| DE3587612T2 (de) | Suchverfahren für Assoziationsmatrix. | |
| EP0217232B1 (de) | Schaltungsanordnung zur Generierung von Splitting-Adressen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8127 | New person/name/address of the applicant |
Owner name: BROCKMANN, WERNER, DR.-ING., 33098 PADERBORN, DE B |
|
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8327 | Change in the person/name/address of the patent owner |
Owner name: BROCKMANN, WERNER, DR.-ING., 23562 LUEBECK, DE BEI |
|
| 8339 | Ceased/non-payment of the annual fee |