DE69119172T2 - Neuronalnetzwerkschaltung - Google Patents

Neuronalnetzwerkschaltung

Info

Publication number
DE69119172T2
DE69119172T2 DE69119172T DE69119172T DE69119172T2 DE 69119172 T2 DE69119172 T2 DE 69119172T2 DE 69119172 T DE69119172 T DE 69119172T DE 69119172 T DE69119172 T DE 69119172T DE 69119172 T2 DE69119172 T2 DE 69119172T2
Authority
DE
Germany
Prior art keywords
circuit
addition
input
value
circuits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69119172T
Other languages
English (en)
Other versions
DE69119172D1 (de
Inventor
Yoshihito Amemiya
Atsushi Iwata
Osamu Saito
Kuniharu Uchimura
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2179665A external-priority patent/JP2542107B2/ja
Priority claimed from JP2179666A external-priority patent/JPH0467258A/ja
Priority claimed from JP2186528A external-priority patent/JPH0477865A/ja
Priority claimed from JP2232914A external-priority patent/JPH04112362A/ja
Priority claimed from JP2232915A external-priority patent/JPH04112354A/ja
Priority claimed from JP2235700A external-priority patent/JPH04116719A/ja
Priority claimed from JP2281891A external-priority patent/JPH04157566A/ja
Priority claimed from JP3060384A external-priority patent/JPH04295976A/ja
Priority claimed from JP3094220A external-priority patent/JPH04323723A/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of DE69119172D1 publication Critical patent/DE69119172D1/de
Application granted granted Critical
Publication of DE69119172T2 publication Critical patent/DE69119172T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2453Classification techniques relating to the decision surface non-linear, e.g. polynomial classifier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Nonlinear Science (AREA)
  • Evolutionary Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)
  • Telephonic Communication Services (AREA)

Description

    Hintergrund der Erfindung (Gebiet der Erfindung)
  • Die vorliegende Erfindung bezieht sich auf eine neuronale Netzwerkschaltung, die Netzwerkschaltkreise aus der Verbindung von den Eingangs- und Ausgangsanschlüssen einer Vielzahl von Neuronenkreisen, die als Einheitsschaltkreise dienen, umfaßt.
  • (Stand der Technik)
  • Neuronale Netzwerkschaltkreise verwenden das Nervensystem von Tieren als Modell und sind in der Lage, eine Mustererkennungsverarbeitung, wie eine Buchstaben- oder Sprachwiedererkennung, eine Optimierung, eine Robotersteuerung oder dergleichen durchzuführen, die schwierig für Naumann-Computer sind. In üblichen Naumann-Computern wurde die Verarbeitung aufeinanderfolgend in Übereinstimmung mit einem Programm durchgeführt, so daß die Berechnungszeit lang war. In neuronalen Netzwerkschaltkreisen führen dagegen die Neuronenkreise Berechnungen in paralleler Weise durch, so daß die Verarbeitungsgeschwindigkeit extrem hoch wird. Darüber hinaus werden die Funktionen von neuronalen Netzwerkschaltungen durch Lernen und durch die Änderung der Verbindungszustände zwischen Neuronen realisiert. Aus diesem Grund weisen sie die speziellen Eigenschaften dahingehend auf, daß sie in der Lage sind, Funktionen in Fällen von Problemen, die Verarbeitungsprozeduren aufweisen, die schwer in eine Regelform zu plazieren sind, zu realisieren, wenn Lernmaterial zugänglich ist. Wenn eine solche Schaltung während der Durchführung des normalen Lernens betrieben wird, ist es möglich, ein flexibles System zu konstruieren, selbst wenn die Funktionen, die wünschenswert sind, sich zeitlich auf der Grundlage von Änderungen der Umgebung ändern, wobei das konstruierte flexible System in der Lage ist, solchen Änderungen oder dergleichen zu folgen. Da die Netzwerkschaltung mittels der Verbindung einer Vielzahl von identischen Neuronenkreisen konstruiert ist, ist es zusätzlich einfach, Operationen durch einfaches Ersetzen von Kreisen, die gegebenenfalls ausfallen oder fehlerhaft sind, durch normal funktionierende Kreise, so daß es möglich ist, eine große Fehlerwiderstandsfähigkeit in Fällen, in denen LSIs verwendet werden, zu realisieren. Die vorliegende Erfindung ist für Fälle anwendbar, in denen neuronale Netzwerkschaltungen unter Verwendung von LSIs konstruiert werden und sie bezieht sich somit auf ein Verfahren des Aufbaus von Neuronenkreisen, die eine Verschaltung kleiner Größe aufweisen und wenig Energie verbrauchen.
  • Die neuronale Netzwerkschaltung verwendet Neuronenkreise, die Nervenzellen als Einheiten entsprechen; sie wird mittels der Verbindung einer Anzahl dieser Neuronenkreise aufgebaut. Fig. 27 zeigt einen Neuronenkreis. Ein Neuronenkreis empfängt Signale von einer Vielzahl von Eingangsanschlüssen und weist Wichtungskoeffizienten entsprechend den verschiedenen Eingangssignalen auf; er ändert die kombinierte Verstärkung (strength) in Abhängigkeit zu Wichtungskoeffizienten und berechnet die Differenz vom Ausgangssignal, addiert alle Ergebnisse und bestimmt das Eingangssignal. Der Aufbau der neuronalen Netzwerkschaltungen wird mittels der Verbindungen der Neuronenkreise festgelegt; allerdings ist der einfachste Aufbau ein Zweischichtennetzwerkaufbau, wie er in Fig. 28 gezeigt ist. Die Eingangsanschlußschicht wird Eingangsschicht oder erste Schicht genannt, während die Neuronenkreisschicht als zweite Schicht oder Ausgangsschicht bezeichnet wird. Die Signale von den verschiedenen Eingangsanschlüssen werden parallel allen Neuronenkreisen zugeführt und die Neuronenkreise sind in der Lage, die Eingangssignale parallel zu verarbeiten. Es wird eine Verarbeitung realisiert, bei der spezifische Neuronenkreise reagieren und Eingangssignale erkennen, wenn die Eingangssignale zugeführt werden.
  • Jedoch ist bei einem Zweischichtenaufbau des neuronalen Netzwerks die Verarbeitungsfähigkeit nicht groß, so daß allgemein ein Dreischichtenaufbau des neuronalen Netzwerks, wie er in Fig. 29 gezeigt wird, verwendet wird. Im Fall eines Dreischichtenaufbaus wird die zweite Schicht oder die Neuronenkreisschicht als Zwischenschicht oder versteckte Schicht bezeichnet, während die dritte Schicht bzw. Neuronenkreisschicht als Ausgangsschicht bezeichnet wird. Diese dritte Schicht verwendet den Ausgang der Neuronenkreise der zweiten Schicht als Eingangssignal und es gibt Fälle, in denen ihr Aufbau identisch zu dem der zweiten Schicht ist, und Fälle, in denen der Aufbau unterschiedlich ist. In dem Fall des identischen Aufbaus werden die Ausgangssignale der Zwischenschicht allen Neuronenkreisen der Ausgangsschicht zugeführt; allerdings ist ein einfacher Aufbau möglich, bei dem die Neuronenkreise der Ausgangsschicht nur eine ODER-Logik durchführen, wie in Fig. 29 gezeigt wird. In einem solchen Fall sind die Ausgänge der Zwischenschicht jeweils nur mit einem Neuronenkreis der Ausgangsschicht verbunden, so daß der Maßstab der Schaltung stark verringert werden kann, während eine ausreichende Fähigkeit in Fällen erhalten bleibt, in denen diese Kreise für eine Mustererkennung oder dergleichen verwendet werden. Um jedoch eine komplexe Verarbeitung durchzuführen war es üblich, einen komplexen Netzwerkaufbau zu verwenden, bei dem der Ausgang der Neuronenkreise zurückgekoppelt wird, ein Mehrschichtenaufbau von drei oder mehr Schichten verwendet wird, oder komplexe Netzwerkschaltungen kombiniert wurden.
  • Die Veröffentlichung NEURAL NETWORKS, Vol 2, 1989, Oxford GB, Seiten 395 bis 403; HARTSTEIN "A neural network capable of forming asssociations by example" schlägt einen neuronalen Netzwerkaufbau vor, der kompatibel mit Silizium-Technologie ist. Dieses Netzwerk weist das Merkmal auf, daß der Lemparameter in den Schwellen von MOSFET-Vorrichtungen ausgebildet ist und lokal in seiner Eigenschaft ist. Das Netzwerk ist in der Lage Assoziationen durch Beispiel zu bilden ebenso wie die wünschenswerten Merkmale von Hopfield- Netzwerken darzustellen.
  • Die Veröffentlichung in PROCEEDINGS OF THE 1988 CUSTOM INTEGRATED CIRCUITS CONFERENCE, 16. Mai 1988, Rochester, USA, Seiten 1031 bis 1035, MANN, "A self - organizing neural net chip" beschreibt eine Schaltung, die einen sich selbst organisierenden Algorithmus, der von Kohonen vorgeschlagen wurde, implementiert. Eine Anpassung wird durch Berechnen des Euclit'schen Abstandes an jedem Knoten zwischen dem Eingang und dem aktuellen Wichtungsvektor berechnet. Der Entwurf minimiert Schaltkreisfläche, indem eine unäre Kodierung in der Wichtungsdarstellung verwendet wird, um die Verwendung von Schiebeoperationen bei dem Adaptationsprozeß zu erlauben, und indem die Schaltkreise, die bei der Gewichtungsadaptation und den Aktivierungsberechnungen verwendet werden, geteilt werden.
  • Ein Neuronenkreis, der bei neuronalen Netzwerkschaltungen nach dem Stand der Technik verwendet wird, ist in Fig. 30 darsgestellt. Er weist eine Anzahl n an Wichtungskoeffizienten (w1-wn) entsprechend der Anzahl von Eingängen n auf; die Differenz zwischen einem eingegebenen Signal und einem Wichtungskoeffizienten wird durch eine Subtraktionsschaltung gefunden, dieses Ergebnis wird von einem Quadrierkreis quadriert, die Berechnungsergebnisse der verschiedenen Eingangssignale und Wichtungskoffizienten werden in einer Addierschaltung akkumuliert und die Ausganqswerte werden durch die Größe der Quadratwurzel dieses Ergebnisses bestimmt. Die Schwellenwertschaltung, die endgültig den Ausgangswert bestimmt, weist Übertragungseigenschaften entsprechend denen, die in den Fign. 31(a)-(c) gezeigt sind, auf. (a) zeigt ein Stufenfunktionsmuster, (b) zeigt ein Polygonallinienmuster und (c) zeigt ein Muster einer Sigmoid-Funktion. Die Kennlinie der Sigmoid-Funktion nach Fig. 31(c) weist eine große Flexibilität auf; da jedoch ihre Berechnungen komplex sind, ist es möglich, die vereinfachten Kennlinien oder Muster nach (a) oder (b) zu verwenden.
  • Eine Netzwerkschaltung mit dem Dreischichtenaufbau nach Fig. 29, die unter Verwendung der Neuronenkreise nach Fig. 30 aufgebaut ist, wurde für Mustererkennung oder dergleichen verwendet. Wenn die Anzahl der Neuronenkreise in der Zwischenschicht des Aufbaus nach Fig. 29 m und die Anzahl der Eingangsanschlüsse der Eingangsschicht n ist, existiert nur eine Anzahl von Wichtungskoeffizienten von n x n und nur diese Anzahl von Subtraktionsschaltungen und Quadrierschaltungen ist notwendig. Wenn die Anzahl von Objekten der Mustererkennung sich erhöht, erhöht sich die Anzahl von Neuronen m der Zwischenschicht, so daß es zu erkennen ist, daß eine extrem große Menge an Subtraktionsschaltungen und Quadrierschaltungen nötig wird. Insbesondere in dem Fall, bei dem die neuronale Netzwerkschaltung mittels digitaler Schaltkreise realisiert wird, wird der Schaltungsmaßstab der Quadrierschaltung, die Multiplikationsschaltkreise verwendet, extrem groß, so daß die Vorrichtung selbst extrem groß wird, und es ergab sich ein Problem dahingehend, daß eine Vielzahl von Neuronenkreisen nicht auf einem LSI angeordnet werden konnte. Darüber hinaus war die Schaltung groß in bezug auf die Menge an verbrauchter Energie bzw. elektrischem Strom ebenso wie in bezug auf den Schaltungsmaßstab des Quadrierkreises, so daß das Problem dahingehend entstand, daß ein extrem großer Stromverbrauch von der Einheit als Gesamtheit benötigt wurde, wenn eine extrem große Anzahl von Schaltkreisen gleichzeitig betrieben wurde.
  • Zusammenfassung der Erfindung
  • Es ist somit Aufgabe der vorliegenden Erfindung, eine neuronale Netzwerkschaltung zu realisieren, die in LSIs verwendet werden kann, die die Größe der Schaltung und den Stromverbrauch verringert, während die gleichen Funktionen wie bei den oben beschriebenen neuronalen Netzwerkschaltungen nach dem Stand der Technik beibehält, die Neuronenkreise mit Quadrierkreisen nach dem Stand der Technik umfassen.
  • Um die obige Aufgabe zu lösen, beschreibt die vorliegende Erfindung eine neuronale Netzwerkschaltung, wie sie in Anspruch 1 niedergelegt ist.
  • Die neuronale Netzwerkschaltung nach der vorliegenden Erfindung weist die gleichen Funktionen wie die der Quadrierkreise auf, die in der neuronalen Schaltung nach dem Stand der Technik verwendet wird; durch Ersetzen der Quadrierschaltkreise durch Absolutwertkreise, die in der Schaltungsgröße klein sind, werden die Quadrierschaltungen unnötig, so daß es möglich ist, die Größe der Schaltung und den Energieverbrauch zu verringern.
  • Darüber hinaus war in Neuronenkreisen nach dem Stand der Technik die Form der Identifikationsfläche festgelegt, so daß für die Bildung einer Kennungs- oder Identifikationsfläche bzw. -bereich mit einer frei gewählten Form eine extrem große Anzahl von Neuronenkreisen nötig war. In der vorliegenden Erfindung ist es möglich, die Form des Kennungsfeldes eines Neuronenkreises unterschiedlich zu machen und einen Kennungsbereich mit einer frei gewählten Form mit einer kleinen Anzahl von Neuronenkreisen mittels Neuronenkreisen, die die doppelte Anzahl von Wichtungskoeffizienten im Vergleich zu üblichen Neuronenkreisen haben, zu bilden.
  • Bei der Neuronenschaltung nach der vorliegenden Erfindung ist es möglich, das Ausmaß der Schaltung im Vergleich zu einer üblichen Neuronenschaltung stark zu verringern, und da weiterhin der Energieverbrauch proportional mit der Größe der Schaltung steigt, ist es möglich, den Energieverbrauch mittels der Verringerung der Schaltungsgröße zu verringern. Darüber hinaus ist es möglich, stark die Berechnungszeit zu verringern.
  • Zusätzlich kann bei der neuronalen Netzwerkschaltung nach der vorliegender Erfindung die notwendige Anzahl von Neuronenkreisen stark verringert werden und die Genauigkeit der Mustererkennung kann erheblich verbessert werden.
  • Kurze Beschreibung der Zeichnung
  • Fig. 1 zeigt ein erstes Ausführungsbeispiel des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 2 zeigt ein zweites bevorzugtes Ausführungsbeispiel des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig 3 zeigt ein drittes bevorzugtes Ausführungsbeispiel der Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 4(a) und 4(b) zeigen die Übertragungseigenschaften des Eingangsteils des Neuronenkreises; (a) zeigt die Eigenschaften der Subtraktionsschaltung und der Absolutwertschaltung, während (b) die Eigenschaften der Subtraktionsschaltung und der Gleichrichtschaltung zeigt,
  • Fig. 5 zeigt den Kennungsbereich eines Neuronenkreises nach dem Stand der Technik (im Fall von zwei Eingängen),
  • Fig. 6 zeigt den Kennungsbereich (Identifikationsbereich) des Neuronenkreises des ersten bevorzugten Ausführungsbeispiels nach der vorliegenden Erfindung (im Fall von zwei Eingängen),
  • Fign. 7(a) und 7(b) zeigen die Form der Kennungsfelder des Neuronenkreises nach der vorliegenden Erfindung (im Fall von zwei Eingängen), (a) zeigt die gestreckte Sphäroidform des zweiten bevorzugten Ausführungsbeispiels, während (b) die gestreckte Form eines Mehrflächenkörpers nach dem dritten Ausführungsbeispiel zeigt,
  • Fign. 8(a) und 8(b) zeigen eine erste Modifikation der Kennungsfläche mittels einer Mehrzahl von Neuronenkreisen (in dem Fall von zwei Eingängen); (a) zeigt die übliche Form, während (b) das zweite bevorzugte Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • Fign. 9(a) und 9(b) zeigen eine zweite Modifikation eines Kennungsbereichs mittels einer Mehrzahl von Neuronenkreisen; (a) zeigt ein Form nach dem Stand der Technik, während (b) das zweite bevorzugte Ausführungsbeispiel der vorliegenden Erfindung zeigt,
  • Fig. 10 zeigt ein Beispiel eines Aufbaus einer Berechnungsschaltung eines Neuronenkreises nach dem Stand der Technik,
  • Fig. 11 zeigt ein Beispiel eines Aufbaus eines Berechnungskreises eines Neuronenkreises in Übereinstimmung mit dem ersten bevorzugten Ausführungsbeispiel der Erfindung,
  • Fig. 12 zeigt das Beispiel eines Aufbaus eines Berechnungskreises eines Neuronenkreises mit einem gestreckten Mehrflächenkörper-Kennungsfeld in Übereinstimmung mit dem dritten bevorzugten Ausführungsbeispiel der vorliegenden Erfindung,
  • Fig. 13 ist ein Blockschaltbild eines vierten bevorzugten Ausführungsbeispiels des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 14 ist ein Blockschaltbild eines fünften bevorzugten Ausführungsbeispiels des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 15 zeigt die Kennungsflächen der Neuronenkreise des vierten und fünften bevorzugten Ausführungsbeispiels der vorliegenden Erfindung (im Fall von zwei Eingängen),
  • Fig. 16 ist ein Blockschaltbild eines ersten bevorzugten Ausführungsbeispiels der Schaltung zur Akkuinulationsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 17 ist ein Blockschaltbild eines zweiten bevorzugten Ausführungsbeispiels des Schaltkreises zur Akkumulationsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 18 ist ein Blockschaltbild eines dritten bevorzugten Ausführungsbeispiels der Schaltung zur Akkumulationsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 19 ist ein Blockschaltbild eines vierten bevorzugten Ausführungsbeispiels der Schaltung zur Akkumulationsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 20 ist eine erläuternde Darstellung der Operation des Schaltkreises zur Akkumulationsberechnung des Neuronenkreises der vorliegenden Erfindung,
  • Fig. 21 ist ein Blockschaltbild eines fünften bevorzugten Ausführungsbeispiels der Schaltung zur Akkumulationgsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 22 ist ein Blockschaltbild der Additionsbasisschaltung des Schaltkreises zur Akkumulationgsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 23 ist ein Blockschaltbild eines sechsten bevorzugten Ausführungsbeispiels der Schaltung zur Akkumulationsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 24 ist ein Blockschaltbild eines siebenten bevorzugten Ausführungsbeispiels der Schaltung zur Akkumulationsberechnung des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 25 ist ein Blockschaltbild eines ersten vereinfachten bevorzugten Ausführungsbeispiels des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 26 ist ein Blockschaltbild eines zweiten vereinfachten bevorzugten Ausführungsbeispiels des Neuronenkreises nach der vorliegenden Erfindung,
  • Fig. 27 zeigt das Symbol des Neuronenkreises,
  • Fig. 28 zeigt den Aufbau einer neuronalen Netzwerkschaltung im Zweischichtenaufbau,
  • Fig. 29 zeigt den Aufbau einer neuronalen Netzwerkschaltung eines Dreischichtenaufbaus (mit ODER-Verarbeitungsausgang),
  • Fig. 30 zeigt die Aufbau eines Neuronenkreises nach dem Stand der Technik,
  • Fign. 31(a), (b) und (c) zeigen die Übertragungseigenschaften des Schwellenwertkreises; (a) zeigt eine Stufenfunktionform, (b) zeigt eine Polygonallinienform und (c) zeigt eine Sigmoid-Funktionsform.
  • Genauere Beschreibung der bevorzugten Ausführungsbeispiele (Neuronenkreis 1)
  • Ein erstes bevorzugtes Ausführungsbeispiel des Neuronenkreises der vorliegenden Erfindung ist in Fig. 1 dargestellt. Dieser Schaltkreis weist eine Anzahl n an Gewichtskoeffizienten (w1-w2) entsprechend der Anzahl n an Eingängen auf; die Subtraktionsschaltungen bestimmen die Differenz zwischen den Eingangssignalen und den Wichtungskoeffizienten, wobei ihre Ergebnisse in die Absolutwertschaltkreise eingegeben werden und die Ausgangswerte werden auf der Grundlage von deren Ergebnissen bestimmt. Der Schwellenwertkreis, der schließlich den Ausgangswert festlegt, weist, wie im Fall eines Schaltkreises nach dem Stand der Technik, die Übertragungseigenschaften auf, die in den Fign. 31(a)-(c) dargestellt sind. Im Vergleich mit dem Neuronenkreis nach Fig. 30 nach dem Stand der Technik sind die Quadrierkreise durch Absolutwertschaltungen ersetzt worden und der Quadratwurzelkreis ist weggelassen.
  • Die Netzwerkschaltung nach Fig. 29, die Neuronenkreise nach Fig. 30 nach dem Stand der Technik oder Neuronenkreise nach der vorliegenden Erfindung entsprechend Fig. 1 umfaßt, wird umfangreich in der Mustererkennung verwendet. Mittels eines in die Eingangsschicht eingegebenen Musters reagieren die Neuronenkreise und es wird eine Erkennung durchgeführt. Wenn die Wichtungskoeffizienten der Neuronenkreise so festgelegt sind, daß sie den Mehrdimensionenraum der Dimensionsanzahl entsprechend der Anzahl der Eingangssignale in eine Vielzahl von erkannten Bereichen bzw. Flächen teilen, reagieren die Neuronenkreise, die den Bereich oder die Fläche bilden, die das eingegebene Muster umfaßt.
  • In dem Fall, in dem die Anzahl der Eingänge 2 ist, ist die Form der von einem Neuronenkreis gebildeten Fläche kreisförmig, wie in Fig. 5 für den Fall des Standes der Technik nach Fig. 30 gezeigt wird. Beispielsweise ist es in dem Fall, in dem die Werte der Eingänge 1 und 2 in der kreisförmigen Fläche liegen, so daß der Neuronenkreis reagieren wird, vorzuziehen, daß die Werte der Wichtungskoeffizienten w1 und w2 auf den Mittelpunkt des Kreises gesetzt werden und ein Vektor W festgelegt wird und daß die Größe des Schwellenwertpegels h des Schwellenwertkreises auf seinen Radius gesetzt wird. Anders gesagt, wird der Abstand zwischen dem Vektor W und dem eingegebenen Vektor berechnet und wenn dieser Abstand unter dem Schwellenwertpegel h liegt, liefert der Neuronenkreis ein Reaktionsausgangssignal (Low). Somit wird der Kreis mit dem Radius h, der den gleichen Abstand wie der Vektor W aufweist, die Grenze. Wenn die Übertragungseigenschaften des Schwellenwertkreises entsprechend einer Stufenfunktion wie in Fig. 31(a) gesetzt wird, wird die Grenze des Kennungsfeldes deutlich und wenn die Übertragungseigenschaften entsprechend den Eigenschaften nach Fig. 31(b) und (c) festgelegt werden, weist die Grenze eine Breite auf. In dem Fall, in dem die Anzahl der Eingänge drei ist, weist der Identifikationsbereich die Form einer Kugel auf, während im Fall von vier oder mehr Eingängen der Kennungsbereich die Form eines gestreckten Sphäroids aufweist. Die Anzahl der Bereiche, in denen eine Identifikation möglich ist, steigt mit dem Anstieg der Zahl an Neuronenkreisen. Darüber hinaus kann mittels der Durchführung einer ODER-Verarbeitung in der Ausgangsschicht, wie in Fig. 29 gezeigt wird, der Identifikationsbereich mittels der Gruppierung einer Vielzahl von gestreckten Sphäroiden gebildet werden, so daß, wenn eine Anzahl von Neuronenkreisen verwendet wird, es möglich ist, einen Identifikationsbereich mit einer freigewählten Form zu bilden.
  • In dem ersten Neuronenkreis entsprechend der vorliegenden Erfindung ist in dem Fall, bei dem zwei Eingänge vorhanden sind, die Form des von einem Neuronenkreis gebildeten Bereichs ein Quadrat, wie in Fig. 6 gezeigt wird. In dem ersten Neuronenkreis werden die Absolutwerte der Differenzen zwischen den Eingangssignalen und den Wichtungskoeffizienten addiert und wenn ihre Summe kleiner ist als der Schwellenwert h des Schwellenwertkreises, wird eine Reaktionsausgangssignal geliefert. Wenn seine Grenzen im Falle des Eingangs eins x und im Falle des Eingangs zwei y sind, dann kann dies durch die lineare Formel
  • X-w1 + Y-w2 =h
  • ausgedrückt werden.
  • Somit wird im Fall, bei dem die Anzahl der Eingänge 2 ist, die Form zu einem Quadrat, wie in Fig. 6 gezeigt ist, während, wenn die Anzahl von Eingängen 3 ist, die Form ein Oktaeder ist, und wenn die Eingangsanzahl 4 oder mehr ist, wird die Form die eines gestreckten Mehrflächenkörpers.
  • Wenn ein Vergleich zwischen den Identifikationsbereichen der vorliegenden Erfindung und dem Kreis nach dem Stand der Technik durchgeführt wird, ist es klar, daß beide die gleichen Funktionen besitzen, mit der einzigen Ausnahme, daß die Formen der Identifikationsbereiche sich unterscheiden. In dem Fall, in dem eine Vielzahl von Neuronenkreisen verwendet wird, um einen Identifikationsbereich mit einer frei gewählten Form zu bilden, existiert die Notwendigkeit des Bildens von überlappenden Abschnitten, da Lücken gebildet werden können, wenn die Schaltkreise angeordnet werden, um so einen Kontakt in Form eines gestreckten Sphäroids oder eines gestreckten Multiflächenkörpers herzustellen. In bezug auf die überlappenden Teile gibt es einen kleinen Unterschied in den Formen der Identifikationsbereiche der zwei Arten von Neuronenkreisen. Mit anderen Worten gesagt, da nur die Form der Unregelmäßigkeiten der Fläche der frei gewählten Form unterschiedlich ist, gibt es fast keine Differenz in der Leistung, die aus den Unterschieden der Formen des Identifikationsbereiche der zwei Arten von Neuronenkreisen resultiert.
  • Ein Beispiel des Aufbaus eines Neuronenkreises nach dem Stand der Technik, der in einem Fall verwendet wird, bei dem eine neuronale Netzwerkschaltung mittels digitaler Kreise realisiert ist, wird in Fig. 10 gezeigt, während eine Schaltung für diesen Zweck in Übereinstimmung mit der vorliegenden Erfindung in Fig. 11 dargestellt wird. In den Fign. 10 und 11 werden Eingangsteile des Neuronenkreises gezeigt, in denen nur eine Additionsschaltung mit der Zahl i gezeigt wird, die die Akkumulation der Berechnungsergebnisse von 1 bis n der Berechnungskreise in bezug auf den Eingang mit der Zahl i und den Wichtungskoeffizienten durchführt. Wenn die Fign. 10 und 11 verglichen werden, kann erkannt werden, daß der Aufbau identisch ist, mit der Ausnahme des Unterschiedes zwischen den Quadrierkreissen nach dem Stand der Technik und den Absolutwertkreisen nach der vorliegenden Erfindung. Der Quadrierkreis nach dem Stand der Technik wird mittels der Eingabe eines identischen Signals in die zwei Eingangsanschlüsse a und b des Multiplizierers realisiert, dagegen umfaßt der Absolutwertkreis nach der vorliegenden Erfindung nur eine EX-ODER(EXKLUSIV-ODER)-Logikschaltung, wie in Fig. 11 gezeigt wird. Wenn die Differenz zwischen Eingangssignal i und Wichtungskoeffizient wi in dem Additionskreis berechnet wird, wird in dem Fall, in dem das Berechnungsergebnis eine positive Zahl ist, der Übertragausgang (Co) zu "0", während bei einem Berechnungsergebnis mit negativer Zahl der Übertragausgang (Co) zu "1" wird. Um mit zwei digitalen Binärsignalen die negativen Zahlen in positive Zahlen umzuwandeln, ist es vorzuziehen, jedes Bit Signal zu invertieren und "1" zu addieren. Somit ist es möglich, die Addition von "1" unter Verwendung des Übertrageinqangs (Cin) des Additionskreises durchzuführen, der die Inversion jedes Bit Signals unter Verwendung der EX-ODER-Gatter durchführt und nur eine Akkumulation ausführt, wenn der zuvor erwähnte Ausgang Co "1" ist.
  • In den Fign. 10 und 11 wird ein Beispiel eines Falls angegeben, in dem das Signal ein digitales 4 Bit Binärsignal ist, jedoch dient dies zum Zwecke der Vereinfachung der Darstellung und im allgemeinen wird ein digitales Binärsignal mit einer Genauigkeit von größer als acht Bit verwendet. Wenn die Bitanzahl des digitalen Signals als Nbit angenommen wird, dann wird die Anzahl der Transistoren Na, die für den Additionskreis notwendig ist, durch die folgende Formel angegeben:
  • Na = 28 Nbit.
  • Darüber hinaus ist die Anzahl der Transistoren Nm, die für den Umfang des Multiplikationskreises notwendig ist durch die folgende Formel angebbar:
  • Nm = 26 Nbit².
  • Darüber hinaus wird die Anzahl an Transistoren Nz, die für den Umfang des Absolutwertkreises notwendig ist, durch die folgende Formel gegeben:
  • Nz = 16 Nbit.
  • Die Anzahlen der Transistoren, die für die Fälle der 8 Bit und 16 Bit Signale notwendig sind, würden sich somit wie folgt ergeben;
  • Nbit = 8: Na = 224, Nm = 1,664, Nz = 128
  • Nbit = 26:Na = 448, Nm = 6,656, Nz = 256.
  • Wenn sich die Anzahlen der Bits erhöhen, ist es klar, daß die Schaltungsabmessung des Multiplizierkreises extrem groß im Vergleich mit der der Additionskreise oder der Absolutwertkreise wird. Auf diese Weise stellen die Neuronenkreise in Übereinstimmung mit der vorliegenden Erfindung, die keine Multiplikationskreise verwenden, eine Verbesserung in bezug auf die Schaltkreise nach dem Stand der Technik dar, dahingehend, daß die Schaltungsabmessungen starkt verringert werden können.
  • Darüber hinaus ist es gleichfalls möglich, den Energieverbrauch mit der Verringerung der Schaltkreisabmessungen zu verringern, da der Energieverbrauch sich proportional zu der Schaltungsabmessung erhöht.
  • Außerdem kann, im Falle eines Vergleichs in den Verzögerungen des Multiplikationskreises und des Absolutwertkreises die Verzögerungszeit Tm des Multiplikationskreises mittels der Formel Tm = 2 Nbit Ta1 approximiert werden, wenn die verzögerungszeit des 1 Bit Additionskreises zu Ta1 angenommen wird. Dagegen ist die Verzögerungszeit des Absolutwertkreises etwas geringer als die Verzögerungszeit des 1 Bit Additionskreises, so daß es möglich ist, die Verzögerungszeit auf 1/(2Nbit) der des Multiplikationskreises zu verringern. Auf diese Weise hat der Neuronenkreis der vorliegenden Erfindung den Vorteil, daß er in starkem Maße die Berechnungszeit verringert.
  • (Neuronenkreis 2)
  • Das zweite und dritte Ausführungsbeispiel des Neuronenkreises nach der vorliegenden Erfindung sind in den Fign. 2 und 3 dargestellt. Sie sind mit einer Anzahl n an Eingangsanschlüssen (n ist eine ganze Zahl größer als 1) und einer Gesamtanzahl 2n an Wichtungskoeffizienten, zwei von jeden entsprechend einem Eingangsanschluß versehen; wenn der Wichtungskoeffizient mit dem größeren Wert in einer Gruppe von zwei wH ist und der Wichtungskoeffizient des kleineren Wertes wL ist, dann bestimmt die Subtraktionsschaltung (Eingangssignal - wH) und (wL - Eingangssignal) und ein Gleichrichtkreis ist eingeschlossen, der nur positive Werte der Subtraktionsergebnisse durchläßt. Die Berechnungsergebnisse in bezug auf die Eingangssignale und Wichtungskoeffizienten werden alle mittels eines Addierkreises akkumuliert und der Ausgangswert wird mittels dieser Ergebnisse bestimmt. Der Schwellenwertkreis, der schließlich den Ausgangswert bestimmt, weist Übertragungseigenschaften wie die in Fig. 31 auf, die identisch zu denen der Schaltung nach dem Stand der Technik sind.
  • Die Übertragungseigenschaften des Eingangsteils din den Neuronenkreis nach Fig. 1 sind in Fig. 4(a) gezeigt. Die Eigenschaften der Subtraktionsschaltung und der Absolutwertschaltung nimmt ein V-Form an, da die Polarität des Teils unter dem Wichtungskoeffizienten w in bezug auf das Eingangssignal invertiert wird. In einem Neuronenkreis mit einem Quadrierkreis nach dem Stand der Technik wie in Fig. 30 sind die Übertragungskennlinien solche einer Parabel. In dem dritten Neuronenkreis nach der vorliegenden Erfindung sind dagegen zwei Wichtungskoeffizienten wH und wL für einen Eingang vorgesehen, so daß die Kennlinien des Eingangsbereichs in der Fig. 4(b) gezeigt werden. In bezug auf den Eingang zwischen wH und wL wird der Ausgangspegel zu 0. Darüber hinaus werden in dem zweiten Neuronenkreis nach der vorliegenden Erfindung die Bereiche der geraden Linien unter wL und über wH mittels der Quadrierkreise zu parabolischen Kurven.
  • In dem Fall, in dem zwei Eingänge bei den Neuronenkreisen der vorliegenden Erfindung nach Fign. 2 und 3 vorgesehen sind, ist die Form des von einem Neuronenkreis gebildeten Bereichs, die, die in Fig. 7(a) gezeigt wird, für den Fall des Neuronenkreises nach Fig. 2 und die, die in Fig. 7(b) gezeigt wird, für den Fall des Neuronenkreises nach Fig. 3. Ein Neuronenkreis weist einen Vektor wH mit der Wichtungskoeffizienten wH1 und wH2 und einen Vektor wL mit dem Wert der Wichtungskoeffizienten wL1 und wL2 auf; in dem Bereich, in dem Eingang 1 < wL1, Eingang 2 < wL2, in dem Bereich, in dem Eingang 1 < wL1 und Eingang 2 > wH2, in dem Bereich, in dem Eingang 1 > wH1 und Eingang 2 < wL2 und in dem Bereich, in dem Eingang 1 > wH1 und Eingang 2 > wH2 sind, liegen Kennlinien bzw. Eigenschaften identisch zu denen des ersten Neuronenkreises vor. Allerdings ist in anderen Regionen das Berechnungsergebnis in bezug auf Eingang 1 0, wenn Eingang 1 zwischen wL1 und wH1 ist, so daß nur der Umfang des Identifikationsbereiches von Eingang 2 bestimmt ist und der Bereichsumfang, in dem der Schwellenwertkreis "Low" ausgibt, ist der Umfang von (wL2 - h) bis (wH2 + h). Außerdem ist das Berechnungsergebenis in bezug auf Eingang 2 0, wenn Eingang 1 zwischen wL2 und wH2 liegt, so daß nur der Umfang des Identifikationsbereichs des Eingangs 1 bestimmt ist und der Bereichsumfang, in dem der Schwellenwertkreis "Low" ausgibt, ist der Umfang von (wL1-h) bis (wH1-+h).
  • Wenn somit die Bereiche von beiden zusammengelegt werden, ergibt sich die Form, die in Fig. 7 gezeigt wird. Das Viereck, das als Diagonale die beiden Punkte (wL1, wL2) und (wH1, wH2) aufweist, ist kein Quadrat sondern eher ein Rechteck, und es ist klar, daß die Form mittels der Wichtungskoeffizienten gesteuert wird. In dem Fall, in dem die Anzahl der Eingänge 3 ist, weist der Identifikationsbereich die Form eines Rechteck-Parallelopipeds auf, das einen Umfangsteil mit einer Dicke h einschließt, und in dem Fall, in dem die Anzahl 4 oder größer ist, weist er die Form eines gestreckten Rechteck-Parallelopipeds einschließlich eines Umfangsteils mit der Dicke von h auf.
  • Es wurde erläutert, daß die Form des Identifikationsbereichs des Neuronenkreises in Übereinstimmung mit der vorliegenden Erfindung in Fig. 7 gezeigt wird; im Fall jedoch, bei dem Vektoren wL und wH ungefähr gleich sind, nähert sich die Form der des Identifikationsbereichs des ersten Neuronenkreises an, und wenn der Schwellenwert h klein ist, ist die Form fast rechteckig. Auf diese Weise ist der Freiheitsgrad in der Form des Identifikationsbereichs des Neuronenkreises der vorliegenden Erfindung hoch.
  • Somit werden Beispiele, die Neuronenkreise nach dem Stand der Technik und Neuronenkreise nach der vorliegenden Erfindung gezeigt, bei denen die frei gewählte Form nach Fig. 8 als Zielidentifikationsbereich genommen wird. In dem Beispiel nach Fig. 8(a) entsprechend dem Stand der Technik sind, wie oben beschrieben wurde, eine Anzahl von Neuronenkreise notwendig; im Falle der vorliegenden Erfindung jedoch, wie in Fig. 8(b) (der Fall von Fig. 2) gezeigt, ist eine extrem kleine Menge an Neuronenkreisen notwendig. Zusätzlich ist es bei der aktuellen Anwendung nicht der Fall, daß alle eingegebenen Daten effektiv bei der Mustererkennung verwendet werden können, es ist jedoch eher der Fall, daß diese Daten zum Extrahieren der speziellen Daten des Muster verwendet werden, so daß unnötige Eingangsdaten häufig eingeschlossen sind. Die Fign. 9(a) und (b) zeigen Beispiele eines Falls, in dem der Wert des Eingangs 2 eine Dateninformation ohne Bedeutung ist. Der Identifikationsbereich wird mittels Eingang 1 festgelegt und hinsichtlich des Eingangs 2 ist der ganze Umfang in dem Bereich eingeschlossen. Als ein Ergebnis muß ein Bereich realisiert werden, der in Richtung des Eingangs 2 lang ist. Bei dem Fall jedoch, bei dem die Anzahl von Bits in dem digitalen Signal, das das Eingangssignal 2 ausdrückt, groß ist, oder bei den Fällen, in denen die Terme mittels eines Gleitkommas ausgedrückt werden, ist der Umfang des Eingangs 2 extrem groß und je schmaler die Breite des Identifikationsbereichs des Eingangs 1 ist, je kleiner ist der Durchmesser der Kreise, mit denen der Identifikationsbereich gefüllt werden muß, so daß eine extrem große Anzahl an Neuronenkreisen notwendig wird. Das aktuelle Problem liegt darin, daß die Abmessung der Schaltung im Vergleich zu der Anzahl von Neuronen groß wird und es gibt eine Grenze für die Neuronenanzahl, so daß der Umfang des Eingangssignals unvermeidbar schmal wird. Wenn der Umfang des Eingangssignals verkleinert wird, fällt die Signalgenauigkeit (Auflösung), so daß es unmöglich wird, eine genaue Mustererkennung durchzuführen. Bei der vorliegenden Erfindung ist es jedoch selbst in solchen Fällen möglich, einen Neuronenkreis unabhängig von dem Umfang des Eingangssignals zu verwenden, so daß die notwendige Anzahl von Neuronen in starkem Maße reduziert werden kann. Darüber hinaus ist es klar, daß es auch möglich ist, wesentlich die Genauigkeit der Mustererkennung zu verbessern.
  • Ein Beispiel des Aufbaus des Neuronenkreises im Fall der Realisierung der dritten neuronalen Netzwerk- Schaltung in Übereinstimmung mit der vorliegenden Erfindung mittels digitaler Kreise ist in Fig. 12 dargestellt. In Fig. 12 wird nur der Berechnungskreis entsprechend einem i-ten Eingang und Wichtungskoeffizienten, der den Eingangsteil des Neuronenkreises darstellt, und eine i-te Additionsschaltung, die die Akkumalation der Berechnungsergebnisse von 1 bis n durchführt, gezeigt, Wenn der Übertragausgang (Co) des Additionskreises, der die Subtraktion des Eingangssignals und des Wichtungskoeffizienten durchführt, "1" ist, ist das Ergebnis der Berechnung eine negative Zahl und der Gleichrichtkreis überträgt unter Verwendung eines UND-Gatters nicht die negativen Zahlen. Weiterhin ist unter den Berechnungsergebnissen der wH und der wL Koeffizienten mindestens eines ein 0 Ausgangssignal, so daß die Addition beider Ergebnisse einfach mittels eines ODER-Gatters durchgeführt werden kann, so daß die Anzahl der Additionskreise, die die Akkumulation durchführen, nicht größer ist als die im Falle der Fig. 1. Somit weist ein Neuronenkreis in Übereinstimmung mit der vorliegenden Erfindung eine Schaltungsgröße auf, bei der die Anzahl der für die Berechnung der Wichtungskoeffizienten verwendeten Additionskreise sich nur auf 2 erhöht, von 1 im Falle nach Fig. 1 gesehen.
  • In dem zweiten bevorzugten Ausführungsbeispiel wurde angegeben, daß zwei Quadrierkreise für jeden Eingang bzw. jedes Eingangssignal notwendig sind; wenn jedoch ein Aufbau nach Fig. 12 angenommen wird, bei dem eine erste Addition mittels ODER-Kreisen durchgeführt wird und danach Quadrierkreise angeordnet sind, können die gleichen Berechnungen durchgeführt werden, so daß ein Quadrierkreis für jeden Eingang wie in der Schaltung nach dem Stand der Technik vorgesehen werden kann. Wenn die Schaltungsabmessung des Additionskreises und des Quadrierkreises verglichen wird, ist die des Quadrierkreises sehr viel größer, so daß der entsprechende Anstieg in der Schaltungsgröße eines Neuronenkreises der vorliegenden Erfindung gering ist.
  • Das Ausmaß der Verringerung der notwendigen Anzahl von Neuronen variiert abhängig von der Anwendung; jedoch ist das Maß an Verringerung im Vergleich zu einer neuronalen Netzwerkschaltung großen Maßstabs sehr groß, in der Größenordnung von 1/100stel bis 1/10000 oder weniger, so daß die Verringerung der Schaltungsgröße der neuronalen Netzwerkschaltung in Übereinstimmung mit der vorliegenden Erfindung extrem groß ist.
  • (Neuronenkreis 3)
  • Der Aufbau eines vierten Ausführungsbeispiels eines Neuronenkreises nach der vorliegenden Erfindung ist in Fig. 13 dargestellt. Das vorliegende bevorzugte Ausführungsbeispiel wandelt das mittels des Subtraktionskreises erhaltene Subtraktionsergebnis des Eingangssignals und des Wichtungskoeffizienten mittels Quadrierkreisen um. Es ist mit einer Anzahl n von Eingangsanschlüssen (n ist eine ganze Zahl > 1) und eine Anzahl 2n an Wichtungskoeffizienten versehen, wobei jeweils zwei Wichtungskoeffizienten einem Eingangsanschluß entsprechen; die Subtraktionskreise bestimmen die Differenzen zwischen den Eingangssignalen und einem Wichtungskoeffizienten w der Gruppen von zwei Koeffizienten, diese Subtraktionsergebnisse werden von den Quadrierkreisen in positive Werte umgewandelt und werden in den Multiplikationskreisen mit dem verbleibenden Wichtungskoeffizienten wh multipliziert. Die Berechnungsergebnisse der Eingangssignale und Wichtungskoeffizienten werden alle in dem Addierkreis akkumuliert und der Ausgangswert wird mittels dieses Ergebnisses bestimmt.
  • Der Aufbau eines fünften bevorzugten Ausführungsbeispiels des Neuronenkreises der vorliegenden Erfindung wird in Fig. 14 dargestellt. Das vorliegende bevorzugte Ausführungsbeispiel wandelt das mittels der Subtraktionsschaltungen erhaltene Subtraktionsergebnis des Eingangssignals und der Wichtungskoeffizienten unter Verwendung von Absolutwertkreisen um. Es weist eine Anzahl n von Eingangsanschlüssen (n ist eine ganze Zahl > 1) und eine Anzahl 2n an Wichtungskoeffizienten auf, wobei jeweils zwei Wichtungskoeffizienten einem Eingangsanschluß entsprechen; die Subtraktionskreise bestimmen die Differenz zwischen den Eingangssignalen und eine der Wichtungskoeffizienten w der Koeffizientengruppen, die Subtraktionsergebnisse werden in den Absolutwertkreisen in positive Werte umgewandelt und mit dem verbleibenden Wichtungskoeffizienten wh in den Multiplikationskreisen multipliziert. Die Berechnungsergebnisse der Eingangssignale und der Wichtungskoeffizienten werden alle durch die Additionskreise akkumuliert und der Ausgangswert wird auf der Grundlage dieses Ergebnisses bestimmt.
  • Fig. 15 zeigt Formen der Identifikationsbereiche der Neuronenkreise in Übereinstimmung mit der vorliegenden Erfindung. In dem Fall, bei dem die Anzahl von Eingängen 2 ist, ist die Form des von einem Neuronenkreis nach Fig. 13 gebildeten Bereichs die einer Ellipse, wie in Fig. 15(A) gezeigt wird. Weiterhin ist im Falle eines Neuronenkreises nach Fig. 14 die Form des von diesem gebildeten Bereichs der einer Raute, wie in Fig. 15(B) gezeigt wird.
  • Beispielsweise ist in dem bevorzugten Ausführungsbeispiel nach Fig. 13 der Grenzpunkt in bezug auf Eingangssignal 1 (Eingang 1 - w1) whl = h, so daß der Radius in Richtung des Eingangs 1 zu h/wh1 wird. In der gleichen Weise wird der Radius in Richtung des Eingangs bzw. Eingangssignals 2 zu h/wh2. Das heißt, daß der Durchmesser frei mittels des Wichtungskoeffizienten wh gesteuert werden kann. Weiterhin kann in dem bevorzugten Ausführungsbeispiel nach Fig. 14 ebenfalls die Diagonalrichtung des Vierecks frei gesteuert werden. Auf diese Weise wird der Freiheitsgrad der Form des Identifikationsbereichs des Neuronenkreises nach der vorliegenden Erfindung hoch, so daß die gleiche Wirkung wie in den Fällen des zweiten und dritten bevorzugten Ausführungsbeispiels der vorliegenden Erfindung entsprechend Fign. 2 und 3 erzielt werden können.
  • (Konkrete Schaltung)
  • Wenn die oben beschriebene neuronale Netzwerkschaltung realisiert wird, wird eine große Menge an Berechnungskreisen verlangt, um die Koeffizientenberechnung und die Akkumulationsberechnung durchzuführen und es tritt ein Problem dahingehend auf, daß diese Schaltkreise eine große Energie verbrauchen. Um diesen Energieverbrauch zu verringern und die Verarbeitungszeit zu verkürzen, ist es effizient, die neuronale Netzwerkschaltung unter Verwendung der im folgenden beschriebenen Akkumulations-Additionsschaltung aufzubauen.
  • Die Akkumulationsadditionsschaltung nach der vorliegenden Erfindung verwendet die Endschwellenwert-Verarbeitungseigenschaften; alle Eingangssignale der Akkumulationsadditionskreise weisen eine einzige Polarität auf und das Zwischenergebnis der Akkumulationsaddition steigt in monotoner Weise, so daß im Vergleich mit dem Sättigungspunktwert bei der Schwellenwertverarbeitung bei dem Fall, bei dem das Akkumulationsergebnis den Sättigungspunkt überschreitet, der Schwellenwertkreis einen vorbestimmten Wert ausgibt, so daß unnötige Berechnungen, die keine Wirkung auf die Ausgangsergebnisse haben, abgebrochen werden, und es ist möglich, die Verarbeitungszeit zu verkürzen und den Energieverbrauch zu verringern.
  • (Konkretes Schaltungsbeispiel 1)
  • Im bevorzugten Ausführungsbeispiel nach Fig. 16 ist eine Anzahl n von Additionskreisen mit zwei Eingangsanschlüssen ADD-1, ADD-2, ... ADD-n als ein Additionsmechanismus, ein Schwellenwertkreis als Schwellenwertverarbeitungsmechanismus und eine Anzahl n von Unterscheidungskreisen CTL-1, CTL-2, ..., CTL-n und ein ODER-Kreis für die Bewertung von Ergebnissen jedes Unterscheidungskreises CTL-1, ... als Steuermechanismus vorgesehen. Zuerst werden zwei Eingangssignale d1 und d2 mit identischer Polarität dem ersten Additionskreis ADD-1 zugeführt, das Additionsergebnis von ADD-1 und Eingangssignal d3 mit der identischen Polarität werden an den zweiten Additionskreis geliefert und danach werden in der gleichen Weise das Additionsergebnis, das von einem Additionskreis mit der Zahl n-1 (in dem Schaltbild weggelassen) akkumuliert wurde, und ein Eingangssignal dn mit der identischen Polarität an einen Additionskreis ADD-n mit der Zahl n geliefert und das akkumulierte Additionsergebnis wird dem Schwellenwertkreis zugeführt. Wie in Fig. 31 gezeigt wird, weist der Schwellenwertkreis Übertragungskennlinien bzw. -eigenschaften auf, entsprechend denen der Ausgangspegel bei einem Wert g gesättigt ist. Als nächstes werden das Eingangssignal d1 und der Sättigungspegel g des Schwellenwertkreises 1 dem ersten Entscheidungskreis CTL-1 zugeführt, das Additionsergebnis des ersten Additionskreises ADD-1 und der Sättigungspegelwert g als Schwellenwert des Schwellenwertkreises 1 werden dem zweiten Entscheidungskreis CTL-2 zugeführt und danach werden in der gleichen Weise das Akkumulationsadditionsergebnis des Additionskreises mit der Zahl n-1 (nicht in der Schaltung dargestellt) und der Sättigungspegelwert g in einen Entscheidungskreis CTL-n mit der Zahl n zugeführt. Jeder Entscheidungskreis bestimmt die Größenbeziehung des Additionsergebnisses des Additionskreises und des Schwellenpegelwertes g, und wenn das Additionsergebnis größer als g ist, wird, um die Berechnungen in dem Unterscheidungskreis abzubrechen, ein Steuersignal über das Entscheidungsergebnis an den Additionskreis geliefert und dieser steuert das Abbrechen der Berechnungen nach diesem Additionskreis. Zusätzlich werden die Entscheidungsergebnisse jedes Entscheidungskreises CTL-1, CTL-2, ..., CTL-n in einen ODER-Kreis eingegeben, das ODER-Ausgangssignal wird dem Schwellenwertkreis zugeführt und in dem Fall, bei dem die Berechnungen abgebrochen wurden, wird ein Ausgangssignal mit einem Ausgangswert Hi entsprechend dem Sättigungspegel geliefert. Auf diese Weise ist es in dem Fall eines Wertes, bei dem die Zwischenergebnisse der Akkumulationsaddition keine Wirkung auf das Ausgangsergebnis der Schwellenwertverarbeitung haben, möglich, einen korrekten Ausgangswert ohne die gesamte Addition durchführen zu müssen, zu liefern.
  • In dem Fall, bei dem ein Koeffizientenberechnungskreis für den Zweck der Bestimmung von di vor jedem Eingangssignal di vorhanden ist, ist es möglich, solche Berechnungen in der gleichen Weise wegzulassen.
  • Das Ausführungsbeispiel nach Fig. 17 ist ein bevorzugtes Ausführungsbeispiel für den Fall, bei dem die Additionskreise und die Entscheidungskreise in bezug auf den obigen Schaltungsaufbau gemultiplext werden. Dieses Ausführungsbeispiel ist mit einer Anzahl von Eingangsanschlüssen n und einem Ausgangsanschluß vorgesehen und umfaßt: einen Additionskreis (ADD), ein Register (R) und einen Schalter zum Schalten der Zahl n des Eingangssignals d1, d2, ..., dn mit identischer Polarität, die in die Zahl n an Eingangsanschlüssen eingegeben werden, um aufeinanderfolgend diese in Additionskreis 2 als ein Additionsmechanismus einzugeben; einen Schwellenwertkreis, in den das in dem Additionskreis und dem Register akkumulierten Additionsergebnis eingegeben wird und der eine Schwellenwertverarbeitung durchführt und den Ausgangswert in ein Ausgangssignal y des Ausgangsanschlusses umwandelt, als ein Schwellenwertverarbeitungsmechanismus und einen Entscheidungskreis (CTL) als ein Steuermechanismus und dergleichen. Jedesmal, wenn das von dem Additionskreis berechnete Additionsergebnis in den Entscheidungskreis eingegeben wird, wird gleichfalls der Sättigungspegelwert g, der den Schwellenwert des Schwellenwertkreises darstellt, geliefert. Der Unterscheidungskreis bzw. Entscheidungskreis vergleicht die Größen des Additionsergebnisses, das mittels des Additionskreises akkumuliert wurde und des Sättigungspegelwertes g und mittels dieses Vergleichsergebnisses werden Fälle unterschieden, in denen das Additionsergebnis den Ausgangswert des Schwellenwertkreises nicht beeinflußt hat und ein Steuersignal, das die Berechnung an diesem Punkt abbricht, wird an den Additionskreis gegeben und das Steuersignal, das den Ausgangswert Hi des Sättigungspunktes als Ausgangssignal herstellt, wird an den Schwellenwertkreis übertragen und die Operation wird in der gleichen Weise wie im Fall des bevorzugten Ausführungsbeispiels nach Fig. 16 fortgesetzt.
  • (Konkretes Schaltungsbeispiel 2)
  • Ein anderes bevorzugtes Ausführungsbeispiel eines Akkumulationsadditionsschaltkreises in Übereinstimmung mit der vorliegenden Erfindung wird in Fig. 18 dargestellt. Dieses bevorzugte Ausführungsbeispiel weist einen Aufbau auf, bei dem die Anzahl an Eingangsanschlüssen n und den Anzahl an Ausgangsanschlüsssen m ist.
  • Ein Koeffizientenberechnungskreis und ein Additionskreis sind parallel in bezug auf das erste bis k-te Signal der Eingangsanschlüsse und entsprechend zu allen Berechnungen vorgesehen. Jedoch führt in bezug auf das Eingangssignal des (k+1)-ten Eingangsanschlusses bis zu dem des n-ten Eingangsanschlusses nur der konzentrierte Berechnungsteil, der in dem Schaltbild gezeigt wird, die Berechnung durch. Eine Anzahl m an Zwischenergebnissen der Berechnung entsprechend der Eingangsanschlußzahl 1 bis k existiert und entspricht der Anzahl m an Ausgangsanschlüssen und diese Zwischenergebnisse werden alle in einem Auswahlsteuerkreis eingegeben. Der Auswahlsteuerkreis wählt eines der 1 bis m-ten Zwischenergebnisse der Berechnung aus und liefert dieses an den konzentrierten Berechnungsteil. Zu diesem Zeitpunkt liefert gleichzeitig der Auswahlsteuerkreis als ein Adressensignal eine Information, die angibt, welchen Ausgangsanschluß 1 bis m das ausgewählte Signal entspricht und das Adressensignal wird in den Koeffizienten-RAM-Kreis und den Ausgangsregisterkreis eingegeben. Der Koeffizienten-RAM-Kreis liest mittels des Adressensignals die notwendigen Koeffizientendaten aus und liefert dies an die (k + 1) bis n Registerkreise des konzentrierten Berechnungsteils und in dem konzentrierten Berechnungsteil werden die Berechnungen der Eingangssignale und der Koeffizienten mit den Zahlen (k+1) bis n durchgeführt und die Zwischenergebnisse der Berechnungen entsprechend den Zahlen 1 bis k werden akkumuliert und die Akkumulationsergebnisse der Berechnungen entsprechend allen Eingängen werden in den Schwellenwertkreis eingegeben. Das Ausgangssignal des Schwellenwertkreises wird mittels des Ausgangsregisterkreises an den Ausgangsanschluß ausgegeben, der durch das Adressensignal ausgewählt wurde, und der Ausgangsregisterkreis hält das Ausgangssignal. Auf diese Weise werden Berechnungskreise, die den (k+1)-ten bis n-ten Eingänge entsprechen, fast vollständig ausgelassen.
  • Zusätzlich unterscheidet sich in dem bevorzugten Ausführungsbeispiel nach Fig. 19 der Aufbau des konzentrierten Berechnungsteils von dem in den zuvor erwähnten Ausführungsbeispielen. Um weiter die Größe der Schaltung des Koeffizientenberechnungskreises und des Additionskreises zu verringern, ist das bevorzugte Ausführungsbeispiel so aufgebaut, daß es die Durchführung der Berechnungen entsprechend den Zahlen (k+1) bis n in einem Koeffizientenberechnungskreis und einem Additionskreis, die eine Gruppe bilden, mittels eines Registerkreises ACC, der für die Akkumulation verwendet wird, und Schalterkreisen ermöglicht. In anderen Worten gesagt, sind Schalterkreise an den zwei Eingängen des Koeffizientenberechnungskreises vorgesehen und die Eingangsanschlüsse und Koeffizienten werden so geschaltet. Dadurch kann die Größe des Berechnungskreises entsprechend den Eingängen mit der Zahl (k+1) bis n im Vergleich zu dem zuvor erwähnten Ausführungsbeispiel verringert werden.
  • Die Operation des Akkumulationskreises ist in Fig. 20 dargestellt. Ein Koeffizientenberechnungskreis, eine Additionskreis und ein Koeffizientenspeicherkreis kann als eine Zelle angesehen werden. Fig. 20 zeigt den Berechnungsvorgang jeder Zelle in bezug auf einen Fall, bei dem die Anzahl der Ausgangsanschlüsse m 16 und die Anzahl der Eingangsanschlüsse n 8 ist. Der Koeffizientenberechnungskreis berechnet normalerweise die Differenz und den Abstand zwischen Eingangssignalen und Koeffizienten bei der Mustererkennung oder dergleichen. In diesem Fall ist das Ausgangssignal des Koeffizientenberechnungskreises eine ganze Zahl. Der Schwellenwertkreis weist Sättigungskennlinien auf, wie sie in Fig. 31 gezeigt werden. Wenn in diesen Sättigungskennlinien der Eingangspegel einen vorbestimmten Wert überschreitet, ändert sich der Ausgangspegel nicht. Mit anderen Worten gesagt, wenn der Ausgangspegel den Sättigungspegel erreicht, ändert sich der Ausgangspegel nicht, egal wie groß der Eingangspegel über diesen wird. Somit steigt in der Kombination der Akkumulationsberechnungen und des Schwellenwertkreises das Akkumulationsergebnis nur in monotoner Weise, so daß, wenn der Ausgangspegel während der Akkumulation den Sättigungspegel erreicht, die Berechnungen nach diesem Punkt weggelassen werden können. Fig. 20 zeigt die Zellen, die für Berechnungen nötig sind, und Zellen, die für die Berechnungen nicht nötig sind. In diesem Beispiel ist die erste Reihe die einzige Reihe, bei der alle Zellen Berechnungen durchführen müssen. Im allgemeinen ist bei der Mustererkennung oder dergleichen der Entwurf so, daß einer der Ausgänge in bezug auf den Eingang reagiert und die Eingangsmuster können entsprechend in Kategorien geteilt werden.
  • Da auch in anderen Anwendungen nur eine kleine Zahl von Neuronenkreisen reagieren, reagieren die meisten nicht. Entsprechend weist die Operation nach Fig. 20 Eigenschaften auf, die bei vielen Anwendungen gesehen werden können. In dem Beispiel nach Fig. 20 sind nach der fünften Reihe der Eingangsanschlüsse nur die Berechnungen des achten Berechnungskreises notwendig und es ist daher klar, daß die große Mehrheit der Berechnungskreise weggelassen werden kann. Die Anordnung der Zellen, die für die Berechnung notwendig sind und die, die nicht notwendig sind, ändern sich abhängig von den Eingangssignalen; da jedoch die Verteilung der Zellen, die für die Berechnungen nicht notwendig sind, nahe an der in Fig. 20 gezeigten Form unabhängig von der Art der Eingangssignale ist, selbst wenn die Berechnungskreise in der gleichen Weise wie die Akkumulationskreise der vorliegenden Erfindung weggelassen werden, können Berechnungen, die identisch zu denen der Schaltung nach dem Stand der Technik sind, durchgeführt werden. Wie oben ausgeführt wird, ist es in Übereinstimmung mit der vorliegenden Erfindung möglich, in starkem Maße die Größe der Schaltung fast ohne Verringerung der Berechnungsgeschwindigkeit zu verringern. Weiterhin kann als Ergebnis der Weglassung der Berechnungskreise der Energieverbrauch gleichfalls stark reduziert werden.
  • (Konkretes Schaltungsbeispiel 3)
  • Es ist möglich, den Abbruch der Akkumulationsadditionsberechnungen mittels eines Übertragausgangssignals zu steuern, das die Überträge der Additionskreise angibt. Der Aufbau eines Akkumulationsadditionskreises, der mittels eines Übertragausgangssignals gesteuert wird, ist in Fig. 21 dargestellt. Die auf der Grundlage des Kreises nach Fig. 21(b) durchgeführte Addition weist zu addierende Signale A und B, ein Übertrageingangssignal Ci und einen Eingangsanschluß für ein Berechnungsbeginnsignalstart auf und besitzt Ausgangsanschlüsse für das Additionsausgangssignal Sum, ein Übertragausgangssignal Co und ein Berechnungsendsignal NStart. Die zu addierenden Signale A und B werden in den Additionskreis ADD über Gatterkreise GA und GB als zu addierende Werte eingegeben. Das Übertrageingangssignal Ci wird in den Additionskreis ADD als ein Übertrageingangssignal eingegeben. Das Berechnungsstartsignal START wird als Steuersignal der Gatterkreise GA und GB verwendet. Das Additionsergebnis des Additionskreises ADD wird als Additionsausgangssignal Sum ausgegeben, das Übertragausgangssignal des Additionskreises ADD wird an den Übertragausgang Co gegeben und weiterhin wird die Inversion des Übertragausgangssignals des Additionssignalkreises ADD als Berechnungsendsignal NStart gegeben. Die Gatterkreise GA und GB sind jeweils mit einem Eingangsanschluß, einem Ausgangsanschluß und einem Steuersignalanschluß versehen, und wenn das Steuersignal den Wert 0 aufweist, wird der größte zu erhaltende Wert von dem Ausgangsanschluß ausgegeben, und wenn das Steuersignal einen Wert 1 aufweist, wird der Wert, der an den Eingangsanschluß eingegeben wird, in unveränderter Weise an den Ausgangsanschluß geliefert.
  • In dem Ausgangszustand wird der Wert des Berechnungsstartsiqnals Start auf 0 gesetzt und der Übertrageingang Ci wird auf 1 gesetzt. Zu diesem Zeitpunkt haben, unabhängig von den Werten der zu addierenden Signale A und B, die Ausgänge der Gatterkreise GA und GB den höchsten erzielbaren Wert, und da der Übertrageingang Ci einen Wert 1 aufweist, den höchsten erzielbaren Wert im Additionsausgangssignal Sum, ein Wert 1 wird an den Übertragausgang Co und ein Wert 0 als Berechnungsendsignal NStart geliefert. Mittels des Setzens des Wertes des Berechnungsstartsignals START auf 1 und Setzens des Wertes des Übertrageingangs Ci auf 0 beginnt die Berechnung der zu addierenden Signale A und B in dem Additionskreis ADD. In einem Fall, bei dem das Additionsergebnis A+B kleiner ist als der höchste erzielbare Wert, wird das Additionsergebnis A+B als Additionsausgangssignal Sum ausgegeben, ein Wert 0 wird an den Übertragausgang Co geliefert und entsprechend wird ein Wert 1 als Berechnungsendsignal NStart geliefert. In einem Fall, bei dem das Additionsergebnis A+B größer als der höchste erzielbare Wert ist, ändern sich die Werte des Übertragausgangs Co und des Berechnungsendsignals NStart nicht zu denen des Ausgangszustandes.
  • Eingangssignale mit positivem Wert X1, X2, X3 ..., Xn werden an eine Vielzahl von Eingangsanschlüssen (n als Anzahl). Das Berechnungsstartsignal START-1 wird als Eingangssignal eingegeben. Wenn ein Wert 1 als Berechnungsstartsignal START eingegeben wird, beginnt die Berechnung. Wenn das i-te Eingangssignal Xi in den Additionsbasiskreis eingegeben wird und ein Wert 1 als Berechnungsstartsignal START eingegeben wird, wird dies zu dem Akkumulationsergebnis der Eingänge bis zu dem (i-1)-ten Eingang addiert. In dem Fall, bei dem das Additionsergebnis kleiner ist als der größte erzielbare Wert des Additionsbasiskreises, wird das Additionsergebnis als Additionsausgangssignal Sum-i geliefert, ein Wert 1 wird an den Übertragausgang Co ausgegeben und ein Wert 1 wird als Berechnungsendsignal NStart-i geliefert und die Berechnung des nächsten Additionsbasiskreises beginnt, und in dem Fall, bei dem dieses Additionsergebnis größer als der größte erzielbare Wert ist, wird der Wert des Übertragausganges Co-i 1 und der Wert des Berechnungsendsignals NStart-i verbleibt auf 0, so daß die Akkumulationsberechnung an diesem Schritt endet und der größte Wert als endgültiges Ausgangssignal y wird ausgegeben (der Ausgang des Additionskreises ADD-n). Das Ausgangssignal des n-ten Additionskreises ADD-n wird als ein Ausgangssignal y mittels eines Gatters Gate ausgegeben, das die gleichen Funktionen wie die von GA und GB aufweist. Dieses Gatter Gate wird von NStart-n gesteuert und bei der Addition des Additionskreises ADD-n verhindert, in dem Fall, bei dem der Akkumulationswert größer als der größte erzielbare Wert zum ersten Mal wird, die Ausgabe eines Wertes, der anders ist als der größte Wert, als Ausgangssignal y.
  • Mittels dieses Aufbaus wird, in dem Fall, bei dem das Endakkumulationsergebnis kleiner als der größte erzielbare Wert ist, das Endakkumulationsergebnis als Ausgangssignal y ausgegeben, und in dem Fall, bei dem das Endakkumulationsergebnis größer ist als der größte erzielbare Wert, wird der größte erzielbare Wert als Ausgangssignal y ausgegeben.
  • Ein Aufbau eines Additionsbasiskreises, in dem Fall, bei dem jedes Zahlenwertsignal mittels eines 4 Bit Binärcodes ausgedrückt wird, ist in Fig. 22 dargestellt. Die Eingangssignale A1, A2, A3, Ar, B1, B2, B3 und B4 stellen das erste, zweite, dritte und vierte Bit des Signals A und B dar, die zu addieren sind, und darüber hinaus die Ausgangssignale Sum1, Sum2, Sum3 und Sum4 das erste, zweite, dritte und vierte Bit des Additionsergebnissignals Sum dar. Das Eingangssignal Ci0 stellt das Übertrageingangssignal, das Ausgangssignal Co0 stellt das Übertragausgangssignal, das Eingangssignal START stellt das Berechnungsstartsignal und NStart stellt das Berechnungsendsignal dar. Die Eingangs- und Ausgangsanschlüsse IN1 und IN2 des Volladdierers stellen die zu addierenden Eingangssignale dar, Ci stellt das Übertrageinqangssignal, S stellt das Additionsausgangssignal und Co stellt das Übertragausgangssignal dar. Das Übertrageingangssignal Ci0 weist allgemein den invertierten Wert des Berechnungsstartsignals START auf. Im Anfangszustand wird der Wert des Berechnungsstartsignals START auf 0 und der Wert des Übertrageingangssignals Ci0 auf 1 gesetzt. Wenn zu diesem Zeitpunkt einer der Eingänge aller NAND-Kreise START ist, weisen die Ausgänge der NAND-Kreise, das heißt die Eingangssignale IN1 und IN2, die zu addieren sind, alle den Wert 1 auf. Wenn darüber hinaus der Wert des Übertrageinganges Ci0 auch 1 ist, weisen die Additionsausgangssignale Sum-i (i stellt ganze Zahlen von 1 bis 4 dar) des Volladdierers und das Übertragausgangssignal Co0 alle die Werte 1 auf und der größte erzielbare Wert wird als Additionsausgangssignal Sum ausgegeben und ein Wert 1 wird als Übertragausgangssignal Co0 geliefert. Mittels des Setzens des Wertes des Berechnungsstartsignals START auf 1 und des Setzens des Übertrageingangssignals Ci auf 0 arbeiten die NAND-Gatter als NICHT-Kreise, so daß Ai und Bi als Ausgangssignale der NAND-Kreise, das heißt als zu addierende Eingangssignale IN1 und IN2 des Volladdierers geliefert werden. Zu diesem Zeitpunkt weist der Übertrageingang Ci0 einen Wert 0 auf. In dem Fall, bei dem das Additionsergebnis A+B kleiner als der größte erzielbare Wert ist, wird das Additionsergebnis A+B als Additionsausgangssignal Sum geliefert, ein Wert 0 wird an den Übertragausgang Co0 gegeben und entsprechend wird ein Wert 1 als Berechnungsendsignal NStart geliefert; in dem Fall, bei dem Additionsergebnis A+B größer als der größte erzielbare Wert ist, ändern sich der Wert des Übertragausganges Co und der Wert des Berechnungsendsignals NStart nicht in bezug auf den Anfangszustand.
  • Wenn das Berechnungsendsignal NStart vom Übertragausgangssignal eines Additionskreises mit einer Zahl von Bits i bestimmt wird, dann wird, wenn das Additionsergebnis zu 2i+1 wird, und die Zahl der Bits gesetzt ist, NStart zu 0 und die Berechnungen stoppen. Das bedeutet, daß die Berechnungen gestoppt werden, wenn der Pegel größer als der Sättigungspegel des Schwellenwertkreises wird, und das Abbrechen der Berechnung ohne das Ausgangssignal des Schwellenwertkreises zu beeinflussen, wird möglich.
  • (Konkretes Schaltungsbeispiel 4)
  • In dem oben erwähnten konkreten Schaltungsbeispiel 3 war es notwendig, nachdem die Additionsausgangssignale jedes Bits des Volladdierers, der den i-ten Additionskreis umfaßt, sichergestellt sind, damit das Berechnungsstartsignal START (i+1) der (i+1)-ten Berechnung ausgegeben wird, einen Verzögerungskreis längs der START-Signalleitung einzufügen. Als Ergebnis war es nicht möglich, die Verarbeitungszeit stark zu verkürzen.
  • Durch Vorsehen von Steuergatterkreisen, die mittels der Übertragausgangssignale von den Additionskreisen vor dem (i-1)-ten, die für einen der zu addierenden Werteingangssignale jedes 1 Bit Volladdierers, die von dem i-ten Additionskreis ADD(i) umfaßt sind, und für das Übertrageingangssignal eingegeben werden und durch Ausführen einer Pipeline-Verarbeitung für jedes Bit, ist es möglich, die gleichen Funktionen ohne das Vorsehen von Verzögerungskreisen in der Startleitung von START(i) zu realisieren.
  • Der Schaltaufbau des vorliegenden bevorzugten Ausführungsbeispiels ist in Fig. 23 dargestellt. Digitale Eingangssignale mit positivem Wert IN(1), IN(2), IN(3), ..., IN(n), die durch einen 4 Bit Binärcode ausgedrückt werden, werden an einer Mehrzahl (n) von Eingangsanschlüssen eingegeben und zusätzlich wird ein Berechnungsstartsignal START(1) eingegeben. i ist eine ganze Zahl zwischen i und n und jeder Eingang IN(i) entspricht einem m Bit Additionskreis ADD(i). Der i-te Additionskreis ADD(i) weist ein Eingangssignal IN(i), weist einen der Werteingänge, die zu addieren sind, weist als anderen zu addierenden Wert das Additionsausgangssignal des (i-1) -ten Additionskreis ADD(i-1) auf und führt für alle Eingangssignale eine Akkumulationsaddition durch.
  • Der m Bit Additionskreis ADD(i) weist ein erstes Bit als sein Bit niedrigster Stellung und das m-te Bit als sein Bit höchster Stellung auf, so daß, wenn j eine ganze Zahl zwischen 1 und m ist, der Kreis eine Anzahl in von 1 Bit Volladdierern FADD(i,1), FADD(i,2), FADD(i,3), ..., FADD(i,j), ..., FADD(i,m) umfaßt. Zwischen den 1 Bit Volladdierern, die von dem Additionskreis ADD(i) umfaßt sind, ist der j-te Bit Volladdierer FADD(i,j), die zu addierenden Werteeingangssignale von FADD(i,j) sind A und B, und der Additionsausgang ist S. Zwischen den zu addierenden Werteeingangssignalen A und B, dem das Zwischenakkumulationsergebnis bis zum (i-1)-ten Eingang, das heißt, das Additionsausgangssignal von FADD(i-1,j) eingegeben wird, wird as A bezeichnet, während der, der ein Signal vom i-ten Eingangsanschluß erhält, als B bezeichnet wird. Das Übertragausgangssignal Co von FADD(i,j) wird in den Übertrageingang Ci von FADD(i,j+1) eingegeben.
  • Zwischen den zu addierenden Werten des 1 Bit Volladdierers FADD(i,j), der von dem i-ten Additionskreis ADD(i) umfaßt ist, in dessen A Seite das Ausgangssignal des (i-j) Additionskreises eingegeben wird, und für den Übertrageingang Ci ist der Steuergatterkreis angeordnet, der den Eingang des zu addierenden Wertes und das Übertragsignal steuert. Wenn i=1 und j=m, das heißt, im Fall des Volladdierers FADD(i,m) des Bits der höchsten Position eines Additionskreises ADD(1) entsprechend dem ersten Eingang, wird das Steuereingangssignal START(1) in den Steuergatterkreis als ein Steuersignal eingegeben, während, wenn i=1 und j=/m, das heißt, im Falle eines Volladdierers FADD(1,j) (j=/m) eines anderen Bits als des der höchsten Position des Additionskreises ADD(1) entsprechend dem ersten Eingang, ein Wert 1 in den Steuergatterkreis als Steuersignal eingegeben wird.
  • Wenn darüber hinaus i=/1 und j=m, das heißt, im Falle eines Volladdierers FADD(i,m) des Bits höchster Position eines Additionskreises ADD(i) (i=/m) entsprechend einem anderen als dem ersten Eingang, wird START(i) eingegeben; wenn i=/1 und j=/m, das heißt, im Fall eines Volladdierers FADD(i,j) (j=/m) eines anderen als dem höchsten Bit des Additionskreises ADD(i) (i=/1) entsprechend einem anderen Eingang als dem ersten, wird ein Steuersignal eingegeben, das identisch zu einem Steuersignal entsprechend dem Volladdierer eines Bits höherer Position ist, der einen Additionskreis entsprechend einem Eingang umfaßt, der eines vor dem in Frage stehenden Volladdierer ist. Das bedeutet in anderen Worten, daß in dem Fall, bei dem i-(m-j) kleiner als oder gleich 0 ist, ein Wert von 1 als das Steuersignal entsprechend dem Volladdierer FADD(i,j) eingegeben wird, in dem Fall, bei dem i=1 und j=m ist, das Steuereingangssignal START(i) von außen als Steuersignal eingegeben wird und in anderen als diese Fälle, das Steuersignal START(i-(m-j)) eingegeben wird. Das Steuersignal START(i) ist invers zu dem Übertragausgangssignal Co des Volladdierers FADD(i-1, n) des Bits höchster Stellung des (i-1)-ten Additionskreises. Wenn das Steuersignal dieser Steuergatterkreise einen Wert 0 haben, geben sie im allgemeinen einen Wert 1 aus, und wenn das Steuersignal einen Wert 1 aufweist, geben sie allgemein den Wert des Eingangssignals aus, das in den Steuergatterkreis eingegeben wird. Darüber hinaus kann ein Steuergatterkreis nicht für das Steuereingangssignal Ci des Volladdierers FADD(i,j) des Bits niedrigster Position des i-ten Additionskreises angeordnet werden; das Inverse des Steuersignals entsprechend dem gesamten Volladdierer FADD(i,1) wird eingegeben.
  • Die Additionsausgangssignale S der 1 Bit Volladdierer, die die m-ten Additionskreise umfassen, werden in die Steuergatterkreise, die START(n+1) als ihr Steuersignal aufweisen, eingegeben, und die Eingangssignale dieser Steuergatterkreise werden als Ausgangssignale OUT des Akkumulationsadditionskreises ausgegeben.
  • In dem Ausgangszustand wird der Wert des Berechnungsstartsignals START(1) auf 0 gesetzt. Wie oben beschrieben, wird, im Fall, bei dem i=1 ist, das heißt, bei einem Additionskreis ADD(1) entsprechend dem ersten Eingang, wobei j nicht gleich m ist, das heißt, einem Volladdierer FADD(1,j) (j=/m) eines anderen als dem höchsten Positionsbit, ein Wert 1 als Steuersignal des Gatters eingegeben. Aus diesem Grund ist in dem Fall eines Volladdierers FADD(i,j), bei dem i-(m-j) kleiner als oder gleich 0 ist, das Steuergatter offen (der Zustand, in dem Eingang und Ausgang gleich sind) und in dem Fall eines Volladdierers in diesem Bereich, wird der Wert, der zusätzlich zu dem zu addierenden Eingang verwendet wird, und der Übertrageingang angegeben, das heißt, daß in dem Fall eines i-ten Eingangs die Berechnungen des Volladdierers vom ersten Bit zum m-i-ten Bit schon in diesem Zustand durchgeführt wurden. Da der Wert von START(1) auf 0 gesetzt ist, in dem Fall der anderen Volladdierer, das heißt, Volladdierer, wie Volladdierer FADD(i,j), in dem i-(m-j) größer als 0 ist, wird der Ausgang jedes vorgesehenen Steuergatterkreises zu 1 und das Übertragausgangssignal Co des Volladdierers FADD(1,m) des Bits höchster Position wird zu 1, so daß das Signal START(i) einen Wert von 0 in dem Fall aller Werte von i aufweist. Da der Wert von START(m+1) 0 ist, haben alle Bits des Ausgangs OUT des Akkumulationsadditionskreises einen Wert von 1, so daß der höchste Wert, der in einem m Bit natürlichen Binärcode positiver Werte ausgedrückt werden kann, ausgegeben wird.
  • Wenn ein Wert von 1 als Berechnungsstartsignal START(1) eingegeben wird, beginnen die Berechnungen. Wenn der Wert von START(1) 1 wird, beginnt der Steuergatterkreis des Volladdierers FADD(1,m) des Bits höchster Position des Addierkreises ADD(l) entsprechend dem Öffnen des ersten Eingangs und die Berechnungen des Volladdierers beginnen. Darüber hinaus wurden in dem Kreis ADD(1), wie oben beschrieben, bei dem Zustand, bei dem der Wert von START(1) 0 ist, die Berechnungen der Volladdierer bis zu dem des (m-1)- Bit durchgeführt, so daß, wenn der Wert von START(1) 1 wird, ein positiver Wert unmittelbar an den Ausgang auf die Signalverzögerungszeit des Volladdierers FADD(1,m) ausgegeben wird. In dem Fall, in dem das Additionsergebnis dieses Additionskreises ADD(1) kleiner ist als der größte im m Bit natürlichen Binärcode ausdrückbare Wert, wird das Additionsergebnis als das Ausgangssignal vom Additionskreis ausgegeben, ein Wert 0 wird als Übertragsignal des Volladdierers FADD(1,m) des Bits höchster Position ausgegeben, das Steuersignal START(2) erzielt des Wert 1 und die Akkumulationsberechnung des folgenden Eingangssignals IN(2) beginnt. In dem Fall, bei dem dieses Additionsergebnis größer ist als der im m Bit natürlichen Binärcode ausdrückbare Wert, verbleibt das Übertragsignal des Volladdierers FADD(1,m) des Bits höchster Position auf 1 und das Startsignal START(2) verbleibt auf dem Wert 0 und ändert sich somit nicht, so daß die Akkumulationsberechnung an diesem Punkt stoppt und der Ausgang OUT des Akkumulationsadditionssignals verbleibt auf dem größten Wert, der durch den m Bit natürlichen Binärcode positiver Werte ausdrückbar ist. Darüber hinaus öffnet bei der Stufe, bei der dieses Signal START(1) einen Wert 1 erreicht, der jeweilige Steuergatterkreis der Volladdierer FADD(2,m-1), FADD(3,m-2), ..., FADD(m,1) und die Berechnungen dieser Volladdierer beginnen (In dem Fall, bei dem i=1 ist, ist einer der Addierer 0, so daß dieser Additionskreis weggelassen werden kann).
  • Zwischen den Volladdierern, die den Additionskreis ADD(i) bilden, öffnet der Steuergatterkreis des j-ten Volladdierers FADD(i,j), wenn der Wert von START (i+j-m) von 0 auf 1 wechselt und die Berechnung dieses Volladdierers beginnt somit. Das Übertrageingangssignal des Volladdierers, das für die Durchführung dieser Berechnung notwendig ist, ist das Übertragausgangssignal des Volladdierers FADD(i,j-1); allerdings wird die Berechnung des Volladdierers FADD (i,j-1) mittels des unmittelbar zuvorliegenden Steuersignals START(i+j-m-1) begonnen und die Zeitlücke zwischen START(i+j-m) und START(i+j-m-1) ist ungefähr gleich dem Signalverzögerungszeitraum eines 1 Bit Volladdierers, so daß, wenn der Wert von START(i+j-m) von 0 auf 1 wechselt, der korrekte Wert, der für die Berechnung verwendet wird, in FADD(i,j) eingegeben wird, und nach dem Signalverzögerungszeitraum des 1 Bit Volladdierers FADD(1,m) wird ein korrekter Wert ausgegeben.
  • Danach werden die Berechnungen in identischer Weise fortgesetzt und wenn das Berechnungsstartsignal START(i) von 0 auf 1 wechselt, öffnet der Steuergatterkreis des Volladdierers FADD(i,m) des Bits höchster Position des Additionskreises ADD(i) entsprechend dem i-ten Ausgang und die Berechnung dieses Volladdierers beginnt. Die Berechnungen des (m-1) Bit Volladdierers werden bei der Stufe, bei der der Wert von START(i-1) zu 1 wird, beginnen, so daß, wenn der Wert von START(i) zu 1 wird, ein korrekter Wert unmittelbar als Übertrageingangssignal des Volladdierers FADD(i,m) eingegeben wird und nach dem Signalverzögerungszeitraum des 1 Bit Volladdierers FADD(i,m) wird ein korrekter Wert ausgegeben. In dem Fall, bei dem das Akkumulationsadditionsergebnis bis zum i-ten Eingang kleiner als der größte Wert ist, der durch den m Bit natürlichen Binärcode ausdrückbar ist, wird dieses Additionsergebnis als das Ausgangssignal des diesem entsprechenden Additionskreises ausgegeben, ein Wert von 0 wird als Übertragsignal des Volladdierers des Bits höchster Position ausgegeben und der Wert des Signals START(i+1) wird zu 1. In dem Fall, bei dem das Akkumulationsadditionsergebnis bis zu dem i-ten Eingang größer ist als der größte durch den m Bit natürlichen Binärcode ausdrückbare Wert ist, verbleibt das Übertragsignal des Volladdierers des Bits höchster Position mit einem Wert von 1 unverändert, und der Wert des Signals START(i+1) verbleibt unverändert auf 0, so daß die Akkumulationsberechnungen auf dieser Stufe stoppen und der Ausgang OUT des Akkumulationsadditionskreises auf dem größten Wert verbleibt, der im in Bit natürliche Binärcode positiver Werte ausdrückbar ist.
  • Die Akkumulationsberechnungen schreiten zu dem m-ten Additionskreis fort und in einem Fall, bei dem der Wert von START(m+1) zu 1 wird, wird eine Anzahl n von m Bit digitalen Eingangssignalen positiver Werte IN(1), IN(2), IN(3), ..., IN(n), die die Akkumulationsadditionsergebnisse darstellen, als Ausgangssignal OUT des Akkumulationsadditionskreises ausgegeben.
  • In dem Fall, bei dem die Signalleitung von START mit einem Verzögerungskreis versehen ist und wenn die Verzögerungszeit eines 1 Bit Volladdierers als tADD bezeichnet wird, dann ist es notwendig, daß die Verzögerungszeit tDELAY des Verzögerungskreises ungefähr 2 x in x tADD ist, so daß die Zeit, die benötigt wird, um die Akkumulationsaddition einer Anzahl m von Eingangssignalen durchzuführen, m x tDELAY = 2 m n x m x tADD ist.
  • Dagegen wird bei dem Schaltkreis der vorliegenden Erfindung eine Pipeline-Verarbeitung für jedes Bit durchgeführt, so daß die für die Addition entsprechend jedem Eingang benötigte Zeit ungefähr äquivalent zu der Signalverzögerungszeit tADD eines 1 Bit Volladdierers ist. Als Ergebnis ist die für die Durchführung der Akkumulationsaddition einer Anzahl von n Eingangssignalen benötigte Zeit ungefähr n x tADD. Somit ist es möglich, dies in einer Verarbei-. tungszeit von 1/-(2xm) durchzuführen. Dies bedeutet, daß es im Fall von 8 Bit Eingangssignalen möglich ist, die Geschwindigkeit ungefähr 16fach zu erhöhen.
  • (Konkretes Schaltungsbeispiel 5)
  • Wenn in den konkreten Schaltungsbeispielen 3 und 4 das Zwischenergebnis der Akkumulation in einem Additionskreis Sb=(2i) überschreitet, wird die Eingabe der zu addierenden Werte in den Additionskreis unter Verwendung des Übertragsignals des Additionskreises gesteuert und mittels des Anhaltens der Akkumulationsaddition von dem folgenden Additionskreis aufwärts werden die Akkumulationsberechnungen gestoppt, wenn das Zwischenergebnis der Akkumulation Sb überschreitet.
  • Wenn dagegen der größte Wert, der durch die Bitlänge des Additionskreises ausdrückbar ist, als Sb bezeichnet ist und g einen frei gewählten positiven Wert darstellt, wobei Sa-g anfänglich in den Akkumulationskreis eingegeben wurde und ein Additionskreis auf der Ausgangsseite des n-ten Additionskreises vorgesehen ist, dann wird das Additionsergebnis des n ten Additionskreises als einer der einzugebenden Werte des Additionskreises eingegeben und -(Sa-g) wird als der andere zu addierende Wert eingegeben und dabei wird der Anfangswert subtrahiert und es wird somit möglich, die Akkumulationsberechnung bei der Stufe zu stoppen, bei der die Zwischenergebnisse der Akkumulation den frei gewählten positiven Wert g überschreiten.
  • Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung ist in Fig. 24 dargestellt. Im Vergleich zu dem Ausführungsbeispiel nach Fig. 21 wurden Modifikationen durchgeführt, die das Setzen des Anfangswertes der Akkumulation und die Schlußsubtraktion des Anfangswertes erlauben. Die gleichen Modifikationen sind in bezug auf Fig. 23 möglich.
  • In Übereinstimmung mit diesem Aufbau wird die Akkumulationsberechnung abgebrochen, in dem Fall, bei dem das Endergebnis der Akkumulation als Ausgangssignal y ausgegeben wird und in dem Fall, bei dem das Endergebnis der Akkumulation größer als der Berechnungsstoßwert g ist.
  • Wenn der Wert g auf den Sättigungspegel des Schwellenwertkreises gesetzt wird, werden unnötige Berechnungen in einem größeren Maß eliminiert als im Fall der Steuerung des Anhaltens der Akkumulationsberechnung mittels Sb = 2(i), so daß die Wirkungen der Verkürzung der Berechnungszeit und der Verringerung des Energieverbrauchs groß sind.
  • (Vereinfachtes Schaltungsbeispiel)
  • Bei den oben beschriebenen konkreten Schaltungsbeispielen verschlechtert sich die Rechengenauigkeit nicht mit der Auslassung von Berechnungen. Somit besitzt die Erfindung einen hohen Grad an Flexibilität und kann auf vielen Gebieten angewandt werden. Wenn jedoch eine gewisse Verringerung der Genauigkeit zugelassen wird, kann die Schaltung, wie im folgenden gezeigt, vereinfacht werden.
  • Als erstes werden in dem bevorzugten Ausführungsbeispiel nach den Fign. 2 und 3 das Ausgangssignal des Gleichrichtkreises, der das Subtraktiongsergebnis des Eingangssignals gleichrichtet und die Wichtungskoeffizienten, die allgemein bei einem Pegel von 8 Bits ausgedrückt werden, in Form von 1 Bit ausgedrückt. Das heißt, wenn der Ausgang des Gleichtrichtkreises 0 ist, weist dieses Bit den Wert "0" auf und wenn der Ausgang größer ist als 0, hat das Bit einen Wert "1". Als Ergebnis werden die Quadrierkreise nach Fig. 2 unnötig. Wenn darüber hinaus die Kennlinien des Schwellenwertkreises solche der Stufenfunktion nach Fig. 31(a) sind, kann das Ausgangssignal y in Form von einem Bit ausgedrückt werden, so daß die gleichen Funktionen realisiert werden, wenn der Akkumulationsadditionskreis und der Schwellenwertkreis durch ODER Schaltungen ersetzt werden. Als Ergebnis der obigen Schaltungsmodifikationen weisen die Schaltungen nach Fign. 2 und 3 einen Aufbau wie in Fig. 25 auf, und der Additionsakkumulationskreis, der einen großen Schaltungsaufbau benötigt, wird durch einen einzigen logischen Kreis ersetzt, wodurch eine große Verringerung des Ausmaßes der Schaltung bewirkt wird.
  • Als zweites ist die gleiche Art der Schaltkreisvereinfachung in bezug auf die bevorzugten Ausführungsbeispiele nach Fign. 13 und 14 möglich. In diesem Fall werden die Modifikationskreise durch Größenbestimmungskreise ersetzt und wenn der Ausgangspegel der Quadrierkreise oder der Absolutwertkreise mit der Größe des Wichtungskoeffizienten wh verglichen wird, wird dieses Ergebnis in Form eines 1 Bit Signals ausgedrückt. Als Folge ist es möglich, den Akkumulationsadditionskreis und den Schwellenwertkreis durch Logikschaltungen, wie oben erläutert wurde, zu ersetzen und der vereinfachte Aufbau nach Fig. 26 ist möglich.
  • Wenn eine neuronale Netzwerkschaltung in Hardware umgesetzt wird, unterscheidet sich die Anzahl von Neuronenkreisen abhängig von der Anwendung; allerdings ist der Anstieg an Verarbeitungsfähigkeit um so größer, je größer die Anzahl von Neuronenkreisen ist. Aus diesem Grund wurde die Realisierung mittels LSI Kreises einer neuronalen Netzwerkschaltung, bei der eine Anzahl von Neuronenkreisen angeordnet sind, gedacht. Allerdings ist die Größe der Schaltung, die auf einem Chip angeordnet werden kann, als Ergebnis der Begrenzungen der Chipgröße begrenzt, und die Leistung, die durch einen Chip verbraucht werden kann, ist als Ergebnis der Probleme der Wärmeentstehung und der Montage begrenzt. Um somit eine durch eine LSI Schaltung realisierte neuronale Netzwerkschaltung mit anwendbaren Eigenschaften vorzusehen, ist die Verringerung der Schaltungsgröße und des Energieverbrauchs des Neuronenkreises das wichtigste Problem. Als Ergebnis wird durch die Verwendung des Neuronenkreises nach der vorliegenden Erfindung eine Wirkung erzielt, durch die die Eigenschaften der neuronalen Netzwerkschaltung auf ein Niveau erhöht werden können, bei dem die Anwendung der neuronalen Netzwerkschaltung möglich wird.
  • Die vorliegende Erfindung wurde konkret durch die oben erwähnten bevorzugten Ausführungsbeispiele erläutert. Allerdings ist die vorliegende Erfindung in keiner Weise auf die oben erwähnten bevorzugten Ausführungsbeispiele begrenzt, eine Vielzahl von Abänderungen sind möglich, solange nicht die wesentlichen Merkmale der Erfindung weggelassen werden.

Claims (9)

1. Neuronale Netzwerkschaltung, die mit Neuronenkreisen versehen ist, die umfassen eine Anzahl n (x2,x2, ..., xn) Eingangsanschlüsse (n ist eine ganze Zahl größer als 1) und zwei Wichtungskoeffizienten (wL,wH) entsprechend jedem Eingangsanschluß,
und die versehen sind mit einem ersten Eingangspfad, der eine erste Subtraktionsschaltung, die den Wichtungskoeffizienten wL verwendet und wH von einem Eingangssignal subtrahiert und einen ersten Gleichrichterkreis umfaßt, der nur positive Werte der Subtraktionsergebnisse der ersten Subtraktionsschaltung durchläßt, und einem zweiten Eingangspfad, der eine zweite Subtraktionsschaltung, die den Wichtungskoeffizienten wL mit einem kleineren absoluten Wert als wH verwendet und das Eingangssignal von wL subtrahiert und einen zweiten Gleichrichterkreis umfaßt, der auch nur positive Werte der Subtraktionsergebnisse der zweiten Subtraktionsschaltung durchläßt, wobei die Neuronenkreise weiter umfassen
einen Additionsschaltkreis, der die Ausgangssignale des ersten und zweiten Gleichrichterkreises addiert, die für jeden der n Eingangsanschlüsse vorgesehen sind, und einen Schwellenwertkreis, der einen vorbestimmten Schwellenwert aufweist, bewertet, ob ein Ergebnis der Addition größer oder kleiner als eine Größe des vorbestimmten Schwellenwertes auf der Grundlage des vorbestimmten Schwellenwertes ist und ein Ergebnis der Bewertung ausgibt;
und wobei in der neuronalen Netzwerkschaltung die Neuronenkreise, die die Ausgangswerte der Schwellenwertkreise als Ausgangssignale verwenden, als Einheitskreise verwendet werden und eine Netzwerkschaltung mit Mitteln zum Verbinden von Eingangs- und Ausgangsanschlüssen einer Mehrzahl von Neuronenkreisen versehen ist, wobei die Neuronenkreise, die unabhängige Wichtungskoeffizienten in bezug auf eine Mehrzahl von in die Netzwerkschaltung eingegebenen Eingangssignalen aufweisen, Berechnungen durchführen und ein Ausgangswert mindestens eines Neuronenkreises in der Netzwerkschaltung als Ausgangssignal der Netzwerkschaltung verwendet wird und Funktionen der Netzwerkschaltung mittels der zwei Wichtungskoeffizienten wL, wH jedes Neuronenkreises und der Größe des Schwellenwertes der Schwellenwertkreise gesteuert werden.
2. Neuronale Netzwerkschaltung nach Anspruch 1, bei der der erste Eingangspfad weiterhin einen ersten nichtlinearen Schaltkreis aufweist, der nichtlineare Kennlinen an einen Ausgang des ersten Gleichrichterkreises gibt, und bei der der zweite Eingangspfad weiterhin einen zweiten nichtlinearen Schaltkreis aufweist, der nichtlineare Kennlinien an einen Ausgang des zweiten Gleichrichterkreises gibt.
3. Neuronale Netzwerkschaltung nach Anspruch 2 mit einem ersten Multiplikationskreis, der ein Ausgangssignal des ersten nichtlinearen Kreises mit einem vorbestimmten Multiplikationskoeffizienten multipliziert, der eine Verstärkung der Übertragung des ersten nichtlinearen Schaltkreises definiert, und einen zweiten Multiplikationskreis, der ein Ausgangssignal des zweiten nichtlinearen Schaltkreises mit einem vorbestimmten Multiplikationskoeffizienten multipliziert, der die Verstärkung der Übertragung des zweiten nichtlinearen Schaltkreises definiert.
4. Neuronale Netzwerkschaltung nach Anspruch 1, bei der
in dem ersten Eingangspfad die erste Gleichrichterschaltung eine Absolutwertberechnung eines Subtraktionsergebnisses der ersten Subtraktionsschaltung durchführt, um nur einen positiven Wert des Ergebnisses auszugeben und bei der der erste Eingangspfad weiterhin einen ersten Multiplikationskreis aufweist, der ein Ausgangssignal des ersten Gleichrichterkreises mit einem vorbestimmten Multiplikationskoeffizienten multipliziert, der eine Verstärkung der Übertragung des Gleichrichterkreises definiert, und bei der
in dem zweiten Eingangspfad der zweite Gleichrichterkreis eine Absolutwertberechnung eines Subtraktionsergebnisses der zweiten Subtraktionsschaltung durchführt, um nur einen positiven Wert des Ergebnisses auszugeben, und der zweite Eingangspfad weiterhin einen zweiten Multiplikationskreis aufweist, der ein Ausgangssignal des zweiten Gleichrichterkreises mit einem vorbestimmten Multiplikationskoeffizienten multipliziert, der eine Verstärkung der Übertragung des Gleichrichterkreises definiert.
5. Neuronale Netzwerkschaltung nach einem der Ansprüche 1 bis 4, bei der eine Steuereinrichtung, die eine Größenbeziehung eines Zwischenergebnisses einer Akkumulationsaddition entsprechend jedem Eingangssignal und einen Schwellenwert des Schwellenwertkreises vergleicht und auf der Grundlage der Vergleichsergebnisse bestimmt, ob verbleibende Additionsberechnungen abgebrochen werden sollen oder nicht, in dem Additionsschaltkreis vorgesehen ist, der eine Akkumulation der neuronalen Netzwerkschaltung durchführt, wobei der Schwellenwertschaltkreis den Ausgangswert auf der Grundlage des Vergleichsergebnisses bestimmt.
6. Neuronale Netzwerkschaltung nach einem der Ansprüche 1 bis 4, bei der
der Additionsschaltkreis eine Anzahl m (m ist eine ganze Zahl größer als 1) von Ausgangsanschlüssen aufweist, und um einen Wichtungswert als einen einzigen Polaritätskoeffizienten-Berechnungswert mittels eines der Koeffizienten oder mittels der Differenz oder des Abstandes zwischen einem Koeffizienten der Nummer i (i ist eine ganze Zahl von 1 bis k) und einem Eingangssignal der Nummer i in bezug auf die Eingangssignale von 1 bis zu einer Zahl k (k ist eine ganze Zahl, die größer als 1 und kleiner als n ist) zu bestimmen, sind Additionskreise parallel in einer Anzahl von m Gruppen mit Koeffizientenberechnungskreisen angeordnet, die einen ersten Koeffizientenberechnungskreis, der speziell für einen Koeffizienten vorgesehen ist, und einen ersten Additionskreis zum Durchführen der Akkumulation der Ausgangssignale der 1 bis k-ten Koeffizientenberechnungskreise aufweisen, bei der ein Auswahlsteuerkreis vorgesehen ist, der ein Zwischenergebnis einer Anzahl von Akkumulationen m und einen Sättigungspegel des Schwellenwertkreises vergleicht, bestimmt, ob die Berechnung in bezug auf Eingangssignale der verbleibenden Eingangsanschlüsse fortgesetzt wird, und Zwischenergebnisse der Akkumulation ausgibt, die für die Fortsetzung der Berechnung notwendig sind, und bei der
mindestens ein zweiter Koeffizientenberechnungsschaltkreis und ein zweiter Additionskreis gemeinsam in bezug auf Eingangsanschlüsse verwendet werden, für die eine Fortsetzung der Berechnung notwendig ist, Eingangssignale und Koeffizientenwerte geschaltet werden und die Akkumulationsberechnung fortgesetzt wird, Akkumulationsergebnisse entsprechend den Eingangsanschlüssen von Nummer 1 bis Nummer n dem Schwellenwertkreis eingegeben werden und ein Verarbeitungsergebnis des Schwellenwertkreises an die Ausgangsanschlüsse gegeben werden.
7. Neuronale Netzwerkschaltung nach einem der Ansprüche 1 bis 4, bei der
der Additionsschaltkreis eine Mehrzahl n von Eingangsanschlüssen und eine identische Anzahl von Additionskreisen aufweist,
ein digitales Eingangssignal mit positivem Wert von jedem Eingangsanschluß als ein zu addierender Wert eines entsprechenden Additionskreises verwendet wird, und
wenn i eine ganze Zahl von 1 bis n ist, ein Akkumulationsadditionsergebnis eines Additionskreises der Nummer (i-1) als anderer zu addierender Wert eines Additionskreises der Nummer i verwendet wird und dabei der Additionskreis ein Akkumulationsadditionskreis ist, der die Akkumulationsaddition aller Eingänge durchführt, eine Gatterschaltung, die die Eingabe von zu addierenden Werten in entsprechende Additionskreise mittels eines Übertragsignals von dem unmittelbar davorliegenden Additionskreis steuert, an einer Eingangsseite des zu addierenden Wertes des Additionskreises vorgesehen ist, und wenn ein Akkumulationsadditionsergebnis in einem Additionskreis der Nummer (i-1) einen vorbestimmten Wert überschreitet, Akkumulationsberechnungen von einem Additionskreis der Nummer i aufwärts gestoppt werden.
8. Neuronale Netzwerkschaltung nach einem der Ansprüche 1 bis 4, bei der
der Additionsschaltkreis eine Mehrzahl n von Eingangsanschlüssen und eine identische Anzahl von Additionskreisen aufweist, und
ein digitales Eingangssignal mit positivem Wert von einem Eingangsanschluß als ein zu addierender Wert eines entsprechenden Additionskreises verwendet wird, und
wenn i eine ganze Zahl größer als 1 und kleiner als n darstellt, ein Akkumulationsadditionsergebnis von Additionskreisen bis zu einem Additionskreis der Nummer (i-1) als anderer zu addierender Wert eines Additionskreises der Nummer i verwendet wird und dabei der Additionsschaltkreis ein Akkumulationskreis ist, der eine Akkumulationsaddition aller Eingänge durchführt, und
eine Gatterschaltung, die mittels eines Übertragsignals von einem vorhergehenden Additionskreis gesteuert wird, zwischen alle Eingangsanschlüsse der zu addierenden Werte und Übertrageingangsanschlüsse einer Mehrzahl von 1 Bit Additionskreisen, jeden Additionskreis umfassend, angeordnet ist, und
wenn ein Akkumulationsadditionsergebnis in einem Additionskreis der Nummer (i-1) einen vorbestimmten Wert überschreitet, Akkumulationsberechnungen von einem Additionskreis der Nummer i aufwärts gestoppt wird.
9. Neuronale Netzwerkschaltung nach Anspruch 7 oder 8, bei der
der Additionsschaltkreis Sa als größten Wert verwendet, der durch die Bitlänge eines Additionskreises ausdrückbar ist, und g (g < Sa) als frei gewählten positiven Wert verwendet und unter den eingegebenen, zu addierenden Werten eines ersten Additionskreises ein (Sa-g) Signal als einen eingegebenen zu addierenden Wert eingibt, der von dem Eingangsanschluß differiert, und diesen als Anfangswert eines Akkumulationswertes verwendet, und mit einem zweiten Additionskreis an der Ausgangsseite des Additionskreises der Nummer n versehen ist und mit einer Einrichtung zum Eingeben eines Additionsergebnisses des Additionskreises der Nummer n als einen eingegebenen zu addierenden Wert des zweiten Additionskreises und zum Eingeben von - (Sa-g) als anderen eingegebenen zu addierenden Wert versehen ist.
DE69119172T 1990-07-09 1991-07-09 Neuronalnetzwerkschaltung Expired - Fee Related DE69119172T2 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2179666A JPH0467258A (ja) 1990-07-09 1990-07-09 ニューラルネットワーク回路
JP2179665A JP2542107B2 (ja) 1990-07-09 1990-07-09 ニュ―ラルネットワ―ク回路
JP2186528A JPH0477865A (ja) 1990-07-13 1990-07-13 加算回路
JP2232915A JPH04112354A (ja) 1990-09-03 1990-09-03 ニューラルネットワーク回路
JP2232914A JPH04112362A (ja) 1990-09-03 1990-09-03 累積回路
JP2235700A JPH04116719A (ja) 1990-09-07 1990-09-07 累積加算回路
JP2281891A JPH04157566A (ja) 1990-10-22 1990-10-22 累積加算回路
JP3060384A JPH04295976A (ja) 1991-03-25 1991-03-25 ニューラルネットワーク回路
JP3094220A JPH04323723A (ja) 1991-04-24 1991-04-24 累積加算回路

Publications (2)

Publication Number Publication Date
DE69119172D1 DE69119172D1 (de) 1996-06-05
DE69119172T2 true DE69119172T2 (de) 1997-01-09

Family

ID=27577076

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69119172T Expired - Fee Related DE69119172T2 (de) 1990-07-09 1991-07-09 Neuronalnetzwerkschaltung

Country Status (4)

Country Link
US (3) US5166539A (de)
EP (1) EP0477486B1 (de)
KR (1) KR950001601B1 (de)
DE (1) DE69119172T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634087A (en) * 1991-02-28 1997-05-27 Rutgers University Rapidly trainable neural tree network
US5632006A (en) * 1992-03-02 1997-05-20 Motorola, Inc. Circuit and method of error correcting with an artificial neural network
DE69418754T2 (de) * 1993-03-15 1999-11-04 Canon Kk Signalprozessor
US5479574A (en) * 1993-04-01 1995-12-26 Nestor, Inc. Method and apparatus for adaptive classification
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
US5630024A (en) * 1994-01-19 1997-05-13 Nippon Telegraph And Telephone Corporation Method and apparatus for processing using neural network with reduced calculation amount
US5506801A (en) * 1994-02-14 1996-04-09 California Institute Of Technology High-performance ultra-low power VLSI analog processor for data compression
JPH07234778A (ja) * 1994-02-22 1995-09-05 Texas Instr Japan Ltd 演算回路
US5486999A (en) * 1994-04-20 1996-01-23 Mebane; Andrew H. Apparatus and method for categorizing health care utilization
US5644253A (en) * 1995-03-30 1997-07-01 Fujitsu Limited Multiple-valued logic circuit
IL113204A (en) * 1995-03-30 1999-03-12 Advanced Recognition Tech Pattern recognition system
US5835633A (en) * 1995-11-20 1998-11-10 International Business Machines Corporation Concurrent two-stage multi-network optical character recognition system
FI103304B (fi) 1997-03-26 1999-05-31 Nokia Oy Ab Assosiatiivinen neuroni
JP2879670B2 (ja) * 1997-03-28 1999-04-05 広島大学長 2次元情報処理装置
FI103305B1 (fi) * 1997-05-29 1999-05-31 Nokia Oy Ab Assosiatiivinen neuroverkko
US6618388B2 (en) 2001-01-05 2003-09-09 Extreme Networks Method and system for VMAN protocol
MY138544A (en) * 2003-06-26 2009-06-30 Neuramatix Sdn Bhd Neural networks with learning and expression capability
CN110168572A (zh) * 2017-01-13 2019-08-23 凯迪迪爱通信技术有限公司 信息处理方法、信息处理装置、计算机可读存储介质
DE102019205657A1 (de) * 2019-02-19 2020-08-20 Robert Bosch Gmbh Verfahren und Vorrichtung zum Klassifizieren von Sensordaten
CN110147879A (zh) * 2019-04-03 2019-08-20 中国科学院计算技术研究所 一种用于神经网络处理器的激活装置及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
US4897811A (en) * 1988-01-19 1990-01-30 Nestor, Inc. N-dimensional coulomb neural network which provides for cumulative learning of internal representations
JP2595051B2 (ja) * 1988-07-01 1997-03-26 株式会社日立製作所 半導体集積回路
US4926064A (en) * 1988-07-22 1990-05-15 Syntonic Systems Inc. Sleep refreshed memory for neural network
US5063601A (en) * 1988-09-02 1991-11-05 John Hayduk Fast-learning neural network system for adaptive pattern recognition apparatus
US4904881A (en) * 1989-02-10 1990-02-27 Intel Corporation EXCLUSIVE-OR cell for neural network and the like
JP2823229B2 (ja) * 1989-04-05 1998-11-11 株式会社東芝 電子回路、差動増幅回路、及びアナログ乗算回路
US5097141A (en) * 1990-12-12 1992-03-17 Motorola, Inc. Simple distance neuron
WO1992020029A1 (en) * 1991-04-29 1992-11-12 Intel Corporation Neural network incorporating difference neurons

Also Published As

Publication number Publication date
KR950001601B1 (ko) 1995-02-27
EP0477486B1 (de) 1996-05-01
EP0477486A3 (en) 1993-07-21
EP0477486A2 (de) 1992-04-01
DE69119172D1 (de) 1996-06-05
US5467429A (en) 1995-11-14
KR920003189A (ko) 1992-02-29
US5166539A (en) 1992-11-24
US5353383A (en) 1994-10-04

Similar Documents

Publication Publication Date Title
DE69119172T2 (de) Neuronalnetzwerkschaltung
DE112018005726B4 (de) Resistive verarbeitungseinheit auf zählerbasis für programmierbare und rekonfigurierbare künstliche neuronale netzwerke
DE68925156T2 (de) Integrierte Halbleiterschaltung für neurales Netzwerk
DE3689030T2 (de) Schaltung zur Bestimmung der besten Anpassung an Eingangssignale.
DE19581638C2 (de) Rechenvorrichtung mit einem Mikroprozessor, einem neuralen Netz-Koprozessor und einer DMA-Steuervorrichtung
DE68928612T2 (de) Verfahren zur bestimmung der inferenzregel sowie inferenzmotor
DE102019116095A1 (de) Multiplikation unter verwendung von nichtflüchtigen speicherzellen
DE112016003245T5 (de) Resistive Verarbeitungseinheit
DE68922624T2 (de) Verteiltes parallelverarbeitungsnetzwerk, worin die verbindungsgewichte mit hilfe von starren differentialgleichungen erzeugt werden.
DE68927014T2 (de) Assoziatives Musterkonversionssystem und Anpassungsverfahren dafür
DE102019116305A1 (de) Pipelining zur verbesserung der inferenzgenauigkeit neuronaler netze
DE3501272A1 (de) Adaptives, selbstausbesserndes prozessorfeld
DE4143073A1 (de) Mehrschichtiges neuronales netzwerk
DE10296704T5 (de) Fuzzy-Inferenznetzwerk zur Klassifizierung von hochdimensionalen Daten
DE112020002186T5 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE69110538T2 (de) Neuronales Klassifikationssystem and -verfahren.
DE69531418T2 (de) Neuronales netzwerk mit reduzierter Berechnungsmenge
DE69127495T2 (de) Erkennungseinheit und Gerät zur Erkennung und Beurteilung in dem die Einheit verwendet ist
EP0925541B1 (de) Verfahren und vorrichtung zur rechnergestützten generierung mindestens eines künstlichen trainingsdatenvektors für ein neuronales netz
DE69013716T2 (de) Lernmaschine.
DE112020005613T5 (de) Neuromorphe Einheit mit Kreuzschienen-Array-Struktur
DE4121453C2 (de) Näherungsschlußfolgerungsvorrichtung
EP0777881B1 (de) Verfahren zur festlegung des gültigkeitsbereichs für ein künstliches neuronales netzwerk
DE102013225768A1 (de) Verfahren und Vorrichtung zum Ermitteln eines LOLIMOT-Modells
EP0548127B1 (de) Neuronales Netzwerk und Schaltungsanordnung zur Bool&#39;schen Realisierung neuronaler Netze vom ADALINE-Typ

Legal Events

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