DE4020001A1 - Schaltungsanordnung eines neuronalen netzes - Google Patents

Schaltungsanordnung eines neuronalen netzes

Info

Publication number
DE4020001A1
DE4020001A1 DE4020001A DE4020001A DE4020001A1 DE 4020001 A1 DE4020001 A1 DE 4020001A1 DE 4020001 A DE4020001 A DE 4020001A DE 4020001 A DE4020001 A DE 4020001A DE 4020001 A1 DE4020001 A1 DE 4020001A1
Authority
DE
Germany
Prior art keywords
neuron
arrangement according
circuit arrangement
circuit
inputs
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.)
Granted
Application number
DE4020001A
Other languages
English (en)
Other versions
DE4020001C2 (de
Inventor
Werner Dipl 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; CALCULATING OR 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 eines neu­ ronalen Netzes bestehend aus mehreren Neuronenschaltungen mit jeweils mehreren Eingängen und jeweils einem Ausgang, wobei von mehreren Netzeingängen Netzeingangssignale auf jeweils mindestens einen der Eingänge geführt sind und wobei mindestens einer der Ausgänge einen Netzausgang bildet und wobei die Neuronenschaltungen ladbare Speicher enthalten, deren Inhalt eine Parametrisierung darstellt, die die Verknüpfung des jeweiligen Ausgangssignals aus den Eingangssignalen an den Eingängen zu vorgegebenen Taktzei­ ten bestimmt.
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 ler­ nen und in der Auswertungsphase auf Eingangsmuster die gelernten Ausgangsmuster zu rekonstruieren, selbst wenn kleine Störungen das Eingangsmuster verfälschen. Durch das Lernen müssen neuronale Netze nicht mehr für jede neue Auf­ gabe neu programmiert werden, sondern sie werden nur speziell darauf trainiert. Dadurch können auch einige Auf­ gabenstellungen gelöst werden, bei denen kein Lösungsweg bekannt oder dieser zu aufwendig ist.
Neuronale Netze bestehen aus einer Vielzahl von insbeson­ dere 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 Schich­ ten angeordnet, wobei Ausgänge von Neuronenschaltungen und Netzeingänge mit je einem Eingang von mehreren Neuronen­ schaltungen der nachfolgenden Schicht verbunden sind. Die Netzausgänge sind i. allg. Neuronenausgänge der letzten Schicht. Diese Verbindungsstruktur zwischen Neuronenschal­ tungen und Netzein- und -ausgängen wird als Topologie bezeichnet.
In den Neuronenschaltungen selbst wird das Ausgangssignal nach aus z. B. Werntges, H., Eckmiller, R.: Neuronale Computer. ct, H. 10, 1988 bekannten Verfahren aus den Ein­ gangssignalen berechnet. Bei einigen der bekannten Verfah­ ren für neuronale Netze können die Ein- und Ausgangssignale nur bestimmte feste Werte annehmen, z. B. -1 und +1. Je nach dem angewendeten Beschreibungsverfahren sind die neuronalen Netze nur für bestimmte Anwendungsklassen einsetzbar, weil zum einen die Werte für die Ein-/Ausgangssignale stark ein­ geschränkt sind oder zum anderen die Abbildung von Ein­ gangs- auf Ausgangssignale gar nicht oder nur extrem lang­ sam oder schlecht gelernt werden kann.
Die bekannten Verfahren für die Berechnung eines Ausgangs­ signals eines neuronalen Netzes sind i. allg. mehrstufig und basieren i. allg. auf Fließkomma-Berechnungen. Das hat bei einigen 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 verbun­ den, daß sowohl das Lernen als auch das Auswerten einen hohen Rechenaufwand erfordert, der zu langen Verarbeitungs­ zeiten führt. Außerdem kann das Lernen in einem lokalen Fehlerminimum enden, also nicht immer zu optimalen Lerner­ folgen führen.
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren für neuronale Netze zu schaffen, das kurze Verarbeitungs­ zeiten erlaubt und vielseitig einsetzbar ist.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß jeweils in einer Neuronenschaltung deren Eingangssignale über einen Indexbildner zu einem Basisindex verknüpft sind, mittels dessen ein in einem Speicher eindeutig zugeordneter Basiszelleneintrag ausgewählt und dem Ausgang zugeführt wird.
Die vorteilhafte Wirkung der erfindungsgemäßen Lösung ergibt sich dadurch, daß nur eine vergleichsweise geringe Anzahl von Berechnungen, die zudem einfach sind und sich gut auf eine Maschinenstruktur abbilden lassen, erforder­ lich 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 Verarbei­ tungsgeschwindigkeit 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 verschie­ dene Weise erfolgen, so daß verschiedene Neuronentypen und damit Verhaltensweisen einfach realisierbar sind. Dabei werden sinnvollerweise die Signale verschiedener Eingänge in verschiedene, ggf. auch in unterschiedlich viele Berei­ che einzuteilen.
Da für die erfindungsgemäßen Neuronenschaltungen keine geschlossene mathematische Beschreibung vorliegt, ist z. Z. keine deterministische Lernstrategie bekannt. Stattdessen 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 ein­ fache Änderungen in den Tabellen der Neuronenschaltungen sind leicht verschiedene Verhaltensweisen des Netzes reali­ sierbar, ohne die Lernstrategie ändern zu müssen. Desweite­ ren führt diese gestufte tabellarische Verarbeitungsweise zu einem merklichen Geschwindigkeitsvorteil erfindungsgemä­ ßer neuronaler Netze auch beim Lernen, weil keine aufwendi­ gen 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. 2a und 2b den schematischen Aufbau einer erfindungsge­ mäßen Neuronenschaltung,
Fig. 3a, 3b, 3c und 3d den schematischen Aufbau eines Indexbildners,
Fig. 4 den schematischen Aufbau einer speziellen Ausgestal­ tung einer Neuronenschaltung,
Fig. 5 den schematischen Aufbau einer Steuervorrichtung für die Lernphase,
Fig. 6 den schematischen Aufbau einer erweiterten Neuronen­ schaltung,
Fig. 7 den Aufbau eines neuronalen Netzes, das eine Neu­ ronenschaltung im Zeitmultiplex für die Nachbildung mehre­ rer 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 Neuronen­ schaltungen N verbunden. Die Ausgänge A der Neuronenschal­ tungen sind mit den Eingängen der weiteren Neuronenschal­ tungen N oder mit Netzausgängen NA verbunden.
Die Topologie eines erfindungsgemäßen neuronalen Netzes ist im Prinzip beliebig. Bei entsprechender Anordnung der Ver­ bindungen ergibt sich ein neuronales Netz NN, bei dem die Neuronenschaltungen N in Schichten ES, AS und ggf. ver­ deckte, innere Schichten IS angeordnet sind. Wie in Fig. 1 gezeigt, sind bei einem schichtenförmigen Aufbau die Ein­ gänge E der Neuronenschaltungen der Eingangsschicht ES aus­ schließ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 Ausgangs­ schicht AS sind mit Ausgängen A von Neuronenschaltungen N der inneren Schicht/en SI oder, falls diese nicht vorhanden ist/sind, mit denen der Eingangsschicht ES verbunden. Der schichtenförmige Aufbau, bei dem die Eingänge E der Neuro­ nenschaltungen 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 Neu­ ronenschaltungen einer Schicht bzw. Netzeingänge NE mit einem Eingang von jeder Neuronenschaltung N der nachfolgen­ den Schicht verbunden sind, obwohl auch dies meistens zweckmäßig ist.
Alle Neuronenschaltungen N und Verbindungen müssen nicht real 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 Verma­ schung aus den verschiedenen Reaktionen der einzelnen Neu­ ronenschaltungen N bestimmt. Das globale Verhalten eines neuronalen Netzes wird ausschließlich mittels der jeweils in den Neuronenschaltungen N tabellarisch abge­ legten Information beeinflußt.
Neuronale Netze werden jeweils in einer von zwei Phasen betrieben, einer Lernphase oder einer Auswertphase. In der Lernphase werden an den Netzeingängen NE Netzeingangs­ signale sNE angelegt, die zusammen ein Lerneingangsmuster darstellen. Gleichzeitig werden die daraus an den Netzaus­ gängen NA resultierenden Netzausgangssignale sNA mit zu lernenden Lernmustern verglichen, die den Lerneingangs­ mustern zugeordnet sind. Durch Verändern der lokal in den Speichern BT der Neuronenschaltungen N abgelegten Informa­ tionen wird in der Lernphase versucht, daß das sich auf­ grund der Auswertung der Information in den Neuronenschal­ tungen ergebende Muster der Netzausgangssignale sNA dem Lernmuster lsNA möglichst gut angenähert wird. I. allg. hat ein neuronales Netz eine Vielzahl von Musterzuordnungen zu lernen, so daß beim Lernen einer weiteren Musterzuordnung u. U. die Informationen in den Neuronen überschrieben wer­ den. Deshalb erfolgt das Lernen durch wiederholtes zykli­ sches Anlegen der Musterzuordnungen. Dadurch ist es in der Lage, in der Auswertphase auf verschiedene Lerneingangs­ muster den zugeordneten Lernmustern entsprechende Ausgangs­ muster zu reproduzieren.
Damit ein neuronales Netz einen Satz von mehreren verschie­ denen 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 i. allg. auch den Betrieb des neu­ ronalen Netzes NN in der Auswertphase, um aus den sich dabei aus den Netzeingangssignalen sNE ergebenden Netzaus­ gangssignalen 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 erfolgen nach einem festen Schema. Variabel sind in den Neuronenschaltungen nur die in dem Speicher BT abgelegten Basiszelleneinträge eTE. Folg­ lich stecken ausschließlich in der daraus gebildeten Basistabelle die Informationen, die das lokale Verhalten der Neuronenschaltungen und das globale Verhalten des neu­ ronalen 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 i. allg. auf einen Wertebereich und ggf. auf einige diskrete Werte beschränkt. Deshalb müssen Netzeingangssignale sNE normiert und Netzausgangssignale sNA denormiert werden.
Erfindungsgemäße Neuronenschaltungen N und M, deren Aufbau in Fig. 2 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ßende Basiszellen TE in einer Basistabelle. Dabei kann ein Basiszelleneintrag eTE auch mehrere einfache Ein­ träge enthalten kann.
Die erfindungsgemäßen Neuronenschaltungen N haben einen dreistufigen Aufbau, wie Fig. 2 zeigt. In der ersten Stufe wird mittels eines Indexbildners FE, FE1, FE2, FE3 aus den Eingangssignalen 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 Basiszellen­ eintrag eTE. Dieser wird an die dritte Stufe übergeben, die aus einem Ausgangssignalbildner FA, FA1 besteht und daraus das Ausgangssignal sA der Neuronenschaltung bestimmt.
Der Indexbildner FE teilt den maximalen Wertebereich von jedem Eingangssignal sE in mehrere stetig aneinander gren­ zende Bereiche ein. Jeder dieser Bereiche eines Eingangs­ signals sE hat ein eindeutiges Bereichskennzeichen, das den Bereich eindeutig kennzeichnet, insbesondere eine Bereichsnummer BN, die die Bereiche fortlaufend numeriert. Das aktuelle Bereichskennzeichen eines Eingangs E wird in einer Ausführungsvariante aus dem aktuellen Wert des Ein­ gangssignals sE z. B. durch fortgesetzten Vergleich mit den Bereichsgrenzwerten bestimmt. Dabei wird der Wert des Ein­ gangssignals nacheinander solange mit den Bereichsgrenz­ werten 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ührungs­ variante alle Eingänge E gleich behandelt, d.h., alle Ein­ gangssignale sE werden in gleiche Bereiche eingeteilt. Die erfindungsgemäße Neuronenschaltung N erlaubt Varianten, die verschiedenen Eingänge E einer Neuronenschaltung verschie­ denen Bereichen, insbesondere verschieden vielen Bereichen, zuzuordnen. Dadurch zeigen die Eingänge E einer Neuronen­ schaltung 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 je­ weiligen Eingänge E gemacht. Man kann aber auch einem erfindungsgemäßen neuronalen Netz ein anderes Verhalten geben, indem schichtenweise oder auch zu allen Neuronen­ schaltungen andere Bereichseinteilungen vorgesehen sind.
Bei erfindungsgemäßen neuronalen Netzen, die Neuronenschal­ tungen 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 sol­ chen Neuronenschaltungen, die dieselben Eingangssignale sE haben, verschiedene Basisindizes BI erzeugt und so eine bessere Verteilung der Informationen erreicht.
Vorteilhafter bezüglich der Verarbeitungsgeschwindigkeit ist 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 geschil­ derte fortgesetzte Vergleich sequentiell erfolgt und damit zeitaufwendig ist.
Bei ganzzahligen Werten der Eingangssignale sE kann der Wert direkt als Bereichsindex benutzt werden. Die Bereichs­ tabellen BB, BC enthalten dann soviele Einträge, wie das jeweilige Eingangssignal sE Werte annehmen kann. Die Zuord­ nung zu den in den Bereichstabellen abgelegten Bereichs­ kennzeichen ist damit eindeutig. Bei nichtganzzahligen Wer­ ten der Eingangssignale kann eine Überführung in einen Bereichsindex über eine Multiplikation des Wertes mit einer Konstanten und anschließendem Runden vorgenommen werden.
Der Einsatz von Bereichstabellen steigert die Verarbei­ tungsgeschwindigkeit und unterstützt auch die Einteilung von Eingangssignalen sE in verschiedene und verschieden viele Bereiche, weil in den Bereichstabellen lediglich Ein­ träge geändert werden müssen.
Der zu den aktuellen Eingangssignalen sE gehörige Basista­ belleneintrag eTE kann bei beliebigen Bereichskennzeichen durch Pattern Matching bestimmt werden. Dieses Vorgehen ist zum einen langsam, weil eine Suche des zu der zu den Ein­ gangssignalen gehörigen Kombination von Bereichskennzeichen zugeordneten Basiszelle TE erforderlich ist, und zum ande­ ren speicherintensiv, weil zu jeder Basiszelle TE die zuge­ hörige Kombination von Bereichskennzeichen gespeichert wer­ den muß.
Schneller und damit vorteilhafter ist es, Bereichsnummern als Bereichskennzeichen zu verwenden, daraus in einem Indexbildner FE 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 dem Basiszelleneintrag eTE, und zwar je einer für jede unterschiedliche Kombination von Eingangssignalen sE.
Es gibt zwei Varianten der Indexbildner, die in Fig. 3a und Fig. 3b dargestellt sind. Fig. 3a zeigt einen Indexbildner 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 Indexbildners FE1, die in Fig. 3b dargestellt ist, ist jeder Eingang E auf eine eigene Bereichstabelle BC geschaltet. Diese Bereichstabel­ len 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 par­ alle einem Indexsummierer SV zugeleitet, der lediglich aus einem einfachen Addierer besteht. Die so gebildete Summe wird als Basisindex BIl an den Speicher BT weitergeleitet.
Die aktuellen Bereichsnummern BN und BM der einzelnen Ein­ gänge E sind sinnvollerweise bei 0 beginnend fortlaufend numeriert.
Die Gewichte der Bereichsnummern BN, mit denen sie im Indexsummierer SU des Indexbildners FE multipliziert wer­ den, und die Gewichte, mit denen die bereichskennzeichnen­ den Nummern multipliziert wurden, um die Bereichsnummern BM zu bilden, und in den Bereichstabellen BC des Indexbildners FE1 abgelegt sind, bestimmen sich aus der Anzahl der Berei­ che, 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 Neuronen­ schaltung N, M, so daß die Multiplikationen einfach z.B. 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 Indexbildners FE1 eingesetzt, weil eine Multiplikation bei der Bestimmung des Basisindex BI1 nicht nötig ist. Es reicht die Addition der gewichteten Bereichsnummern im Indexsummierer SV. Das führt i. allg. zu einer Beschleuni­ gung der Verarbeitung.
In einer weiteren Variante eines Indexbildners FE2, die in Fig. 3c dargestellt ist, wird die Struktur digitaler Maschinen ausgenutzt und die Addition in anderer Weise vor­ genommen. Dabei besteht der Zusammenfasser SW aus Speicher­ zellen, die die den jeweiligen Eingangssignalen sE zugeord­ neten Dualzahlen über eine Bereichstabelle BD der Bereichs­ nummern BL durch ein Taktsignal T1 gesteuert aufnehmen und die derart gespeicherten Dualzahlen aneinandergereiht parallel als einen Basisindex BI2 zu dem Speicher BT wei­ terleitet.
In dem Speicher BT sind bei dieser Variante die Basiszellen TE derart angeordnet, daß den Eingängen E der Neuronen­ schaltung N Gewichte Gi so zugeordnet sind, daß diese Zweierpotenzen derart entsprechen, daß, falls das Gewicht eines Eingangs nach obigem Schema keine Zweier-Potenz erge­ ben würde, diesem die nächst höhere Zweier-Potenz zugeordnet ist. Diese Zuordnung wird vor Inbetriebnahme eines neurona­ len Netzes NN vorgenommen.
In analoger Weise sind in einer weiteren Variante eines Indexbildners FE3, die in Fig. 3d dargestellt ist, in den Bereichstabellen BE ungewichtete Bereichsnummern BK abge­ legt, die einem Zusammenfasser SX zugeführt werden. Dieser reiht die den jeweiligen Eingangssignalen sE zugeordneten die Bereichsnummer BK bildenden Dualzahlen zu einem Basis­ index BI3 aneinander und leitet diesen Basisindex an den Speicher BT weiter. In diesem Speicher sind die Basiszellen TE wie für einen Indexbildner FE2 angeordnet.
Bei den Indexbildnern FE2 und FE3 ergibt sich eine vorteil­ hafte Wirkung dadurch, daß auf addierende Elemente in den Indexsummierern verzichtet werden kann und daß die Aneinan­ derreihung von Dualzahlen in vergleichsweise kurzer Zeit erfolgt. Dadurch wird die Verarbeitungsleistung gesteigert.
Nach einer in der ersten Stufe vorgenommenen Bestimmung des Basisindex 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 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 neu­ ronalen Netzes NN haben.
Bei einem Basiszelleneintrag eTE, der aus nur einem Eintrag besteht, ist der einfachste Fall der, daß der Basiszellen­ eintrag eTE in einem Ausgangssignalbildner FA entweder mit einem konstanten Faktor multipliziert wird oder direkt zum Ausgang A geführt ist. Der Ausgangssignalbildner ist im letzen Fall optional.
Andererseits kann 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 gespeicher­ ten Wert eines Ausgangssignals addiert und dieses Resultat an den Rückkoppelspeicher weiterleitet, der dieses mit einem Taktsignal T2 speichert und zum Ausgang A weiterlei­ tet. Dadurch wird im neuronalen Netz die Vorgeschichte vor dem aktuell angelegten Eingangsmuster berücksichtigt.
In einer Erweiterung dieser Anordnung, die in Fig. 2b dar­ gestellt ist, wird mit dem Taktsignal T2 in einem Indexre­ gister BR der Basisindex BI, der jeweils aus den Eingangs­ signalen sE der betreffenden Neuronenschaltung bestimmt wird, zwischengespeichert und der zwischengespeicherte Basisindex BS an den Speicher BT und an einen Indexverglei­ cher VG weitergeleitet. An diesen Indexvergleicher ist ebenfalls der Basisindex BI herangeführt. Der Ausgang des Indexvergleichers wird einem Taktgatter TG zugeführt. Die­ ses Taktgatter leitet ein Taktsignal T2 nur dann zu einem Rückkoppelspeicher RSP weiter, wenn der Indexvergleicher VG anzeigt, daß der sich aufgrund der aktuellen Eingangs­ signale 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 meh­ rere vergangene Ausgangssignale sA zwischengespeichert und an den Ausgangssignalbildner FA1 geleitet. In dem Ausgangs­ signalbildner FA1 werden die einzelnen Einträge des aktuel­ len Basiszelleneintrags eTE mit Gewichten multipliziert und einem Addierer zugeführt, dessen Ausgang mit dem Rückkop­ pelspeicher verbunden ist.
Desweiteren ist denkbar, ein oder mehrere Eingangssignale sE einem Ausgangssignalbildner FA zuzuführen und in die Bestimmung des Ausgangssignals sA einzubeziehen, wobei z. B. ein Eintrag des aktuellen Basiszelleneintrags eTE den Anteil des/der Eingangssignals/e sE am Ausgangssignal angibt.
Bei einer weiteren Variante eines erfindungsgemäßen neuro­ nalen 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 vor­ aus, daß die Eingänge E1 solcher Neuronenschaltungen M 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 Ein­ gangssignale sE1 erfolgen, bevor sie zu einem Summierer ST weitergeleitet werden, wie Fig. 4 zeigt. Der Ausgang dieses Summierers ST wird zu dem jeweiligen Netzausgang NA geführt. Die Gewichte der Eingangssignale sind sinnvoller­ weise verschieden. Bei verschiedenen Gewichten in den Gewichtungsschaltungen GK sind auch mehrere Neuronenschal­ tungen M mit denselben Ausgangssignalen sA von Neuronen­ schaltungen N verbindbar und zeigen trotzdem unterschiedli­ ches Verhalten.
Die Gewichte, mit denen Eingangssignale sE1 in den Gewich­ tungsschaltungen GK multipliziert werden, können fest sein oder in der Lernphase ermittelt werden. Dabei ist es sinn­ voll, die Gewichte zu Beginn der Lernphase zufällig festzu­ legen.
Einem erfindungsgemäßen neuronalen Netz NN werden in einer Lernphase die Zuordnungen von Lernmustern zu Lerneingangs­ mustern erlernt. Bei erfindungsgemäßen neuronalen Netzen ist der Einsatz deterministischer Verfahren z.Z. nicht bekannt. Deshalb erfolgt das Lernen nach einem Trial-and- Error-Verfahren. Das Lernen kann erfolgen, indem in den Basiszellen TE der Neuronenschaltungen N die Basiszellen­ einträge eTE einem Lernerfolg entsprechend angepaßt werden. Das Lernen erfolgt dadurch, daß wiederholt Lerneingangsmu­ ster angelegt werden, die sich dazu ergebenden Ausgangsmu­ ster wie in der Auswertphase bestimmt und mit den Lernmu­ stern verglichen werden. Bei Abweichungen werden im Prinzip die Basiszelleneinträge eTE solange modifiziert, bis die Abweichung sAB einen Grenzwert sGW unterschreitet.
Im Folgenden wird anhand von Fig. 5 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 erge­ benden Basiszelleneintrag eTE deterministisch oder auch zufällig geändert wird, um die Abweichung zu reduzieren. Dazu wird als erster Schritt sinnvollerweise die Reihen­ folge, in der die Neuronenschaltungen N modifiziert werden sollen, festgelegt, damit nicht überprüft werden muß, wel­ che Neuronenschaltungen schon modifiziert wurden. Eine Berücksichtigung evtl. vorhandener Schichten ist ange­ bracht, wobei die Modifikationen, z. B. in der Ausgangs­ schicht 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 Lernmu­ ster 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 betrags­ mäßige Maximum der Fehlersignale sF, sF1 bestimmt, und lei­ tet diese zu einem zweiten Vergleicher V2. Eine weitere Variante summiert die Beträge aller Fehlersignale und lei­ tet die Summe zu einem zweiten Vergleicher V2 weiter.
Ein zweiter Vergleicher V2 vergleicht eine von einem Abwei­ chungsbildner AB kommende Abweichung sAB mit einem Grenz­ wert sGW, der an diesen Vergleicher von einer Grenzwertvor­ gabe 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 Modifikations­ takt 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 Modifikations­ generator MG verbunden, der zeitlich koordiniert zum Modi­ fikationstakt MT1 eine Basistabellenmodifikation BTM in der aktuellen Basiszelle TE 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 Neuronenschal­ tung N ausgewählt und deren aktuelle Basiszelle TE wie oben modifiziert und anschließend das neuronale Netz erneut aus­ gewertet, wenn das Vergleichsergebnis anzeigt, daß die aktuelle Abweichung sAB den Grenzwert sGW nicht unter­ schreitet. Wenn das Vergleichsergebnis anzeigt, daß der Grenzwert unterschritten ist, veranlaßt die Zustands­ steuerung, daß nach dem gleichen Schema solange ein wei­ teres Lerneingangsmuster und zeitlich koordiniert ein Lern­ muster an das neuronale Netz angelegt werden, bis eine übergeordnete Instanz die Lernphase beendet.
Die Zustandssteuerung speichert zur Steuerung des Lernab­ laufs das Vergleichsergebnis sVG zwischen, bevor das neuro­ nale Netz nach einer Basistabellenmodifikation erneut aus­ gewertet wird. Dieses zwischengespeicherte Vergleichsergeb­ nis 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 Modifika­ tionstakt so gesteuert, daß die vorgenommene Modifikation zurückgenommen wird, bevor zum nächsten Lernschritt überge­ gangen 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 Modi­ fikation 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 Modi­ fikation der nächsten Neuronenschaltung N übergehen.
Der zuvor geschilderte Ablauf für das Lernen kann dahinge­ hend erweitert werden, daß der Betrag einer Basistabellen­ modifikation BTM, BTM2 mit zunehmender Anzahl Wiederholun­ gen aller Musterkombinationen und/oder zunehmender Anzahl Versuche bei einer Musterkombination durch einen Basista­ bellenmodifikationstakt BTT von der Zustandssteuerung gesteuert verkleinert wird.
Damit der Lernprozeß nicht in einem lokalen Abweichungs­ minimum hängen bleibt, ist es sinnvoll, den Wert einer Basistabellenmodifikation BTM, BTM1 zufällig aus einem Wer­ tebereich auszuwählen, dessen Grenzen ggf. wie oben ver­ kleinert werden.
Desweiteren kann die Richtung der Basistabellenmodifikatio­ nen von dem Vorzeichen des Vergleichsergebnis sVG abhangig 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 Grenzwertmodifi­ kationstakt GMT jedesmal dann ausgelöst wird, wenn alle Musterkombinationen vollständig durchlaufen wurden.
Außerdem ist es denkbar, in einer erweiterten Neuronen­ schaltung N gemäß Fig. 6 aus verschiedenen Eingangssignalen sE und/oder Ausgangssignalen sA in einem Zwischenwertbild­ ner 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 Neuro­ nenschaltung N eingeht. Die Zwischenwerte ZW werden im Zwi­ schenwertbildner ZWB sinnvollerweise durch einfache Opera­ tionen wie Addition oder Subtraktion gebildet. Dadurch sind recht viele verschiedene Verhaltensweisen der Neuronen­ schaltungen N und damit auch des gesamten neuronalen Netze NN zu erzeugen.
Bei der Realisierung eines neuronalen Netzes NN ist eine in Fig. 7 gezeigte Neuronenschaltung N2 angebracht, die prin­ zipiell den gleichen Aufbau wie die oben beschriebenen Neu­ ronenschaltungen N hat, für die Bestimmung der Ausgangs­ signal 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 Ablaufsteue­ rung AST steuert über Steuersignale Z2 den Zwischenspeicher ZS so, daß das Ausgangssignal sA2 der Neuronenschaltung N2 derart im Zwischenspeicher ZS ablegt und/oder an Netzaus­ gangssignale NA weiterleitet und die zwischengespeicherten Ausgangssignale sA2 zeitlich koordiniert zwischengespei­ chert und zusammen mit den Netzeingangssignalen sNE der Neuronenschaltung N2 als Eingangssignale sE2 zugeführt wer­ den. Mittels Steuersignalen Z1 wird aus einem Basistabel­ lenspeicher 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 Zwi­ schenspeicher und die Neuronenschaltung N2 so, daß nachein­ ander verschiedene Neuronenschaltungen N im Zeitmultiplex nachgebildet werden. Das Gleiche gilt auch für eventuelle neuronenspezifische Bereichstabellen BB, BC, BD, BE. Die Ablaufsteuerung AST ist der Zustandssteuerung ZST überge­ ordnet.
Erfindungsgemäße neuronale Netze sind ohne weiteres in Software simulierbar. Bei einer Software-Simulation ent­ sprechen die Eingangssignale sE einer Neuronenschaltung N Parametern, die an Unterprogramme übergeben werden, und die Ausgangssignale sA Parametern, die von einem Unterprogramm zurückgeliefert werden. Die Basiszellen TE der jeweiligen Neuronen liegen in einem globalen Speicher und werden durch einen in Software implementierten Kontrollmechanismus eben­ falls an das die Neuronenschaltung nachbildende Unterprogramm übergeben. Vorzugsweise sind die Bereichstabellen BB, BC, BD oder BE dem Unterprogramm zugeordnet und werden für die Nachbildung aller Neuronenschaltung benutzt.
Die Zustandssteuerung ZST für die Steuerung der Lernphase und die Ablaufsteuerung AST zur Nachbildung mehrerer Neuro­ nenschaltungen auf einer Implementation werden ebenfalls durch Kontrollmechanismen durch Software nachgebildet.
Es ist denkbar, 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 erfin­ dungsgemäßen neuronalen Netzes einzuspeisen. Dieses Lernen fällt im Betrieb eines neuronalen Netzes nur einmalig an. Es hat einen wesentlich höheren Zeitbedarf und läßt sich einfacher durch Kontrollmechanismen in Software beschreiben als in Hardware realisieren. Dadurch erreicht man, daß die Hardware-Realisierung den Teil, der für das Lernen erfor­ derlich wäre und der zudem relativ komplex ausfallen würde, nicht enthalten muß und folglich einfach zu realisieren ist. Dadurch wird die Auswertung und damit der Einsatz des neuronalen Netzes mit hoher Verarbeitungsgeschwindigkeit vorgenommen.
Erfindungsgemäße neuronale Netze gestatten einfache Realisierungen sowohl in Hardware als auch in Software, die sich durch hohe Geschwindigkeit sowohl in der Lern- als auch in der Auswertphase auszeichnen. Sie gestatten viel­ fältige Änderungen des Verhaltens, die einfach vorgenommen werden können, ohne das Lernverfahren ändern zu müssen.

Claims (33)

1. Schaltungsanordnung eines neuronalen Netzes (NN) beste­ hend aus mehreren Neuronenschaltungen (N, M) mit jeweils mehreren Eingängen (E, E1) und jeweils einem Ausgang (A, NA), wobei von mehreren Netzeingängen (NE) Netzeingangs­ signale (sNE) auf jeweils mindestens einen der Eingänge (E, E1) geführt sind und wobei mindestens einer der Ausgänge (A) einen Netzausgang (NA) bildet und wobei die Neuronen­ schaltungen (N, M) ladbare Speicher enthalten, deren Inhalt eine Parametrisierung darstellt, die die Verknüpfung des jeweiligen Ausgangssignals (sA, sNA) aus den Eingangssigna­ len (sE) an den Eingängen (E) zu vorgegebenen Taktzeiten (T2) bestimmt, dadurch gekennzeichnet, daß jeweils in einer Neuronenschaltung (N, M) deren Eingangs­ signale (sE, sE1) über einen Indexbildner (FE, FE1) zu einem Basisindex (BI) verknüpft sind, mittels dessen ein in einem Speicher (BT) eindeutig zugeordneter Basiszellenein­ trag (eTE) ausgewählt und dem Ausgang (A, NA) zugeführt wird.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekenn­ zeichnet, daß ein maximaler Wertebereich jedes Eingangs­ signals (sE, sE1) stetig aneinander anschließend in ein­ zelne Wertebereiche eingeteilt, denen jeweils eindeutig ein Bereichskennzeichen zugeordnet ist, und den jeweiligen Ein­ gangssignalen (sE, sE1) entsprechend ihrem Wert ein dem Wertebereich, in dem er sich befindet, zugeordnetes Bereichskennzeichen zugeordnet ist und jeweils aus den so bestimmten Bereichskennzeichen aller Eingänge (sE, sE1) einer Neuronenschaltung (N) der Basisindex (BI) gebildet ist.
3. Schaltungsanordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß den einzelnen Bereichen jeweils als Bereichskennzeichen fortlaufende Bereichsnummern zuge­ ordnet sind, die die zugehörige Basiszelle (TE) eindeutig festlegen und die durch einen wiederholten Vergleich des jeweiligen Eingangssignals (sE, sE1) mit den Bereichsgrenz­ werten ermittelt werden.
4. Schaltungsanordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Zuordnung eines oder mehre­ rer der Eingangssignale (sE, sE1) zu der jeweils zugehöri­ gen Bereichsnummer (BN, BM) über eine Bereichstabelle (BB, BC) erfolgt, indem das Eingangssignal (sE, sE1) als ein Bereichsindex genutzt wird, der auf den zugehörigen Bereichstabelleneintrag verweist, der das Bereichskennzei­ chen enthält.
5. Schaltungsanordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die anzuwendende Basiszelle (TE) durch einen Basisindex (BI) in der Form bestimmt ist, daß dieser derart durch eine Addition aus den Eingangs­ signalen (sE, sE1) zugeordneten Bereichsnummern (BN, BM) gebildet ist, daß die Bereichsnummern jeweils mit einem Ge­ wicht multipliziert werden.
6. Schaltungsanordnung nach Anspruch 5, dadurch gekenn­ zeichnet, daß die Gewichte der Bereichsnummern (BN, BM) derart Zweier-Potenzen entsprechen, daß die Addition der Bereichsnummern (BN, BM) durch Aneinanderreihen der den Bereichsnummern (BN, BM) entsprechenden Dualzahlen erfolgt.
7. Schaltungsanordnung nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, daß jedem Eingang (E, E1) einer Neuronenschaltung (N, M) eine Bereichstabelle (BC) zur Bestimmung der Bereichsnummer (BM) für das jeweilige Ein­ gangssignal (sE) zugeordnet ist, die die gewichtete Bereichsnummer (BM) enthält, und daß der Basisindex (BI) durch eine einfache Addition dieser Bereichsnummern (BM) berechnet ist.
8. Schaltungsanordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß mindestens zwei der Neuronen­ schaltungen (N, M) dieselben Bereichsgrenzwerte zugeordnet sind.
9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß mindestens zwei der Neuronen­ schaltungen (N, M) dieselbe Bereichstabelle (BB, BC) zuge­ ordnet ist.
10. Schaltungsanordnung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die Basiszellen (TE) in einem Speicher (BT) einer Neuronenschaltung (N, M) aus mehreren Basiszelleneinträgen (eTE) besteht, die als Parameter in eine Berechnung des Ausgangssignals (sA, sNA) mittels einer Ausgangsfunktion einzusetzen sind.
11. Schaltungsanordnung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß der Ausgangssignalbildner (FA) aus einem Multiplizierer gebildet ist, der den Basiszellen­ eintrag (eTE) mit einem Faktor multipliziert.
12. Schaltungsanordnung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß abhängig von den Zustandssigna­ len (T2) jeweils ein bestimmter Anteil eines Basiszellen­ eintrags (eTE) auf das jeweils gegebene Ausgangssignal (sA, sNA) addiert wird und so ein aktuelles Ausgangssignal (sA, sNA) berechnet wird.
13. Schaltungsanordnung nach einem der Ansprüche 1 bis 10 oder 12, dadurch gekennzeichnet, daß in einer Neuronen­ schaltung (N, M) mehrere zurückliegende Ausgangssignale (sA, sNA) gespeichert sind und das aktuelle Ausgangssignal (sA, sNA) abhängig von den den Eingangssignalen (sE, sE1) zugeordneten Basiszelleneinträgen (eTE) aus einem oder meh­ reren der gespeicherten Werten des Ausgangssignals (sA, sNA) durch einen Addierer gegeben ist, wobei der oder die Basiszelleneinträge (eTE) zur Gewichtung dienen.
14. Schaltungsanordnung nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß ein oder mehrere Eingangssi­ gnale (sE, sE1) mit mindestens einem Basiszelleneintrag (eTE) parametrisiert modifiziert zueinander addiert das Ausgangssignal (sA, sNA) bilden.
15. Schaltungsanordnung nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß ausgehend von einem Indexver­ gleicher (VG) ein Signal generiert, wenn die Eingangssi­ gnale (sE, sE1) sich derart verändert haben, daß der Basis­ index (BI) auf eine andere Basiszelle (TE) zeigt, mit des­ sen Auftreten ein neues Ausgangssignal (sA, sNA) zum Aus­ gang (A, NA) transferiert wird.
16. Schaltungsanordnung nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, daß bei mindestens einer Neuronen­ schaltung (N, M) der Ausgang (A) auf einen der Eingänge derselben Neuronenschaltung (N, M) zurückgekoppelt ist.
17. Schaltungsanordnung nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, daß bei mindestens einer Neuronen­ schaltung (N, M) durch gleiche Bereichsgrenzwerte zu glei­ chen Eingangssignalen (sE, sE1) für alle Eingänge (E, E1) dieselbe Bereichsnummer (BN, BM) bestimmt ist.
18. Schaltungsanordnung nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, daß bei mindestens einer Neuronen­ schaltung (N, M) mindestens zwei Eingängen (E, E1) derart verschiedene Bereichsgrenzwerte zugeordnet sind, daß glei­ che Eingangssignale (sE, sE1) an den zugeordneten Eingängen mindestens in einem Bereich verschiedene Bereichsnummern ergeben.
19. Schaltungsanordnung nach Anspruch 18, dadurch gekenn­ zeichnet, daß bei mindestens einer Neuronenschaltung (N, M) mindestens zwei Eingängen (E, E1) verschieden viele Berei­ che zugeordnet sind.
20. Schaltungsanordnung nach einem der Ansprüche 1 bis 19, dadurch gekennzeichnet, daß bei mindestens einer Neuronen­ schaltung (N, M) aus Eingangssignalen (sE, sE1) und/oder Ausgangssignalen (sA) und/oder einem inneren Zustand der Neuronenschaltung in einem Zwischenwertbildner (ZWB) Zwi­ schenwerte (ZW) gebildet sind, die in mindestens einem Fall in Bereiche unterteilt werden, deren Bereichsnummer in die Bestimmung des Basisindex (BI) eingehen, wobei diese Zwi­ schenwerte insbesondere durch Differenzbildung zweier oder mehrerer Eingangssignale (sE, sE1) oder aus den aktuellen und vergangenen Eingangssignalen (sE, sE1) oder Ausgangssi­ gnalen (sA, sNA) bestimmt sind.
21. Schaltungsanordnung nach einem der Ansprüche 18 bis 20, dadurch gekennzeichnet, daß bei mindestens zwei Neuronen­ schaltungen (N, M), die neuronenweise gleiche, aber für verschiedene Eingänge (E, E1) verschiedene Bereichsgrenz­ werte haben, neuronenweise gleiche Eingänge (E, E1) mit den Ausgängen (A, NA) verschiedener Neuronenschaltungen (N, M) oder Netzeingängen (NE) verbunden sind.
22. Schaltungsanordnung nach einem der Ansprüche 1 bis 21, dadurch gekennzeichnet, daß mindestens ein Netzausgangs­ signal (sNA) durch einfache Berechnung, insbesondere Addi­ tion, aus den Ausgangssignalen (sA) von mindestens zwei Neuronenschaltungen (N) berechnet wird.
23. Schaltungsanordnung nach einem der Ansprüche 1 bis 22, dadurch gekennzeichnet, daß in einer Lernphase jeweils in einem Lernschritt in das neuronale Netz (NN) ein jeweils vorgegebenes Lerneingangsmuster von Netzeingangssignalen (sNE) eingespeist ist und das daraus resultierende Netzaus­ gangssignal (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 zwei­ ten Vergleicher (V2) mit einem jeweils vorgegeben Grenzwert (sGW) verglichen ist, und daß ein Modifikationsgenerator (MG) von dem Vergleichsergebnis (sVG) abhängig den Basis­ zelleneintrag (eTE), der durch den aktuellen Basisindex (BI) ausgewählt ist, in mindestens einer Neuronenschaltung (N, M) um eine Basistabellenmodifikation (BTM) modifiziert.
24. Schaltungsanordnung nach Anspruch 23, dadurch gekenn­ zeichnet, daß eine Zustandssteuerung (ZST) zufällig eine Neuronenschaltung (N, M) auswählt, dessen Basiszellenein­ trag (eTE) durch einen Modifikationsgenerator (MG) insbe­ sondere in eine Richtung geändert wird, die das Vorzeichen der Abweichung (sAB) direkt bestimmt, wenn das Vergleichs­ ergebnis (sVG) anzeigt, daß die Abweichung größer als der Grenzwert (sGW) ist.
25. Schaltungsanordnung nach einem der Ansprüche 23 oder 24, dadurch gekennzeichnet, daß eine Zustandssteuerung (ZST) in einer zufälligen Reihenfolge in aufeinander fol­ genden Lernschritten Neuronenschaltungen (N, M) auswählt, deren aktuelle Basiszelleneinträge (eTE) durch einen Modi­ fikationsgenerator (MG) modifiziert werden, bis die Abwei­ chung (sAB) kleiner als der Grenzwert (sGW) ist, wobei bei neuronalen Netzen (NN), die in Schichten (ES, IS, AS) ge­ gliedert sind, vorzugsweise in aufeinander folgenden Lern­ schritten alle Neuronenschaltungen (N, M) einer Schicht (ES, IS, AS) ausgewählt werden, bevor in weiteren Lern­ schritten die einer anderen Schicht ausgewählt werden.
26. Schaltungsanordnung nach einem der Ansprüche 1 bis 25, dadurch gekennzeichnet, daß eine Grenzwertvorgabe (GM) den Grenzwert (sGW), bei dem das Lernen einer Kombination von Lerneingangsmustern der Netzeingangssignale (sNE) und Lernmustern (lsNA) abgebrochen wird, mit zunehmender Anzahl Lernschritte verkleinert.
27. Schaltungsanordnung nach einem der Ansprüche 1 bis 26, dadurch gekennzeichnet, daß ein Modifikationsgenerator (MG) mit zunehmender Anzahl von Lernschritten die Größe der Basistabellenmodifikationen (BTM) in den Basiszelleneinträ­ gen (eTE) der Neuronenschaltungen (N, M) verkleinert.
28. Schaltungsanordnung nach einem der Ansprüche 1 bis 27, dadurch gekennzeichnet, daß ein Modifikationsgenerator (MG) die Größe der Basistabellenmodifikation (BTM) nach einem stochastischen Verfahren aus einem Wertebereich auswählt.
29. Schaltungsanordnung nach einem der Ansprüche 1 bis 27, dadurch gekennzeichnet, daß ein Modifikationsgenerator (MG) die Größe der Basistabellenmodifikation (BTM) ausgehend von einem Startwert für deren Betrag mit der Anzahl der Lern­ schritte für dieselbe Kombination von Lerneingangsmuster und Lernmuster (lsNA) verkleinert.
30. Schaltungsanordnung nach einem der Ansprüche 1 bis 29, dadurch gekennzeichnet, daß eine Zustandssteuerung (ZST) nach einer festen Anzahl Lernschritte das Lernen einer Kom­ bination von Lerneingangsmuster und Lernmuster (lsNA) ab­ bricht, wenn die Abweichung (sAB) den vorgegebenen Grenz­ wert (sGW) nicht unterschreitet.
31. Schaltungsanordnung nach einem der Ansprüche 1 bis 30, dadurch gekennzeichnet, daß in einer Neuronenschaltung (M) die Eingangssignale (sE1) durch eine Gewichtungsschaltung (GK) mit einem Gewicht multipliziert und 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.
32. Schaltungsanordnung nach einem der Ansprüche 1 bis 31, dadurch gekennzeichnet, daß Netzeingänge (NE) und Netzaus­ gänge (NA) mit dem Zwischenspeicher (ZS) und daß eine Neu­ ronenschaltung (N2) mit einem Basistabellenspeicher (SBT) und mit Eingängen (E2) und dem Ausgang (A2) mit dem Zwi­ schenspeicher (ZS) verbunden sind, wobei eine Ablaufsteue­ rung (AST) im Zeitmultiplex zeitlich koordiniert über Steu­ ersignale (Z1) aus dem Basistabellenspeicher (SBT) eine Basistabelle (BT2) auswählt und an die Neuronenschaltung (N2) herangeführt und über Steuersignale (Z2) aus dem Zwi­ schenspeicher (ZS) Eingangssignale (sE2) derart auswählt und das Ausgangssignal (sA2) der Neuronenschaltung (N2) derart im Zwischenspeicher (ZS) ablegt und/oder an Netzaus­ gangssignale (NA) weiterleitet, daß sie jeweils dem Spei­ cher (BT), den Eingangssignalen (sE) und dem Ausgangssignal (sA, sNA) verschiedener Neuronenschaltungen (N) entspre­ chen.
33. Schaltungsanordnung nach einem der Ansprüche 1 bis 32, dadurch gekennzeichnet, daß mindestens eine Neuronenschal­ tung (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 true DE4020001A1 (de) 1992-01-09
DE4020001C2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10021369A1 (de) * 2000-05-02 2001-11-08 Bernhard Mitterauer Rechensystem, insbesondere zur Simulation der menschlichen Wahrnehmung durch Sinnesorgane
CN112308219A (zh) * 2019-07-26 2021-02-02 爱思开海力士有限公司 执行算术运算的方法和执行算术运算的半导体器件

Citations (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
DE3927343A1 (de) * 1988-08-19 1990-03-01 Fuji Xerox Co Ltd Programmierbare fuzzylogikschaltung
US4912652A (en) * 1988-12-14 1990-03-27 Gte Laboratories Incorporated Fast neural network training

Patent Citations (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
DE3927343A1 (de) * 1988-08-19 1990-03-01 Fuji Xerox Co Ltd Programmierbare fuzzylogikschaltung
US4912652A (en) * 1988-12-14 1990-03-27 Gte Laboratories Incorporated Fast neural network training

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE-Z: Werntges, H., Eckmiller, R.: Neuronale Computer. In: c't Nr. 10/1988, S. 70-82 *
US-B.: Millmann, J., Halkias, C.: Integrated electronics, McGraw-Hill, 1972, S. 620-623 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10021369A1 (de) * 2000-05-02 2001-11-08 Bernhard Mitterauer Rechensystem, insbesondere zur Simulation der menschlichen Wahrnehmung durch Sinnesorgane
DE10021369B4 (de) * 2000-05-02 2005-03-31 Mitterauer, Bernhard, Prof. Dr. Rechensystem, insbesondere zur Simulation der menschlichen Wahrnehmung durch Sinnesorgane
DE10047187B4 (de) * 2000-05-02 2006-05-24 Mitterauer, Bernhard, Dr. Vorrichtung zum Steuern eines Robots mit einem Rechensystem
CN112308219A (zh) * 2019-07-26 2021-02-02 爱思开海力士有限公司 执行算术运算的方法和执行算术运算的半导体器件

Also Published As

Publication number Publication date
DE4020001C2 (de) 1995-01-26

Similar Documents

Publication Publication Date Title
DE3883192T2 (de) Neuronale Netzwerkschaltung und -struktur.
DE2008663C3 (de) Datenspeicher- und Datenspeicheransteuerschaltung
DE2354521A1 (de) Verfahren und einrichtung zum gleichzeitigen zugriff zu verschiedenen speichermoduln
DE1901343B2 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2133638C3 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
EP0875808A2 (de) Verfahren und System zur Generierung eines Prozessmodells eines technischen Prozesses
WO2019121206A1 (de) Verfahren zur realisierung eines neuronalen netzes
EP0708936B1 (de) Anordnung zur modellierung eines nichtlinearen prozesses
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE102018000205A1 (de) Numerische Steuerung
DE2235802C2 (de) Verfahren und Einrichtung zur Prüfung nichtlinearer Schaltkreise
DE4121453C2 (de) Näherungsschlußfolgerungsvorrichtung
DE10048478C2 (de) Verfahren zum Zugriff auf eine Speichereinheit bei der Suche nach Teilzeichenfolgen
DE3743438C2 (de) Verfahren und Einrichtung zum Erzeugen von Steuersignalen
DE4020001C2 (de) Schaltungsanordnung einer Neuronenschaltung und eines damit aufgebauten neuronalen Netzes
DE3607241C2 (de)
EP0548127B1 (de) Neuronales Netzwerk und Schaltungsanordnung zur Bool'schen Realisierung neuronaler Netze vom ADALINE-Typ
DE2459476A1 (de) Schaltungsanordnung fuer nichtzyklische datenpermutationen
DE3609925C2 (de)
WO2020193481A1 (de) Verfahren und vorrichtung für training und herstellung eines künstlichen neuronalen netzes
EP3869380A1 (de) Verfahren, computerbasiertes system und computerprogramm-produkt zum floorplanning für eine programmierbare gatteranordnung mit nicht-rechteckigen blockgrenzen
EP0416076A1 (de) Rechensystem zur simulation der grosshirnrinde
EP1483633B1 (de) Verfahren zur simulation eines technischen systems und simulator
DE3784581T2 (de) Verfahren zur bestimmung und beschreibung von konturen eines bildes und vorrichtung zum ausfuehren dieses verfahrens.
DE102017126846A1 (de) Künstliches Neuronales Netz und Verfahren hierzu

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