DE4020001C2 - Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes - Google Patents

Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes

Info

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
Application number
DE4020001A
Other languages
English (en)
Other versions
DE4020001A1 (de
Inventor
Werner Dr Ing Brockmann
Karl-Josef Beine
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.)
BROCKMANN, WERNER, DR.-ING., 23562 LUEBECK, DE BEI
Original Assignee
BEINE KARL JOSEF
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
Application filed by BEINE KARL JOSEF filed Critical BEINE KARL JOSEF
Priority to DE4020001A priority Critical patent/DE4020001C2/de
Publication of DE4020001A1 publication Critical patent/DE4020001A1/de
Application granted granted Critical
Publication of DE4020001C2 publication Critical patent/DE4020001C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical 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
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.
Der Basisindex BI berechnet sich dann aus:
mit:
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.
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.
DE4020001A 1990-06-24 1990-06-24 Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes Expired - Fee Related DE4020001C2 (de)

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)

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

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

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