DE68928385T2 - Neuronenrechner - Google Patents

Neuronenrechner

Info

Publication number
DE68928385T2
DE68928385T2 DE68928385T DE68928385T DE68928385T2 DE 68928385 T2 DE68928385 T2 DE 68928385T2 DE 68928385 T DE68928385 T DE 68928385T DE 68928385 T DE68928385 T DE 68928385T DE 68928385 T2 DE68928385 T2 DE 68928385T2
Authority
DE
Germany
Prior art keywords
analog
signal
output
neuron
input
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 - Lifetime
Application number
DE68928385T
Other languages
English (en)
Other versions
DE68928385D1 (de
Inventor
Kazuo Asakawa
Hideichi Endo
Hiroki Iciki
Katsuya Ishikawa
Hiromu Iwamoto
Hideki Kato
Takashi Kawasaki
Toshiharu Matsuda
Yoshihide Sugiura
Chikara Tsuchiya
Hiroyuki Tsuzuki
Hideki Yoshizawa
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE68928385D1 publication Critical patent/DE68928385D1/de
Application granted granted Critical
Publication of DE68928385T2 publication Critical patent/DE68928385T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/48Analogue computers for specific processes, systems or devices, e.g. simulators
    • G06G7/60Analogue computers for specific processes, systems or devices, e.g. simulators for living beings, e.g. their nervous systems ; for problems in the medical field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Neurosurgery (AREA)
  • Physiology (AREA)
  • Feedback Control In General (AREA)
  • Analogue/Digital Conversion (AREA)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)

Description

    Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf einen Neurocomputer und insbesondere auf einen Neurocomputer, der durch Verbinden eines Analogneuronenchips durch einen Analog-Zeitteilung-Übertragungsweg realisiert wird.
  • Hintergrundtechnologie
  • In einem herkömmlichen sequentiellen Verarbeitungscomputer (Neumann-Typ) ist es schwierig, eine Datenprozeßfunktion gemäß einer Variation in dem Gebrauchsverfahren oder der Umgebung zu steuern. Daher wird ein adaptives Datenverarbeitungsverfahren vorgeschlagen, das ein Parallelverteilungssystem und ein geschichtetes Netzwerk nutzt. Das Rückwärtsausbreitungsverfahren (D.E. Rumelhart, G.E. Hinton und R.J. Williams, "Learning Internal Representations by Error Propagation", PARALLEL DISTRIBUTED PROCESSING, Bd. 1, S. 318-364, The MIT Press, 1986) erfährt wegen seiner guten Anwendbarkeit besondere Aufmerksamkeit.
  • Das Rückwärtsausbreitungsverfahren nutzt ein Netzwerk mit geschichteter Struktur mit einem eine Basiseinheit genannten Knoten und einer internen Verbindung mit vorliegenden Gewichten. Figur 1 zeigt die Struktur einer Basiseinheit 1. Die Basiseinheit 1 führt einen einem kontinuierlichen Neuronenmodell ähnlichen Prozeß aus. Sie umfaßt ein Mehrfacheingabe-Einzelausgabe-System und umfaßt ferner eine Multiplikationseinheit 2 zum Multiplizieren einer Vielzahl von Eingaben (Yh) mit jeweiligen Gewichten (Wih) der internen Verbindungen, eine akkumulierende Einheit 3 zum Addieren aller multiplizierten Ergebnisse und eine Schwellenwert-Verarbeitungseinheit 4 zum Ausgeben einer Endausgabe Xi durch Anwenden eines nichtlinearen Schwellenwertprozesses auf die addierten Werte.
  • Figur 2 zeigt eine konzeptionelle Darstellung der Struktur eines geschichteten neuronalen Netzwerks. Viele Basiseinheiten (1-h, 1-i, 1-j) sind in Schichten wie in Figur 2 dargestellt verbunden, und die den Eingangssignalmustern entsprechenden Ausgangssignalmuster werden ausgegeben.
  • Beim Lernen werden die Gewichte (Wih) von Verbindungen zwischen jeweiligen Schichten bestimmt, um die Differenz zwischen den Ausgabemustern und einem Ziel-Lehrer-Muster zu minimieren.
  • Dieses Lernen wird auf eine Vielzahl von Eingabemustern angewandt und dann gemultiplext oder im Multiplexverfahren betrieben. Bei einer Assoziationsoperation wird, selbst wenn das Eingabemuster eine Information enthält, die beim Lernen ein wenig unvollständig ist und daher von der beim Lernen eingegebenen vollständigen Information verschieden ist, ein Ausgabemuster geschaffen, das dem beim Lernen vorgesehenen Lehrermuster nahekommt, wodurch ein sog. assoziierender Prozeß ermöglicht wird.
  • Um einen Neuronencomputer mit einer solchen Struktur zu realisieren, werden eine Übertragung und ein Empfang der Daten zwischen ein geschichtetes Netzwerk bildenden Basiseinheiten durch die kleinstmögliche Anzahl von Drähten durchgeführt. Dies ist ein Problem, das gelöst werden sollte, wenn ein komplexer Datenprozeß realisiert wird, indem Mehrfachschichten der Netzwerkstruktur gebildet werden und die Anzahl von Basiseinheiten erhöht wird.
  • Das oben erläuterte Datenübertragungssystem erfordert jedoch eine große Anzahl Drähte zwischen den beiden Schichten, was somit verhindert, daß es klein gemacht wird. Ferner kann seine Zuverlässigkeit nicht erhöht werden, wenn das geschichtete Netzwerk zu einem Chip verarbeitet wird. Zum Beispiel betrachte man eine vollständige Verbindung, in der die Zahl benachbarter Schichten gleich gemacht ist und alle Basiseinheiten 1 miteinander verbunden sind. In diesem Fall nimmt die Anzahl der Drähte im Verhältnis zur zweiten Potenz der Anzahl von Basiseinheiten zu, wodurch sich eine schnelle Zunahme in der Anzahl Drähte ergibt.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung ist in Anbetracht des obigen Problems gemacht, und eine Aufgabe der vorliegenden Erfindung besteht darin, einen Neuronencomputer zu schaffen, der imstande ist, Daten zwischen ein geschichtetes Netzwerk bildenden Basiseinheiten mit einer minimalen Anzahl Drähte zu übertragen und zu empfangen und ferner eine Vorwärtslernoperation durch Verwenden eines Satzes von Analogneuronenprozessoren auszuführen.
  • Gemäß der vorliegenden Erfindung wird ein Neuronencomputer geschaffen mit:
  • einem neuronalen Netzwerk mit einem Satz von Analogneuronenchips zum Empfangen eines Analogsignals von einem ersten Analogbus in einer Zeitteilungsweise oder in zeitgeteilter Weise und zum Ausführen einer Summe-der-Produkte-Operation durch Verwenden von Digital-Gewichtdaten, dadurch ein Analogsignal auf einem zweiten Analogbus ausgebend,
  • einem Steuermusterspeicher zum Speichern eines Musters eines Steuersignals des neuronalen Netzwerks,
  • einem Sequenzer zum Erzeugen einer Adresse des Steuermusterspeichers,
  • einem Gewichtspeicher zum Speichern der Gewichtdaten, und
  • einem Digitalsteuermittel zum Steuern des neuronalen Netzwerks, des Steuermusterspeichers, des Sequenzers und des Gewichtspeichers.
  • Figur 3 zeigt ein Systemblockdiagramm eines Neuronencomputers der vorliegenden Erfindung.
  • Ein neuronales Netzwerk 18 empfängt Analogsignale von dem gemeinsamen ersten Analogbus, der an der Eingabeseite jeweiliger Schichten vorgesehen ist, in zeitgeteilter Weise, führt die Summe der Produkte durch Verwenden von Digital-Gewichtdaten aus und liefert die Analogsignale an den zweiten gemeinsamen Analogbus, der an der Ausgabeseite jeweiliger Schichten vorgesehen ist, wodurch ein Satz von Analogneuronenprozessoren (ANP) gebildet wird.
  • Ein Steuermusterspeicher 12 speichert ein Steuersignalmuster des neuronalen Netzwerks. Ein Gewichtspeicher 14 speichert Gewichtdaten. Ein Sequenzer 13 erzeugt eine Adresse des Steuermusterspeichers 12 und Gewichtspeichers 14. Ein Digitalsteuermittel 15 umfaßt eine Mehrzweck-Verarbeitungseinheit, die eine MPU und einen Hauptspeicher enthält. Sie ist durch das Netzwerk 18 und D/A- und A/D-Wandler 16 und 17 verbunden und steuert ferner das neuronale Netzwerk, den Steuermusterspeicher, den Sequenzer und Gewichtspeicher als Ganzes. Somit bildet die vorliegende Erfindung ein Neuronencomputersystem.
  • Ein Analogeingangssignal wird in zeitgeteilter Weise in einen Analogneuronenchip eingegeben, und die Produkte des Signais und der Gewichtdaten werden addiert, um ein Summe-der-Produkte- Signal zu liefern. Dieses Signal wird dann durch eine Nichtlineare-Funktion-Schaltung ausgegeben, und ein Analogneuronenchip ist geschaffen. Eine Vielzahl von Analogneuronenchips bildet ein schichtartiges neuronales Netzwerk 18 oder ein neuronales Netzwerk 18 vom Rückkopplungstyp, und dieses neuronale Netzwerk 18 empfängt eine Ausgabe vom Steuermusterspeicher 12, dessen Adresse durch den Sequenzer 13 geliefert wird. Die aus einem Lernen erhaltenen Gewichtdaten werden vom Gewichtspeicher 14 an das neuronale Netzwerk 18 geliefert. Das neuronale Netzwerk 18, der Steuermusterspeicher 12, der Sequenzer 13 und der Gewichtspeicher 14 werden durch ein digitales Signal von dem Digitalsteuermittel 15 gesteuert und verwaltet. Die MPU in dem Digitalsteuermittel 15 führt einen Lernalgorithmus aus und überprüft ein Ausgangssignal. Daher kann ein Analogneuronencomputersystem realisiert werden, gekennzeichnet durch ein Zeittei lung-Analogeingangssignal und ein Zeitteilung-Analogausgangssignal.
  • Kurze Beschreibung der Zeichnung
  • Figur 1 zeigt eine Grundstruktur einer Basiseinheit eines Neuronenmodells,
  • Figur 2 zeigt eine konzeptionelle Ansicht einer Struktur eines schichtartigen neuronalen Netzwerks,
  • Figur 3 ist ein Grundblockdiagramm einer Ausführungsform der vorliegenden Erfindung,
  • Figur 4A ist eine Ansicht eines Bauelements mit einem Analogneuronenprozessor-(ANP)-Chip der vorliegenden Erfindung,
  • Figur 4B zeigt die interne Struktur des ANP der vorliegenden Erfindung,
  • Figur 5 zeigt die Grundstruktur des Analogneuronenprozessors ANP der vorliegenden Erfindung,
  • Figur 6 ist ein Blockdiagramm einer Ausführungsform der Basiseinheit gemäß der vorliegenden Erfindung,
  • Figur 7 ist ein ausführliches Schaltungsdiagramm einer Ausführungsform der für die vorliegende Erfindung verwendeten Basiseinheit,
  • Figur 8 ist ein ausführliches Schaltungsdiagramm einer anderen Ausführungsform der für die vorliegende Erfindung verwendeten Basiseinheit,
  • Figur 9 zeigt eine Ansicht zum Erläutern der Zeitsteuerung eines in der Basiseinheit verwendeten Integrators in der vorliegenden Erfindung,
  • Figur 10A zeigt eine konzeptionelle Ansicht eines schichtartigen Netzwerks,
  • Figur 10B zeigt eine andere konzeptionelle Ansicht eines schichtartigen neuronalen Netzwerks,
  • Figur 11 zeigt ein Blockdiagramm einer Ausführungsform zum Bilden eines schichtartigen Netzwerks durch einen Neuronencomputer der vorliegenden Erfindung,
  • Figur 12 ist ein ausführliches Blockdiagramm der in Figur 11 gezeigten Ausführungsform,
  • Figur 13 zeigt ein Diagramm einer Systemanordnung einer Haupt-Steuerschaltung,
  • die Figuren 14A und 14B sind Zeitdiagramme eines Signalprozesses in den in den Figuren 11 und 12 gezeigten Ausführungsformen,
  • Figur 15 ist ebenfalls ein Zeitdiagramm eines Signalprozesses der in den Figuren 11 und 12 gezeigten Ausführungsformen,
  • Figur 16 ist ein ausführliches Blockdiagramm einer Ausführungsform eines Neuronencomputers der vorliegenden Erfindung, der durch ein schichtartiges neuronales Netzwerk realisiert wird,
  • die Figuren 17A und 17B zeigen ein Zeitdiagramm des Signalprozesses, der in der in Figur 16 gezeigten ausführlichen Schaltung gezeigt ist,
  • Figur 18 zeigt ein Zeitdiagramm des Prozesses beim Lesen der Digital-Gewichtdaten,
  • Figur 19A zeigt ein ausführliches Schaltungsdiagramm eines Haupt-Steuerblocks,
  • Figur 19B zeigt eine Struktur eines Steuermusterspeichers und Mikrocodespeichers,
  • Figur 20A zeigt, wie die Daten in dem Gewichtdatenspeicher gespeichert werden,
  • Figur 20B zeigt den ausführlichen Schaltungsaufbau des Gewichtdatenspeichers,
  • die Figuren 20C und 20D zeigen Flußdiagramme, die einen Lernalgorithmus gemäß der vorliegenden Erfindung bezeichnen,
  • Figur 21 zeigt ein Blockdiagramm einer Verkettungsschaltung,
  • Figur 22 zeigt ein Blockdiagramm einer Maximalwert-Knotenschaltung,
  • Figur 23 zeigt ein Diagramm einer eine Sigmoidfunktion erzeugenden Schaltung,
  • Figur 24 zeigt ein ausführliches Schaltungsdiagramm eines Sequenzgenerators,
  • Figur 25 zeigt ein ausführliches Schaltungsdiagramm einer Phasenregelungsschaltung,
  • Figur 26 zeigt ein ausführliches Schaltungsdiagramm eines Schieberegisters,
  • Figur 27A zeigt eine konzeptionelle Ansicht zum Erläutern eines Netzwerks vom Rückkopplungstyp,
  • Figur 27B zeigt ein Beispiel, in welchem ein Netzwerk vom Rückkopplungstyp durch den Neuronencomputer der vorliegenden Erfindung realisiert werden kann,
  • Figur 28 zeigt ein Blockdiagramm einer Ausführungsform eines Netzwerks vom Rückkopplungstyp,
  • die Figuren 29A und 29B sind Zeitdiagramme eines Signalprozesses einer in Figur 28 gezeigten Ausführungsform,
  • Figur 30 zeigt ein ausführliches Blockdiagramm einer Ausführungsform zum Bilden eines ersten Netzwerks vom Rückkopplungstyp gemäß einem Neuronencomputer der vorliegenden Erfindung;
  • die Figuren 31A und 31B zeigen Zeitdiagramme zur Signalverarbeitung in der in Figur 30 gezeigten Ausführungsform,
  • Figur 32 zeigt ein ausführliches Blockdiagramm des zweiten Netzwerks vom Rückkopplungstyp, das durch den Neuronencomputer gemäß der vorliegenden Erfindung gebildet wird,
  • die Figuren 33A und 33B zeigen Zeitdiagramme für eine Signalverarbeitung in der Ausführungsform von Figur 32,
  • Figur 34 bezeichnet ein Blockdiagramm einer Ausführungsform, die durch Kombinieren eines schichtartigen Netzwerks mit einem Netzwerk vom Rückkopplungstyp gemäß einem Neuronencomputer der vorliegender Erfindung erhalten wird,
  • Figur 35 ist ein anderes ausführliches Blockdiagramm einer anderen Ausführungsform, in der ein schichtartiger Neuronencomputer mit einem Neuronencomputer vom Rückkopplungstyp kombiniert ist,
  • die Figuren 36A und 36B zeigen Zeitdiagramme zum Verarbeiten eines signals in einer Ausführungsform von Figur 35,
  • Figur 37 zeigt ein Blockdiagramm einer weiteren Ausführungsform der vorliegenden Erfindung,
  • Figur 38 zeigt ein Blockdiagramm eines Beispiels, in welchem die vorliegende Erfindung genutzt wird, und
  • Figur 39 zeigt ein Blockdiagramm eines anderen Beispiels, in dem die vorliegende Erfindung verwendet wird.
  • Basisanordnung der Erfindung
  • Figur 4A ist eine schematische Darstellung eines Dual- Inline-Bauelements eines Analogneuronenprozessors (ANP) 11, der durch einen durch die vorliegende Erfindung geschaffenen Neuro renchip gebildet wird, Dieses MB4442 genannte Bauelement führt Neuronenmodellprozesse aus. Die Intern-Schwellenwert-Verarbeitungseinheit wird durch Ausführen einer Sigmoidfunktion erhalten. Der Analogneuronenchip umfaßt einen ANP zum Eingeben und Ausgeben von Analogdaten. Figur 4B ist eine interne Struktur eines ANP der vorliegenden Erfindung. Wie in Figur 4B dargestellt ist, ist der ANP 11 zwischen einen Analogbus B1 und einen Analogbus B2 gekoppelt. Der ANP 11 umfaßt eine Analogmultipliziereinheit 22 zum Multiplizieren eines Eingabe-Analogsignals mit einem Gewicht, eine Analogaddiereinheit 23 zum Erhalten einer Summe-von-Produkten, eine Abtast/Halte-Einheit 24 zum Beibehalten der Summe und eine Nichtlineare-Funktion- Einheit 25 zum Ausgeben eines Werts einer Sigmoidfunktion. Jeweilige Anschlüsse des in Figur 4A dargestellten ANP 11 sind wie folgt. Die interne Struktur des ANP 11 umfaßt eine Analogschaltungseinheit und eine Digitalschaltungseinheit. Plus-6- Volt- und Minus-6-Volt-Anschlüsse sind mit einer Energiequelle in einem Operationsverstärker einer Analogschaltungseinheit verbunden. Anschlüsse Din und Dout sind zum Eingeben bzw. Ausgeben von Analogsignalen gedacht. Ein Anschluß AGND ist für die Erdung der Analogschaltungseinheit gedacht. Anschlüsse Rt+ und Rt- sind für einen extern vorgesehenen Widerstand R gedacht, um eine integrale Schaltung in der Analogschaltungseinheit zu bilden, und Anschlüsse Ct+ und Ct- sind für einen extern vorgesehenen Kondensator gedacht, um eine integrale Schaltung zu bilden. Ein Anschluß DGND ist für die Erdung einer Digital-Schaltungseinheit gedacht. Der Plus-5-Volt-Anschluß ist für die Energiequelle der Digitalschaltungseinheit gedacht. Der RST- Anschluß ist gedacht zum Empfangen von Rückstellsignalen zum Zurückstellen der Ladung des Kondensators in der integralen Schaltung. Anschlüsse CSI und CSO sind zum Eingeben bzw. Ausgeben von Verkettung-Steuersignalen gedacht. Ein Anschluß OC dient zum Empfangen von einen Offset löschenden Steuersignalen. Ein Anschluß SH dient zum Empfangen von Abtast/Halte-Steuersignalen. Ein Anschluß SYNC dient zum Empfangen von Signalen für Synchronisierprozesse jeweiliger Schichten. Ein Anschluß DCLK ist gedacht zum Empfangen von Basistaktsignalen zum Verarbeiten des Analogeingangssignals. Ein Anschluß WCLK ist für einen Taktgeber zum Erhalten von Digital-Gewichtdaten gedacht. Ein Anschluß WD ist zum Empfangen von Digital-Gewichtdaten zum Eingeben von Daten in bitserieller Form gedacht.
  • Figur 5 zeigt die Struktur eines Analogneuronenprozessors (ANP) der vorliegenden Erfindung.
  • Von separaten ANPs in zeitgeteilter Weise übertragene Analogeingangssignale werden durch den Analogbus B1 in die Analogmultipliziereinheit 22 im ANP 11 eingegeben. Der Analogmultiplizierer 22 multipliziert die Analog-Eingabedaten mit den Digital-Gewichtdaten WD, die in bitserieller Form vom Schiebere gister 27 empfangen und dann einer Seriell-zu-Parallel-Umwandlung unterzogen werden, wodurch ein das Produkt des Analogeingangssignals und der Digital-Gewichtdaten repräsentierendes Produktsignal geliefert wird. Der Analogaddierer 23 umfaßt eine Miller-Integrierschaltung (engl. Miller integrating circuit), die einen externen Widerstand R und einen Kondensator C enthält, und erhält die Summe der jeweiligen Produktsignale, die von dem Analogeingangssignal erhalten wurden, das in zeitgeteilter Weise von einer Vielzahl von ANPs übertragen wurde (die Stelle, an der jeder der ANPs vorliegt, wird ein Knoten genannt), die bei der vorherigen Stufe vorgesehen und mit dem Analogbus B1 verbunden sind, und von dem Analogeingangssignal für einen von einem Blindknoten übertragenen Schwellenwert erhalten wurden. Die Produktsignale werden als nächstes durch die Abtast-Halte-Einheit 24 für die gewünschte Zeitperiode gehalten, und die abgetastete gehaltene Ausgabe wird durch eine Nichtlineare-Funktion-Einheit 25 umgewandelt. Die Ausgabe- Steuereinheit 26 verzögert unter der Steuerung des Sequenzgenerators 28 die Ausgabe der Nichtlineare-Funktion-Einheit 25 für eine vorbestimmte Zeitspanne. Das Analogausgangssignal DOUT wird dann an den Analogbus B2 ausgegeben. Der Sequenzgenerator 28 erzeugt ein Steuersignal, das an das Innere dieses Computersystems geliefert werden soll. Eine Phasenregelungseinheit 29 regelt die Phase eines Steuersignals, um sicherzustellen, daß die mit den Analogschaltungsteilen innerhalb des. ANP und Digitalschaltungsteilen verbundenen Schalter ein- und ausgeschaltet werden. Wenn insbesondere der erste Schalter eingeschaltet ist und der zweite Schalter ausgeschaltet ist, wird die Phase des Steuersignals so geregelt, daß verhindert wird, daß sowohl die ersten als auch zweiten Schalter gleichzeitig eingeschaltet werden.
  • Der Sequenzgenerator 28 empfängt Signale RST, DCLK, WCLK, SYNC und CSI von einem später beschriebenen Haupt-Steuerblock und gibt ein CSO aus, wodurch ein Steuersignal innerhalb des ANP gebildet wird.
  • Neuronale Netzwerke sind erforderlich, um Hochgeschwindigkeitsoperationen unter Ausnutzung einer Parallelverarbeitung auszuführen. Die vorliegende Erfindung verwendet Zeitteilungsdaten, aber jeweilige ANPs führen normalerweise eine parallele Pipelineverarbeitung aus. Ein ideales neuronales Netzwerk benötigt verbindende Drähte für eine Verbindung zwischen jeweiligen Neuronen. Somit würde die obige Struktur viele Drähte erfordem. Die vorliegende Erfindung behandelt Zeitteilungsdaten. Somit wird die Zeit, die erforderlich ist, um eine Summe von Produkten in jeweiligen ANPs zu verarbeiten, ein wenig lang. Jeweilige ANPs sind jedoch senkrecht, nämlich in der Richtung der Schichten, parallel zueinander angeordnet. Daher wird eine parallele Verarbeitung von ANPs innerhalb einer Schicht ausgeführt, was somit die Verarbeitungszeit verringert. Außerdem ist ein Pipelineprozeß zwischen Schichten möglich, was ebenfalls die gesamte Verarbeitungszeit verringert. Wenn durch z.B. drei mit einem Analogbus verbundene ANPs Eingaben gleichzeitig und parallel empfangen werden, erzeugen die ANPs Produkte aus Analogeingaben und Gewichten. Diese Produkte werden als elektrische Ladungen in Kondensatoren von Integratoren in jeweiligen ANPs beibehalten. In der nächsten Zeitperiode erzeugen jewei lige ANPs Produkte aus Analogeingaben von dem gleichen Analogbus und Gewichten. Diese Produkte werden zu denjenigen addiert, die in der vorherigen Zeitperiode in den Kondensatoren der Integratoren bestimmt wurden. Wenn die Summe der Produkte der Analogeingangssignale von allen ANPs in der vorherigen Stufe mit dem Gewicht erzeugt ist, wird die Summe abgetastet/gehalten. Danach wird ein Abtast/Halte-Signal durch eine Sigmoidfunktion bei Eingabe eines CSI-Steuersignals ausgegeben. Bei Abschluß der Ausgabe fällt das CSI ab. CSO steigt dann nach einer vorbestimmten Verzögerung an, wodurch das Nutzungsrecht des Ausgabebusses zu dem ANP des benachbarten Neuronenchips innerhalb der gleichen Schicht geliefert wird.
  • Bevorzugteste Ausführungsform
  • Die vorliegende Erfindung wird ausführlich gemäß einer Ausführungsform erklärt.
  • Figur 6 zeigt ein Blockdiagramm der ersten Ausführungsform der Basiseinheit des Neuronenchips (ANP). Eine Multipliziereinheit 32, Addiereinheit 33 und Schwellenwert-Prozeßeinheit 34 bilden eine Ausführungseinheit eines kontinuierlichen Neuronenmodells. Eine Ausgabe-Halte-Einheit 35 ist ebenfalls vorgesehen. Wo eine Vielzahl von mit der Basiseinheit 31 verbundenen Eingaben als Yi und das entsprechend jeweiliger Verbindungen bestimmte Gewicht als Wi ausgedrückt wird, berechnet die Multipliziereinheit 32
  • Yi Wi
  • Die Addiereinheit 33 berechnet
  • X = Σ Yi Wi - θ
  • wo θ ein Schwellenwert ist. Wo eine Endausgabe von der Schwellenwerteinheit 34 Y ist, wird die folgende Gleichung berechnet.
  • Y = 1 / (1 + exp(-X)) ...(1) Das Gewicht "-θ" wird mit dem von dem Blindknoten eingegebenen Wert "+1" multipliziert. Das Ergebnis "x - θ" wird dann von der Addiereinheit 33 ausgegeben. Daher führt die Schwellenwerteinheit 34 eine Umwandlung durch Verwendung einer S-Kennkurve aus.
  • Die Multipliziereinheit 32 umfaßt einen D/A-Wandler 32a vom Multipliziertyp. Ein (durch einen Eingabeschalter 37 eingegebenes) Analogsignal von der Basiseinheit 31 in der vorherigen Schicht oder einer später beschriebenen Blindknotenschaltung wird mit der (durch die später beschriebene Gewicht-Halte- Einheit 38 eingegebenen) Gewichtinformation des digitalen Signals multipliziert, und das resultierende Produkt wird als ein Analogsignal ausgegeben. Die Addiereinheit 33 umfaßt einen (aus einem Integrator bestehenden) Analogaddierer 33a und eine Halte-Schaltung 33b (zum Halten des addierten Ergebnisses des Analogaddierers 33a). Der D/A-Wandler 32a vom Multipliziertyp empfängt ein Analogeingangssignal bei einem Referenzspannungsanschluß des D/A-Wandlers 32a und jeweilige Bits des Gewichts bei jeweiligen digitalen Eingangsanschlüssen als das Digitaleingangssignal und multipliziert das Analogausgangssignal mit dem Gewicht. Der Analogaddierer 33a addiert das von dem D/A-Wandler 32a vom Multipliziertyp ausgegebene resultierende Produkt zu dem addierten Wert, der bei der vorherigen Zeitsteuerung erhalten und in der Halte-Schaltung 33b gehalten wurde, wodurch ein neuer addierter Wert geliefert wird. Die Halte-Schaltung 33b hält den durch den Analogaddierer 33a erhaltenen addierten Wert und gibt den gehaltenen Wert zum Analogaddierer 33a als den vorherigen addierten Wert zurück. Diese Addierprozesse werden synchron mit dem von der Steuerschaltung 39 ausgegebenen Addier-Steuersignal ausgeführt. Die Schwellenwerteinheit 34 besteht aus einer Nichtlineare-Funktion-Erzeugungsschaltung 34a mit einem Analog-Funktionsgenerator. Sie gibt ein nichtlineares Signal, wie z.B. eine Sigmoidfunktion, als Antwort auf die Eingabe aus. Wenn die Akkumulation des multiplizierten Ergebnisses beendet ist, einschließlich einer Addition des Schwellenwertes (-θ), wird ein Operationsprozeß der in Gleichung (1) dargestellten Sigmoidfunktion ausgeführt, indem der Schwellenwert (-θ) zu dem in der Halte-Schaltung 33b gehaltenen addierten Wert x addiert wird, wodurch der Analogausgabewert Y geliefert wird.
  • Die Ausgabe-Halte-Einheit 35 weist eine Abtast/Halte-Schaltung auf und hält diesen Ausgabewert Y des Analogsignals vom Nichtlineare-Funktion-Generator 34a, der eine Ausgabe an die Basiseinheit 31 in der Schicht der folgenden Stufe bildet.
  • Der Ausgabeschalter 36 wird bei Empfang eines Ausgabe- Steuersignals von der Steuerschaltung 39 für eine vorbestimmte Periode Eingeschaltet. Die Endausgabe wird in der Ausgabe- Halte-Einheit 35 beibehalten und verarbeitet, um auf dem Analogbus B2 ausgegeben zu werden. Ein Eingabe-Steuersignal von der Steuerschaltung 39 schaltet die Eingabeschaltereinheit 37 EIN, um das Eingangssignal zu empfangen, wenn eine Analogausgabe von dem Endausgang der Basiseinheit 31 in der Schicht der vorherigen Stufe übertragen wird. Eine Gewicht-Halte- Einheit 38 umfaßt ein Parallelausgabe-Schieberegister. Es be hält das Gewichtsignal als ein bitparalleles Gewicht für die Multipliziereinheit 32 bei, wenn das Gewichtsignal von dem Gewichtspeicher bitseriell übertragen wird und das Tor passiert, wobei es dieses öffnet (wenn das Gewicht-Eingabe-Steuersignal durch die Steuerschaltung 39 eingeschaltet ist). Die bitparallelen Gewichtdaten werden an eine Multipliziereinheit geliefert, wenn das Multiplikation-Steuersignal geliefert wird. Die Steuerschaltung 39 in der Digitalschaltungseinheit erzeugt ein Synchronisiersignal für eine Verwendung innerhalb der Schaltung basierend auf einem externen Synchronisationssignal und führt eine Funktion des Analogprozesses des Inneren der Schaltung aus.
  • Wie oben konstruiert, können die Eingangs- und Ausgangssignale der Basiseinheit 31 mit der in Figur 6 dargestellten Signalprozeßstruktur durch Verwenden des Analogsignals realisiert werden. Der D/A-Wandler 32a vom Multipliziertyp kann die Gewichtdaten des digitalen Signals parallel empfangen oder kann die Gewichtdaten in parallele Daten umwandeln, nachdem er sie als serielle Daten empfangen hat. Falls die Gewichtdaten aus dem Analogsignal bestehen, kann die Analogmultiplizierschaltung anstelle des D/A-Wandlers 32a vom Multipliziertyp verwendet werden.
  • Figur 7 ist ein Schaltungsdiagramm der Ausführungsform des Neuronenchips oder Analogneuronenprozessors (ANP) der vorliegenden Erfindung.
  • Die Neuroneneinheit der vorliegenden Erfindung umfaßt eine Eingabeeinheit 42, Multipliziereinheit 43, Addiereinheit 44, Abtast/Halte-Einheit 45, Nichtlineare-Funktion-Einheit 46 und Ausgabeeinheit 47.
  • Die Eingabeeinheit 42 umfaßt eine Offsetauslöschung- Erzeugungsschaltung 51 und einen Puffer 49 mit Verstärkungsfaktor Eins. Die Ausgabe des Operationsverstärkers wird durch den Puffer 49 mit Verstärkungsfaktor Eins eines Spannungsfolgers zu dessen Minusanschluß rückgekoppelt, und eine Eingangsspannung wird an seinen Plusanschluß angelegt. Der Dateneingang Din empfängt ein Zeitteilung-Analogimpulssignal. OC repräsentiert ein Offset-Steuersignal. Wenn es "1" ist, wird der Analogschalter 66 eingeschaltet, und "0" Volt werden obligatorisch an den Puffer 49 mit Verstärkungsfaktor Eins angelegt. Wenn jedoch das Offset-Steuersignal OC "0" ist, wird der Analogschalter 66 ausgeschaltet, und ein anderer Analogschalter 65 wird eingeschaltet, und die Daten werden in den Puffer 49 mit Verstärkungsfaktor Eins eingegeben. Wenn das Offset-Steuersignal OC 1 ist, wird obligatorisch 0 Volt in die Neuroneneinheit eingespeist, wodurch die Offsset-Spannung gelöscht wird, die in der Ausgabe der Operationsverstärker erzeugt wird, die bis zum Ausgang des Multiplizierers vorgesehen sind. Die Analogschalter 65 und 66 steuern das Schalten des OC-Signals in den positiven bzw. negativen Phasen. Eine Phasenregelungsschaltung verhindert, daß die Schaltungen gleichzeitig eingeschaltet werden. Im folgenden wird darauf hingewiesen, daß OC einer Phasenregelung unterworfen ist.
  • Eine Schaltung 52 für positives und negatives Schalten wird durch Kombinieren zweier Verstärkungsblöcke in Kaskadenform gebildet. Der Verstärkungsblock umfaßt einen Eingangswiderstand (10 kΩ) und einen Rückkopplungswiderstand (10 kΩ), um eine 10/10 = 1-fach umgekehrte Spannung zu liefern. Das Vorzeichen der Analogspannung wird in Abhängigkeit davon bestimmt, ob das Signal durch eine oder zwei Stufen des Verstärkungsblocks durchgeht. Die Steuerspannung ist ein Vorzeichenbit (SIGN) der Digital-Gewichtdaten, und dieses Vorzeichenbit ist mit den Gates oder Toren von MOS-Schaltern 67 und 70 verbunden. Das Steuersignal des Vorzeichenbit (SIGN) ist ebenfalls einer Phasenregelung unterworfen. Wenn das Vorzeichenbit (SIGN) 1 ist, wird die Eingangsspannung zuerst von dem Eingabeblock 42 durch den Verstärkungsblock umgekehrt. Sie gelangt dann durch den einen Verstärker enthaltenden Verstärkungsblock in der folgenden Stufe, weil der Schalter 67 eingeschaltet wird, wodurch ein positives Phasensignal geliefert wird. Wo das Vorzeichenbit (SIGN) 0 ist, wird der Schalter 69 durch eine Umkehrschaltung 68 eingeschaltet. Während die Schalter 67 und 70 ausgeschaltet sind, wird dann das Eingangssignal von dem Eingabeblock 42 an den Minusanschluß des Operationsverstärkers 71 in der Nachstufe durch den Schalter 69 angelegt. Daher bilden ein Operationsverstärker mit einem Widerstand 72 in der vorherigen Stufe und ein Widerstand 73 für eine Rückkopplung des Operationsverstärkers in der folgenden Stufe einen Verstärkungsblock, der ein Inverter mit Verstärkungsfaktor Eins ist. Das heißt, die Eingabe der Eingabeeinheit 42 ist negativ, wenn das Vorzeichenbit negativ ist, und positiv, wenn das Vorzeichenbit positiv ist. Dies liefert eine Spannung je nachdem, ob die Synapsenverbindung erregt oder unterdrückt ist. Eine Ausgabe von der Schaltung 52 für positives und negatives Schalten wird an einen Punkt geliefert, nämlich einen Referenzspannungsanschluß 74, eines R-2R-Widerstand-Schaltungsnetzwerks eines D/A-Wandlers 53.
  • Der D/A-Wandler des R-2R-Systems wird nun erläutert. Der interne Schalter wird in Abhängigkeit von den Digital-Gewichtdaten von MSB bis LSB ein- oder ausgeschaltet. Wenn der Digitalwert 1 ist, fließt der Strom durch einen Schalter (Transistor) 75 in eine imaginäre Erdung 78 des Operationsverstärkers 76. Diese imaginäre Erdung wird bei der gleichen Spannung wie der Plusanschluß des Verstärkers 76 gehalten. Der Plusanschluß des Verstärkers 76 ist geerdet, so daß die imaginäre Erdung 78 eine imaginäre 0 ist. In einem D/A-Wandler repräsen tiert R 10 kΩ, und 2R repräsentiert 20 kΩ. Ein Strom fließt ungeachtet des Zustands des Schalters im Widerstand 2R. Ob der durch den Widerstand 2R fließende Gewichtstrom zur imaginären Erdung 78 fließt oder nicht, ist durch den Wert der Digitaldaten bestimmt. Wenn der durch den ganz rechts gelegenen Widerstand 2R fließende Strom als I bestimmt ist, wird der in 2R fließende senkrechte Strom entsprechend LSB, das an zweiter Stelle von rechts liegt, als (2 R x I)/2R = I geliefert, indem die an den ganz rechts gelegenen Widerstand 2R angelegte Spannung durch 2R geteilt wird. Daher fließt der Strom 2I in dem horizontalen, ganz rechts gelegenen Widerstand R. Die Spannung 2R x I + R x 2I wird an den senkrechten Widerstand 2R angelegt, der an dritter Stelle von rechts liegt, und die Spannung wird durch 2R geteilt, um den Strom 2I zu liefern. Ahnlich werden die Ströme durch den senkrechten Widerstand 2R (20 kΩ) 41, 81, 161 oder höhere, mit I multiplizierte Potenzen von 2. Die Daten von MSB bis LSB bestimmen, ob der Gewichtstrom der zweiten Potenz von 2, multipliziert mit I, in den Minusanschluß des Operationsverstärkers 76 fließt oder nicht. Daher fließt der den Digital-Gewichtdaten entsprechende Strom in die imaginäre Erdung 78 mit einer Amplitude der zweiten Potenz von 2 mal I. Da die Eingangsimpedanz des Operationsverstärkers unendlich ist und der zur imaginären Erdung 78 fließende Strom durch einen Rückkopplungswiderstand 77 des Operationsverstärkers 36 fließt, ist die Ausgangsspannung Vout des D/A-Wandlers gegeben durch
  • Vout = - E/2n × (D&sub0; + 2 x D&sub1; + 2² x D&sub2; + ... + 2n1-x × Dn-1)
  • wo E die Eingangsspannung ist, D0 das LSB ist und Dn-1 das MSB ist. Das heißt, die Ausgabe der Multipliziereinheit 43 ist der durch Multiplizieren der Eingangsspannung mit einem Gewicht erhaltene Wert. Der Gewichtkoeffizient wird durch den Digitaiwert von MSB bis LSB gesteuert.
  • Eine Addiereinheit 44 verwendet einen Miller-Integrator in zeitgeteilter Weise, um eine Akkumulation und eine Addier- Operation an jeweiligen Produkten des Zeitteilung-Multiplex- Analogsignals und der Digital-Gewichtdaten auszuführen. Eine Abtast/Halte-Einheit 45 führt ein Abtasten/Halten des Additionsergebnisses aus.
  • Die Addiereinheit 44 ist ein Integrator mit einem Widerstand R und einem Kondensator C. Die Eingabeeinheit der Addiereinheit 44 enthält eine Zeitteilung-Addier-Steuereinheit 55, und, wenn das Abtast/Halte-Signal 1 ist, wird die Ausgabe der Multipliziereinheit 43 in eine imaginäre Erdung 79 eines Operationsverstärkers 102 eingegeben. Wenn das S/H-Signal 0 ist, schaltet ein Inverter 80 einen Schalter 81 ein, und die Ausgabe der Multipliziereinheit 43 ist durch den Widerstand R mit der Erdung verbunden. Somit wird die Eingabe nicht zum Kondensator C der Addiereinheit 44 addiert. Wenn das S/H-Signal 1 ist, wird die Ausgangsspannung der Multipliziereinheit 43 durch einen Widerstand R in den Minusanschluß des Operationsverstärkers 102 eingegeben. Der durch Teilen der Eingangsspannung durch den Widerstand R 38 erhaltene Strom wird durch die imaginäre Erdung 79 in den Kondensator C eingespeist, um eine Integration auszuführen.
  • Wenn das S/H-Signal 0 wird und die Multipliziereinheit 43 von der Addiereinheit 44 getrennt ist, kann danach die Multipliziereinheit 43 das nächste Signal mit den Gewichtdaten multiplizieren. Eine Offset-Löscheinheit 82 einer einen Kondensator C enthaltenden Integrationsschaltung ist mit einer Offset-Löschfunktion durch Verwenden von vier Schaltern ver sehen. Wenn das Abtast-Halte-Signal 0 ist und das Offset- Steuersignal OC 1 ist, werden Schalter 83 und 84 eingeschaltet, und Schalter 85 und 86 werden ausgeschaltet. Wenn das Offset- Steuersignal OC 0 ist, wird eine Eingangsspannung an den Dateneingabeanschluß der Dateneingabeeinheit 42 und den Digitaleingabeanschluß DATA-INPUT angelegt, und die entsprechende Ausgabe der Multipliziereinheit 43 wird durch den Widerstand R an den Kondensator C angelegt. Die Schalter 85 und 86 werden dann eingeschaltet, und der Kondensator CT hat eine Minuspolarität auf der mit dem Minusanschluß 79 des Operationsverstärkers 102 verbundenen Seite und hat eine positive Polarität auf der mit dem Ausgang des Operationsverstärkers 102 verbundenen Seite. Wenn das Offset-Steuersignal OC 1 wird, wird eine Dateneingabe obligatorisch 0 gemacht. Falls in diesem Fall kein Offset vorliegt, selbst wenn das Eingangssignal durch die Schaltung 52 für positives und negatives Schalten und die Multipliziereinheit 43 übertragen wird, wird die Ausgabe des D/A-Wandlers 0. Da jedoch die Operationsverstärker 49, 103, 71 und 102 verwendet werden und die Offset-Spannung aktiviert ist, wird die Offset-Spannung zum Kondensator C in der Addiereinheit 44 addiert und wird folglich gespeichert. Dies ist von dem Fall verschieden, in dem die Offset-Steuerspannung OC 0 ist, die Schalter 83 und 84 eingeschaltet sind und die Polarität des Kondensators C umgekehrt ist. Daher wird die bei Empfang des Eingangssignals erzeugte Offset-Spannung gesteuert, indem man das Offset-Steuersignal OC "1" macht und die Polarität des Kondensators C ändert. Die vorliegende Erfindung erreicht eine äquivalente Offset-Löschfunktion durch Umkehren der Polarität des Kondensators C. Der Schalter 87 wird durch ein Rückstellsignal gesteuert. Wenn das Rückstellsignal empfangen wird, wird die Spannung des Kondensators C 0 gemacht, und die Ausgabe des Addierblocks ist obligatorisch 0, da dies eine Rückstelloperation ist. Dieses Offset-Steuersignal OC wird auch einer Phasenregelung unterworfen.
  • Die Ausgabe der Addiereinheit 44 wird an eine Abtast-Halte- Einheit 45 geliefert und in einem Kondensator Ch durch einen Schalter 88 gespeichert, wenn das phasengeregelte Abtast-Halte- Steuersignal S/Hout 1 ist. Wenn das S/Hout-Signal 1 ist, wird das Steuersignal eines Schalters 90 durch einen Inverter 94 auf geschaltet, und ein Anschluß des Kondensators Ch ist nicht geerdet. Wenn der Schalter 91 einschaltet, wird das Endausgangssignal der Einheit durch einen Schalter 91 an den Kondensator Ch angelegt. Das heißt, das Endausgangssignal zu dieser Zeit wird vom Ausgangsanschluß des Operationsverstärkers 96 zu der niedrigeren Seite des Kondensators C rückgekoppelt Somit speichert der Kondensator C die Spannung, die erhalten wurde, indem das Endausgangssignal von der Ausgabe der Addiereinheit 44 subtrahiert wurde. Diese im Kondensator C gespeicherte Spannung wird in die Plusseite eines Operationsverstärkers 93 mit Verstärkungsfaktor Eins durch einen Schalter 89 eingegeben. Dieser Operationsverstärker 93 arbeitet wie ein Puffer, und die Ausgabe des Operationsverstärkers 93 wird in eine Sigmoidfunktion-Einheit eingegeben. Wenn das S/Hout-Steuersignal 1 ist, schaltet der Schalter 88 ein, und die Differenz zwischen der Ausgabe des Addierers und dem Endausgabewert wird im Kondensator Ch gespeichert. Weil zu dieser Zeit der Schalter 92 eingeschaltet ist, werden an den Operationsverstärker 93 obligatorisch 0 Volt angelegt. Die Offset-Spannung ΔV wird an die niedrigere Seite des Kondensators Ch durch den Schalter 91 durch die Sigmoidfunktion-Einheit 46, den Operationsverstärker 96 und den Analogschalter 100 angelegt. Wenn das S/Hout- Steuersignal 0 ist, wenn nämlich der Schalter 89 eingeschaltet ist und der Schalter 92 ausgeschaltet ist, wird daher die in dem Kondensator Ch gespeicherte Spannung (nämlich die Ausgabe der Addiereinheit - die Offset-Spannung ΔV) schließlich durch den Verstärker 93 und die Sigmoidfunktion-Einheit 46 ausgegeben. Wenn das S/Hout-Signal auf 1 gesetzt ist, wird die zu dieser Zeit gebildete Offset-Spannung ΔV. Als Folge ist die Offset-Spannung gelöscht.
  • Die Nichtlineare-Funktion-Einheit 46 zum Bilden eines Sigmoidfunktionsblocks umfaßt eine Nichtlineare-Auswahl-Schaltung 62. Das Phasenregelung-SEL-SIG-Signal wird auf 1 gesetzt, der Schalter 95 ist eingeschaltet, und die Ausgabe der Sigmoidfunktionseinheit 46 wird an den Operationsverstärker 96 angelegt. Wenn jedoch das SEL-SIG-Signal 0 ist, wird das Steuersignal eines Schalters 98 durch den Inverter 97 zu 1 gemacht und wird EIN, und die Ausgabe der Sigmoidfunktion wird getrennt. Die Ausgangsspannung der Abtast- und Halte-Einheit wird direkt in den Operationsverstärker 96 eingegeben, ohne daß man eine Sigmoidfunktion auf sie anwenden läßt. Der Operationsverstärker 96 ist grundsätzlich ein Operationsverstärker mit Verstärkungsfaktor Eins, um die Ausgabe zum Minusanschluß direkt rückzukoppeln, und wird wie ein Puffer betrieben. Er wirkt wie ein Puffer, indem er die Ausgangsimpedanz 0 macht. Ein Ausgabeblock 47 ist mit einer Zeitteilung-Ausgabeeinheit 64 und einer Ausgabe-Steuereinheit 63 verbunden. Wenn CSin "1" ist, werden Schalter 99 und 101 eingeschaltet. Der Endausgabe-Operationsverstärker 96 gibt die Endausgabe an einem Datenausgang DATA- OUTPUT aus. Diese Ausgabe wird dann zum Minusanschluß des Operationsverstärkers 96 und gleichzeitig zu der Abtast/ Halte- Einheit 45 rückgekoppelt. Wenn andererseits CSI 0 ist, wird ein Schalter 100 eingeschaltet, und ein Schalter 101 wird ausgeschaltet. Daher wird die Ausgabe des Verstärkers 96 nicht auf einer Dout-Datenleitung erzeugt. Da der Schalter 100 jedoch eingeschaltet wird, um eine Pufferspannung mit Verstärkungsfaktor Eins zu liefern, wird die Spannungsfolger-Operation des Operationsverstärkers 96 nicht gestört, sondern wird ausgeführt. Der Ausgabe-Steuerschaltungsblock 63 bestimmt, ob die Ausgangsimpulsspannung durch ein Steuersignal CSin für eine Verkettungsoperation übertragen wird. CSI wird dann als CSO durch eine Verzögerungsschaltung 105 ausgegeben, und die Zeitsteuerungen der Ausgabe-Analogsignale zu der anderen benachbarten Neuroneneinheit in der gleichen Schicht werden bestimmt. Die vorliegende Erfindung überträgt daher ein Analogsignal in zeitgeteilter Weise von der Ausgabeeinheit 47. Dies steht nicht im Widerspruch zu anderen Ausgangssignalen von anderen Neuroneneinheiten.
  • Die in Figur 8 gezeigte Phasenregelung wird realisiert durch Bilden einer Offset-Auslöschung OC; eines Vorzeichens SIGN; eines Abtast-Halte-S/H; eines Abtast-Halte-S/Hout; eines Sigmoidauswahlsignals SEL-SIG; eines Verkettungssignals CSI in Figur 7 durch zwei Signale, nämlich OC0 und OC1; PN und Minus PN, SH11 und SH10; SH21 und SH20; Minus SIGN und SIGN bzw. CS und Minus CS. Ein Steuersignal wird durch zwei Signale mit einer positiven Phase und einer negativen Phase gebildet und wird durch Verschieben der Phase jeweiliger Signale so verschoben, daß die positive Phase des Steuersignals den Schalter nicht zur gleichen Zeit einschaltet, während die negative Phase des Steuersignals einen verschiedenen Schalter einschaltet. Der Kondensator Cf und Widerstand Rf, die mit dem Ausgangsanschluß des D/A-Wandlers 53 verbunden sind, bilden das Rückkopplungssignal vom Operationsverstärker 76, um die Operationsgeschwindigkeit des D/A-Wandlers 53 anzupassen, und der D/A-Wandler 53 empfängt eine Digitaleingabe von dem DT-Anschluß. Teilen in Figur 8, die die gleichen wie diejenigen in Figur 7 sind, sind die gleichen Zahlen gegeben. Ihre Erläuterung wird daher weggelassen.
  • Figur 9 zeigt ein Zeitdiagramm für einen Integrator. Ein Datentakt DCLK und Gewichttakt WCLK sind Basis-Operationstakte. Wenn der Datentakt DCLK hoch ist, wird ein Hochgeschwindigkeits-Gewichttakt WCLK während einer halben Periode des Datentaktes DCLK ausgegeben. Der Gewichttakt WCLK ist ein Synchronisiertakt zum Eingeben serieller Gewichtdaten in den Integrator.
  • Der Datentakt DCLK ist ein Basistakt zum Verarbeiten eines Analogeingangssignals. Ein Synchronisiersignal SYNC kann eine Synchronisation jeweiliger Analogneuroneneinheiten innerhalb jeweiliger Schichten erreichen. Die Operation der Ausgangsspannung des Integrators ist durch eine dreieckige Wellenform in dem unteren Teil der Zeichnung dargestellt. Die integrierte Wellenform wird durch ein Impulssignal des Abtast/Halte-Steuersignals S/H gesteuert. Während der Periode eines hohen Abtast/Halte-S/H-Steuersignals wird eine Integration ausgeführt. Eine Ladung wird nämlich einem Kondensator CT des Integratorweges aufgeprägt. Während der Periode, in der der S/H-Impuls des Abtast/Halte-Steuersignals hoch ist, wird diese Ladung in dem Kondensator CT nach und nach akkumuliert, um die Spannung zu erhöhen. Wenn der Abtast/Falte-S/H-Steuersignalimpuls niedrig ist, ist die Ladeoperation abgeschlossen. Daher ist nur die geladene Menge während des Umfangs der Integrationszeit wichtig. Die Impulsbreite des Abtast/Halte-Steuersignals wird somit gesteuert, um den Umfang der Integrationsperiode auszudehnen oder zu komprimieren. Selbst wenn das Eingangssignal das gleiche ist, wird daher die Ausgabe des Integrators eine Ladespannung Va', wenn das Abtast/Halte-Steuersignal S/H eine Impulsbreite W hat.
  • Wenn das Abtast/Halte-Steuersignal S/H niedrig ist, wird die Polarität des Kondensators des Integrators geändert, und die Integrationsausgabe, zu der eine Offset-Komponente addiert wird, wird umgekehrt. Wenn das Offset-Steuersignal CC hoch ist und das Abtast/Halte-Steuersignal S/H ebenfalls hoch ist, wird zu dem Kondensator eine Offset-Spannung Vb (Vb') addiert. Wenn das S/H-Signal wieder niedrig wird und das Offset-Auslöschungssignal niedrig wird, wird der Integral-Ausgabewert Va - Vb (Va' - Vb'), in dem die Offset-Komponente gelöscht ist, einer Abtast/Halte-Operation unterzogen. Als nächstes wird ein schichtartiges neuronales Netzwerk erläutert. Figur 10A ist eine konzeptionelle Ansicht eines schichtartigen Netzwerks. In diesem Netzwerk gelangen die Eingabedaten in einen Eingabeknoten 110 der Eingabeschicht auf der linken Seite und werden in der Richtung nach rechts sequentiell verarbeitet. Jeweilige Neuronen 112 der dazwischenliegenden oder verborgenen Schicht empfangen eine Ausgabe von der vorherigen Schicht, die einen Blindknoten 111 enthält, was eine vollständige Verbindung zwischen zwei Schichten schafft. Falls es in der Eingabeschicht vier Eingabeknoten 110 gibt, wird ihr ein Blindknoten 111 hinzugefügt. Somit wird von jeweiligen Neuronen 112 in der verborgenen Schicht aus beobachtet, daß die Eingabeschicht fünf Neuronen aufweist. Der Blindknoten 111 steuert den Schwellenwert und addiert den konstanten Wert "-θ" zum Wert x, der durch das Ergebnis der Suinme des Produkts erhalten wird und in der folgenden Sigmoid funktion enthalten ist, und verschiebt dann die durch die folgende Gleichung definierte Wellenform in die positive Richtung entlang der x-Achse, wodurch die Funktion f(x-θ) geliefert wird.
  • Dies ist einer Änderung in dem Gewicht äquivalent, das em Blindknoten 111 innerhalb des Neurons entspricht, und der konstante Wert θ wird durch die später beschriebene Maximalwert- Knotenschaltung erzeugt. Falls daher das dem Blindknoten entsprechende Gewicht vorbereitet ist, kann der Schwellenwert durch das Gewicht ausgedrückt werden. Somit wird durch das Neuron 112 in der Ausgabeschicht beobachtet, daß die Zwischenschicht vier Neuronen aufweist. Die auf die Eingabeschicht angewandten Eingabedaten werden durch Verwenden der Gewichtdaten in dem Zwischenschicht-Neuron 112 und dem Ausgabeschicht-Neuron 113 der arithmetischen Summe-von-Produkten-Operation unterzogen, was die Erzeugung der Ausgabedaten zur Folge hat.
  • Die in Figur 10A gezeigte geschichtete Struktur wird durch Verwenden des ANP der vorliegenden Erfindung ausgedrückt. Unabhängige Analogbusse B1, B2 und B3 sind zwischen jeweiligen Schichten, nämlich zwischen der Eingabeschicht und der Zwischenschicht und zwischen der Zwischenschicht und der Ausgabeschicht und bei der Ausgabeschicht vorgesehen. Alle senkrechten ANPs arbeiten parallel. Eine Abtast-Halte-Schaltung S/H ist am Ausgang der Ausgabeschicht vorgesehen.
  • Figur 11 zeigt eine Anordnung einer Ausführungsform der Erfindung. Eine eingangsseitige oder Eingabeseite-Schaltung 120 entspricht einer Eingabeschicht, und 121 bezeichnet einen Analogneuronenprozessor ANP, der eine Basiseinheit eines geschichteten Netzwerks bildet, nämlich eine Basiseinheit. 121-h bezeichnet eine Vielzahl von Basiseinheiten, die eine Zwischenschicht bilden. Wenn es mehr als drei Schichten gibt, bezeichnet 121-h mehrere Basiseinheiten, die eine Stufe oder eine Vielzahl von Stufen der Zwischenschicht bilden, und 121-1 bezeichnet eine oder eine Vielzahl von Basiseinheiten, die die Ausgabeschicht bilden, und 121-j zeigt eine Ausgabeschicht Schaltung. Zwischen der Basiseinheit 121-h und der Basiseinheit 121-i, zwischen zwei Basiseinheiten 121-i und zwischen einer Basiseinheit 121-i und einer Basiseinheit 121-j ist eine elektrische Verbindung geschaffen. Ein durch 130 bezeichnetes geschichtetes Netzwerk ist basierend auf einem durch jeweilige Verbindungen bestimmten Gewicht geschaffen.
  • Die Basiseinheit 121 weist zumindest eine Multipliziereinheit 122, eine Addiereinheit 123 und eine Schwelleneinheit 124 auf. Sie ist ferner manchmal mit einer Ausgabe-Beibehaltungseinheit 125 versehen. Die Multipliziereinheit 122 empfängt eine Vielzahl von Eingaben und entsprechenden Gewichten und führt eine Multiplikation aus. Die Addiereinheit 123 addiert ein Multiplikationsergebnis betreffend aller Basiseinheiten 121 in der vorherigen Schicht, wobei Multiplikationsergebnisse durch die Multipliziereinheit 122 erhalten werden.
  • Die Schwelleneinheit 124 wandelt die durch die Addiereinheit 123 erhaltenen Additionsergebnisse in eine Schwellenwertfunktion eines nichtlinearen Typs um und berechnet eine Endausgabe. Wenn eine Ausgabe-Beibehaltungseinheit 125 vorgesehen ist, wird die durch die Schwellenwerteinheit 124 erhaltene Endausgabe beibehalten. Die Eingabe und Ausgabe in die Basiseinheit 121 wird durch ein Analogsignal realisiert.
  • 140 ist ein Analogbus und bildet eine gemeinsame Leitung zwischen einer Eingabeschicht und der allerersten oder vordersten Stufe der Zwischenschicht (140-A), zwischen jeweiligen Zwischenschichten (140-B) und zwischen der letzten Stufe der Zwischenschicht und der Ausgabeschicht (140-C). 150 ist eine Haupt-Steuerschaltung, die eine Datenübertragung in einem geschichteten Netzwerk 130 steuert. Die Haupt-Steuerschaltung 150 ist mit einem Treibereinheit-Auswahlmittel 151, einem Gewichteinstellmittel 152, einem Schwellenwertverarbeitung-Betätigungsmittel 153 und einem Ausgabewert-Übertragungsmittel 154 versehen.
  • In dieser Ausführungsform wählt das Treibereinheit-Auswahlmittel 151 sequentiell eine Basiseinheit 121 in der vorherigen Stufe der Schicht aus. Das Ausgabewert-Übertragungsmittel 154 ist mit dem Auswahlprozeß synchronisiert, und die durch die ausgewählte Basiseinheit 121 beibehaltene Endausgabe des Analogsignals wird verarbeitet, um an die Basiseinheit 121 der Nachstufe-Schicht gemäß einem Zeitteilung-Übertragungsformat durch den Analogbus 140 ausgegeben zu werden. Wenn diese Eingabe empfangen wird, wählt die Multipliziereinheit 122 der Basiseinheit 121 der Nachstufe-Schicht sequentiell das der Ver bindung mit der Basiseinheit 121 der Vorstufe-Schicht entsprechende Gewicht aus, welches Gewicht durch das Gewichteinstellmittel 152 bestimmt wird, und führt einen Multiplikationsprozeß an der Eingabe und dem Gewicht aus. Die Addiereinheit 123 addiert sequentiell das durch die Multipliziereinheit 122 erhal tene Multiplikationsergebnis. Wenn alle Summe-von-Produkten- Prozesse der Basiseinheit 121 in der Vorstufe-Schicht als abgeschlossen bestätigt sind, führt das Schwellenwertprozeß-Betätigungsmittel 153 einen Prozeß eines Umwandelns des Signals durch Verwenden einer nichtlinearen Schwellenwertfunktion f aus. Somit gibt die Basiseinheit 121 f(X-θ) aus. Die Nachstufe-Schicht wird dann die neue Vorstufe-Schicht, und der gleiche Prozeß wird für die folgende Nachstufe-Schicht wiederholt. wegen dieses letztgenannten Übertragungssystems wird das dem Eingabemuster entsprechende Ausgabemuster von der Ausgabeschicht des geschichteten Netzwerks ausgegeben.
  • Figur 12 zeigt eine Ausführungsform des Netzwerkstruktur- Datenprozeßgeräts, das durch Verbinden einer Vielzahl von Basiseinheiten 121 in geschichteter Weise gebildet wurde. Diese Ausführungsform hält vorübergehend ein für jeweilige Basiseinheiten 121 außerhalb der Einheiten vorgesehenes Gewicht und führt eine Steuerung von CSI durch eine Haupt-Steuerschaltung aus.
  • Figur 12 zeigt die Struktur der Ausführungsform des in Figur 2 gezeigten Schichtnetzwerks. In dieser Ausführungsform ist die elektrische Verbindung zwischen der Schichtstruktur des Schichtnetzwerks durch einen einzigen gemeinsamen Analogbus 140 realisiert (als Identifizierer kann man a bis c an den Analogbus 140 anfügen). Demgemäß ist der Endwert, der von der Ausgabeschaltereinheit 36 der Basiseinheit 121 ausgegeben wird, derart aufgebaut, daß er in dem Ausgabemodus des Analogsignals ausgegeben wird, während der Endausgabewert in die in der Schicht der folgenden Stufe gelegene Basiseinheit 121 eingegeben wird. Die Eingabeschicht ist durch h bezeichnet, die verborgene Schicht durch i und die Ausgabeschicht durch j, wie in Figur 2 gezeigt ist.
  • Die Gewicht-Ausgabeschaltung 161 ist für jeweilige Basiseinheiten 121 vorgesehen und gibt das Gewicht für eine Gewicht- Halte-Einheit 38 der Basiseinheit 121 aus. Eine Gewichtsignalleitung 162 verbindet den Ausgang der Gewicht-Ausgabeschaltung 161 durch die Gewicht-Halte-Einheit 38, versorgt eine Eingabeseite-Schaltung 120 (an die Anfangssignal-Ausgabeschaltung kann man a bis n als Identifizierer angefügen) gemäß der Zahl von Eingabemuster und gibt ein Anfangssignal an eine Eingabeschicht eines Schichtnetzwerks als ein Eingabemuster aus. Eine Synchronisiersteuersignalleitung 164 (an die Synchronisiersteuersignalleitung kann man a bis d als Identifizierer angefügen) überträgt das Synchronisiersteuersignal von der Haupt-Steuerschaltung 150, die die Steuerung der Datenübertragung ausführt, zur Gewicht-Ausgabeschaltung 161, Eingabeseite-Schaltung 120 und Steuerschaltung 39 der Basiseinheit 121. Die Synchronisation-Steuersignalleitung 164 ist durch eine gemeinsame Linie in der Zeichnung bezeichnet, ist aber mit jeweiligen Schaltungen von der Haupt-Steuerschaltung 150 als einzelne Signalleitungen verbunden.
  • Figur 13 zeigt ausführlich das System der Haupt-Steuerschaltung 150.
  • Die Haupt-Steuerschaltung 150 umfaßt eine Extern-Bus- Schnittstellenschaltung 150a, einen Mikrocodespeicher 150b, einen Programmsequenzer 150c, einen Steuermusterspeicher 150d und einen Gewichtdatenspeicher 150b. Die Extern-Schnittstellenschaltung 150a ist mit einem Hauptrechner 150y und einem externen Speichergerät 150z durch einen Hauptbus 150x verbunden und empfängt eine Operationsanweisung vom Hauptrechner 150y. Der Mikrocodespeicher 150b speichert einen Mikrocode zum Definieren einer Operation des Programmsequenzers 150c. Der Programmsequenzer 150c steuert den Steuermusterspeicher 150d und Gewichtdatenspeicher 150e gemäß einem Mikrocode im Mikrocodespeicher isob. Der Steuermusterspeicher 150d hat Ausgangssignalleitungen, die mit der Eingabeseite-Schaltung 120 und der Basiseinheit 121 in einer Anfangsschicht, einer verborgenen Schicht und einer Ausgabeschicht einzeln verbunden sind. Er schaltet die Ausgangssignalleitungen ein oder aus, um jeden der jeweiliger Sätze, d.h. jeweilige Sätze der Eingabeseite-Schaltung 120, Eingabeschichten, verborgenen Schichten und Ausgabeschichten oder Basiseinheiten 121 in zeitgeteilter Weise gemäß einer Anweisung vom Programmsequenzer 150c auszuwählen. Der Gewichtdatenspeicher 150e versorgt die jeweilige Basiseinheit 121 mit einem Gewicht synchron mit dem Zeitteilung-Eingangssignal gemäß der Anweisung vom Programmsequenzer 150c durch Liefern des Gewichts von Digitaldaten an eine jeweilige Gewicht-Ausgabeschaltung 161. Der Hauptrechner 150y enthält eine MPU und einen Hauptspeicher, bestimmt ein Gewicht durch einen Lernalgorithmus, wie z.B. eine Rückwärtsausbreitung, und liefert das Eingabemuster Yi. Die Externspeichervorrichtung speichert Daten zum Bilden eines Neuronencomputers.
  • Die Operation der in Figur 12 gezeigten Ausführungsform wird als nächstes unter Bezugnahme auf das in Figur 14 gezeigte Zeitdiagramm erläutert.
  • Wenn eine Forderung nach einer Umwandlung in ein Ausgabemuster durch den Hauptrechner 150y durch den Hauptbus 150x geliefert wird, überträgt die Haupt-Steuerschaltung 150 ein Ausgabe-Steuersignal sequentiell und zyklisch zu einer Eingabeseite-Schaltung 120 und wählt eine Vielzahl von Eingabeseite- Schaltungen 120 sequentiell und zyklisch aus. Die Haupt-Steuerschaltung 150 wählt nämlich sequentiell eine Eingabeseite- Schaltung 120 aus einem Steuermusterspeicher 150d gemäß einer Anweisung eines Programmsequenzers 150c durch sequentielles Einschalten von Synchronisationssteuersignalleitungen 164a für jeweilige Eingabeseite-Schaltungen 120 aus. Die Haupt-Steuerschaltung 150 schaltet nämlich nur eine Synchronisationssteuersignal-(CSI)-Leitung 164a ein (in der Zeichnung durch 164a-1 dargestellt), die aus n Synchronisationssteuersignalleitungen ausgewählt wurdef um ein Tor einer Eingabeseite-Schaltung 120a zu öffnen, um ein der Anfangssignalausgabeschaltung 120a gehefertes Eingabemuster Y1 an einen Analogbus auszugeben, und schaltet andere Synchronisationssteuersignalleitungen 164a aus. Die Haupt-Steuerschaltung 150 schaltet als nächstes eine Synchronisationssteuersignalleitung 164a ein (dargestellt 164a-2), um ein Tor einer Eingabeseite-Schaltung 120b zu öffnen, um ein Eingabemuster Y2 der Eingabeseite-Schaltung 120b zum Analogbus 140 auszugeben, und schaltet andere Synchronisationssteuersignalleitungen 164a aus. Die folgende Operation wird wie oben angeführt durchgeführt. Die Haupt-Steuerschaltung 150 führt eine EIN- und AUS-Operation an einer Synchronisationssteuerung durch, bis das Eingabemuster Yn der Eingabeseite- Schaltung 120n an die Analogbusse 140a ausgegeben ist. Die Haupt-Steuerschaltung 150 stellt gleichzeitig die Ausgaben des Gewichtdatenspeichers 150e für jeweilige Gewicht-Ausgabeschaltungen 161 durch eine Synchronisationssteuersignalleitung 164b synchron mit EIN-Operationen jeweiliger Synchronisationssteuersignalleitungen 164a ein, um ein Gewicht an jeweilige Gewicht-Ausgabeschaltungen 161 jeweiliger Basiseinheiten 121 in der Eingabeschicht h zu liefern.
  • In Figur 14A ist ein Synchronisationssteuersignal einer Synchronisationssteuersignalleitung 164a durch ein Yi-Ausgabe- Steuersignal (i = 1 bis n) dargestellt, und die Eingabeseite- Schaltung 120 wird sequentiell und zyklisch ausgewählt. n bezeichnet die Anzahl von Eingabeseite-Schaltungen 120. Die Eingabeseite-Schaltung 120, wie oben ausgewählt, überträgt ein als ein Eingabemuster geliefertes Analogsignal Yi zu einem (durch einen Eingabeschicht-Analogbus 140a in der Zeichnung präsentierten) Analogbus 140, der zwischen der h-Schicht und der Eingabeseite-Schaltung 120a vorgesehen ist. Dieses Eingabemuster wird durch den Hauptrechner 150y gegeben. Demgemäß wird ein Analogsignal Yi sequentiell auf dem Eingabeschicht-Analogbus 140a übertragen. Die Zahl der Analogsignale Yi entspricht der einer Eingabeseite-Schaltung 120. Ein Anfangseingabemuster Yi und folgende Eingabemuster Yi werden nacheinander wiederholt übertragen.
  • Die Multiplikationsprozeßeinheit 122 jeweiliger Basiseinheiten 121 in einer h-Schicht empfängt das übertragene Analogsignal Yi und verwendet ein Gewicht Wi von Gewicht-Halte- Einheiten 38, das durch die Haupt-Steuerschaltung 150 eingestellt wurde, um eine arithmetische Operation (Yi.Wi) auszuführen. Man nimmt an, daß das Gewicht Wi schon in MPU gemäß dem Rückwärtsausbreitungsverfahren bestimmt ist.
  • Demgemäß stellt die Haupt-Steuerschaltung 150, wie in Figur 14B gezeigt, ein Gewicht Wi entsprechend der ausgewählten Eingabeseite-Schaltung 120 in die Gewicht-Halte-Einheit 38 in jeweiligen Basiseinheiten 121 einer h-Schicht durch die Gewicht- Ausgabeschaltung 161 synchron mit einem Auswahlprozeß einer Eingabeseite-Schaltung 120 ein. Die Produkte von Yi und Wi werden in einem 1-Bus-zyklus erhalten, und die Summe der Produkte und die vorherige Summe der Produkte werden erhalten. Es ist möglich, ein Gewicht in einer Basiseinheit 1 gemäß irgendeinem Modus eines Analogsignals oder eines digitalen Signals einzustellen. Das Gewicht wird durch jeweilige Verbindungen bezeichnet und, wie oben festgestellt wurde, sollte es genau durch Wij ausgedrückt werden (j gibt die Nummer der Basiseinheit in h- Schicht an), wird aber durch Wi dargestellt, um die Erläuterung zu vereinfachen.
  • Die Verarbeitungsoperation wird durch Bezugnahme auf das in Figur 15 gezeigte Zeitdiagramm für eine Signalverarbeitung einer Basiseinheit 121 erläutert. Die Basiseinheit 121 (dargestellt durch 121a in der Zeichnung) in der Zwischenschicht wird erläutert.
  • Wenn die Steuerschaltung 39 ein Synchronisationssteuersignal vom Steuermusterspeicher 150d der Haupt-Steuerschaltung 150 durch eine Synchronisationssteuersignalleitung 164b empfängt (dargestellt durch 164b-1 in der Zeichnung), schaltet sie ein Eingabe-Steuersignal (c) entsprechend OC EIN und macht die Eingabeschaltereinheit 37 leitend. Gleichzeitig schaltet das Steuersignal 39 ein Gewicht-Eingabe-Steuersignal (d) EIN, das einen Torpuffer 38a öffnet, und ein Ausgabe-Steuersignal (h&sub1;) entsprechend CSI, um die Ausgabeschaltereinheit 36 leitend zu machen. Synchron mit einem Takt (a) schaltet dann die Haupt- Steuerschaltung 150 CSI der Synchronisationssteuersignalleitung 164a sequentiell EIN, und in der Eingabeseite-Schaltung 120a, 12db ... 120n beibehaltene Eingabemustersignale Yi werden an einen D/A-Wandler 32a vom Verstärkertyp durch einen Analogbus 140 und eine Eingabeschaltereinheit 27 geliefert.
  • Die Haupt-Steuerschaltung 150 liefert ein Gewicht eines Gewichtdatenspeichers 150e an die Gewicht-Ausgabeschaltung 11 durch eine Synchronisationssteuersignalleitung 164b (in der Zeichnung durch 164b-2 repräsentiert), und dieses Gewicht (digitale Daten) Wi wird in einer Gewicht-Halte-Einheit 38 durch einen Puffer 38a gespeichert. Das Ausgabe-Steuersignal (hi) wird dann für nur eine Periode des Taktes (a) Eingeschaltet, das analoge Tor der Abtast-Halte-Schaltung in der Basiseinheit 121 wird für diese Periode in einen offenen Zustand versetzt, und der gehaltene Analogwert wird durch die Ausgabeschaltereinheit 36 an den i-Schicht-Analogbus 14db ausgegeben. Das Gewicht Wi des digitalen Wertes wird in einer Halte-Einheit 38 gespeichert. Ein Multiplikation-Steuersignal (e) wird dann Eingeschaltet, und ein D/A-Wandler 32a vom Multiplikationstyp multipliziert das durch die Schaltereinheit 37 empfangene Analogsignal Yi mit dem Gewicht Wi, wodurch das Multiplikationsergebnis als ein Analogsignal ausgegeben wird. Während das Addier-Steuersignal (f) EINgeschaltet wird, arbeitet als nächstes ein durch einen Integrator gebildeter Analogaddierer 33a, und ein Analogwert (der anfangs zu 0 gelöscht ist), der unmittelbar zuvor in einer Abtast-Halte-Schaltung 33b gehalten wurde, wird zu einem Verstärkungsergebnis eines D/A-Wandlers 32a eines de finierten Typs addiert, wodurch das Additionsergebnis in der Abtast-Halte-Schaltung 33b wieder gespeichert wird.
  • Gemäß der obigen Operation ist ein Buszyklus abgeschlossen, und ein Eingabemuster Y2 für die Eingabeseite-Schaltung 120b wird von der Eingabeschaltereinheit 37 synchron mit dem nächsten Takt (a) geliefert, und die Gewicht-Ausgabeschaltung 161 liefert ein Gewicht W2 entsprechend dem Eingabemuster Y2. Somit wird das Eingabemuster Y2 mit dem Gewicht W2 multipliziert, und das Multiplikationsergebnis wird zu dem in der Abtast-Halte-Schaltung 33b gehaltenen Wert addiert. Danach wird diese Operation wiederholt, bis der Prozeß für ein Eingabemuster Yn in die Eingabeseite-Schaltung 120n abgeschlossen ist. Wenn die Multiplikation des Eingabemusters Yn mit Wn abgeschlossen ist, wird ein Umwandlung-Steuersignal (g) EINgeschaltet. Der durch Akkumulieren des Multiplikationsergebnisses erhaltene Wert wird dann in eine Nichtlineare-Funktion-Erzeugungsschaltung 34a einer Schwellenverarbeitungseinheit 124 eingegeben, und der entsprechende Y-Wert wird beibehalten. Daher führt die Schwellenverarbeitungseinheit 124 die folgende arithmetische Operation aus.
  • Y = 1 / (1 + exp(-X + θ))
  • Der Endausgabewert Y, welcher die endgültige Operationsausgabe der Basiseinheit 121 ist, kann daher erhalten werden und wird beibehalten. Dieses Ergebnis wird an den Analogbus (14db) in der folgenden Stufe bei dem folgenden Anstieg des Ausgabe- Steuersignals ausgegeben. Wenn dieser Wert Y erhalten wird, ist der akkumulierte Wert in der Akkumulationseinheit 33 synchron mit einem Auswahlzyklus der nächsten Eingabeseite-Schaltung 120 und wird durch ein eingegebenes Löschsignal gelöscht.
  • Gemäß der oben beschriebenen Operation liefern jeweilige Basiseinheiten 121 den Endausgabewert Y von einem Eingabemuster Yi und einem Gewicht Wi.
  • Die Erklärung kehrt nachher zu dem Aufbau der in Figur 12 gezeigten Ausführungsform zurück. Wie ausführlich unter Bezugnahme auf Figur 15 erklärt wurde, ist der Prozeß zum Eingeben des Mustersatzes in alle Eingabeseite-Schaltungen 120 abgeschlossen, und die Haupt-Steuerschaltung 150 versieht wieder die jeweiligen Basiseinheiten 121 (a bis n sind als Identifizierer hinzugefügt) mit Synchronisationssteuersignalen. Somit wird eine ähnliche Operation gemäß einem neu an die Eingabeseite-Schaltung 120 gelieferten Eingabemuster Yi und einem neuen Gewicht Wi ausgeführt.
  • Der so erhaltene Endausgabewert Y der Basiseinheit 121 der h-Schicht wird andererseits gehalten und in zeitgeteilter Weise zur Basiseinheit 121 der i-Schicht, die in der nächsten Stufe positioniert ist, durch den Analogbus 140b in gleicher Weise wie für die Eingabeseite-Schaltung 120 übertragen. Die Haupt- Steuerschaltung 150 steuert nämlich Ausgangssignale h1 bis hn (Figur 15) zur Steuerschaltung 39 für jeweilige Einheiten 121a bis 121n in der h-Schicht durch eine Synchronisationssteuersignalleitung 164b (welche in der Zeichnung durch 164b-1 repräsentiert ist) sequentiell und zyklisch, wodurch die Ausgabeschaltereinheit 36 der Basiseinheit 121a, 121b ... sequentiell und zyklisch Eingeschaltet werden. Daher wird das Analogsignal des Endausgabewerts, der in den jeweiligen Basiseinheiten 121a bis 121n beibehalten wurde, in zeitgeteilter Weise zu einer Multipliziereinheit 122 jeweiliger Basiseinheiten 121a bis 121n in der i-Schicht-Periode übertragen. Jeweilige Basiseinheiten 121a bis 121n in der i-Schicht führen die gleiche Operation wie oben beschrieben aus. Sie verwenden den Endausgabewert Y der Basiseinheit 121 in der i-Schicht, der durch den obigen Prozeß erhalten wurde, und führen eine Übertragungsverarbeitung für die Basiseinheit 121 in der i-Schicht in einer ähnlichen zeitgeteilten Weise aus, wodurch der Endausgabewert Y der Basiseinheit 121 in der Ausgabeschicht geteilt wird. Die Haupt- Steuerschaltung 150 steuert ähnlich jeweilige Basiseinheiten durch Synchronisationssteuersignalleitungen 164c und 164d, die einzeln mit jeweiligen Basiseinheiten 121 in der Zwischenschicht und der Ausgabeschicht verbunden sind.
  • Figur 16 ist ein Blockdiagramm des geschichteten Neuronennetzwerks des Neuronencomputers der vorliegenden Erfindung. Analogneuronenprozessoren ANPs 1 bis 5 mit Neuronenchips sind parallel in jeweiligen Schichten vorgesehen, und Analogbusse B1, B2 und B3 sind zwischen zwei Schichten unabhängig vorgesehen. In Figur 16 wird die Zwischenschicht durch ANPs 1, 2 und 3 gebildet, und die Ausgabeschicht wird durch ANPs 4 und 5 gebildet. Die Eingabestufe weist keine ANPs auf, sondern hat Verkettungsschaltungen 171 und 172, um das Analogeingangssignal in einer guten Zeitsteuerung einzugeben. Die mit S/H bezeichneten Schaltungen sind Abtast/Halte-Schaltungen 173 und 174. Die ANPs 1 bis 5 benötigen logische Signale für eine Steuerung, und vie le Steuersignalleitungen sind mit jeweiligen Schichten von einem Haupt-Steuerblock (MCB) (engl. main control block) 181 verbunden. Ein Datentakt DCLK wird an die Verkettungsschaltungen 171 und 172 auf der Eingabeseite aller ANPs angelegt und bildet einen Basistakt für eine Analogverarbeitung. Ein Gewichttakt WCLK wird an alle ANPs und die Verkettungsschaltungen 171 und 172 auf der Eingabeseite angelegt. Dies liefert einen Hochgeschwindigkeitstakt für die Gewichtdaten. Die Gewichtdaten werden in jeweilige ANPs 4 und 5 und ANPs 1, 2 und 3 von einem Gewichtspeicherblock 185 und 186 synchron mit dem Gewichttakt WCLK eingegeben. Der Synchronisationstakt SYNC1 wird an die ANPs in der Zwischenschicht angelegt, und der Synchronisationstakt SYNC2 wird an den ANP bei der Ausgabeschicht für den Synchronisationstakt angelegt. SH1 und OC1 repräsentieren das Abtast/Halte-Steuersignal bzw. Offset-Steuersignal für die ANPs in der Zwischenschicht, und SH2 und OC2 reprasentleren diese Signale für die ANPs in der Ausgabeschicht. Die Verkettungsschaltungen 171 und 172 der Blöcke auf der linken Seite sind die Eingabeseite-Schaltungen, die der Eingabeschicht entsprechen. Um den Eingabeknoten zu realisieren, nämlich die Neuronen in der Eingabeschicht, sollte das an die Analogeingangsports und 1 angelegte Analogeingangssignal in zeitgeteilter Weise bei der gleichen Zeitsteuerung an die Verkettungsschaltungen angelegt werden, während ein ANP das Analogsignal erzeugt. Das heißt, eine Basisoperation wird aufgebaut, wenn ANPs 4 und 5 in der Ausgabeschicht Analogsignale von den ANPs 1, 2 und 3 in der vorherigen Zwischenschicht in zeitgeteilter Weise durch den Analogbus B2 empfangen. Die oben beschriebene Beziehung existiert zwischen der Zwischenschicht und der Eingabeschicht. Diese Beziehung sollte derart sein, daß die ANPs in der Eingabeschicht vor den ANPs in der Zwischenschicht vorliegen. Daher sollte die Ausgabe von den Analogeingangsports 0 und 1 bei Empfang des Analogeingangssignals zu der gleichen Zeit an den Analogbus B1 geliefert werden, während die ANPs in der Zwischenschicht das Analogsignal an den Analogbus B2 ausgeben. Mit anderen Worten werden die Eingangssignale von den Analogeingangsports 0 und 1 in zeitgeteilter Weise an den Analogbus B1 angelegt. Das Analogsignal von dem Analogeingangsport 0 wird an den Analogbus B1 bei einer geeigneten Zeitsteuerung angelegt. Das nächste Analogeingangssignal vom Analogeingangsport 1 wird an den Analogbus B1 angelegt, nachdem das Analogsignal vom Anabgeingangsport 0 an den gleichen Analogbus E1 angelegt ist. Um die obige Synchronisation zu erreichen, wird das bei einer konstanten Zeitsteuerung ausgegebene Eingabe-Steuersignal CSI an die Verkettungsschaltung 171 angelegt, und nach einer bestimmten Periode erzeugt die Verkettungsschaltung 171 ein Ausgabe- Steuersignal CSO. Das CSI wird durch CSO1 der Haupt-Steuerschaltung 181 erzeugt. Die Verkettungsschaltungen 171 und 172 bilden eine Art Verzögerungsschaltung. Wenn die Verkettungsschaltung 171 von der Haupt-Steuereinheit 181 ein Eingabe- Steuersignal CSI empfängt, überträgt sie das CSO-Signal zu der senkrecht unteren benachbarten Verkettungsschaltung 172, so daß das Analogausgangssignal vom Analogeingangsport 1 an die senkrecht untere benachbarte Verkettungsschaltung 172 ausgegeben wird. Diese Operation wird eine Verkettungssteuerung genannt.
  • Wenn die Ausgabe CSO1 der Haupt-Steuerschaltung 181 ansteigt, wird der Schalter 175 eingeschaltet, und das Analogeingangssignal des Analogeingangsport 0, das in der Abtast/Halte- Schaltung 173 gehalten wird, wird an den Analogbus B1 angelegt. Da CSO1 das CSI der Verkettungsschaltung 171 ist, steigt ein CSO nach dem Abfall des CSI eine vorbestimmte Zeit an. Dieses CSO ist das CSI für die Verkettungsschaltung 172 und schaltet gleichzeitig einen Schalter 176 ein. Somit wird das in einer Abtast/Halte-Schaltung 174 gehaltene Analogeingangssignal des Analogeingangsport 1 an den Bus B1 angelegt. Die vorliegende geschichtete Struktur benötigt eine solche Verkettungssteuerung. Das heißt, das Analogeingangssignal wird an den Analogbus B1 durch den Analogeingangsport 0 und die Abtast/Halte-Schaltung 173 angelegt. Das nächste Analogeingangssignal wird durch den Analogeingangsport 1 und die Abtast/Halte-Schaltung 174 an den gleichen Analogbus B1 ausgegeben. Vom Standpunkt jeweiliger Neuronen in der verborgenen Schicht aus werden das Analogeingangssignal des Analogeingangsport 0 und das folgende Analogeingangssignal vom Analogeingangsport 1 in zeitgeteilter Weise sequentiell eingegeben.
  • Die Verkettungsschaltungen 171 und 172 geben das Ausgabe Steuersignal CSO durch Verzögern des Eingabe-Steuersignals CSI um eine vorbestimmte Periode aus, um eine Buskonkurrenz auf dem Analogbus B1 zu vermeiden.
  • Wenn ANP1 zum Empfangen des Ausgabe-Steuersignals CSO2 vom Haupt-Steuerblock 181 als CSI das Analogsignal liefert, wird CSO an ANP2 als CSI angelegt, und danach gibt ANP2 CSO aus. ANP3, der CSO von ANP2 als CSI empfängt, erzeugt als nächstes das Analogsignal. Zusammengefaßt erzeugen die ANPs 1, 2 und 3 wiederum Ausgaben, wobei somit die Verkettungsoperation in der Zwischenschicht abgeschlossen wird. Parallel zu dieser Operation liefert der Haupt-Taktsteuerblock 181 zum Verwalten aller Operationen CSO3 an ANP4 in der Ausgabeschicht, und dann erzeugt ANP4 die Ausgabe. Nach Abschluß der Ausgabe liefert ANP4 CSO an ANP5, und ANP5 erzeugt die Ausgabe.
  • Ausgaben von den ANPs 4 und 5 in der Ausgabeschicht werden durch Abtast/Halte-Schaltungen 177 bzw. 178 unter der Steuerung von CSO3 vom Haupt-Steuerblock 181 und dem Verkettung-Ausgabe- Steuersignal CSO einer Abtast/Halte-Operation unterzogen. Die Ausgangsspannung wird als das Analogausgangssignal von Analogausgangsports 0 und 1 ausgegeben und durch einen Analogmultiplexer 179 ausgewählt. Auf die Ausgabe des Multiplexers 179 wird somit durch einen A/D-Wandler 180 eine A/D-Umwandlung angewandt, und dann wird die Ausgabe des A/D-Wandlers 180 zu einem Digitalsteuerschaltungsmittel übertragen, das eine MPU 182, einen Speicher 183 und eine Kommunikationsschnittstelle 184 umfaßt. Das Ausgangssignal wird mit einem in der MPU gespeicherten Lehrersignal während eines Lernens verglichen, um zu bestimmen, ob das Ausgangssignal das gewünschte ist oder nicht. Die Gewichtdaten des später beschriebenen Gewichtspeichers werden basierend auf diesem Vergleich geändert. Eine Maximalwert- Knotenschaltung 187 wendet Blindknoten-Steuersignale DSC1 und DSC2 vom Haupt-Steuerblock 181 auf Ausgangs-Freigaben 1 und 2 an, und der Ausgangsanschluß ist mit Analogbussen B1 und B2 verbunden.
  • Figur 17 zeigt ein Zeitdiagramm eines geschichteten Neuronencomputers gemäß der in Figur 16 gezeigten Ausführungsform Aus jeder Schicht ist eine Steuersignalleitung extrahiert. Der Datentakt DCLK, d.h. der Basisarbeitstakt, und der Gewichttakt WCLK werden gleichzeitg an die Verkettungsschaltungen 171 und 172 auf den Eingabeseiten aller ANPs in der gleichen Schicht angelegt.
  • Der Gewichttakt WCLK ist ein serieller Synchronisierimpuls zum Übertragen des seriellen digitalen Gewichts und zum Lesen des Gewichts von dem Gewichtspeicherblock. Das Steuersignal bestimmt, bei welcher Zeitsteuerung die Eingabedaten empfangen werden. In dem Zeitdiagramm von Figur 17 ist CSO1 ein Besetzt- Verkettung-Steuersignal, das von dem Haupt-Steuerblock 181 ausgegeben wird, nämlich das an die Verkettungsschaltung 171 angelegte Verkettung-Steuersignal CSI. In der Verkettungsschaltung 171 gibt CSI das erste Analogeingangssignal an den Analogbus B1 durch den Analogeingangsport 0 und die Abtast/Halte-Schaltung SH173 aus. In dem in Figur 17 dargestellten Zeitdiagramm wird zur Zeit das Analogsignal an den Analogbus B1 ausgegeben. In diesem Moment wird die Spannung an den Analogbus B1 angelegt, und ANP1, ANP2 und ANP3 führen eine parallele Summe-von-Produkte-Operation für dieses Analogsignal aus. Das CSO passiert die Verkettungsschaltung 171, und das nächste CSI steigt bei einer Zeitsteuerung oder zur Zeit nach einer vorbestimmten Zeit an, nachdem CSO fällt. Das nächste CSI ist ein an die zweite Verkettungsschaltung 172 in der Eingabeschicht angelegtes Steuersignal. Während der Periode eines hohen CSI wird durch die Abtast/Halte-Schaltung SH174 das Analogeingangssignal an ANP1, ANP2 und ANP3 angelegt, wodurch eine Summe-von-Produkten-Operation ausgeführt wird. DSC1 vom Haupt-Steuerblock 181 ist ein Steuersignal, das an einen Blindknoten angelegt werden soll. Jeweilige Schichten empfangen Signale von dem Blindknoten sowie Eingangssignale. Die Zahl der Knoten ist gleich der Zahl von Neuronenknoten plus Eins. Die Eingabeschicht hat daher zwei Eingänge, obwohl sie drei Eingänge zu haben scheint, wenn sie von den in jeweiligen Zwischenschichten vorgesehenen ANPs aus beobachtet wird.,Daher weist ein Steuersignalblock zwei CSIs und ein DCS1 auf. Der Eingabezyklus beginnt von dem Anfangs-CSI aus und endet bei der Eingabe in den Blindknoten DSC1. Der Blindknoten wird durch die Maximalwert- Knotenschaltung 187 bereitgestellt, und die Schaltung gibt eine Schwellenwertspannung aus, die auf dem Analogbus festgelegt ist, während CSI eingegeben wird. Wie zur Zeit dargestellt ist, führen jeweilige ANPs in der Zwischenschicht vom Beginn des Anstiegs von DSCI an und, während die Ausgangsspannung ausgegeben wird, die Summe-der-Produkte-Operationen wie für die gewöhnliche Eingabe aus. Die Spannung mit festgelegtem Wert eines hohen CSI-Signals wird zu der Summe der Produkte der vorherigen zwei Analogeingangssignale addiert, wodurch ermöglicht wird, daß eine Addition nach einer Multiplikation ausgeführt wird. SYNC1 wird bei einer abfallenden Flanke von DCLK vor dem Anstieg von CSO1 hoch und wird somit bei der abfallenden Flanke des folgenden DCLK nach dem Anstieg von DSC1 niedrig. SYNC1 ist ein Synchronisiersignal für die Eingabeschicht. Wenn WCLK eingegeben wird, wird die Analogeingabe mit den Gewichtdaten multipliziert. Das in den ANP bei der Zwischenschicht eingegebene Abtast/Halte-Signal SH1 liefert zwei hohe Abschnitte oder Teile M1 und M2, und das Produkt wird kurz vor dem ersten hohen Teil M1 erhalten, und die Summe wird während des hohen Teils M1 erzeugt und dann gehalten. Bei dem nächsten hohen Teil M2 wird die Offset-Spannung Vb von der gehaltenen Spannung (wie in Figur 9 angegeben) subtrahiert, und die resultierende Spannung wird dann einer Abtast/Halte-Operation unterzogen. Dieser Prozeß wird für das einzugebende Analogsignal wiederholt, wodurch die Summe der Produkte berechnet wird. In diesem Fall führen jeweilige ANPs in der Zwischenschicht die Summe-der-Produkte- Operation dreimal aus, einschließlich der einen für den Blindknoten. Somit sind die Prozesse jeweiliger ANPs in der Zwischenschicht abgeschlossen, und die Addition der Produkte für drei Eingaben ist abgeschlossen.
  • In dem Zeitdiagramm wird, wenn DCLK unmittelbar nach dem Abfall von DSC1 hoch ist, das Ergebnis der Summe-von-Produkten- Operation dreier Signale, die von Analogeingangsports 0 und 1 und dem Blindknoten erhalten wurden, in den Kondensatoren (Ch in einer Abtast/Halte-Einheit 45 in Figur 7) jeweiliger ANPs 1, 2 und 3 gehalten. Diese Operation wird grundsätzlich wiederholt. Der Anstieg in dem CSO2-Signal bestimmt, wann das Ausgangssignal von ANP1 an den Analogbus B2 ausgegeben wird, der zwischen der Zwischenschicht und der Ausgabeschicht vorgesehen ist.
  • Ein unterhalb SH1 dargestelltes Offset-Steuersignal OC1 führt eine Offset-Auslöschung innerhalb eines ANP aus. Jeweilige ANPs verwenden Analogsignale, einschließlich eines Operationsverstärkers darin, und somit weist die Schaltung selbst einen Offset auf, der durch das Steuersignal des OCI-Signals gelöscht wird. Wie durch OC1 dargestellt ist, wird jedesmal, wenn eine Summe-der-Produkte-Operation ausgeführt wird, ein Impuls ausgegeben, um ein Offset-Auslöschen innerhalb des ANP durchzuführen. In dem Zeitdiagramm wird, wie durch die Zeit dargestellt ist, wenn CSO2 ansteigt, das in ANP1 gehaltene Signal an den Analogbus B2 ausgegeben, und ANP4 in der Ausgabeschicht führt eine Summe-der-Produkte-Operation während der Periode des hohen CSO2 aus. Der durch die Zeit dargestellte Anstieg von CSO2 bezeichnet eine Zeitsteuerung, wenn das als ein Ergebnis des vorhergehenden Eingangssignals erhaltene Summe-der-Produkte-Ergebnis ausgegeben wird.
  • Die Zeitsteuerungen in der Zwischenschicht und der Ausgabeschicht werden durch Verweis auf die Figuren 17 erläutert. Das Analogsignal wird synchron mit Ausgaben , , und des Verkettung-Steuersignals von der verborgenen Schicht und Ausgaben und von der Ausgabeschicht erzeugt, und es wird auf dem Analogbus als das Ergebnis des vorherigen Prozeßzyklus für das Analogsignal gemäß den Verkettung-Steuersignalausgaben , und von der Eingabeschicht erzeugt. Die Ausführung des Pipelineprozesses wird später erläutert. Beim Anstieg von CSO2, der durch die Zeit in dem Zeitdiagramm dargestellt ist, erzeugt ANP1 die Ausgabe. Zwei Impulse werden wie durch das Signal SH2 dargestellt ausgegeben. Das Signal SH2 wird in den ersten ANP4 in der Ausgabeschicht in dem in Figur 16 dargestellten Blockdiagramm eingegeben. Eine Summenoperation in dem ANP4 wird nämlich an zwei hohen Teilen des SH2-Signals ausgeführt. Drei Neuronen mit ANPs 1, 2 und 3 sind in der Zwischenschicht dargestellt. Außerdem ist ihr der Blindknoten durch eine Maximalwert-Knotenschaltung 187 hinzugefügt, wodurch insgesamt vier Neuronen bereitgestellt werden. Demgemäß wird beginnend zur Zeit ein Impuls mit zwei hohen Teilen des SH2- Signals viermal erzeugt. Das Analogsignal in der verborgenen Schicht wird in den ANP4 in Zeitsteuerungen von vier Paaren hoher Teile des SH2-Signals eingegeben, um die Summe-der- Produkte-Operation auszuführen. Diese Operation wird natürlich gleichzeitig mit der Zeitsteuerung durchgeführt, wenn der ANP in der verborgenen Schicht die Summe-der-Produkte-Operation an dem Eingangssignal ausführt, wodurch eine Pipelineverarbeitung durchgeführt wird. Das CSO-Signal für den in der Zwischenschicht vorgesehenen ANP1 ist unterhalb CSO2 dargestellt und ist CSI für ANP2 in der gleichen Zwischenschicht. Dies wird durch den durch die Zeit bezeichneten Teil dargestellt. Das CSO für ANP2 ist unterhalb von ANP2,CSI dargestellt, und das CSI für ANP3 ist unterhalb von ANP2,CSO dargestellt, und das CSI für den Blindknoten ist unterhalb des CSI für ANP3 dargestellt, und das von dem Haupt-Steuerblock ausgegebene DCS2 wird zur Zeit hoch. Das CSI wird in ANP1, ANP2 und ANP3 in der Zwischenschicht und die Maximaler-Innerer-Wert-Knotenschaltung 187 für den Blindknoten in der Reihenfolge der Zeiten , , und eingegeben. Während dieser Periode erzeugt das Signal SH2 vier Impulse, die jeweils zwei hohe Teile aufweisen. Das Neuron des in der Ausgabeschicht vorgesehenen ANP4 addiert die Produkte aus Eingabe-Analogsignalen und Gewichten viermal. Zur Zeit wird, wenn CSI in ANP1 eingegeben wird, das Analogsignal von ANP1 an den Analogbus zwischen der Zwischenschicht und der Ausgabeschicht ausgegeben und wird in ANP4 eingegeben. Zur gleichen Zeit werden entsprechende Gewichtdaten in den ANP4 eingegeben, und die Multiplikationen werden ausgeführt, und die Produkte werden beim ersten hohen Teil des SH2-Signals mitein ander addiert, und die Summe wird einer Abtast-Halte-Operation beim zweiten hohen Teil unterzogen. Bei Abschluß der Berechnung steigt das CSO-Signal von ANP1 an, wodurch CSI von ANP2 zur Zeit geliefert wird. Die Gewichtdaten werden dann mit den Analogdaten multipliziert, so daß die Summe berechnet werden kann. Eine vorbestimmte Periode nach dem Abfall des Zustands, dargestellt durch die Zeit , wird das CSI zu ANP3 hoch, und die Summe-der-Produkte-Operation wird durch ANP4 ausgeführt, wie durch die Zeit dargestellt ist. Die festgelegte Spannungsausgabe von der Maximalwert-Knotenschaltung 187 wird dann in ANP4 eingegeben und zu dem Ergebnis addiert, das bis zu die sem Punkt durch die Summe-der-Produkte-Operation akkumuliert wurde.
  • Die obige Operation wird parallel zu ANP5 in der Ausgabeschicht angewendet, wobei folglich eine gleichzeitige Verarbeitung realisiert wird.
  • Wenn das vom Haupt-Steuerblock 181 ausgegebene CSO3 ansteigt, wird das Ergebnis der durch ANP4 berechneten Summe-der- Produkte-Operation an den mit der Ausgabeschicht verbundenen Analogbus B3 ausgegeben. Das Steuersignal, gemäß dem die Maximalwert-Knotenschaltung 187 die Ausgabe an den Analogbus B2 liefert, ist DCS2, und dies entspricht der Zeit . Die Operation bis zu DCS2, die in dem Zeitdiagramm der Figuren 9A und 9B dargestellt ist, dient zum Ausgeben des Berechnungsergebnisses von der verborgenen Schicht. Die gleiche Operation wird für das unterhalb DCS2 in dem Zeitdiagramm bezeichnete Signal verwendet. Dieses Signal definiert die Operation der mit der Zwischenschicht in Kaskade verbundenen Ausgabeschichtseite. Bei einem Anstieg von CSO3 wird das Ergebnis der durch ANP4 berechneten Summe-der-Produkte-Operation ausgegeben. ANP4 und ANPs in der Ausgabeschicht erzeugen die Ausgabe. Zum Beispiel gelangt der Anstieg in CSO2 zur Zeit in ANP1, und dieser Anstieg wird von DCLK verzögert. Dies verhält sich so, weil die gemäß WCLK gelesenen digitalen Daten seriell sind, wo die Multiplikation des Analogeingangssignals und der Digital-Gewichtdaten durchgeführt wird. Diese seriellen Daten werden in parallele Daten umgewandelt, und somit wird der Anstieg in CSO2 um die Zeit verzögert, die erforderlich ist, um die seriellen Daten in parallele Daten umzuwandeln, und die Zeit, die in Anspruch genommen wird, damit das Analogeingangssignal bei dem D/A-Wandler ankommt, nämlich der Multiplizierprozeßeinheit. Das heißt, der Anstieg in CSO2 wird von dem Anstieg in DCLK um die Zeit verzögert, die notwendig ist, um die seriellen Daten zu lesen. Wenn einige Daten, z.B. 16 Zyklen von WCLK, nach dem Anstieg des DCLK passieren, ist der Datensatz abgeschlossen. Wenn 8 Zyklen von WCLK nach dem Anstieg in CSO2 passieren, beginnt die Analogmultiplikation.
  • Figur 18 zeigt ein Zeitdiagramm, das ein Lesen der Digital- Gewichtdaten kennzeichnet. Sie zeigt den Haupttakt MCLK, das Synchronisiersignal SYNC, den Gewichttakt WCLK, den Datentakt DCLK und die tatsächlichen Gewichtdaten WDATA. Die Gewichtdaten WDATA werden von dem Gewichtspeicher in bitserieller Weise ausgelesen, und 16-Bit-Daten werden seriell eingegeben. S gibt ein Vorzeichenbit an, und B14 bis B0 zeigen Numerischer-Wert-Bits. In Figur 18 sind die Teile B7, B6 und B5 der Gewichtdaten WDATA in dem unteren Teil von Figur 18 dargestellt, um ihre Beziehung mit dem Gewichttakt WCLK anzugeben. Die Periode des Gewichttaktes WCLK beträgt 250 ns, und das Arbeitsverhältnis beträgt 50 %. Nachdem die Ausbreitungs- oder Fortpflanzungsverzögerung eines Zählers zum Aktualisieren der Adresse, die in dem Sequenzer bereitgestellt wird, vom Abfall von WCLK verstrichen ist, wird die Adresse an den Gewichtspeicher geliefert. Die Adresse von Bit n des Gewichtspeichers (RAM) speichert Bit 7 der Gewichtdaten WDATA. Wenn die Periode tAA nach der Bestimmung dieser Adresse verstrichen ist, wird Bit 7 ausgelesen. Die Änderung von Bit 7 zu Bit 6 wird durch die Änderung in dem Takt zu der nächsten Periode bestimmt, und Bit 6 wird aus dem Gewichtspeicher bei der nächsten Periode gelesen. 16 Bits der Gewichtdaten werden in den ANP eingegeben, und das Produkt der 16-Bit- Gewichtdaten und der in den ANP eingegebenen Analogspannung werden durch den internen D/A-Wandler berechnet. Die Eingabe der Analogspannung beginnt nach dem Anstieg des Datentaktes DCLK. Daher benötigt die Analogeingangsspannung Zeit, um den D/A-Wandler zu erreichen. Es ist notwendig, diese Zeit und die Zeit zu steuern, die zum Einstellen der Digital-Gewichtdaten erforderlich ist, und die Analogspannung einzugeben, so daß die Ankunftszeit der Analogspannung der der Gewichtdaten entspricht.
  • Beispielsweise steigt die Analogeingangsspannung bei Bit 7 der Gewichtdaten an. Wenn Bit 0 der Gewichtdaten und alle folgenden Gewichtdaten bestimmt sind, startet die Multiplikation der Gewichtdaten und des Analogwertes, und die Addition kann während der Periode durchgeführt werden, wenn WCLK bei der nächsten Zeitsteuerung niedrig wird.
  • Die Operationszeitsteuerung von ANP ist durch das SYNC- Signal, WCLK und die Daten DCLK definiert. Es gibt einen Fehler in der Zeit, wenn die Analogeingangsspannung von einem Eingangsanschluß des ANP zu dem D/A-Wandler übertragen wird und CSI ansteigt, nachdem DCLK ansteigt, wobei der mögliche Unterschied in der Anstiegszeit zwischen CSI und DCLK in Betracht gezogen wird.
  • Figur 19A zeigt den Aufbau des Haupt-Steuerblocks 181, der alle Steuersignale steuert. Das Hauptbauelement umfaßt eine Extern-Bus-Schnittstellenschaltung 200, einen Steuermusterspeicher 201, einen Mikroprogrammsequenzer 202, einen Mikrocodespeicher 203 und eine adreßbildende Einheit 204. Die Extern- Bus-Schnittstellenschaltung 200 ist durch eine mit der MPU verbundene Schnittstelle mit einer Adreßleitung 205, einer Daten leitung 206 und einer Steuersignalleitung 207 verbunden. Eine Obere-Adresse-Vergleichsschaltung 208 und ein D-FF 209 des Registers in der Extern-Bus-Schnittstellenschaltung 200 decodieren die durch die MPU gegebene obere Adresse. Wenn die obere Adresse die gleiche wie die vorbestimmte ist, werden die untere Adresse und Daten in D-FFs 209 und 211 durch Verwenden eines Verriegelungssignals von einer Zeitsteuerungsschaltung 214 als ein Trigger eingestellt. Die Adresse und die Daten werden durch jeweilige Bustreiber 210 und 212 und durch den internen Adreßbus und den internen Datenbus eingegeben. Die Adresse wird verwendet, um auf einen Mikrocodespeicher 203 zu verweisen und einen Mikrocode von der MPU-Seite durch den Datenbus in den Mikrocodespeicher 203 zu schreiben. Die untere Adresse wird durch den Bustreiber 210 auf einen Mikroprogrammsequenzer 202 angewandt, und die MPU kann durch Verwenden einer vorbestimmten Adresse auf einen Steuermusterspeicher 201 Bezug nehmen.
  • Die Daten von dem MPU-Hauptspeicher werden durch den D-FF 211 zur Datenleitung 206 verriegelt und werden für einen separaten I/O-RAM 213 im Mikrocodespeicher oder separate I/O-RAMs 215 und 216 im Steuermusterspeicher 201 durch den Bustreiber 212 verwendet. Das Daten-Strobesignal von der MPU oder dem Speicher wird durch eine Steuersignalleitung 207 zur Zeitsteuerungsschaltung 214 addiert, und das Bestätigungssignal wird zurückgeleitet, wodurch die Übertragung gesteuert wird und die Adresse und die Daten empfangen werden. Die Zeitsteuerungsschaltung 214 steuert eine Verriegelungszeitsteuerung zum D-FF 211 und D-FF 209 und steuert durch das WR-Signal die Schreib- Zeitsteuerung in den Mikrocodespeicher 203 und Steuermusterspeicher 201.
  • Eine Periode von jedem der "1"- und "0"-Muster eines an den Neuronenchip gegebenen Steuersignals, wie in den Zeitdiagrammen der Figuren 9A und 9B dargestellt ist, wird in dem Steuermusterspeicher 201 gespeichert und aus dem Steuermusterspeicher 201 gelesen gemäß der Steuerung des Mikroprogrammsequenzers 202, wodurch eine Periode der Muster erzeugt wird. Zum Beispiel werden ein Rückstellsignal RESET, der Datentakt DCLK, Gewichttakt WCLK, CSO1, CSO2, CSO3, SYNC1, SYNC2, SH1, SH2, OC1, OC2 aus dem ersten separaten I/O-RAM 215 gelesen, und die von dem Muster begleitete Steuerinformation, nämlich das Sequenzsteuerkennzeichen, wird aus einem zweiten separaten I/O-RAM 216 gelesen. Wo das Muster "1000110001" im Steuermusterspeicher 201 gespeichert ist, wird die Adresse des Steuermusterspeichers 201 gesteuert, um das Bit mit "1 und 0" zu wiederholen, und das wiederholte Muster wird aus dem Steuermusterspeicher 201 ausgelesen. Da die Steuersignalmuster extrem kompliziert sind, werden sie in einem separaten I/O-RAM 215 vorgespeichert, und das Bitmuster wird sequentiell ausgegeben, indem die Adresse des separaten I/O-RAM 215 unter einer Steuerung des Mikroprogramm sequenzers 202 bezeichnet wird. Somit wird eine Vielzahl der gleichen Muster wiederholt, wie durch die Adreßsteuerung bestimmt ist. Eine Musterperiode wird ein Originalmuster genannt. Um das Originalmuster zu wiederholen, wird eine spezifische Information vom Steuerspeicher 201 zum Mikroprogrammsequenzer 202 rückgekoppelt Das Sequenzersteuerkennzeichen innerhalb des zweiten separaten I/O-RAM 216 wird in den Mikroprogrammsequenzer 202 eingegeben, so daß das Adressieren zu der Kopfadresse zurückgeführt wird, in der das Originalmuster in dem ersten I/O-RAM 215 gespeichert ist. So wird das Originalmuster wiederholt. Der Mikroprogrammsequenzer 202 überträgt ein Adreßsignal durch eine Mehrzweckport-Ausgangsleitung 202-1 zu einem separaten I/O-RAM 215, bis die erforderliche Bedingung erfüllt ist. Normalerweise wird die Adresse erhöht oder hochgezählt, aber das Adreßsignal wird zu der Kopfadresse zurückgeführt, in der das Originalmuster gespeichert ist. Als Folge wird ein vorbestimmtes Steuermuster vom separaten I/O-RAM 215 wiederholt ausgegeben.
  • Figur 19B zeigt die Beziehung zwischen der Information der Speicher 201 und 203 zum Steuern des Haupt-Steuerblocks 181. In Figur 198 entspricht ein Steuermusterspeicher 1 dem ersten separaten I/O-RAM 215, und ein Steuermusterspeicher 2 entspricht dem zweiten separaten I/O-RAM 216. Der Steuercode des Sequenzers 202 ist in einem Mikrocodespeicher 203 gespeichert, der hauptsächlich Sprungbefehle und Wiederholbefehle speichert. Wiederholbefehle werden in einer vorbestimmten Adresse gespeichert, und die Zahl der Steuermusterwiederholung in dem Steuer-10 musterspeicher ist in der entsprechenden Adresse des Steuermusterspeichers 2 gemäß dem Wiederholbefehl gespeichert. Wenn diese Zahl "10" erreicht, sind zehn Wiederholungen ausgeführt. Auf diese Weise erhöht sich die Adresse, bis sie einen Sprungbefehl im Mikrocodespeicher 203 erreicht, und die Adresse springt dann zu 500H durch den zweiten Sprung im Mikrocodespeicher 203, wodurch Muster 2 erzeugt wird, was fünfmal wiederholt wird. Diese Adresse springt wieder beim dritten Sprung in dem Mikrocodespeicher 203 zu "100H", wodurch ein Muster 1 ausgegeben wird. Somit ist das Originalmuster wiederholt und aus dem Steuermusterspeicher 1 ausgelesen.
  • WCLK wird synchron mit dem Lesetakt der Adresse gebildet, auf die durch den Steuermusterspeicher 201 verwiesen wird, und eine Information wird aus Gewichtspeichern 185 und 186 synchron mit WCLK ausgelesen. Auf die Adressen der Gewichtspeicher 185 und 186 wird durch das von den Adressen 1 und 2 der adreßbildenden Einheit 204 ausgegebene Adreßsignal zugegriffen. Die Adressen 1 und 2 sind getrennt, wobei Adresse 1 für die verborgene Schicht gilt und Adresse 2 für die Ausgabeschicht gilt. Die für den ANP in der verborgenen Schicht verwendeten Gewichtdaten werden aus dem durch die Adresse 1 bezeichneten Gewichtspeicher 185 ausgelesen. Die für den ANP in der Ausgabeschicht verwendeten Gewichtdaten werden aus dem durch die Adresse 2 bezeichneten Gewichtspeicher 186 ausgelesen. Die Inhalte der Gewichtspeicher 185 und 186 werden Bit für Bit in der zunehmenden Richtung der Adresse gespeichert, und es ist notwendig, ein Zählsteuersignal an Adreßzähler 217 und 218 vom Mikroprogrammsequenzer 202 anzulegen. Auf die Gewichtspeicher 185 und 186 werden durch Bustreiber 219 und 220 von den Adreßzählern 217 und 218 erhöhende oder hochzählende Adressen sequentiell angewandt. Eine Vielzahl Gewichtdaten wird aus den Gewichtspeichern 185 und 186 ausgelesen. WCLK von dem ersten separaten I/O-RAM 215 und ein Zählersteuersignal vom Mikroprogrammsequenzer 202 werden an UND-Schaltungen 221 und 222 in der adreßbildenden Einheit 204 angelegt. Wenn das Zählersteuersignal hoch ist, wird der Adreßzähler durch WCLK aktualisiert. Die Adreßzähler 217 und 218 werden von 1 bis 16 Bits des WCLK hochgezählt oder erhöht. Die verbleibenden 17 bis 26 Bits von WCLK werden gesperrt, indem das Zählersteuersignal niedrig geschaltet wird und die hochzählenden Adreßzähler 217 und 218 gestoppt werden. Ein Zählerrückstellsignal wird vom Mikroprogrammsequenzer 202 zu den UND-Schaltungen 221 und 222 synchron mit SYNC1 und SYNC2 übertragen und stellt die Adreßzähler 217 und 218 zurück. Die Adresse wird zu der Kopfadresse der Gewichtspeicher 185 und 186 zurückgeführt. Das vom Haupt-Steuerblock 181 ausgegebene Modussignal umfaßt einen Modus, der eine gewöhnliche Verwendung des Gewichtspeichers bezeichnet, nämlich ein Trennen des Gewichtspeichers von dem MPU-Datenbus, um die Gewichtdaten für den ANP zu verwenden, und einen Modus, in dem der Gewichtspeicher mit dem MPU-Datenbus verbunden ist und auf den durch die MPU verwiesen wird.
  • Ein Modussignal wird gebildet, wenn das LSB der Daten von der MPU in ein Flipflop 224 eingegeben, indem als Triggersignal ein UND-Signal verwendet wird, das von einer UND-Schaltung 223 ausgegeben wird, wenn ein Bit der unteren Adresse und ein Schreibsignal WR von der Zeitsteuerungsschaltung 214 an die UND-Schaltung 223 angelegt werden. Wenn das Modussignal 0 ist, ist der Gewichtspeicher zum gewöhnlichen Gebrauch gedacht.
  • Das Schreibsignal WR und ein Bit des internen Adreßbusses werden durch die UND-Schaltung 223 in ein Takt-Anschluß- Flipflop 224 eingegeben, und das LSB des internen Datenbusses wird in den Daten-Anschluß des Flipflop 224 eingegeben. Das Obere-Adresse-Signal wird in eine Vergleichsschaltung 208 ein gegeben, und es wird bestimmt, ob der Haupt-Steuerblock 181 ausgewählt ist. Falls dies der Fall ist, werden die untere Adresse und Daten für die DFFs 209 und 211 verwendet. Diese Schnittstellenoperation wird auf andere Einrichtungen angewandt, die mit der MPU verbunden sind, und der Gewichtspeicher liefert während einer normalen Periode die Gewichtdaten an den ANP, und, falls der Gewichtspeicher mit dem Datenbus der MPU direkt verbunden ist, wird eine Buskonkurrenz oder ein Buswettbewerb erzeugt. Um dies zu verhindern, wird der Modus als 1 bestimmt, wenn das LSB des Datenbusses an das Flipflop geliefert wird, wodurch verhindert wird, daß der Gewichtspeicher chip-ausgewählt wird, und die Daten auf dem Datenbus vom Gewichtspeicher erzeugt werden. Der interne Adreßbus bezeichnet die Adressen von entweder dem Mikrocodespeicher 203 oder dem Steuermusterspeicher 201 durch Verwenden des internen Adreßbusses. Die gewünschten Daten werden in die zugegriffene Adresse zum internen Datenbus geschrieben. Somit wird das in dem Mikroprogrammsequenzer 202 gespeicherte Programm ausgewählt, und die im Mikrocodespeicher 203 und separaten I/O-RAM 216 gespeicherten Programme werden geändert, und das im separaten I/O-RAM 215 gespeicherte Steuerprogramm wird geändert.
  • Figur 20A zeigt den Datenspeicheraufbau des Gewichtdatenspeichers 230. Die 8 Bits in einer Spaltenrichtung sind die in der gleichen Adresse gespeicherten 8-Bit-Daten, und somit sind die Bits 1, 2, ... 8 für ANP1, ANP2 ... bzw. ANP8 gedacht. In der Reihenrichtung sind die Adressen verschieden und nehmen von rechts nach links zu. Die Gewichtdaten umfassen 16 Bits einschließlich des Vorzeichenbit, und diese Bits sind in Adressen von dem kleinen Adreßwert zu einem großen Adreßwert gespeichert. MSB ist das Vorzeichenbit, und die anderen 15 Bits sind Numerischer-Wert-Bits. Wenn die durch den Mikroprogrammsequenzer 202 gelieferte Adresse synchron mit WCK zunimmt, wird ein Wort der Gewichtdaten, nämlich 16 Bits, von MSB bis LSB ausgelesen und wird dadurch gleichzeitig auf 8 ANPs angewandt. Während die Daten in einer zunehmenden Richtung der Adresse gespeichert werden, wird die Adreßzählung für die Gewichtdaten durchgeführt. Wird nämlich ein Wort der Gewichtdaten von MSB bis LSB gezählt, wird dann ein Datenelement der Gewichtdaten unter der Steuerung des Gewichtdatenspeichers geliefert. Die Steuerung wird auch durch den Mikroprogrammsequenzer 202 durchgeführt.
  • Figur 20B zeigt eine Schaltung der Gewichtspeicherblöcke 185 und 186. Der Speicher 230 umfaßt einen MB8464A-70 genannten RAM. Die Ausgabe umfaßt 8 Bits entsprechend ANP1 bis ANP8. Grundsätzlich werden entweder die von dem MPU-Bus aus betrach tete Bussignalleitung oder die von dem Haupt-Steuerblock 181 aus betrachteten Adressen 1 und 2 verwendet. Die Adressen 1 und 2 sind die gleichen wie die Adressen 1 und 2 in Figur 19A. Sie werden synchron mit WCLK hochzählend eingegeben. 8-Bit-Daten werden gleichzeitig ausgelesen, und jeweilige Bits werden gleichzeitig auf ANP1 bis ANP8 angewandt.
  • Wenn das Modussignal 0 ist, wird der Gewichtspeicher 230 durch ein UND-Tor 233 chip-ausgewählt. Die Adressen 1 und 2 vom Mikroprogrammsequenzer 202 werden bei einem Multiplexer 234 wirksam. Die Gewichtdaten vom Gewichtspeicher 230 werden zu den ANPs 1 bis 8 übertragen. Die Ausgabe der Umkehrschaltung 231 ist andererseits hoch, wobei somit ein Dreizustand-Bus-Sender- Empfänger 232 gesperrt ist und verhindert wird, daß der Gewichtspeicher 230 an die MPU ausgegeben wird. Falls die Daten an die MPU ausgegeben werden, ist das Modussignal auf 1 gesetzt, und der Speicher 230 wird durch einen Adreßdecodierer 235 gemäß einer geeigneten Adreßinformation von der MPU chipausgewählt, und der Speicher 230 empfangt ein Adreßsignal von der MPU. Wenn das Modussignal 1 ist, wird der Speicher 230 durch den Adreßdecodierer 235 durch eine geeignete Adreßinformation von der MPU ausgewählt, wodurch die Ausgabe an die MPU erzeugt wird. Wenn das Modussignal "1" durch den MPU-Bus gelesen oder in den Speicher 230 vom Bus geschrieben wird, wird die Richtung des Lesens und Schreibens durch dieses von der MPU durch ein UND-Tor 236 übertragene Lesesignal auf der Daten leitung bestimmt.
  • Nun wird der Lernalgorithmus erläutert werden.
  • Figur 20C zeigt ein Flußdiagramm eines Lernalgorithmus unter Verwendung einer Rückwärtsausbreitung, die in der vorliegenden Erfindung verwendet wird. Das Lernen wird folgendermaßen durchgeführt. Alle zu lernenden Informationen werden durch eine nicht dargestellte Eingabe-Steuerschaltung von der MPU in ein neuronales Netzwerk eingegeben, nämlich ein aus ANPs aufgebautes schichtartiges Netzwerk. Das Eingangssignal wird durch die Eingabeseite-Schaltung, die verborgene Schicht und die Ausgabeschicht am Netzwerkausgang geliefert. Es wird ferner durch einen A/D-Wandler an die MPU angelegt. Der Lernalgorithmus existiert in dem Hauptspeicher auf der Seite der MPU. Das Lehrersignal wird vom Hauptspeicher erhalten und zu der MPU übertragen, und der Fehler zwischen der Ausgabe des Netzwerks und dem Lehrersignal wird untersucht. Falls der Fehler groß ist, ändert die MPU die Gewichtdaten, die die Stärke der Verbindung des Netzwerks repräsentieren, in einer Richtung derart, daß durch das Netzwerk die richtige Ausgabe erzeugt wird. Die Gewichtdaten werden durch den Gewichtspeicher 230 auf ANPs in jeweiligen Schichten angewandt
  • Wenn die Gewichtdaten gemäß dem Lernalgorithmus aktuahsiert sind, wird der Lernprozeß gemäß dem Lernalgorithmus der Rückwärtsausbreitung ausgeführt, der in Figur 20C dargestellt ist. Wenn der Lernalgorithmus beginnt, erhält die MPU den Fehler zwischen dem Lehrersignal und der aktuellen Ausgabe YL bei dem L-ten Neuron ANPL in der Ausgabeschicht und setzt ihn in ZL ein. Die Ausgabe YL ist die Ausgabe des Neurons ANPL. Falls die Sigmoidfunktion als ein nichtlineares Element verwendet wird, wird die Ausgabe YL als der Ausgabewert einer nichtlinearen Funktion geliefert. Daher muß in dem Neuron ANPL der Fehler ZL in die Eingabeseite der nichtlinearen Funktion fortgepflanzt werden. Wenn diese Fehlerfortpflanzung durchgeführt wird, liefert die Energiefunktion, nämlich die mit 1/2 multiplizierte zweite Potenz des Fehlersignals, die folgende Energiegleichung.
  • EL = 1 / 2 ( - YL )²
  • Die partielle Differentiation der nichtlinearen Funktionseingabe XL lautet wie folgt.
  • Die obige Gleichung kann in die folgende Gleichung geändert werden.
  • Falls die nichtlineare Funktion f(XL) eine Sigmoidfunktion ist, wird sie folgendermaßen ausgedrückt.
  • Die Differentiation f' (XL) der Sigmoidfunktion ergibt die folgende Gleichung.
  • f'(XL) = YL (1- YL)
  • Dies ist gleich VL, das in dem Flußdiagramm in S2 dargestellt ist. Demgemäß ist 8, nämlich die partielle Differentiation einer nichtlinearen Funktionseingabe XL, VL x XL. Dies liefert UL, das in Schritt S2 gezeigt ist. Der Fehler δ für die nichtlineare Funktionseingabe der Energie wird zu der verborgenen Schicht rückwärts ausgebreitet oder fortgepflanzt.
  • Das k-te Neuron in der verborgenen Schicht wird als AK bezeichnet.
  • Die Ausgabe von AK ist YK. Eine lineare Funktionseingabe XL eines Neurons ANPL in der Ausgabeschicht wird durch die Summe der Produkte ausgedrückt, die durch Multiplizieren der Ausgabe (Y1 ... YKMAX) des Neurons in der verborgenen Schicht mit dem jeweiligen Gewicht WLK erhalten wird. Demgemäß wird die par tielle Differentiation von XL bezüglich WLK ausgegeben.
  • Die Änderung in dem Gewicht WLK für eine Energie EL wird andererseits durch die folgende Gleichung geliefert.
  • TLK bei Schritt S3 drückt nämlich das folgende Datenelement aus.
  • Dies ist die partielle Differentiation der Energie bezüglich des Gewichts. Demgemäß kann TLK als die Variation ΔW des Gewichts bestimmt werden, und die folgende Rekursionsformel wird verwendet, um die Umwandlung zu beschleunigen. Diese korrigiert das Gewicht durch Addieren des zweiten Ausdrucks der ersten Gleichung, was in Schritt S4 dargestellt ist.
  • ΔWLK = α TLK + β ΔWLK
  • WLK = WLK + ΔWLK
  • worin α und β Konstanten sind. Ein spezielles Neuron ANPL in der Ausgabeschicht wird beobachtet, und man nimmt an, daß alle Neuronen in der verborgenen Schicht korrigiert sind. Es ist somit notwendig, bezüglich jeweiliger ANPLs k von 1 bis kmax zu wiederholen. Dies wird durch eine durch R1 in dem Flußdiagramm dargestellte Wiederholung durchgeführt, und es ist notwendig, k zu wiederholen, wobei die Anzahl von Wiederholungen gleich der Anzahl der Neuronen kmax in der verborgenen Schicht ist. Wenn diese Wiederholung beendet ist, ist die Rückwärtsausbreitung für das spezielle Neuron ANPL abgeschlossen. Demgemäß sollte die obige Operation auf alle Neuronen (ANP1, ANP2, ... ANPLmax) in der Ausgabeschicht angewandt werden. Wie durch R2 in dem Flußdiagramm dargestellt ist, wird somit L von 1 bis Lmax wiederholt. Der Prozeß wird deshalb wiederholt, wobei die Anzahl von Wiederholungen gleich der Zahl Lmax der Neuronen in der Ausgabeschicht ist.
  • Als nächstes wird das Lernen von der verborgenen Schicht zu der Eingabeschicht durchgeführt. Der Algorithmus ist beinahe der gleiche wie der oben beschriebene, aber das Fehlersignal kann nicht durch die Differenz zwischen dem Lehrersignal und der Ausgangsspannung ausgedrückt werden und kann bei Schritt S5 gezeigt werden. ZK ist nämlich das k-te Neuron in der verborgenen Schicht und entspricht dem Ausgabefehlersignal AK. Dies wird durch die folgende Gleichung erläutert.
  • Demgemäß wird der Prozeß von 1 bis Lmax wiederholt, um den Indexfehler von ZK bei Schritt S5 zu erhalten, und wird daher über eine Route (R3) wiederholt, wobei die Anzahl von Wiederholungen gleich der Anzahl von Ausgaben ist. Das Fehlersignal ZK ist somit in der verborgenen Schicht. Der Algorithmus ist danach der gleiche wie der zwischen der verborgenen Schicht und der Ausgabeschicht. Zuerst wird der Differentiationswert VK der Sigmoidfunktion ausgegeben, und UK, nämlich eine Änderung für die nichtlineare Funktionseingabe der Energie, wird bei Schritt S6 erhalten. Bei Schritt 57 wird das Produkt Tkj des Uk und der Ausgabe Yj der Eingabeschicht erhalten. Als der Hauptteil der Änderung im Gewicht wird der zweite Ausdruck addiert, um die Umwandlung zu beschleunigen, wie in Schritt S8 gezeigt ist. ΔWkj wird erhalten und zu dem vorherigen Wert von Wkj addiert, wodurch ein neues Wkj geliefert wird. Dies ist ein Prozeß zum Aktualisieren des Gewichts. Dieser Prozeß wird wiederholt, wobei die Anzahl von Wiederholungen gleich der Eingabezahl Jmax (R4) ist. Der Prozeß wird von J gleich 1 bis J gleich Jmax wiederholt, und das Gewicht zwischen der Eingabe- und verborgenen Schichten wird aktualisiert. Zk von Schritt S5 entspricht dem Fehlersignal der Ausgabe von der verborgenen Schicht, und Zk kann derart ausgedrückt werden, daß die partielle Differentiation UL der Energie der Ausgabeschicht für den Funktionseingabewert rückwärts fortgepflanzt wird und WLK schließlich bestimmt ist, wenn das Gewicht in der verborgenen Schicht und in der Ausgabeschicht bestimmt ist. Die Berechnung für ein Aktualisieren des Gewichts beginnt nämlich vom Neuron ANPL bei der Ausgabeschicht und bewegt sich zum Neuron ANPK in der verborgenen Schicht. Die Gewichtsänderung ΔW kann beim Neuron ANPK in der verborgenen Schicht nicht berechnet werden, falls ΔW in der vorherigen Stufe nicht erhalten werden kann. Dies wird das Rückwärtsausbreitungsverfahren genannt, weil das Lernen nur möglich wird, wenn der Prozeß zu der Eingabeschicht zurückgeht.
  • In dem Rückwärtsausbreitungsverfahren werden die Lerndaten als vollständige Information eingegeben. Dieses Verfahren schließt eine Vorwärtsoperation zum Ausgeben des Ergebnisses des Lernens und eine Rückwärtsbewegung zum Ändern der Stärke aller Verbindungen ein, um den Fehler zu minimieren.
  • Diese Vorwärtsoperation ist ebenfalls notwendig. Die anab ge neuronale Netzwerkeinheit der vorliegenden Erfindung kann in der Vorwärtsoperation effektiv genutzt werden. Die Rückwärtsausbreitung oder -fortpflanzung des Ausgabewertes wird durch die MPU ausgeführt. Falls die nichtlineare Funktion von der Sigmoidfunktion verschieden ist, ist der differentielle Wert der nichtlinearen Funktion von dem der Sigmoidfunktion verschieden. Zum Beispiel ist für die Funktion tanh(X) der Lernalgorithmus wie in Figur 20D dargestellt, und das differentielle Ergebnis der nichtlinearen Funktion kann als VL = 1- YL in der Ausgabeschicht (S2') und VK = 1- YK (S6') in der verborgenen Schicht ausgedrückt werden.
  • Weil der Prozeß durch die gleichen Bezugszahlen wie in Figur 20C bezeichnet ist, wird die Erklärung weggelassen.
  • Figur 21 zeigt den Aufbau der eingangsseitigen Verkettungsschaltungen 173 und 174. 240, 241 und 242 sind Flipflops vom D- Typ. Die Dateneingabe in den D-Anschluß wird durch das Schreiben des DCLK-Signals ausgewählt, und die Ausgabe Q wird in den Zustand "1" gesetzt. Das erste Flipflop 240 stellt das CSI- Signal bei dem Abfall von DCLK ein, und in dem nächsten Anstieg von DCLK wird das Ausgangssignal in dem zweiten Flipflop 241 eingestellt.
  • Die Ausgabe des zweiten Flipflop wird an den D-Anschluß des dritten Flipflop 242 angelegt. Das Taktsignal zum Einstellen der Eingabe wird von einem 4-Bit-Zähler 243 ausgegeben. Der Zähler 243 wird bei dem Abfall von WCLK getriggert und bei dem Abfall von DCLK gelöscht. Daher wird bei dem Abfall von DCLK der Zähler 243 vollkommen 0. Der Abfall von WCLK wird achtmal eingegeben, und danach wird das QD-Signal des oberen Bit hoch, wodurch ermöglicht wird, daß ein hohes Signal als ein CSO vom Flipflop 242 ausgegeben wird. Die Ausgabe des Flipflop 241 wird 0, wodurch CSO gelöscht wird. Gemäß einer solchen Operation wird die Verkettungsoperation durchgeführt, in der CSO zu einer vorbestimmten Zeit entsprechend 8 Impulsen von WCLK ausgegeben wird, nachdem CSI abfällt.
  • Figur 22 zeigt die Maximalwert-Knotenschaltung 187, die ein Neuron des Blindknotens bildet. Ein Widerstand 250, Zenerdioden 251 und 252, ein Widerstand 253 und Spannungsfolger 254 und 255 bilden eine Schaltung zum Liefern einer konstanten Spannung. Wenn ein Strom zwischen 12 Volt und -12 Volt durch die Widerstände 250 und 253 und die Zenerdioden 251 und 252 fließt, werden dann +7 Volt und -7 Volt am Eingang der Spannungsfolger 254 bzw. 255 gebildet. Diese Spannung wird an den Ausgangswiderstand 256 ausgegeben, der Spannungsfolger 254 und 255 bildet. Diese Operation wird durch Verwenden von Analogschaltern 257 bis 264 derart gesteuert, daß zwei konstante Spannungen in zeitgeteilter Weise ausgegeben werden. Wenn das T-Modussignal ist, wird durch den Analogschalter 257 eine konstante Spannung an den nächsten Spannungsfolger 265 geliefert. Wenn der T-Modus "1" ist, d.h. im T-Modus, wird die Ausgabe des Analogschalters 258 so unterdrückt, daß die Analogerdung und "0" Volt in den Spannungsfolger 265 eingegeben werden. In dem Testmodus wird der Offset auf dem Bus der MPU mitgeteilt. Der Spannungsfolger 265 wird durch eine Schaltersteuerung an dem Ausgabeteil freigegeben. Wenn die Ausgangs-Freigabe auf "1" umgesetzt wird, wird der Analogschalter 260 eingeschaltet und als der Spannungsfolger betrieben, und er erzeugt die Ausgabe. Zu dieser Zeit erzeugt jedoch der Blindknoten keine Ausgabe. Wenn umgekehrt die Ausgangs-Freigabe 0 ist, wird an dem Blindknoten eine Ausgabe erzeugt. Ein Analogschalter 260 und die Schaltersteuerung der Ausgabe werden durch Ausgangs-Freigaben 1 oder 2 gesteuert und ist eine "0"-Freigabe. Wenn die Ausgangs-Freigabe 1 oder 2 0 ist, wird an einem Blindknoten eine konstante Spannung abgegeben. Die obere Blindknotenausgabe gilt für die Eingabeschicht, und die untere Blindknotenausgabe gilt für die Zwischenschicht. Die Ausgangsspannungen dieser Blindknoten sind auf den geeigneten Wert festgelegt und können als Schwellenspannungen verwendet werden. Die Zenerdioden 251 und 252 erzeugen während des umgekehrten früheren Zustands konstante Spannungen. Diese konstanten Spannungen können von +7 Volt bis -7 Volt geändert werden. Die Freigabezustände von Ausgangs-Freigaben 1 und 2 sind durch ein Blindknoten-Steuersignal DCS vom Haupt-Steuerblock 181 bestimmt, um eine Kollision zwischen den Ausgangsspannungen von diesem und anderen, mit dem Analogbus verbundenen ANPs zu vermeiden.
  • Figur 23 zeigt eine Nichtlineare-Funktion-Erzeugungsschaltung, und Figuren 24, 25 und 26 zeigen Hardware-Einrichtungen auf der Digitallogikseite des ANP.
  • Figur 23 zeigt eine Transistorschaltung zum Realisieren einer Sigmoidfunktion. Die Sigmoidfunktion repräsentiert eine monoton abnehmende Funktion, schließt aber eine lineare Funktion nicht aus. Transistoren 343, 356, 378, 390, 298 und 314 und mit ihnen gepaarte Transistoren bilden Differenzverstärker, und die mit der Kollektorseite der Differenzverstärker verbundenen Transistoren bilden Stromspiegelschaltungen. Der durch den Kollektor des Transistors auf der linken Seite des Differenzverstärkers fließende Kollektorstrom ist der Ausgabestrom. Die Stromspiegelschaltung ändert die Richtung des Stroms und gibt ihn ab. Der Strom gelangt in den mit dem Ausgang VD verbundenen Widerstand 336, der die Spannung in einen Strom ändert. Da die Treiberfähigkeit fehlt, ist an dem Ausgang ein Operationsverstärker mit einer hohen Impedanz vorgesehen. Die auf der Eingangsseite von Transistoren 337 und 339 vorgesehene Schaltung bildet eine Vorspannungsschaltung. Ein Teilung-Linearverfahren wird verwendet, um eine Sigmoidfunktion zu realisieren. Steigungen jeweiliger Teilungen der Sigmoidfunktion werden durch das Verhältnis des mit dem Emitter des Differenzverstärkers verbundenen Emitterwiderstands 344 zum Ausgangswiderstand 336 bestimmt. In diesem Fall sind auch die Emitterwiderstände von Transistoren 343 eingeschlossen. Die Verstärkungen jeweiliger Differenzverstärker sind verschieden. Der kritische Punkt, der sich auf eine Variation in jeweiligen Teilungsleitungen bezieht, nutzt solche Sättigungscharakteristiken des Transistors. Die Sättigungscharakteristiken aller Transistoren sind verschieden. Die Sättigungscharakteristiken jeweiliger Verstärker werden so geändert, daß der Wert der Summe der Ströme, die von jeweiligen Operationsverstärkern abgegeben werden, an dem Ausgabepunkt VD eine Sigmoidfunktion bildet. Der Transistor 345 und der Widerstand R1 bilden eine Stromquelle. Der Transistor 346, der Widerstand R2, der Transistor 353 und der Widerstand R3 sind die Stromquelle zum Liefern der gleichen Ströme. Der Widerstand ist nämlich so bestimmt, daß der Stromwert der Stromquelle der gleiche wird. Die Kollektoren der Transistoren 345 und 346 sind miteinander verbunden, und die Summe ihrer Ströme fließt durch den Kreuzungspunkt der Widerstände 344 und 347. Die Kollektorströme der Transistoren 343 und 348 werden die gleichen, wenn der Strom ausgeglichen ist. Der Transistor 351 ist vorgesehen, um die Charakteristik des Stromspiegels zu liefern. Der Transistor 350 ist eine angeschlossene Diode. Die Änderung in dem Strom bedeutet, daß ein Ziehen des Stroms von dem Ausgang geändert wird, um den Strom an den Ausgang abzugeben, und umgekehrt. Wie in Figur 15 dargestellt ist, fließt der Strom von dem Kollektor des Transistors 351 der Stromspiegelschaltung zu dem Ausgang. Die Transistoren, deren Emitter und Kollektoren mit dem gleichen Punkt verbunden sind, bilden einen einzigen Transistor. Zum Beispiel bilden Transistoren 358 und 360 einen einzigen Transistor, der der gleiche wie der Transistor 345 ist. Transistoren 359 und 361 bilden einen einzigen Transistor und entsprechen dem Transistor 346. Transistoren 368 und 369 bilden einen einzigen Transistor und entsprechen dem Transistor 353. Die gleiche Beziehung wird auf den anderen Transistor angewandt, der in dem unteren Teil der Schaltung dargestellt ist. Es sind daher 6 Schaltungen vorgesehen, in denen ein Operationsverstärker mit einer konstanten Stromquelle, gesteuert mit dem gleichen Strom, die Richtung des Stroms gemäß den Polaritäten der Ausgangsspannungen ändert. Die Transistoren 337 und 338 bilden eine Pegelverschiebung, und die Transistoren 330 und 327 bilden ebenfalls eine Pegelverschiebungsschaltung. Die Pegelverschiebungsschaltung macht den Umfang der Operation zwischen den positiven und negativen Bereichen der Sigmoidfunktion gleich. Der Transistor 352 ist für eine Korrektur gedacht, so daß der Kollektorstrom des Transistors 351 der gleiche wie der Kollektorstrom des Transistors 353 wird. Die Operationen der Transistoren 367, 385, 287 und 307 sind die gleichen.
  • Figur 24 zeigt eine ausführliche Schaltung eines Sequenzgenerators 28 (Figur 5) zum Bilden eines an den Neuronenchip angelegten Impulssignals. Inverter 401, 402, 404 und 405 bilden ein Taktsignal. Die Taktsignale werden separat für einen Anstieg eines Verriegelungssignals des Flipflop FF und einen Abfall eines Verriegelungssignals des Flipflop FF gebildet. Das Flipflop in Figur 16 führt ein Verriegeln bei einem Anstieg eines Taktes und des Inverters und Flipflop FF aus. Somit bilden der Inverter und das Flipflop eine Flipflopschaltung für ein Verriegeln. Wenn z.B. DCLK einen Inverter 401 passiert, bildet es ein Taktsignal zum Ausführen einer Verriegelung der Daten bei dem Abfall von DCLK. Wenn DCLK den Inverter 402 ebenfalls passiert, bildet es ein Taktsignal zum Ausführen einer Verriegelung bei einem Anstieg von DCLK. Ähnlich bildet die Ausgabe des Inverters 404 einen Abfall von WCLK, und der Inverter 405 bildet einen Anstieg von WCLK. Ein Flipflop 410 verriegelt das SYNC-Signal bei dem Abfall von DCLK. Flipflops 410 und 415 verzögern das SYNC-Signal um einen Zyklus von DCLK, um SYNC2 zu bilden. Daher bilden das SYNC-Signal und das um einen Takt gegenüber dem SYNC-Signal verzögerte Signal einen Impuls von einem τ. Nach einem Anstieg des SYNC-Signals gibt der Impuls von 1τ (eine Periode von DCLK) den Integrationskondensator in dem Differenzverstärker frei, um ein Entladen auszuführen. CRST ist nämlich ein Rückstellsignal für den Kondensator. Ein Signal DSH2 wird durch Erhalten eines Impulses von 1τ der DCLK-Periode von dem Abfall des SYNC-Signals gebildet und dient zum Bilden eines Abtast-Halte-Signals des Kondensators innerhalb der UND- Schaltung. In einem Flipflop 411 ist WCLK der Takt, und DCLK sind Daten. Somit führt das Flipflop 411 eine Verriegelung des DCLK-Signals bei WCLK aus. Danach wird das SYNC-Signal bei einem NAND-Tor 414 hoch, und WCLK, der kommt, unmittelbar nachdem DCLK hoch wird, wird als ein Triggersignal verwendet, um einen Takt des Flipflop 443 zu bilden. Das Flipflop 443 empfängt ein Vorzeichenbit der Digital-Gewichtdaten WD bei dem ersten WCLK, nachdem das SYNC-Signal hoch wird. Das Vorzeichenbit ist MSB von seriellen Digital-Gewichtdaten. Das Flipflop 443 verriegelt das Vorzeichenbit bei einer Zeitsteuerung des Flipflop 411 und UND-Tors (414 und 440). Ein Binärzähler 416 zählt die Zahl von WCLK. Da die digitalen 16-Bit-Gewichtdaten empfangen werden, sind die Digital-Gewichtdaten 16-mal gezählt. Bei Abschluß einer Zähloperation wird somit die Ausgabe hoch und in den Inverter 423 eingegeben. Die Eingabe in den Inverter 423 bestimmt, daß die Zählung der 16 Bits abgeschlossen ist. Dieses Signal kontrolliert somit, daß die seriell in den ANP eingegebenen Gewichtdaten in ein Schieberegister 27 (Figur 5) übertragen werden. Das LSB-Bit des Zählers 416 wird in den Inverter 422 ein gegeben. Die Ausgabe des Inverters 422 bildet ein CSO-Signal. CSO ist ein Steuersignal der Verkettungsschaltung. Sie umfaßt eine Verzögerungsschaltung zum Ausführen einer Verkettungsoperation derart, daß das nächste CS erzeugt wird, nachdem das CS der vorherigen Zeitsteuerung abfällt, um eine Konkurrenz oder einen Wettbewerb von Signalen zu verhindern, die von zwei ANPs in der vorherigen Stufe ausgegeben werden. Die Verzögerungszeit für die Verzögerungsschaltung wird durch Zählen von WCLK und den Wert des Zählers gebildet. Wenn der Zähler 416 die Zählung abschließt, wird das Kennzeichnungssignal, um einen Abschluß der Zählung dem Flipflop 433 mitzuteilen, mit dem Inverter 423 bei 17 WCLK verriegelt. Das Verriegelungssignal wird zum Zähler 416 und zu Invertern 437 und 438 zurückgeleitet, wodurch verhindert wird, daß der Zähler 416 eine Erhöhungsoperation ausführt. Wenn die Ausgabe des Inverters 438 niedrig wird, wird die Ausgabe des Flipflop 433 in ein Flipflop 442 eingegeben, wodurch ein Torsignal für die Ausgabe eines Schieberegisters 408 gebildet wird. Das Schieberegister 408 verschiebt sequentiell 16 Digital-Gewichtdaten, und, wenn die Ziffern von Bits (mit Ausnahme des Vorzeichenbit) parallel angeordnet sind, werden sie ausgegeben. Das Torsignal WR verhindert eine Ausgabe während der Periode eines Verschiebens und erzeugt eine bei Empfang aller 15 Bits. Der Inhalt des Schieberegisters 408 wird für einen Multiplizierer in dem ANP verwendet. Die Signalausgabe vom Flipflop 433 wird geteilt, um für das Freigabesignal und für das Schieberegister verwendet zu werden. FF 442 verriegelt die Ausgabe von FF 433 zum Zeitpunkt eines Anstiegs des Taktes und bei einem Abfall von 16 WCLKs ist eine Schiebe- Operation abgeschlossen, und danach wird das Öffnen des Tors bei einem Anstieg des Verriegelungssignals ausgeführt, kann aber bei einem Abfall des Verriegelungssignals ausgeführt werden. FF 412 bildet ein Impulssignal zur Verwendung beim Auswählen einer Sigmoidfunktion. Durch Verwenden von FF 412 wird zum Zeitpunkt eines Empfangens eines Rückstellsignals in Abhängigkeit von 0 oder 1 des Gewicht-Eingabesignals ausgewählt, ob die Sigmoidfunktion verwendet wird oder nicht. Dieses Verfahren kann nicht in dem vorliegenden System verwendet werden. Tatsächlich wird ein Sigmoidauswahlsignal direkt extern gebildet. Eine Verkettungsschaltung ist in dem unteren Teil von Figur 16 dargestellt. Die Ausgabe des Zählers 416 wird durch ein Flipflop 434 verzögert, und ein Flipflop 445 triggert das verzögerte Signal. DCLK wird daher um 1τ mit dem Kopfteil des abgeschnittenen DCLK-Impulses verschoben, das CSI-Signal selbst hat nämlich manchmal nicht die gleiche Periode wie die von DCLK. Um aus CSI CSO zu bilden, wird dann der Anfangsteil, z.B. die zwei Mikrosekunden entsprechende Wellenform, abgeschnitten. Die Wellenform wird dann um diesen Betrag verzögert, und danach wird das DCLK-Signal gebildet. Tore 425 und 427 bilden ein Puffertor des CSI und arbeiten als positive bzw. Inverterpuffer.
  • Figur 25 zeigt die in Figur 5 dargestellte Phasenregelungsschaltung 29 zum Bilden eines Abtast/Halte-S/H-Signals und eines OC-Signals. Das S/H-Signal wird geteilt, um in einen Inverter 515 und ein Tor 524 eingegeben zu werden. Das OC-Signal wird ähnlich geteilt. Wenn das S/H-Signal durch den Inverter 515 in ein Tor 525 eingegeben wird, werden 8 Inverterstufen geschaffen. Ein Signal mit der gleichen Phase wie das S/H-Signal und ein anderes Signal mit der entgegengesetzten Phase werden gebildet. Mehrere Stufen der Inverter sind in einer Kaskade verbunden, und die Ausgabe einer Kaskadenleitung wird in die andere Kaskadenleitung eingegeben, wodurch eine Situation vermieden wird, in der die Ausgaben von sowohl den ersten als auch zweiten Leitungen der Kaskade gleichzeitig "1" sind. Das heißt, das Abtast/Halte-S/H-Signal bildet zwei Signale mit S/H0 und S/H1, um die Situation zu vermeiden, in der beide "1" werden. Somit ist die Inverterkette eine Verzögerungsschaltung zum Vermeiden gleichzeitiger EIN-Zustände beider S/H-Signale. Die Verzögerungszeit ist durch die Länge der Inverterkette bestimmt, und die Ausgabe einer Inverterkette schaltet mehrere Stufen ein, nachdem die andere ausgeschaltet ist. Der gleiche Prozeß wird auf S/HD0 und S/HD1 angewandt. Die sich auf das OC-Signal beziehende Schaltung arbeitet grundsätzlich in der gleichen Weise, wie oben aufgeführt, und das CRST-Signal wird in Tore 528 und 529 eingegeben, und in dem Fall von CRST=1 werden beide Ausgaben von den beiden Ketten obligatorisch auf "1" gesetzt. Die Situation, in der sowohl OC0 als auch OC1 gleichzeitig auf "1" gesetzt werden, wird vermieden, sondern nur wenn CRST "1" ist, schalten sowohl OC0 als auch OC1 auf "1". Daher wird die Rückstellfunktion zum Laden eines Kondensators eines Integrators durch eine Steuerung des Analogschalters realisiert.
  • Figur 26 sieht ein Schieberegister 27 (Figur 5) für 15 Bits vor. Tore 602, 603 und 614 und ein Flipflop 627 entsprechen einem Bit und werden für die folgende Erläuterung benutzt. Weil die Ausgabe vom Flipflop 628 bei der vorherigen Zeitsteuerung in das Tor 603 eingegeben wird, ist dies die Eingabe von dem vorherigen Bit und wird ein Datensignal zum Verschieben. Das andere, in das Tor 603 eingegebene Signal ist SHFT, nämlich ein invertiertes Signal des Schiebesignals. Dies ist ein Schiebe- Steuersignal und, falls es gültig ist, wird eine Schiebeanweisung ausgeführt. Die Ausgabe des Flipflop 627 wird in das Tor 602 eingegeben. Somit wird die Ausgabe des Flipflop 627 zum Eingang des Tors 602 rückgekoppelt. Das invertierte SHFT-Signal wird an den anderen Eingang des Tors 602 angelegt, und diese Phase ist von der des in das Tor 603 eingegebenen Signals verschieden. Falls die Verschiebung ungültig ist, wird daher die gegenwartige Ausgabe beibehalten. Das Taktsignal wird unabhängig von einem Verschieben eingegeben. Die Schiebe-Operation wird nicht ausgeführt, selbst wenn der Takt empfangen wird. Das vorherige Bit wird verschoben und durch das Tor 603 eingegeben, nur wenn eine Periode des Schiebesignals SHFT wirksam ist, wodurch eine Schiebeoperation ausgeführt wird. Ein WR-Signal wird in UND-Tore 632 und 633 eingegeben und bildet ein Auswahlsigual, um zu bestimmen, ob die Ausgaben für jeweilige Bits erzeugt sind, und bildet ein Steuersignal, um zu bestimmen, ob die in dem Schieberegister gespeicherten Daten zu dem Multiplizierer übertragen werden oder nicht. Der Inverter 620 liefert an 5 von 15 Flipflops ein Rückstellsignal, und ein Tor 626 hefert ein Rückstellsignal an 10 Flipflops. Das Schieberegister 608 hat eine Funktion einer Schiebe-Freigabe SHFT und Ausgangs- Freigabe WR.
  • Als nächstes wird der Neuronencomputer der vorliegenden Erfindung durch Verweis auf ein Netzwerk vom Rückkopplungstyp erläutert.
  • Figur 27A ist eine konzeptionelle Darstellung eines Netzwerks vom Rückkopplungstyp In diesem Netzwerktyp liegt grundsätzlich eine Eingabe vor, und der Rückkopplungsweg, durch den das Signal von dem Selbstteil ausgegeben wird, ist zurückgeführt. Die Vorrichtung vom Rückkopplungstyp wird für den ersten Fall verwendet, in dem eine Schicht in dem schichtartigen neuronalen Netzwerk in einer Zeitteilung-Multiplexweise verwen det wird, oder für den zweiten Fall, in dem ein sogenanntes neuronales Netzwerk vom Hopfield-Typ verwendet wird.
  • In dem ersten Fall werden die Eingangs- und Ausgangssignale des ANP in zeitgeteilter Weise geliefert, und die Ausgabedaten des gleichen ANP werden bei jedem konstanten Sequenzzyklus an dem Ausgang jeweiliger ANPs sequentiell ausgegeben, und einer der Sequenzzyklen arbeitet sequentiell wie die Eingabeschicht, die Zwischenschicht und die Ausgabeschicht. In dem zweiten Fall wird die Ausgangsspannung zu dem Eingang rückgekoppelt, bis die Ausgabe des ANP einen vorbestimmten Wert erreicht, d.h. stabil wird. Wenn das Rückkopplungsergebnis ausgegeben wird, wird der Zyklus wiederholt, bis das Rückkopplungsergebnis den vorherigen Daten entspricht, nämlich den Daten, die vorher von ihm selbst ausgegeben wurden, und der Zustand ist konvergiert, falls eine stabile Lösung erreicht ist.
  • Gemäß der Ausführungsform der vorliegenden Erfindung wird der Rückkopplungstyp durch den gemeinsamen Analogbus CB realisiert, wie in Figur 27B dargestellt ist, wodurch ein Rückkopplungsweg geschaffen ist. Die durch die Berechnung des Selbst- ANP erhaltene Ausgabe wird durch den Rückkopplungsweg zu jeweiligen ANPs rückgekoppelt, und diese Rückkopplungsoperation wird wiederholt.
  • Figur 28 zeigt eine Ansicht einer Anordnung der ersten Ausführungsform eines Netzwerks vom Rückkopplungstyp. In Figur 28 entspricht 121 einer Vielzahl Basiseinheiten 1, die eine Verarbeitungsschicht bilden. Diese Basiseinheiten 121 weisen ähnlich Multipliziereinheiten 122, Akkumuliereinheiten 123 und Schwellenwertelemente 124 auf und haben manchmal Ausgabe-Halte-Einheiten 125. Ähnlich werden die Eingaben und Ausgaben von Basiseinheiten 121 aus Analogsignalen gebildet. Eine elektrische Verbindung ist zwischen den Ausgabeteilen jeweiliger Basiseinheiten 121 und den Eingabeteilen von Basiseinheiten 121 durch Analogbusse 141, 142 und 143 geschaffen. Die entsprechend jeweiligen Verbindungen bestimmten Gewichte bilden in einer äquivalenten Weise ein geschichtetes Netzwerk, nämlich ein Netzwerk vom Hopfield-Typ.
  • 142 ist ein Analogbus und ist eine gemeinsame Leitung, die zum elektrischen Verbinden des Ausgabeteils und Eingabeteils vorgesehen ist, um eine Rückkopplungsleitung zu bilden. Die Haupt-Steuerschaltung 150, welche die Datenübertragung steuert, umfaßt ein Treibereinheit-Auswahlmittel 151, ein Gewichteinstellmittel 152, ein Schwellenwertprozeß-Einleitungsmittel 153 und ein Ausgabewert-Übertragungsmittel 154.
  • Das Treibereinheit-Auswahlmittel 151 wählt sequentiell Basiseinheiten 121 aus. Das Ausgabewert-Übertragungsmittel 124 koppelt das durch den beibehaltenden Teil der Ausgabe der ausgewählten Basiseinheit 121 beibehaltene Analogsignal durch den Analogbus 142 gemäß einem Zeitteilung-Übertragungstyp zur Multiplizierprozeßeinheit 122 der Basiseinheit 121 rück, und synohron mit dem obigen Auswahlprozeß. Der Multiplizierteil 122 jeweiliger Basiseinheiten 121 empfängt die Eingabe und wählt sequentiell die Gewichte entsprechend jeweiligen Verbindungen aus, die durch ein Gewichteinstell-Bestimmungsmittel 52 be stimmt wurden, und führt einen Multiplikationsprozeß an der Eingabe und dem Gewicht aus. Der Addierteil 123 akkumuliert sequentiell das Multiplikationsergebnis, das durch die Multipliziereinheit 122 erhalten wurde. Wenn bestätigt wird, daß alle Akkumulationsprozesse die Basiseinheit 121 in der Prozeßschicht betreffend abgeschlossen sind, setzt die Schwellenwertprozeßeinleitungseinheit 153 die Schwellenwertprozeßeinheit 124 der Basiseinheiten 121 in Gang und legt eine konstante Schwellenspannung an, um eine Berechnung einer Sigmoidfunktion durchzuführen.
  • Dieser Prozeß wird gemäß der vorbestimmten Zahl zyklisch wiederholt. Dieses Datenübertragungssystem kann ein Ausgabemuster entsprechend dem Eingabemuster als die Ausgabe des geschichteten Netzwerks liefern, in welchem die Schicht in zeitgeteilter gemultiplexter Weise verwendet wird.
  • Diese Ausführungsform offenbart das Netzwerkstruktur-Datenprozeßgerät, das eine einzige Schicht umfaßt. Um das Netzwerkstruktur-Datenprozeßgerät mit einer Mehrschichtstruktur zu bilden, indem ein Einzelschichtaufbau verwendet wird, wird ein Analogbus 142 als eine gemeinsame Leitung verwendet. Er koppelt die Ausgabe der Basiseinheit 121 einer einzelnen Schicht rück, wodurch die Ausgabe jeweiliger Basiseinheiten 121 mit dem Eingabeteil der Basiseinheit 121 verbunden wird.
  • Als nächstes wird eine Operation der in Figur 28 gezeigten Ausführungsform gemäß einem in Figur 29A dargestellten Zeitdiagramm erläutert.
  • Als Antwort auf eine Forderung nach einer Umwandlung in das Ausgabemuster überträgt die Haupt-Steuerschaltung 150 sequentiell ein Steuersignal CSI zu Eingabeseite-Schaltungen 120 und wählt sequentiell eine Vielzahl von Eingabeseite-Schaltungen 120 aus.
  • Figur 29A bezeichnet den Auswahlprozeß. Die so ausgewählte Eingabeseite-Schaltung 120 überträgt sequentiell ein Analogsignal YI, das als das Eingabemuster geliefert wurde, auf den Analogbus 143. Wie in Figur 29A gezeigt ist, wird demgemäß das Analogsignal YI gemäß der Zahl von Eingabeseite-Schaltungen 120 auf den Analogbus 143 sequentiell übertragen.
  • Wie in dem Zeitdiagramm von Figur 29B dargestellt ist, empfängt der Mutliplikationsteil 122 jeweiliger Basiseinheiten 121 das Analogsignal YI und führt dann eine Multiplikation durch Verwenden eines Gewichts WI eines Gewicht-Halte-Teils 8 aus, das durch die Haupt-Steuerschaltung 150 eingestellt werden soll. Die Akkumulationseinheit 123 jeweiliger Basiseinheiten 121 akkumuliert sequentiell das Multiplikationsergebnis, das durch jede Auswahl von Eingabeseite-Schaltungen 120 erhalten werden soll. Wenn alle Auswahlvorgänge der Eingabeseite-Schaltungen 120 abgeschlossen sind, sind alle Akkumulationsprozesse abgeschlossen. Zu diesem Zeitpunkt erhält der Schwellenwertteil 124 jeweiliger Basiseinheiten 121 den Endausgabewert Y, welcher die Endausgabe der arithmetischen Operation von Basiseinheiten 121 ist.
  • Der so erhaltene Endausgabewert Y wird innerhalb der Basiseinheit beibehalten. Der Ausgabeschalterteil 36 jeweiliger Basiseinheiten 121 empfängt das Ausgabe-Steuersignal als CSI, das von der Haupt-Steuerschaltung 150 übertragen wurde, und wird dann sequentiell eingeschaltet, wodurch der beibehaltene Endausgabewert des Analogsignals zur Multiplikationseinheit 122 der Basiseinheit 121 durch den Analogbus 142 rückgekoppelt wird. Durch diesen Prozeß werden die Endausgabewerte von Basiseinheiten 121 in der Eingabeschicht in einem zeitgeteilten Übertragungsformat für Basiseinheiten 121 in der Zwischenschicht in äquivalenter Weise übertragen.
  • Durch Wiederholen des gleichen Prozesses für alle Basiseinheiten 121 wird der Endausgabewert Y entsprechend der Ausgabeschicht erhalten. Figur 29A zeigt ein Zeitdiagramm des Ausgabe- Steuersignals, das gemäß dem Ausgabe-Steuersignal YI an Basiseinheiten 121 geliefert wird, um in die Eingabeseite-Schaltung 120 eingegeben zu werden, und ein Zeitdiagramm des Analogsignals des Endausgabewerts Y auf dem Analogbus 142.
  • Im Vergleich zu dem geschichteten Netzwerk weist die in Figur 28 gezeigte Ausführungsform die Vorteile auf, daß das Eingabemuster nicht kontinuierlich verwendet wird, hat aber den Nachteil, daß das geschichtete Netzwerk in einem einfachen Aufbau geschaffen werden kann, wodurch das geschichtete Netzwerk außerordentlich reduziert wird, wenn es aus einem Chip gebildet wird.
  • Figur 30 zeigt eine Ausführungsform eines Neuronencomputers gemäß der vorliegenden Erfindung, der durch ein Netzwerk vom Rückkopplungstyp realisiert wird, das wie ein schichtartiges Netzwerk arbeitet. Die Summe-der-Produkte-Operation wird für das Zeitteilung-Analogeingangssignal von Analogeingangsports 1 und 2 in ANPs 1, 2 und 3 ausgeführt, und in die ANPs 1 und 2, die wie die Zwischenschicht arbeiten. Eine Ausgabe wird in zeitgeteilter Weise von den ANPs 1, 2 und 3 zum Analogbus B2 erzeugt. Das Ausgangssignal wird durch einen Analog-Gemeinschaftsbus CB eines Rückkopplungsweges zum Analogbus B1 rückgekoppelt, und die Summe-der-Produkte-Operation wird wieder auf das Rückkopplungssignal bei den ANPs 1, 2 und 3 angewandt. Die ANPs 1, 2 und 3 läßt man als die Ausgabeschicht arbeiten, wodurch ein schichtartiges Netzwerk realisiert wird. Eine Maximalwert-Knotenschaltung 187 empfängt eine DCS-Ausgabe des Haupt-Steuerblocks und erzeugt ein Blindsignal zum Analogbus B2. DCLK und WCLK werden von dem Haupt-Steuerblock jeweils in die Verkettungsschaltung 171 eingegeben, um die Zeitsteuerung des Anstiegs und Abfalls des CSI-Signals zu definieren.
  • Figur 31A zeigt ein Zeitdiagramm des geschichteten Netzwerks vom Rückkopplungstyp WCLK wird nur während des Anstiegs von DCLK erzeugt. Nach dem Anstieg von DCLK wird das Analogsignal konstant gemacht, und die Gewichtdaten werden seriell eingegeben. CSO1 vom Haupt-Steuerblock 181 wird in die Verkettungsschaltung 171 bei einer Zeitsteuerung eingegeben, bevor sie parallel angeordnet werden und, wie durch dargestellt ist, das Signal ansteigt. Zu dieser Zeit erscheint das Analogsignal, das in der Abtast-Halte-(S/H)-Schaltung gehalten wird, nachdem das Analogsignal vom Analogeingangsport 1 eingegeben ist, auf dem Analogbus B1 durch den Analogschalter 175, und die Summe-der-Produkte-Operation wird bei den ANPs 1, 2 und 3 ausgeführt. Bei Eingabe des nächsten DCLK steigt das CSI zur Verkettungsschaltung 172 an, wie durch die Zeit dargestellt ist. Das Signal von der Abtast/Halte-S/H-Schaltung zum Halten des Eingangssignals von dem Analogeingangsport erscheint auf dem Analogbus B1 durch den Analogschalter, und die zweite Summe-der-Produkte-Operation wird bei den ANPs 1, 2 und 3 ausgeführt. Nachdem in der nächsten Zeitsteuerung DCLK eingegeben ist, wird ferner das Blindsignal DCS von dem Haupt-Steuerblock erzeugt, dargestellt durch die Zeit , und die dritte Summeder-Produkte-Operation für die festgelegte Spannung wird bei den ANPs 1, 2 und 3 ausgeführt. Während das nächste SYNC-Signal ansteigt, wird die Summe-der-Produkte-Operation durch die ANPs 1, 2 und 3 für die Ausgabeschicht ausgeführt. Nur während der hohen Periode des eine Adreßzählung sperrenden Signals, das an die Adresse 1 des Gewichtspeichers angelegt ist, ist WCLK zum Zählen des Adreßzählers freigegeben, und die Zählung des Adreßzählers ist zu Zeiten verboten, die von den oben aufgeführten verschieden sind. Wenn CSO2 von dem Haupt-Steuerblock an ANP1 angelegt wird, erzeugt ANP1 als nächstes das Ergebnis der vorherigen Summe der Produkte für den Analogbus B2, und das Ergebnis wird durch den Analog-Gemeinschaftsbus CB zu dem Analogbus B1 rückgekoppelt Wie zur Zeit dargestellt ist, wird dann wieder die Summe-der-Produkte-Operation bei den ANPs 1, 2 und 3 ausgeführt. Nachdem CSO2 um eine vorbestimmte Periode in einer Verkettungsschaltung in dem ANP verzögert ist, wird das Eingangssignal CSI an ANP2 angelegt, wie durch die Zeit dargestellt ist, und zu dieser Zeit wird das Ausgangssignal von dem ANP wieder durch den Analogbus B2, den gemeinsamen Bus CB und die Analogbusse A1 und B1 an den ANP1 angelegt, wodurch die Summe-der-Produkte-Operation ausgeführt wird. Nachdem CSO vom ANP2 um die vorbestimmte Periode verzögert ist, wird entsprechend das verzögerte CSO ein CSI-Signal des ANP3. Wenn das CSI- Signal ansteigt, wie durch die Zeit dargestellt ist, wird das Ausgangssignal des ANP3 durch den Analogbus B2, den gemeinsamen Bus CB und den Analogbus B1 wieder zu den ANPs 1, 2 und 3 rückgekoppelt, wodurch die Summe-der-Produkte-Operation ausgeführt wird. Wie durch die Zeit dargestellt ist, wird ähnlich, wenn das Signal DCS von dem Blindknoten ansteigt, die Summe-der-Produkte-Operation für die festgelegte Spannung in den ANPs 1, 2 und 3 ausgeführt. Bei dem folgenden Anstieg des CSO2-Signals wird die Ausgabe von den ANPs 1 und 2 durch die S/H-Schaltung erzeugt, wie durch die Zeiten und dargestellt ist. Der Analogeingangsport 2 erzeugt nicht das Signal.
  • Die ANPs 1, 2 und 3 arbeiten wie die Zwischenschicht zu Zeiten , und und wie die Ausgabeschicht zu den Zeiten , und . Demgemäß bildet nur eine Schicht der ANPs 1, 2 und 3 ein schichtartiges Netzwerk.
  • Figur 32 zeigt eine Ausführungsform, in der ein Analogneuronencomputer durch ein Rückkopplungsnetzwerk vom Hopfield-Typ gebildet wird. Die Figuren 33A und 33B zeigen ein Zeitdiagramm der in Figur 32 dargestellten Ausführungsform Die Ausgabe von dem Speicheradreßanschluß und Modusanschluß des Haupt-Steuerblocks 181 wird zum Gewichtspeicherblock 185 und B10 der Datenausgabe vom Gewichtspeicherblock 185 addiert, der mit dem ANP1 verbunden ist. Bll ist mit ANP2 verbunden, und B12 ist mit ANP3 verbunden. Das Ausgangssignal von dem Anschluß für CSO1 des Haupt-Steuerblocks 181 wird an die Verkettungsschaltung 171 und den Analogschalter 175 angelegt. Die Ausgabe von der Abtast/Halte-Schaltung 173 von dem Analogeingangsport 1 wird an den Analogbus B1 geliefert. Dieses Signal wird dann durch die Verkettungsschaltung 171 für eine vorbestimmte Periode verzögert, und eine CSO-Ausgabe wird erzeugt. Diese Ausgabe wird an eine Verkettungsschaltung 172 als CSI angelegt. Das Signal der mit einem Analogeingangsport 2 verbundenen Abtast/Halte-Schaltung 174 wird durch einen Schalter 176 auf dem Analogbus B1 geliefert. Das Ausgangssignal CSO einer Verkettungsschaltung 172' öffnet gleichzeitig den Ausgabeschalter 176' einer Abtast/ Halte-Schaltung 174', die mit einem Analogeingangsport 3 verbunden ist, und das von dem Ausgabeschalter 176' ausgegebene Signal wird auf einem Analogbus B1 geliefert. ANP1 führt eine einzelne Produkt- und Summenoperation während der Periode eines DCLK- Signals aus, und, wenn das DCLK-Signal hoch ist, wird der Gewichttakt gesteuert, und die Digital-Gewichtdaten werden synchron mit dem Gewichttakt eingegeben, was mit dem Analogeingangssignal multipliziert wird. Wenn der letztere Teil des DCLK niedrig ist, wird das Abtast/Halte-Signal S/H hoch, was einem Kondensatorintegrator ermöglicht, eine Summieroperation auszuführen. Während einer Periode , wenn CSO1, nämlich das CSI der Verkettungsschaltung 171, hoch ist, führen die ANPs 1, 2 und 3 eine Produkt- und Summenoperation an dem Analogsignal auf dem Bus B1 aus. Wenn das OC-Signal von dem Haupt-Steuerblock 181 hoch wird, führen die ANPs 1, 2 und 3 eine Offset-Auslöschung und eine Abtast-Halte-Operation aus. Dies hat eine Beendigung eines Zyklus der Produkt- und einer Summenoperation zur Folge. Wenn das Eingangssignal CSI die zweite Verkettungsschaltung 172 erreicht, wird es als nächstes hoch, wie durch dargestellt ist, und die ANPs 1, 2 und 3 führen eine Produktund Summenoperation an dem Eingangssignal von dem Analogeingangsport aus. Wenn die Periode der Produkt- und Summenoperation abgeschlossen ist, wird das CSI-Signal in die Verkettungsschaltung 172' eingegeben, und das Ausgangssignal wird von der Abtast/Halte-Schaltung 174' erzeugt, und der dritte Zyklus einer Produkt- und Summenoperation wird wie durch dargestellt gestartet.
  • Als nächstes wird vom Haupt-Steuerblock 181 ein CSO2-Signal C4 erzeugt, und das in dem vorherigen Produkt- und Summenzyklus vom ANP1 gebildete Signal wird zum Analogbus CB rückgekoppelt Die Produkt- und Summenoperationen werden durch die ANPs 1, 2 und 3 für das Rückkopplungssignal gleichzeitig ausgeführt. Nachdem es für eine vorbestimmte Periode verzögert ist, wird als nächstes das CSO-Ausgangssignal vom ANP1 an den ANP2 angelegt, wie durch dargestellt ist. Die in der Zeitsteuerung des Produkt- und Summenzyklus der vorherigen Zeitsteuerung gespeicherten Signale werden vom ANP2 verkettungsartig ausgegeben. Das Signal wird durch den Analogbus CB zu ANPs 1, 2 und 3 rückgekoppelt, und die Summe-der-Produkt-Operation wird wie durch dargestellt gefördert. Nach einer Verzögerung der Signalperiode für eine vorbestimmte Periode wird gleichzeitig das CSO des ANP2 zum ANP3 wie durch dargestellt addiert, und die Ausgabe vom ANP3 wird durch den Analogbus CB zu den ANPs 1, 2 und 3 rückgekoppelt, um eine Produkt- und Summenoperation bei auszuführen. Wie in den Figuren 34A und 34B dargestellt ist, führen das Netzwerk vom Rückkopplungstyp und die Ausgaben von 3 ANPs sechs Produkt- und Summenoperationen aus, die durch Abtast/Halte-Schaltungen 177, 178 und 178' an Analogausgangsports 0, 1, 2 und 3 ausgegeben werden. Die Ausgangssignale von den Abtast/Halte-Schaltungen 177, 178 und 178' werden durch einen Multi-Analogmultiplexer 179 selektiv ausgegeben und durch einen A/D-Wandler 180 an die eine MPU 182, einen Speicher 183 und eine Kommunikationsschnittstelle 184 umfassende Digitalsteuerschaltung geliefert. Die MPU 182 bestimmt, ob der Neuronenausgabezustand zur gegenwärtigen Zeit der gleiche wie der Neuronenausgabezustand der vorherigen Zeit ist. Falls sie im gleichen Zeitstatus sind, kann man das System als stabil geworden betrachten. Die Operation wird deshalb durch Verwenden eines einzigen gemeinsamen Analogbusses CB durch die Rückkopplungs-Operation ausgeführt und wird wiederholt, um eine stabile Auflösung zu erreichen, die als Endausgabe betrachtet wird.
  • Die in Figur 34 gezeigte Ausführungsform verwendet das Rückkopplungsnetzwerk von Figur 28 in einem Teil des geschichteten Netzwerks der Ausführungsform von Figur 12.
  • Figur 35 zeigt eine Ausführungsform, in der ein Netzwerk vom Rückkopplungstyp mit einem geschichteten Netzwerk kombiniert ist. Eine Verkettungsschaltung ist als eine Eingabeschicht vorgesehen, ANPs 1, 2 und 3 sind in der Zwischenschicht vorgesehen, und ANPs 4 und 5 sind bei der Ausgabeschicht vorgesehen. Die Ausgaben von den ANPs 1, 2 und 3 in der Zwischenschicht werden durch einen Analogbus B2 und einen gemeinsamen Analogbus CB zum Analogbus B1 rückgekoppelt Eine Maximalwert- Knotenschaltung 187 ist mit den Analogbussen B1 und B2 als ein Blindknoten verbunden. Die Ausgaben der ANPs 4 und 5, die die Ausgabeschicht bilden, werden von Analogausgangsports 0 und 1 durch Abtast/Halte-Schaltungen 177 bzw. 178 ausgegeben. B3 ist der Ausgabeschicht-Analogbus.
  • Eine Operation des in Figur 35 gezeigten neuronalen Netzwerks wird unter Bezugnahme auf Figur 36 erläutert.
  • DCLK und WCLK werden in die Verkettungsschaltung 171 und die ANPs 1, 2, 3, 4 und 5 durch den Haupt-Steuerblock 181 eingegeben. Der Haupt-Steuerblock 181 gibt CSO1 in die erste Verkettungsschaltung 171 als ein CSI ein, wie durch die Zeit dargestellt ist. Dann erscheint das Signal von der Analogeingabe für 0 auf dem Analogbus B1 durch eine Abtast/Halte- Schaltung 173 und den Schalter 175, und eine Summe-der- Produkte-Operation wird in den ANPs 1, 2 und 3 unter der Steue rung von SH1 und CSI ausgeführt. Als nächstes steigt eine vorbestimmte Zeit nach dem Abfall von CSO1 das in die zweite Verkettungsschaltung 172 einzugebende CSI-Signal an, wie durch die Zeit dargestellt ist. Das Signal wird dann vom Analogemgangsport 1 in eine Abtast/Halte-Schaltung 174 und in einen Schalter 176 eingegeben, und die Summe-der-Produkte-Operation wird in den ANPs 1, 2 und 3 im Analogbus B2 ausgeführt, wie in SHI dargestellt ist. Ähnlich steigt eine vorbestimmte Zeit nach einem Abfall des CSO-Signals das in die dritte Verkettungsschaltung einzugebende CSI-Signal an, wie durch die Zeit dargestellt ist. Die Summe-der-Produkte-Operation wird dann bei den ANPs 1, 2 und 3 und der Zwischenschicht ausgeführt. Die Ausgabe der ANPs 1, 2 und 3 in der Zwischenschicht steigt an, um zum Analogbus B2 ausgegeben zu werden, wenn CSO2 ansteigt, wie durch die Zeit dargestellt ist, und wird an den ANP1 angelegt. Die Ausgabe des ANP1 wird durch den gemeinsamen Analogbus CB zum Analogbus B1 rückgekoppelt Die ANPs 1, 2 und 3 führen folglich die Summe-der-Produkte-Operation wieder unter der Steuerung von SH1 und OC1 aus. Die Ausgabe von ANP1 erscheint auf dem Analogbus B2. Die Summe-der-Produkte-Operation wird in den ANPs 4 und 5 unter der Steuerung von SH2 bzw. OC2 ausgeführt. Daher führen in dieser Ausführungsform die ANPs 1, 2 und 3 in der Zwischenschicht und ANPs 4 und 5 in der Ausgabeschicht die Summe-der-Produkte-Operation gleichzeitig aus. Als nächstes wird eine vorbestimmte Zeit nach dem Abfall von CSO2 das CSI- Signal in den ANP2 in der Zwischenschicht eingegeben, wie durch die Zeit dargestellt ist, und das Ausgangssignal von ANP2 wird durch den gemeinsamen Bus CB zum Analogbus B1 rückgekoppelt. Daher kann die Summe-der-Produkte-Operation wieder in den ANPs 1, 2 und 3 ausgeführt werden. Die Summe-der-Produkte- Operation kann zur gleichen Zeit ausgeführt werden.
  • Wie in dargestellt ist, erzeugt ferner, wenn das CSI- Signal in ANP3 eingegeben wird, ANP3 ein Ausgangssignal auf dem Adreßbus B1, wobei somit ermöglicht wird, daß eine Summe-der- Produkte-Operation in den ANPs 1, 2 und 3 in der Zwischenschicht und in ANPs 4 und 5 in der Ausgabeschicht gleichzeitig ausgeführt wird.
  • Als nächstes wird, wenn ein Blindsignal DSCI in den Maximalwertknoten 187 zur Zeit angegeben wird, eine festgelegte Spannung in den Analogbus B zur Zeit eingegeben. Diese Ausgangsspannung wird durch den gemeinsamen Bus CB und den Analogbus B1 rückgekoppelt, und die ANPs 1, 2 und 3 führen die Summeder-Produkte-Operation an ihr aus. Die Summe-der-Produkte- Operationen können auch in den ANPs 4 und 5 der Ausgabeschicht durchgeführt werden.
  • SYNC1 ist während der Periode hoch, in der die Summe-der- Produkte-Operation in der Zwischenschicht ausgeführt wird, und während der Periode, in der die Summe-der-Produkte-Operation in der Zwischenschicht und in der Ausgabeschicht ausgeführt wird. SYNC2 ist während der Periode hoch, in der die Summe-der- Produkte-Operation in der Zwischenschicht und in der Ausgabeschicht ausgeführt wird. Wenn CSO3 ausgegeben wird, erzeugt ANP4 eine Ausgabe zur Zeit . Eine vorbestimmte Zeit nach einem Abfall eines CSO3-Signals erzeugt ANPs die Ausgabe zur Zeit .
  • WCLK wird während der Periode verhindert, in der eine Adresse 1 und das Freigabesignal niedrig gemacht sind.
  • Der Zweck der in Figur 37 gezeigten Ausführungsform ist, das geschichtete Netzwerk der in Figur 12 gezeigten Ausführungsform weiter zu vereinfachen. Diese Ausführungsform umfaßt eine einzige Basiseinheit 121. Weil eine einzige Basiseinheit 121 die Daten in bezug auf eine Vielzahl von Basiseinheiten 121 in der in Figur 12 gezeigten Ausführungsform nicht separat beibehalten kann, ist somit in der in Figur 37 gezeigten Ausführungsform ein Speichermittel zum Beibehalten der Daten extern vorgesehen, und eine Vielzahl von Akkumulationsteilen 123 und eine Vielzahl von eine Ausgabe beibehaltenen Teilen 125 sind intern vorgesehen. Ein Aufbau zum Auswählen dieser Akkumulationsteile und eine Ausgabe beibehaltenden Teile ist ebenfalls vorgesehen.
  • Der Neuronencomputer der vorliegenden Erfindung zum Ausführen eines nichtlinearen Datenprozesses kann in verschiedenen Gebieten genutzt werden. Figur 38 zeigt beispielsweise ein Anwendungsbeispiel, bei dem die vorliegende Erfindung für ein adaptives Steuergerat eines Gelenkroboters verwendet wird. In diesem Gerät, wo ein Zielverbindungswinkel zu einem geglie derten Roboterarm zum dynamischen Verändern eines erforderlichen Drehmoments in Abhängigkeit des Verbindungswinkels und der Winkelgeschwindigkeit als der Anweisungswert vorgesehen ist, wird das erforderliche Drehmoment berechnet, und eine Optimalwertsteuerung wird realisiert. Der Winkel-Anweisungswert wird zusammen mit dem Winkelgeschwindigkeit-Anweisungswert und dem Winkelbeschleunigung-Anweisungswert in der ersten Stufe der Übertragungsleitung in zeitgeteilter Weise geliefert und wird von der Ausgabeschicht der Endstufe als Steueranweisungsdrehmoment als Ergebnis des oben beschriebenen Datenübertragungsprozesses ausgegeben. Figur 39 zeigt ein Anwendungsbeispiel, in welchem die vorliegende Erfindung für eine Exklusiv-ODER-Logik verwendet wird. Eingaben X und Y werden auf einem Übertragungsweg der ersten Stufe in zeitgeteilter Weise geliefert, und das Ergebnis einer arithmetischen Operation wird durch einen Paral, lelprozeß dieser Eingaben ausgegeben. Da die vorliegende Erfindung verschiedene Anwendungsgebiete hat, wie oben festgestellt wurde, ist ihre Fähigkeit zum Realisieren eines Neuronencomputers in der Hardware extrem wertvoll.
  • Hinsichtlich eines Zuordnungsprozesses in dem schichtartigen Netzwerk werden "Name eines Artikels" und "Form, Farbe und Geschmack eines Artikels" vorher durch das Netzwerk als die entsprechende Beziehung der charakteristischen Größe gespeichert. Das Netzwerk kann dann "Name des Artikels" basierend auf der durch den Lernprozeß gespeicherten Information zuordnen. Zum Beispiel ist der Artikel "Apfel" basierend auf der Information "rund, rot, süß und säuerlich", und der Artikel ist basierend auf der Information "rund, gelb und sauer" "Zitrone". Hinsichtlich des Zuordnungsprozesses in dem Rückkopplungsnetzwerk wird eine Schriftart dreier Zeichen, wie z.B. (A, B, C), vorher durch das Netzwerk gelernt, und sogar dann, falls eine unsaubere oder modifizierte Schriftart in das Netzwerk eingegeben wird, werden die Überdeckungs- und die Interpolationsprozesse der Bildinformation durchgeführt, und das korrekte Zeichen wird zugeordnet.
  • Wie oben beschrieben, wählt das schichtartige Netzwerk einen in Form eines Gewichts in dem Netzwerk gespeicherten Namen basierend auf einer Vielzahl von Bedingungen aus, aber das Netzwerk vom Hopfield-Typ kann das gesamte Merkmal basierend auf einer partiellen Information zuordnen.
  • Bezüglich einer Funktion des Dreischicht-Netzwerks, wo die Information einer Eingabe und Ausgabe in das Netzwerk binär ist (logischer Wert), kann jede logische Schaltung durch Verbinden zumindest zweier Stufen der logischen Schaltung, wie z.B. UND, ODER und NICHT, realisiert werden, und diese logischen Schaltungen können durch die Neuronenelemente wie durch ein Neuronenmodell im MacCullough- und Pitt-Format gezeigt realisiert werden.
  • Wenn die Information der Eingabe und Ausgabe des Netzwerks ein kontinuierlicher Wert ist, können die longitudinalen und transversalen Abmessungen der nichtlinearen Funktion (Sigmoidfunktion) expandiert und komprimiert werden, und der Schwellenwert wird durch eine Parallelbewegung der nichtlinearen Funktion geändert, wodurch verschiedene Basisfunktionen realisiert werden, die zum Approximieren der gewünschten Funktion notwendig sind. Durch geeignetes Bestimmen der Gewichte zwischen der ersten und zweiten Schicht werden demgemäß verschiedene Basisfunktionen geliefert. Die anderen Basisfunktionen werden ferner durch Nutzen des Gewichts zwischen den zweiten und dritten Schichten verwendet, wodurch verschiedene Arten von Funktionen in einem Netzwerk mit mehr als drei Schichten erzeugt werden.
  • Betrachtet man eine Vorstufe-Schicht mit n Neuronenchips und eine Nachstufe-Schicht mit m Neuronenchips, beträgt im Stand der Technik die Anzahl der Drähte n.m. Diese Zahl kann jedoch in der vorliegenden Erfindung außerordentlich verringert werden, weil ein einziger Analogbus verwendet wird. Wenn das Eingabe-Analogsignal an eine Schicht mit n Neuronenchips geliefert wird, wird der Eingabe-Analogbus an die Neuronenchips durch einen Analogbus in gleicher Weise wie das Rundsendeverfahren angelegt, und eine Paralleloperation von n Neuronenchips in einer Schicht kann durchgeführt werden. Ferner wird eine Pipelineverarbeitung bezüglich jeweiliger Schichten ausgeführt, wodurch eine Hochgeschwindigkeitsoperation durchgeführt wird.
  • Da der Neuronenchip aus einer Analogschaltung geschaffen ist, ist die Skala der Schaltung klein gemacht, und die Leistung ist ebenfalls klein gemacht, wodurch ermöglicht wird, daß ein Neuronencomputer aus vielen Neuronenchips gebildet ist. Ferner kann die Zunahme der Zahl der Neuronenchips mit dieser Erfindung leicht behandelt werden, indem das in dem Steuermusterspeicher in dem Haupt-Steuerblock gespeicherte Steuer muster geändert wird.
  • BESCHREIBUNG DES ZAHLENCODE
  • 11...ANALOGNEURONENPROZESSOR
  • 12...STEUERMUSTERSPEICHER
  • 13...SEQUENZER
  • 14...GEWICHTSPEICHER
  • 15...DIGITALSTEUERMITTEL
  • 16...D/A
  • 17...A/D
  • 18...DURCH ANP AUFGEBAUTES NEURONALES NETZWERK
  • 22...ANALOGMULTIPLIKATIONSEINHEIT
  • 23...ANALOGADDIEREINHEIT
  • 24...ABTAST/HALTE-EINHEIT
  • 25...NICHTLINEARE-FUNKTION-EINHEIT
  • 26...AUSGABE-STEUEREINHEIT
  • 27...SCHIEBEREGISTER
  • 28...SEQUENZGENERATOR
  • 29...PHASENREGELUNGSEINHEIT
  • 120...EINGABESEITE-SCHALTUNG
  • 121...BASISEINHEIT
  • 122...MULTIPLIKATIONSEINHEIT
  • 123...ADDIEREINHEIT
  • 124...SCHWELLENWERTE INHEIT
  • 125...AUSGABE-HALTE-EINHEIT
  • 130...GESCHICHTETES NETZWERK
  • 140...ANALOGBUS
  • 150...HAUPT-STEUERSCHALTUNG
  • 151...TREIBEREINHEIT-AUSWAHLMITTEL
  • 152...GEWICHTEINSTELLEINHEIT
  • 153...SCHWELLENWERTPROZESS-EINLEITUNGSMITTEL
  • 154...AUSGABEWERT-ÜBERTRAGUNGSMITTEL

Claims (40)

1. Ein Neuronencomputer mit:
einem neuronalen Netzwerk (18) mit einem Satz Analogneuronenchips zum Empfangen eines Analogsignals von einem ersten Analogbus in zeitgeteilter Weise und zum Ausführen einer Summe- von-Produkten-Operation in zeitgeteilter Weise durch Verwenden serieller Digital-Gewichtdaten, wodurch ein Zeitteilung- Analogsignal auf einem zweiten Analogbus ausgegeben wird,
einem Steuermusterspeicher (12) zum Speichern eines Musters eines Steuersignals des neuronalen Netzwerks (18),
einem Gewichtspeicher (14) zum Speichern der Gewichtdaten,
einem Sequenzer (13) zum seriellen Erzeugen von Adressen des Steuermusterspeichers (12) und des Gewichtspeichers (14),
einem Digitalsteuermittel (15) zum Steuern des neuronalen Netzwerks (18), des Steuermusterspeichers (12), des Sequenzers (13) und des Gewichtspeichers (14).
2. Ein Neuronencomputer nach Anspruch 1, worin ein Analogneuronenchip umfaßt:
eine Multipliziereinheit (22) zum Multiplizieren des Analogsignals mit seriellen Gewichtdaten,
eine Additionseinheit (23) zum Addieren des Ausgangssignal der Multipliziereinheit (22) gemäß dem Analogsignal, das in zeitgeteilter Weise eingegeben wird,
ein Additionszeitsteuermittel zum Varrueren einer Zeit zum Laden eines Signals in einem Kondensator in der Additionseinheit (23),
ein Abtast/Halte-Mittel (24), das mit der Additionseinheit (23) verbunden ist,
eine nichtlineare Schaltung (25) zum Eingeben des Ausgangssignals des Abtast/Halte-Mittels (24) und
eine Ausgabeeinheit (26) zum Ausgeben des Ausgangssignals der nichtlinearen Schaltung (25) als ein analoges Zeitteilungssignal.
3. Ein Neuronencomputer nach Anspruch 1 mit:
einer Eingabeseite-Schaltung (120) zum Eingeben eines Analogeingangssignals;
einem Eingabeschicht-Analogbus (140a), der mit dem Ausgang der Eingabeseite-Schaltung (120) verbunden ist,
einer ersten Zwischenschicht zum Verbinden eines Analogneuronenprozessors (121-h) mit dem Eingabeschicht-Analogbus (140a)
einem Zwischenschicht-Analogbus (140b), mit dem der Ausgang der ersten Zwischenschicht verbunden ist,
einer zweiten Zwischenschicht mit einem Analogneuronenprozessor, der parallel mit dem Zwischenschicht-Analogbus (140b) verbunden ist,
einem Analogbus (140c) der folgenden Zwischenschicht, mit dem der Analogneuronenprozessor (121-h) in der Zwischenschicht verbunden ist,
einem Mittel (150) zum Freigeben des Analogneuronenprozes sors (121-h) in der Zwischenschicht, um ein Zeitteilung-Analogsignal zu empfangen, das auf dem Eingabeschicht-Analogbus geliefert wird, und um eine Summe-der-Produkte-Operation sequentiell auszuführen,
einem Mittel (150) zum Freigeben eines Analogneuronenprozessors (121-i) in der folgenden Zwischenschicht, um ein auf dem Zwischenschicht-Analogbus geliefertes Zeitteilung- Analogsignal zu empfangen und um eine Summe-der-Produkte- Operation sequentiell auszuführen, und
einem Mittel (121-j) zum Ausgeben des auf dem Analogbus der folgenden Zwischenschicht gelieferten Zeitteilung-Analogsignals.
4. Ein Neuronencomputer nach Anspruch 1, aufweisend eine Netzwerkstruktur mit einer Eingabeschicht und zumindest einer Zwischenschicht mit einem Analogneuronenprozessor und einer Ausgabeschicht, wodurch ein schichtartiges Netzwerk gebildet wird.
5. Ein Neuronencomputer nach Anspruch 4, aufweisend eine Netzwerkstruktur unter Verwendung einer Basiseinheit (11):
zum Empfangen einer Vielzahl von Eingaben von der vorhen gen Schicht und eines mit diesen Eingaben zu multiplizierenden Gewichts, wodurch eine Summe-der-Produkte erhalten wird, und zum Umwandeln dieser Summe-der-Produkte-Werte gemäß einer nichtlinearen Funktion, wodurch eine Endausgabe geliefert wird,
zum Bilden einer internen Verbindung zwischen einer Eingabeschicht und einer Zwischenschicht in der vordersten Stufe, zwischen Zwischenschichten und zwischen der Zwischenschichten in der letzten Stufe und der Ausgabeschicht und zum Bilden eines geschichteten Netzwerks durch Bestimmen des obigen Gewichts gemäß der internen Verbindung, worin
die Eingabe und Ausgabe der Basiseinheit (11) durch ein Analogsignal realisiert sind; die elektrischen Verbindungen zwischen der Eingabeschicht und der Zwischenschicht in der vordersten Stufe, zwischen den Zwischenschichten und zwischen der Zwischenschicht in der letzten Stufe und der Ausgabeschicht durch Analogbusse (B1, B2) gebildet sind; die Basiseinheit (11) in der vorherigen Schicht sequentiell ausgewählt wird und die so ausgewählte Basiseinheit (11) den Endausgabewert an die Basiseinheit (11) in der Nachstufe-Schicht durch die Analogbusse (B1, B2) gemäß einem Zeitteilung-Übertragungsformat ausgibt.
6. Ein Neuronencomputer nach Anspruch 1, aufweisend eine Netzwerkstruktur zum Rückkoppeln eines Ausgangssignals von einer einzelnen Schicht mit einer Vielzahl Analogneuronenprozessoren zu einer Eingabeseite durch einen Analogbus, wodurch die einzelne Schicht in einer Zeitteilung-Multiplexweise genutzt wird.
7. Ein Neuronencomputer nach Anspruch 6, aufweisend eine Netzwerkstruktur unter Verwendung einer Basiseinheit (11):
zum Empfangen einer Vielzahl von Eingaben und eines mit diesen Eingaben zu multiplizierenden Gewichts, wodurch eine Summe-der-Produkte erhalten wird, und zum Umwandeln dieser Summe-der-Produkte-Werte gemäß einer nichtlinearen Funktion, wodurch eine Endausgabe geliefert wird,
zum Bilden einer Verarbeitungsschicht durch eine Vielzahl der Basiseinheiten (11) und zum Rückkoppeln der Endausgabe der die Verarbeitungseinheit bildenden jeweiligen Basiseinheiten zu den Eingängen der Basiseinheit (11) in der Verarbeitungsschicht, wodurch ein geschichtetes Netzwerk mit einer Vielzahl von Verarbeitungsschichten in einer äquivalenten Weise geschaffen wird,
worin die Eingabe und Ausgabe der Basiseinheit (11) durch ein Analogsignal realisiert sind und eine Rückkopplungsleitung der Basiseinheit in der obigen Verarbeitungsschicht aus einem Analogbus (CB) gebildet ist, wodurch eine Übertragung des Analogsignals realisiert wird, und die Basiseinheit (11) in der Verarbeitungsschicht sequentiell ausgewählt wird und die so ausgewählte Basiseinheit (11) den Endausgabewert an die Basiseinheit (11) in der Verarbeitungsschicht durch den Analogbus (CB) gemäß einem Zeitteilung-Übertragungsformat ausgibt.
8. Ein Neuronencomputer nach Anspruch 6, aufweisend eine Netzwerkstruktur zum Wiederholen einer Rückkopplungsoperation, bis ein Ausgangssignal von einer Schicht mit einer Vielzahl von Analogneuronenprozessoren einen normalen Zustand erreicht, wodurch ein Netzwerk vom Rückkopplungstyp geschaffen wird.
9. Ein Neuronencomputer nach Anspruch 1, kombinierend ein schichtartiges neuronales Netzwerk und ein neuronales Netzwerk vom Rückkopplungstyp, welche Analogneuronenprozessoren aufweisen, wodurch ein neuronales Netzwerk geschaffen wird.
10. Ein Neuronencomputer nach Anspruch 9, aufweisend eine Netzwerkstruktur nach Anspruch 7 in der Art einer Eingabeschicht, eines Teils der oder der ganzen Zwischenschicht oder der Ausgabeschicht oder einer Kombination davon.
11. Ein Neuronencomputer nach Anspruch 1, aufweisend eine Neuroneneinheit zum Empfangen eines Analogsignals von einem ersten Analogbus in zeitgeteilter Weise und zum Ausführen einer Summe-der-Produkte-Operation durch Verwenden der Digital- Gewichtdaten, wodurch ein Analogsignal an den zweiten Analogbus geliefert wird.
12. Ein Neuronencomputer nach Anspruch 11, worin in der Neuroneneinheit die Summe-der-Produkte-Operation ausgeführt wird durch Eingeben eines Analogeingangssignals in einen Referenzspannungsanschluß eines D/A-Wandlers und durch Eingeben von Digital-Gewichtdaten in den digitalen Eingabeanschluß.
13. Ein Neuronencomputer nach Anspruch 1, aufweisend eine Neuroneneinheit, worin:
ein Analogsignal in zeitgeteilter Weise von dem ersten Analogbus eingegeben wird,
eine Summe-der-Produkte-Operation durch Verwenden von Digital-Gewichtdaten ausgeführt wird und das Ergebnis der Summeder-Produkte-Operation an den zweiten Analogbus durch eine Nichtlineare-Funktion-Schaltung als ein Analogsignal ausgegeben wird.
14. Ein Neuronencomputer nach Anspruch 13, worin in der Neuroneneinheit:
die Nichtlineare-Funktion-Schaltung eine Vielzahl Stufen von Verstärkern aufweist, die eine stromschaltende Schaltung bilden und einen mit einer Stromspiegelschaltung verbundenen Kollektor aufweisen und einen mit einem Emitterwiderstand und einer Konstantstromschaltung verbundenen Emitter aufweisen, wobei der Kollektorausgang dieser Verstärkerstufe mit einem Anschluß des Ausgangswiderstands verbunden ist und die jeweiligen teilenden Abschnitte entsprechend der nichtlinearen Funktion basierend auf einem Verhältnis des Emitterwiderstands zum Ausgangswiderstand bestimmt sind.
15. Ein Neuronencomputer nach Anspruch 1 mit:
dem ersten Analogbus zum Empfangen eines Analogsignals, einem Analogneuronenprozessor, der mit dem ersten Analogbus verbunden ist, zum Durchführen einer Summe-der-Produkte-Operation an dem Eingangssignal von dem ersten Analogbus und den Gewichtdaten,
dem zweiten Analogbus, der mit dem Analogneuronenprozessor verbunden ist,
dem Gewichtspeicher zum Speichern der Gewichtdaten und einem Steuermittel zum Eingeben eines Analogsignals in einem vorbestimmten Zeitbereich auf dem ersten Analogbus zu dem Analogneuronenprozessor, Multiplizieren des Analogeingangssignals mit den Gewichtdaten, um ein Produkt zu liefern, und Addieren des Produkts zu der Summe der Produkte, die in dem vorherigen Zeitbereich erhalten wurde, wodurch ein Analogsignal auf dem vorbestimmten Zeitbereich auf dem zweiten Analogbus ausgegeben wird.
16. Ein Neuronencomputer nach Anspruch 15, worin das Steuermittel einen Haupt-Steuerblock zum Steuern eines Analogneuronenprozessors aufweist, welcher Haupt-Steuerblock umfaßt:
den Steuermusterspeicher zum Erzeugen eines Steuermusters eines Steuersignals des Analogneuronenprozessors,
den Sequenzer zum Steuern einer Sequenz einer Adresse des Steuermusterspeichers,
einen Mikrocodespeicher zum Speichern von Anweisungen zum Steuern der Sequenz des Sequenzers,
ein Adreßsteuermittel, das mit dem Sequenzer verbunden ist, zum Steuern der Adresse des Gewichtspeichers, und
ein Schnittstellenmittel, das mit dem externen Digitalsteuermittel verbunden ist, dadurch ein Recht zuweisend, den Analogbus zu einem einzelnen Analogneuronenprozessor in einem vorbestimmten Zeitbereich zu verwenden.
17. Ein Neuronencomputer nach Anspruch 16, worin
der Steuermusterspeicher erste und zweite Steuermusterspeicher aufweist, welcher erste Steuermusterspeicher ein Steuermuster entsprechend dem Steuersignal zum Steuern des Analogneuronenprozessors speichert und welcher zweite Steuermusterspeicher zumindest eine Kopfadresse des ersten Steuermusterspeichers hat.
18. Ein Neuronencomputer nach Anspruch 16, worin
der Steuermusterspeicher erste und zweite Steuermusterspeicher aufweist, welcher erste Steuermusterspeicher das Steuermuster entsprechend dem Steuersignal zum Steuern des Analogneuronenprozessors speichert und welcher zweite Steuermusterspeicher eine Kopfadresse des ersten Steuermusterspeichers und die Zahl von Wiederholungen des Originalmusters hat.
19. Ein Neuronencomputer nach Anspruch 18, worin
der erste Steuermusterspeicher als ein Originalmuster zumindest einen von einem Datentakt DCLK und Gewichttakt WCLK speichert zum Liefern einer Lesezeitsteuerung des Speichers, um einen Analogsignalprozeß des Analogneuronenprozessors durchzuführen, eines Gewichttakts WCLK, eines S/H-Signals zum Durchführen einer Abtast/Halte-Operation eines Analogsignals in jeweiligen Schichten und eines Offset-Steuersignals innerhalb des Analogneuronenprozessors, eines CSI- und CSO-Signals, eines Synchronisiersignals SYNC zum Bestimmen einer Operationszeit innerhalb jeweiliger Schichten, eines Rückstellsignals und eines Freigabesignals für einen Blindknoten.
20. Ein Neuronencomputer nach Anspruch 19, in welchem eine Eingabeschicht als eine Verkettungsschaltung gebildet ist.
21. Ein Neuronencomputer nach Anspruch 16, worin
eine Wiederholanweisung zum Wiederholen eines Originalmusters und Anweisungen zum Bezeichnen der Kopfadressen jeweiliger Originalmuster in dem Mikrocodespeicher gespeichert sind.
22. Ein Neuronencomputer nach Anspruch 16, worin
die Daten in der Richtung der Bit-Breite des Originalmusters gleichzeitig aus dem Steuermusterspeicher gemäß einer Erneuerung der Adresse ausgelesen wird.
23. Ein Neuronencomputer nach Anspruch 16, worin
der Haupt-Steuerblock einen Adreßzähler zum Zählen einer Adresse des Gewichtspeichers aufweist, der Adreßzähler gemäß einem Gewichttakt WCLK gezählt wird, eine Zähloperation durch ein Zählsteuersignal freigegeben wird, das von dem Sequenzer geliefert wird, und der Adreßzähler durch eine Zählrückstelloperation des Sequenzers so gesteuert wird, daß der Adreßzähler zu der Kopfadresse zurückgeführt wird, in der die Gewichtdaten des Gewichtspeichers gespeichert sind.
24. Ein Neuronencomputer nach Anspruch 16, worin
der Inhalt des Steuermusterspeichers und der Inhalt des Mikrocodespeichers als die Daten von der MPU-Seite durch eine externe Schnittstellenschaltung geliefert werden, der Haupt- Steuerblock ein Verriegelungssignal zum Verriegeln geeigneter Zeitsteuersequenzdaten empfängt, die in einer Zeitsteuerungsschaltung durch Decodieren der oberen Adresse von der MPU gebildet werden, die untere Adresse und die Daten durch das Verriegelungssignal verriegelt werden und das Steuermuster in der Adresse des Mikrocodespeichers und des Steuermusterspeichers gespeichert ist, die durch die untere Adresse bezeichnet sind.
25. Ein Neuronencomputer nach Anspruch 15, worin der Gewichtspeicher die Gewichtdaten durch Parallelverarbeiten der Daten von einer Speichervorrichtung in einer Richtung einer Bit-Breite gleichzeitig liefert und die Gewichtdaten an eine Vielzahl von Analogneuronenprozessoren geliefert werden.
26. Ein Neuronencomputer nach Anspruch 15, worin
der Gewichtspeicher einen bidirektionalen Puffer aufweist, der zwischen das Gewichtdaten speichernde Mittel und die MPU gekoppelt ist, und ein Auswahlmittel zum Auswählen, in einem ersten Modus, einer Adresse von einem Haupt-Steuerblock oder einer von der MPU gelieferten Adresse, wodurch die Adresse von dem Haupt-Steuerblock ausgewählt wird, um die Ausgabe des Gewichtspeichers zu dem Analogneuronenprozessor zu übertragen, und in dem zweiten Modus die Daten zwischen der MPU und dem Gewichtspeicher übertragen und empfangen werden, indem auf den Gewichtspeicher unter Verwendung einer durch die MPU gelieferten Adresse Bezug genommen wird.
27. Ein Neuronencomputer nach Anspruch 15, worin
erste und zweite Analogneuronenprozessoren zumindest zwischen die ersten und zweiten Analogbusse gekoppelt sind und, wenn ein CSI-Signal an den ersten Analogneuronenprozessor angelegt wird, ein Ausgangssignal auf einem Analogbus erzeugt wird, und nachdem eine vorbestimmte Zeit verstreicht, die Steuerschaltung das CSI-Signal an den zweiten Analogneurgnenprozessor anlegt und das Ausgangssignal auf dem Analogbus erzeugt.
28. Ein Neuronencomputer nach Anspruch 15, worin
zumindest erste und zweite Analogneuronenprozessoren zwischen die ersten und zweiten Analogbusse gekoppelt sind und eine Verkettungsschaltung zum Verzögern des CSI-Signals des ersten Analogneuronenprozessors um eine vorbestimmte Zeitperiode vorgesehen ist, wodurch ein CSO-Signal erzeugt wird, und zum Erzeugen der Ausgabe von dem zweiten Analogneuronenprozessor auf dem Analogbus durch Verwenden des CSO-Signals als das CSI- Signal des zweiten Analogneuronenprozessors.
29. Ein Neuronencomputer nach Anspruch 23, worin
die Verkettungsschaltung FF zum Ausgeben von CSO nach Empfang eines CSI-Signals aufweist und ein Zählermittel zum Bestimmen eines Verzögerungsbetrags basierend auf einer Flanke eines Abschlusses des CSI-Signals und Bestimmen der Ausgabezeitsteuerung des CSO basierend auf der Zahl der Impulse von WCLK.
30. Ein Neuronencomputer nach Anspruch 15, worin
ein CSO-Signal durch Verzögern eines CSI-Signals von der ersten Verkettungsschaltung um eine vorbestimmte Zeitperiode erzeugt wird und die Ausgabe auf einem Analogbus unter einer Steuerung einer zweiten Verkettungsschaltung durch Verwenden des CSO-Signals als das CSI-Signal der zweiten Verkettungsschaltung erzeugt wird.
31. Ein Neuronencomputer nach Anspruch 15, worin
ein CSO-Signal eine vorbestimmte Zeit erzeugt wird, nachdem
ein CSI-Signal von einer Haupt-Steuerschaltung durch einen Analogneuronenprozessor empfangen ist, der bei einer ersten Schicht mit einer Vielzahl von Analogneuronenprozessoren vorgesehen ist, die eine Verkettungsoperation durchführen, die Verkettungsoperation durch eine Vielzahl von Analogneuronenprozessoren in einer einzelnen Schicht durch Verwenden des CSO- Signals als das CSI-Signal des benachbarten Analogneuronen prozessors sequentiell durchgeführt wird, und die Verkettungsoperation bezüglich des Analogneuronenprozessors der folgenden Schicht nach einem Abschluß einer Verkettungsoperation bezüglich eines Analogneuronenprozessors in der ersten Schicht beginnt.
32. Ein Neuronencomputer nach Anspruch 15, worin
ein Mittel zum Erzeugen einer vorbestimmten Spannung auf dem Analogbus vorgesehen ist und das spannungserzeugende Mittel eine vorbestimmte Spannung für eine vorbestimmte Zeitperiode durch Freigeben des Freigabesignals zu einer vorbestimmten Zeit durch Verwenden einer Haupt-Steuerschaltung erzeugt, wodurch ein Blindknoten gebildet und eine Maximalwert-Knotenschaltung gebildet wird.
33. Ein Neuronencomputer nach Anspruch 32, worin
das eine vorbestimmte Spannung erzeugende Mittel eine Span nung entsprechend einem Schwellenwert der Nichtlineare- Funktion-Schaltung erzeugt.
34. Ein Neuronencomputer nach Anspruch 32, worin
das eine vorbestimmte Spannung erzeugende Mittel eine Testoperation der Sequenz durch Erzeugen einer 0-Spannung durchführt.
35. Ein Neuronencomputer nach Anspruch 32, worin
das eine vorbestimmte Spannung erzeugende Mittel einen mit jeweiligen Analogbussen verbundenen Blindknoten aufweist, um ein Blindsignal zu Ziel-Analogneuronenprozessoren zu erzeugen, wodurch eine Verkettungsoperation durchgeführt wird.
36. Ein Neuronencomputer nach Anspruch 32, worin
die Maximalwert-Knotenschaltung ein Mittel zum Erzeugen einer festen Spannung und ein Speichersteuermittel zum Übertragen der festen Spannung zu einem Blindknotenausgang gemäß einem von dem Haupt-Steuerblock gelieferten Freigabesignal aufweist.
37. Ein Neuronencomputer nach Anspruch 1, aufweisend eine Neuroneneinheit mit einer Analogschaltung zum Erzeugen eines Analogausgangssignals nach Anwenden einer Operation einer Summe-der-Produkte auf ein Analogeingangssignal und eine Digitalschaltung zum Steuern der Analogschaltung,
welche Digitalschaltung einen Sequenzgenerator zum Umwandeln eines Steuersignals von einem Haupt-Steuerblock in ein Schaltsteuersignal aufweist, um in einem Analogneuronenprozessor verwendet zu werden,
eine Phasenregelungsschaltung zum Regeln einer Phase eines Steuersignals, um eine Schaltoperation eines in der Analogschaltung enthaltenen Schaltelements zu steuern, und
ein Schieberegister zum Umwandeln serieller Gewichtdaten, die von dem Gewichtspeicher geliefert wurden, in die Paralleldaten.
38. Ein Neuronencomputer nach Anspruch 37, worin
der Sequenzgenerator ein CRST-Signal zum Entladen der Ladung eines Kondensators eines Integrators, ein Synchronisationssignal SYNC, DCLK, WCLK und WD empfängt,
wodurch ein Freigabesignal einer Abtast/Halte-Schaltung und eine Parallelausgabe eines Schieberegisters, ein Freigabesignal eines Vorzeichenbit, ein interner Takt CLK, Gewichtdaten, ein Schiebetakt, ein Auswahlsteuersignal zum Auswählen, ob die Daten durch eine nichtlineare Funktion verarbeitet werden sollten, und das CSO-Signal für eine Verkettung erzeugt werden.
39. Ein Neuronencomputer nach Anspruch 37, worin
das Phasenregelungsmittel erste und zweite Verzögerungsmittel zum Verzögern eines Signals mit umgekehrter Phase und des Signals mit gleicher Phase und ein Rückkopplungsmittel zum Rückkoppeln der Ausgabe eines der Verzögerungsmittel zu dem Eingang des anderen Verzögerungsmittels aufweist und die beiden Ausgangssignale die Signale mit gleicher Phase und umgekehrter Phase umfassen, so daß ein durch diese Ausgangssignale zu steuernder Schalter als Ergebnis einer Phasenregelung nicht gleichzeitig eingeschaltet wird.
40. Ein Neuronencomputer nach Anspruch 37, worin das Schieberegister durch das Steuersignal freigegeben wird und, nachdem die Gewichtdaten in bitserieller Weise gemäß einem durch WCLK gebildeten Takt eingegeben sind, das Schieberegister durch ein WR-Signal freigegeben wird, um in einer parallelen Weise ausgegeben zu werden.
DE68928385T 1988-08-31 1989-02-23 Neuronenrechner Expired - Lifetime DE68928385T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21686588 1988-08-31
PCT/JP1989/000192 WO1990002381A1 (en) 1988-08-31 1989-02-23 Neurocomputer

Publications (2)

Publication Number Publication Date
DE68928385D1 DE68928385D1 (de) 1997-11-20
DE68928385T2 true DE68928385T2 (de) 1998-02-12

Family

ID=16695119

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68928385T Expired - Lifetime DE68928385T2 (de) 1988-08-31 1989-02-23 Neuronenrechner

Country Status (7)

Country Link
US (1) US5131072A (de)
EP (1) EP0400147B1 (de)
KR (1) KR940001173B1 (de)
AU (1) AU633812B2 (de)
DE (1) DE68928385T2 (de)
FI (1) FI902081A0 (de)
WO (1) WO1990002381A1 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990003006A1 (en) * 1988-09-12 1990-03-22 Fujitsu Limited Learning processing system of network structure data processing unit
US5216746A (en) * 1989-02-28 1993-06-01 Fujitsu Limited Error absorbing system in a neuron computer
JP2533942B2 (ja) * 1989-03-13 1996-09-11 株式会社日立製作所 知識抽出方法およびプロセス運転支援システム
US5214743A (en) * 1989-10-25 1993-05-25 Hitachi, Ltd. Information processing apparatus
WO1991019267A1 (en) * 1990-06-06 1991-12-12 Hughes Aircraft Company Neural network processor
JP2763182B2 (ja) * 1990-06-28 1998-06-11 株式会社東芝 ニューラル・ネットワークの学習方法
JP2785155B2 (ja) * 1990-09-10 1998-08-13 富士通株式会社 ニューロコンピュータの非同期制御方式
US5963930A (en) * 1991-06-26 1999-10-05 Ricoh Company Ltd. Apparatus and method for enhancing transfer function non-linearities in pulse frequency encoded neurons
KR960002693B1 (ko) * 1991-07-10 1996-02-24 후지쓰 가부시끼가이샤 화상형성장치
FR2685109A1 (fr) * 1991-12-11 1993-06-18 Philips Electronique Lab Processeur numerique neuronal operant avec une approximation d'une fonction d'activation non lineaire.
US5274748A (en) * 1991-12-27 1993-12-28 At&T Bell Laboratories Electronic synapse circuit for artificial neural network
US5278945A (en) * 1992-01-10 1994-01-11 American Neuralogical, Inc. Neural processor apparatus
FR2690772A1 (fr) * 1992-04-29 1993-11-05 Philips Electronique Lab Processeur neuronal muni de moyens pour calculer une norme ou une distance.
US5404556A (en) * 1992-06-15 1995-04-04 California Institute Of Technology Apparatus for carrying out asynchronous communication among integrated circuits
US5355436A (en) * 1992-10-05 1994-10-11 The Research Foundation, State University Of New York At Buffalo Single layer neural network circuit for performing linearly separable and non-linearly separable logical operations
JPH06195322A (ja) * 1992-10-29 1994-07-15 Hitachi Ltd 汎用型ニューロコンピュータとして用いられる情報処理装置
JPH06266868A (ja) * 1992-12-24 1994-09-22 Olympus Optical Co Ltd ニューロン素子
US5473730A (en) * 1993-11-09 1995-12-05 At&T Ipm Corp. High efficiency learning network
US6681163B2 (en) * 2001-10-04 2004-01-20 Gentex Corporation Moisture sensor and windshield fog detector
US6377941B1 (en) * 1998-11-26 2002-04-23 International Business Machines Corporation Implementing automatic learning according to the K nearest neighbor mode in artificial neural networks
US6269354B1 (en) * 1998-11-30 2001-07-31 David W. Arathorn General purpose recognition e-circuits capable of translation-tolerant recognition, scene segmentation and attention shift, and their application to machine vision
FI112884B (fi) * 2000-05-22 2004-01-30 Ari Paasio Kuvan käsittely rinnakkaisprosessoriverkossa, sekä siihen soveltuva verkko ja solu
KR100656523B1 (ko) * 2005-07-27 2006-12-11 삼성전자주식회사 인체의 움직임을 이용한 시스템 및 그 방법
JP5922203B2 (ja) 2014-08-29 2016-05-24 株式会社日立製作所 半導体装置
US10474627B2 (en) * 2015-10-08 2019-11-12 Via Alliance Semiconductor Co., Ltd. Neural network unit with neural memory and array of neural processing units that collectively shift row of data received from neural memory
CN109923550B (zh) * 2016-08-19 2022-11-15 索尼公司 乘数累加器
KR20240024356A (ko) * 2017-06-21 2024-02-23 가부시키가이샤 한도오따이 에네루기 켄큐쇼 뉴럴 네트워크를 가지는 반도체 장치
US10636484B2 (en) * 2018-09-12 2020-04-28 Winbond Electronics Corporation Circuit and method for memory operation
WO2020076966A1 (en) * 2018-10-09 2020-04-16 Aistorm Inc. Charge based switched matrix and method therefor
WO2020126692A1 (en) * 2018-12-19 2020-06-25 Ams Ag Implementing a multi-layer neural network using a single physical layer of analog neurons
US11271535B2 (en) * 2019-02-28 2022-03-08 SiliconIntervention Inc. Analog computer with variable gain
WO2020221797A1 (en) * 2019-04-29 2020-11-05 Ams International Ag Computationally efficient implementation of analog neuron
US20200349422A1 (en) * 2019-05-02 2020-11-05 Silicon Storage Technology, Inc. Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network
JP7027371B2 (ja) * 2019-06-03 2022-03-01 株式会社東芝 ニューラルネットワークの演算装置、ニューラルネットワーク、ニューラルネットワークの制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3950733A (en) * 1974-06-06 1976-04-13 Nestor Associates Information processing system
US4660166A (en) * 1985-01-22 1987-04-21 Bell Telephone Laboratories, Incorporated Electronic network for collective decision based on large number of connections between signals
US4737929A (en) * 1986-04-14 1988-04-12 American Telephone And Telegraph Company, At&T Bell Laboratories Highly parallel computation network employing a binary-valued T matrix and single output amplifiers
WO1988010474A1 (en) * 1987-06-18 1988-12-29 University Of West Virginia State analog neural network and method of implementing same
WO1990003006A1 (en) * 1988-09-12 1990-03-22 Fujitsu Limited Learning processing system of network structure data processing unit
US4906865A (en) * 1988-12-09 1990-03-06 Intel Corporation Sample and hold circuit for temporal associations in a neural network
US4974169A (en) * 1989-01-18 1990-11-27 Grumman Aerospace Corporation Neural network with memory cycling
JPH05121749A (ja) * 1991-10-25 1993-05-18 Mitsubishi Electric Corp 電気的に書込みおよび消去可能な半導体記憶装置およびその製造方法

Also Published As

Publication number Publication date
DE68928385D1 (de) 1997-11-20
AU633812B2 (en) 1993-02-11
AU3187089A (en) 1990-03-23
KR940001173B1 (ko) 1994-02-16
EP0400147B1 (de) 1997-10-15
KR900702473A (ko) 1990-12-07
EP0400147A1 (de) 1990-12-05
WO1990002381A1 (en) 1990-03-08
US5131072A (en) 1992-07-14
FI902081A0 (fi) 1990-04-25
EP0400147A4 (en) 1993-01-27

Similar Documents

Publication Publication Date Title
DE68928385T2 (de) Neuronenrechner
DE69030778T2 (de) Ein Lernsystem in einem neuronalen Rechner
DE3883192T2 (de) Neuronale Netzwerkschaltung und -struktur.
DE112018005726B4 (de) Resistive verarbeitungseinheit auf zählerbasis für programmierbare und rekonfigurierbare künstliche neuronale netzwerke
DE3789116T2 (de) Prozessor zur zweidimensionalen diskreten cosinustransformation.
DE112017000855B4 (de) Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze
DE69032259T2 (de) Paralleldatenverarbeitungsanlage
DE102019116305A1 (de) Pipelining zur verbesserung der inferenzgenauigkeit neuronaler netze
DE4042139A1 (de) Neuron-einheit, neuronales netz und signalverarbeitungsverfahren
DE69115488T2 (de) Neuronale prozessoren für realwerteingangbearbeitung
DE68927611T2 (de) Digitales neuronales Netwerk
DE2158378A1 (de) Digitales Filter
DE2803425A1 (de) Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken
DE112020002186T5 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE68925625T2 (de) Verfahren zur Rückführung von Fehlern und neuronale Netzstruktur
EP0349820A1 (de) Netzwerk -Baustein und Architektur für die programmierbare Emulation künstlicher neuronaler Netze mit digitaler Arbeitsweise
DE102019126719A1 (de) Energieeffiziente Speichersysteme und Verfahren
US5216746A (en) Error absorbing system in a neuron computer
DE112020005613T5 (de) Neuromorphe Einheit mit Kreuzschienen-Array-Struktur
DE2732008A1 (de) Einrichtung zur reduzierung von fibonacci-p-codes auf die minimalform
DE112020002547T5 (de) Rausch- und signalverwaltung für rpu-array
DE4417932A1 (de) Paralleldatenverarbeitungssystem
DE69128174T2 (de) Gewichtetes Summierungsleistungssystem
DE69105129T2 (de) Kapazitive strukturen für bewertende summierung in neuronalen netzen.
DE68923266T2 (de) Lernendes verarbeitungssystem in einer netzwerkstruktur-datenverarbeitungseinheit.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition