DE4020001A1 - Schaltungsanordnung eines neuronalen netzes - Google Patents
Schaltungsanordnung eines neuronalen netzesInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Feedback Control In General (AREA)
Description
Die Erfindung betrifft eine Schaltungsanordnung 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
Gi = Gi-1 * Zi für i = 2, . . . n
mit:
G₁ = Gewicht eines ersten Eingangs E,
Gi = Gewicht weiterer Eingänge E,
Zi = Anzahl der Bereiche eines i-ten Eingangs,
n = Anzahl der Eingänge einer Neuronenschaltung.
Gi = Gewicht weiterer Eingänge E,
Zi = Anzahl der Bereiche eines i-ten Eingangs,
n = Anzahl der Eingänge einer Neuronenschaltung.
Der Basisindex BI berechnet sich dann aus:
mit:
BI = Basisindex,
BNi = Bereichsnummer eines i-ten Eingangssignals.
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.
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.
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)
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)
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 |
-
1990
- 1990-06-24 DE DE4020001A patent/DE4020001C2/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2920041C2 (de) * | 1979-05-18 | 1986-09-04 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren zum Verifizieren von Signalen, und Anordnung zum Durchführen des Verfahrens |
US4866645A (en) * | 1987-12-23 | 1989-09-12 | North American Philips Corporation | Neural network with dynamic refresh capability |
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)
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)
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 |