DE3938645C1 - - Google Patents
Info
- Publication number
- DE3938645C1 DE3938645C1 DE3938645A DE3938645A DE3938645C1 DE 3938645 C1 DE3938645 C1 DE 3938645C1 DE 3938645 A DE3938645 A DE 3938645A DE 3938645 A DE3938645 A DE 3938645A DE 3938645 C1 DE3938645 C1 DE 3938645C1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- neurons
- input
- output signal
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24317—Piecewise classification, i.e. whereby each classification requires several discriminant rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Description
Die Erfindung betrifft ein neuronales Netzwerk (neuronaler Netzwerk-
Signalprozessor), gemäß dem Oberbegriff des Anspruchs 1.
Dieses kann sich intern weiterentwickeln
oder den Algorithmus erlernen, der für das Erkennen
von Merkmalen direkt von Eingangssensorsignalen benötigt
wird. Die Erfindung betrifft ferner ein Verfahren zur Klassifizierung eines
Eingangssignales gemäß dem Oberbegriff des Anspruchs 14.
Die Fähigkeit zum Erkennen von Mustern ist ein Hauptschritt
in die Richtung der Entwicklung von künstlichen Systemen,
die in der Lage sind, Wahrnehmungsaufgaben durchzuführen,
die gegenwärtig nur von biologischen Systemen durchgeführt
werden können. Sprache und visuelle Mustererkennung sind
zwei Gebiete, in denen herkömmliche Computer ernsthaft überfordert
sind. Innerhalb der Bemühungen zur Entwicklung von
künstlichen Systemen, die diese und andere Aufgaben durchführen
können, wurde eine Anzahl von Signalverarbeitungstechniken
entwickelt, um Merkmale aus den Signalen zu gewinnen.
Diese Techniken verlangen herkömmlicherweise eine extensive
Vorverarbeitung. Eine solche Vorverarbeitung verlangt
z. B. das Messen von Pulsbreiten, Amplituden, Anstiegs-
und Fallzeiten, Frequenzen etc. Wenn diese Merkmale
gewonnen sind, können sie an gespeicherte Muster zur Klassifikation
und Identifikation des Signales angepaßt werden.
Die Software, die zum Durchführen dieser Schritte verlangt
wird, ist sehr oft komplex und sehr zeitintensiv zu
entwickeln. Hinzu kommt, daß konventionelle digitale Signalprozessoren
nicht in der Lage sind, bestimmte Variationen im
Eingangssignal zu tolerieren, wie z. B. Änderungen in der
Orientierung eines visuellen Musters, oder Änderung des
Sprechers im Falle von Spracherkennung.
In den vergangenen Jahren wurde erkannt, daß konventionelle
Von Neumann Computer, die seriell arbeiten, wenig Ähnlichkeit
mit der parallelen Verarbeitung haben, die in biologischen
Systemen wie dem Gehirn Verwendung findet. Es ist daher
nicht überraschend, daß konventionelle Signalverarbeitungstechniken
mangelhaft sein sollten, um die Aufgaben
adäquat durchzuführen, die an der menschlichen Wahrnehmung
beteiligt sind. Konsequenterweise wurden daher neue Verfahren
entwickelt, die auf neuronalen Modellen des Gehirns
basieren, um die Wahrnehmungsaufgaben durchzuführen. Diese
Systeme sind verschieden unter neuronalen Netzwerken, neuromorphischen
Systemen, lernenden Maschinen, parallelverteilten
Prozessoren, selbstorganisierenden Systemen, oder adaptiven
Logiksystemen bekannt. Unabhängig vom Namen verwenden
diese Modelle verschiedene nicht lineare Rechnerelemente,
die parallel arbeiten und die in Mustern angeordnet sind,
die an biologisch-neuronale Netzwerke erinnern. Jedes Rechnerelement
oder "Neuron" ist über Gewichtungen oder "Synapsen"
verbunden, die typischerweise durch Training angepaßt
sind, um die Durchführung zu verbessern. Infolgedessen zeigen
diese Systeme "Selbstlernen" durch Änderungen ihrer
synaptischen Gewichtungen, bis der richtige Ausgangswert in
Abhängigkeit eines bestimmten Eingangswertes erreicht wird.
Einmal angelernt, sind neuronale Netzwerke in der Lage, ein
Ziel zu erkennen und gewünschte Ausgangswerte zu produzieren,
selbst wenn der Eingangswert unvollständig oder in Hintergrundgeräuschen
versteckt ist. Des weiteren zeigen neuronale
Netzwerke größere Robustheit, oder Fehlertoleranz als
Von Neumann Seriencomputer, weil sie viel mehr Verarbeitungsknoten
aufweisen, die jeweils ursprüngliche Ortsverbindungen
aufweisen. Die Zerstörung von einigen Knoten oder
Verbindungen muß nicht die gesamte Durchführung signifikant
verschlechtern.
Es gibt eine große Anzahl von verschiedenen neuronalen
Netzwerkmodellen, die verschiedene Topologien,
Neuronencharakteristiken und Trainings- oder Anlernregeln
verwenden. Lernregeln spezifizieren einen internen Satz von
Gewichtungen und zeigen an, wie Gewichtungen während der
Verwendung oder dem Training angepaßt werden, um die
Funktion zu verbessern. Beispielhaft sollen hier einige
dieser neuronalen Netzwerkmodelle erwähnt sein, nämlich
Modelle mit einem Perceptron, gemäß der US-PS 32 87 649; dem
Hopfield Netzwerk, gemäß den US-PS 46 60 166 und 47 19 591
(J. Hopfield); dem Hamming Netzwerk und Kohohonen
Selbstorganisierungskarten, gemäß R. Lippman, "An
introduction to Computing with Neuronal nets", IEEE ASSP
Magazin, April 1987, Seiten 4-22; und den generalisierten
Delta-Regeln für vielfachgeschichtete Perceptronen,
beschrieben in Rumelhart, Hinton und Williams, "Learning
internal representation by error propagation", in D. E.
Rumelhart und J. L. McClelland (Eds), Parallel Distributed
Processing; Explorating in the Microstructure of Cognition,
Vol. 1: Foundations, MIT Press (1986).
Während jedes dieser Modelle in den jeweiligen Wahrnehmungsaufgaben,
zu denen sie sich am besten eignen, eine unterschiedliche
Vollkommenheit erreichen, bedingen die parallelen
Eingänge, die von diesen Systemen verlangt werden, für
spezielle Aufgaben angepaßte Vorprozessoren für die Realzeit-
Hardware-Implementierung (siehe den obenerwähnten
Artikel von R. Lippman). Z. B. empfängt in Rosenblatt′s
Perceptron gemäß US-PS 32 87 649 jeder Eingang ein separates
Frequenzband eines Analog-Audiosignales. Neuere, auf physiologische
Vorverarbeitungsprozessoren basierende Algorithmen
zur Spracherkennung versuchen Informationen bereitzustellen,
die denen vom Hörnerv erhältlichen vergleichbar sind. Während
neuronale Netzwerke den deutlichen Vorteil des
Selbstlernens und der Elimination von Software anbieten,
wird in bekannten neuronalen Netzwerken nach wie vor ein
bestimmter Betrag an Vorverarbeitung verlangt. Beispielhaft
wird hier auf die bereits erwähnte US-PS 32 87 649 verwiesen,
in der eine Vorverarbeitung beschrieben wird, welche
nötig ist, um Eingangssignale für die Weiterverarbeitung
durch Neuronen entsprechend aufzubereiten.
Obgleich bekannte neuronale Netzwerke weniger Vorverarbeitung
verlangen als digitale Signalprozessoren, weisen sie
nach wie vor diesen gemeinsamen Nachteil auf.
Es ist demnach die Aufgabe der vorliegenden Erfindung, ein
neuronales Netzwerk bereitzustellen, das in der Lage ist, in
Realzeit Signale zu verarbeiten und das eine Vorverarbeitung
unnötig macht bzw. signifikant reduziert, sowie ein zugehöriges Verfahren
zur Klassifizierung eines Eingangssignales anzugeben.
Diese Aufgabe wird erfindungsgemäß durch ein neuronales
Netzwerk gemäß dem Anspruch 1 sowie durch ein Verfahren zur
Klassifizierung eines Eingangssignales gemäß dem Anspruch 14
gelöst.
Gemäß der vorliegenden Erfindung wird ein neuronaler Netzwerk-
Signalprozessor (NSP) bereitgestellt, der keine Vorprozessoren
verlangt, sondern anstelle dessen unverarbeitete
Signaldaten empfangen und analysieren kann. Diese Daten können
eindimensionale oder mehrdimensionale optische, akustische,
oder sonstige Arten von Daten beinhalten. Der NSP ist
eine Merkmalsgewinnungs- und eine Mustererkennungsvorrichtung,
die unverarbeitete Sensorsignale als Eingangssignale
akzeptiert und Zielkennzeichen durch die Verwendung von
Merkmalsalgorithmen identifiziert, die es zuvor durch Beispiele
erlernt hat.
Gemäß der vorliegenden Erfindung beinhaltet der NSP eine
Schicht einer Eingangsverarbeitungseinheit, oder "Neuronen",
die mit anderen Schichten von ähnlichen Neuronen verbunden
ist. Die Neuronen sind untereinander durch gewichtete Verbindungen
oder "Synapsen" verbunden, je nach Verwendung des
bestimmten verwendeten neuronalen Netzwerkmodells. Die Neuronen
in der Eingangsschicht sind mit einem Sensor oder mit
einer anderen Signal erzeugenden Vorrichtung verbunden, um
das zu analysierende Signal zu empfangen. Dieses Signal kann
ein Target-Signal, das zu identifizieren ist, umfassen oder
es kann ein Target-Signal umfassen, das durch ein unverarbeitetes
Signal verfälscht wurde, z. B. durch externe
Signale, sowie ein unvollständiges Zielsignal oder Abänderungen
im Zielsignal.
Um das neuronale Netzwerk zum Erkennen anzulernen bzw. es
durch den richtigen Ausgangswert auf eine Zieleingabe antworten
zu lassen, wird ein Ziel oder ein Trainingseingang
wiederholt in den NSP eingeführt, wobei das Netzwerk die
Verbindungen zwischen den Neuronen solange anpaßt, bis es in
der gewünschten Form antwortet. Die bestimmten verwendeten
Trainingsalgorithmen sind jeweils an das bestimmte, speziell
verwendete neuronale Netzwerkmodell angepaßt. Die gewünschten
Ausgangsdaten könnten z. B. eine binäre Antwort sein, in
der bestimmte Ausgangsneuronen antworten, wenn das Zielsignal
anwesend ist und die nicht antworten, wenn es abwesend
ist. Es sollte festgestellt werden, daß der NSP so angelernt
werden kann, daß er auf mehr als ein Zielsignal antwortet.
Da das Wissen des NSP in den Verbindungen liegt, wenn genügend
Zwischenverbindungen da sind, kann in einer Trainingssitzung
das Netzwerk mit einer Anzahl von verschiedenen
Zielklassen trainiert werden. Einmal angelernt, wird das
Netzwerk mit den richtigen Ausgangsdaten antworten, wenn ein
Eingangssignal zu ihm geführt wird, das das Ziel beinhaltet,
selbst wenn das Eingangssignal Rauschen enthält oder anderweitig
verfälscht ist.
Gemäß der vorliegenden Erfindung wird während des Anlernens
und während der Identifizierung von unbekannten Signalen das
Eingangssignal direkt zu den Eingangsneuronen des NSP geführt.
Dies kann durch die Bewegung des Eingangssignales in
einer schrittweisen Art und Weise über die Eingangsneuronen
erreicht werden. Ein Schaltkreis, der eine Speichervorrichtung
verwendet, wie beispielsweise ein Abfrage- und Speicherglied,
wird benutzt, um das Signal für jeden diskreten
Schritt "anzuhalten". Anstelle der Verwendung eines Trainingsschemas,
in dem ein einzelner oder ein fester Satz von
Eingangsdaten verwendet wird, um das Netzwerk zur Herstellung
eines einzelnen Ausgangswertes zu trainieren, wird in
der vorliegenden Erfindung das Netzwerk viel mehr trainiert,
einen einzelnen Ausgangszustand in Antwort auf sich ändernde
Eingangsdaten zu produzieren, die aufeinanderfolgende Teile
der Eingangswellenform beinhalten. Auf diese Art und Weise
wird eine dynamische Art von Lernen verwendet, da ein wechselnder
Satz von Eingangsdaten das Netz lehrt, eine einzelne
Ausgangsdatenantwort zu geben.
In der bevorzugten Ausführungsform läuft der Trainingsvorgang
wie folgt ab. Zunächst ist das System in Ruhe und die
Gewichtungen zwischen den Neuronen sind auf verschiedene,
bevorzugt kleine Anzahl von Zufallswerten gesetzt. Dann wird
der erste Teil des Eingangssignales zu dem ersten Eingangsneuron
geleitet. Eingangsneuronen produzieren eine Antwort,
die eine Funktion des Eingangssignales ist. Diese Antwort
wird zu den Neuronen in den nachfolgenden Schichten durch
gewichtete Verbindungen geleitet. Das Signal breitet sich
solange durch das NSP aus, bis Ausgangsdaten durch die Neuronen
in der Ausgangsschicht erzeugt wurden. In dem "typischen"
Neuronennetzwerkmodell wird der Lernalgorithmus versuchen,
den Unterschied zwischen den tatsächlichen Ausgangsdaten
und den gewünschten Ausgangsdaten durch Veranlassung
eines Wechsels in den synaptischen Gewichtungen zwischen den
Neuronen zu minimieren.
Daraufhin wird das Eingangssignal durch den Abfragekreis um
einen Schritt befördert, so daß das erste Ausgangsneuron
einen zweiten Teil des Eingangssignales empfängt. Das Signal
breitet sich erneut durch das Netzwerk aus, ein neuer Ausgangswert
wird erzeugt, und die Gewichtungen werden erneut
justiert, um den Unterschied zwischen den tatsächlichen und
den korrekten Ausgangsdaten zu minimieren. Auf diese Art und
Weise werden die Gewichtungen nach jedem Schritt des Eingangssignales
über die Eingangsneuronen justiert.
Zu einem beliebigen Punkt nach Betreten des ersten Eingangsneurons
wird das Eingangssignal zu dem zweiten und nachfolgenden
Eingangsneuron fortschreiten. Infolgedessen wird,
nach einer bestimmten Anzahl von Schritten, der erste Teil
des Eingangssignales zu dem zweiten Eingangsneuron geleitet
und ein nachfolgender Teil wird zu dem ersten Eingangsneuron
geleitet. Zu diesem Zeitpunkt werden die Signale, die in die
ersten und zweiten Eingangsneuronen hineingebracht werden,
durch das Netzwerk simultan verarbeitet. In Abhängigkeit der
Länge des Eingangssignales und der Anzahl der Eingangsneuronen
der Eingangsschicht kann zu einem späteren Zeitpunkt ein
anderer, nachfolgender Teil des Eingangssignales zu jedem
der Eingangsneuronen simultan geleitet werden, wobei jeder
Teil des Signales durch das Netzwerk zur selben Zeit verarbeitet
wird. Wenn das gesamte Signal in der schrittweisen
Art und Weise durch jedes Eingangsneuron bewegt wurde, ist
der erste Trainingszyklus vollständig. Es sollte festgehalten
werden, daß herkömmlicherweise viele Trainingszyklen
notwendig sind, bevor der NSP ausreichend trainiert ist, um
die richtige Antwort zu geben. Zusätzliche Trainingszyklen
können dann für andere Zielsignale verwendet werden, deren
Klassifizierung durch den NSP gewünscht ist. Auf diese Art
und Weise wird der NSP trainiert, auf jedes verschiedene
Zielsignal eine verschiedene Antwort zu geben. Die Anzahl
der benötigten Trainingszyklen wird von einer Vielzahl von
Faktoren abhängen, wie dem Typ des Neuronennetzwerkmodells,
der Zahl der Neuronen, der Komplexität des Zielsignales, etc.
Nachdem das Training abgeschlossen ist, kann ein unbekanntes
Signal einer bestimmten Länge zu dem NSP geleitet werden.
Der Eingangsmechanismus kann mit dem während des Trainings
verwendeten identisch sein. Folglich wird das Signal durch
jedes Neuron der Eingangsschicht in einer Reihe von diskreten
Schritten geleitet, bis das gesamte Eingangssignal durch
jedes Eingangsneuron geleitet wurde. Indessen werden Gewichtungen
normalerweise nur während der Trainingszyklen geändert.
Alternativerweise kann es auch möglich sein, das unbekannte
Signal kontinuierlich zuzuführen, wobei auf die diskreten
Schritte, die während des Trainings verwendet wurden,
verzichtet wird.
Wenn das unbekannte Signal Teile des Zielsignales beinhaltet,
wird das Netzwerk mit den bestimmten Ausgangsdaten, die dem
Ziel während des Trainings entsprochen haben, antworten. Das
neuronale Netzwerk wird selbst dann antworten, wenn Rauschen
oder sonstige Änderungen vom reinen Zielsignal vorhanden
sind. Der NSP verwendet daher eine Struktur, die von beliebigen,
expliziten Signalverarbeitungsalgorithmen unabhängig
ist. Er verlangt keine Vorverarbeitung, keine Software, hat
eine innewohnende Fehlertoleranz und seine reguläre Architektur
führt zu einer hohen Geschwindigkeit, geringen Komplexität,
sowie zu einer Verwendbarkeit unter relativ geringen
Kosten.
Die jeweiligen Unteransprüche haben vorteilhafte Weiterbildungen
der Erfindung zum Inhalt.
Die Erfindung ist in der nachfolgenden Beschreibung
von Ausführungsformen anhand der Zeichnung erläutert.
Es zeigt
Fig. 1 ein Blockdiagramm eines bekannten digitalen Signalprozessors;
Fig. 2 ein Blockdiagramm des neuronalen Signalprozessor-
Netzwerks in Übereinstimmung mit der Lehre der vorliegenden
Erfindung;
Fig. 3 die graphische Darstellung einer typischen Sigmoid-
Aktivierungsfunktion ("sigmoid activation function")
in Übereinstimmung mit der Lehre der vorliegenden
Erfindung;
Fig. 4 ein Diagramm eines neuronalen Drei-Schichten-Netzwerkes
mit drei Neuronen pro Schicht in Übereinstimmung
mit der Lehre der vorliegenden Erfindung;
Fig. 5 ein Flußdiagramm, das die Schritte der rückwärts
Fehlausbreitungstechnik zum Training in Übereinstimmung
mit der vorliegenden Erfindung; und
Fig. 6 das Ergebnis einer Computersimulation des neuronalen
Netzwerk-Signalprozessors, das die Identifikation
von zwei Zielsignalen anzeigt.
In Fig. 1 ist ein Blockdiagramm eines konventionellen
Signalprozessors 10 dargestellt. Ein unverarbeitetes Analogsignal
12, das Ausgangsdaten (im folgenden sollen unter Eingangs-
und Ausgangsdaten alle Formen von Signalverläufen
verstanden werden) eines Sensors oder anderer signalerzeugender
Vorrichtungen beinhalten kann, wird zu dem Signalprozessor
10 geleitet. Eine Anzahl von Operationen wird dann
durchgeführt, um bestimmte Merkmale aus dem Signal 12 in
einer Merkmalextraktionsstufe 14 herauszusondern. Diese
Schritte können eine Messung der Pulsbreite, der Amplitude,
der Anstiegs- und Fallszeiten, der Frequenz etc. umfassen.
Die Ergebnisse des Merkmalsextraktionsprozesses werden dann
in einer Mustererkennungsstufe 16 analysiert, in der gespeicherte
Merkmale mit den extrahierten Merkmalen verglichen
werden und der Signalprozessor 10 nach einer Anpassung
sucht. Wenn die Anpassung gefunden ist, antwortet der Prozessor
10 mit der korrekten Klassifizierung. Derartige konventionelle
Signalprozessoren haben eine Reihe von Nachteilen.
Sie umfassen die Forderung, daß das Problem gut verstanden
ist und daß genaue und komplexe Algorithmen entwickelt werden
müssen. Des weiteren ist die Hardware, die zur Durchführung
konventioneller Signalverarbeitung benötigt wird,
kostenintensiv und komplex, insbesondere für Realzeitverarbeitung.
Die vorliegende Erfindung stellt ein neuronales Netzwerk
(Netzwerk-Signalprozessor NSP) bereit, der keine Software
benötigt, da die Algorithmen durch den Prozessor selbst während
des Trainings entwickelt werden. Ein Blockdiagramm der
bevorzugten Ausführungsform des NSP 20 ist in Fig. 2 dargestellt.
Der NSP 20 umfaßt eine Vielzahl von Reihen von individuellen
Prozessoren oder "Neuronen", die in einer Konfiguration
der generellen Klasse angeordnet sind, die als Multilayer
Perceptron bekannt ist. In einem Multilayer Perceptron
sind die Neuronen in drei oder mehr Schichten angeordnet.
Jedes Neuron erzeugt ein Ausgangssignal, das eine vorherbestimmte
Funktion seines Eingangssignales ist. Die erste,
oder die Eingangsschicht umfaßt Neuronen, die Eingangsneuronen
22 genannt werden und die Neuronen in der letzten
Schicht werden Ausgangsneuronen 24 genannt. Die Neuronen 22,
24 können aus einer Vielzahl von konventionellen digitalen
oder analogen Vorrichtungen konstruiert sein. Z. B. können
"op amps" für die Neuronen 22, 24 verwendet werden. Eine
oder mehrere innere Schichten umfassen Neuronen, die versteckte
Neuronen 26 genannt werden. Obwohl nur drei Neuronen
in jeder Schicht in Fig. 2 dargestellt sind, sollte klar
sein, daß eine beliebige Anzahl von Neuronen in Abhängigkeit
des bestimmten zu lösenden Problems verwendet werden kann.
Jedes Neuron in jeder Schicht ist mit jedem Neuron in jeder
benachbarten Schicht verbunden. Daraus folgt, daß jedes Eingangsneuron
22 mit jedem versteckten Neuron 26 in der
benachbarten inneren Schicht verbunden ist. Dementsprechend
ist jedes innere Neuron 26 mit jedem Neuron der nächst
benachbarten Schicht verbunden. Diese nächste Schicht kann
aus zusätzlichen inneren Neuronen 26 bestehen, oder, wie in
Fig. 2 dargestellt, sie kann die Ausgangsneuronen 24 umfassen.
Es sollte festgestellt werden, daß in einem Perceptron
die Neuronen nicht mit anderen Neuronen derselben Schicht
verbunden sind.
Jede der Verbindungen 27 zwischen den Neuronen beinhaltet
Gewichtungen oder "Synapsen" 28 (wobei nur einige Verbindungen
27 und der Synapsen 28 in Fig. 2 gekennzeichnet
sind, um Verwirrung zu vermeiden; indessen sind die Nummern
27 und 28 so gemeint, daß sie alle gezeigten Verbindungen 27
und Synapsen 28 beinhalten). Diese Synapsen 28 können mit
variablem Widerstand, oder mit Verstärkern mit variabler
Verstärkung, oder mit FET Verbindungssteuerungsvorrichtungen
unter Verwendung von Kapazitäten implementiert sein. Die
Synapsen 28 dienen dazu, die Stärke der Verbindung zwischen
den Neuronen zu reduzieren oder zu erhöhen. Obgleich die
Verbindung 27 mit einzelnen Linien dargestellt sind, ist es
klar, daß zwei individuelle Linien verwendet werden können,
um Signalübertragungen in zwei Richtungen bereitzustellen,
insofern dies während der Trainingsprozedur verlangt werden
wird. Der Wert der Verbindungsstärke von jeder Synapse 28
kann zwischen einigen vorherbestimmten Maximalwerten und
Null variieren. Wenn die Gewichtung Null ist, folgt daraus,
daß zwischen den zwei Neuronen keine Verbindung existiert.
Der Trainingsprozeß des NSP 20 zum Erkennen eines bestimmten
Signales beinhaltet die Justierung der Verbindungsstärken
von jeder Synapse 28 in einer sich wiederholenden Art und
Weise, bis der gewünschte Ausgangswert in Antwort auf einen
bestimmten Eingangswert hergestellt ist. Genauer gesagt
heißt dies, daß während des Trainings ein unverarbeitetes
Signal, das eine bekannte Wellenform, oder ein Ziel 30 beinhaltet,
zu der Eingangsneuronenschicht 22 geleitet wird. Der
besondere Eingangsmechanismus in Übereinstimmung mit der
vorliegenden Erfindung wird im folgenden detaillierter
beschrieben. Das Zielsignal 30 wird zu jedem Neuron 22 in
der Eingangsschicht geführt und ein bestimmtes Ausgangssignal
wird als Funktion der Verarbeitung durch jedes Neuron
und dem Gewichtungswert von jeder Synapse 28 erstellt. Der
Ausgangswert der Ausgangsneuronen 24 wird mit einem gewünschten
Ausgangswert verglichen und der Unterschied zwischen
dem tatsächlichen oder dem gewünschten Ausgangswert
wird errechnet. Ein auf diesen Unterschied basierendes Fehlersignal
wird dann bereitgestellt, um die Gewichtungen in
jeder Synapse 28 derart zu justieren, daß sich der Wert des
Ausgangsfehlers reduziert.
Die obige Trainingsprozedur wird so lange wiederholt, bis das
Fehlersignal auf einen akzeptablen Wert reduziert ist und
der NSP 20 den gewünschten Ausgangswert in Antwort auf den
Zieleingangswert 30 produziert. Einmal trainiert, wird ein
unbearbeitetes, zu identifizierendes oder zu klassifizierendes
Signal 32 zu den Eingangsneuronen 22 in der Art geleitet,
die der Art und Weise ähnelt, in der das Trainingssignal
30 vorgestellt wurde. Das zu identifizierende Signal 32
kann das Zielsignal 30 enthalten oder auch nicht, des weiteren
kann es eine entartete oder eine verrauschte Version des
Zielsignals 30 enthalten. Wenn das Ziel in irgendeiner Form
anwesend ist, wird der NSP 20 mit dem Ausgangswert antworten,
der dem des Zielsignals 30 während des Trainings entsprach.
Wenn das Zielsignal nicht anwesend ist, wird eine
davon verschiedene oder gar keine Antwort gegeben.
Der NSP 20 kann trainiert werden, so daß er mehr als ein
Ziel 30 erkennt. Die Anzahl der Ziele, die der NSP 20 in der
Lage ist zu erkennen, wird von verschiedenen Faktoren wie
der Zahl der Neuronen, der Zahl der Schichten und der Komplexität
des Zielsignals abhängen. Der NSP 20 kann eine
Vielzahl von Zielen erkennen, da, wenn der NSP 20 mit aufeinanderfolgenden
Zielen trainiert wurde, der effektive
"Pfad" eines jeden Zieles durch die Neuronen aufgrund der
verschiedenen Gewichtungen, die die Neuronen verbinden, verschieden
sein wird. Indessen existiert eine Grenze der
Zielanzahl, weil je mehr Targets vorgestellt werden, die
nachfolgenden Trainingsprozeduren die Gewichtungen vom vorangegangenen
Training verändert werden, um partiell die
Fähigkeit des NSP′s 20 zum Wiedererkennen des vorangegangenen
Ziels zu vermindern oder zu verwischen.
Unter Bezugnahme auf Fig. 4 soll nun die Arbeitsweise des
NSP 20 in Übereinstimmung mit der vorliegenden Erfindung im
Detail diskutiert werden. Die Eingangs- 22, versteckten 26
und Ausgangsneuronen 24 beinhalten jeweils ähnliche Verarbeitungseinheiten,
die einen oder mehrere Eingänge haben und
ein einzelnes Ausgangssignal erzeugen. In Übereinstimmung
mit der bevorzugten Ausführungsform wird nun eine modifizierte
Version des Rück-Ausbreitungs-Trainingsalgorithmus′
verwendet, der in dem obenerwähnten Artikel von Rumelhart
beschrieben wurde. Dieser Algorithmus verlangt, daß jedes
Neuron einen Ausgangswert produziert, der eine kontinuierlich
differenzierbare, nichtlineare oder halblineare Funktion
seines Eingangswertes ist. Es ist bevorzugt, daß diese
Funktion, die sich Aktivierungsfunktion nennt, eine
"sigmoid-logistische Nichtlinearität" der allgemeinen Form
ist, wobei y(ÿ) der Ausgangswert des Neurons j in der
Schicht i ist,
die Summe der Eingänge zum Neuron j
von der vorangegangenen Schicht ist, y(i,j) der Ausgangswert
von jedem Neuron in der vorangegangenen Schicht ist, wÿ die
Gewichtung ist, die in Verbindung mit jeder Synapse die Neuronen
in der vorangegangenen Schicht mit dem Neuron j verbinden,
und Rj eine Vorspannung ist, die in ihrer Funktion
einem Schwellwert ähnelt. Die generelle Form der "Sigmoid-
Funktion" y(ÿ) ist in Fig. 3 dargestellt. Die Ableitung der
Funktion y(ÿ) bezüglich ihres totalen Eingangswertes, netÿ=Σwÿy(ÿ)+Rj
ist gegeben durch
Folglich ist die Forderung, daß die Aktivierungsfunktion
differenzierbar ist, erfüllt.
Während des Trainings verbleibt die Aktivierungsfunktion
y(ÿ) für jedes Neuron gleich, wohingegen die Gewichtungen
von jeder Synapse 28 modifiziert werden. Folglich werden die
Verbindungsmuster als Funktion der Erfahrung modifiziert.
Die Gewichtungen einer jeden Synapse 28 werden gemäß
Δwÿ = ηδ(ik)y(ÿ) (3)
modifiziert, wobei δ(ik) ein Fehlersignal, das dem Neuron
zur Verfügung steht, das die Eingangswerte aus der Linie
empfängt, y(ÿ) ist der Ausgangswert der Einheit, das eine
Aktivierung entlang der Linie schickt, und η eine Proportionalitätskonstante
ist, die man auch Lernrate nennt.
Die Festlegung des Fehlersignals ist ein rekursiver Prozeß,
der mit den Ausgangseinheiten beginnt. Zunächst wird ein
Zielsignal 30 zu den Eingangsneuronen 22 übermittelt. Dies
hat ein Signal zur Folge, das sich durch den NSP 20 ausbreitet,
bis ein Ausgangssignal produziert ist. Dieses Ausgangssignal
wird dann mit dem gewünschten Ausgangssignal verglichen.
Z. B. kann ein binärer Ausgangswert erwünscht sein,
in dem in Antwort auf ein bestimmtes Zielsignal 30 bestimmte
der Ausgangsneuronen 24 "an" sind und die anderen "aus"
sind. Es sollte festgehalten werden, daß die Aktivierungsfunktion
y(ÿ) die Extremwerte von 1 oder Null ohne unendlich
große Gewichtungen nicht erreichen kann, so daß als
praktizierbarer Fall, in dem die gewünschten Ausgangswerte
Null oder 1 sind, Werte von 0,1 und 0,9 als Zielwerte verwendet
werden können. Der tatsächliche Ausgangswert, der
durch jedes Ausgangsneuron 24 produziert wird, wird mit dem
gewünschten Ausgangswert verglichen und das Fehlersignal
wird von dem Unterschied errechnet. Für Ausgangseinheiten
aus Formel (2) folgt dann
δÿ = (tÿ-yÿ)(yÿ)(1-y(ÿ)). (5)
Für versteckte Neuronen 26 existiert kein spezifiziertes
Ziel, so daß das Fehlersignal rekursiv festgelegt wird, im
Sinne der Fehlersignale in den Neuronen, mit denen sie
direkt verbunden sind sowie den Gewichtungen dieser Verbindungen.
Folglich gilt für Nicht-Ausgangsneuronen
δÿ = y(ÿ)(1-yÿ) Σkδikw(jk). (6)
Aus Gleichung (3) ist ersichtlich, daß die Lernrate η Einfluß
darauf nimmt, inwieweit die Gewichtungen sich jedesmal
ändern, wenn das Fehlersignal δ sich ausbreitet. Je größer η
ist, desto größer sind die Änderungen in der Gewichtung und
desto größer ist die Lernrate. Wenn indessen die Lernrate zu
groß gemacht wird, kann das System zu oszillieren beginnen.
Oszillationen können selbst bei großen Lernraten verhindert
werden, wenn man einen Kraftterm α einfügt. Folglich gilt:
Δw(i,j,k+l) = ηδy(ÿ)+αΔw(i,j,k). (7)
Die Konstante α legt die Wirkung von vergangenen Gewichtungswechseln
auf die gegenwärtige Richtung der Bewegung im
Gewichtungsraum fest, wobei eine Art Kraft im Bewegungsraum
bereitgestellt wird, die wirksam hohe Frequenzänderungen im
Gewichtsraum ausfiltert.
Eine Zusammenfassung des Rückwärts-Ausbreitungs-Trainingsalgorithmus
ist in Fig. 5 dargestellt. Zunächst werden die
Gewichtungen w und die Neuronen-Offsets auf kleine zufällige
Werte gesetzt (Schritt 34). Ein Teil des Zieleingangssignals
30 wird dann den Eingangsneuronen vorgelegt und der gewünschte
Ausgangswert wird festgelegt (Schritt 36). Nachdem
sich das Eingangssignal 30 durch jede Schicht von Neuronen
ausgebreitet hat, wird gegebenenfalls für jedes Ausgangsneuron
24 ein Ausgangswert errechnet, der auf der in Gleichung
(1) beschriebenen Sigmoid-Aktivierungsfunktion y(ÿ)
basiert. Daraufhin wird der tatsächliche Ausgangswert
erzeugt (Schritt 38) und mit dem gewünschten Ausgangswert
für jedes Ausgangsneuron 24 verglichen, und das Fehlersignal δ
in Gleichung (5) wird errechnet (Schritt 40). Das Fehlersignal
wird dann mit einer vorgesetzten Toleranz verglichen
(Schritt 42). Wenn das Fehlersignal größer ist als die Toleranz,
führt das Fehlersignal einen Rückwärtsschritt durch
das Netzwerk durch und jede Gewichtung wird um einen Betrag
Δw, wie in Gleichung (7) beschrieben, geändert (Schritt 44).
Das Zielsignal 30 wird erneut vorgestellt und die Gewichtungen
werden erneut wiederholt justiert, bis der Fehler auf
einen akzeptablen Wert reduziert ist. Wenn das Fehlersignal
kleiner ist als die gegenwärtige Toleranz (Schritt 42), ist
die Trainingsprozedur für das Zielsignal 30 komplett
(Schritt 46) und kann dann einem neuen Zielsignal ausgesetzt
werden. Wenn das Training für alle Zielsignale vollständig
ist, wird ein unbekanntes Signal 32 den Eingangsneuronen 22
ausgesetzt (Schritt 48). Nachdem sich das Signal durch das
Netzwerk ausgebreitet hat, werden die Ausgangsneuronen ein
Ausgangssignal produzieren. Wenn das Zielsignal in dem Eingangssignal
anwesend ist, wird das NSP 20 die gewünschte
Antwort produzieren, um das Zielsignal korrekt zu identifizieren
(Schritt 50).
In Übereinstimmung mit der vorliegenden Erfindung werden nun
die bestimmten Eingangsmechanismen der Eingangssignale in
die Eingangsneuronen 22 beschrieben. Unter Bezugnahme auf
Fig. 4 wird ein Eingangssignal, das den Zieleingang 30 oder
ein unbekanntes, zu klassifizierendes Signal 32 beinhaltet,
in die Eingangslinie 51 geleitet. Das Eingangssignal ist ein
Analogsignal, das von einer Vielzahl von Quellen ausgehen
kann. Z. B. kann das Eingangssignal eindimensionale Informationen
enthalten, die von einem oder einer Anzahl von
signalproduzierenden Sensoren wie Infrarot, Radar, Sonar und
Sprachsensoren ausgehen. Oder das Signal kann zweidimensionale
Daten zum Lösen von Problemen wie Objekterkennung und
Identifikation in Überwachung, Wiedererkennung, etc. beinhalten.
In einigen Fällen wird dieses Eingangssignal ein unverarbeitetes
Signal direkt von einem Sensor beinhalten, in anderen
Fällen wird es wünschenswert sein, eine Art von Vorverarbeitung
durchzuführen, so wie die Verwendung von Dopplerdaten
von Sensoren.
In jedem Fall wird das Eingangsdatensignal zu einer ersten
Reihe von Abfragekreisen 52, 54, 56 geleitet. Es sollte
gewürdigt werden, daß verschiedene Typen von Tastkreisen,
wie z. B. Frage- und Speicherglieder konstruiert werden
können, um die gewünschte Funktion bereitzustellen. Die
Aufgabe dieser Abtastkreise ist es, die Eingangsneuronen 22
mit einem Fenster von getasteten Daten darzustellen, das
so viele Proben beinhaltet, wie Eingangsneuronen 22 vorhanden
sind. Zunächst wird eine Probe der führenden Ecke des
Eingangssignals in den ersten Abtastkreis 52 geführt. Dieses
Eingangssignal wird dann durch das NSP 20 geleitet, bis ein
Ausgangssignal durch die Ausgangsneuronen 24 produziert
wird. Im nächsten Schritt wird der nächste Teil des
Eingangssignals durch den ersten Abtastkreis 52 getastet,
wobei der Teil, der durch den Abtastkreis 52 in dem vorangegangenen
Schritt empfangen wurde, zum nächsten Abtastkreis
54 geleitet wird. Infolgedessen breiten sich nun zwei
Signale von beiden Abtastkreisen 52 und 54 simultan durch
das NSP 20 aus. Die Abtastkreise werden durch Pulse aus
einem Taktgeberkreis 58 synchronisiert. Zu einem späteren
Zeitpunkt werden alle Eingangsneuronen 22 simultan verschiedene
Teile des Eingangssignales empfangen und der NSP 20
wird einen einzelnen Ausgangszustand für jeden Schritt
erzeugen. Gegebenenfalls wird das gesamte Eingangssignal
sich in einer schrittweisen Art und Weise von rechts nach
links durch das NSP 20 in Fig. 4 ausbreiten. Im Trainingszustand
wird der Trainingsalgorithmus die Gewichtungen nach
jedem Schritt justieren, bis das Ausgangssignal in einem
bestimmten gewünschten Zustand gebracht ist. Wenn sich das
NSP 20 nicht im Trainingsmode befindet, wird es die Gewichtungen
nicht justieren, sondern ein Ausgangszustand produzieren,
der dem Eingangssignal 32 entspricht. Da keine
Justierung der Gewichtung zum Analysieren von unbekannten
Signalen 32 nötig ist, kann das Signal alternativ unter
Verwendung von kleineren Schritten oder selbst auf kontinuierliche
Art und Weise durch die Abfragekreise 52, 54 und 56
eingegeben werden.
Eine Anzahl von Variablen wie die Signalbreite und Amplitude,
die Breite von jedem getasteten Schritt, die Anzahl
von Eingangs- 22, versteckten 26 und Ausgangsneuronen 24
wird mit dem bestimmten Typ des zu analysierenden Signals
variieren. Die Ergebnisse einer Software-Simulation des NSP
20 sind graphisch in Fig. 5 dargestellt, in der die Identifikation
von zwei Zielmustern durch einen dreischichtneuronalen
Netzwerk-Signalprozessor 20 demonstriert ist.
Es sollte festgehalten werden, daß über die Lösung von ein-
und zweidimensionalen Problemen wie oben erwähnt hinaus der
NSP 20 auch auf multidimensionale Probleme anpaßbar ist, wie
die Vorherbestimmung von Datenverschmelzungen, die natürliche
Sprachverarbeitung, Realzeitexpertensysteme (die keinen
Experten verlangen), multidimensionale Optimierungsklassen
von Problemen, und andere klassische Mustererkennungsprobleme.
Es sollte gewürdigt werden, daß die grundlegenden Komponenten
des NSP 20 aus konventionellen analog- oder digitalelektrischen
Schaltkreisen gebildet werden können,
genauso wie mit analogen VLSI-Schaltkreisen. Des weiteren
können auch optische Vorrichtungen für einige oder für alle
Funktionen des NSP 20 verwendet werden. Eine optische Ausführungsform
wurde aufgrund der kürzlichen Vorschritte in
Bereichen wie der holographischen Speicherung, der
Phasenkonjugationsoptiken und der Wellenfrontmodulation und
-mischung durchführbar. Hinzu kommt, daß wenn der NSP 20
einmal für die Wiedererkennung einer bestimmten Wellenform
trainiert wurde, ein NSP dann durch das Erstellen von exakten
Kopien des trainierten NSP 20 mit denselben fixierten
synaptischen Gewichtungswerten wie das trainierte NSP 20
eine unbegrenzte Anzahl mal reproduziert werden kann. In
diesem Fall ist eine Massenproduktion von NSP′s 20 möglich,
ohne daß der Trainingsprozeß wiederholt werden muß.
Aus der vorangegangenen Beschreibung kann entnommen werden,
daß die vorliegende Erfindung einen sehr schnellen
neuronalen Netzwerk-Signalprozessor 20 bereitstellt, der zum
Selbstlernen fähig ist und der mit nicht komplexen, Niedrigkosten-
Komponenten und ohne Software eingesetzt werden kann.
Er ist durch Schäden nicht so leicht beeinflußbar wie konventionelle
Signalprozessoren und kann eine Zielerkennung in
einer robusten Art und Weise durchführen. Einmal trainiert,
kann der NSP 20 nachfolgend für eine ganze neue Klasse von
Zielen "umtrainiert" werden.
Claims (19)
1. Neuronales Netzwerk (20) mit einer Vielzahl von Neuronen
(22, 24, 26), welche angepaßt sind, um externe Signale
(30, 32) zu empfangen und angepaßt sind, ein Ausgangssignal
darzustellen, sowie mit einer Vielzahl von
verbindenden Synapsen (28), die Gewichtungen der
Verbindungen (27) zwischen den Neuronen (22, 24, 26)
bereitstellen, wobei das neuronale Netzwerk (20) geeignet
ist, sich selbst anzupassen, um ein gewünschtes
Ausgangssignal in Antwort auf ein Eingangssignal (32)
durch Wechseln der Werte der Verbindungen (27) zu produzieren,
mit:
einer Vielzahl von Eingangsneuronen (22), die angepaßt sind, die externen Signale (30, 32) zu empfangen;
Leitvorrichtungen (51, 52, 54, 56, 58), um ausgewählte aufeinanderfolgende Teile der externen Signale (30, 32) direkt in die Eingangsneuronen (22) zu leiten;
Änderungsvorrichtungen, um die Gewichtungen der Verbindungen (27) zu ändern, so daß das gewünschte Ausgangssignal während einer Übungsprozedur produziert wird, wobei zu jeder Zeit ein Übungssignal zu den Eingangsneuronen (22) geleitet wird, wobei nach einer Vielzahl von Übungsprozeduren das neuronale Netzwerk (20) mit dem gewünschten Ausgangssignal auf ein Eingangssignal (32) antworten wird, das Teile des Übungssignals (30) enthält, dadurch gekennzeichnet, daß die Leitvorrichtungen (51, 52, 54, 56, 58) Beförderungsvorrichtungen (52, 54, 56, 58) enthalten, um die externen Signale (30, 32) so zu befördern, daß die gesamten externen Signale (30, 32) sukzessiv vom ersten der Eingangsneuronen bis zum letzten der Eingangsneuronen geleitet werden.
einer Vielzahl von Eingangsneuronen (22), die angepaßt sind, die externen Signale (30, 32) zu empfangen;
Leitvorrichtungen (51, 52, 54, 56, 58), um ausgewählte aufeinanderfolgende Teile der externen Signale (30, 32) direkt in die Eingangsneuronen (22) zu leiten;
Änderungsvorrichtungen, um die Gewichtungen der Verbindungen (27) zu ändern, so daß das gewünschte Ausgangssignal während einer Übungsprozedur produziert wird, wobei zu jeder Zeit ein Übungssignal zu den Eingangsneuronen (22) geleitet wird, wobei nach einer Vielzahl von Übungsprozeduren das neuronale Netzwerk (20) mit dem gewünschten Ausgangssignal auf ein Eingangssignal (32) antworten wird, das Teile des Übungssignals (30) enthält, dadurch gekennzeichnet, daß die Leitvorrichtungen (51, 52, 54, 56, 58) Beförderungsvorrichtungen (52, 54, 56, 58) enthalten, um die externen Signale (30, 32) so zu befördern, daß die gesamten externen Signale (30, 32) sukzessiv vom ersten der Eingangsneuronen bis zum letzten der Eingangsneuronen geleitet werden.
2. Neuronales Netzwerk nach Anspruch 1, worin eine Vielzahl
von den Eingangsneuronen (22) verschiedene Teile
der externen Signale (30, 32) simultan empfangen.
3. Neuronales Netzwerk nach Anspruch 1, worin die Leitvorrichtungen
(51, 52, 54, 56, 58) ferner eine Vielzahl
von Tastschaltkreisen (52, 54, 56) beinhalten, von
denen jeder mit einem Eingangsneuron (22) verbunden
ist, um einen Teil des externen Signals in das Eingangsneuron
(22) zu leiten.
4. Neuronales Netzwerk nach Anspruch 3, worin die Leitvorrichtungen
(51, 52, 54, 56, 58) zum Befördern der externen
Signale ferner beinhalten:
Übertragungsvorrichtungen (51) zum Übertragen der Ausgangssignale von jedem der Tastschaltkreise (52, 54, 56) zu dem Eingang des nächstfolgenden Tastschaltkreises (52, 54, 56); und
Zeitvorrichtungen (58), zur Synchronisation der Übertragung der Ausgangssignale von jedem Tastschaltkreis (52, 54, 56).
Übertragungsvorrichtungen (51) zum Übertragen der Ausgangssignale von jedem der Tastschaltkreise (52, 54, 56) zu dem Eingang des nächstfolgenden Tastschaltkreises (52, 54, 56); und
Zeitvorrichtungen (58), zur Synchronisation der Übertragung der Ausgangssignale von jedem Tastschaltkreis (52, 54, 56).
5. Neuronales Netzwerk nach Anspruch 1, worin die Änderungsvorrichtungen
ferner beinhalten:
Rechnervorrichtungen, um den Unterschied zwischen dem gewünschten Ausgangssignal und dem tatsächlichen Ausgangssignal während den Übungsprozeduren zu errechnen; und
Minimierungsvorrichtungen, um den Unterschied zwischen dem gewünschten Ausgangssignal und dem tatsächlichen Ausgangssignal zu vermindern.
Rechnervorrichtungen, um den Unterschied zwischen dem gewünschten Ausgangssignal und dem tatsächlichen Ausgangssignal während den Übungsprozeduren zu errechnen; und
Minimierungsvorrichtungen, um den Unterschied zwischen dem gewünschten Ausgangssignal und dem tatsächlichen Ausgangssignal zu vermindern.
6. Neuronales Netzwerk nach Anspruch 1, worin die externen
Signale (30, 32) analoge Wellenformen beinhalten, die
von einem Sensor ausgehen.
7. Neuronales Netzwerk nach Anspruch 1, worin das gewünschte
Ausgangssignal ein binäres Signal ist, das von
einer Vielzahl der Neuronen (22, 24, 26) produziert
wird.
8. Neuronales Netzwerk nach Anspruch 1, worin die Neuronen
(22, 24, 26) ferner beinhalten:
eine Schicht von Eingangsneuronen (22);
wenigstens eine Schicht von inneren Neuronen (26); und
eine Schicht von Ausgangsneuronen (24), wobei die Synapsen (28) Gewichtungen der Verbindungen (27) zwischen jedem Neuron (22, 24, 26) in jeder benachbarten Schicht bereitstellen.
eine Schicht von Eingangsneuronen (22);
wenigstens eine Schicht von inneren Neuronen (26); und
eine Schicht von Ausgangsneuronen (24), wobei die Synapsen (28) Gewichtungen der Verbindungen (27) zwischen jedem Neuron (22, 24, 26) in jeder benachbarten Schicht bereitstellen.
9. Neuronales Netzwerk nach Anspruch 1, worin jedes der
Neuronen (22, 24, 26) einen Ausgangswert y(ÿ) produziert,
welcher eine kontinuierlich differenzierbare,
nichtlineare oder halblineare Funktion y(ÿ) (Aktivierungsfunktion)
seines Eingangswertes ist.
10. Neuronales Netzwerk nach Anspruch 1, worin jedes der
Neuronen (22, 24, 26) einen Ausgangswert yÿ produziert,
der eine kontinuierlich differenzierbare nichtlineare
oder halblineare Funktion yÿ (Aktivierungsfunktion)
seines jeweiligen Eingangswertes ist, wobei
die Funktion die Form aufweist:
abhängt, wobei y(ÿ) der Ausgangswert von jedem Neuron
(22, 24, 26) in der vorangegangenen Schicht ist, w(ji)
die Gewichtung ist, die mit jeder Synapse (28) verbunden
ist, die die Neuronen (22, 24, 26) in der vorangegangenen
Schicht mit dem Neuron j verbindet, und Rj
eine feste Vorspannung ist.
11. Neuronales Netzwerk nach Anspruch 5, worin die Rechnervorrichtungen
zum Errechnen der Differenz zwischen dem
gewünschten Ausgangssignal und dem tatsächlichen Ausgangssignal
ein Fehlersignal erzeugen, das sich zu jedem
Neuron (22, 24, 26) hin ausbreitet, wobei das Fehlersignal
die Form
δÿ = (tÿ-yÿ) y(ÿ)(1-yÿ)annimmt, wobei t(ÿ) der gewünschte Ausgangswert von
jedem Neuron (22, 24, 26) und
worin die Minimierungsvorrichtungen zum Minimieren der Differenz zwischen dem gewünschten Ausgangswert und dem tatsächlichen Ausgangswert die Gewichtungen um einen Betrag Δw justieren, der nach der Formel errechnet wird, wobei η eine Konstante ist, die auch Lernrate genannt wird und α eine Konstante ist, die die Wirkung von vorangegangenen Gewichtungswechseln auf die gegenwärtige Bewegung im Gewichtsraum festlegt.
worin die Minimierungsvorrichtungen zum Minimieren der Differenz zwischen dem gewünschten Ausgangswert und dem tatsächlichen Ausgangswert die Gewichtungen um einen Betrag Δw justieren, der nach der Formel errechnet wird, wobei η eine Konstante ist, die auch Lernrate genannt wird und α eine Konstante ist, die die Wirkung von vorangegangenen Gewichtungswechseln auf die gegenwärtige Bewegung im Gewichtsraum festlegt.
12. Neuronales Netzwerk (20) nach einem der Ansprüche 8, 5,
4 oder 3, wobei das Netzwerk ein Vielfach-Schicht-Perceptron
ist; und
die Ausgangssignale der Eingangsneuronen (22) eine Sigmoidfunktion der externen Signale (30, 32) ist;
die inneren Neuronen (26) angepaßt sind, die Ausgangssignale von den Eingangsneuronen (27) zu empfangen und ein Ausgangssignal zu produzieren, welches eine Sigmoidfunktion des empfangenen Signals ist;
die Ausgangsneuronen (24) angepaßt sind, die Ausgangssignale von den inneren Neuronen (26) zu empfangen und ein Ausgangssignal zu erzeugen, das eine Sigmoidfunktion des empfangenen Signals ist.
die Ausgangssignale der Eingangsneuronen (22) eine Sigmoidfunktion der externen Signale (30, 32) ist;
die inneren Neuronen (26) angepaßt sind, die Ausgangssignale von den Eingangsneuronen (27) zu empfangen und ein Ausgangssignal zu produzieren, welches eine Sigmoidfunktion des empfangenen Signals ist;
die Ausgangsneuronen (24) angepaßt sind, die Ausgangssignale von den inneren Neuronen (26) zu empfangen und ein Ausgangssignal zu erzeugen, das eine Sigmoidfunktion des empfangenen Signals ist.
13. Neuronales Netzwerk nach Anspruch 3, in dem die Zahl
der Tastschaltkreise (52, 54, 56) gleich der Anzahl der
Eingangsneuronen (22) ist.
14. Verfahren zur Klassifizierung eines Eingangssignals
(32) mit einer charakteristischen Wellenform, wobei das
Verfahren die Schritte beinhaltet:
Empfang des Eingangssignals (32) durch ein Netzwerk (20) von Verarbeitungseinheiten (22, 24, 26);
Produzieren einer Vielzahl von zwischengelagerten Signalen durch die Verarbeitungseinheiten (22, 24, 26), die jeweils eine Funktion der Probenteile des Eingangssignals (32) und einer damit verbundenen Gewichtungsfunktion sind;
Produzieren einer Ausgangssignalantwort, die von wenigstens einem der zwischengelagerten Signale abhängig ist;
Anlernen des Netzwerks (20) durch Vergleichen der Ausgangssignale, die in Antwort auf ein Übungssignal (30) produziert werden, mit einem gewünschten Ausgangssignal; und
Modifizieren der Gewichtungsfunktion, um den Unterschied zwischen dem produzierten Ausgangssignal und dem gewünschten Ausgangssignal zu reduzieren; und
Vergleichen des Ausgangssignals, das in Antwort auf ein unbekanntes Eingangssignal (32) produziert wird mit dem gewünschten Ausgangssignal, wodurch das unbekannte Signal (32) klassifiziert werden kann, wenn das produzierte Ausgangssignal an das gewünschte Ausgangssignal angepaßt wurde, dadurch gekennzeichnet, daß der Empfangsschritt die Schritte beinhaltet:
Simultanes Probennehmen einer Vielzahl von aufeinanderfolgenden Teilen des Eingangssignals (32);
Leiten der Probenteile des Eingangssignals (32) zu einer Vielzahl der Verarbeitungseinheiten (22, 24, 26),
wobei die Probenteile des Eingangssignals (32) sukzessive durch Aufeinanderfolge der Arbeitungseinheiten befördert werden, bis daß das gesamte Eingangssignal (32) verarbeitet wurde.
Empfang des Eingangssignals (32) durch ein Netzwerk (20) von Verarbeitungseinheiten (22, 24, 26);
Produzieren einer Vielzahl von zwischengelagerten Signalen durch die Verarbeitungseinheiten (22, 24, 26), die jeweils eine Funktion der Probenteile des Eingangssignals (32) und einer damit verbundenen Gewichtungsfunktion sind;
Produzieren einer Ausgangssignalantwort, die von wenigstens einem der zwischengelagerten Signale abhängig ist;
Anlernen des Netzwerks (20) durch Vergleichen der Ausgangssignale, die in Antwort auf ein Übungssignal (30) produziert werden, mit einem gewünschten Ausgangssignal; und
Modifizieren der Gewichtungsfunktion, um den Unterschied zwischen dem produzierten Ausgangssignal und dem gewünschten Ausgangssignal zu reduzieren; und
Vergleichen des Ausgangssignals, das in Antwort auf ein unbekanntes Eingangssignal (32) produziert wird mit dem gewünschten Ausgangssignal, wodurch das unbekannte Signal (32) klassifiziert werden kann, wenn das produzierte Ausgangssignal an das gewünschte Ausgangssignal angepaßt wurde, dadurch gekennzeichnet, daß der Empfangsschritt die Schritte beinhaltet:
Simultanes Probennehmen einer Vielzahl von aufeinanderfolgenden Teilen des Eingangssignals (32);
Leiten der Probenteile des Eingangssignals (32) zu einer Vielzahl der Verarbeitungseinheiten (22, 24, 26),
wobei die Probenteile des Eingangssignals (32) sukzessive durch Aufeinanderfolge der Arbeitungseinheiten befördert werden, bis daß das gesamte Eingangssignal (32) verarbeitet wurde.
15. Verfahren nach Anspruch 14, worin die Beförderung des
Eingangswertes in diskreten Schritten vollzogen wird
und die Gewichtungsfunktion nach jedem diskreten
Schritt während des Trainingsschritts modifiziert wird.
16. Verfahren nach Anspruch 14, worin der Schritt zum Produzieren
einer Vielzahl von zwischengelagerten Signalen
und der Schritt zum Produzieren einer Ausgangssignalantwort
beide des weiteren den Schritt zum Produzieren
eines Signals in Übereinstimmung mit einer kontinuierlich
differenzierbaren, nichtlinearen oder halblinearen
Funktion y(ÿ) (Aktivierungsfunktion) beinhalten.
17. Verfahren nach Anspruch 14, worin der Schritt zum Produzieren
einer Vielzahl von zwischengelagerten Signalen
und der Schritt zum Produzieren einer Ausgangssignalantwort
beide des weiteren den Schritt zum Produzieren
eines Signals in Übereinstimmung mit einer kontinuierlich
differenzierbaren, nichtlinearen oder halblinearen
Funktion y(ÿ) gemäß der Form
beinhalten, wobei y(ÿ) der Ausgangswert von jedem Neuron
(22, 24, 26) in der vorangegangenen Schicht ist,
wji die Gewichtung ist, die mit jeder Synapse (28)
verbunden ist, die die Neuronen (22, 24, 26) in der
vorangegangenen Schicht mit dem Neuron j verbinden und
Rj eine Vorspannung ist.
18. Verfahren nach Anspruch 14, worin der Schritt zur Modifizierung
der Gewichtungsfunktion die Änderung der Gewichtungsfunktion
um einen Betrag
Δwÿk+1 = ηδÿ yÿ+αΔw(ÿk),umfaßt, wobeiδ(ÿ) = (tÿ-yÿ) y(ÿ)(1-yÿ)ein Fehlersignal ist,
und tÿ der gewünschte Ausgangswert von jedem Neuron
(22, 24, 26) in der vorangegangenen Schicht und yÿ der
tatsächliche Ausgangswert von jedem Neuron in der vorangegangenen
Schicht ist, und η eine Konstante ist, die
auch Lernrate genannt wird und α eine Konstante ist,
die die Wirkung von vorangegangenen Gewichtungswechseln
auf die gegenwärtige Bewegung im Gewichtsraum festlegt.
19. Verfahren nach Anspruch 14, das des weiteren den Schritt
aufweist:
Setzen von Gewichtungen in einem zweiten Netzwerk, so daß sie den Gewichtungen in dem trainierten Netzwerk (20) entsprechen, wobei eine unbegrenzte Zahl von trainierten Netzwerken von einem einzelnen trainierten Netzwerk (20) produziert werden kann.
Setzen von Gewichtungen in einem zweiten Netzwerk, so daß sie den Gewichtungen in dem trainierten Netzwerk (20) entsprechen, wobei eine unbegrenzte Zahl von trainierten Netzwerken von einem einzelnen trainierten Netzwerk (20) produziert werden kann.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB8924550A GB2245401A (en) | 1989-11-01 | 1989-11-01 | Neural network signal processor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3938645C1 true DE3938645C1 (de) | 1992-05-21 |
Family
ID=10665496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3938645A Expired - Fee Related DE3938645C1 (de) | 1989-11-01 | 1989-11-21 |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE3938645C1 (de) |
GB (1) | GB2245401A (de) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4207595A1 (de) * | 1992-03-10 | 1993-09-16 | Siemens Ag | Verfahren zur vorklassifikation von hochdimensionalen merkmalsvektoren fuer zwecke der signalverarbeitung |
DE4241990A1 (de) * | 1992-12-12 | 1994-06-16 | Rwe Entsorgung Ag | Verfahren zum Erkennen von Objekten und Vorrichtung zur Durchführung des Verfahrens |
WO1994017391A1 (en) * | 1993-01-28 | 1994-08-04 | Shell Internationale Research Maatschappij B.V. | Method for prediction of physical property data of hydrocarbon products |
DE4433772A1 (de) * | 1994-09-22 | 1996-03-28 | Micro Epsilon Messtechnik | Sensoranordnung und Verfahren zur Meßwerterfassung mit der Sensoranordnung |
WO2003063368A2 (en) | 2002-01-22 | 2003-07-31 | Bae Systems Information And Electronic Systems Integration Inc. | Digital rf tag |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5377108A (en) * | 1992-04-28 | 1994-12-27 | Takata Corporation | Method for predicting impact and an impact prediction system for realizing the same by using neural networks |
EP0582885A3 (en) * | 1992-08-05 | 1997-07-02 | Siemens Ag | Procedure to classify field patterns |
AU5150193A (en) * | 1992-10-07 | 1994-04-26 | Octrooibureau Kisch N.V. | Apparatus and a method for classifying movement of objects along a passage |
US9519049B1 (en) * | 2014-09-30 | 2016-12-13 | Raytheon Company | Processing unknown radar emitters |
WO2016058055A1 (en) * | 2014-10-17 | 2016-04-21 | University Of Western Sydney | Trainable analogue block |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3287649A (en) * | 1963-09-09 | 1966-11-22 | Research Corp | Audio signal pattern perception device |
EP0314170A2 (de) * | 1987-10-28 | 1989-05-03 | Nec Corporation | Mehrschichtiges Neuronalnetzwerk mit dynamischer Programmierung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4326259A (en) * | 1980-03-27 | 1982-04-20 | Nestor Associates | Self organizing general pattern class separator and identifier |
WO1988010474A1 (en) * | 1987-06-18 | 1988-12-29 | University Of West Virginia | State analog neural network and method of implementing same |
GB8720387D0 (en) * | 1987-08-28 | 1987-10-07 | British Telecomm | Matching vectors |
US4874963A (en) * | 1988-02-11 | 1989-10-17 | Bell Communications Research, Inc. | Neuromorphic learning networks |
-
1989
- 1989-11-01 GB GB8924550A patent/GB2245401A/en not_active Withdrawn
- 1989-11-21 DE DE3938645A patent/DE3938645C1/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3287649A (en) * | 1963-09-09 | 1966-11-22 | Research Corp | Audio signal pattern perception device |
EP0314170A2 (de) * | 1987-10-28 | 1989-05-03 | Nec Corporation | Mehrschichtiges Neuronalnetzwerk mit dynamischer Programmierung |
Non-Patent Citations (3)
Title |
---|
GB-Buch: KRAUSE, A., HACKBARTH, H.: "Scaly Arti- fical Neural Networks for Speaker-Indespendent Recognition of Isolated Words". In: IEEE Inter- national Conference on Acoustics, Speech, and Signal Processing, Glasgow, Scotland, 23.-26.5.1959, S. 21-24 * |
US-Buch: RUMELHART, D.E. et al.: Parallel Distributed Processing, Vol. 1, MIT Press, 3. Aufl., 1987, Chapter 8, S. 318-362 * |
Weick Manfred: Wie können Computer lernen? In: DE-Z Elektronik, H. 8, 15.4.1988, S. 102-113 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4207595A1 (de) * | 1992-03-10 | 1993-09-16 | Siemens Ag | Verfahren zur vorklassifikation von hochdimensionalen merkmalsvektoren fuer zwecke der signalverarbeitung |
DE4241990A1 (de) * | 1992-12-12 | 1994-06-16 | Rwe Entsorgung Ag | Verfahren zum Erkennen von Objekten und Vorrichtung zur Durchführung des Verfahrens |
WO1994017391A1 (en) * | 1993-01-28 | 1994-08-04 | Shell Internationale Research Maatschappij B.V. | Method for prediction of physical property data of hydrocarbon products |
DE4433772A1 (de) * | 1994-09-22 | 1996-03-28 | Micro Epsilon Messtechnik | Sensoranordnung und Verfahren zur Meßwerterfassung mit der Sensoranordnung |
WO2003063368A2 (en) | 2002-01-22 | 2003-07-31 | Bae Systems Information And Electronic Systems Integration Inc. | Digital rf tag |
EP1468307A2 (de) * | 2002-01-22 | 2004-10-20 | BAE Systems Information and Electronic Systems Integration Inc. | Digital-hf-tag |
EP1468307A4 (de) * | 2002-01-22 | 2006-01-04 | Bae Systems Information | Digital-hf-tag |
Also Published As
Publication number | Publication date |
---|---|
GB2245401A (en) | 1992-01-02 |
GB8924550D0 (en) | 1991-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3938645C1 (de) | ||
DE3855035T2 (de) | Mehrschichtiges Neuronalnetzwerk mit dynamischer Programmierung | |
DE60130742T2 (de) | Mustererkennung mit hierarchischen Netzen | |
DE60128029T2 (de) | Gerät und Verfahren zur Detektion oder Erkennung von Mustern mittels einer Vielzahl von Merkmaldetektionselementen | |
DE68924822T2 (de) | Signalverarbeitungssystem und Lernverarbeitungssystem. | |
DE3689049T2 (de) | Selbstanpassender Prozessor. | |
DE4217832C2 (de) | Mustererkennungsgerät | |
DE68928484T2 (de) | Verfahren zum erkennen von bildstrukturen | |
DE68922624T2 (de) | Verteiltes parallelverarbeitungsnetzwerk, worin die verbindungsgewichte mit hilfe von starren differentialgleichungen erzeugt werden. | |
DE3853880T2 (de) | Einrichtung zur mustererkennung. | |
DE102005046747B3 (de) | Verfahren zum rechnergestützten Lernen eines neuronalen Netzes und neuronales Netz | |
DE10296704T5 (de) | Fuzzy-Inferenznetzwerk zur Klassifizierung von hochdimensionalen Daten | |
DE112011101370T5 (de) | Neuronales Netz mit kanonischen gepulsten Neuronen für einen raumzeitlichen Assoziativspeicher | |
DE102019209644A1 (de) | Verfahren zum Trainieren eines neuronalen Netzes | |
DE69124231T2 (de) | Künstliche neuronale anlage | |
DE112020001369T5 (de) | Gepulste synaptische elemente für gepulste neuronale netze | |
EP3557487A1 (de) | Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken | |
DE102018127802A1 (de) | Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine | |
DE3851872T2 (de) | Wortkettenerkennungssysteme mit längs einer Signalzeitachse angeordneten neuralen Netzen. | |
DE3929481C2 (de) | ||
DE69029538T2 (de) | Lernverfahren, neuronales Netz und Rechner zur Simulation eines solchen neuronalen Netzes | |
DE4121453C2 (de) | Näherungsschlußfolgerungsvorrichtung | |
EP0890153B1 (de) | Verfahren zur ermittlung von zur entfernung geeigneten gewichten eines neuronalen netzes mit hilfe eines rechners | |
DE4417932B4 (de) | Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten | |
EP1359539A2 (de) | Neurodynamisches Modell der Verarbeitung visueller Informationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of patent without earlier publication of application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8363 | Opposition against the patent | ||
8339 | Ceased/non-payment of the annual fee |