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
Application number
DE3938645A
Other languages
English (en)
Inventor
Patrick F. Yorba Linda Calif. Us Castelaz
Dwight E. La Verne Calif. Us Mills
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hughes Aircraft Co filed Critical Hughes Aircraft Co
Application granted granted Critical
Publication of DE3938645C1 publication Critical patent/DE3938645C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24317Piecewise 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.
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).
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.
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.
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.
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.
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.
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.
DE3938645A 1989-11-01 1989-11-21 Expired - Fee Related DE3938645C1 (de)

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)

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

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

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

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

Patent Citations (2)

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

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

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