DE3689049T2 - Selbstanpassender Prozessor. - Google Patents

Selbstanpassender Prozessor.

Info

Publication number
DE3689049T2
DE3689049T2 DE86301652T DE3689049T DE3689049T2 DE 3689049 T2 DE3689049 T2 DE 3689049T2 DE 86301652 T DE86301652 T DE 86301652T DE 3689049 T DE3689049 T DE 3689049T DE 3689049 T2 DE3689049 T2 DE 3689049T2
Authority
DE
Germany
Prior art keywords
value
array
cell
cells
oneu
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
DE86301652T
Other languages
English (en)
Other versions
DE3689049D1 (de
Inventor
Tad Hogg
Bernardo A Huberman
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.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Publication of DE3689049D1 publication Critical patent/DE3689049D1/de
Application granted granted Critical
Publication of DE3689049T2 publication Critical patent/DE3689049T2/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Description

  • Diese Erfindung betrifft digitale Parallelprozessoren oder Prozessoranordnungen von der Art, die eine zweidimensionale Matrix von im wesentlichen identischen, miteinander verbundenen Zellen aufweist, die Signale von anderen Zellen in der Matrix empfangen können, um Transformationsoperationen sequentiell bei einer Mehrzahl von Eingangssignalen durchzuführen, um einen Ausgang auf der Grundlage solcher Operationen zu erzeugen.
  • Es gibt viele unterschiedliche Beispiele von Prozessoranordnungen nach dem Stand der Technik. Eines der grundsätzlichsten Beispiele einer Prozessoranordnung, auf die Bezug genommen wird, ist die US-A-3 106 698, die eine zweidimensionale Matrix identischer Verarbeitungselemente oder Zellen offenbart, die eine Logik- und Speicherfähigkeit haben. Jede Zelle ist mit einer Mehrzahl Nachbarzellen verbunden, und Eingangsdaten oder Signal können unmittelbar in jede Zelle von einer äquivalenten Zelle über eine Eingangsanordnung eingegeben werden. Das Verarbeiten in jeder Zelle wird unter Steuerung einer Hauptsteuerung durchgeführt, die allgemeine Befehle an alle Zellen ausgibt, um eine gleichzeitige Datenverarbeitung in jeder Zelle und eine Informationsübertragung zwischen Zellen durch Multiplexer-Verbindungen zu erlauben. Eine Reihe von Transformationen wird an den Eingangsdaten durch die Zellen durchgeführt, um an einer Ausgangsmatrix anzukommen.
  • Aus dem obengenannten Stand der Technik stammt ein ganzes Gebiet paralleler Prozessor-Reihenstrukturen, von denen viele als Hauptfunktion das Erkennen, die Analyse, die Digitalisierung oder Klassifizierung von Mustern oder Bildern hat. Jedoch zielen diese Reihenanordnungen auf präzise und genaue Ergebnisse, das heißt, daß es für gegebene Eingänge definierte Ausgänge gibt, das heißt einen Ausgang für jeden Eingang, so daß unterschiedliche Ausgänge ein besonderes Muster- oder Bildereignis darstellen, beispielsweise einen Rand. Andererseits besitzt die Prozessorreihenanordnung dieser Erfindung eine Anpassungsverhalten, das heißt, sie ist fähig, in einer nichtlinearen Weise zu arbeiten, so daß verschiedene Arten von Eingängen dazu führen, gewisse erwünschte Ausgänge zu bedeuten, obgleich die Eingänge nicht notwendigerweise dieselben sein müssen.
  • Eine Reihenanordnung mit Anpassungsverhalten ist von den gegenwärtigen Erfindern geoffenbart in Physical Review Letters Vol. 52, Nr. 12, März 1984 S., 1048-51, "Adaption and self-repair in computing structures". Der Artikel beschreibt eine Klasse von Computerarchitekturen, die in einer selbstreparierenden Weise rechnen, indem das Vorhandensein von Attraktoren in ihren Phasenräumen ausgenützt wird. Ein solcher Mechanismus führt zu Rechenstrukturen, die fähig sind, verschiedene Eingänge zuverlässig zu lernen und selbst dann zu erkennen, wenn sie etwas verzerrt sind. Bei einer Ausführung einer Reihenanordnung von Prozessoren mit m-Zeilen und n-Spalten hat jeder Prozessor zwei ganze Eingänge und einen ganzen Ausgang. Die örtlichen Rechenregeln heben Unterschiede bei den Datenwerten mit einem Sättigungsvorgang hervor, der die Werte innerhalb eines festgelegten Intervalls hält. Diagonale Linien tragen die Daten durch die Reihenordnung nach unten und horizontale Verbindungen gestatten jedem Prozessor, seinen internen Zustand auf der Grundlage der Ausgänge seiner Nachbarn zu berechnen. Zum Berechnen eines neuen Ausgangs werden die Unterschiede der Eingänge mit einem Wert multipliziert, der in einem internen Speicher von jedem Prozessor gespeichert ist. Ein Anpassungsverhalten wird erhalten, wenn die Speicherwerte abgeändert werden, indem der Ausgang, der vorhergehend berechnet worden war, mit den Ausgängen der angrenzenden Nachbarprozessoren verglichen wird.
  • Die selbstanpassende Prozessorreihenanordnung dieser Erfindung ist fähig, gewisse flexible oder veränderbare Verknüpfungen zu lernen, wobei die erlernten Verknüpfungen beim Erkennen von Eingangsklassen nützlich sind, das heißt sie ist fähig, gewisse Arten von Eingängen als in dieselbe Ausgangsklasse oder dasselbe Ausgangsfeld fallend zu verknüpfen.
  • Die selbstanpassende Prozessorreihenanordnung dieser Erfindung umfaßt eine Mehrzahl identischer Verarbeitungszellen, die in parallelen, orthogonalen Spalten und Zeilen angeordnet sind, um eine zweidimensionale Matrix zu bilden. Jede Zelle in der Reihenanordnung schließt eine logische Einrichtung und einen Speicher zum Speichern eines Speicherzustandes ein. Die erste Zellenzeile in der Reihenanordnung bildet einen parallelen Eingang zu der Reihenanordnung und die letzte Zellenzeile in der Reihenanordnung bildet einen parallelen Ausgang von der Reihenanordnung. Die Zellen in der Reihenanordnung zwischen ihrer ersten und letzten Zeile sind einzeln mit zwei Zellen in einer vorhergehenden Zeile gekoppelt, die diagonal relativ zu jeder solchen Zeilenzelle positioniert sind und auch einzeln mit zwei Zellen in einer darauf folgenden Zeile gekoppelt, die diagonal relativ zu jeder solchen Zeilenzelle positioniert sind. Eine Logikeinrichtung in jeder Zelle berechnet einen neuen Wert auf der Grundlage der zwei Eingänge zu der Zelle, wobei der Wert auf der Grundlage davon, ob die Zelle programmiert ist, einer Attraktionsregel oder einer Trennungsregel zu folgen, verwendet wird, den zwischengespeicherten Wert der Zelle in Richtung von einem von zwei Zuständen zu bewegen, wobei ein Zustand ein Zustand der Verschiedenheit und der andere Zustand ein Zustand der Gleichheit ist. Der Verschiedenheitszustand kann hier als ein Zustand der Dissoziation, der Trennung oder der Ausdehnung benannt werden. Der Gleichheitszustand kann hier als ein Zustand des Verschmelzens oder des Zusammenziehens oder des Anziehens benannt werden.
  • Der neue Wert, in Richtung dessen die Zelle bewegt wird, wird als ein Ausgang dargestellt, der als ein Eingang zu zwei Zellen in einer anschließenden Zeile gekoppelt wird, die diagonal relativ zu der Ausgangszelle positioniert sind. Der endgültige, parallele Ausgang von der letzten Zeile der Reihenanordnung stellt einen Zustand dar, ob der/die dargebotene(n) Eingang oder Eingängen in eine oder mehrere Klassen fällt/fallen, die für ein Anziehungsbecken oder ein Feld von Eingänge repräsentativ ist/sind. Die Erkennung von Eingängen, die in besondere Eingangsklassen oder Eingangsfelder klassifiziert sind, wird durch erlernte Verknüpfung der Eingänge erreicht, die anfänglich der Reihenanordnung dargeboten waren, wobei die erlernte Verknüpfung auf der Verwendung von zwei Algorithmen basiert, die eine Regel des Zusammenziehens bzw. eine Regel der Ausdehnung liefern, die zum Programmieren der Zellen verwendet werden.
  • Die vorliegende Erfindung wird nun in beispielhafter Weise unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen
  • Fig. 1 eine Darstellung der selbstanpassenden Prozessorreihenanordnung gemäß dieser Erfindung ist;
  • Fig. 2 eine Darstellung einer einzelnen Zelle in der Reihenanordnung ist, die die von der Zelle in Übereinstimmung mit den beim Betrieb der Reihenanordnung verwendeten Regeln durchzuführende Funktionen zeigt;
  • Fig. 3 ein Diagramm ist, das eine besondere Verwendung der Reihenanordnung darstellt, wobei mehr als eine selbstanpassende Prozessorreihenanordnung verwendet wird;
  • Fig. 4 eine Darstellung von drei Becken oder Feldern von Eingängen A, B und C vor der Verarbeitung durch die selbstanpassende Prozessorreihenanordnung ist;
  • Fig. 5 eine Darstellung von drei Becken oder Feldern von Eingänge nach der Verarbeitung durch die selbstanpassende Prozessorreihenanordnung ist, wobei ein neues Anziehungsbecken N wegen des Verschmelzens der Felder A und B gebildet worden ist;
  • Fig. 6 eine graphische Darstellung ist, die den Bruchteil von drei Probeneingängen in jedem Anziehungsfeld als eine Funktion des Abstandes zwischen den Probeneingängen und den erlernten Eingängen zu der Reihenanordnung vor der Verarbeitung durch die Reihenanordnung darstellt;
  • Fig. 7 eine graphische Darstellung ist, die den Bruchteil von drei Probeneingängen in jedem Anziehungsfeld als eine Funktion des Abstandes zwischen den Probeneingängen und den erlernten Eingängen zu der Reihenanordnung nach der Verarbeitung durch die Reihenanordnung darstellt, und
  • Fig. 8 eine Schaltkreisdarstellung ist, die für die Reihenanordnungszellen verwendet wird.
  • Es wird auf die Fig. 1 bezug genommen, die ein repräsentatives Beispiel der selbstanpassenden Prozessorreihenanordnung 10 dieser Erfindung darstellt. Die Reihenanordnung 10 umfaßt eine Mehrzahl miteinander verbundener, identischer Verarbeitungszellen, die in in parallelen Zeilen und n parallelen Spalten angeordnet sind. Bei der gezeigten Darstellung sind die Zellen 12 in einer gegebenen Zeile zwischen der ersten und der letzten Zeile 14 bzw. 16 (beispielsweise die Zwischenzeilen 15, 19, 17 oder 21) mit diagonal angeordneten Zellen in der vorhergehenden Zeile und mit diagonal positionierten Zellen in der anschließenden Zeile gekoppelt. Die Anzahl der Spalten n in der Reihenanordnung ist durch die Anzahl der Felder begrenzt, die der Prozessor behandeln muß, so daß, wenn es M Felder oder Klassen zu erkennen gibt und es nur zwei mögliche Ausgänge gibt, das heißt, ob der Ausgang der gleiche wie ein oder unterschiedlich von einem Feld ist, dann ist die obere Grenze Zn, wobei n die Anzahl der Zellen in der letzten Zeile ist. Die Begrenzung der Anzahl von Zeilen in basiert auf der Anzahl von Rechnungen, die notwendig sind, eine endgültige Bestimmung zu machen, ob ein gegebener Eingang der gleiche wie ein gegebenes oder unterschiedlich von einem gegebenen Feld ist.
  • Fig. 1 stellt nur zum Zwecke der Erläuterung und Vereinfachung einen Teil der Reihenanordnung 10 dar. Die unterbrochenen Liniendarstellungen zeigen das mögliche Vorhandensein zusätzlicher Zeilen mit Zellen nach der Eingangszeile 14 von Zellen und vor der Ausgangszeile 16 von Zellen sowie als zusätzliche Spalten von Zellen an, die bei 18 und 20 bezeichnet sind.
  • Anders als die Zellen in der Eingangszeile 14 besitzt jede Zelle zwei Eingänge von zwei unterschiedlichen Zellen in der vorhergehenden Zeile, wobei ein Eingang als der primäre Eingang 22 zum Zwecke der Erläuterung bezeichnet wird und der andere Eingang als der sekundäre Eingang 24 bezeichnet wird. Die Bedeutung dieser Eingangsbezeichnungen wird klarer, wenn die Beschreibung des Prozessors fortschreitet. Die Zellen 12 in der Eingangszeile 14 besitzen einen Eingang 26, der ein paralleler Eingang zu der Reihenanordnung 10 ist, der beispielsweise für eine numerische, physikalische Messung repräsentativ ist.
  • Anders als die Zellen in der Ausgangszeile 16 hat jede Zelle zwei Ausgänge, die aus Gründen der Einfachheit ebenfalls als Ausgänge 22 und 24 bezeichnet werden, wobei die gleichen Bezugszeichen die zwei Eingänge von zwei unterschiedlichen Zellen in einer vorhergehenden Zellenzeile bezeichnen. Jedoch sind die Ausgänge 22 und 24 von einer einzelnen Zelle 12 immer dieselben oder identisch, wohingegen die zwei Eingänge 22 und 24 zu einer Zelle 12 nicht notwendigerweise die gleichen (und werden sehr wahrscheinlich nicht die gleichen sein) sind, da diese Eingänge von zwei unterschiedlichen Zellenausgängen getrennter Zellen in der vorhergehenden Zellenzeile sind.
  • Es ist hilfreich, die Reihenanordnung 10 vom Standpunkt eines Strömungsweges durch die Zellenmatrix von dem Standpunkt des primären Eingangs 22 anzusehen. Betrachtet man Fig. 1, so ist jeder der primären Eingänge 22 mit dickerer Linie verglichen mit dem sekundären Eingang 24 gezeigt. Mit "primär" ist gemeint, daß das numerische Vorzeichen bei diesem Eingang über das numerische Vorzeichen des sekundären Eingangs dominant ist. Deshalb wird, wenn das Vorzeichen bei dem numerischen Wert bei dem primären Eingang 22 negativ und das Vorzeichen bei dem numerischen Wert bei dem sekundären Eingang 24 positiv ist, der akzeptierte Vorzeichenwert bei der eingegebenen Zelle negativ sein. Es gibt jedoch eine Ausnahme. Wenn der numerische Wert des primären Eingangs 22 null ist, dann wird das Vorzeichen des sekundären Eingangs 24 der akzeptierte Wert, der bei dem gerade gegebenen Beispiel positiv wäre.
  • Hiervon ausgehend kann man die primären Eingänge 22 durch die Reihenanordnung 10 nach unten verfolgen und bestimmen, daß die primären Eingänge ebenso wie die sekundären Eingänge einen Zick-Zack-Weg durch die Reihenanordnung hindurch nehmen, den beispielsweise ein linker Eingang IL zu allen Zellen in einer gegebenen Zeile darstellt und dann ein rechter Eingang IR zu allen Zellen in der nächsten Zeile usf. Als Ergebnis schreitet ein gegebener Eingangswert durch die Zellenanordnung hindurch fort und endet an einem entsprechenden Ausgang, der zu einem ursprünglichen Eingang ausgerichtet ist, aber längs des Weges im bezug auf verarbeitete Eingänge verarbeitet worden ist, die von unmittelbar anschließenden Eingangszellen in einer vorhergehenden Zellenzeile erhalten wurden.
  • Es wird nun auf die Fig. 1 und 2 bezug genommen. In Fig. 2 ist eine Zelle 12 aus der Reihenanordnung 10 dargestellt. Die Zelle 12 arbeitet auf ganzzahlige Daten, die von den zwei diagonal positionierten Nachbarzellen einer vorhergehenden Zeile von Zellen über den primären Eingang 22 oder rechten Eingang IR und den sekundären Eingang 24 oder linken Eingang IL erhalten worden sind. Jede Zelle besitzt einen internen Speicherzustand, der durch die ganze Zahl B dargestellt wird. Der Speicherzustand kann nur einen kleinen Wertesatz annehmen. Der Ausgang ONEU von der Zelle 12 basiert auf dem Eingangswerten IL und IR und dem Wert B ihres internen Zustandes, sowie dem Vorzeichen des ganzzahligen Wertes des primären Eingangs 22. Der Ausgang ONEU wird auch verwendet, um den neuen, internen Speicherwert für B zu bestimmen.
  • Der Zelle 12 werden auch vier Einstellbedingungen zugeführt, wobei, wenn irgendeine der Bedingungen wahr ist, eine gewisse Funktion durchgeführt wird. Diese Bedingungseingänge werden über Eingangsleitungen 30 allen Zellen 12 in der Reihenanordnung 10 zugeführt. Die Leitung 30A verlangt, wenn ihre Bedingung wahr ist, daß der Wert B einer Zelle unverändert bleibt. Die Leitung 30B verlangt, wenn ihre Bedingung wahr ist, daß der Wert B einer Zelle auf null gesetzt wird. Die Leitung 30C verlangt, wenn ihre Bedingung wahr ist, daß eine Zelle der Zusammenziehregel folgt, die unten erläutert wird. Die Leitung 30D verlangt, wenn ihre Bedingung wahr ist, daß eine Zelle der Ausdehnungsregel folgt, die auch unten erläutert wird.
  • Zu jedem Zeitschritt K erhält jede Zelle Datenwerte von ihren diagonalen Nachbarn als ganzzahlige Eingänge IL und IR und berechnet einen Ausgang O in der folgenden Weise:
  • 0 = max(Smin, min(Smax, s(IL, IR) · ( IR + IL ) + D)) (1)
  • In Gleichung (1) stellen die ganzzahligen Werte Smin und Smax die ganzzahlige Sättigungsgrenzzahl dar, das heißt die maximale und minimale Grenze, wobei alle durch die Reihenanordnung verarbeiteten Datenwerte beschränkt werden, damit sie zwischen diesen Grenzen oder in einem besonderen Intervall sind, wodurch eine nichtlineare Berechnung geschaffen wird. Diese Grenzen schaffen einen Grad von Zuverlässigkeit für die Reihenanordnung und entfernen unnötiges weiteres Verarbeiten. Smin kann gleich -Smax gesetzt werden, und der interne Zustand B jeder Zelle wird durch eine ganze Zahl innerhalb gegebener Grenzen dargestellt. Der Wert s ist der zu nehmende Vorzeichenwert. In der Gleichung (1) stellt s(IL, IR) die Vorzeichenfunktion dar, so daß ein Satz abwechselnder Zeilen, wie die Zeilen 15 und 17 in Fig. 1, das Vorzeichen des Eingangs IR annehmen, wohingegen der andere Satz abwechselnder Zeilen, wie die Zeilen 19 und 21, das Vorzeichen des Eingangs IL annehmen. In jedem Fall wird das Vorzeichen des primären Eingangs 22 der Zelle genommen, es sei denn, der ganzzahlige Wert ist null, in welchem Fall das Vorzeichen des sekundären Eingangs 24 genommen wird.
  • Die absoluten Werte der Eingänge IR und IL werden zusammenaddiert und mit dem ausgewählten Vorzeichen s multipliziert und dieser Wert wird addiert, um den Speicherzustand B darzustellen. Im wesentlichen bezieht sich die Gleichung (1) auf das Abtasten der Größen der Eingänge IL und IR zu einer gegebenen Zelle, das Auswählen des geeigneten Vorzeichens s, das Addieren des ganzzahligen Wertes B und das Begrenzen des Ergebnisses auf das festgelegte Intervall Smin bis Smax Irgendwelche Ausgangswerte, die gleich den Intervallgrenzen sind, werden "gesättigt" genannt.
  • Die vorstehende Beschreibung in bezug auf die Gleichung (1) beinhaltet, daß der Zustand der ganzen Zahl B der gleiche bleibt, das heißt der Wert B ist eingefroren. Die folgende Erklärung behandelt Regeln zum anderen Verändern von B als B auf null zu setzen. Es gibt zwei Regeln, eine Zusammenziehregel und eine Trennungsregel. Die Zusammenziehregel wird auch als Regel der Anziehung oder Verschmelzung und die Trennungsregel wird als Regel der Ausdehnung oder Unterbrechung bezeichnet.
  • Auf jeden Fall ist die Dynamik der Regeln zum Verschmelzen und Trennen möglicher Punkte oder Attraktoren in einem Anziehungsbecken oder Antwortfeld, an dem gegenwärtigen Ausgang ONEU einer Zelle und dem vorhergehenden Ausgang OVOR einer Zelle zu wirken und den Wert von B abzuändern. Wenn eine örtliche Zelle zum Rechnen gemäß der Zusammenziehregel eingestellt ist, wird der folgende Algorithmus benutzt:
  • Wenn wenigstens ONEU oder OVOR nicht gesättigt ist und ONEU mal OVOR kleiner als null ist, dann ändere B um den Wert eins, wobei das Vorzeichen der Änderung durch das Vorzeichen von ONEU oder von OVOR gegeben wird, welcher Ausgang auch immer die größere Größe hat; sonst bleibt der Wert von B unverändert.
  • Man beachte, daß diese Regel zwei Eingänge dahin treibt, daß sie denselben Ausgang haben, indem der selbstanpassende Vorgang in örtlichen Zellen eingestellt wird, dieser Zusammenziehregel zu folgen. Eine einzelne Anwendung dieser Regel ändert den internen Zustand B der Zelle um ± 1.
  • Wenn eine örtliche Zelle zum Rechnen gemäß der Trennregel eingestellt wird, wird der folgende Algorithmus benutzt:
  • Wenn wenigstens ONEU oder OVOR nicht gesättigt ist und ONEU mal OVOR größer als null ist, dann ändere B um eins, wobei dem Vorzeichen der Änderung das Vorzeichen gegeben wird, das zu dem Ausgang von ONEU oder von OVOR entgegengesetzt ist; sonst soll der Wert von B unverändert bleiben.
  • Man beachte, daß diese Regel zwei Eingänge dahin treibt, daß sie getrennte Ausgänge haben, indem der selbstanpassende Vorgang in örtlichen Zelle eingestellt wird, dieser Trennregel zu folgen. Eine einzelne Anwendung dieser Regel ändert den internen Zustand B der Zelle um +1.
  • Die folgenden Beispiele werden beim Verständnis der Arbeitsweise dieser zwei Regeln der örtlichen Zelle helfen, wobei die Reihenanordnung 10 Verknüpfungen in bezug auf den Zustand der Gleichheit oder Verschiedenheit lernen soll. Im Falle der Zusammenziehregel sei angenommen, daß OVOR gleich 8 ist und ONEU gleich -9 ist. Es sei auch angenommen, daß Smax gleich Smin nämlich 15 ist. Mit der Zusammenziehregel sollen die Werte am Ausgang die gleichen sein. Wenn sie die gleichen sein sollen, dann wird der Wert von B in Intervallen von einem Schritt geändert, bis der null nähere Ausgang null erreicht. Die sich ergebende Wirkung besteht darin, daß beide Werte für ONEU und OVOR nicht länger entgegengesetzte Vorzeichen haben. Bei dem vorliegenden Beispiel würde der Wert von B abnehmen, wobei er versucht, in eine Position zu folgen, wo OVOR und ONEU keine positiven Werte wären, an welchem Punkt B gleich -8 wäre.
  • Im Falle der Trennregel sei angenommen, daß ONEU gleich 3 und OVOR gleich 5 ist. Wiederum sei Smax = -Smin = 15. Unter der Trennregel sollen die Werte an dem Reihenanordnungsausgang nicht die gleichen sein. Wenn sie nicht die gleichen sein sollen, das heißt, wenn sie unterschiedlich sein sollen, dann wird der Wert von B in Intervallen von einem Schritt geändert, bis die Ausgänge nicht länger das gleiche Vorzeichen haben.
  • Eine Überprüfung der Zusammenziehregel führt zu der interessanten Erscheinung, daß ihr Zusammenziehmechanismus erlaubt, daß viele unterschiedliche Eingänge zu der Reihenanordnung 10 auf denselben Ausgang abgebildet werden können. In der Sprache dynamischer Systeme entspricht dies dem Auftreten eines festen Punktes in den Phasenraum des Systems. Das Zusammenziehen von Volumina in dem Phasenraum macht diese festen Punkte anziehend in dem Sinn, daß sich Störungen schnell zu den ursprünglichen Werten zurückentspannen.
  • Wie es in Fig. 4 gezeigt ist, sind Eingänge 42 in der Ebene 40 durch eine Mehrzahl von Punkten dargestellt. Sätze dieser Eingänge können in gewissen Anziehungsfeldern oder Anziehungsbecken gefunden oder klassifiziert werden. In Fig. 4 sind die Felder A, B und C gezeigt. Die Sätze von Eingängen in jedem dieser Felder legen das Anziehungsbecken für einen gegebenen Ausgang fest, das heißt, die Eingänge werden auf einen besonderen Ausgang abgebildet, den das Anziehungsbecken festlegt. Somit wird der Satz von Eingängen 42A in dem Feld A auf den Ausgang X abgebildet, der Satz von Eingängen 42B in dem Feld B wird auf den Ausgang Y abgebildet und der Satz von Eingängen 42C in dem Feld C wird auf den Ausgang Z abgebildet. Die Zusammenziehregel wird beispielsweise die Eingänge 42A in dem Becken A alle zu einem Ausgang X zwingen. Mögliche Eingänge außerhalb des Feldes A werden der Trennregel unterworfen.
  • Das Anziehungsbecken kann dynamisch abgeändert werden, indem die örtlichen Zellenregeln verwendet werden, um einen besonderen Satz von Eingängen 42 einzuschließen oder auszuschließen. Die Vorgänge des Verschmelzens und der Trennung werden erreicht, indem der interne Zustand jeder Rechenzelle unter Verwendung der selbstanpassenden örtlichen Zellenregeln geändert wird, die den Gesamtausdehnungs- oder Gesamtzusammenziehprozeß nachahmen, von dem erwünscht ist, daß er erreicht wird. Daß eine solche örtliche Berechnung zu einem Gesamtverhalten dieser Art führt, ist in Anbetracht der Nichtlinearität des Systems überraschend.
  • In Fig. 5 ist das Gesamtausdehnungsverhalten für die Felder A und B in Fig. 4 beispielhaft gezeigt. Wenn der Zusammenziehungs- oder Verschmelzungszustand als wahr eingestellt wird, bilden die Eingangssätze, die der Reihenanordnung für die Felder A und B zugeführt werden, ein neues Anziehungsbecken oder Anziehungsfeld N, das auf einen einzigen Ausgang N abgebildet wird.
  • Die unteren Tabellen I und II zeigen die Ergebnisse eines Versuches, der bei einer Prozessorreihenanordnung 10 mit zehn Zeilen mal sechs Spalten durchgeführt worden ist, die den vorhergehend erläuterten örtlichen Zellenregeln der Verschmelzung und Trennung gehorchte. Diese Tabellen stellen die Lernfähigkeit der Reihenanordnung 10 dar, die unter den örtlichen Zellenregeln betrieben wird, um in geeigneter Weise den B-Wert der Zellen einzustellen. Dies ist die Lernphase des Betriebs der Reihenanordnung. Die Ergebnisse in Tabelle I wurden erhalten, indem die Eingänge durch die Reihenanordnung 10 geschickt wurden, bis ein Zusammenfallen zwischen den Ausgängen erhalten worden war. Die Tabelle II zeigt die erhaltenen Ergebnisse, wobei Eingänge, die anfangs in demselben Becken oder Feld waren, nachfolgend getrennt wurden. Verschmelzung der Eingänge Eingang Ursprünglicher Ausgang Endgültiger Ausgang Tabelle I Trennung der Eingänge Eingang Ursprünglicher Ausgang Endgültiger Ausgang
  • Tabelle II
  • Bezugnehmend auf die Tabelle I stellen die drei Eingänge drei unterschiedliche Proben dar. Beispielsweise können sie physikalische Parameter darstellen, wie drei Proben eines Sprachmusters. Sie sind alle nicht nur mit dem numerischen Wert sondern auch mit dem Vorzeichen ganz unterschiedlich. Die ganze Zahl B in den Reihenanordnungszellen wird auf null gesetzt und die Zusammenziehregel wird auf wahr eingestellt. Der ursprüngliche Ausgang in Tabelle I zeigt, daß das Zeichen der Eingänge nach einem Schritt durch die Reihenanordnung das gleiche blieb. Es waren vier Schritte durch die Reihenanordnung erforderlich, um den endgültigen gezeigten Ausgang zu erzeugen, der ein vollständige Verschmelzen darstellt, das heißt alle parallelen positiven Ausgänge.
  • In Tabelle II stellen die drei gezeigten Eingänge drei unterschiedliche Proben dar. Hier besitzen die Proben alle das gleiche Vorzeichen, haben aber einen unterschiedlichen numerischen Wert. Die ganze Zahl B in den Reihenanordnungszellen wird auf null gesetzt und die Ausdehnungsregel wird als wahr eingestellt. Der ursprüngliche Ausgang in Tabelle II zeigt, daß das Zeichen der Eingänge das gleiche nach einem Schritt durch die Reihenanordnung blieb. Es waren drei Schritte erforderlich, um die Trennung bei dem endgültigen Ausgang zu liefern, worin jeder Eingang als ein unterschiedlicher Ausgang klassifiziert wurde, einer mit nur negativen Vorzeichen, ein anderer mit drei negativen und drei positiven Vorzeichen hintereinander und der dritte mit drei positiven und drei negativen Vorzeichen hintereinander.
  • Bei den Beispielen dieser Tabellen wurden die numerischen Werte aus Gründen der Darstellung nicht gezeigt.
  • Als eine Fortsetzung des Versuchs wurde das Vorgehen bei den obigen Proben der Tabellen I und II umgekehrt. Die endgültigen Ausgänge der Tabelle I wurden der Ausdehnungsregel unterworfen und es waren 13 Schritte erforderlich, diese Verschmelzungseingänge wieder auszudehnen. Im Falle der endgültigen Ausgänge der Tabelle II wurden 5 Schritte benötigt, um diese getrennten Eingänge wieder zusammenzuziehen.
  • Nachdem das selbstanpassende Verhalten der örtlichen Regeln des Zusammenziehens und Ausdehnens dargestellt worden ist, kann eine Untersuchung des Verhaltens der Eingänge nahe einem Satz von Eingängen in einem Feld während des Verschmelzens und des Trennens der dieser Reihenanordnung dargebotenen Eingänge durchgeführt werden. Dies läuft darauf hinaus, zu bestimmen, wie sich die Größe und Form der Anziehungsbecken oder Eingangsfelder ändern, wenn konditionierte Reflexe in einer anpassenden Umgebung erhalten werden. Dies ist von Bedeutung, um festzustellen, in welchem Ausmaß dieser Reihenanordnung von eingangs Verallgemeinerungen und dem Komplementären, der Trennung, fähig ist.
  • Um mit dieser Analyse fortzufahren, wurden die folgenden zwei Techniken vor und nach dem Verknüpfen gegebener Eingängen verwendet: 1) Bestimmen der Verteilung der Größen der Anziehungsbecken, indem Zufallseingänge durch die Reihenanordnung hindurchgeschickt wurde und gezählt wurden, wieviele jeden beobachteten Ausgang erzeugten, und 2) Bestimmen der Größe der Anziehungsbecken, indem jeder Eingang genommen wird und der Bruchteil von nahe beigelegenen Eingängen, die sich in demselben Anziehungsbecken befinden, als eine Funktion des Abstandes von dem ursprünglichen Eingang gemessen wurde. Da der Satz von Eingängen ein ganzzahliges Gitter bildet, wurden Abstände zwischen Eingängen gemessen, wobei eine Straßenkartenmetrik verwendet wurde, bei der der Abstand zwischen zwei Punkten gleich der Summe der Größen der Unterschiede bei jeder Komponente gesetzt wird.
  • Fig. 6 zeigt den Bruchteil von drei Probeneingängen, die sich in jedem Anziehungsbecken befinden, als eine Funktion des Abstandes zwischen dem Probeneingang und dem gelernten Eingang in der ursprünglichen Zellenreihenanordnung, wobei die ganze Zahl B der Zelle anfangs auf null gesetzt wurde. Fig. 7 zeigt den Bruchteil derselben drei Probeneingänge, die sich in jedem Anziehungsbecken befinden, als eine Funktion des Abstandes zwischen dem Probeneingang und dem gelernten Eingang nach dem Verschmelzen. Wie es in den Fig. 6 und 7 dargestellt ist, erzeugt der Verknüpfungsvorgang eine breite Ansammlung von Wolken von Eingängen, die die ursprünglichen Eingänge umgehen. Dies beinhaltet, daß, wenn zwei besondere Verhaltensantworten verknüpft werden, derselbe Ausgang hervorgelockt werden kann, indem mit Eingängen gearbeitet wird, die nahe den ursprünglichen sind. Ähnliche Ergebnisse wurden auch bei der entgegengesetzten Grenze des Versuches beobachtet, Eingänge zu trennen, die ursprünglich dieselben Ausgänge erzeugten.
  • Obgleich die Anziehungsbecken anfangs von die gleicher Größe sind, wuchsen nach der Anpassung die Felder für die gelernten Eingänge auf Kosten von anderen. Insbesondere gibt es im Falle einer Reihenanordnung mit 6 Spalten und 10 Zeilen 26 Felder, und jedes besitzt 1/64 oder 1,6% der Eingänge in seinem Becken. Nach dem Verschmelzungsversuch, der oben in bezug auf die Fig. 7 beschrieben wurde, schloß das Feld, das drei zusammengezogene Eingänge enthielt, nahezu 4% der Eingänge in seinem Anziehungsbecken ein. In ähnlicher Weise enthielt bei dem anderen Versuch, bei dem die drei Eingänge getrennt oder geschieden wurden, die endgültigen Anziehungsbecken 4%, 2% bzw. 2% der Eingänge.
  • Eine interessante Folge dieser Untersuchung ist die Korrelation zwischen der Fähigkeit, schnell einen Satz von gegebenen Eingängen zu verknüpfen, und dem anfänglichen Zustand der Reihenanordnung. Allgemein war es beim Verschmelzen von zwei Anziehungsbecken, wie es in Fig. 5 dargestellt ist, wenn mit Zellen begonnen wurde, die alle den gleichen Zustand hatten, das heißt einem gleichförmigen Zustand, viel einfacher, indem es weniger Schritte durch die Reihenanordnung als beim Beginnen mit einer Reihenanordnung nahm, die bereits an einen besonderen Satz von Eingängen angepaßt worden war. Dies wurde besonders augenfällig bei Versuchen, wo die anfängliche Einstellung zwei getrennte Eingänge und eine gleichförmige Reihenanordnung, bei der B auf null gesetzt war, umfaßte, wobei die Anwendung der Zusammenziehregel, um sie zusammen zu verknüpfen, folgte und dann die Ausdehnungsregel folgte, um sie zu trennen. Die benötigte Zeit, sie zu trennen, war viel länger als die Zeit, die es brauchte sie, in dasselbe Anziehungsbecken einzutauchen. In diesem Zusammenhang betrachte man die ähnlichen Ergebnisse für die Eingänge der Tabelle I.
  • Fig. 3 zeigt eine Anwendung der Reihenanordnung 10. In Fig. 3 umfaßt das System 50 zwei getrennte Zellenreihenanordnungen 10A und 10B dieser Erfindung. Diese Architektur schafft eine Mustererkennung breiter Kategorien und schmaler Kategorien in bezug auf zu untersuchende Eingangsdaten 26. Indem die Parameter in den zwei Reihenanordnungen 10A und 10B auf unterschiedliche Werte eingestellt werden, können die Größen der Anziehungsbecken in jeder Reihenanordnung gesteuert werden, daß sie unterschiedlich sind. Beispielsweise könnte die Reihenanordnung 10A so eingestellt sein, daß sie große Becken mit vielen Eingängen aufweist, die denselben Ausgang erzeugen. Wenn die andere Reihenanordnung 10B eingestellt wird, um schmale Anziehungsbecken für die genau gleichen Eingänge zu erzeugen, würde die Reihenanordnung 10B zwischen Eingängen unterscheiden, die die Reihenanordnung 10A als die gleichen klassifizieren würde. Somit kann, indem der Ausgang 52 der Reihenanordnung 10A zuerst und dann als nächstes der Ausgang 54 der Reihenanordnung 10B gelesen wird, ein Ausgangsvergleich 56 eine Auswahl einer breiten Kategorie oder Klassifizierung (beispielsweise Tier) gegenüber einem Ausgang 52 liefern, der dann genauer analysiert werden kann, um einen besonderen Gesichtspunkt der breiten Klassifizierung (beispielsweise Katze) gegen den Ausgang 54 zu beschreiben. Das System 50 ermöglicht wirkungsvolles Suchen in auf Daten basierenden Strukturen oder Umfeldern.
  • Fig. 8 ist eine schematische Darstellung des Schaltkreises für eine Reihenanordnungszelle 12. Bedingungswerte zum Zellenbetrieb werden über den Multiplexer 60 erhalten. Diese vier Bedingungen wurden vorhergehend erklärt und umfassen die Bedingung: Zurücksetzen von B auf null auf der Leitung 62, - die Bedingung: Einstellen der Zelle auf wahr zum Betrieb unter der Ausdehnungsregel auf Leitung 64, - die Bedingung: Einstellen der Zelle auf wahr für den Betrieb unter der Zusammenziehregel auf Leitung 66, und - die Bedingung: Einfrieren des Wertes B. Die Leitung 62 ist mit dem Register 70 verbunden, das den Zellenwert für die ganze Zahl B aufrecht erhält. Der Ausgang des Registers B ist über die Leitung 72 mit dem nichtlinearen Prozessor 74 verbunden, der die Logik enthält, um auf der Leitung 76 den Ausgang ONEU zu liefern und den Wert B über die Leitung 78 in dem Register 70 einzufrieren. Der Schaltkreis 74 besitzt vier Eingänge: Eingang IL, Eingang IR, der Wert B und der Eingang 80, der der ODER-verknüpfte Eingangswert des wahren Zustandes für die Leitungen 64, 66 der örtlichen Regel ist und des Zustandswertes des EINFRIEREN von B. Der Prozessor 74 führt die Gleichung (1) aus und umfaßt deshalb beispielsweise einen Summierer für die Eingänge IL und IR, dessem Additionsergebnis das richtige Vorzeichen s(IL, IR), wie es bezeichnet ist, über den Eingang 75 gegeben wird. Der Eingang 75 hängt von der besonderen Zeile der betroffenen Zellen ab, die bestimmt sind, daß sie das numerische Vorzeichen als einen primären Eingang von entweder IL oder IR haben. Der auf addierte Wert mit dem geeigneten Vorzeichen wird dann über einen zweiten Summierer zu dem gegenwärtigen, internen Zustand B addiert.
  • Der Ausgang 76 (der mit den Ausgängen 22 und 24 gleichlautend ist) wird auch zu dem Register 86 über die Leitung 84 zurückgeführt, das den Wert des vorhergehenden Ausgangs OVOR zurückhält. Für jeden neuen Ausgang ONEU wird der Wert OVOR in dem Register 86 auf diesen neuen Wert gesetzt. Der Ausgang OVOR des Registers 86 ist jeweils über eine Leitung 88 als ein Eingang mit der Zusammenziehregel-Logik 90 und der Ausdehnungsregel-Logik 92 verbunden. Auch wird die Leitung 84, die den neuen Ausgangswert ONEU führt, als ein Eingang der Zusammenziehregel-Logik 90 und der Ausdehnungsregel- Logik 92 zugeführt. Der letzte von drei Eingängen zur Logik 90 bzw. 92 sind die wahr-Leitungen 66 und 64, um diese Kreise zu befähigen, gemäß ihrer jeweiligen örtlichen Regel zu funktionieren, aber nicht gleichzeitig zu arbeiten. Die logischen Kreise 90 und 92 können abwechselnd oder in serieller Folge oder in Folge betrieben werden.
  • Der Ausgang der Logikkreise 90 und 92 auf der Leitung 94 ist ein dritter Eingang zu dem Register 70 und wird ein neuer Wert für die ganze Zahl B sein, der in dem Register 70 gespeichert werden soll, es sei denn die Leitung 78 ist wahr, in weichem Fall der Wert B unverändert bleiben wird und der Wert auf der Leitung 94 nicht berücksichtigt wird.
  • Wenn beispielsweise Smax = -Smin = 15 ist, können die binären Eingangswerte für die Eingänge IL und IR sowie die Register 70 und 85 mit fünf Bit dargestellt werden, vier Bit zum Darstellen des numerischen Wertes und ein Bit, um das Vorzeichen des Wertes darzustellen.
  • Es sei angenommen, daß beim Betrieb die Zusammenziehregel auf die Zelle 12 angewendet wird, die Leitung 66 wird wahr sein, wodurch die Zusammenziehregel-Logik 90 freigegeben wird. Die Leitung 64 wird nicht wahr sein, wodurch die Ausdehnungsregel-Logik 92 unwirksam gemacht wird. Die Eingänge IL und IR, die auf den Leitungen 22 und 24 zugeführt werden, sind zum Zwecke der Lernverknüpfung für dasselbe Anziehungsbecken. Somit wird der Wert von B in dem Register 70 über die Leitung 62 auf null gesetzt. Der vorhergehende Ausgang OVOR wird über die Leitung 88 auf die Zusammenziehregel-Logik 90 eingestellt. Der Ausgang ONEU, der gemäß der Gleichung (1) erzeugt wird, wird in dem Prozessor 74 berechnet und auf der Ausgangsleitung 76 zuverbundenen Zellen geschickt. Auch wird ONEU als ein Eingang über die Leitung 84 zu der Zusammenziehregel-Logik 90 geführt. Die Zusammenziehregel-Logik 90 wird einen neuen Wert von B gemäß der Zusammenziehregel berechnen und über die Leitung 94 BNEU zum Speichern in dem Register 70 bereitstellen. Bei dem nächsten sequentiellen Durchgang der Eingänge IL und IR wird die Berechnung des Ausgangs ONEU erneut beim Kreis 74 unter Verwendung des neuen Wertes für B auftreten.
  • Beim Berechnen von ONEU bestimmt der Eingang 75 an dem Prozessor 74, ob das Vorzeichen von ONEU das von IL oder von IR in Abhängigkeit davon sein sollte, welches der beiden der primäre Eingang ist. Wenn jedoch der Wert von B auf der Leitung 72 null ist, wird das von dem Prozessor 74 genommene Vorzeichen dasjenige des sekundären Eingangs sein.
  • Wenn verschiedene Probeneingänge entlang des obenbeschriebenen Verfahrens iteriert worden sind, wird jede Zelle 12 in der Reihenanordnung 10 einen besonderen ganzzahligen Wert B in ihrem Register 70 erreicht haben. Zu diesem Zeitpunkt wird, wenn die Berechnung anderer Eingänge erwünscht ist, um zu bestimmen, ob sie innerhalb oder außerhalb des betrachteten Feldes von Eingängen oder des Anziehungsbeckens fallen, das obenbeschriebene Verfahren mit der Ausnahme wiederholt, daß der ganzzahlige Wert von B eingefroren wird und die Leitungen 68, 80 und die Leitung 78 über den Prozessor 74 wahr sind. Die Funktionen des Zusammenziehens und Ausdehnens werden beendet und der Prozessor 74 einer jeden Zelle wird Iterationen an parallelen Eingängen durchführen und bestimmen, ob jeder gegebene Eingang innerhalb oder außerhalb eines "erlernten" Anziehungsbeckens fällt. Dies wird ohne weiteres durchgeführt, indem die endgültigen, parallelen Ausgänge, die von der Lernerfahrung der Reihenanordnung bekannt sind, verglichen werden und sie mit den endgültigen, parallelen Ausgängen für die in Frage stehenden Eingänge verglichen werden, um zu bestimmen, ob sie die gleichen sind und deshalb innerhalb des vorhergehend gebildeten Anziehungsbeckens fallen.
  • Das Verfahren für das anfängliche Lernen der Reihenanordnung zur Ausführung der Ausdehnungsregel über die Logik 92 ist das gleiche, wie das das für die Zusammenziehregel oben erläutert wurde, mit der Ausnahme, daß die Leitung 62 wahr ist, wodurch die Ausdehnungsregel-Logik 92 freigegeben wird, und die Leitung 66 nicht wahr ist, wodurch die Zusammenziehregel-Logik 90 unwirksam gemacht wird.

Claims (5)

1. Eine selbstanpassende Prozessor-Computer-Reihenanordnung umfassend eine Mehrzahl identischer Zellen (12), die in Zeilen und Spalten angeordnet sind, um eine zweidimensionale Matrix zu bilden, wobei jede Zelle eine logische Einrichtung zum Berechnen von Datenwerten und ein erstes Register (70) zum Speichern eines Speicherzustandes B hat, wobei die erste Zeile (14) von Zellen einen parallelen Eingang zu der Reihenanordnung bildet, jede Zelle (mit Ausnahme der Endzellen) in den Zeilen zwischen der ersten und der letzten Zeile Eingänge hat, von denen jeder einen Datenwert darstellt, der von den zwei Zellen in der vorhergehenden Zeile gekoppelt ist, die diagonal in bezug auf die gegebene Zelle positioniert sind, die Logikeinrichtung in jeder Zelle befähigt ist, einen neuen Datenwert ONEU auf der Grundlage der Eingangswerte IL, IR und seines gegenwärtigen Speicherzustandes B zu berechnen, indem die Regel beobachtet wird:
ONEU = max(Smin, min(Smax, s( IR , IR )·( IR + IL )+B)),
worin Smin und Smax die Daten einschränken, daß sie in einem besonderen Intervall liegen, wodurch eine nichtlineare Berechnung geschaffen wird, und jeder Ausgangswert gleich diesen Enden als "gesättigt" bezeichnet wird;
s der zu nehmende Vorzeichenwert ist und s(IL, IR) die Vorzeichenfunktion darstellt, so daß für die Zellen in geradzahligen Zeilen der Reihenanordnung:
s(IL, IR) = s(IR) wenn IL = 0 und = s(IL) sonst ist, und
für die Zellen in den ungeradzahligen Zeilen der Reihenanordnung:
s(IL, IR) = s(IL) wenn IR = 0, und = s(IR) sonst,
wodurch unter der Steuerung von Steuersignalen (ZURÜCK- SETZEN, AUSDEHNEN, ZUSAMMENZIEHEN) mittels der ZUSAM- MENZIEH-Logik 90, der AUSDEHN-Logik 92 und eines zweiten Registers (86) für den vorhergehenden Ausgang OVOR und den Ausgang ONEU des Prozessors (74), des Speicherzustandes B in jedem Register (70) ist entweder:
a) auf 0 zurückgesetzt; oder
b) durch den Einheitswert geändert, wenn wenigstens ONEU oder OVOR nicht gesättigt ist und ONEU mal OVOR kleiner als null ist, wobei das Vorzeichen der Änderung durch das Vorzeichen von ONEU oder von OVOR gegeben wird, welcher Ausgang auch immer die größere Größe aufweist, wobei sonst der Wert von B unverändert bleiben soll, die Zusammenziehregel, durch die viele unterschiedliche Eingänge zu der Reihenanordnung auf denselben Ausgang abgebildet werden, oder
c) um den Einheitswert geändert wird, wenn wenigstens ONEU oder OVOR nicht gesättigt ist und ONEU mal OVOR größer als null ist, wobei das Vorzeichen der Änderung dem von ONEU oder von OVOR entgegengesetzt ist, wobei sonst der Wert B unverändert bleiben soll, die Trennungsregel.
2. Die selbstanpassende Prozessorreihenanordnung des Anspruches 1, die eine Einrichtung zum Unterbinden einer weiteren Änderung der Zellenspeicherzustände einschließt, wodurch das Einführen eines nachfolgenden, parallelen Eingangs in die Reihenanordnung von dieser einen parallelen Ausgang liefert, der anzeigt, ob er innerhalb oder außerhalb einer Klasse von Eingängen auf der Grundlage der eingestellten Speicherzustände der Zellen fällt.
3. Die selbstanpassende Prozessorreihenanordnung des Anspruches 1 oder 2, bei der jede Zelle ferner eine Einrichtung zum Unterbinden einer Änderung bei dem Wert des Speicherzustandes der Zelle einschließt, wenn ihr Wert einen vorbestimmten Wert erreicht hat.
4. Die selbstanpassende Prozessorreihenanordnung nach einem beliebigen vorhergehenden Anspruch, bei der die Zustände ein Zustand der Verschiedenheit und ein Zustand der Gleichheit sind.
5. Ein Verfahren zum parallelen Verarbeiten einer Mehrzahl von Eingangssignalen in einer selbstanpassenden Prozessor-Computer-Reihenanordnung umfassend eine Mehrzahl identischer Zellen (12), die in Zeilen und Spalten angeordnet sind, um eine zweidimensionale Matrix zu bilden, wobei jede Zelle eine logische Einrichtung zum Berechnen von Datenwerten und ein erstes Register (70) zum Speichern eines Speicherzustandes B hat, wobei die erste Zeile (14) von Zellen einen parallelen Eingang zu der Reihenanordnung bildet, jede Zelle (mit Ausnahme der Endzellen) in den Zeilen zwischen der ersten und der letzten Zeile Eingänge hat, von denen jeder einen Datenwert darstellt, der von den zwei Zellen in der vorhergehenden Zeile gekoppelt ist, die diagonal in bezug auf die gegebene Zelle positioniert sind, wobei das Verfahren den Schritt des Berechnens eines neuen Datenwertes ONEU in der Logikeinrichtung in jeder Zelle auf der Grundlage der Eingangswerte IL, IR und seines gegenwärtigen Speicherzustandes B zu berechnen, indem die Regel beobachtet wird:
ONEU = max(Smin, min(Smax, s(IL, IR)·( IR + IL )+B)),
worin Smin und Smax die Daten einschränken, daß sie in einem besonderen Intervall liegen, wodurch eine nichtlineare Berechnung geschaffen wird, und jeder Ausgangswert gleich diesen Enden als "gesättigt" bezeichnet wird;
und den Schritt umfaßt, den Vorzeichenwert s zu wählen, wenn s(IL, IR) die Vorzeichenfunktion darstellt, so daß für die Zellen in geradzahligen Zeilen der Reihenanordnung:
s(IL, IR) = s(IR) wenn IL = 0 und = s(IL) sonst ist, und
für die Zellen in den ungeradzahligen Zeilen der Reihenanordnung:
s(IL, IR) = s(IL) wenn IR = 0, und = s(IR) sonst ist, und
den Schritt umfaßt, den Speicherzustand B in das erste Register (70) unter der Steuerung von Steuersignalen (ZURÜCKSETZEN, AUSDEHNEN, ZUSAMMENZIEHEN) mittels der ZUSAMMENZIEH-Logik 90, der AUSDEHN-Logik 92 und eines zweiten Registers (86) für den vorhergehenden Ausgang OVOR und den Ausgang ONEU des Prozessors (74) zu laden, so daß der Speicherzustand ist entweder:
a) auf 0 zurücksetzt; oder
b) durch den Einheitswert geändert, wenn wenigstens ONEU oder OVOR nicht gesättigt ist und ONEU mal OVOR kleiner als null ist, wobei das Vorzeichen der Änderung durch das Vorzeichen von ONEU oder von OVOR gegeben wird, welcher Ausgang auch immer die größere Größe aufweist, wobei sonst der Wert von B unverändert bleiben soll, vgl. die Zusammenziehregel, durch die viele unterschiedliche Eingänge zu der Reihenanordnung auf denselben Ausgang abgebildet werden, oder
c) um den Einheitswert geändert wird, wenn wenigstens ONEU oder OVOR nicht gesättigt ist und ONEU mal OVOR größer als null ist, wobei das Vorzeichen der Änderung dem von ONEU oder von OVOR entgegengesetzt ist, wobei sonst der Wert B unverändert bleiben soll, vgl. die Trennungsregel.
DE86301652T 1985-03-15 1986-03-07 Selbstanpassender Prozessor. Expired - Fee Related DE3689049T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/711,930 US4835680A (en) 1985-03-15 1985-03-15 Adaptive processor array capable of learning variable associations useful in recognizing classes of inputs

Publications (2)

Publication Number Publication Date
DE3689049D1 DE3689049D1 (de) 1993-10-28
DE3689049T2 true DE3689049T2 (de) 1994-05-05

Family

ID=24860089

Family Applications (1)

Application Number Title Priority Date Filing Date
DE86301652T Expired - Fee Related DE3689049T2 (de) 1985-03-15 1986-03-07 Selbstanpassender Prozessor.

Country Status (4)

Country Link
US (1) US4835680A (de)
EP (1) EP0195569B1 (de)
JP (1) JPS61213964A (de)
DE (1) DE3689049T2 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067107A (en) * 1988-08-05 1991-11-19 Hewlett-Packard Company Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files
US5179714A (en) * 1988-10-07 1993-01-12 Martin Marietta Corporation Parallel bit serial data processor
IT1233215B (it) * 1989-04-21 1992-03-20 Ist Trentino Di Cultura Rete elaborativa a nodi, procedimento e macchine per la configurazionedella stessa e relativi impieghi
GB2247328A (en) * 1990-08-08 1992-02-26 Philips Electronic Associated Data processing system
US5683608A (en) * 1991-04-05 1997-11-04 The Boeing Company Ceramic die for induction heating work cells
GB2273191B (en) * 1992-10-23 1996-01-03 Port Of Singapore Authority A container code verification apparatus
EP0612035B1 (de) * 1993-02-19 2002-01-30 International Business Machines Corporation Neuronales Netz zum Vergleich von Merkmalen von Bildmustern
FR2711436B1 (fr) * 1993-10-18 1996-01-05 France Telecom Procédé perfectionné de fonctionnement en parallèle de plusieurs unités de calcul, notamment en traitement d'images, et architecture correspondante.
EP2500842A1 (de) * 2001-03-09 2012-09-19 Shraga Rottem Verfahren und System zur Verbesserung der Qualität von medizinischen Bildern
US7707575B2 (en) * 2004-09-20 2010-04-27 Hewlett-Packard Development Company, L.P. System and method for selecting a portfolio of resources in a heterogeneous data center
US8930400B2 (en) * 2004-11-22 2015-01-06 Hewlett-Packard Development Company, L. P. System and method for discovering knowledge communities
US7634430B2 (en) * 2004-12-06 2009-12-15 Hewlett-Packard Development Company, L.P. System and method for allocating resources in a distributed computational system using proportional share auctions
US8781977B1 (en) 2005-03-29 2014-07-15 Hewlett-Packard Development Company, L.P. System and method of pricing resources
US8019637B2 (en) * 2005-07-07 2011-09-13 Sermo, Inc. Method and apparatus for conducting an information brokering service
US8327115B2 (en) 2006-04-12 2012-12-04 Soft Machines, Inc. Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode
CN107368285B (zh) 2006-11-14 2020-10-09 英特尔公司 多线程架构
US10083420B2 (en) 2007-11-21 2018-09-25 Sermo, Inc Community moderated information
WO2012037491A2 (en) 2010-09-17 2012-03-22 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
WO2012135031A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
KR101636602B1 (ko) 2011-03-25 2016-07-05 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2689330B1 (de) 2011-03-25 2022-12-21 Intel Corporation Registerspeichersegmente zur unterstützung einer codeblockausführung mittels durch partitionierbare engines realisierter virtueller kerne
CN103649932B (zh) 2011-05-20 2017-09-26 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
CN103649931B (zh) 2011-05-20 2016-10-12 索夫特机械公司 用于支持由多个引擎执行指令序列的互连结构
KR101842550B1 (ko) 2011-11-22 2018-03-28 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
CN104040491B (zh) 2011-11-22 2018-06-12 英特尔公司 微处理器加速的代码优化器
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
EP2972845B1 (de) 2013-03-15 2021-07-07 Intel Corporation Verfahren zur ausführung von in blöcken gruppierten befehlen aus mehreren threads
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
JP6051991B2 (ja) * 2013-03-21 2016-12-27 富士通株式会社 信号処理装置、信号処理方法、及び信号処理プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL134125C (de) * 1958-04-25
NL269964A (de) * 1961-08-22
US3496387A (en) * 1966-10-05 1970-02-17 Yokogawa Electric Works Ltd Current-to-pulse conversion device
US3496382A (en) * 1967-05-12 1970-02-17 Aerojet General Co Learning computer element
US3566359A (en) * 1968-04-17 1971-02-23 Melpar Inc Trainable computer module
US3678461A (en) * 1970-06-01 1972-07-18 Texas Instruments Inc Expanded search for tree allocated processors
US4060713A (en) * 1971-06-23 1977-11-29 The Perkin-Elmer Corporation Analysis of images
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
US4193115A (en) * 1977-12-15 1980-03-11 The United States Of America As Represented By The Secretary Of Commerce Method and apparatus for implementation of the CMAC mapping algorithm
US4270169A (en) * 1978-05-03 1981-05-26 International Computers Limited Array processor
US4215401A (en) * 1978-09-28 1980-07-29 Environmental Research Institute Of Michigan Cellular digital array processor
US4254474A (en) * 1979-08-02 1981-03-03 Nestor Associates Information processing system using threshold passive modification
US4395699A (en) * 1979-09-10 1983-07-26 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
US4384273A (en) * 1981-03-20 1983-05-17 Bell Telephone Laboratories, Incorporated Time warp signal recognition processor for matching signal patterns
US4533993A (en) * 1981-08-18 1985-08-06 National Research Development Corp. Multiple processing cell digital data processor
JPS58129684A (ja) * 1982-01-29 1983-08-02 Toshiba Corp パタ−ン認識装置
US4493048A (en) * 1982-02-26 1985-01-08 Carnegie-Mellon University Systolic array apparatuses for matrix computations
US4599692A (en) * 1984-01-16 1986-07-08 Itt Corporation Probabilistic learning element employing context drive searching
US4599693A (en) * 1984-01-16 1986-07-08 Itt Corporation Probabilistic learning system
US4591980A (en) * 1984-02-16 1986-05-27 Xerox Corporation Adaptive self-repairing processor array

Also Published As

Publication number Publication date
EP0195569B1 (de) 1993-09-22
US4835680A (en) 1989-05-30
EP0195569A3 (en) 1989-02-22
DE3689049D1 (de) 1993-10-28
JPS61213964A (ja) 1986-09-22
EP0195569A2 (de) 1986-09-24

Similar Documents

Publication Publication Date Title
DE3689049T2 (de) Selbstanpassender Prozessor.
DE69031774T2 (de) Adaptiver Gruppierer
DE69014613T2 (de) Genetische synthese von neuronalen netzwerken.
DE69222707T2 (de) Zeichenverdünnung mit Verwendung des Auftrittsverhaltens von lokal unabhängigen kompetitiven Prozessen
DE3689926T2 (de) Einrichtung zur sequenziellen Bildtransformation.
DE3501272A1 (de) Adaptives, selbstausbesserndes prozessorfeld
DE2909153A1 (de) Einrichtung zur elektronischen verarbeitung von bild- und/oder zeichenmustern
DE3587061T2 (de) Bildverarbeitungseinrichtung und verfahren zu deren steuerung.
DE69330021T2 (de) Verbessertes System zur Mustererkennung für Sonar und andere Anwendungen
DE3938645C1 (de)
DE4217832A1 (de) Mustererkennungs- und musterlerngeraet
DE69314293T2 (de) Neuronalanlage und -Bauverfahren
DE69815390T2 (de) Neuronale netzwerke
DE69131020T2 (de) Gerät geeignet zur objekt-hintergrund-abtrennung
DE3508400A1 (de) Vorrichtung und verfahren zur mustererkennung
DE102006044595B4 (de) Bildverarbeitungsvorrichtung zur Segmentierung anhand von Konturpunkten
DE2133638B2 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
DE69802372T4 (de) Klassifizierungssystem und -verfahren mit N-Tuple- oder RAM-basiertem neuronalem Netzwerk
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
DE112019001959T5 (de) Segmentieren unregelmässiger formen in bildern unter verwendung von tiefem bereichswachstum
DE69028676T2 (de) System und Verfahren zur Bestimmung des Verdrahtungsmusters
DE3853137T2 (de) Abfragevorrichtung.
DE69204064T2 (de) Filter zur erweiterung und erosionsumwandlung von bildern.
DE69120854T2 (de) Lernverfahren fÜr Datenverarbeitungssystem
DE69410733T2 (de) Neuronaler Zellularautomat und darauf basierter Optimierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee