DE3501272A1 - Adaptives, selbstausbesserndes prozessorfeld - Google Patents

Adaptives, selbstausbesserndes prozessorfeld

Info

Publication number
DE3501272A1
DE3501272A1 DE19853501272 DE3501272A DE3501272A1 DE 3501272 A1 DE3501272 A1 DE 3501272A1 DE 19853501272 DE19853501272 DE 19853501272 DE 3501272 A DE3501272 A DE 3501272A DE 3501272 A1 DE3501272 A1 DE 3501272A1
Authority
DE
Germany
Prior art keywords
cells
cell
row
value
field
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.)
Withdrawn
Application number
DE19853501272
Other languages
English (en)
Inventor
Tad H. Anchorage Alas. Hogg
Bernardo A. Palo Alto Calif. 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 DE3501272A1 publication Critical patent/DE3501272A1/de
Withdrawn 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1476Error detection or correction of the data by redundancy in operation in neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Description

Beschreibung
Adaptives, selbstausbesserndes Prozessorfeld
Hintergrund der Erfindung
Die Erfindung bezieht sich auf digitale Parallelprozessoren oder Prozessorfelder der Art, die eine zweidimensionale Matrix aus im wesentlichen gleichen, miteinander verbundenen Zellen aufweisen, die dazu eingerichtet sind, Signale von anderen Zellen der Matrix aufzunehmen, um sequentiell Umformungsoperationen an einer Vielzahl von Eingangssignalen durchzuführen, um ein Ausgangssignal zu erzeugen, das sich auf diese Operationen gründet. Das Ausgangssignal einer jeden betroffenen Zelle hängt daher von den Ergebnissen der Operationen, die in Nachbarzellen durchgeführt worden sind, ab, da diese Ergebnisse die
Eingangssignale der betroffenen Zelle bilden. 20
Es gibt viele Beispiele unterschiedlicher Arten von Parallelprozessoren oder Prozessorfeldern im Stand der Technik. Lange Jahre, im einzelnen bis in die 50er Jahre zurückgehend sind von Wissenschaft- ° lern und Forschern viele Untersuchungen angestellt worden, die die Eigenschaften von Zellenfeldern und Zellenanhäufungen betrafen. Viele dieser Forschungen betrafen Studien, mit denen die Neuronenaktivität des menschlichen Gehirns verstanden und nachgebildet
werden sollte, speziell hinsichtlich des Lern*- und Erkennungsvorgangs. Hierüber ist beispielsweise berichtet worden von R. L. Beurle in "Properties of a Mass of Cells Capable of Regenerating Pulses", veröffentlicht in Royal Society of London Philosophical
Transactions, Series B: Biological Sciences, Vo.
(B.669), Seiten 8 bis 9^ (1956), von D. R. Smith et al in "Maintained Acitvity in Neural Nets", veröffentlicht in ACM 1969 und von G.M. Edelman et al in "Selective Networks Capable of Representative Transformtations Limited Generalizations, and Associated Memory", veröffentlicht in Proceedings of National Academy of Science, USA, vol 79, Seiten 2091-2095, März 1982.
Aus diesen frühen Studien sind viele Entwicklungen jQ bezüglich der Parallelprozessorstruktur hervorgegangen, bei der jede Zellenstruktur in einem Prozessorzellenfeld ihre individuelle logische Fähigkeit zur Verarbeitung von Daten sowie ein begrenztes Speichervermögen aufweist. Diese Entwicklungen sind teilweise ,ε vorangetrieben worden durch die Kombination von
(1) der Notwendigkeit, innerhalb vernünftiger Zeitdauer Myriaden von Eingangsdaten zu verarbeiten und
(2) dem Erscheinen der hochintegrierten Schaltkreise (LSI-Technik) und später der sehr hoch integrierten
2Q Schaltkreise (VLSI-Technik) auf dem Markt. Beispiele der Literatur über solche Entwicklungen sind: W.H. Kautz "Cellular Logic-in-Memory Arrays", veröffentlicht in IEEE Transactions on Computers, Seiten 1566 bis 1569, Dezember 1971 und D.H. Lawrie,
«ε "Access & Alignment of Data in An Array Processor" veröffentlicht in IEEE Transactions on Computers, Vol. C-24, Nr. 12, Seiten 1145-1155, Dezember 1975.
Eines der fundamentalsten Beispiele eines digi- _0 talen Parallelprozessors aus der Patentliteratur
ist die US-PS 3 106 698, die eine zweidimensionale Matrix identischer Prozessorelemente oder -zellen betrifft, die logische und Speicher-Fähigkeiten aufweisen. Jede Zelle ist mit einer Vielzahl von o_ Nachbarzellen verbunden und Eingangsdaten oder -signale können direkt in jede Zelle von einer
äquivalenten Zelle über ein Eingangsfeld eingegeben werden. Die Verarbeitung in jeder Zelle wird unter Steuerung durch eine Hauptsteuereinheit durchgeführt, die allgemeine Befehle zu allen Zellen sendet, um simultane Verarbeitung der Daten in jeder Zelle und die übertragung von Informationen zwischen den Zellen über Multiplexerleitungen zu ermöglichen. Eine Serie von Transformationen werden an den Eingangsdaten von den Zellen ausgeführt, und die Ergebnisse an einer Ausgangsmatrix zur Verfügung gestellt. Andere Beispiele solcher Parallelprozessorfelder mit Steuerung durch eine Hauptsteuereinheit, wie einen Zentralprozessor , sind in den US-PSen 4 065 808, 4 215 401, 4 270 169 und 4 395 699 beschrieben.
Die am besten bekannten Anwendungen von Parallelprozessoren oder Prozessorfeldern sind die automatische Erkennung, Analyse, Digitalisierung und/oder Klassifizierung von Mustern und deren Verarbeitung von BiIdinformationen oder alphanumerischen Schriftzeichen. Ein Beispiel eines solchen Prozessors ist in der US-PS 4?060 713 beschrieben, die die Analyse von bildern betrifft, wo Werte von Bildelementen mit benachbarten Elementen in einem zweidimensionalen Prozessorfeld verglichen werden. Die US-PS 4 384 273 beschreibt ein autogonales Feld aus miteinander verbundenen Zellen mit Zeitverwerfungs-Signalerkennung für die Anpassung von Signalmustern. Ein weiteres Patent ist die oben erwähnte US-PS 4 395 699, die sich auf ein Bildanalysiersystem bezieht, das ein prozesorfeld zum Analysieren von Gruppen benachbarter Bildpunktwerte und zum selektiven Umwandein der Bildpunktwerte als Ergebnis einer solchen Gruppenanalyse aufweist.
Heute gibt die Parallelrechnertechnik zu vielen Hoffnungen Anlaß, die von numerischen Verfahren und Robotern bis zu Erkennungsverfahren, wie Bild- und Spracherkennung, reichen. Die Fortschritte in der VLSI-Technik der jüngsten Zeit haben es müglich gemacht, vereint arbeitende Prozessorfelder aufzubauen, die aus einem regelmäßigen Feld örtlich miteinander verbundener Elemente oder Zellen bestehen. Außer ihren" nützlichen Anwendungen haben solche Prozessorfelder die Möglichkeit, ihr Verhalten darzustellen, das durch Selbstorganisierung, Lernen und Erkennen gekennzeichnet ist.
Wegen der großen Zahl von Feldzellen und zugehörigen Steuereinrichtungen sind diese Felder im Aufbau und ihrer Gestalt sehr kompliziert. Obgleich frühere Prozessorfelder darauf zielten, diese Prozessoren zu vereinfachen, ist dies doch eine schwierige Aufgabe, speziell wenn Genauigkeit im Betriebsverhalten der Feldzellen die vordringliche Forderung ist.
Die Erfinder haben ermittelt, daß ein Prozessorfeld so gestaltet werden kann, daß es eine Lernfähigkeit aufweist, die für den Gebrauch bei den oben erwähnten Anwendüngsfällen ausreichend ist, weil es keinen so hohen Genauigkeitsgrad verlangt, d.h. weil es Ausgangssignale abgibt, die unempfindlich gegen Fehler sind, die in einer oder mehreren einzelnen Zellen des Feldes auftreten könnten. Diese Immunität wird hier mit dem Ausdruck "Selbstausbesserung" beschrieben.
Das Wesen der Erfindung
Gemäß der vorliegenden Erfindung wird ein adaptives, selbstausbesserndes Prozessorfeld angegeben, das ein anpassungsfähiges Verhalten in parallelen Feldzellen aufweist und in der gegenwärtigen VLSI-Technik ausgeführt werden kann. Merkmale, wie örtliche Verbindungen, wenige Drähte und eine regelmäßige Gitterstruktur machen sie in idealer Weise geeignet, auf einem einzigen VLSI-Chip ausgeführt zu werden.
Ihr hoher Grad an Übereinstimmung und Programmierbarkeit ergibt ein wirksames Verfahren für nützliche Feldeigenschaften, zu denen Lernfähigkeit, Mustererkennungsfähigkeit und assoziative Inhaltsadressierbare Speicherfähigkeit gehören. Das neue adaptive Prozessorfeld nach der vorliegenden Erfindung ist eine selbstausbessernde Einrichtung, die auf der Existenz stabiler Anziehung in dem dynamischen Gesamtfeldverhalten basiert, was vom Konzept her ein Verlassen der üblichen Multiplexgedanken und zugehöriger Mehrheitsregelschemen bedeutet.
Das adaptive, selbstausbessernde Prozessorfeld nach der vorliegenden Erfindung enthält eine Vielzahl identischer Prozessorzellen, die in parallelen orthogonalen Spalten und Reihen· angeordnet sind und so eine zweidimensionale Matrix bilden, in der die erste Zellenreihe in dem Feld einen parallelen Signaleingang zum Feld darstellt. Jede Zelle in der ersten Reihe empfängt ein Eingangssignal von einer signalzelle. Nachfolgende Reihen der Feldzellen sind mit unmittelbaren Nachbarzellen in beiden orthogonalen und diagonalen Richtungen in Bezug auf die parallelen orthogonalen Reihen und Spalten der Feldmatrix verbunden. Logische Einrichtungen
in jeder der Zellen empfangen daher ein oder mehr Eingangssignale von einer oder mehreren orthogonal oder diagonal mit ihr verbundenen Zellen aus der vorangehenden Zellenreihe und aus benachbarten Zellen derselben Reihe. Die logischen Einrichtungen berechnen, analysieren durch Vergleich und aktualisieren die empfangenen Eingangswerte mit dem Datenwert in dem Speicher der Zelle und erzeugen einen neuen Speicherdatenwert und einen neuen Ausgabedatenwert. Der neue Ausgabedatenwert wird als Ausgang zu orthogonal und/oder diagonal verbundenen Zellen in einer nachfolgenden Zellenreihe und zu benachbarten Zellen in derselben Reihe zum Zwecke einer Vergleichsanalyse übertragen.
Im besonderen werden die verbundenen Eingangssignale einer betrachteten Zelle, die von einer vorangehenden zellenreihe empfangen werden, in einem Rechenvorgasg auf der Grundlage von vorgegebenen Algorithmen oder Regeln einen neuen Zellenwert zu erzeugen. Dieser Rechenvorgang bezieht die Verwendung des gegenwärtigen Speicherzustandes der Zelle ein. Der neue, erhaltene Wert wird mit den anderen neuen erhaltenen Werten durch die zwei Nachbarzellen derselben Reihe verglichen, um zu bestimmen, ob der neue Wert der betrachteten Zelle sich nicht unterscheidet, höher oder niedriger als einer der neuen Werte in den beiden benachbarten Reihenzellen ist. Wenn sich der Wert als der höchste herausstellt, dann wird der Wert des Speicherzustandes der betrachteten Zelle um 1 erhöht. Wenn der Wert sich als der niedrigste herausstellt, dann wird der Wert des Speicherzustandes der betrachteten Zelle um 1 erniedrigt. Ansonsten bleibt der Speicherzustand unverändert, d.h. wenn der Wert weder höher noch niedriger ist, dann wird
keine Änderung des Speicherzustands vorgenommen. Diese Verarbeitung wird fortgeführt (1) wobei die berechneten neuen Datenwerte eingestellt werden, daß sie in einem vorbeschriebßnen Bereich von Sättigungsgrenzen !-bleiben und (2) solange Eingangssignale vorhanden sind und bis das letzte solcher Signale bis zur letzten Reihe der Zellen im Feld fortgeschritten ist.
*0 Andere Merkmale und Vorteile der Erfindung sollen nachfolgend unter Bezugnahme auf die Zeichnungen an Ausführungsbeispielen näher erläutert werden.
Kurzbeschreibung der Zeichnungen 15
Fig. 1 zeigt ein Beispiel der Verbindungen zwischen den Zellen eines adaptiven Prozessorfeldes nach der vorliegenden Erfindung.
Fig. 2A, 2B und 2C zeigen die drei Hauptfunktionen, die von den Zellen in dem Feld nach Fig. 1 ausgeführt werden, welche Funktionen sind: Rechnen, Vergleichen und Fortschreiben und Ausgeben in Übereinstimmung mit den Algorithenrund Regeln, die im Betrieb des Feldes verwendet werden.
Fig. 3 ist ein logisches Flußdiagramm bezüglich der Regeln und Algorithmen, die im Betrieb des Feldes verwendt werden.
30
Fig. U zeigt ein weiteres Beispiel von Verbindungen zwischen den Zellen eines adaptiven Prozessorfeldes nach der vorliegenden Erfindung zum Zwecke der Darstellung des stroboskopischen Abtastens des adaptiven Prozessorfeldes nach der vorliegenden Erfindung.
Fig. 5 ist eine graphische Darstellung der Distanz (Unterschiede) zwischen aufeinanderfolgenden Sätzen von Ausgängen eines Feldes nach der vorliegenden Erfindung als Funktion der Zeit, um die Selbstausbesserung nach der vorliegenden Erfindung darzustellen.
Fig. 6 ist eine graphische Darstellung des Prozentsatzes von Datensignalen, der als Funktion der Zeit gesättigt wird.
10
Fig. 7 ist ein Schaltbild, das für die Feldzellen dach der vorliegenden Erfindung verwendet werden kann.
Fig. 8 ist eine Darstellung des Verarbeitungsbetriebes des Feldes unter den von der vorliegenden Erfindung ausgedrückten Regeln und Algorithmen.
Beschreibung bevorzugter Ausführungsformen
Fig. 1 zeigt ein Beispiel eines adaptiven Prozessorfeldes 10 nach der vorliegenden Erfindung. Das Feld besteht aus einer Vielzahl miteinander verbundener identischer Prozessorzellen 12, die in parallelen orthogonalen Reihen m und Spalten η angeordnet sind. In der einfachen gezeigten Darstellung sind benachbarte Zellen innerhalb einer Reihe miteinander verbunden und Zellen aus einer vorangehenden Reihe sind mit diagonal angeordneten Zellen einer nachfolgenden Reihe verbunden.
Fig. 1 zeigt nur einen Ausschnitt aus einem Feld 10. Die Darstellung bezieht sich auf eine Zelleneinheit ij des Feldes und ihre Beziehung zu unmittelbar benachbarten Zellen in unmittelbar benachbarten Spalten und Reihen des Feldes. Das Feld 10 könnte
'35ΪΙ1272
sich über viele andere Spalten und Reihen erstrecken, wie in Fig. 1 durch horizontale gestrichelte Linien und vertikale gepunktete Linien angedeutet ist, um eine große Matrix von beispielsweise 20 χ 32 Zellen zu bilden, d.h. in 20 Reihen und 32 Spalten sind insgesamt 640 Zellen angeordnet. Der Feldaufbau kann quadratisch oder rechteckig sein. Die Größe und Gestalt des Feldes hängt von der Zahl der benötigten Eingänge und dem gewünschten Anwendungsgebiet ab.
Die mittlere Zelle 12 des Feldes ist als Zelle ij in der Reihe i und der Spalte j bezeichnet. Die darüber angeordnete, vorangehende Reihe trägt daher die Bezeichnung i-1, die nachfolgende Reihe die Bezeichnung i+1. Dementsprechend trägt die auf der linken Seite gelegene Nachbarspalte die Bezeichnung j-1 und die auf der rechten Seite gelegene Nachbarspalte die Bezeichnung j+1.
Die Zelle 12 an der Zellenposition i-1, j-1 in Fig. 1 ist durch eine Leitung 14 mit der in der Reihe benachbarten Zelle i-1j verbunden und letztere ist durch eine Leitung 16 mit der Zelle i-1, j-1 verbunden. Die gleiche Art von gegenseitiger Verbindung herrscht auch zwischen den Reihenzellen aller Reihen i-1, i und i+1, wie durch die in den Bezugszeichen übereinstimmenden leitungen 14 und 16 dargestellt ist.
Wie oben angegeben sind die Zellen 12 einer vorangehenden Reihe mit den Zellen 12 einer nachfolgenden Reihe mit Hilfe von diagonalen Leitungen 18 und 20 verbunden. Beispielsweise ist die Zelle i, j in der Reihe i diagonal mit der Zelle i+1, j-1 in der nachfolgenden Reihe i+1 durch die Leitung 18 und mit der Zelle i+1, j+1 durch eine Leitung 20 verbunden. Diese Leitungen 18 und 20 sind die Ausgangsleitungen von der Zelle i, j, und die Ausgangsleitung 18 ist einer der zwei Eingänge
der Zelle i+1, j-1 und die Ausgangsleitung 20 ist einer der zwei Eingänge der Zelle i+1, j+1. In gleicher Weise ist die diagonale Leitung 20 von der Zelle i-1, j-1 der c vorangehenden Reihe i-1 der eine Eingang der Zelle i, j in der Reihe i und die diagonale Leitung 18 von der Zelle i-1, j+1 der Reihe i-1 ist der andere Eingang der Zelle i, j in der Reihe i.
Es sei an dieser Stelle betont, daß die in Fig. 1 dargestellte Konfiguration der Zellenverbindung nicht die einzige mögliche Konfiguration innerhalb des erfindungsgemäßen Konzeptes ist. Beispielsweise brauchen die diagonalen Verbindungsleitungen 18 und 20 nicht vorhanden zu sein und es könnten Verbindungen mit einer Spal-
tenzelle in einer vorangehenden Reihe und einer nachfolgenden Reihe vorhanden sein, wie durch die gepunkteten Linien 22 angedeutet ist. Eine weitere Konfiguration wäre der Einschluß von Leitungen entsprechend der Linien 22 in der in Fig. 1 dargestellten Ausführungsform. Die Zellenreihenverbindungen sind speziell bedeutsam in der speziellen Anwendung der Regeln und Algorithmen der vorliegenden Erfindung in Verbindung mit einer Bildverbesserung, Bilderkennung, Randerkennung usw.
Als Beispiel des zuvor Beschriebenen zeigt Fig. 4
ein 5x8-Zellenfeld 30 mit einzelnen Eingängen und Ausgängen zwischen ausgerichteten Spaltenzellen in benachbarten Reihen des Feldes. Diese Eingänge und Ausgänge
sind durch Leitungen 22 dargestellt. 30
In der Teildarstellung nach Fig. 1 stellt die oberste Reihe zur Vereinfachung der Darstellung und Erläuterung die Eingangsreihe zum Feld 12 dar, mit Eingangsleitungen 24 zu jeder der Zellen der ersten Reihe oder 35
Reihe 1, während die letzte oder Ausgangsreihe des Feldes Ausgangsleitungen 26 von jeder der Zellen der letz-
ten Reihe oder Reihe m aufweist. Selbstverständlich sind in der Praxis zwischen diesen Reihen außer den Reihen i-1, i und i+1 weitere Reihen vorhanden. Die seitlichen
c Begrenzungen oder ersten und letzten Spalten, nämlich b
die Spalten 1 und η des Feldes werden im Betrieb des Fel des nicht verwendet und bilden seitliche Grenzen für das Feld zwischen der Eingangsreihe 1 und der Ausgangsreihe m.
Jede Zelle 12 empfängt Datenwerte von den Eingängen
der mit ihr verbundenen Nachbarzelle in derselben Reihe und aus der vorangehenden Reihe. Die Eingänge an den Lei tungen 18 und 20 von der vorangehenden Reihe sind zwei ganze Eingänge I1 und I?, wie Fig. 2A zeigt. Zusätzlich
' *-
zu den Datenwerten, die über diese Verbindungen empfangen werden, weist jede Zelle, die selbst ein Prozessor ist, einen einstellbaren internen Speicherzustand M auf, der es einer Zelle erlaubt, sich an ihre örtliche Umgebung anzupassen, d.h., ihr resultierender Datenwert wird
entweder verändert oder nicht verändert je nach den Datenwerten, die sie als Eingänge von den Nachbarzellen erhält.
Bei dem speziellen Beispiel des Feldes 10 nach Fig. 25
mit m Reihen und η Spalten ist jede Zelle 12 mit zwei Ganzzahl-Eingängen I^ und I2 und einem einzelnen Ganzzahlausgang 0 versehen. Alle Datenwerte, die durch das Feld laufen sollen, sind weiterhin darauf beschränkt,
zwischen zwei Grenzen zu liegen, die durch ganze Zahlen 30
Smin und Smax dargestellt sind, wobei Smin <Smax ist
und worin S die Sättigungsgrenzzahl ist, für das Maximum und für das Minimum. Diese Beschränkung beseitigt die Möglichkeit eines Datenüberlaufs und, noch wichtiger, schafft einen hohen Grad an Zuverlässigkeit des
Feldes, wie später noch detailliert erläutert wird. Es sei der symmetrische Fall betrachtet, in welchem
Smin = ~Smax und Smax = 15 gewählt ist. Der innere Zustand einer jeden Zelle wird durch eine einzelne kleine ganze Zahl dargestellt. Die lokalen Rechenregeln oder Algorithmen für jede Zelle verstärken die Differenzen in den Datenwertent wobei ein Sättigungsvorgang die Werte innerhalb des vorbestimmten Bereiches hält.
Es sei beispielsweise M..(k) der Speicherwert zwisehen einem festen Sättigungsbereich M . und M in einer Zelle enthalten, die in der i-ten Reihe und in der j-ten Spalte angeordnet ist, nach der k-ten Zeitstufe. Es seien I i-j(k) und * ii^k^ die EinSangs-
werte zu diesem Element und es sei O..(k) der Ausgang.
Fig. 2 ist zur Erläuterung der Schritte, durch welche Ib
die neuen Datenwerte und Speicherwerte berechnet werden, nützlich. Fig. 2A stellt den Berechnungsschritt für den Datenwert 0. .(k) auf der Grundlage der Werte I- und I2 dar, die an den Leitungen 18 und 20 von der Zelle ij von den diagonal verbundenen Zellen der vorangehenden Reihe i-1 erhalten werden. Fig. 2B zeigt den Vergleichsschritt, in welchem die berechneten Werte zu den Nachbarzellen in derselben Reihe i übertragen werden, um mit den Speicherdatenwerten jeder der Nachbarzellen i, j-1 und i, j+1 verglichen zu werden. Der Speicherwert M. .
1J
wird dann entsprechend dem Vergleichsergebnis mit den berechneten Datenwerten der Nachbarzellen fortgeschrieben. Fig. 2C zeigt den fortgeschriebenen Speicherwert Mf. . und den neuen Datenausgangswert 0. ., der als einzi-
ger ganzzahliger Ausgangswert an den Leitungen 18 und 30
abgegeben wird. Diese Verarbeitung ist weiterhin in dem Flußdiagramm nach Fig. 4 dargestellt.
Eine allgemeine Erläuterung wird nun für die Zellenverarbeitung gegeben, bevor die Algorithmen und Regeln 35
detailliert erläutert werden.
Es sei zunächst betrachtet, daß die vier Sättigungsgrenzen für S . und S , M . und M auf die vorbestimmten Werte festgesetzt sind. Bezugnehmend auf Fig.
werden die Eingangssignale, die jeweils einen einzelnen 5
Datenwert repräsentieren, der ersten Reihe der Feldzellen 1 von einer Datenquelle über Eingangsleitungen 24 zugeführt werden.
Entsprechend dem Berechnungsschritt nach Fig. 2A wird dann ein Ausgangswert in einer Zelle entsprechend der Eingangswertdifferenzen zwischen den Datenwerten I1 und I2 an den Leitungen 18 und 20 berechnet, die man von den Zellen in der vorangehenden Reihe erhält. Dann wird
dieser berechnete Wert mit dem vorhandenen Speicherwert 15
multipliziert, um einen neuen Datenwert 0.. zu erzeugen. Gemäß Fig. 2B wird dieser neue Wert dann mit dem berechneten neuen Wert verglichen, den man in unmittelbar benachbarten Reihenzellen erhält. Dies wird mittels der horizontalen Verbindungen zu den benachbarten Zellen in
derselben Reihe ausgeführt, um danach den internen Zustand des Zellenspeichers M.. auf der Grundlage des Ausgangs eines Nachbars einzustellen. Wenn der Vergleich keine Änderung oder "Nein" ergibt, dann wird der in der Zelle vorhandene Datenwert aufrechterhalten und bleibt
unverändert. Wenn jedoch der Wert ergibt, daß er der höchste oder der niedrigste ist, dann werden die vorhandenen gesammelten Werte im Zellenspeicher auf den neuen Wert, entweder höher oder niedriger, fortgeschrieben. Der interne Speicherwert oder Speicherzustand des
Zellenspeichers, M. ., wird dementsprechend auf M1. . verändert und der neue Datenwert 0.. wird als Ausgangssignal zu einer oder mehreren benachbarten Feldzellen abgegeben, im Falle nach Fig. 1 über die Ausgangsleitungen 18 und 20 von jeder Zelle 12.
Nach Abschluß der Ausgabe ist ein vollständiger Zyklus der Zellenverarbeitung in einer Zeitstufe k er-
-,/.·«. 35Q1272
reicht. Wenn die letzte Serie von Eingängen zum Zellenfeld nicht empfangen worden ist, dann wird dieser Zyklus wiederholt, bis die letzte Reihe von Eingangssignalen bis zur letzten Reihe m des Feldes fortgeschritten ist, zu welchem Punkt die Verarbeitung vollständig ist und die Datenwerte innerhalb der obenerwähnten Sättigungsgrenzen werden als ein Leitungsausgang über die Ausgangsleitungen 26 als paralleles Ausgangssignal des Feldes abgegeben.
Bei jedem Zeitschritt k wird der neue Ausgang einer Zelle 12 nach folgender Gleichung berechnet:
= ««&_, "^[SL1V. M„(k).(I(1)^(k) - I(2> Ck))U (1),
min, min^, M. .(k).(I.,.(k) - I..
wobei mit Ausnahme für die Sättigung S . oder S gerade die Differenz zwischen den Eingängen I1 und I- mit dem Wert M. . multipliziert wird, der in dem Zellenspeicher enthalten ist. Es sei hervorgehoben, daß der Aus-20
gang eine nichtlineare Funktion der Eingangssignale ist, was eine Folge der Sättigungsgrenzen ist.
Diese Verbindungen zwischen benachbarten Zellen in
derselben Reihe werden durch Spezifizierung, welcher 25
Ausgang mit jedem Eingang verbunden ist, bestimmt. Dies wird durch folgende Verhältnisse angegeben:
lt1>ijtk> ■ °i-i.j-itk> <2a)·
1'21COO(K) (2b),
wobei I£i£m und Isijin, wobei m und η vorbestimmte Reihen- und Spaltenwerte sind. Diese Verbindungen bewirken, daß die Daten durch das Feld mit einer Geschwindigkeit
von einer Reihe pro Zeitschritt k fließen. Das externe Eingangssignal zum Feld beim Schritt k ist mit .S_(k) be-
zeichnet und R,(k) ist das resultierende Ausgangssignal. Die Ränder des Feldes sind angegeben durch
OnAk) = S1(Ic) (3a),
©J J
0 .(k) = R.(k) (3b) und
für oberen Rand, unteren Rand und Seitenränder.
Zusätzlich zu diesem Rechenvorgang, der grundsätzlich den Fluß von Daten durch das Feld einschließt, findet eine Adaption statt, die die Speicherwerte M. . verändert. ° Es wird der Ausgang der Zelle i, j mit den Ausgängen der Nachbarn zur Linken und zur Rechten verglichen, wie in den Figuren 2B und 2C gezeigt ist. Wenn der Ausgang der Zelle i> j größer oder kleiner als der der anderen zwei Zellen ist, dann wird der Wert von H^. entsprechend um Eins gesteigert oder verringert unter Beachtung der Beschränkung, daß der Wert in einem festen Bereich zwischen M. und M bleibt. Sonst wird M.. nicht verändert. Beispielsweise können die Bereichsgrenzen bei M . = 1 und
M = U liegen. Dies bewirkt beispielsweise eine örtlimax
^° ehe Adaption an Ränder durch Einstellung des Speicherwerts auf Punkte, wo die Daten sich rasch ändern.
Wie zuvor erläutert, verlangt der Vergleichsvorgang horizontale Verbindungen zwischen benachbarten Zellen
^O einer jeden Reihe. Durch Abtrennen des ädaptiven Vorgangs vom Datenfluß durch das Feld kann das adaptierte Feld analysiert werden, indem man eine Serie paralleler Eingangssignale durch das Feld sendet, ohne die Speicherwerte zu verändern.
Das allgemeine Verhalten eines solchen Prozessorfeldes kann sehr kompliziert sein. Die Zahl der unabhängigen
35Q1272
Konfigurationen, die betrachtet werden müssen, läßt sich jedoch erheblich verringern, indem man den Ausgang der letzten Reihe studiert und alle Zustände des Feldes als identisch annimmt, die denselben Ausgang erzeugen. Um eine quantitative Messung von "unbeaufsichtigtem Lernen" im Feld durchzuführen, wird eine stroboskopische Technik verwendet, die im Diagramm in Fig. 4 dargestellt ist. Durch Anbietung einer periodischen Reihe von Eingangssignalen und Berechnen der Distanz (Unterschiede) zwischen entsprechenden Sätzen von abgetasteten Ausgangssignalen ist man in der Lage, dynamische Veränderungen in dem Feld zu studieren, während dieses sich auf die Folge der Eingangssignale pro Zeitschritt k einstellt. Die verschiedenen Eingänge werden durch das Feld geschleust, ohne daß es notwendig ist, zum internen Speicherzustand M der Feldzellen direkt Zugang zu haben.
In der adaptiven Betriebsart, d.h. wenn der interne Speicherzustand einer jeden Zelle 12 auf der Grundlage der von ihren Nachbarzellen empfangenen Datenwerte modifiziert wird, läuft das obenbeschriebene periodische Abtasten sehr schnell auf einen speziellen Satz von Mustern hinaus. Ein quantitatives Maß dieser Konvergenz wird durch die Maximaldistanz (Unterschiede) zwischen entsprechenden Ausgangssignalen in aufeinanderfolgenden Perioden der Eingangssignalfolge angegeben. Da ein spezielles Signal m Zeitschritte verlangt, um den Ausgang zu erreichen, erzeugt der Signalvektor J5(k), der das Feld beim Schritt k betritt, als Ergebnis das Signal R_(m+k) beim Schritt m+k.
Es sei P die Eingabeperiode, so daß S(k+P) - J3(k) für alle k. Die Ausgangsdistanz für jede Periode wird dann berechnet gemäß:
d(t) = max |R(m+k+P) - jUm+k)|| (4),
{k}
wobei k im Bereich des Satzes [tP+1, tP+2 ... (t+1)PJ
-W--aft- ■■'■■"■' '350Ϊ272
liegt, d.h., das sind die Zeiten, zu denen die t-te Periode des Eingangssignals das Feld betritt. Konvergenz an einem festen Punkt, die durch d(t) = 0 signalisiert wird, bedingt, daß die Ausgänge für aufeinanderfolgende Eingangsperioden gleich sind.
Fig. 5 zeigt die Ergebnisse eines Versuches, der mittels eines beispielhaften Feldes aus 64 Fällen durchgen führt worden ist, wobei die Zellen in einem Quadratgitter angeordnet waren, das einem periodischen, sequentiellen Eingangssignal aus vier Mustern (P = 4), die willkürlich gewählt waren, unterworfen wurde. Die Sättigungswerte wurden mit Smax = -S . = 15 angesetzt. Wie Fig. 5 zeigt,
stellt die Kurve 3^ den Änderungszustand in dem Feld dar 15
und stabilisiert sich beim Punkt 32 in relativ kurzer Zeit. Es sei hervorgehoben, daß es ungefähr fünf Perioden bis zur Position des Zeigers 38 dauert. Im adaptierten Betrieb besteht der stroboskopisch abgetastete Zustand des Feldes aus einer komplizierten Konfiguration von Speicher-
vor dem Einstellen" dargestellt sind.
werten M.., die links oben in Fig. H unter dem Titel"Feld
In den Anfügungen an Fig. 5 mit dem Titel "Feld vor
dem Einstellen" und "Eingestelltes Feld" gibt ein Stern 25
den Wert von 1J an und ein Punkt gibt den Wert 1 an. Die anderen Werte 2 und 3 liegen an den Punkten, wie eingetragen, vor. Die Verwendung dieser Symbole geschieht hier nur, um die Darstellung nicht zu überfüllen, so daß man
die Eintragungen schneller verfolgen und begreifen kann. 30
Die festen Punkte von Datenwerten nach dem Punkt 32 besitzen die starke Eigenschaft, anziehend zu sein, d.h., Abweichungen von ihnen neigen dazu, auf ursprünglich erhaltene Werte wie in verlustbehafteten dynamischen Syste-35
men zurückzufallen. Dies wird durch die Sättigung, die in den Berechnungsregeln und Gleichungen 1 und 2 verwendet
"35ÖT272
werden, verursacht, was eine unbegrenzte Vergrößerung von Fehlern durch die Verarbeitung in dem Feld vermeidet. Dieser Vorgang ist durch Auftragen des Bruchteils der Datenwerte, die gesättigt sind, d.h. entweder S . oder S sind, dargestellt, wenn ein spezielles Eingangssignal sich durch jede Reihe des Feldes bewegt. Dies ist in Fig. 6 dargestellt, wo die Prozentsätze I/I der Eingangssig-
IUa X
nale, die gesättigt sind, über der Zeit aufgetragen sind.
Es sei betont, daß dies nicht bedeutet, daß die internen Speicherwerte gesättigt sind. Fig. 6 zeigt diesen Bruchteil für das Quadratfeld mit 61J Zellen. Man beachte, daß die Daten die Sättigung schneller erreichen, als die
Zellen im Feld sich auf Werte einstellen, die auf dem pa-15
rallelen Eingangssignal oder Satz von parallelen Eingangssignalen beruhen.
Die Existenz stabiler Anziehelemente für diese Berechnungsstrukturen bewirkt eine neuartige Einrichtung
für die Selbstausbesserung während des Adaptionsvorganges des Feldes entsprechend den Algorithmen und Regeln, die in den zuvor erwähnten Gleichungen festgelegt sind. Die Dynamik des Feldes ist derart, daß sie kleine Änderungen entweder in neuen Datenwerten oder Speicherwerten
auf die anziehenden festen Punkte zurückführt. Es sei betont, daß dieses allgemeine Verfahren zur Selbstausbesserung sich von den üblichen Techniken, die für zuverlässiges Rechnen verwendet werden, sehr unterscheidet. Die bekannte Technik basiert auf Multiplexschemata mit Mehr-
heitsregeln und benötigt einen beachtlichen Hardware-Aufwand pro Operation. Die hier beschriebene Technik verwendet hingegen die stabilen Sammelbetriebsarten des adaptiven Prozessorfeldes.
Fehler können während des Adaptionsprozesses auftreten, entweder während das Feld sich ändert oder nachdem
-W- · SLk ■
350T272
es sich eingestellt hat. Solche Fehler können durch zufälliges Ändern einiger der Speicherdatenwerte M. . eingeführt werden und erlauben dann eine Feldverarbeitung wie
zuvor oder durch dauerhaftes Einfrieren des Zustandes 5
einiger der Zellen und von deren Ausgängen.
Die veränderten Werte des Beispiels nach Fig. 5 sind in dem unteren Eintrag "EingestelltesFeld" in Fig. 5 dargestellt, wo die in Kreisen stehenden numerischen Werte die Veränderungen der Speicherwerte M. . gegenüber ihren vorausgegangenen Werten darstellen, jeweils auf dieselben Zellenpositionen in dem oberen Eintrag in Fig. 5 bezogen. Diese neu eingestellten, fortgeschriebenen Werte werden in die entsprechend bezeichneten Zellen zu dem Zeitpunkt eingeschrieben, der durch den Pfeil 38 in Fig. 5 dargestellt ist. Jede an dem Ausgang erzeugte Änderung wird aufgezeichnet und ist ein Maß für das Verhalten des Feldes. Es sei betont, daß ein Fehler, der innerhalb des
Feldes auftritt, jedoch ausgebessert wird, bevor die Aus-20
gangsreihe m der Zellen erreicht wird, niemals zur Kenntnis genommen wird. Selbst für ziemlich kleine Felder wurde gefunden, daß der adaptive Selbstausbesserungsvorgang sehr unempfindlich gegen solche Änderungen ist und eine schnelle Rückkehr zu dem vorangehenden Gesamtspeicherzustand zeigt. Dies ist in Fig. 5 mit der Kurve 36 dargestellt, die die Distanz (Unterschiede) d als Funktion der Zeit t zeigt, in der das Feld seinen Ursprungszustand wieder einnimmt, nachdem die fünf Fortschreibungswerte beim Punkt 38 eingefügt worden sind. Mit Distanz sind hier die
Unterschiede in den Werten zwischen den entsprechenden Ausgängen von "Feld vor dem Einstellen" und den entsprechenden Ausgängen von "Eingestelltes Feld" auf der Grundlage desselben parallelen Eingangssignals oder Satzes
paralleler Eingangssignale bezeichnet. Nach der Verarbei-35
tung bewirken dann die fünf Zellenspeicherwerte, die dann modifiziert worden sind, eine Veränderung am Ausgang, der wahlfrei korrigiert wurde. In anderen Fällen wurde gefun-
den, daß die Fehlerbeseitigung so schnell vor sich geht, daß die Ausgangsreihe m der Zellen sich niemals ändert. Eine Änderung von 20% der Zellenspeicherwerte kann durch
Betrieb des Feldes unter Verwendung der hier definierten δ
Algorithmen und Regeln "geheilt" werden.
Diese anziehenden festen Punkte erzeugen Erkennungsvorgänge, die, ungleich solchen in digitalen elektronischen Filtern, wegen der Sättigung in den örtlichen Re-10
chenregeln oder Algorithmen nicht linear sind. Durch Festlegung der Werte der Speicherzustände der Zellen und durch anschließendes Senden einer Serie von Eingangssignalen durch das Feld in einer vorbestimmten Reihenfolge
kann man bestimmen, welche mitgeteilten Eingangssignale 15
unterschiedliche Ausgangssignale erzeugen. Diese Vorgänge zeichnen viele unterschiedliche Eingangsmuster in jedem Ausgang auf und im allgemeinen ist der Ausgang des Feldes unempfindlich auf kleine Änderungen in einigen oder wenigen der Eingangssignale. Diese kleinen Störungen
der eingegebenen Signale, die durch ihre Distanz ausgedrückt werden, erzeugen dieselben Ausgangssignale. Der Verarbeitungsvorgang ist immun auf kleine Änderungen der Eingangswerte oder der Speicherzustandswerte während der Verarbeitung, wodurch dieselben gewünschten Ausgangssig-
nale immer noch erzeugt werden. Durch Verwendung eines jeden Ausgangs als eine Adresse in einer Datenbasis kann das Feld beispielsweise zu einem flexiblen, inhaltsadressierbaren Speicher gemacht werden.
Die Bewegung der Datenwerte tief im Innern des adap-
tiven Prozessorfeldes im Erkennungsbetrieb kann in rekursiver Weise analysiert werden. Da in diesem speziellen Fall die Datenwerte gesättigt werden und die Sättigungswerte symmetrisch sind, gibt es drei mögliche Werte, nämlieh 0, S und -S , die als geschlossener Satz {i, 0, -1J angesehen werden können.
"35öt272
Die Dynamik kann dann untersucht werden, indem man annimmt, daß wenn die Datenwerte sich von einer Zellenreihe zur nächsten abwärts bewegen, die Verteilung der Einsen und Nullen innerhalb einer Reihe zufällig ist. Innerhalb dieser "Zufallsphasenannäherung" sei vermutet, daß +1 und -1 jeweils in einer gegebenen Reihe mit der Wahrscheinlichkeit ρ erscheinen und daß 0 mit einer Wahrscheinlichkeit q erscheint, so daß 2p+q=1 gilt. Es sei ,Q eine Zelle in der Reihe i+2 und ihre Vorgänger in den Reihen i+1 und i betrachtet. Die drei Vorgänger in der Reihe i erzeugen Ausgangssignale O1, 0~ und 0,. Diese Ausgangssignale werden in zwei Zellen in der Reihe i+1 gesandt, die wiederum Ausgangssignale O1- und O'? erzeuge gen. Als nächstes wird dann das Ausgangssignal 0' · des Elements in der Reihe i+2 errechnet. In diesem Falle bestehen 3 =27 mögliche Kombinationen für die drei Ausgangssignale der Reihe i. Da die Datenwerte als voneinander unabhängig angenommen werden, kann die Wahrscheinlichkeit, daß das Ausgangssignal O'f=0 oder -1 ist, berechnet werden. Die Wahrscheinlichkeiten, eine 0 oder -1 in der Reihe i+2 zu erhalten für qf und pf werden dann auf der Grundlage der Wahrscheinlichkeiten in der Reihe i durch folgende Rekursionsverhältnisse bestimmt:
-
q» = (1-q-q +Sq^)M
n In einem Tiefenfeld wird das asymptotische Verhalten durch die stabilen Festpunkte dieser Rekursionsverhältnisse bestimmt, die q = 1/5 und ρ = 2/5 sind. Daher sind Nullen vergleichsweise selten und die meisten der Ausgänge bestehen aus -1. Die Untersuchung dieses Verhaltens durch Senden vieler Eingangssignale durch unterschiedliche Feldergrößen hat zu der Erfahrung geführt, daß Nullen in den gesättigten Ausgängen des Feldes selten
erscheinen. Ein quantitativer Vergleich erfordert die Betrachtung von Korrelationen, die durch zusätzliche Reihen erzeugt werden, die dazu neigen, das Auftauchen von NuI-c len tief in der Matrix des Feldes noch weniger wahrscheinlich zu machen.
Die obenbeschriebenen Prozessorfelder bestehen aus identischen Rechnerzellen mit kurzen örtlichen Verbindun- _ gen, die in einem orthogonalen Gitter angeordnet sind. Eingaben und Ausgaben werden nur an den Rändern ausgeführt, so daß die Länge der Verbindungsleitungen minimal ist. Diese Felder können daher hardwaremäßig leicht realisiert werden. Eine solche Ausführung kann sehr schnell
geschehen, da Berechnungen in allen Zellen gleichzeitig 15
durchgeführt werden. Die Hauptbeschränkung besteht gewöhnlich in der Geschwindigkeit, mit der Eingangssignale dem Feld zugeführt und Ausgangssignale aus dem Feld abgezogen werden können.
Obgleich viele konventionelle Schaltkreisanordnungen entworfen werden können, um die Funktionen der Figuren 2 und 3 auszuführen, stellt Fig. 7 eine mögliche Anordnung für den inneren Aufbau einer Zelle 12 dar. Die Eingänge I. und I5 von diagonal verbundenen Zellen aus der vorangehenden Reihe des Feldes sind einer Addierstufe 42 zugeführt, wobei der Eingang Ip mittels eines Inverters 40 invertiert wird. Die Addierstufe 42 erzeugt ein Ausgangssignal, das die Differenz zwischen den Eingangssignalen I- und Ip angibt. Dieses Differenzsignal wird einem Eingang einer Multiplizierstufe 44 zugeführt. Die Multiplizierstufe 44 erhält ein weiteres Eingangssignal von dem internen Speicher 46 der Zelle und multipliziert den Datenwert aus dem Speicher M mit dem von der Addierstufe
42 empfangenen Wert. Die Ausgänge des Multiplizierers 44 35
an den Leitungen 48 und 50 stellen das Ergebnis des Berechnungsschrittes der Fig. 2A dar, d.h. das Ergebnis der
Gleichung (1) innerhalb der Grenzen von S und S . .
max min
Das Ausgangssignal 0.. an der Leitung 50 wird auf Leitungen 18 und 20 den diagonal angeschlossenen Zellen der
c nächsten Reihe des Feldes zugeführt. Dieses Ausgangssignal wird weiterhin über die Leitung 48 einem Komparator 52 zugeführt. Der Komparator 52 vergleicht zunächst den Wert, der von dem Signal auf der Leitung 48 repräsentiert wird, mit den neuen Datenwerten, die von jedem der Signa-
n Ie auf der Eingangsleitung 14 von der Reihenzelle zur
linken der betrachteten Zelle und auf der Leitung 16 von der Reihenzelle zur rechten Seite der betrachteten Zelle repräsentiert werden.
Wie in Verbindung mit der Beschreibung der Fig. 3 an-15
gegeben wurde, findet keine Änderung oder Fortschreibung statt, wenn sich herausgestellt hat, daß der Wert der gleiche wie einer der Eingangswerte ist. Wenn der neue Wert auf der Leitung 48 jedoch höher oder niedriger als die beiden Werte an den Eingangsleitungen 14 und 16 ist, dann wird innerhalb der Sättigungsgrenzen M und M . des Speichers 46 der Wert des Speichers 46 fortgeschrieben, indem er um 1 gesteigert oder um 1 vermindert wird, je nachdem, ob der Datenwert auf der Leitung 48 größer
oder kleiner als einer der Werte auf den Eingangsleitun-25
gen 14 und 16 ist. Der fortgeschriebene Speicherwert im Speicher 46 steht nun für den nächsten Betriebszyklus als Eingangssignal dem Multiplizierer 44 zur Verfugung.
Die Ausgangsleitungen 14 und 16 vom Komparator 52 be-30
wirken, daß das neue Datenwertsignal auf der Leitung 48 entsprechend zur Reihenzelle zur linken und zur rechten Seite der betrachteten Zelle übertragen wird.
Fig. 8 zeigt ein spezielles Beispiel zur Erläuterung 35
des Betriebsablaufs in Übereinstimmung mit den Algorithmen und Regeln, die zuvor beschrieben wurden. Es sei bei-
35Ό1272
spielsweise angenommen, daß die betrachtete Zelle die Zelle ij mit ihren Nachbarzellen i, j-1 und i, j+1 ist. Es sei fernerhin angenommen, daß die gegenwärtigen Speicherwerte für die Zellen i, j-1; Ij und i, j+1 gleich 2 bzw. 1 bzw. 2 sind. Es sei fernerhin angenommen, daß die fortgeschriebenen Werte, die von der vorangehenden Reihe als Eingangssignale I^ und I2 entgegengenommen werden, 5 und 3 sind. Smax sei 15 und Smin sei -15. Mmax sei 5 Und Mmin sei Ί *
Während des Berechnungsschrittes wird die Differenz aus den Signalen I- und Ip gebildet und wird im Multiplizierer 44 mit dem Wert M im Speicher der Zelle ij multipliziert. Dies führt zu dem Ergebnis 15
1·(5-3) = 2.
Dieser neue Wert 2 wird dann als Eingang der Zelle i, j-1 über die Ausgangsleitung 16 und der Zelle i, j+1 über die Ausgangsleitung 14 zugeführt, um mit dem neuen Wert verglichen zu werden, der von jenen Zellen erhalten wird. Weiterhin wird der neue Wert 2 an der Zelle ij als Ausgangssignal 0.. an den Ausgangsleitungen 18 und 20 angeboten, die mit den Zellen in der nächsten Reihe verbunden sind.
Es sei nun angenommen, daß der neue Wert in der Zelle i, j-1 gleich 5 war und der neue Wert in der Zelle i, j+1
gleich 3 war, wobei diese beiden Werte auf der Basis der 30
Eingänge I- und I- berechnet worden sind, die von den verbundenen Zellen der vorangehenden Reihe im Feld empfangen worden sind, wobei diese Berechnung durch Multiplikation mit ihren Speicherwerten erfolgte. Der neue Wert aus der
Zelle ij, der gleich 2 ist, wird dann mit dem neuen Wert 35
5 aus der Zelle i, j-1 und mit dem neuen Wert 3 aus der Zelle i, j+1 verglichen. In beiden Fällen erweist sich
^ ·'"'"' '"' :350"t272 • 30-
der Wert von 0. . = 2 als der niedrigere. Es sei beachtet, daß wenn einer der verglichenen Werte aus einer Nachbarzelle höher und der andere niedriger ist, das Vergleichsergebnis in diesem Falle zu keiner Änderung des Speicherzustandes in der Zelle i, j führt.
Da der Vergleich jedoch zeigt, daß die Zelle ij den niedrigsten Wert hat, wird dieser Speicherwert um 1 erniedrigt. Da der Speicher der Zelle ij sich jedoch bereits auf dem unteren Grenzwert M . =1 befindet, wird der Wert der Zelle ij auf 1 belassen.
- Leer*seite

Claims (7)

Patentansprüche
1. Adaptives, selbstausbesserndes Prozessorfeld, enthaltend eine Vielzahl von identischen Prozessorzellen (12), die in parallelen orthogonalen Spalten und Reihen angeordnet sind und eine zweidimensionale Matrix bilden, wobei jede der Zellen (12) in dem Feld logische Einrichtungen (40, 42, 44, 52) und einen Speicher (46) zum Speichern eines Speicherzustandes aufweist, die erste Reihe der Zellen (12) in dem Feld einen Paralleleingang zum Feld und die letzte Reihe der Zellen in dem Feld einen Parallelausgang aus dem Feld bilden, die Zellen in den dazwischenliegenden Zellenreihen zwischen der ersten und der letzten Reihe jeweils wenigstens mit einer Zelle in einer vorangehenden Zellenreihe verbunden sind, die logischen Einrichtungen in jeder Zelle dazu eingerichtet sind, einen neuen Datenwert auf der Grundlage eines Eingangssignals und seines gegenwärtigen Speicherzustandes zu berechnen, wobei jede Zelle mit wenigstens einer Zelle
in einer nachfolgenden Zellenreihe verbunden ist, der neue Datenwert als ein Ausgang zur nachfolgenden Zellenreihe zur Verfügung gestellt ist und jede der zwischenliegenden Reihenzellen mit einer unmittelbar benachbarten Zelle derselben Reihe verbunden ist, um den neuen Datenwert zu den Nachbarzellen zu liefern und entsprechend neue Datenwerte von den Nachbarzellen zu empfangen, wobei die genannten logischen Einrichtungen (1IO, 42, 44, 52) in jeder Zelle die neuen Datenwerte, die von den Nachbarzellen erhalten werden, mit ihren berechneten neuen Datenwerten vergleichen und dementsprechend ihren Speicherzustand als Ergebnis dieses Vergleiches fortschreiben.
2. Prozessorfeld nach Anspruch 1, bei dem das Fortschrei· 15
ben des Speicherzustandes nur innerhalb eines vorbestimmten Wertebereichs ausgeführt wird.
3. Prozessorfeld nach Anspruch 1, bei dem die als Ausgänge von den Zellen zur Verfugung gestellten Werte nur innerhalb eines festgelegten Wertebereiches bereitgestellt werden.
25
4. Adaptives, selbstausbesserndes Prozessorfeld, enthaltend
eine Vielzahl identischer Prozessorzellen (12), die in parallelen orthogonalen Spalten und Reihen angeordnet sind, um eine zweidimensionale Matrix zu bilden, wobei
die erste Reihe der Zellen in dem Feld einen Parallelein-30
gang zum Feld bildet und jede Zelle der ersten Reihe dazu eingerichtet ist, ein Eingangssignal von einer Signalquelle zu empfangen,
nachfolgende Reihen von Zellen mit unmittelbar benachbar-35
ten Zellen in beiden orthogonalen und diagonalen Richtungen in bezug auf die parallelen orthogonalen Reihen und
Spalten verbunden sind,
in jeder der Zellen (12) Einrichtungen (40, 42, 52) zum
_ Entgegennehmen eines Eingangssignals von den angeschloso
senen Zellen einer vorangehenden Zellenreihe und von verbundenen Nachbarzellen derselben Zellenreihe,
Einrichtungen (44, 52) in jeder der Zellen vorhanden sind, um ein Ausgangssignal zu den angeschlossenen Zellen in einer nachfolgenden Zellenreihe und zu angeschlossenen benachbarten Zellen in derselben Zellenreihe zu übertragen,
Speichereinrichtungen (46) in jeder Zelle (12) vorhanden 15
sind, um einen Datenwert darin zu speichern,
logische Einrichtungen (40, 42, 44, 52) vorhanden sind, um simultane iterative Berechnungen in den Zellen einer < jeden Reihe auf der Basis der Eingangssignale durchzu- ^ führen, wobei die Zellen einer jeden Zellenreihe neue Werte auf der Basis der genannten Eingangssignale und ihres gegenwärtigen Speicherwertes ausführen und die neuen Werte mit den neuen Werten vergleichen, die von den angeschlossenen benachbarten Zellen erhalten werden,
Einrichtungen zum Fortschreiben des Speicherwertes in jeder der Zellen vorhanden sind, um den neuen Wert zu speichern, wenn dieser sich von dem vorangegangenen Speicherwert unterscheidet,
und wobei die letzte Reihe der Zellen in dem Feld einen Parallelausgang aus dem Feld darstellt, wobei der Parallelausgang eine entsprechende Weiterbildung des ursprünglichen Signalquellenparalleleingangs des Feldes ohne Rück-35
sieht auf jegliche ungeeignete Veränderung im augenblicklichen Wert eines oder mehrerer der Feldzellen aufgrund einer Anomalie oder Fehlfunktion in jeder derartigen be-
einträchtigten Feldzelle darstellt.
5. Prozessorfeld nach Anspruch 4, bei dem die Zellen (12) weiterhin enthalten:
Einrichtungen in jeder der Zellen, um eine Änderung des vorhandenen Speicherwertes in der Zelle zu verhindern, wenn dieser Wert einen vorbestimmten Grenzwert erreicht hat.
6. Verfahren zum parallelen Verarbeiten einer Mehrzahl von Eingangssignalen aus einer Signalquelle, die eine Datenwelle darstellen, um eine Verbesserung der Werte
der Datenwelle auf der Grundlage der Differenz der Sig-15
nalwerte zwischen benachbarten Eingangssignalen der Datenwelle zu erzeugen, gekennzeichnet durch folgende Schritte:
Ausbreiten der Eingangssignale in paralleler Weise durch 20
ein orthogonales Feld von Prozessorzellen, in welchem
Zellenreihen mit einigen Nachbarzellen einer vorangehenden Zellenreihe und einigenNachbarzellen einer nachfolgenden Zellenreihe und zu einigen Nachbarzellen in derselben Zellenreihe verbunden sind, und 25
weiterhin dadurch gekennzeichnet , daß in bezug auf eine betrachtete Zelle in jeder Zellenreihe folgende Schritte ausgeführt werden:
Berechnen eines neuen Datenwertes in der betrachteten Zelle aus wenigstens einem Eingangssignal von einer Zelle in einer vorangehenden Zellenreihe,
Vergleichen des neuen Datenwertes der betrachteten Zelle 35
mit dem neuen Datenwert von wenigstens einer benachbarten Zelle derselben Zellenreihe,
Fortschreiben des gegenwärtigen Datenwertes der betrachteten Zelle mit dem neuen Wert, wenn der neue Wert größer oder kleiner als der verglichene neue Wert der wenigstens einen Nachbarzelle derselben Zellenreihe ist,
Aufrechterhaltung des vorhandenen Datenwertes der betrachteten Zelle, wenn der neue Datenwert derselbe oder nicht größer oder kleiner als der verglichene neue Wert der wenigstens einen benachbarten Zelle derselben Zellen-
reihe ist,
Ausgeben des neuen Datenwertes der betrachteten Zelle zu wenigstens einer Zelle in einer nachfolgenden Zellenreihe.
7. Verfahren nach Anspruch 6, enthaltend den Schritt des Verhinderns jeder weiteren Veränderung des gegenwärtigen Wertes der betrachteten Zelle, wenn der neue Datenwert größer oder kleiner als ein vorbestimmter Wertebereich
ist. 20
DE19853501272 1984-02-16 1985-01-16 Adaptives, selbstausbesserndes prozessorfeld Withdrawn DE3501272A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/580,919 US4591980A (en) 1984-02-16 1984-02-16 Adaptive self-repairing processor array

Publications (1)

Publication Number Publication Date
DE3501272A1 true DE3501272A1 (de) 1985-08-29

Family

ID=24323123

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853501272 Withdrawn DE3501272A1 (de) 1984-02-16 1985-01-16 Adaptives, selbstausbesserndes prozessorfeld

Country Status (4)

Country Link
US (1) US4591980A (de)
JP (1) JPS60183645A (de)
DE (1) DE3501272A1 (de)
GB (1) GB2154343B (de)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855903A (en) * 1984-12-20 1989-08-08 State University Of New York Topologically-distributed-memory multiprocessor computer
EP0190813B1 (de) * 1985-01-29 1991-09-18 The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and Verarbeitungszelle für fehlertolerante Matrixanordnungen
US4835680A (en) * 1985-03-15 1989-05-30 Xerox Corporation Adaptive processor array capable of learning variable associations useful in recognizing classes of inputs
US4967340A (en) * 1985-06-12 1990-10-30 E-Systems, Inc. Adaptive processing system having an array of individually configurable processing components
US5414865A (en) * 1985-09-17 1995-05-09 Beran; James T. Self-programming with limited sequential memory capacity
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
WO1987003411A1 (en) * 1985-11-27 1987-06-04 The Trustees Of Boston University Pattern encoding system
NL8600308A (nl) * 1986-02-10 1987-09-01 Philips Nv Werkwijze om te bepalen of een reeks eindsymbolen door een kontext-vrije grammatika gegenereerd kan worden en een multimodulaire inrichting voor het uitvoeren van de werkwijze.
US4843540A (en) * 1986-09-02 1989-06-27 The Trustees Of Columbia University In The City Of New York Parallel processing method
US4835732A (en) * 1987-03-09 1989-05-30 Xerox Corporation Detection of motion in the presence of noise
US4910669A (en) * 1987-04-03 1990-03-20 At&T Bell Laboratories Binary tree multiprocessor
US4943909A (en) * 1987-07-08 1990-07-24 At&T Bell Laboratories Computational origami
JPH0673080B2 (ja) * 1987-11-25 1994-09-14 日本電気株式会社 連続音声認識方式
US5377123A (en) * 1992-06-08 1994-12-27 Hyman; Edward Programmable logic device
US5253363A (en) * 1988-03-15 1993-10-12 Edward Hyman Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential local array
US5644497A (en) * 1988-03-15 1997-07-01 Hyman; Edward Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential logic array
US5544650A (en) * 1988-04-08 1996-08-13 Neuromedical Systems, Inc. Automated specimen classification system and method
US4965725B1 (en) * 1988-04-08 1996-05-07 Neuromedical Systems Inc Neural network based automated cytological specimen classification system and method
US5740270A (en) * 1988-04-08 1998-04-14 Neuromedical Systems, Inc. Automated cytological specimen classification system and method
US4914604A (en) * 1988-10-07 1990-04-03 Hughes Aircraft Company Processor for analyzing angle-only data
US4930099A (en) * 1988-10-07 1990-05-29 Hughes Aircraft Company Wavefront vector correlation processor and method
US5093781A (en) * 1988-10-07 1992-03-03 Hughes Aircraft Company Cellular network assignment processor using minimum/maximum convergence technique
US5001631A (en) * 1988-10-07 1991-03-19 Hughes Aircraft Company Cellular network assignment processor using randomly triggered adaptive cell thresholds
US4920506A (en) * 1988-10-07 1990-04-24 Hughes Aircraft Company Ultra-high speed two-dimensional coordinate transform processor
US5003490A (en) * 1988-10-07 1991-03-26 Hughes Aircraft Company Neural network signal processor
US5008833A (en) * 1988-11-18 1991-04-16 California Institute Of Technology Parallel optoelectronic neural network processors
US5140530A (en) * 1989-03-28 1992-08-18 Honeywell Inc. Genetic algorithm synthesis of neural networks
US5151969A (en) * 1989-03-29 1992-09-29 Siemens Corporate Research Inc. Self-repairing trellis networks
WO1991006911A1 (en) * 1989-10-23 1991-05-16 Neuromedical Systems, Inc. Automated cytological specimen classification system and method
US5122983A (en) * 1990-01-12 1992-06-16 Vanderbilt University Charged-based multiplier circuit
EP0479977B1 (de) * 1990-03-30 1997-07-16 Neuromedical Systems, Inc Automatisches zellenklassifikationssystem und verfahren
US5170071A (en) * 1991-06-17 1992-12-08 Trw Inc. Stochastic artifical neuron with multilayer training capability
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
WO1993011503A1 (en) 1991-12-06 1993-06-10 Norman Richard S Massively-parallel direct output processor array
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.
CA2185787A1 (en) * 1994-03-22 1995-09-28 Richard S. Norman Efficient direct cell replacement fault tolerant architecture supporting completely integrated systems with means for direct communication with system operator
US6408402B1 (en) 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
US5659666A (en) * 1994-10-13 1997-08-19 Thaler; Stephen L. Device for the autonomous generation of useful information
US5845271A (en) * 1996-01-26 1998-12-01 Thaler; Stephen L. Non-algorithmically implemented artificial neural networks and components thereof
US6601049B1 (en) * 1996-05-02 2003-07-29 David L. Cooper Self-adjusting multi-layer neural network architectures and methods therefor
US6009418A (en) * 1996-05-02 1999-12-28 Cooper; David L. Method and apparatus for neural networking using semantic attractor architecture
JP3422686B2 (ja) 1998-06-12 2003-06-30 三菱電機株式会社 データ復号装置及びデータ復号方法
US7092883B1 (en) * 2002-03-29 2006-08-15 At&T Generating confidence scores from word lattices
US20040255096A1 (en) * 2003-06-11 2004-12-16 Norman Richard S. Method for continuous linear production of integrated circuits
US7562143B2 (en) * 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7406691B2 (en) * 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7552437B2 (en) * 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US20060048157A1 (en) * 2004-05-18 2006-03-02 International Business Machines Corporation Dynamic grid job distribution from any resource within a grid environment
US7266547B2 (en) * 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
US7584274B2 (en) * 2004-06-15 2009-09-01 International Business Machines Corporation Coordinating use of independent external resources within requesting grid environments
US7779177B2 (en) * 2004-08-09 2010-08-17 Arches Computing Systems Multi-processor reconfigurable computing system
US7712100B2 (en) * 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
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
US20060168584A1 (en) * 2004-12-16 2006-07-27 International Business Machines Corporation Client controlled monitoring of a current status of a grid job passed to an external grid environment
US7668741B2 (en) * 2005-01-06 2010-02-23 International Business Machines Corporation Managing compliance with service level agreements in a grid environment
US7533170B2 (en) * 2005-01-06 2009-05-12 International Business Machines Corporation Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
US20060149652A1 (en) * 2005-01-06 2006-07-06 Fellenstein Craig W Receiving bid requests and pricing bid responses for potential grid job submissions within a grid environment
US7707288B2 (en) * 2005-01-06 2010-04-27 International Business Machines Corporation Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US7502850B2 (en) * 2005-01-06 2009-03-10 International Business Machines Corporation Verifying resource functionality before use by a grid job submitted to a grid environment
US7590623B2 (en) * 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7793308B2 (en) * 2005-01-06 2010-09-07 International Business Machines Corporation Setting operation based resource utilization thresholds for resource use by a process
US7761557B2 (en) * 2005-01-06 2010-07-20 International Business Machines Corporation Facilitating overall grid environment management by monitoring and distributing grid activity
US7562035B2 (en) * 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US7472079B2 (en) * 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US7571120B2 (en) * 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7467196B2 (en) * 2005-01-12 2008-12-16 International Business Machines Corporation Managing network errors communicated in a message transaction with error information using a troubleshooting agent
US8781977B1 (en) 2005-03-29 2014-07-15 Hewlett-Packard Development Company, L.P. System and method of pricing resources
US7904695B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US10510087B2 (en) * 2005-07-07 2019-12-17 Sermo, Inc. Method and apparatus for conducting an information brokering service
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US10083420B2 (en) 2007-11-21 2018-09-25 Sermo, Inc Community moderated information
US10133151B2 (en) 2017-02-23 2018-11-20 International Business Machines Corporation Media-defined optical logic circuitry design
US10658067B2 (en) 2018-05-14 2020-05-19 Micron Technology, Inc. Managing data disturbance in a memory with asymmetric disturbance effects

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL238555A (de) * 1958-04-25
US3287703A (en) * 1962-12-04 1966-11-22 Westinghouse Electric Corp Computer
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
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
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
US4468727A (en) * 1981-05-14 1984-08-28 Honeywell Inc. Integrated cellular array parallel processor
US4507726A (en) * 1982-01-26 1985-03-26 Hughes Aircraft Company Array processor architecture utilizing modular elemental processors

Also Published As

Publication number Publication date
GB2154343A (en) 1985-09-04
US4591980A (en) 1986-05-27
GB2154343B (en) 1988-07-20
JPS60183645A (ja) 1985-09-19
GB8501892D0 (en) 1985-02-27

Similar Documents

Publication Publication Date Title
DE3501272A1 (de) Adaptives, selbstausbesserndes prozessorfeld
DE3689416T2 (de) Mustermerkmalextraktion.
DE2909153C2 (de) Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern
DE69126555T2 (de) Verfahren zur Klassifikation in einem hierarchisierten neuronalen Netzwerk
DE3689049T2 (de) Selbstanpassender Prozessor.
DE2554442C2 (de) Vorrichtung zum Vergleich logischer Größen mit einer Gruppe logischer Bezugsgrößen
DE3689030T2 (de) Schaltung zur Bestimmung der besten Anpassung an Eingangssignale.
DE112018004223T5 (de) Trainieren künstlicher neuronaler Netze
DE112017000855B4 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
DE2324731A1 (de) Festzustandsspeicher fuer mehrdimensionalen zugriff
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE3632639C2 (de) Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung
DE2432656A1 (de) Verfahren und einrichtung zur normierung von schriftzeichen
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE69815390T2 (de) Neuronale netzwerke
DE69333247T2 (de) Trainingsverfahren und Gerät zur Erzeugung eines neues Neurons
DE2836725A1 (de) Zeichenerkennungseinheit
EP1038259B1 (de) Vorrichtung zur bilderfassung
DE112021003881T5 (de) Online-training von neuronalen netzen
DE2461651C3 (de) Zählvorrichtung zum Zählen von Mustern
DE3622222A1 (de) Zeichenerkennung in zweidimensionalen signalen
DE3836789A1 (de) Vorrichtung zur erzeugung von helligkeitsstufen auf einem anzeigeschirm
DE102019134370A1 (de) Adiabatisches glühschema und system für edge-computing
DE3587612T2 (de) Suchverfahren für Assoziationsmatrix.
DE2054547A1 (de) Musterverarbeitungssystem

Legal Events

Date Code Title Description
8141 Disposal/no request for examination