DE69531418T2 - Neuronales netzwerk mit reduzierter Berechnungsmenge - Google Patents

Neuronales netzwerk mit reduzierter Berechnungsmenge Download PDF

Info

Publication number
DE69531418T2
DE69531418T2 DE69531418T DE69531418T DE69531418T2 DE 69531418 T2 DE69531418 T2 DE 69531418T2 DE 69531418 T DE69531418 T DE 69531418T DE 69531418 T DE69531418 T DE 69531418T DE 69531418 T2 DE69531418 T2 DE 69531418T2
Authority
DE
Germany
Prior art keywords
value
bit
synapse
sum
register
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
DE69531418T
Other languages
English (en)
Other versions
DE69531418D1 (de
Inventor
Kimihisa Isehara-shi Aihara
Kuniharu Atsugi-shi 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 JP6003885A external-priority patent/JPH07210617A/ja
Priority claimed from JP6004043A external-priority patent/JPH07210533A/ja
Priority claimed from JP6165641A external-priority patent/JPH0830572A/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of DE69531418D1 publication Critical patent/DE69531418D1/de
Publication of DE69531418T2 publication Critical patent/DE69531418T2/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Neuronennetzschaltung, die zum Verbinden einer Vielzahl von Neuronenschaltungen aufgebaut ist, die durch Synapsenberechnungsschaltungen, Summierungsschaltungen und nichtlineare Einheiten ausgebildet sind, und ein Verarbeitungsschema, das eine solche Neuronennetzschaltung verwendet.
  • Beschreibung des Standes der Technik
  • Eine Neuronennetzschaltung weist allgemein eine Vielzahl von miteinander verbundenen Neuronenschaltungen auf, wobei jede Neuronenschaltung eine Schaltung mit einer Vielzahl von Eingängen bzw. Eingaben (x1, x2, ..., xn) und einem Ausgang bzw. einer Ausgabe (y) ist, wie es in 1 gezeigt ist. Bei dieser Neuronenschaltung der 1 ist eine Vielzahl von Synapsengewichten (w1, w2, ..., wn) entsprechend einer Vielzahl von Eingängen vorgesehen, und jede Synapsenberechnungsschaltung 101 führt eine Berechnung zum Erhalten eines Produkts von jedem Eingangswert und jedem Synapsengewichtswert, eines Absolutwerts einer Differenz zwischen jedem Eingangswert und jedem Synapsengewichtswert oder eines Quadrats einer Differenz zwischen jedem Eingangswert und jedem Synapsengewichtswert, etc. aus, während eine Summierungsschaltung 102 Berechnungsergebnisse summiert, die durch alle Synapsenberechnungseinheiten 101 erhalten sind, und dann bestimmt eine nichtlineare Einheit 103 einen Ausgangswert gemäß einer Größe eines durch die Summierungsschaltung 102 erhaltenen Summierungsergebnisses.
  • Hier hat die nichtlineare Einheit 103, die schließlich den Ausgangswert bestimmt, eine der Übertragungscharakteristiken, wie sie in den 2A bis 2D gezeigt sind. Unter diesen hat die Σ-Funktionsform der 2A die allgemeinste Anwendbarkeit, aber es ist auch möglich, die vereinfachten Formen zu verwenden, wie beispielsweise eine Polygonlinienform, wie sie in 2B gezeigt ist, oder eine Stufenfunktionsform, wie sie in 2C gezeigt ist, zum Zwecke eines Vereinfachens der Berechnungen, oder eine nicht monotone Form, wie sie in 2D gezeigt ist, zum Zwecke eines Verbesserns der Funktionalität der Neuronennetzschaltung. In den 2A bis 2D zeigen Symbole Th, Th1, Th2, Th3 und Th4 Sättigungsbereichs-Grenzwerte in den jeweiligen Figuren, die die Sättigungsbereiche trennen, in welchen die Ausgabe entweder auf einem hohen oder auf einem niedrigen Pegel konstant ist, und Übergangsbereiche, in welchen sich die Ausgabe gemäß der Eingabe ändert.
  • Die spezifische Struktur der Neuronennetzschaltung wird durch die Verbindungen von solchen Neuronenschaltungen bestimmt. Die am allgemeinsten verwendete Struktur ist eine Dreifachschichtstruktur, die in 3 gezeigt ist, welche eine Eingangsschicht aufweist, die durch eine Vielzahl von Eingangsanschlüssen x1 bis xn ausgebildet ist, eine verborgene Schicht, die durch eine Vielzahl von Neuronenschaltungen 111 ausgebildet ist, und eine Ausgangsschicht, die durch eine Vielzahl von Neuronenschaltungen 112 ausgebildet ist. Das von den Eingangsanschlüssen x1 bis xn eingegebene Signal wird in alle Neuronenschaltungen 111 der verborgenen bzw. versteckten Schicht parallel eingegeben und parallel verarbeitet, während die Ausgaben aller Neuronenschaltungen 111 der versteckten Schicht in alle Neuronenschaltungen 112 der Ausgangsschicht parallel eingegeben werden und parallel verarbeitet werden. Wann immer das Eingangssignal eingegeben wird, reagieren die spezifischen Neuronenschaltungen auf das eingegebene Eingangssignal und realisieren die Verarbeitung, wie beispielsweise diejenige der Erkennung.
  • Herkömmlicherweise ist es in einem Fall eines Realisierens einer Neuronennetzschaltung großen Ausmaßes mit der oben beschriebenen Funktion üblich gewesen, die Neuronennetzschaltung durch Kombinieren eines Mikroprozessors 121 und von RAMs 122 über einen Bus 123 aufzubauen, wie es in 4 gezeigt ist. Bei einer solchen Konfiguration werden die Synapsenberechnungen, die Summierung und die nichtlineare Verarbeitung durch den Mikroprozessor 121 ausgeführt und werden die Synapsengewichte in den RAMs 22 gespeichert. Während der Berechnungen bei dem Mikroprozessor 121 werden, wann immer die Synapsengewichte nötig werden, die Zugriffe auf die RAMs 122 zum Auslesen der nötigen Synapsengewichte durchgeführt.
  • Bei einer solchen Konfiguration kann das Ausmaß der realisierbaren Neuronennetzschaltung durch Erhöhen einer Anzahl von RAMs 122 vergrößert werden, und kann der Berechnungsalgorithmus auf einfache Weise durch Ändern des auf dem Mikroprozessor 121 installierten Programms geändert werden.
  • Jedoch ist bei dieser herkömmlichen Konfiguration die Verarbeitungsgeschwindigkeit durch die Zugriffsgeschwindigkeit in Bezug auf die Synapsengewichte in den RAMs 122 beschränkt. Zusätzlich erhöht sich das Ausmaß an Berechnungen für die Synapsenberechnungen und die Summierung, wenn die Größe der Neuronennetzschaltung größer wird, und dies beschränkt wiederum die Verarbeitungsgeschwindigkeit aus dem folgenden Grund. Das bedeutet, dass bei dieser herkömmlichen Konfiguration die Synapsenberechnungen in Bezug auf alle Bits des Eingangswerts und alle Bits des Synapsengewichts für alle Synapsenverbindungen sowie die Summierung aller Synapsenberechnungsergebnisse ausgeführt werden müssen, so dass das Ausmaß an Berechnungen äußerst groß werden kann und die Zugriffe auf die Synapsengewichte in den RAMs 122, die zu diesen Berechnungen gehören, auch eine beachtliche Menge an Zeit dauern können.
  • Zum Fertigwerden mit diesem Problem in Bezug auf die Menge an Berechnungen, die in jeder Neuronenschaltung erforderlich sind, sind herkömmlich die folgenden zwei Vorschläge gemacht worden.
    • (1) ein in der offengelegten japanischen Patentanmeldung Nr. 4-112362 (1992) und in dem US-Patent Nr. 5,166,539 offenbartes Schema, bei welchem eine Differenz oder ein Abstand zwischen jeder Eingabe und jedem Synapsengewicht oder ein Gewichtswert aufgrund jedes Synapsengewichts als ein Gewichtsberechnungswert einer einzigen Polarität durch eine Gewichtsberechnungsschaltung erhalten wird, und alle Gewichtsberechnungswerte summiert werden und dann die nichtlineare Verarbeitung auf dieses Summierungsergebnis angewendet wird, um eine geeignete Ausgabe zu erhalten, wobei ein Zwischenergebnis der Summenberechnung und die Sättigungsbereichs-Grenzwerte der nichtlinearen Einheit verglichen werden, um zu beurteilen, ob die Berechnungen für die übrigen Eingaben fortzuführen sind oder nicht, so dass die Summenberechnungen für die übrigen Eingaben weggelassen werden können, wann immer das Zwischenergebnis den Sättigungsbereich erreichte, während das Zwischenergebnis, das für die weiteren Summenberechnungen erforderlich ist, durch eine selektive Steuerschaltung ausgewählt wird, um die Schaltungsgröße und den Leistungsverbrauch der Summierungsschaltung zu reduzieren. Dieses Schema ist jedoch nur auf einen Fall anwendbar, bei welchem das Gewichtsberechnungsergebnis der Eingabe und des Synapsengewichts einen positiven Wert annimmt, so dass seine Anwendbarkeit ziemlich beschränkt ist.
    • (2) Ein Schema, das in Y. Kondo, et al.: "A 1.2GFLOPS Neural Network Chip Exhibiting Fast Convergence", 1994 IEEE International Solid-State Circuit Confererence, Digests of Technical Papers, S. 218–219, Februar 1994 offenbart ist, wobei die Gewichtsberechnung unter Verwendung des Synapsengewichts mit einem Wert, der kleiner als ein bestimmter vorgeschriebener Wert ist, weggelassen wird, um die Verarbeitungsgeschwindigkeit zu erhöhen. Dieses Schema ist jedoch mit einem Problem verknüpft, das darin besteht, dass das genaue Summenberechnungsergebnis aufgrund der Anhäufung von kleinen Fehlern aufgrund der weggelassenen Gewichtsberechnungen nicht erhalten werden kann, wenn die Gewichtsberechnungswerte summiert werden.
  • Weiterer relevanter Stand der Technik ist in den folgenden zwei Dokumenten beschrieben.
  • US-A-5 131 073 beschreibt eine Neuroneneinheit, die gleichzeitig eine Vielzahl von binären Eingangssignalen verarbeitet. Die Neuroneneinheit enthält Eingangsleitungen zum Empfangen von ersten und zweiten Eingangssignalen, die sich Übergänge mit der Zeit unterziehen, erste und zweite Speicher zum Speichern von Gewichtskoeffizienten, ein erstes Gatter zum aufeinanderfolgenden Erhalten eines logischen Produkts aus einem von den ersten Eingangssignalen und von einem entsprechenden der Gewichtungskoeffizienten, die aus dem ersten Speicher für jeweils die ersten Eingangssignale ausgelesen sind, ein zweites Gatter zum aufeinanderfolgenden Erhalten eines logischen Produkts von einem der zweiten Eingangssignale und von einem entsprechenden der Gewichtungskoeffizienten, die aus dem zweiten Speicher für ein jeweiliges der zweiten Eingangssignale ausgelesen sind, ein drittes Gatter zum Erhalten einer logischen Summe von logischen Produkten, die vom ersten Gatter ausgegeben werden, ein viertes Gatter zum Erhalten einer logischen Summe von logischen Produkten, die aus dem zweiten Gatter ausgegeben werden, und einen Ausgangsteil mit einem Inverter zum Invertieren der logischen Summe, die aus dem vierten Gatter ausgegeben wird, und einem Gatter zum Erhalten von einem eines logischen Produkts und einer logischen Summe der logischen Summe, die aus dem dritten Gatter ausgegeben wird, und einer invertierten logischen Summe, die vom Inverter ausgegeben wird. Dieses Gatter gibt ein Ausgangssignal der Neuroneneinheit aus.
  • "Bit-Serial Neural Networks" von Alan F. Murray et al., Neural Information Processing Systems, American Institute of Physics, 1987, Denver, USA, Seiten 573 bis 583, beschreibt ein bitserielles VLSI-Neuronennetz von einer Anfangsarchitektur für ein Synapsenfeld bis zu einem Silizium-Layout und einem Leiterplattenentwurf. Die Punkte, die eine bitserielle Berechnung betreffen, und eine Analog/Digital-Arithmetik sind diskutiert, und die parallele Entwicklung eines hybriden Analog/Digital-Neuronennetzes ist umrissen. Lern- und Erinnerungsfähigkeiten sind für das bitserielle Netz zusammen mit einer projizierten Spezifikation für eine bitserielle 64-Neuronen-Leiterplatte berichtet, die bei 20 MHz arbeitet. Diese Technik wird auf ein 256-(2562-Synapsen-)Netz mit einer Aktualisierungszeit von 3 ms ausgedehnt, wobei eine "Paging"-Technik zum Zeitmuliplexen von Berechnungen durch das Synapsenfeld verwendet wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Neuronennetzschaltung und ein Verarbeitungsschema unter Verwendung der Neuronennetzschaltung zu schaffen, die zum Reduzieren eines Ausmaßes an Berechnungen fähig sind, die für die Synapsenberechnungen und die Summierung erforderlich sind, sowie einer Anzahl von Zugriffen auf die Synapsengewichte, um eine Neuronennetzschaltung großen Ausmaßes mit einer hohen Verarbeitungsgeschwindigkeit zu realisieren, um ungeachtet von Werten, die durch die Eingangswerte und Synapsengewichte angenommen werden, ein genaues Endergebnis zu erhalten.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist eine Neuronennetzschaltung geschaffen, die eine Vielzahl von Eingangswerten empfängt, die positiv oder negativ sein können, und die einen Ausgangswert ausgibt, umfassend: eine Berechnungsinrichtung zum Ausführen einer Synapsenberechnung für jeden Eingangswert und des entsprechenden Synapsengewichts für jeden Eingangswert, die durch binäre Bitsequenzen ausgedrückt sind, durch Verwenden eines sequentiell spezifizierten Bits des entsprechenden Synapsengewichts, wobei das Synapsengewicht einen positiven oder einen negativen Wert haben kann, und eine Summenberechnung zum sequentiellen Summieren der Synapsen-Berechnungsergebnisse für die Eingangswerte, um einen monoton steigenden oder fallenden Summenwert zu erhalten, der positiv oder negativ sein kann; eine Synapsengewicht-Speicherschaltung zum Speichern einer Vielzahl von Synapsengewichten; eine Speicherausleseschaltung zum selektiven Auslesen eines spezifizierten Bits eines spezifizierten Synapsengewichts aus der Synapsengewicht-Speicherschaltung zu der Berechnungseinrichtung; eine nichtlineare Einheit zum Anwenden einer vorgegebenen nichtlinearen Übertragungsfunktion auf den Summenwert, der durch die Berechnungseinrichtung erhalten wird, um den Ausgangswert zu bestimmen; eine Beurteilungseinrichtung zum Beurteilen, ob der Summenwert, der durch die Berechnungseinrichtung erhalten ist, entweder einen positiven oder einen negativen Sättigungsbereich der Übertragungscharakteristik der nichtlinearen Einheit erreicht; und eine Steuereinrichtung zum Steuern der Speicherausleseschaltung und der Berechnungseinrichtung, um die Synapsenberechnung von oberen Bits des entsprechenden Synapsengewichts sequentiell auszuführen, und um die Synapsenberechnung und die Summenberechnung zu stoppen, wann immer die Beurteilungseinrichtung beurteilt, dass der durch die Berechnungseinrichtung erhaltene Summenwert entweder den positiven oder den negativen Sättigungsbereich erreicht.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Neuronennetzsystem geschaffen, wie es im Anspruch 17 spezifiziert ist.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Verarbeitungsverfahren geschaffen, das eine Neuronennetzschaltung verwendet, wie es im Anspruch 18 spezifiziert ist.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Verarbeitungsverfahren geschaffen, das ein Neuronennetzsystem verwendet, wie es im Anspruch 34 spezifiziert ist.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung, genommen in Zusammenhang mit den beigefügten Zeichnungen, offensichtlich werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Diagramm einer herkömmlichen Neuronenschaltung für eine herkömmliche Neuronennetzschaltung.
  • 2A bis 2D sind Kurven, die typische Übertragungscharakteristiken einer nichtlinearen Einheit zeigen, die in einer Neuronenschaltung einer Neuronennetzschaltung verwendet wird.
  • 3 ist ein schematisches Diagramm einer Dreifachschichtstruktur für eine Neuronennetzschaltung.
  • 4 ist ein schematisches Diagramm einer herkömmlichen Schaltungskonfiguration zum Realisieren einer Neuronennetzschaltung großen Ausmaßes.
  • 5 ist ein Blockdiagramm einer Neuronenschaltung für das erste Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 6 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten eines Anfangswerts eines Summenwerts in der Neuronenschaltung der 5.
  • 7 ist eine Kurve einer Übertragungscharakteristik einer nichtlinearen Einheit in der Neuronenschaltung der 5, welche Kurve eine Art zum Erhalten eines Endsummenwerts in einem Sättigungsbereich durch die Neuronenschaltung der 5 zeigt.
  • 8 ist eine Kurve einer Übertragungscharakteristik einer nichtlinearen Einheit in der Neuronenschaltung der 5, welche Kurve eine Art zum Erhalten eines Endsummenwerts in einem anderen Sättigungsbereich durch die Neuronenschaltung der 5 zeigt.
  • 9 ist ein Blockdiagramm einer Neuronenschaltung für das zweite Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 10 ist ein Blockdiagramm einer Neuronenschaltung für das dritte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 11 ist ein Blockdiagramm einer seriellen Ein-Bit-Synapsenberechnungs- und -summierschaltung in der Neuronenschaltung der 10.
  • 12 ist eine Diagrammdarstellung einer beispielhaften Berechnung in der seriellen Ein-Bit-Synapsenberechnungs- und -summierschaltung der 11.
  • 13 ist ein Blockdiagramm einer seriellen Ein-Bit-Synapsenberechnungs- und -summierschaltung in einer Neuronenschaltung für das vierte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 14 ist eine Kurve einer Übertragungscharakteristik einer nichtlinearen Einheit in der Neuronenschaltung des vierten Ausführungsbeispiels, welche Kurve eine Art zum Erhalten eines Endsummenwerts in einem Sättigungsbereich durch das vierte Ausführungsbeispiel zeigt.
  • 15 ist eine Kurve einer Übertragungscharakteristik einer nichtlinearen Einheit in der Neuronenschaltung des vierten Ausführungsbeispiels, welche Kurve eine Art zum Erhalten eines Endsummenwerts in einem anderen Sättigungsbereich durch das vierte Ausführungsbeispiel zeigt.
  • 16 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten von Anfangswerten aus ersten und zweiten Summenwerten beim vierten Ausführungsbeispiel für einen Fall.
  • 17 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten von Anfangswerten aus ersten und zweiten Summenwerten beim vierten Ausführungsbeispiel für einen weiteren Fall.
  • 18 ist eine Diagrammdarstellung eines beispielhaften Einstellens eines Anfangswerts eines Summenwert in einer Neuronenschaltung für das fünfte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 19 ist ein Blockdiagramm einer Teilkonfiguration für eine Steuerung in einer seriellen Ein-Bit-Synapsenberechnungs- und -summierschaltung einer Neuronenschaltung für das fünfte Ausführungsbeispiel.
  • 20 ist eine Kurve einer Rate von ausgeführten Berechnungen gegenüber einem Endsummenwert, welche Kurve den Effekt des Weglassens von Berechnungen bei den ersten bis sechsten Ausführungsbeispielen einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung zeigt.
  • 21 ist eine Kurve einer Anzahl von oberen Bits in einem Synapsengewicht, auf die zugegriffen wird, gegenüber einem Endsummenwert, welche Kurve den Effekt der Reduzierung von Speicherzugriffen bei den ersten bis sechsten Ausführungsbeispielen einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung zeigt.
  • 22 ist ein Blockdiagramm einer Neuronenschaltung für das siebte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 23 ist ein Blockdiagramm einer Synapsenberechnungsund -Summierungsschaltung in der Neuronenschaltung der 22.
  • 24 ist eine Diagrammdarstellung einer beispielhaften Berechnung in der Synapsenberechnungs- und – summierungsschaltung der 23.
  • 25 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten von Anfangswerten aus Summenwerten in der Neuronenschaltung der 22 für einen Fall.
  • 26 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten von Anfangswerten aus Summenwerten in der Neuronenschaltung der 22 für einen weiteren Fall.
  • 27 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten von Anfangswerten aus Summenwerten in der Neuronenschaltung der 22 für einen weiteren Fall.
  • 28 ist eine Diagrammdarstellung einer beispielhaften Berechnung zum Erhalten von Anfangswerten aus Summenwerten in der Neuronenschaltung der 22 für einen weiteren Fall.
  • 29 ist ein Blockdiagramm einer Synapsenberechnungsund -Summierungsschaltung in einer Neuronenschaltung für das achte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 30A, 30B und 30C sind Kurven einer Übertragungscharakteristik einer nichtlinearen Einheit in der Neuronenschaltung des achten Ausführungsbeispiels, welche Kurven eine Art zum Bereitstellen von Offsets im achten Ausführungsbeispiel zeigen.
  • 31 ist ein Blockdiagramm eines Neuronennetzsystems unter Verwendung des neunten Ausführungsbeispiels einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung.
  • 32 ist ein Zeitdiagramm, das ein beispielhaftes Fortschreiten von Berechnungen bei Neuronennetzschaltungen im Neuronennetzsystem der 31 zeigt.
  • 33 ist eine Kurve einer Rate von ausgeführten Berechnungen gegenüber einem Endsummenwert, welche Kurve den Effekt des Weglassens von Berechnungen bei den siebten bis neunten Ausführungsbeispielen einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung zeigt.
  • 34 ist eine Kurve einer Anzahl von oberen Bits in einem Synapsengewicht, auf die zugegriffen wird, gegenüber einem Endsummenwert, welche Kurve den Effekt der Reduzierung von Speicherzugriffen bei den siebten bis neunten Ausführungsbeispielen einer Neuronennetzschaltung und eines Verarbeitungsschemas gemäß der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Nimmt man nun Bezug auf die 5 bis 8 wird das erste Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben.
  • Bei diesem ersten Ausführungsbeispiel hat die Neuronennetzschaltung eine Gesamtstruktur, die gleich der herkömmlichen Neuronennetzschaltung ist, die allgemein eine Vielzahl von Neuronennschaltungen aufweist, die miteinander verbunden sind, wie beispielsweise bei der oben beschriebenen Dreifachschichtstruktur der 3. Hier hat jede Neuronenschaltung eine Konfiguration, wie es in 5 gezeigt ist, welche folgendes aufweist: eine Vielzahl von Synpasenberechnungsschaltungen 1-1 bis 1-n entsprechend einem Eingang 1 bis zu einem Eingang n zum Durchführen von Synapsenberechnungen in Bezug auf die jeweiligen Eingänge bzw. Eingaben; eine Synapsengewicht-Speicherschaltung 2 zum Speichern von Synapsengewichten, die zu den Synapsenberechnungsschaltungen 1-1 bis 1-n zuzuführen sind; eine Speicherausleseschaltung 3 zum Auslesen der Synapsengewichte aus der Synapsengewicht-Speicherschaltung 2 zu den Synapsenberechnungseinheiten 1-1 bis 1-n; eine Summierungsschaltung 4 zum Summieren von Ausgaben aus allen Synapsenberechnungsschaltungen 1-1 bis 1-n; eine nichtlineare Einheit 5 zum Ausführen einer nichtlinearen Verarbeitung in Bezug auf eine Ausgabe der Summierungsschaltung 4, um eine Ausgabe dieser Neuronenschaltung zu erhalten; ein erstes und ein zweites Sättigungsbereichs-Grenzwertregister 8-1 und 8-2 zum jeweiligen Speichern eines ersten und eines zweiten Sättigungsbereichs-Grenzwerts der nichtlinearen Einheit 5; Komparatoren 6-1 und 6-2 zum Vergleichen der Summierungsschaltung 4 mit dem ersten und dem zweiten Sättigungsbereichs-Grenzwert, die jeweils in dem ersten und dem zweiten Sättigungsbereichs-Grenzwertregister 8-1 und 8-2 gespeichert sind; und eine Steuerschaltung 7 zum Steuern von Operationen der Synapsenberechnungsschaltungen 1-1 bis 1-n und der Speicherausleseschaltung 3 gemäß Ausgaben der Komparatoren 6-1 und 6-2.
  • Hier zeigen der erste und der zweite Sättigungsbereichs-Grenzwert Grenzen eines Übergangsbereichs und die Sättigungsbereiche bei einer Übertragungscharakteristik der nichtlinearen Einheit 5 an, wobei der erste Sättigungsbereichs-Grenzwert die untere Grenze anzeigt, während der zweite Sättigungsbereichs-Grenzwert die obere Grenze anzeigt. In einem Fall, dass die Übertragungscharakteristik der nichtlinearen Einheit 5 mehr als einen Übergangsbereich hat, wie in einem Fall der oben beschriebenen 2D, werden zusätzliche Sättigungsbereichs-Grenzwertregister und entsprechende Komparatoren nötig sein. Im folgenden wird der Einfachheit halber nur ein Fall der nichtlinearen Einheit 5 mit der Übertragungscharakteristik mit einem Übergangsbereich allein beschrieben werden.
  • Bei dieser Konfiguration der 5 gibt es n Gruppen von Synapsenberechnungsschaltungen 1-1 bis 1-n, die mit entsprechenden Eingangsanschlüssen verbunden sind, die in einen Eingang 1 bis zu einem Eingang n eintreten, sowie mit der Synapsengewicht-Speicherschaltung 2 über die Speicherausleseschaltung 3. Ausgänge der Synapsenberechnungsschaltungen 1-1 bis 1-n sind mit einem Eingang der Summierungsschaltung 4 verbunden, und ein Ausgang der Summierungsschaltung 4 ist mit Eingängen der nichtlinearen Einheit 5 und der Komparatoren 6-1 und 6-2 verbunden, während ein Ausgang der nichtlinearen Einheit 5 mit einem Ausgangsanschluss dieser Neuronenschaltung verbunden ist. Das erste Sättigungsbereichs-Grenzwertregister 8-1 ist mit einem anderen Eingang des Komparators 6-1 verbunden, während das zweite Sättigungsbereichs-Grenzwertregister 8-2 mit einem anderen Eingang des Komparators 6-2 verbunden ist. Ausgänge der Komparatoren 6-1 und 6-2 sind mit einem Eingang der Steuerschaltung 7 verbunden, während ein Ausgang der Steuerschaltung 7 mit der Speicherausleseschaltung 3 und den Synapsenberechnungsschaltungen 1-1 bis 1-n verbunden ist.
  • Mit dieser Konfiguration wird die folgende Verarbeitung ausgeführt, um die Berechnung zum schrittweisen Erhalten des genauen Endergebnisses aus einem Näherungswert durch sequentielles Ausführen von Berechnungen von oberen Bits von binären Bitsequenzen, die den Synapsengewichtswert und den Eingangswert darstellen, zu realisieren.
    • (1) Zum Ausführen der Berechnung von den oberen Bits bei den Synapsenberechnungsschaltungen 1 werden nötige Bits des Eingangswerts und des Synapsengewichtswerts sequentiell zu jeder Synapsenberechnungsschaltung 1 unter der Steuerung der Steuerschaltung 7 übertragen bzw. transferiert.
    • (2) Die Berechnungsergebnisse aller Synapsenberechnungsschaltungen 1 werden bei der Summierungsschaltung 4 summiert.
    • (3) Das bei (2) erhaltene Summierungsergebnis wird mit dem ersten und dem zweiten Sättigungsbereichs-Grenzwert bei den Komparatoren 6 verglichen, und die Berechnungen aus (1) und (2) werden wiederholt, bis das bei (2) erhaltene Summierungsergebnis im Sättigungsbereich ist. Wenn das bei (2) erhaltene Summierungsergebnis den Sättigungsbereich erreicht, wird dieses Summierungsergebnis als das Endsummenergebnis bestimmt und werden die Berechnungen bei den Synapsenberechnungsschaltungen 1 sofort durch ein Signal von der Steuerschaltung 7 gestoppt, so dass die darauffolgenden Berechnungen und die Speicherzugriffe weggelassen werden können.
  • Nun ist es zum Ausführen der Synapsenberechnung und der Summierung von den oberen Bits, zum Vergleichen des Summierungsergebnisses mit dem ersten und dem zweiten Sättigungsbereichs-Grenzwert und zum Stoppen der Berechnungen zu einer Zeit, zu welcher das Summierungsergebnis den Sättigungsbereich erreicht, wie es oben beschrieben ist, für das Summierungsergebnis nötig, das es monoton ansteigt oder abfällt, wenn die Berechnungen fortschreiten.
  • Jedoch ist es für jeden von dem Eingangswert und dem Synapsengewichtswert möglich, entweder einen positiven oder einen negativen Wert anzunehmen, so dass in einem Fall eines Ausführens der Multiplikation des Eingangswerts und des Synapsengewichtswerts als die Synapsenberechnung unmöglich ist, die mononton ansteigende oder abfallende Funktion als das Summierungsergebnis zu realisieren, indem das herkömmliche Synapsenberechnungs- und -summierungsschema verwendet wird. Aus diesem Grund wird bei diesem ersten Ausführungsbeispiel das folgende Berechnungsschema verwendet.
    • (1) Die Synapsenberechnung wird in Bezug auf die binären Ausdrücke des Eingangswerts und des Synapsengewichtswerts jeweils in einer Form von "Vorzeichen plus Absolutwert" ausgeführt werden. Hier ist eine Wortlänge (Bitlänge) eines Absolutwertteils von jedem Wert derart eingestellt, dass sie L ist, und eine sequentielle Bitnummer bzw. Bitzahl eines Absolutwertteils von dem am wenigsten signifikanten Bit ist derart eingestellt, dass sie i ist.
    • (2) Zum Realisieren der monoton ansteigenden Summierung wird der Anfangswert des Summenwerts wie folgt eingestellt.
  • Ein Vorzeichen des Synapsenberechnungsergebnisses wird aus Vorzeichenbits des Eingangswerts und des Synapsengewichtswerts bewertet, und der Anfangswert wird eingestellt, dass er Null ist, wenn das Vorzeichen positiv ist.
  • Andererseits wird dann, wenn das Vorzeichen des Synapsenberechnungsergebnisses negativ ist, der Anfangswert durch die folgenden Schritte erhalten.
    • (a) Ein Einstellwert von Null wird dann verwendet, wenn das i-te Bit des Absolutwertteils des Eingangswerts binär "0" ist.
    • (b) Ein Einstellwert von –2(i+1–1) + 1 wird dann verwendet, wenn das i-te Bit des Absolutwertteils des Eingangswerts binär "1" ist.
    • (c) Alle Einstellwerte, die durch (a) und (b) in Bezug auf alle Bits des Absolutwertteils des Eingangswerts für jede Synapsenberechnung gegeben sind, werden miteinander summiert, und eine Gesamtheit aller Summen für alle Synapsen, die mit dieser Neuronenschaltung verbunden sind, wird als der Anfangswert eingestellt.
  • Auf diese Weise ist es bei diesem ersten Ausführungsbeispiel möglich, den Anfangswert des Summenwerts nur aus den Eingangswerten zu bestimmen.
  • Als illustratives Beispiel wird eine Art zum Erhalten des Anfangswerts des Summenwerts für einen beispielhaften Fall unter Bezugnahme auf 6 beschrieben werden, bei welchem die Wortlänge L des Absolutwertteils jedes Werts vier Bits ist, der Synapsengewichtswert "11" ist und der Eingangswert "–13" ist. In diesem Fall ist das Synapsenberechnungsergebnis des Synapsengewichtswerts und des Eingangswerts negativ. Hier kann eine Operation zum Berechnen eines Produkts aus binären Ausdrücken von Absolutwerten von diesen Werten ("1011" bzw. "1101") in Operationen zum sequentiellen Addieren verschobener Ergebnisse der Multiplikation des Synapsengewichtswerts und des i-ten Bits des Eingangswerts für alle i zerlegt werden. Bei diesen Operationen werden, wie es in 6 gezeigt ist, die fehlenden Ziffern bei den unteren Bits in jeder Bitsequenz durch zusätzlich "0" ergänzt, und jede ergänzte Bitsequenz wird in einen negativen Wert umgewandelt, in dem ein 1-er-Komplementausdruck mit einer variablen Bitlänge gemäß einer Anzahl von Zeichen bzw. Ziffern jeder ergänzten Bitsequenz verwendet wird. Hier ist der 1-er-Komplementausdruck entsprechend jeder Bitsequenz als Summe aus dem 1-er-Komplement einer Zahl zu interpretieren, die durch eine oberste Zahl dargestellt wird, die ein negativer Wert ist, und positive Werte, die durch die übrigen Zahlen bzw. Ziffern dargestellt sind. Somit wird beispielsweise für eine Bitsequenz von "1011" ihr 1-er-Komplementausdruck "10100" als Summe aus einem 1-er-Komplement einer obersten Zahl "10000" = 16 interpretiert, was –15 ist, und ein positiver Wert, der durch das übrige "100" = 4 dargestellt wird, so dass "10100" einen negativen Wert –11 im 1-er-Komplementausdruck darstellt. Dann wird eine Gesamtheit von obersten negativen Teilen von allen diesen 1-er-Komplementausdrücken für alle Zahlen als der Anfangswert des Summenwerts eingestellt.
    • (3) Die Berechnung des Produkts aus dem Eingangswert und dem Synapsengewichtswert wird Bit für Bit von den oberen Bits ihrer Absolutwertteile aus ausgeführt und wird sequentiell in einer abfallenden Reihenfolge einer Größe des Multiplikationsergebnisses fortgeführt. In einem Fall, in welchem das i-te Bit des Eingangswerts "0" ist, ist es offensichtlich, dass das Synapsenberechnungsergebnis für dieses i-te Bit "0" ist, so dass die Berechnung für dieses ite Bit des Eingangswerts und des Synapsengewichtswerts weggelassen wird.
    • (4) Die Summenberechnung wird durch Addieren der Absolutwertteile in den 1-er-Komplementausdrücken ausgeführt, wenn das Synapsenberechnungsergebnis negativ ist, so dass sie durch die Addition von nur positiven Werten realisiert werden kann.
  • Mittels dieser Verarbeitung, wie sie in 7 angezeigt ist, konvergiert die Summierung vom Anfangswert des Summenwerts aus nach und nach zu dem Endwert, wenn die Berechnung fortschreitet. In diesem Fall schreitet die Berechnung des zu summierenden Synapsenberechnungsergebnisses von den oberen Bits aus fort, so dass sich das Synapsenberechnungsergebnis von demjenigen mit einem größeren Absolutwert zu demjenigen mit einem kleineren Absolutwert ändert, wenn die Berechnung fortschreitet. Anders ausgedrückt nähert sich der Summenwert nach und nach von dem Näherungswert zu dem genauen Wert. Dann, wenn der Summenwert den zweiten Sättigungsbereichs-Grenzwert übersteigt, kann festgestellt werden, dass das Summierungsergebnis den Sättigungsbereich A erreicht hat, so dass die darauffolgenden Berechnungen weggelassen werden können.
  • Es ist zu beachten, dass ein Fall einer Konvergenz des Summierungsergebnisses zum Sättigungsbereich B durch die gleiche Weise behandelt werden kann, wie es oben beschrieben ist, außer bezüglich einer Umkehr der Polarität bei der oben beschriebenen Verarbeitung, wie es in 8 angezeigt ist, wo das gleiche Weglassen der darauffolgenden Berechnungen durchgeführt werden kann, nachdem das Summierungsergebnis den Sättigungsbereich B erreicht hat.
  • Nimmt man nun Bezug auf 9, wird das zweite Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier werden denjenigen Elementen, die im Wesentlichen gleich den entsprechenden Elementen beim oben beschriebenen ersten Ausführungsbeispiel sind, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen werden.
  • Bei diesem zweiten Ausführungsbeispiel hat jede Neuronenschaltung der Neuronennetzschaltung eine Konfiguration, wie es in 9 gezeigt ist, welche sich von derjenigen der 5 darin unterscheidet, dass es nur eine Synapsenberechnungsschaltung 1 gibt und ein Selektor 9 vorgesehen ist, der zwischen den Eingangsanschlüssen und der Synapsenberechnungsschaltung 1 vorgesehen ist und durch die Steuerschaltung 7 gesteuert wird, so dass das Synapsengewicht und der Eingangswert, die bei der Synapsenberechnung bei der Synapsenberechnungseinheit 1 zu verwenden sind, selektiv von der Speicherausleseschaltung 3 und dem Selektor 9 unter der Steuerung der Steuerschaltung 7 zugeführt werden.
  • Bei dieser Konfiguration wird eine einzige Synapsenberechnungsschaltung 1 für alle Synapsenberechnungen verwendet, so dass es einen zusätzlichen Vorteil der Reduzierung der Schaltungsgröße gibt, und zwar zusätzlich zu allen Vorteilen des oben beschriebenen ersten Ausführungsbeispiels.
  • Nimmt man nun Bezug auf die 10 bis 12 wird das dritte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier werden denjenigen Elementen, die im Wesentlichen gleich der entsprechenden Elementen beim ersten und beim zweiten Ausführungsbeispiel sind, die oben beschrieben sind, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen werden.
  • Bei diesem dritten Ausführungsbeispiel hat jede Neuronenschaltung der Neuronennetzschaltung eine Konfiguration, wie es in 10 gezeigt ist, welche sich von derjenigen der 9 dadurch unterscheidet, dass die Synapsenberechnungsschaltung 1 und die Summierungsschaltung 4 der 9 durch eine serielle Ein-Bit-Synapsenberechnungsund -summierungsschaltung 10 ersetzt ist, und eine Takterzeugungsschaltung 11 zwischen der Steuerschaltung 7 und dieser serielle Ein-Bit-Synapsenberechnungs- und -summierungsschaltung 10 vorgesehen ist. Die serielle Ein-Bit-Synapsenberechnungs- und -summierungsschaltung 10 empfängt das Synapsengewicht und den Eingangswert von der Speicherausleseschaltung 3 und dem Selektor 9 unter der Steuerung der Steuerschaltung 7 und gibt das berechnete Summierungsergebnis der Synapsenberechnungen zu der nichtlinearen Einheit 5 sowie zu den Komparatoren 6-1 und 6-2 aus. Die Steuerschaltung 7 führt auch ein Rücksetzsignal zu der Takterzeugungsschaltung 11 zu, und die Takterzeugungsschaltung 11 führt die Taktsignale zu der serielle Ein-Bit-Synapsenberechnungs- und -summierungsschaltung 10 gemäß dem Rücksetzsignal von der Steuerschaltung 7 zu.
  • Die serielle Ein-Bit-Synapsenberechnungs- und -summierungsschaltung 10 hat eine detaillierte Konfiguration, wie es in 11 gezeigt ist, welche ein Synapsengewichtsregister 21 zum Registrieren des empfangenen Synapsengewichts, ein Eingangswertregister 22 zum Registrieren des empfangenen Eingangswerts, einen Schalter-a 24 und einen Schalter-b 25 zum selektiven Ausgaben eines spezifizierten Bits der Absolutwertbits aus den Registern 21 bzw. 22, eine EX-ODER-Schaltung 28, die Vorzeichenbits der Register 21 und 22 als ihre Eingaben empfängt, eine UND-Schaltung 30, die Ausgaben des Schalters-a 24 und des Schalters-b 25 als ihre Eingaben empfängt, eine EX-ODER-Schaltung 29, die Ausgaben der EX-ODER-Schaltung 28 und der UND-Schaltung 30 als ihre Eingaben empfängt, einen Ein-Bit-Addierer 31, der eine Ausgabe der EX-ODER-Schaltung 29 als seine A-Anschluss-Eingabe empfängt, ein D-Typ-Flip-Flop 32, das zwischen Co- und Ci-Anschlüssen des Ein-Bit-Addierers 31 angeschlossen ist, ein Summierungsregister 23 zum Registrieren eines aktuellen Summenwerts, einen Schalter-c 26 zum selektiven Ausgeben eines spezifizierten Bits des aktuellen Summenwerts aus dem Summierungsregister 23 als eine b-Anschluss-Eingabe des Ein-Bit-Addierers 31, einen Schalterd 27 zum selektiven Speichern einer S-Anschluss-Ausgabe (eines Additionsergebnisses) des Ein-Bit-Addierers 31 in dem Summierungsregister 23 und eine Steuerung 33, die eine Ausgabe des Schalters-b 25 und eine Co-Anschluss-Ausgabe (Übertragssignal) des Ein-Bit-Addierers 31 empfängt, auf.
  • Hier führt die Steuerung 33 eine Steuereingabe i, die eine sequentielle Bitzahl ab dem am wenigstens signifikanten Bit eines Zugriffsbits im Synapsengewichtsregister 21 anzeigt, zum Schalter-a 24 zu, eine Steuereingabe j, die eine sequentielle Bitzahl ab dem am wenigsten signifikanten Bit eines Zugriffsbits im Eingangswertregister 22 anzeigt, zum Schalter-b 25, und eine Steuereingabe k, die eine sequentielle Bitzahl ab dem am wenigsten signifikanten Bit eines Zugriffsbits im Summierungsregister 23 anzeigt, zum Schalter-c 26 und zum Schalter-d 27, um Bits zu steuern, um selektiv durch die Schalter 24, 25, 26 und 27 ausgegeben oder gespeichert zu werden. Zusätzlich werden das Synapsengewichtsregister 21 und das Eingangswertregister 22 gemäß dem ersten Taktsignal CLK1 von der Takterzeugungsschaltung 11 betrieben, während das Summierungsregister 23 gemäß dem zweiten Taktsignal CLK2 von der Takterzeugungsschaltung 11 betrieben wird.
  • Bei dieser Konfiguration wird der Ein-Bit-Addierer 31 für sowohl den Additionsteil der Synapsenberechnung als auch den Additionsteil der Summierung verwendet, so dass es einen zusätzlichen Vorteil der Reduzierung der Schaltungsgröße gibt, und zwar zusätzlich zu allen Vorteilen des ersten und des zweiten Ausführungsbeispiels, die oben beschrieben sind. Darüber hinaus ist es, wenn die serielle Berechnung ausgeführt wird, wenn ein Bit des Eingangswerts "0" ist, offensichtlich, dass das serielle Synapsenberechnungsergebnis für dieses Bit "0" ist, so dass die Berechnung für dieses Bit des Eingangswerts und des Synapsengewichtswerts weggelassen werden kann, um das Ausmaß an Berechnungen zu reduzieren.
  • Hier kann der Ein-Bit-Addierer 31 zwischen dem Additionsteil der Synapsenberechnung und dem Additionsteil der Summierung aus dem folgenden Grund gemeinsam genutzt werden. Nämlich in einem Fall eines Ausführens der seriellen Multiplikation als die Synapsenberechnung, wie es in 12 für einen beispielhaften Fall von 11 mal 13 angezeigt ist, kann die Multiplikation in die Ein-Bit-Multiplikationen und die darauffolgenden Additionen der Ein-Bit- Multiplikationsergebnisse zerlegt werden. Folglich ist es durch Verwenden einer derartigen seriellen Berechnung möglich, die Additionsberechnung bei der Synapsenberechnungsoperation und die Additionsberechnung bei der Summierungsoperation integral auszubilden, und dadurch gibt es einen zusätzlichen Vorteil der Reduzierung der Schaltungsgröße.
  • Genauer gesagt wird bei diesem dritten Ausführungsbeispiel die folgende Verarbeitung ausgeführt.
    • (1) Der Anfangswert des Summenwerts wird eingestellt, wie beim oben beschriebenen ersten Ausführungsbeispiel.
    • (2) Ob das j-te Bit des vom Schalter-b 25 zugeführten Eingangswerts "0" ist oder nicht, wird bei der Steuerung 33 beurteilt, und wenn er "0" ist, wird die Synapsenberechnung unter Verwendung dieses j-ten Bits des Eingangswerts weggelassen, während auch ein Speicherzugriff für das Synapsengewicht weggelassen wird, um bei dieser weggelassenen Synapsenberechnung verwendet zu werden, und die Steuerung 33 geht weiter zum Ausgeben von neuen Werten von i, j und k, um die nächste Synapsenberechnung auszuführen.
    • (3) Das Vorzeichenbit des Synapsengewichts und das Vorzeichenbit des Eingangswerts werden zur EX-ODER-Schaltung 28 gesendet, und ein Vorzeichen des Multiplikationsergebnisses des Synapsengewichts und des Eingangswert wird erhalten.
    • (4) Das i-te Bit des Synapsengewichts und das j-te Bit des Eingangswerts werden vom Schalter-a 24 und dem Schalter-b 25 zur UND-Schaltung 30 gesendet, und die Ein-Bit-Multiplikation unter Verwendung dieser Bits wird ausgeführt.
    • (5) Die Berechnungsergebnisse aus (3) und (4) werden zur EX-ODER-Schaltung 29 gesendet, um den zu summierenden Wert zu bewerten bzw. auszuwerten.
  • Genauer gesagt wird dann, wenn das Vorzeichen des Multiplikationsergebnisses positiv ist und das Multiplikationsergebnis "0" ist oder wenn das Vorzeichen des Multiplikationsergebnisses negativ ist und das Multiplikationsergebnis "1" ist, der zu summierende Wert derart eingestellt, dass er "0" ist.
  • Ebenso wird dann, wenn das Vorzeichen des Multiplikationsergebnisses positiv ist und das Multiplikationsergebnis "1" ist oder wenn das Vorzeichen des Multiplikationsergebnisses negativ ist und das Multiplikationsergebnis "0" ist, der zu summierende Wert derart eingestellt, dass er "1" ist.
    • (6) Bei dem Ein-Bit-Addierer 31EX- werden der von der ODER-Schaltung 29 eingegebene zu summierende Wert und das k-te Bit des von dem Schalter-c 26 eingegebenen aktuellen Summenwerts miteinander addiert, und als die S-Anschluss-Ausgabe ausgegeben, welche dann in das k-te Bit des Summierungsergebnisses im Summierungsregister 23 durch den Schalter-d 27 gespeichert wird.
    • (7) An dieser Stelle werden dann, wenn das Übertragssignal Eins ist, d. h. wenn der Übertrag der Zahl durchzuführen ist, das Übertragssignal und das (k + 1)-te Bit des aktuellen Summenwert miteinander bei den Ein-Bit-Addierer 31 addiert.
  • Diese Verarbeitung wird wiederholt, bis der Übertrag der Zahl stoppt aufzutreten, um den Endsummenwert zu erhalten.
  • Nimmt man nun Bezug auf die 13 bis 17 wird das vierte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier wird denjenigen Elementen, die im Wesentlichen gleich den entsprechenden Elementen bei den ersten bis dritten Ausführungsbeispielen sind, die oben beschrieben sind, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen werden.
  • Bei diesem vierten Ausführungsbeispiel ist eine detaillierte Konfiguration der seriellen Ein-Bit-Synapsenberechnungs- und -summierungsschaltung in der Neuronenschaltung der 10, die oben beschrieben ist, gegenüber derjenigen der 11 zu einer alternativen Konfiguration ersetzt, die in 13 gezeigt ist, und zwar aus dem folgenden Grund.
  • Bei den oben beschriebenen ersten bis dritten Ausführungsbeispielen ist es nämlich zum Durchführen von Beurteilungen für beide Sättigungsbereiche A und B nötig, zwei Gruppen der Synapsenberechnungsschaltung und der -summierungsschaltung (oder eine Synapsenberechnungs- und -summierungsschaltung) vorzusehen, um eine Beurteilung für den Sättigungsbereich A durch ausführende Berechnungen mit dem monoton ansteigenden Summenwert in einer Gruppe durchzuführen (wie es in 7 angezeigt ist), und um eine Beurteilung für den Sättigungsbereich B durch ausführende Berechnungen mit dem monoton abfallenden Summenwert in einer anderen Gruppe durchzuführen (wie es in 8 angezeigt ist).
  • Gegensätzlich dazu wird es durch Verwenden der Konfiguration der seriellen Ein-Bit-Synapsenberechnungs- und – summierungsschaltung 10, wie sie in 13 gezeigt ist, welche die charakteristischen Eigenschaften der seriellen Berechnungen zwischen dem Synapengewicht und dem Eingangswert verwendet bzw. ausnutzt, möglich, Beurteilungen für beide Sättigungsbereiche A und B durch nur eine Gruppe der Synapsenberechnungs- und -summierungsschaltung durchzuführen.
  • Genauer gesagt werden nun der Aufbau der Berechnung und die charakteristischen Eigenschaften der seriellen Berechnungen zwischen dem Synapsengewicht und dem Eingangswert unter Bezugnahme auf die 14 bis 17 erklärt werden. Bei diesem vierten Ausführungsbeispiel werden die Berechnungen für den ersten Summenwert, der sich nach und nach dem Endsummenwert auf eine monoton abfallende Weise nähert, und die Berechnungen für den zweiten Summenwert, der sich nach und nach dem Endsummenwert auf eine monoton ansteigende Weise nähert, gleichzeitig durch die gemeinsame Synapsenberechnungs- und -summierungsschaltung 10 der 13 ausgeführt, wie es in den 14 und 15 angezeigt ist.
  • In diesem Fall werden die Anfangswerte für den ersten und den zweiten Summenwert wie folgt eingestellt.
    • (1) Ein Fall, bei welchem das Synapsenberechnungsergebnis zwischen dem Synapsengewicht und dem Eingangswert positiv ist (wie es durch ein in 16 gezeigtes Beispiel dargestellt ist).
  • <Anfangswert des ersten Summenwerts>
    • (a) Ein Einstellwert von "0" wird dann verwendet, wenn das ite Bit ab dem am wenigsten signifikanten Bit des Absolutwertteils des Eingangswerts "0" ist.
    • (b) Ein Einstellwert von 2 2(i+L–1) – 1 wird dann verwendet, wenn das i-te Bit ab dem am wenigsten signifikanten Bit des Absolutwertteils des Eingangswerts "1" ist, wobei L eine Wortlänge (Bitlänge) des Absolutwertteils jedes Werts ist.
    • (c) Eine Gesamtheit von allen Einstellwerten, die durch (a) und (b) gegeben sind, in Bezug auf alle Bits des Absolutwertteils des Eingangswerts wird als der Anfangswert des ersten Summenwerts eingestellt.
  • Dieser Anfangswert des ersten Summenwerts hat die folgende Signifikanz. Hier wird, wie es in 16 angezeigt ist, die Multiplikation des Absolutwerts des Synapsengewichts und des Absolutwerts des Eingangswerts in einer zerlegten Form von "Teilprodukten von allen Bits des Absolutwertteils des Synapsengewichts und von jedem Bit des Eingangswerts + Summierung von Teilprodukten" behandelt. Dann, wenn angenommen wird, dass unter den Bitsequenzen für die Teilprodukte zwischen allen Bits des Absolutwertteils des Synapsengewichts und jedem Bit des Eingangswerts diese Bitsequenzen, die dem Eingangsbit "1" im Eingangswert entsprechen, vollständig aus "1" in allen Bits zusammengesetzt sind, wird ein Gesamtwert der Bitsequenzen für alle Teilprodukte als der Anfangswert des ersten Summenwerts eingestellt.
  • <Anfangswert des zweiten Summenwerts>
  • Der Anfangswert des zweiten Summenwerts wird derart eingestellt, dass er "0" ist.
  • Dieser Anfangswert des zweiten Summenwerts hat die folgende Signifikanz. Wie es in 16 angezeigt ist, wird nämlich dann, wenn angenommen wird, dass alle Bitsequenzen für die Teilprodukte zwischen allen Bits des Absolutwertteils des Synapsengewichts und jedem Bit des Eingangswerts vollständig aus "0" in allen Bits zusammengesetzt sind, ein Gesamtwert der Bitsequenzen für alle Teilprodukte als der Anfangswert des Summenwerts eingestellt.
    • (2) Ein Fall, bei welchem das Synapsenberechnungsergebnis zwischen dem Synapsengewicht und dem Eingangswert negativ ist (wie es durch ein in 17 gezeigtes Beispiel dargestellt ist):
  • <Anfangswert des ersten Summenwerts>
  • Der Anfangswert des ersten Summenwerts wird derart eingestellt, dass er "0" ist.
  • Dieser Anfangswert des ersten Summenwerts hat die folgende Signifikanz. Hier wird, wie es in 17 angezeigt ist, die Multiplikation des Absolutwerts des Synapsengewichts und des Absolutwerts de Eingangswerts in einer zerlegten Form aus "Teilprodukte von allen Bits des Absolutwertteils des Synapsengewichts und jedem Bit des Eingangswerts + Summierung von Teilprodukten" behandelt. Dann werden die Bitsequenzen für die Teilprodukte zwischen allen Bits des Absolutwertteils des Synapsengewichts und jedem Bit des Eingangswerts durch die 1-er-Komplementausdrücke in negative Werte umgewandelt. Dann wird, wenn angenommen wird, dass alle Bitsequenzen, wie sie in 1-er-Komplementausdrücke umgewandelt sind, in allen Bits insgesamt aus "1" zusammengesetzt sind, ein Gesamtwert von allen diesen Bitsequenzen, wie sie in die negativen Werte umgewandelt sind, als der Anfangswert des ersten Summenwerts eingestellt.
  • <Anfangswert des zweiten Summenwerts>
    • (a) Ein Einstellwert von "0" wird verwendet, wenn das i-te Bit ab dem am wenigsten signifikanten Bit des Absolutwertteils des Eingangswerts "0" ist.
    • (b) Ein Einstellwert von –2(i+L–1) + 1 wird dann verwendet, wenn das i-te Bit ab dem am wenigsten signifikanten Bit des Absolutwertteils des Eingangswerts "1" ist.
    • (c) Eine Gesamtheit von allen Einstellwerten, die durch (a) und (b) gegeben sind, in Bezug auf alle Bits des Absolutwertteils des Eingangswerts wird als der Anfangswert des zweiten Summenwerts eingestellt.
  • Dieser Anfangswert des zweiten Summenwerts hat die folgende Signifikanz. Die Bitsequenzen für die Teilprodukte zwischen allen Bits des Absolutwertteils des Synapsengewichts und jedem Bit des Eingangswerts werden nämlich durch die 1-er-Komplementausdrücke in negative Werte umgewandelt. Dann wird, wenn angenommen wird, dass unter den Bitsequenzen, wie sie in die 1-er-Komplementausdrücke umgewandelt sind, diejenigen Bitsequenzen, die dem Eingangsbit "1" im Eingangswert entsprechen, vollständig aus "0" zusammengesetzt sind, außer den am meisten signifikanten Bits, ein Gesamtwert von allen diesen Bitsequenzen, wie sie in negative Werte umgewandelt sind, als der Anfangswert des zweiten Summenwerts eingestellt.
  • Bei diesem vierten Ausführungsbeispiel wird die Summierung wie folgt ausgeführt.
  • Die Ein-Bit-Multiplikation zwischen dem Synapsengewicht und dem Eingangswert nämlich von den oberen Bits aus ausgeführt. Als Ergebnis wird dann, wenn ein Bit, das zu einer Zeit einer Einstellung des Anfangswerts des ersten Summenwerts addiert wird, als tatsächlich "0" beurteilt wird, dieses addierte Bit von dem ersten Summenwert subtrahiert (wie bei den seriellen Berechnungen (3), (4), (7), (8) und (9) in 16 oder den seriellen Berechnungen (1), (2), (5) und (6) in 17).
  • Andererseits wird als Ergebnis der Ein-Bit-Multiplikation zwischen dem Synapsengewicht und dem Eingangswert, wenn ein Bit, das nicht zu einer Zeit eines Einstellens des Anfangswerts des zweiten Summenwerts addiert ist, als tatsächlich nicht "0" beurteilt wird, das Ergebnis der Ein-Bit-Multiplikation zum zweiten Summenwert addiert (wie bei den seriellen Berechnungen (1), (2), (5) und (6) in 16 oder den seriellen Berechnungen (3), (4), (7), (8) und (9) in 17).
  • Bei dieser Summierungsoperation haben, wie es aus den in den 16 und 17 gezeigten Berechnungsprozeduren offensichtlich sein sollte, die Subtraktion vom ersten Summenwert und die Addition zum zweiten Summenwert, die nach der Ein-Bit-Multiplikation des Synapsengewichts und des Eingangswerts auszuführen sind, eine wechselseitig komplementäre Beziehung, so dass nur eine von diesen Berechnungen zu einer gegebenen seriellen Berechnungszeitgabe ausgeführt wird.
  • Folglich können die Berechnungen unter Verwendung des monoton ansteigenden zweiten Summenwerts zum Durchführen einer Beurteilung für den Sättigungsbereich A und die Berechnungen unter Verwendung des monoton abfallenden ersten Summenwerts zum Durchführen einer Beurteilung für den Sättigungsbereich B durch Verwenden der gemeinsamen Synapsenberechnungs- und – summierungsschaltung 10 gleichzeitig ausgeführt werden, die durch sequentielles Umschalten des Registers zum Registrieren des ersten Summenwerts und des Registers zum Registrieren des zweiten Summenwerts arbeitet.
  • Dafür weist die serielle Ein-Bit-Synapsenberechnungs- und -summierungsschaltung der 13 einen Ein-Bit-Multiplikator 34 auf, der das Synapsengewicht und den Eingangswert empfängt, die von der Steuerschaltung spezifiziert sind, einen Schalter-g 42, der die Ausgabe des Ein-Bit-Multiplikators 34 als Steuereingabe empfängt und den b-Anschluss-Eingang des Ein-Bit-Addierers 31 versorgt, einen Schalter-h 43, der die Ausgabe des Ein-Bit-Multiplikators 34 als die Steuereingabe und die S-Anschluss-Ausgabe des Ein-Bit-Addierers 31 als seine Eingabe empfängt, ein erstes Summenwertregister 36 zum Registrieren eines aktuellen ersten Summenwerts, einen Schalter-c 38 zum selektiven Ausgeben eines spezifizierten Bits des aktuellen ersten Summenwerts vom ersten Summenwertregister 36 als die B-Anschluss-Eingabe des Ein-Bit-Addierers 31 über den Schalter-g 42, einen Schalter-d 39 zum selektiven Speichern der S-Anschluss-Ausgabe (eines Additionsergebnisses) des Ein-Bit-Addierers 31 im ersten Summenwertregister 36 über den Schalter-h 43, ein zweites Summenwertregister 37 zum Registrieren eines aktuellen zweiten Summenwerts, einen Schalter-e 40 zum selektiven Ausgeben eines spezifizierten Bits des aktuellen zweiten Summenwerts vom zweiten Summenwertregister 37 als die B-Anschluss-Eingabe des Ein-Bit-Addierers 31 über den Schalter-g 42, einen Schalter-f 41 zum selektiven Speichern der S-Anschluss-Ausgabe (eines Additionsergebnisses) des Ein-Bit-Addierers 31 im zweiten Summenwertregister 37 über den Schalter-h 43, ein Konstantenregister 35 zum Speichern einer Konstante "1", die als die A-Anschluss-Eingabe des Ein-Bit-Addierers 31 zuzuführen ist, das zwischen Co- und Ci-Anschlüssen des Ein-Bit-Addierers 31 angeschlossene D-Typ-Flip-Flop 32 und die Steuerung 33, die die Co-Anschluss-Ausgabe (ein Übertragssignal) des Ein-Bit-Addierers 31 empfängt.
  • Hier führt die Steuerung 33 eine Steuereingabe k, die eine sequentielle Bitzahl von dem am wenigsten signifikanten Bit eines Zugriffsbits im ersten Summenwertregister 36 oder im zweiten Summenwertregister 37 anzeigt, zu dem Schalter-c 38 und zu dem Schalter-d 39 oder zu dem Schalter-e 40 und dem Schalter-f 41 zu, um durch diese Schalter 38, 39, 40 und 41 selektiv auszugebende oder zu speichernde Bits zu steuern. Zusätzlich werden das erste Summenwertregister 36 und das zweite Summenwertregister 37 gemäß dem Taktsignal CLK 2 von der Takterzeugungsschaltung 11 betrieben.
  • Genauer gesagt wird bei diesem vierten Ausführungsbeispiel die folgende Verarbeitung ausgeführt.
    • (1) Die Anfangswerte des ersten und des zweiten Summenwerts werden eingestellt, wie es oben beschrieben ist.
    • (2) Die Multiplikation des Synapsengewichts und des Eingangswerts wird bei dem Ein-Bit-Multiplikator 34 ausgeführt, und das Multiplikationsergebnis und sein Vorzeichen werden erhalten. Das Multiplikationsergebnis und sein Vorzeichen werden zu Steuereingängen des Schalters-g 42 und des Schalters-h 43 Bit für Bit gesendet, und das Schalten zwischen dem ersten Summenwert und dem zweiten Summenwert wird gemäß der folgenden Tabelle 1 ausgeführt. TABELLE 1
      Figure 00340001
    • (3) Bei dem Ein-Bit-Addierer 31 wird die Addition einer Konstanten "1", die vom Konstantenregister 35 zugeführt wird, und des k-ten Bits von dem am wenigstens signifikanten Bit des Summenwert, der bei (2) ausgewählt ist und vom geeigneten Register 36 oder 37 über den Schalter-g 42 zugeführt wird, ausgeführt, und die S-Anschluss-Ausgabe wird in das k-te Bit von dem am wenigsten signifikanten Bit des Summenwerts gespeichert, der bei (2) ausgewählt ist, und zwar im geeigneten Register 36 oder 37 über den Schalter-h 43.
    • (4) An dieser Stelle werden dann, wenn das Übertragssignal 1 ist, d. h. wenn der Übertrag der Zahl durchzuführen ist, das Übertragssignal und das (k + 1)-te Bit des aktuellen Summenwerts bei dem Ein-Bit-Addierer 31 miteinander addiert. Diese Verarbeitung wiederholt, bis das Übertragen der Zahl stoppt aufzutreten, um den Endsummenwert zu erhalten.
    • (5) Die Ausgaben des ersten Summenwertregisters 36 und des zweiten Summenwertregisters 37 werden mit dem ersten und dem zweiten Sättigungsbereichs-Grenzwert bei den Komparatoren 6-1 und 6-2 in der Konfiguration der 10 verglichen, um Beurteilungen für die Sättigungsbereiche A und B durchzuführen.
  • Nimmt man nun Bezug auf die 18 und 19, wird das fünfte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier werden denjenigen Elementen, die im Wesentlichen gleich den entsprechenden Elementen bei den ersten bis vierten Ausführungsbeispielen sind, die oben beschrieben sind, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen sein.
  • Bei den ersten bis vierten Ausführungsbeispielen, die oben beschrieben sind, ist beurteilt worden, ob die Berechnungen fortzusetzen sind oder nicht, indem die Größenbeziehung des Summenwerts und der Sättigungsbereichsgrenzwerte bei den Komparatoren ausgewertet werden. Gegensätzlich dazu wird bei diesem fünften Ausführungsbeispiel einzig durch Erfassen des Übertragssignals für das am meisten signifikante Bit des Summenwerts, wie es folgt beurteilt, ob die Berechnungen fortzusetzen sind oder nicht, um einen zusätzlichen Vorteil zu haben, dass die Beurteilung des Stoppens einer Berechnung durch eine einfachere Verarbeitung realisiert werden kann.
  • Bei diesem fünften Ausführungsbeispiel wird dann, wenn der Summenwert einen negativen Wert annimmt, dies durch den 1-er-Komplementausdruck ausgedrückt. Hier wird der Anfangswert des Summenwerts so eingestellt, dass sich der Summenwert nach und nach ändert, wenn die Summenberechnung fortschreitet, und wird "0", wenn sie den Sättigungsbereichs-Grenzwert erreicht hat, wie es in 18 dargestellt ist. Bei dieser Anfangswerteinstellung gelangt dann, wenn der Summenwert den Sättigungsbereichs-Grenzwert erreicht hat, d. h. wenn der Summenwert "0" wird, das Übertragssignal von dem am meisten signifikanten Bit des Summenwerts dahin, ausgegeben zu werden, so dass der Sättigungsbereich beurteilt werden kann und die Berechnung gestoppt werden kann, indem dieses Übertragssignal erfasst wird.
  • Im folgenden wird ein Fall beschrieben werden, bei welchem es nur einen Übergangsbereich in der Übertragungscharakteristik der nichtlinearen Einheit 5 gibt und die Summierung durch die seriellen Berechnungen realisiert wird.
  • In diesem Fall kann die oben beschriebene Funktion durch die folgende Verarbeitung realisiert werden.
    • (1) Die Anfangswerte des ersten und des zweiten Summenwerts werden wie folgt eingestellt: Der Anfangswert des ersten Summenwerts = der Anfangswert des ersten Summenwerts beim dritten Ausführungsbeispiel + der erste Sättigungsbereichs-Grenzwert; und Der Anfangswert des zweiten Summenwerts = der Anfangswert des zweiten Summenwerts beim dritten Ausführungsbeispiel – der zweite Sättigungsbereichs-Grenzwert.
    • (2) Die Berechnungen gleich denjenigen beim vierten Ausführungsbeispiel werden ausgeführt. Dann werden während der Berechnung, wann immer das Übertragssignal von dem am meisten signifikanten Bit auftritt, die darauffolgenden Berechnungen weggelassen.
  • Dafür enthält die Steuerung 33 der seriellen Ein-Bit-Synapsenberechnungs- und -summierungsschaltung 10 bei der Konfiguration der 11 oder 13 eine Teilkonfiguration, wie sie in 19 gezeigt ist, welche folgendes aufweist: ein Register 51 zum Speichern einer Bitlänge i von dem am wenigsten signifikanten Bit des Synapsengewichts, ein Register 52 zum Speichern einer Bitlänge j von dem am wenigsten signifikanten Bit des Eingangswerts, ein Register 53 zum Registrieren einer Variablen, die durch das Übertragssignal von der Summierungsschaltung gesteuert wird, ein Register 54 zum Registrieren einer Konstanten "1", ein Register 55 zum Registrieren einer Konstanten L, die ein Wortlänge des Absolutwertteils jedes Werts darstellt, einen Addierer 56 zum Addieren der Ausgaben der Register 51 und 52, einen Addierer 57 zum Addieren der Ausgaben der Register 53 und 54 und zum Rückkoppeln des Ergebnisses in das Register 53, einen Addierer 58 zum Addieren der Ausgaben des Registers 53 und des Addierers 56 und zum Ausgeben der Steuereingabe k der Schalter, einen Komparator 59 zum Vergleichen der Ausgaben des Addierers 58 und des Registers 55 und eine UND-Schaltung 60, die die Ausgaben des Komparators 59 und das Übertragssignal von der Summierungsschaltung empfängt und das Berechnungsstoppsignal ausgibt.
  • Bei dieser Konfiguration der 19 wird die folgende Verarbeitung ausgeführt.
    • (1) Die Steuereingaben i und j werden addiert, und das Ergebnis dieser Addition und die Variable werden addiert, um die Steuereingabe k zum Anzeigen auszuwerten, welche Zahl gegenwärtig berechnet wird. Hier ist der Anfangswert der Variablen derart eingestellt, dass er -L ist, wobei L die Wortlänge des Absolutwertteils jedes Werts ist. Ebenso wird die Variable um 1 erhöht, wann immer der Übertrag bei der Summierungsschaltung auftritt, oder zu dem Anfangswert rückgesetzt, wann immer der Übertrag bei der Summierungsschaltung nicht auftritt.
    • (2) Der Steuereingangswert k wird zum Komparator 59 gesendet und dort mit der Konstanten L verglichen, um zu beurteilen, ob die aktuelle Berechnung für das am meisten signifikante Bit ist oder nicht.
    • (3) Durch Durchführen einer UND-Verknüpfung der Ausgabe des Komparators 59 und des Übertragssignals von der Summierungsschaltung wird beurteilt, ob der Übertrag bei der Berechnung für das am meisten signifikante Bit aufgetreten ist oder nicht. Dann wird in einem Fall, in welchem der Übertrag bei der Berechnung für das am meisten signifikante Bit aufgetreten ist, das Berechnungsstoppsignal zum Stoppen der Berechnungen ausgegeben, um die darauffolgenden Berechnungen wegzulassen.
  • Auf diese Weise kann das Stoppen der Berechnungen durch einfaches Erfassen des Übertragssignals für das am meisten signifikante Bit des Summenwerts bei diesem fünften Ausführungsbeispiel realisiert werden.
  • Als nächstes wird das sechste Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben.
  • Bei den ersten bis fünften Ausführungsbeispielen, die oben beschrieben sind, ist ein Fall eines Verwendens der Multiplikation des Synapsengewichts und des Eingangswerts als die Synapsenberechnungen beschrieben worden, aber diese Ausführungsbeispiele können auf einen Fall eines Verwendens des Absolutwerts oder des Quadrats der Differenz zwischen dem Synapsengewicht und dem Eingangswert als die Synapsenberechnungen anwendbar gemacht werden, indem die folgenden Modifikationen eingeführt werden.
  • <Fall eines Verwendens des Absolutwerts der Differenz zwischen dem Synapsengewicht und dem Eingangswert>
    • (1) Der Anfangswert des Summenwerts ist immer derart eingestellt, dass er "0" ist.
    • (2) Der Absolutwert der Differenz zwischen dem Synapsengewicht und dem Eingangswert nimmt immer einen positiven Wert an, so dass die Synapsenberechnung ab den oberen Bits zuerst ausgeführt wird, und dann eine Summenberechnung ausgeführt wird.
  • <Fall eines Verwendens des Quadrats der Differenz zwischen dem Synapsengewicht und dem Eingangswert>
    • (1) Der Anfangswert des Summenwerts wird immer derart eingestellt, dass er "0" ist.
    • (2) Das Quadrat der Differenz zwischen dem Synapsengewicht und dem Eingangswert nimmt immer einen positiven Wert an, so dass die Synapsenberechnung ab den oberen Bits zuerst ausgeführt wird, und dann eine Summenberechnung ausgeführt wird.
  • Beispielsweise dann, wenn die Differenz zwischen dem Synapsengewichtswert und dem Eingangswert als (ax23 + bx22 + cx2 + d) ausgedrückt werden kann, ist das Quadrat dieser Differenz streng gegeben durch: a2x26 + 2abx25 + b2x24 + 2acx23 + 2bcx23 + c2x22 + 2bdx22 + 2cdx2 + d2
  • Aber bei der oben beschriebenen Verarbeitung werden nur die Faktoren berechnet werden, die im obigen Ausdruck unterstrichen sind, und das Ergebnis wird kleiner als der aktuelle Wert werden. Hier genügt es jedoch, dazu fähig zu sein, zu beurteilen, ob das Summierungsergebnis den Sättigungsbereich erreicht oder nicht, so dass die obige Verarbeitung auf einen Fall eines Verwendens des Quadrats der Differenz zwischen dem Synapsengewicht und dem Eingangswert genauso gut angewendet werden kann.
  • Nun wird unter Bezugnahme auf die 20 und 21 das Simulationsergebnis beschrieben werden, das die Effekte des Weglassens von Berechnungen und der Reduzierung der Speicherzugriffe auf die Synapsengewicht-Speicherschaltung gemäß den ersten bis sechsten Ausführungsbeispielen der vorliegenden Erfindung anzeigt.
  • 20 zeigt eine Beziehung zwischen dem Endsummenwert und der Rate von ausgeführten Berechnungen (d. h. ein Verhältnis einer Anzahl von Berechnungen, die bei dem System der vorliegenden Erfindung erforderlich sind, in Bezug auf eine Anzahl von Berechnungen, die bei dem System des Standes der Technik erforderlich sind) für Berechnungen bei einem Neuron in Bezug auf alle Synapsenverbindungen bei einem beispielhaften Fall eines Verwendens von 16 Eingaben bzw. Eingängen, wobei jedes von dem Synapsengewicht und dem Eingangswert 16 Bits einschließlich des Vorzeichenbits und des Absolutwertteils aufweist. Es kann aus dieser 20 gesehen werden, dass der Effekt des Weglassens von Berechnungen für die Endsummenwerte beachtlich wird, die von den Sättigungsbereichs-Grenzwerten weiter beabstandet sind.
  • Andererseits zeigt die 21 eine Beziehung zwischen dem Endsummenwert und der Anzahl von zugegriffenen oberen Bits beim Synapsengewicht für denselben beispielhaften Fall. Es kann aus dieser 21 gesehen werden, dass der Effekt der Reduzierung von Speicherzugriffen auf die Synapsengewicht-Speicherschaltung auch für den Endsummenwert merklich wird, der von den Sättigungsbereichs-Grenzwerten weiter beabstandet ist.
  • Genauer gesagt können diese Effekte quantitativ wie folgt abgeschätzt werden. Zuerst beläuft sich unter der Annahme, dass eine Rate, mit welcher die Eingangswert-Bitsequenzen durch "1"-Bits besetzt sind, 50% ist, das Weglassen von Berechnungen für "0"-Bits in den Eingangswert-Bitsequenzen auf eine Reduzierung von 50% der Berechnungen. Darüber hinaus ist es unter der Annahme, dass eine Möglichkeit dafür, dass der Endsummenwert im Sättigungsbereich ist, 90% ist, eine Möglichkeit dafür, dass der Endsummenwert im Übergangsbereich ist, 10% ist, und dass die Durchschnittsrate von ausgeführten Berechnungen, wenn der Endsummenwert im Sättigungsbereich ist, 20% ist, und zwar gemäß der 20, möglich, das Ausmaß an Berechnungen auf etwa 28% zu reduzieren. Folglich kann insgesamt das Ausmaß von Berechnungen auf 14% reduziert werden.
  • Gleichermaßen ist es unter der Annahme, dass eine Möglichkeit dafür, dass der Endsummenwert im Sättigungsbereich ist, 90% ist, eine Möglichkeit dafür, dass der Endsummenwert im Übergangsbereich ist, 10% ist, und dass die Durchschnittsanzahl von zugegriffenen oberen Bits im Synapsengewicht dann, wenn der Endsummenwert im Sättigungsbereich ist, 3,2 Bits ist, und zwar gemäß 21, möglich, die Anzahl von Speicherzugriffen auf etwa 28% zu reduzieren.
  • Somit ist es gemäß den oben beschriebenen ersten bis sechsten Ausführungsbeispielen möglich, das Ausmaß an Berechnungen, die für die Synapsenberechnungen und die Summierung erforderlich sind, sowie eine Anzahl von Speicherzugriffen auf die Synapsengewichte zu reduzieren, so dass die Verarbeitungsgeschwindigkeit der Synapsenberechnungen erhöht werden kann, während der Leistungsverbrauch, der für die Berechnungen erforderlich ist, reduziert werden kann, und als Folge wird es möglich, eine Neuronennetzschaltung großen Ausmaßes mit einer hohen Verarbeitungsgeschwindigkeit zu realisieren, welche Schaltung ungeachtet von Werten, die durch die Eingangswerte und die Synapsengewichte angenommen werden, das genaue Endergebnis erhalten kann.
  • Nimmt man nun Bezug auf die 22 bis 28, wird das siebte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier werden denjenigen Elementen, die im Wesentlichen gleich den entsprechenden Elementen bei den ersten bis sechsten Ausführungsbeispielen sind, die oben beschrieben sind, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen sein.
  • Bei diesem siebten Ausführungsbeispiel hat jede Neuronenschaltung der Neuronennetzschaltung eine Konfiguration, wie es in 22 gezeigt ist, welche sich von derjenigen der 10 für das oben beschriebene dritte Ausführungsbeispiel darin unterscheidet, dass die serielle Ein-Bit-Synapsenberechnungs- und -summierungsschaltung 10 der 10 durch eine Synapsenberechnungs- und -summierungsschaltung 70 ersetzt ist. Diese Synapsenberechnungs- und -summierungsschaltung 70 empfängt das Synapsengewicht und den Eingangswert von der Speicherausleseschaltung 3 und dem Selektor 9 sowie die Taktsignale von der Takterzeugungsschaltung 11 unter der Steuerung der Steuerschaltung 7 und gibt das berechnete Summierungsergebnis der Synapsenberechnungen zu der nichtlinearen Einheit 5 sowie zu den Komparatoren 6-1 und 6-2 aus.
  • Die Synapsenberechnungs- und -summierungsschaltung 70 hat eine detaillierte Konfiguration, wie es in 23 gezeigt ist, welche folgendes aufweist: eine 2-er-Komplementausdruck-Umwandlungsschaltung 71, die alle Bits des Eingangswerts empfängt, einen Schieber 72, der eine Ausgabe der 2-er-Komplementausdruck-Umwandlungsschaltung 71 empfängt, einen Addierer 73, der eine Ausgabe des Schiebers 72 als seine B-Anschluss-Eingabe empfängt, ein Register-A 74 und ein Register-B 75 zum Empfangen einer S-Anschluss-Ausgabe des Addierers 73, einen Schalter 76, der Ausgaben des Registers-A (des Registers für einen monoton ansteigenden Summenwert) 74 und des Registers-B (des Register für ein monoton abfallenden Summenwert) 75 empfängt, ein Register-C (ein Register für einen ausgegebenen Summenwert) 77 zum Empfangen einer Ausgabe des Schalters 76 und zum Zuführen von seiner Ausgabe zur nichtlinearen Einheit 5, eine UND-Schaltung 78, die die Ausgabe des Schalters 76 empfängt und ihre Ausgabe zu dem Addierer 73 als eine A-Anschluss-Eingabe zuführt, und eine Steuerung 79 zum Zuführen von Steuersignalen S1 bis S7 zu der 2-er-Komplementausdruck-Umwandlungsschaltung 71, zu dem Schieber 72, zu dem Register-A 74, zu dem Register-B 75, zu dem Schalter 76, zu einem anderen Eingang der UND-Schaltung 78 bzw. zu dem Register-C 77.
  • Die Steuerung 79 empfängt ein Signal zur Berechnung eines iten Bits, das anzeigt, dass die Berechnung unter Verwendung des i-ten Bits gegenwärtig von der Steuerschaltung 7 ausgeführt wird, einen Bitwert des i-ten Bits von dem am wenigsten signifikanten Bit im Synapsengewicht von der Speicherausleseschaltung 3 und ein Vorzeichen des Eingangswerts vom Selektor 9.
  • Allgemein kann der komplementäre Ausdruck durch den 2-er-Komplementausdruck gegeben sein, den 1-er-Komplementausdruck, etc., aber ein Fall eines Verwendens des 2-er- Komplementausdrucks wird hier als Beispiel beschrieben werden. Folglich kann der 2-er-Komplementausdruck in der folgenden Beschreibung durch den 1-er-Komplementausdruck ersetzt werden, wenn es erwünscht ist.
  • Bei dieser Synapsenberechnungs- und -summierungsschaltung 70 der 23 werden Teilprodukte von allen Bits des Eingangswerts und jedem einzelnen Bit des Synapsengewichts berechnet, und dann werden diese Teilprodukte zusammenaddiert, um das Summierungsergebnis zu erhalten, wie es in 24 angezeigt ist, und zwar mittels der folgenden Verarbeitung.
    • (1) Zum Ausführen der Berechnung von dem oberen Bit des Synapsengewichts aus werden alle Bits des bei der Berechnung zu verwendenden Eingangswerts zu der 2-er-Komplementausdruck-Umwandlungsschaltung 71 übertragen, während ein nötiges Bit des Synapsengewichts zur Steuerung 79 übertragen wird.
    • (2) Gemäß dem Signal zur Berechnung des i-ten Bits, dem Bitwert des i-ten Bits, und dem Vorzeichen des Eingangswerts bestimmt die Steuerung 79, ob die 2-er-Komplementausdruck-Umwandlung in Bezug auf den Eingangswert anzuwenden ist oder nicht, und steuert demgemäß die Umwandlungsoperation der 2-er-Komplementausdruck-Umwandlungsschaltung 71 durch das Steuersignal S1. Hier ist zu beachten, dass das i-te Bit durch Zuordnen von i = 0 für das erste Bit gezählt wird.
    • (3) Gemäß dem Signal zur Berechnung des i-ten Bits bestimmt die Steuerung 79, wie viele Bits zum Verschieben nötig sind, und steuert demgemäß die Verschiebungsoperation des Schiebers 72 durch das Steuersignal S2.
    • (4) Gemäß dem Signal zur Berechnung des i-ten Bits, dem Bitwert des i-ten Bits, und dem Vorzeichen des Eingangswerts bestimmt die Steuerung 79, welcher von dem Wert, der im Register-A 74 registriert ist, und dem Wert, der im Register-B 75 registriert ist, zu der Ausgabe des Schiebers 72 zu addieren ist, und steuert demgemäß den Schalter 76 durch das Steuersignal S5, um entweder den im Register-A 74 registrierten Wert oder den im Register-B 75 registrierten Wert selektiv auszugeben.
    • (5) Die Steuerung 29 steuert auch die UND-Schaltung 78 demgemäß, ob der vom Schalter 76 selektiv ausgegebene Wert zu der Ausgabe des Schiebers 72 addiert werden sollte oder nicht. In einem Fall eines anfänglichen Registrierens der Ausgabe des Schiebers 72 wie sie ist in entweder das Register-A 74 oder das Register-B 75 wird das Steuersignal S6 derart eingestellt, dass es "0" ist, so dass die UND-Schaltung 78 für diesen Zweck "0" ausgibt.
    • (6) Der Addierer 73 führt die Addition der Ausgabe des Schiebers 72 und der Ausgabe der UND-Schaltung 28 aus.
    • (7) Gemäß dem Signal zur Berechnung des i-ten Bits, dem Bitwert des i-ten Bits, und dem Vorzeichen des Eingangswerts bestimmt die Steuerung 79, welches von dem Register-A 74 und dem Register-B 75 das Additionsergebnis speichern sollte, und steuert demgemäß das Speichern des Additionsergebnisses in eines von dem Register-A 74 und dem Register-B 75 unter Verwendung der Steuersignale S3 und S4 als Trigger.
    • (8) Die Steuerung 29 steuert auch das Register-C 77 durch das Steuersignal S7 demgemäß, ob der von dem Schalter 76 ausgegebene Wert zu der nichtlinearen Einheit 5 ausgegeben werden sollte oder nicht.
  • Nun wird das Anfangswert-Einstellschema und das Bit-Berechnungsschema, die bei dieser Synapsenberechnungs- und -summierungsschaltung 70 der 23 verwendet werden, beschrieben.
    • (1) Daten des Eingangswerts und des Synapsengewichts werden alle zu der Synapsenberechnungs- und -summierungsschaltung 70 in den 2-er-Komplementausdrücken gegeben. Hier ist eine Wortlänge (Bitlänge) jedes Werts derart eingestellt, dass sie L ist, und eine sequentielle Bitzahl eines Absolutwertteils von dem am wenigstens signifikanten Bit ist derart eingestellt, dass sie i ist.
    • (2) Gemäß dem Eingangswert und dem Vorzeichenbit des Synapsengewichts (welches das am meisten signifikante Bit im 2-er-Komplementausdruck ist) werden die Anfangswerte von dem Summenwert für monoton ansteigende Berechnungen (dem zweiten Summenwert) und dem Summenwert für monoton abfallende Berechnungen (dem ersten Summenwert) wie folgt eingestellt.
    • (a) Wenn der Eingangswert und das Synapsengewicht beide positiv sind: Der minimale Wert des positiven Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "0" und der maximale Wert des positiven Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "2(L–1) – 1". Daher ist der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "0" und ist der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "Eingangswert × {2(L–1) – 1}. Aus diesem Grund wird der Anfangswert des Summenwerts für monoton ansteigenden Berechnungen derart eingestellt, dass er der minimale Wert ist, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er -(der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann) ist.
  • Hier ist zu beachten, dass die monoton abfallenden Berechnungen dahin gelangen, mittels des 2-er-Komplementausdrucks in die monoton ansteigenden Berechnungen umgewandelt zu werden, so dass der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen dahin gelangt, ein negatives Vorzeichen vor dem maximalen Wert zu haben.
  • Als illustratives Beispiel wird gemäß 25 ein beispielhafter Fall eines Verwendens von "5" als der Eingangswert und von "6" als das Synapsengewicht beschrieben, wobei der Eingangswert und das Synapsengewicht durch 4-Bit-2-er-Komplementausdrücke ausgedrückt werden. In diesem Fall ist der minimale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "0", während der maximale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "7" ist, so dass der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahingeht, "0" zu werden, und der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahingeht, "35" zu sein. Folglich wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er "0" ist, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er "–35" ist.
    • (b) Wenn der Eingangswert negativ ist, aber das Synapsengewicht positiv ist: Der minimale Wert des positiven Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "0" und der maximale Wert des positiven Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "2(L–1) – 1". Daher ist der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "Eingangswert × {2(L–1) – 1}" und ist der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "0". Aus diesem Grund wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er der minimale Wert ist, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er -(der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann) ist.
  • Hier gelangen die monoton abfallenden Berechnungen wiederum dahin, mittels des 2-er-Komplementausdrucks in die mononton ansteigenden Berechnungen umgewandelt zu werden, so dass der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen dahin gelangt, ein negatives Vorzeichen vor dem maximalen Wert zu haben.
  • Als illustratives Beispiel wird gemäß 26 ein beispielhafter Fall eines Verwendens von "–5" als der Eingangswert von "6" als das Synapsengewicht beschrieben, wobei der Eingangswert und das Synapsengewicht durch 4-Bit-2-er-Komplementausdrücke ausgedrückt werden. In diesem Fall ist der minimale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "0", während der maximale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "7" ist, so dass der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahin gelangt, "–35" zu sein, und der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahin gelangt, "0" zu sein. Folglich wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er "–35" ist, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er "0" ist.
    • (c) Wenn der Eingangswert positiv ist, aber das Synapsengewicht negativ ist: Der minimale Wert des negativen Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "(2 (L–1))" und der maximale Wert des negativen Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "–1". Daher ist der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "Eingangswert x {–2(L–1)}" und ist der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "(Eingangswert)". Aus diesem Grund wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er der minimale Wert ist, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er -(der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann) ist.
  • Hier gelangen die monoton abfallenden Berechnungen wiederum dazu, mittels des 2-er-Komplementausdrucks in die monoton ansteigenden Berechnungen umgewandelt zu werden, so dass der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen dahin gelangt, ein negatives Vorzeichen vor dem maximalen Wert zu haben.
  • Als illustratives Beispiel wird gemäß 27 ein beispielhafter Fall eines Verwendens von "5" als Eingangswert und von "–6" als das Synapsengewicht beschrieben, wobei der Eingangswert und das Synapsengewicht durch 4-Bit-2-er- Komplementausdrücke ausgedrückt werden. In diesem Fall ist der minimale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "–8", während der maximale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "–1" ist, so dass der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahin gelangt, "–40" zu sein, und der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahin gelangt, "m5" zu sein. Folglich wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er "–40" ist, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er "5" ist.
    • (d) Wenn der Eingangswert und das Synapsengewicht beide negativ sind: Der minimale Wert des negativen Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "(2 (L–1))" und der maximale Wert des negativen Synapsengewichts, ausgedrückt durch einen L-ziffrigen 2-er-Komplementausdruck, ist "–1". Daher ist der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "-(Eingangswert)" und ist der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, "Eingangswert × {–2(L–1)}". Aus diesem Grund wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er der minimale Wert ist, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er -(der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann) ist.
  • Hier gelangen die monoton abfallenden Berechnungen wiederum dahin, mittels des 2-er-Komplementausdrucks in die monoton ansteigenden Berechnungen umgewandelt zu werden, so dass der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen dahin gelangt, ein negatives Vorzeichen vor dem maximalen Wert zu haben.
  • Als illustratives Beispiel wird gemäß 28 ein beispielhafter Fall eines Verwendens von "–5" als der Eingangswert und von "–6" als das Synapsengewicht beschrieben, wobei der Eingangswert und das Synapsengewicht durch 4-Bit-2-er-Komplementausdrücke ausgedrückt werden. In diesem Fall ist der minimale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "–8", während der maximale Wert, der möglicherweise durch das Synapsengewicht angenommen werden kann, "–1" ist, so dass der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahin gelangt, "5" zu sein, und der maximale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, dahin gelangt, "40" zu sein. Folglich wird der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt, dass er "5" ist, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er "–40" ist.
    • (3) Gemäß dem Eingangswert und dem Bitwert des i-ten Bits von dem am wenigstens signifikanten Bit im Synapsengewicht wird die folgende Bitberechnung ausgeführt, wie es in den 25 bis 28 gezeigt ist.
    • (a) Wenn der Eingangswert positiv ist und der Bitwert des iten Bits des Synapsengewichts "1" ist: Ein Wert "Eingangswert × 21" wird zu dem Summenwert für die monoton ansteigenden Berechnungen addiert.
    • (b) Wenn der Eingangswert positiv ist und der Bitwert des iten Bits des Synapsengewichts "0" ist: Ein Wert "Eingangswert × 21" wird zu dem Summenwert für die monoton abfallenden Berechnung addiert.
    • (c) Wenn der Eingangswert negativ ist und der Bitwert des iten Bits des Synapsengewichts "1" ist:
  • Ein Wert "2-er-Komplementausdruck des Eingangswerts × 21" wird zum Summenwert für die monoton abfallenden Berechnungen addiert.
    • (d) Wenn de Eingangswert negativ ist und der Bitwert des fiten Bits des Synapsengewichts "0" ist:
  • Ein Wert "2-er-Komplementausdruck des Eingangswerts × 21" wird zum Summenwert für die monoton ansteigenden Berechnungen addiert.
  • Mittels dieser Verarbeitung konvergieren, genau wie es in den oben beschriebenen 14 und 15 angezeigt ist, der Summenwert für die monoton ansteigenden Berechnungen (der zweite Summenwert) und der Summenwert für die monoton abfallenden Berechnungen (der erste Summenwert) nach und nach von den Anfangswerten zu den Endwerten, wenn die Berechnung fortschreitet. Hier kann der Summenwert für die monoton ansteigenden Berechnungen eine Beurteilung diesbezüglich durchführen, ob er durch Konvergieren zu dem Endwert während eines monotonen Ansteigens den Sättigungswert A erreicht hat, wie in 14, währen der Summenwert für die monoton abfallenden Berechnungen eine Beurteilung diesbezüglich durchführen kann, ob er durch Konvergieren zum Endwert während eines monotonen Abfallens den Sättigungsbereich B erreicht hat, wie in 15. Wann immer der Summenwert den Sättigungsbereich A oder B erreicht hat, werden die darauffolgenden Berechnungen weggelassen.
  • Es ist zu beachten, dass es möglich ist, das oben beschriebene siebte Ausführungsbeispiel zu Modifizieren, um die Anfangswerteinstellung und die Bitberechnung in einer umgekehrten Polarität zu verwenden, wobei der Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen derart eingestellt wird, dass er -(der minimale Wert, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann) ist, während der Anfangswert des Summenwerts für die monoton abfallenden Berechnungen derart eingestellt wird, dass er der maximale Wert ist, der möglicherweise durch das Synapsenberechnungsergebnis angenommen werden kann, und die Bitberechnung so ausgeführt wird, dass ein Wert "2-er-Komplementausdruck des Eingangswerts × 2i" zu dem Summenwert für die monoton ansteigenden Berechnungen addiert wird, wenn der Eingangswert positiv ist und der Bitwert des i-ten Bits des Synapsengewichts "1" ist, ein Wert "2-er-Komplementerausdruck des Eingangswerts × 21" zu dem Summenwert für die monoton abfallenden Berechnungen addiert wird, wenn der Eingangswert positiv ist und der Bitwert des i-ten Bits des Synapsengewichts "0" ist, ein Wert "Eingangswert × 21" zu dem Summenwert für die monoton abfallenden Berechnungen addiert wird, wenn der Eingangswert negativ ist und der Bitwert des i-ten Bits des Synapsengewichts "1" ist und ein Wert "Eingangswert × 21" zu dem Summenwert für die monoton ansteigenden Berechnungen addiert wird, wenn der Eingangswert negativ ist und der Bitwert des i-ten Bits des Synapsengewichts "0" ist.
  • Nimmt man nun Bezug auf die 29 bis 30C wird das achte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier werden denjenigen Elementen, die im Wesentlichen gleich den entsprechenden Elementen beim siebten Ausführungsbeispiel sind, das oben beschrieben ist, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen werden.
  • Bei diesem achten Ausführungsbeispiel ist die detaillierte Konfiguration der Synapsenberechnungs- und -summierungsschaltung bei dem oben beschriebenen siebten Ausführungsbeispiel so modifiziert, dass eine Beurteilung diesbezüglich, ob der Summenwert den Sättigungsbereich erreicht hat oder nicht, einfacher durchgeführt werden kann. Das bedeutet, dass die Synapsenberechnungs- und -summierungsschaltung bei diesem achten Ausführungsbeispiel eine detaillierte Konfiguration hat, wie sie in 29 gezeigt ist welche sich von derjenigen der 23 darin unterscheidet, dass eine zusätzliche UND-Schaltung 80 zum Ausführen der Offset-Verarbeitung, welche die am meisten signifikanten Bits der Werte empfängt, die im Register-A 74 und im Register-B 75 registriert sind, und das Berechnungsstoppsignal ausgibt, vorgesehen ist, und die Offseteinstellung, wie sie nachfolgend beschrieben ist, auch zu der Steuerung 79 von der Steuerschaltung 7 zugeführt wird.
  • Nun genügt es zum Beurteilen der Stelle des Summenwerts unter dem Sättigungsbereich A, dem Übergangsbereich und dem Sättigungsbereich B, den aktuellen Summenwert mit dem ersten und dem zweiten Sättigungsbereichs-Grenzwert zu vergleichen, wobei der Sättigungsbereichs-Grenzwert den Grenzwert zwischen dem Sättigungsbereich B und dem Übergangsbereich anzeigt, während der zweite Sättigungsbereichs-Grenzwert den Grenzwert zwischen dem Übergangsbereich und dem Sättigungsbereich A anzeigt. Jedoch ist es zum Ausführen dieser Beurteilungsprozedur nötig, zwei Komparatoren zum Bestimmen der Größenbeziehungen zwischen dem Summenwert und dem ersten Sättigungsbereichs-Grenzwert und zwischen dem Summenwert und dem zweiten Sättigungsbereichs-Grenzwert vorzusehen, wie bei den vorherigen Ausführungsbeispielen.
  • Bei diesem achten Ausführungsbeispiel wird die folgende Verarbeitung zum Weglassen dieser Komparatoren ausgeführt.
    • (1) In Bezug auf die Übertragungscharakteristik der nichtlinearen Einheit, wie sie in 30A gezeigt ist, wird der zweite Sättigungsbereichs-Grenzwert SH im Voraus als Offset von dem Anfangswert des Summenwerts für die monoton ansteigenden Berechnungen subtrahiert, was den Sättigungsbereich A beurteilt, wie es in 30B angezeigt ist, und wird der erste Sättigungsbereichs-Grenzwert SL im Voraus als Offset zu dem Anfangswert des Summenwerts für die monoton abfallenden Berechnungen addiert, was den Sättigungsbereich B beurteilt, wie es in 30C angezeigt ist.
    • (2) Mit diesen Offsetwerten enthalten würden die Endsummenwerte nicht die richtigen Werte sein, so dass vor der nichtlinearen Verarbeitung diese Offsetwerte von den Endsummenwerten entfernt werden.
  • Mittels dieser Verarbeitung wird es möglich, zu beurteilen, dass es der Sättigungsbereich A ist, wann immer der Summenwert für die monoton ansteigenden Berechnungen sein Vorzeichen von negativ zu positiv ändert, es der Sättigungsbereich B ist, wann immer der Summenwert die monoton abfallenden Berechnungen sein Vorzeichen von Negativ zu Positiv ändert (da die monoton abfallenden Berechnungen tatsächlich durch Umkehren des Vorzeichens ausgeführt werden), und es der Übergangsbereich ist, solange sowohl der Summenwert für die monoton ansteigenden Berechnungen als auch der Summenwert für die monoton abfallenden Berechnungen negativ bleiben. Somit wird es dadurch möglich, die Zeitgabe zum Stoppen der Berechnungen einfacher zu beurteilen.
  • Wann immer einer dieser Summenwerte sein Vorzeichen zu Positiv ändert (d. h. das am meisten signifikante Bit "0" wird), werden nämlich die darauffolgenden Berechnungen weggelassen, da das Endergebnis der Summierung bei dieser Stelle offensichtlich wird, um die Reduzierung des Ausmaßes an Berechnungen und der Speicherzugriffe zur Synapsengewicht-Speicherschaltung zu realisieren.
  • Ebenso ist es bei der oben beschriebenen Verarbeitung dann, wenn die Vorzeichen der Anfangswerte der Summenwerte für die monoton ansteigenden und abfallenden Berechnungen, die Offsetwerte und der Wert, der zu einer Zeit der Bitberechnung zu addieren ist, umgekehrt werden, möglich, ein alternatives Schema zu realisieren, bei welchem dann, wann immer einer dieser Summenwerte sein Vorzeichen zu negativ ändert (d. h. das am meisten signifikante Bit wird "1"), die darauffolgenden Berechnungen weggelassen werden, da das Endergebnis der Summierung bei dieser Stelle offensichtlich wird, um die Reduzierung des Ausmaßes an Berechnungen und der Speicherzugriffe zu der Synapsengewicht-Speicherschaltung zu realisieren.
  • Nimmt man nun Bezug auf die 31 und 32 wird das neunte Ausführungsbeispiel einer Neuronennetzschaltung und eines Verarbeitungsschemas, das die Neuronennetzschaltung verwendet, gemäß der vorliegenden Erfindung detailliert beschrieben. Hier werden denjenigen Elementen, die im Wesentlichen gleich der entsprechenden Elementen beim oben beschriebenen siebten Ausführungsbeispiel sind, dieselben Bezugszeichen in der Figur zugeteilt sein, und ihre Beschreibung wird weggelassen werden.
  • Bei diesem neunten Ausführungsbeispiel ist ein Neuronennetzsystem durch eine Vielzahl von Neuronennetzschaltungen 100-1 bis 100-N ausgebildet, wobei jede Neuronennetzschaltung eine Konfiguration einer Neuronenschaltung gleich derjenigen hat, die in 22 des oben beschriebenen siebten Ausführungsbeispiels ist, außer dass der Selektor 9 in 22 weggelassen ist. Hier führt jede Neuronenschaltungskonfiguration jeder Neuronennetzschaltung 100 Berechnungen für eine Vielzahl von Neuronen durch sich selbst aus. Zusätzlich ist ein Register 101 für gemeinsame Eingangswerte zum Zuführen der identischen Eingangswerte zu allen Neuronennetzschaltungen 100-1 bis 100-N vorgesehen.
  • In diesem Fall werden die Eingangswerte von dem Register 101 für gemeinsame Eingangswerte zu den Neuronennetzschaltungen 100-1 bis 100-N wie folgt zugeführt. Das bedeutet, dass dann, wenn es M Eingangswerte gibt, jeder Eingangswert zu allen Neuronennetzschaltungen 100-1 bis 100-N übertragen bzw. transferiert wird, und zwar einzeln nacheinander ab dem ersten Eingangswert bis zum M-ten Eingangswert. Wenn die Übertragung bzw. der Transfer des M-ten Eingangswerts beendet ist, wird die Übertragung dieser Eingangswerte auf gleiche Weise wiederholt, bis alle Neuronennetzschaltungen 100-1 bis 100-N die Berechnungen beenden. Hier werden zu einer Zeit eines Übertragens eines jeweiligen Eingangswerts alle Bits jedes Eingangswerts miteinander zu jeder Neuronennetzschaltung 100 übertragen.
  • Bei jeder Neuronennetzschaltung 100 wird die Synapsenberechnung unter Verwendung aller Bits des übertragenen Eingangswerts und von einem Bit eines entsprechenden Synapsengewichts sequentiell ab den oberen Bits des Synapsengewichts ausgeführt, und wann immer der Summenwert den Sättigungsbereich erreicht, werden die darauffolgenden Berechnungen weggelassen, genau wie bei dem oben beschriebenen siebten Ausführungsbeispiel.
  • Auf diese Weise ist es bei diesem neunten Ausführungsbeispiel für jede Neuronennetzschaltung 100 möglich, die Berechnungen auszuführen und zu stoppen, und zwar unabhängig von den anderen Neuronennetzschaltungen 100, und zwar bei einer einfachen Schaltungskonfiguration.
  • Genauer gesagt können die Berechnungen bei den Neuronennetzschaltungen 100-1 bis 100-N fortschreiten, wie es in 32 für einen beispielhaften Fall gezeigt ist, bei welchem die Anzahl von Eingangswerten M 3 ist und jede Neuronennetzschaltung 100 Berechnungen für vier Neuronen ausführt. Wie es in 32 angezeigt ist, werden die Eingabe-1, die Eingabe-2 und die Eingabe-3 sequentiell und wiederholt zu jeder Neuronennetzschaltung 100 übertragen. Bei jeder Neuronennetzschaltung 100 wird die Synapsenberechnung unter Verwendung aller Bits des übertragenen Eingangswerts von einem Bit eines entsprechenden Synapsengewichts sequentiell ab den oberen Bits des Synapsengewichts ausgeführt, und zwar sequentiell für jedes einzelne der vier Neuronen. Wann immer der Summenwert für ein Neuron den Sättigungsbereich in einer jeweiligen Neuronennetzschaltung 100 erreicht, werden die Berechnungen für dieses Neuron durch Weglassen der darauffolgenden Berechnungen beendet, und die Berechnungen für ein nächstes Neuron werden in jeder Neuronennetzschaltung 100 unabhängig gestartet, so dass die Berechnungen bei jeder Neuronennetzschaltung 100 unabhängig von den Fortschritten von Berechnungen in den anderen Neuronennetzschaltungen 100 fortschreiten.
  • Somit kann gemäß diesem neunten Ausführungsbeispiel das Neuronennetzsystem mit den folgenden vorteilhaften Merkmalen realisiert werden.
    • (1) Es genügt, ein Register 101 für einen einzigen gemeinsamen Eingangswert für alle Neuronennetzschaltungen 100-1 bis 100-N vorzusehen, so dass das Neuronnetzsystem in einem kompakten Schaltungsausmaß bzw. in einer kompakten Schaltungsgröße realisiert werden kann.
    • (2) Darüber hinaus genügt es, den identischen Eingangswert von dem Register 101 für gemeinsame Eingangswerte zu allen Neuronennetzschaltungen 100-1 bis 100-N zuzuführen, so dass die Steuerung im Neuronnetzsystem sehr einfach sein kann.
    • (3) Weiterhin ist die Berechnung bei jeder Neuronennetzschaltung 100 unabhängig steuerbar, wie es oben beschrieben ist.
  • Nun wird unter Bezugnahme auf die 33 und 34 das Simulationsergebnis beschrieben, das die Effekte des Weglassens von Berechnungen und der Reduzierung von Speicherzugriffen auf die Synapsengewicht-Speicherschaltung gemäß dem siebten bis zum neunten Ausführungsbeispiel der vorliegenden Erfindung beschrieben.
  • 33 zeigt eine Beziehung zwischen dem Endsummenwert und der Rate von ausgeführten Berechnungen (d. h. ein Verhältnis einer Anzahl von Berechnungen, die im System der vorliegenden Erfindung erforderlich sind, in Bezug auf eine Anzahl von Berechnungen, die im System des Standes der Technik erforderlich sind) für Berechnungen bei einem Neuron in Bezug auf alle Synapsenverbindungen in einem beispielhaften Fall eines Verwendens von 17 Eingaben, wobei jedes von dem Synapsengewicht und dem Eingangswert 16 Bits von 2-er-Komplementärausdrücken aufweist, der zweite Sättigungsbereichs-Grenzwert = 0,5 ist und der erste Sättigungsbereichs-Grenzwert = –0,5 ist. Es kann aus dieser 33 gesehen werden, dass es keinen Effekt des Weglassens von Berechnungen im Übertragungsbereich gibt, wenn die strengeren Summenwerte erforderlich sind, aber dann, wenn die Endsummenwerte in den Sättigungsbereichen sind, der Effekt des Weglassens von Berechnungen für die Endsummenwerte merklich wird, die von den Sättigungsbereichs-Grenzwerten weiter weg sind.
  • Andererseits zeigt die 34 eine Beziehung zwischen dem Endsummenwert und der Anzahl von zugegriffenen oberen Bits bezüglich des Synapsengewichts für denselben beispielhaften Fall. Es kann aus dieser 34 gesehen werden, dass der Effekt der Reduzierung von Speicherzugriffen auf die Synapsengewicht-Speicherschaltung auch für den Endsummenwert merklich wird, der von den Sättigungsbereichs-Grenzwerten weiter weg ist.
  • Genauer gesagt können diese Effekte quantitativ wie folgt abgeschätzt werden. Das bedeutet, dass unter der Annahme, dass eine Möglichkeit dafür, dass der Endsummenwert im Sättigungsbereich ist, 90% ist, eine Möglichkeit dafür, dass der Endsummenwert im Übergangsbereich ist, 10% ist, und die Durchschnittsrate von ausgeführten Berechnungen, wenn der Endsummenwert im Sättigungsbereich ist, 20% ist, und zwar gemäß 33, es möglich ist, das Ausmaß an Berechnungen auf etwa 28% zu reduzieren.
  • Gleichermaßen ist es unter der Annahme, dass eine Möglichkeit dafür, dass der Endsummenwert im Sättigungsbereich ist, 90% ist, eine Möglichkeit dafür, dass der Endsummenwert im Übergangsbereich ist, 10% ist, und die Durchschnittszahl von zugegriffenen oberen Bits im Synapsengewicht, wenn der Endsummenwert im Sättigungsbereich ist, 4 Bits ist, und zwar gemäß der 34, möglich ist, die Anzahl von Speicherzugriffen auf etwa 31% zu reduzieren.
  • Somit ist es gemäß den siebten bis neunten Ausführungsbeispielen, die oben beschrieben sind, auch möglich, das Ausmaß an Berechnungen, die für die Synapsenberechnungen und die Summierung erforderlich sind, zu reduzieren, sowie eine Anzahl von Speicherzugriffen auf die Synapsengewichte, so dass die Verarbeitungsgeschwindigkeit der Synapsenberechnungen erhöht werden kann, währen der Leistungsverbrauch der für die Berechnungen erforderlich ist, reduziert werden kann, und als Folge wird es möglich, eine Neuronennetzschaltung großen Ausmaßes mit einer hohen Verarbeitungsgeschwindigkeit zu realisieren, die ungeachtet von Werten, die durch die Eingangswerte und die Synapsengewichte angenommen werden, das genaue Endergebnis erhalten kann.
  • Es ist hier zu beachten, dass, neben denjenigen, die bereits oben angegeben sind, viele Modifikationen und Variationen der obigen Ausführungsbeispiele durchgeführt werden können, ohne von den neuen und vorteilhaften Merkmalen der vorliegenden Erfindung abzuweichen. Demgemäß sollen alle derartigen Modifikationen und Variationen innerhalb des Schutzumfangs der beigefügten Ansprüche enthalten sein.

Claims (34)

  1. Neuronennetzschaltung zum Empfangen einer Vielzahl von Eingangswerten, die positiv oder negativ sein können, und zum Ausgeben eines Ausgangswertes, enthaltend: – eine Berechnungsvorrichtung (1-1, 1-i, 1-n, 4) zum Ausführen einer Synapsenberechnung für jeden Eingangswert und des entsprechenden Synapsengewichts für jeden Eingangswert, ausgedrückt durch binäre Bitsequenzen, durch Verwenden eines sequentiell spezifizierten Bits des entsprechenden Synapsengewichts, wobei das Synapsengewicht einen positiven oder einen negativen Wert haben kann, und einer Summenberechnung zum sequentiellen Summieren der Synapsen-Berechnungsergebnisse für die Eingangswerte zum Erhalten eines monoton zunehmenden oder abnehmenden Summenwerts, der positiv oder negativ sein kann; – eine Synapsengewicht-Speicherschaltung (2) zum Speichern einer Vielzahl von Synapsengewichten; – eine Speicherausleseschaltung (3) zum selektiven Auslesen eines spezifischen Bits eines spezifischen Synapsengewichts aus einer Synapsengewicht-Speicherschaltung zu der Berechnungsvorrichtung; – eine nichtlineare Einheit (5) zum Anwenden einer vorgegebenen nichtlinearen Übertragungsfunktion auf den Summenwert, erhalten durch die Berechnungsvorrichtung, zum Bestimmen des Ausgabewerts; – eine Bewertungsvorrichtung (6-1, 6-2) zum Bewerten, ob der durch die Berechnungsvorrichtung erhaltene Summenwert entweder ein positives oder negatives Sättigungsgebiet der Übertragungscharakteristik der nichtlinearen Einheit erreicht; und – eine Steuervorrichtung (7) zum Speichern der Speicherausleseschaltung und der Berechnungsvorrichtung zum sequentiellen Ausführung der Synapsenberechnung für obere Bits des entsprechenden Synapsengewichts, und zum Stoppen der Synapsenberechnung und der Summenberechnung, immer dann, wenn die Bewertungsvorrichtung bewertet, dass der durch die Berechnungsvorrichtung enthaltene Summenwert entweder das positive oder das negative Sättigungsgebiet erreicht.
  2. Neuronennetzschaltung nach Anspruch 1, wobei die Berechnungsvorrichtung (1, 4) sequentiell die Synapsenberechnung ausführt, unter Verwendung sämtlicher Bits jedes Eingangswerts und jedes einzelnen Bits des entsprechenden Synapsengewichts, sequentiell spezifiert von oberen Bits, zum Erhalten eines Teilsynapsen-Berechnungsergebnisses für jedes einzelne Bit, und zum Addieren jedes Teilsynapsen-Berechnungsergebnis für das jede einzelne Bit mit zuvor erzielten Teilsynapsen-Berechnungsergebnissen für obere Bits von dem jeweils einzelnen Bit.
  3. Neuronnetzschaltung nach Anspruch 2, wobei die Berechnungsvorrichtung enthält: – einen Schieber (22) zum Verschieben aller Bits jedes Eingangswerts; – eine Registervorrichtung zum Registrieren eines momentanen Summenwerts; – einen Addierer (73) zum Addieren einer Ausgangsgröße des Schiebers und des momentanen Summenwerts, registriert in der Registriervorrichtung, und zum Aktualisieren des momentanen Summenwerts in der Registervorrichtung durch ein Addierergebnis; und – einen Controller (79) zum Steuern des Schiebers und des Addierers so, dass der Addierer eine Addition für jedes Teilsynapsen-Berechnungsergebnis für alle Bits jedes Eingangswerts und des jeweils einen Bits des entsprechenden Synapsengewichts, erforderlich für die Synapsenberechnung, ausführt, sowie eine Addition zum sequentiellen Summieren der Synapsen-Berechnungsergebnisse, die in der Summenberechnung erforderlich sind.
  4. Neuronennetzschaltung nach Anspruch 3, wobei – die Berechnungsvorrichtung ferner eine Komplementärausdruck-Umsetzvorrichtung (71) enthält, zum Umsetzen sämtlicher Bits eines spezifizierten Eingangswerts in einen Komplementärausdruck zum Ausdrücken des spezifizierten Eingangswerts mit einem umgekehrten Vorzeichen, derart, dass der Schieber (72) alle Bits des Komplementärausdrucks für den spezifizierten Eingangswert schiebt; wobei – die Registervorrichtung ein erstes Register (74) zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen enthält, sowie ein zweites Register (75) zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, so dass der Addierer (73) die Ausgangsgröße des Schiebers und den ersten und zweiten Summenwert, registriert in dem ersten oder zweiten Register, addiert, und den ersten oder zweiten Summenwert in dem ersten oder zweiten Register um das Addierergebnis aktualisiert; – das erste Register einen Anfangswert für den ersten Summenwert aufweist, der zu einem Maximalwert festgelegt ist, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt wird, mit einem umgekehrten Vorzeichen, während das zweite Register einen Anfangswert für den zweiten Summenwert hat, der zu einem Minimalwert festgelegt ist, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann; und – die Berechnungsvorrichtung die Synapsenberechnung für alle Bits für jeden Eingangswert und ein i-tes Bit ausgehend von einem geringstwertigen Bit des entsprechenden Synapsengewichts ausführt, durch Addieren "jeder Eingangswert × 21", wenn der Eingangswert positiv ist, mit dem zweiten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder mit dem ersten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "0" hat, sowie durch Addieren von "jeder Eingangswert mit einem umgekehrten Zeichen × 21", wenn der jeweilige Eingangswert negativ ist, zu dem ersten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder zu dem zweiten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "0" hat.
  5. Neuronennetzschaltung nach Anspruch 3, wobei – die Registervorrichtung ein erstes Register (74) enthält, zum Registrieren eines ersten Summenwerts für monoton abfallende Berechnungen, und ein zweites Register (75) zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, so dass der Addierer (73) die Ausgabe des Schiebers (72) und den ersten oder zweiten Summenwert, registriert in dem ersten oder zweiten Register, addiert, und den ersten oder zweiten Summenwert in dem ersten oder zweiten Register um das Addierergebnis aktualisiert; – das erste Register (74) einen Anfangswert für den ersten Summenwert hat, der festgelegt ist zu [(Maximalwert, der möglichlicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann, mit einem umgekehrten Vorzeichen) + (unterer Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], während das zweite Register (75) einen Anfangswert für den zweiten Summenwert hat, festgelegt zu [(Minimalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann) – (oberer Grenzwert des Übergangsgebiets)]; und – die Bewertungsvorrichtung bewertet, dass der durch die Berechnungsvorrichtung erhaltene Summenwert das Fertigungsgebiet erreicht hat, wenn eines der signifikantesten Bits des ersten und zweiten Ergebnisses sich von "1" zu "0" ändert.
  6. Neuronennetzschaltung nach Anspruch 3, wobei – die Berechnungsvorrichtung ferner eine Komplementärausdruck-Umsetzvorrichtung (71) enthält, zum Umsetzen sämtlicher Bits eines spezifizierten Eingangswerts in einen Komplementärausdruck zum Ausdrücken des spezifizierten Eingangswerts mit einem umgekehrten Vorzeichen, so dass der Schieber (72) sämtliche Bits des Komplementärausdrucks für den spezifizierten Eingangswert schiebt; – die Registervorrichtung ein erstes Register (74) enthält, zum Registrieren eines ersten Summenwerts für monoton abfallende Berechnungen, und ein zweites Register (75) zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, so dass der Addierer (73) die Ausgabe des Schiebers und den ersten oder zweiten Summenwert registriert in dem ersten oder zweiten Register addiert, und den ersten oder zweiten Summenwert in dem ersten und zweiten Register um das Addierergebnis aktualisiert; – das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu einem Maximalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann, während das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu einem Minimalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann, mit einem umgekehrten Vorzeichen; und – die Berechnungsvorrichtung die Synapschenberechnung für sämtliche Bits für jeden Eingangswert und ein i-tes Bit ausgehend von einem geringstwertigen Bit des entsprechenden Synapsengewichts ausführt, durch Addieren von "jeder Eingangswert mit umgekehrten Vorzeichen × 21", wenn jeder Eingangswert positiv ist, zu dem zweiten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder zu dem ersten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "0" hat, und ein Addieren von "jeweils Eingangswert × 2i'', wenn jeder Eingangswert negativ ist, zu dem ersten Summenwert, wenn das ite Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder zu dem zweiten Summenwert, wenn das i-te Bit von dem entsprechenden Synapsengewicht einen Bitwert "0" hat.
  7. Neuronennetzschaltung nach Anspruch 3, wobei – die Registriervorrichtung ein erstes Register (74) enthält, zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen und ein zweites Register (75) zum Registrieren eines Summenwerts für monoton zunehmende Berechnungen, so dass der Addierer (73) die Ausgabe von dem Schieber und den ersten oder zweiten Summenwert registriert in dem ersten oder zweiten Register addiert, und den ersten oder zweiten Summenwert in dem ersten oder zweiten Register um das Addierergebnis aktualisiert; – das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu [(Maximalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann) – (unterer Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], während das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu [(Minimalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann, mit einem umgekehrten Vorzeichen) + (oberer Grenzwert des Übergangsgebiets)]; und – die Bewertungsvorrichtung bewertet, dass der durch die Berechnungsvorrichtung erhaltene Summenwert das Sättigungsgebiet erreicht hat, wenn eines der signifikantesten Bits des ersten und zweiten Summenwerts sich von "0" zu "1" geändert hat.
  8. Neurennetzschaltung nach Anspruch 1, wobei die Berechnungsvorrichtung einen Anfangswert für den Summenwert hat, für den sich der Summenwert monoton erhöht oder verringert, im Rahmen des sequentiell ausgeführten Synapsenberechnungsprozesses.
  9. Neuronennetzschaltung nach Anspruch 8, wobei die Berechnungsvorrichtung den Anfangswert für den Summenwert festgelegt zu einem Maximalwert hat, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann, mit einem umgekehrten Vorzeichen für monoton abnehmende Berechnungen, oder den Anfangswert für den Summenwert zu einem Minimalwert festgelegt hat, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann, für monoton zunehmende Berechnungen.
  10. Neuronennetzschaltung nach Anspruch 1, wobei die Berechnungsvorrichtung sequentiell die Synapsenvorrichtung ausführt, durch Verwendung jedes Bits jedes Eingangswerts und jedes Bits des entsprechenden Synapsenwerts, die sequentiell ausgehend von den oberen Bits spezifiziert sind, zum Erhalten eines Teilsynapsen-Berechnungsergebnis für jedes Bits jedes Eingangswerts und jedes Bit des entsprechenden Synapsengewichts, und ein Addieren jedes Teilsynapsen-Berechnungsergebnis für jedes Bit jedes Eingangswerts und jedes Bits des entsprechenden Synapsengewichts mit vorangehenden Teilsynapsen-Berechnungsergebnissen für obere Bits jedes einzelnen Bits jedes Eingangswerts und jedes einzelnen Bits des entsprechenden Synapsengewichts.
  11. Neuronennetzschaltung nach Anspruch 10, wobei die Berechnungsvorrichtung enthält: – einen Ein-Bit-Multiplizierer (34) zum Berechnungen eines Produkts jedes einzelnen Bits jedes Eingangswerts und jedes einzelnen Bits des entsprechenden Synapsengewichts; – eine Registervorrichtung zum Registrieren eines momentanen Summenwerts, – einen Ein-Bit-Addierer (31) zum Addieren einer Ausgabe des Ein-Bit-Multiplizierers und eines spezifizierten Bits des momentanen Summenwerts, registriert in der Registervorrichtung, und zum Aktualisieren des spezifizierten Bits des momentanen Summenwerts in der Registervorrichtung gemäß einem Addierergebnis; und – einen Controller (33) zum Steuern des Ein-Bit-Multiplizierers und des Ein-Bit-Addierers derart, dass der Ein-Bit-Addierer eine Addition jedes Teilsynapsen-Berechnungsergebnisses für jedes Bit jedes Eingangswerts und jedes Bit des entsprechenden Synapsengewichts, erforderlich in der Synapsenberechnung, ausführt, sowie eine Addition zum sequentiellen Summieren der Synapsen-Berechnungsergebnisse, die in der Summenberechnung erforderlich sind.
  12. Neuronennetzschaltung nach Anspruch 11, wobei der Controller auch den Ein-Bit-Multiplizierer und den Ein-Bit-Addierer so steuert, dass Betriebsschritte bei dem Ein-Bit-Multiplikat und dem Ein-Bit-Addierer für ein Bit jedes Eingangswerts mit einem Bitwert von "0" weggelassen werden.
  13. Neuronennetzschaltung nach Anspruch 11, wobei – die Registervorrichtung einen Anfangswert für einen monoton abnehmenden Summenwert hat, festgelegt zu [(Gesamtwert von Teilprodukten sämtlicher Bits von einem Absolutwertabschnitt des entsprechenden Synapsengewichts und jedes Bits jedes Eingangswerts, bei dem diejenigen Teilprodukte entsprechend den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "1" aufgebaut sind) + (unterer Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], wenn das Synapsenergebnis jedes Eingangswerts und das entsprechende Synapsengewicht positiv ist, oder ["0" + (unterer Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ ist, und ein Anfangswert für einen monoton zunehmenden Summenwert festgelegt ist zu ["0" – (unterer Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis für jeden Eingangswert und das entsprechende Synapsengewicht positiv ist, oder [(Gesamtwert für Teilprodukte sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedes Bits eines Eingangswerts, umgesetzt in 1-Komplementärausdrucke, in denen diejenigen Teilprodukte gemäß den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "0" aufgebaut sind, mit Ausnahme des signifikantesten Bits) – (oberer Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ ist; und – die Bewertungsvorrichtung bewertet, dass der durch die Berechnungsvorrichtung erhaltene Summenwert das Sättigungsgebiet erreicht hat, wenn eine Anforderung für einen Übertrag von einem der signifikantesten Bits der ersten und zweiten Summenwerte entsteht.
  14. Neuronennetzschaltung nach Anspruch 10, wobei die Berechnungsvorrichtung enthält: – einen Ein-Bit-Multiplikator (34) zum Berechnen eines Produkts jedes Eingangwerts und des entsprechenden Synapsengewichts, Bit-für-Bit; – eine Registervorrichtung mit einem ersten Register (36) zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen und einem zweiten Register (37) zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, wobei das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu einem Gesamtwert der Teilprodukte sämtlicher Bits eines Absolutwertabschnittes des entsprechenden Synapsengewichts und jedes Bits jedes Eingangswerts, bei dem diese Teilprodukte entsprechend den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "1" aufgebaut sind, wenn das Synapsen-Berechnungsergebnis für jeden Eingangswert und das entsprechende Synapsengewicht positiv ist, oder "0", wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und des entsprechenden Synapsengewichts negativ ist, während das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu "0", wenn das Synapsen-Berechnungsergebnis jedes einzelnen Eingangswerts und das entsprechende Synapsengewicht positiv ist, oder ein Gesamtwert der Teilprodukte sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedes Bits jedes Eingangswerts, umgekehrt in 1-Komplementärausdrücke, bei dem diejenigen Teilprodukte entsprechend den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "0" aufgebaut sind, mit Ausnahme des signifikantesten Bits, wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und des entsprechenden Synapsengewichts negativ ist; – einen Ein-Bit-Addierer (31) zum Addieren von "1" und eines spezifizierten Bits des ersten oder zweiten Summenwerts, registriert in der Registervorrichtung, und zum Aktualisieren des spezifizierten Bits des ersten oder zweiten Summenwerts in der Registervorrichtung gemäß einem Additionsergebnis gemäß dem Produkt erhalten durch den Ein-Bit-Multiplierer derart, dass der Ein-Bit-Addierer betriebsgemäß auf dem ersten Summenwert dann arbeitet, wenn das Produkt ein positives Vorzeichen hat, und das spezifizierte Bitprodukt einen Bitwert "0" hat, oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1" hat, während der Ein-Bit-Addierer betriebsgemäß auf dem zweiten Summenwert arbeitet, wenn das Produkt ein positives Vorzeichen hat und das spezifizierte Bitprodukt einen Bitwert "1" hat, oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bitprodukt einen Bitwert "0" hat; und – einen Controller (33) zum Steuern des Ein-Bit-Addierers derart, dass der Ein-Bit-Addierer eine Addition jedes Teilsynapsen-Berechnungsergebnis für jedes Bit jedes Eingangswerts und jedes Bits des entsprechenden Synapsengewichts, erforderlich bei der Synapsenberechnung, ausführt, sowie eine Addition zum sequentiellen Summieren der Synapsenberechnungsergebnisse, die in der Summenberechnung erforderlich sind, für die ersten und zweiten Summenwerte; – und wobei die Bewertungsvorrichtung bewertet, ob jeder der ersten und zweiten Summenwerte, erhalten durch die Berechnungsvorrichtung, das Sättigungsgebiet erreicht hat.
  15. Neuronennetzschaltung nach Anspruch 14, wobei der Controller auch den Ein-Bit-Multiplikator und den Ein-Bit-Addierer so steuert, dass Betriebsschritte bei dem Ein-Bit-Multiplikator und dem Ein-Bit-Addierer für ein Bit jedes Eingangswerts mit einem Bitwert "0" weggelassen werden.
  16. Neuronennetzschaltung nach Anspruch 10, wobei die Berechnungsvorrichtung enthält: – einen Ein-Bit-Multiplizierer (34) zum Berechnen eines Produkts jedes Eingangswerts und des zugeordneten Synapsengewichts, Bit füt Bit; – eine Registervorrichtung mit einem ersten Register (36) zum Registrieren eines ersten Summierwerts für monoton abfallende Berechnungen und ein zweites Register (37) zum Registrieren eines zweiten Summierwerts für monoton zunehmende Berechnungen, wobei das erste Register einen Anfangswert des ersten Summenwerts hat, festgelegt zu [(Gesamtwert von Teilprodukten sämtlicher Bits eines Absolutabschnitts des entsprechenden Synapsengewichts und jedes Bits jedes Eingangswerts, in dem diese Teilprodukte gemäß den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "1" bestehen) + (und einem unteren Grenzwert eines Übergangsgebiets der Transfercharakteristik)], wenn das Synapsen-Berechnungsergebnis des Eingangswerts und das entsprechende Synapsengewicht positiv ist, oder [0" + (den unteren Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ ist, während das zweite Register einen Anfangswert des zweiten Summierwerts hat, festgelegt zu ["0" – (einem unteren Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht positiv ist, oder [(einen Gesamtwert der Teilprodukte sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts jedes Bits jedes Eingangswerts, umgesetzt in 1 – der Komplementärausdrücke, in denen diejenigen Teilprodukte entsprechend den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "0" bestehen, mit der Ausnahme des signifikantesten Bits) – (dem oberen Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis des Eingangswerts und des entsprechenden Synapsengewichts negativ ist; – einen Ein-Bit-Addierer (31) zum Addieren von "1" und eines spezifizierten Bits von einem des ersten oder zweiten Summierwerts, registriert in der Registervorrichtung, und zum Aktualisieren des spezifizierten Bits des einen von dem ersten und zweiten Summierwert in der Registervorrichtung, durch ein Additionsergebnis gemäß dem Produkt, erhalten durch den Ein-Bit-Multiplikator derart, dass der Ein-Bit-Addierer auf dem ersten Summierwert dann arbeitet, wenn das Produkt ein positives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "0" hat oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1" hat, während der Ein-Bit-Addierer auf dem zweiten Summerwert arbeitet, wenn das Produkt ein positives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1" hat, oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "0" hat; und – einen Controller (33) zum Steuern des Ein-Bit-Addierers derart, dass der Ein-Bit-Addierer eine Addition ausführt, von jedem Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit jedes Eingangswerts und dem jeweils einen Bit des entsprechenden Synapsengewichts, erforderlich bei der Synapsenberechnung, sowie eine Addition zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen, erforderlich in der Summenberechnung für den ersten und den zweiten Summenwert; – und wobei die Bewertungsvorrichtung bewertet, dass jeder von dem ersten und zweiten Summenwert, erhalten durch die Berechnungsvorrichtung, das Sättigungsgebiet erreicht hat, wenn eine Anforderung zum Übertragen einer Figur von einem der signifikantesten Bits des ersten und zweiten Summierwerts auftritt.
  17. Neuronennetzsystem, enthaltend: eine Vielzahl von Neuronennetzschaltungen (100-1, 100-2 , 100-3, 100-N), die unabhängig im Hinblick zueinander arbeiten, wobei jede Neuronennetzschaltung eine Vielzahl von Eingangswerten empfängt, die positiv oder negativ sein können, und einen Ausgangswert ausgibt, wobei jede Schaltung enthält: – eine Berechnungsvorrichtung (70) zum Ausführen einer Synapsenberechnung für jeden Eingangswert und des entsprechenden Synapsengewichts jedes Eingangswerts, ausgedrückt durch Binär-Bit- Sequenzen, unter Verwendung sämtlicher Bits jedes Eingangswerts und jeweils eines Bits des entsprechenden Synapsengewichts, sequentiell spezifiziert von oberen Bits, zum Erhalten eines Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit, und zum Addieren jedes Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit, mit zuvor erhaltenen Teilsynapsen-Berechnungsergebnissen für die oberen Bits des jeweils einen Bits, wobei die Synapsengewichte einen positiven oder einen negativen Wert haben können, und eine Summenberechnung zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen für die Eingangswerte zum Erhalten eines monoton zunehmenden oder abnehmenden Summenwerts, der positiv oder negativ sein kann; – eine Synapsengewicht-Speicherschaltung (2) zum Speichern einer Vielzahl von Synapsengewichten; – eine Speicherausleseschaltung (3) zum selektiven Auslesen eines spezifizierten Bits eines spezifizierten Synapsengewichts aus der Synapsengewicht-Speicherschaltung zu der Berechnungsvorrichtung; – eine nichtlineare Einheit (5) zum Anwenden einer vorgegebenen nichtlinearen Übertragungsfunktion auf den Summenwert, erhalten durch die Berechnungsvorrichtung, zum Bestimmen des Ausgangswerts; – eine Bewertungsvorrichtung (6-1, 6-2) zum Bewerten, ob der Summenwert, erhalten durch die Berechnungsvorrichtung, entweder das positive oder das negative Sättigungsgebiet der Transfercharakteristik der nichtlinearen Einheit erreicht; und – eine Steuervorrichtung (7) zum Steuern der Speicherausleseschaltung und der Berechnungsvorrichtung zum sequentiellen Ausführen der Synapsenberechnung für obere Bits des entsprechenden Synapsengewichts, und zum Stoppen der Synapsenberechnung und der Summenberechnung immer dann, wenn die Bewertungsvorrichtung bewertet, dass der durch die Berechnungsvorrichtung erhaltene Summenwert entweder das positive oder negative Sättigungsgebiet erreicht; und – ein Register für einen gemeinsamen Eingabewert (101) zum sequentiellen Zuführen einer Vielzahl von Eingabewerten zu jeder Neuronenschaltung derart, dass ein identischer der Vielzahl der Eingangswerte zu sämtlichen der Vielzahl der Neuronennetzschaltungen gleichzeitig zugeführt wird.
  18. Verarbeitungsverfahren zum Verwenden in einer Neuronennetzschaltung, die eine Vielzahl von Eingangswerten empfängt, die positiv oder negativ sein können, und einen Ausgangswert ausgibt, enthaltend die Schritte: (a) Ausführen einer Synapsenberechnung für jeden Eingangswert und dem entsprechenden Synapsengewicht für jeden Eingangswert, die als binäre Bitsequenzen ausgedrückt sind, unter Verwendung eines sequentiell spezifizierten Bits des entsprechenden Synapsengewichts, wobei das Synapsengewicht einen positiven oder einen negativen Wert haben kann, und einer Summenberechnung zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen für die Eingangswerte zum Erhalten eines monoton zunehmenden oder abnehmenden Summenwerts, der positiv oder negativ sein kann; (b) Anwenden einer vorgegebenen nichtlinearen Übertragungsfunktion auf den Summenwert, erhalten bei dem Schritt (a), zum Bestimmen des Ausgangswerts; (c) Bewerten, ob der bei dem Schritt (a) erhaltene Summenwert entweder ein positives oder ein negatives Sättigungsgebiet der Übertragungsfunktion, angewandt bei dem Schritt (b), erreicht; und (d) Steuern des Schrittes (a) zum sequentiellen Ausführen der Synapsenberechnung, ausgehend von den oberen Bits des entsprechenden Synapsengewichts, und zum Stoppen der Synapsenberechnung und der Summenberechnung immer dann, wenn in dem Schritt (c) bewertet wird, dass der bei dem Schritt (a) erhaltene Summenwert entweder das positive oder das negative Sättigungsgebiet erreicht.
  19. Verarbeitungsverfahren nach Anspruch 18, wobei der Schritt (a) sequentiell die Synapsenberechnung ausführt, unter Verwendung aller Bits jedes Eingangswerts und jedes einzelnen Bits des entsprechenden Synapsengewichts, sequentiell spezifiziert, ausgehend von den oberen Bits, zum Erhalten eines Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit, und zum Addieren jedes Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit mit vorangehenden Teilsynapsen-Berechnungsergebnissen für obere Bits des jeweils einen Bits.
  20. Verarbeitungsverfahren nach Anspruch 19, wobei der Schritt (a) die Schritte enthält: (a1) Verschieben sämtlicher Bits jedes Eingangswerts durch eine Verschiebeeinheit; (a2) Registrieren eines momentanen Summenwerts in einer Registervorrichtung; (a3) Addieren einer Ausgabe des Verschiebers und des momentanen Summenwerts, registriert in der Registervorrichtung, durch einen Addierer, und Aktualisieren des momentanen Summenwerts in der Registervorrichtung durch ein Additionsergebnis; und (a4) Steuern des Verschiebers und des Addierers derart, dass der Addierer eine Addition jedes Teilsynapsen-Berechnungsergebnis für alle Bits jedes Eingangswerts und den jeweiligen einzelnen Bit des entsprechenden Synapsengewichts, erforderlich für die Synapsenberechnungs, ausführt, sowie eine Addition zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen, die in der Summenberechnung erforderlich sind.
  21. Verarbeitungsverfahren nach Anspruch 20, wobei: – der Schritt (a) ferner den Schritt zum Umsetzen sämtlicher Bits eines spezifizierten Eingangswert in einen komplementären Ausdruck enthält, zum Ausdrücken des spezifizierten Eingangswerts mit einem umgekehrten Vorzeichen derart, dass der Verschieber sämtliche Bits des komplementären Ausdrucks für den spezifizierten Eingangswert verschiebt; – die Registervorrichtung ein erstes Register zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen enthält, sowie ein zweites Register zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, derart, dass der Addierer die Ausgabe von dem Verschieber und einen von dem ersten und dem zweiten Summenwert, registriert in dem ersten und zweiten Register, addiert, und den einen von dem ersten und zweiten Summenwert in dem ersten und zweiten Register durch das Additionsergebnis aktualisiert; – das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu einem Maximalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis mit einem umgekehrten Vorzeichen erzielt wird, während das zweite Register einen Anfangswert des zweiten Summenwerts hat, festgelegt zu einem Minimalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt werden kann; und – der Schritt (a) die Synapsenberechnung für alle Bits jedes Eingangswerts und ein i-tes Bit von einem niedrigwertigsten Bit des entsprechenden Synapsengewichts ausführt, durch Addieren "jeder Eingangswert × 21", wenn der jede Eingangswert positiv ist, zu dem zweiten Summenwert, wenn das ite Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder zu dem ersten Summenwert, wenn das i-te bit des entsprechenden Synapsengewichts einen Bitwert "0" hat, und ein Addieren "jeder Eingangswert mit umgekehrten Vorzeichen × 21", wenn der jede Eingangswert negativ ist, zu dem ersten Summenwert, wenn das ite Bit des entsprechenden Synapsengewichts einen Wert "1" hat, oder zu dem zweiten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "0" hat.
  22. Verarbeitungsverfahren nach Anspruch 20, wobei: – die Registervorrichtung ein erstes Register enthält, zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen, und ein zweites Register zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, derart, dass der Addierer die Ausgabe vom Verschieber und einem der ersten und zweiten Summenwerte, registriert in dem ersten und zweiten Register, addiert, und den einen des ersten und zweiten Summenwerts in dem ersten und zweiten Register durch das Additionsergebnis aktualisiert; – das erste Register einen Anfangswert des ersten Summenwerts hat, festgelegt zu [(Maximalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis mit umgekehrten Vorzeichen erzielt wird) + (einem unteren Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], während das zweite Register einen Anfangswert des zweiten Summenwerts hat, festgelegt zu [(einem Minimalwert, der möglicherweise durch das Synapsen- Berechnungsergebnis erzielt werden kann) – (einem oberen Grenzwert des Überganggebiets)]; und – der Schritt (c) bewertet, dass der bei dem Schritt (a) erhaltene Summenwert das Sättigungsgebiet erreicht hat, wenn eines der signifikantesten Bits für den ersten und zweiten Summenwert sich von "1" zu "0" ändert.
  23. Verarbeitungsverfahren nach Anspruch 20, wobei: – der Schritt (a) ferner den Schritt zum Umsetzen sämtlicher Bits eines spezifizierten Eingangswerts in einem Komplementärausdruck enthält, zum Ausdrucken des spezifizierten Eingangswerts mit einem umgekehrten Vorzeichen derart, dass der Verschieber sämtliche Bits des Komplementärausdrucks für den spezifizierten Eingangswert verschiebt; – die Registervorrichtung ein erstes Register enthält, zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen, und ein zweites Register zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, derart, dass der Addierer die Ausgabe vom Verschieber und einem des ersten und zweiten Summenwerts, registriert in dem ersten und zweiten Register, addiert, und den eines des ersten und zweiten Summenwerts in dem ersten und zweiten Register durch das Additionsergebnis aktualisiert; – das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu einem Maximalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis erzielt wird, während das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu einem Minimalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis mit umgekehrtem Vorzeichen erzielt wird; und – der Schritt (a) die Synapsen-Berechnung für sämtliche Bits jedes Eingangswerts und einem i-ten Bit von einem niedrigstwertigen Bit des entsprechenden Synapsengewichts ausführt, durch Addieren "jeder Eingangswert mit umgekehrtem Vorzeichen × 21", wenn der jede Eingangswert positiv ist, zu dem zweiten Summierwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder zu dem ersten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "0" hat, und Addieren "jedes Eingangswerts × 21", wenn der jede Eingangswert negativ ist, zu dem ersten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "1" hat, oder zu dem zweiten Summenwert, wenn das i-te Bit des entsprechenden Synapsengewichts einen Bitwert "0" hat.
  24. Verarbeitungsverfahren nach Anspruch 20, wobei: – die Registervorrichtung ein erstes Register enthält, zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen, und ein zweites Register zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, derart, dass der Addierer die Ausgabe vom Verschieber und einem der ersten und zweiten Summenwerte, registriert in dem ersten und zweiten Register, addiert, und den einen der ersten und zweiten Summenwert in dem ersten und zweiten Register um das Additionsergebnis aktualisiert; – das erste Register einen Anfangswerts für den ersten Summenwert hat, festgelegt zu [(einem Maximalwert, der möglicherweise durch das Synapsenberechnungsergebnis erzielt wird) – (einem unteren Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], wenn das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu [(einem Minimalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis mit einem umgekehrten Vorzeichen erzielt werden kann) + (einem oberen Grenzwert des Übergangsgebiets)]; und – der Schritt (c) bewertet, dass der bei dem Schritt (a) erhaltene Summenwert das Sättigungsgebiet erreicht, wenn eines der signifikantesten Bits der ersten und zweiten Summenwerte sich von "0" zu "1" ändert.
  25. Verarbeitungsverfahren nach Anspruch 18, wobei der Schritt (a) einen Anfangswert für den Summenwert verwendet, für den sich der Summenwert monoton erhöht oder verringert, bei sequentiellem Ausführen des Synapsen-Berechnungsvorgangs.
  26. Verarbeitungsverfahren nach Anspruch 25, wobei der Schritt (a) den Anfangswert für den Summenwert verwendet, festgelegt zu einem Maximalwert, der möglicherweise durch das Synapsen-Berechnungsergebnis mit einem umgekehrten Vorzeichen für monoton abnehmende Berechnungen erzielt werden kann, oder dem Anfangswert für den Summenwert, festgelegt zu einem minimalen Wert, der möglicherweise durch das Synapsen-Berechnungsergebnis für monoton zunehmende Berechnungen erzielt werden kann.
  27. Verarbeitungsverfahren nach Anspruch 18, wobei der Schritt (a) sequentiell die Synapsen-Berechnung ausführt, durch Verwenden jedes einzelnen Bits jedes Eingangswerts und jedes einzelnen Bits des entsprechenden Synapsengewichts, die sequentiell ausgehend von den oberen Bits spezifiziert sind, zum Erhalten eines Teilsynapsen-Berechnungsergebnis für das jede einzelne Bit jedes Eingangswerts und das jedes einzelne Bit des entsprechenden Synapsengewichts, und ein Addieren jedes Teilsynapsen-Berechnungsergebnis für das jede einzelne Bit jedes Eingangswerts und das jede einzelne Bit des entsprechenden Synapsengewichts mit vorangehend erzielten Teilsynapsen-Berechnungsergebnissen für obere Bits von dem jeden einzelnen Bit jedes Eingangswerts und dem jeden einzelnen Bit des entsprechenden Synapsengewichts.
  28. Verarbeitungsverfahren nach Anspruch 27, wobei der Schritt (a) die Schritte umfasst: (a11)Berechnen eines Produkts des jeden einzelnen Bits jedes Eingangswerts und des jeden einzelnen Bits des entsprechenden Synapsengewichts mit einem Ein-Bit-Multiplizierer; (a12)Registrieren eines momentanen Summenwerts in einer Registervorrichtung; (a13)Addieren in einer Ausgangsgröße von dem Ein-Bit-Multiplizierer und eines spezifizierten Bits des momentanen Summenwerts, registriert in der Registriervorrichtung, durch einen Ein-Bit- Addierer, und Aktualisieren des spezifizierten Bits des momentanen Summenwerts in der Registervorrichtung durch ein Additionsergebnis; und (a14)Steuern des Ein-Bit-Multiplizierers und des Ein-Bit-Addierers derart, dass der Ein-Bit-Addierer eine Addition jedes Teilsynapsen-Berechnungsergebnis für das jede einzelne Bit jedes Eingangswerts und das jede einzelne Bit des entsprechenden Synapsengewichts, erforderlich in der Synapsenberechnung, ausführt, sowie eine Addition zum sequentiellen Summieren der Synapsen-Berechnungsergebnisse, die bei der Summenberechnung erforderlich sind.
  29. Verarbeitungsverfahren nach Anspruch 28, wobei der Schritt (a14) ebenso den Ein-Bit-Multiplizierer und den Ein-Bit-Addierer so steuert, dass Betriebsschritte bei dem Ein-Bit-Multiplizierer und dem ein-Bit-Addierer für ein Bit jedes Eingangswerts mit einem Bitwert "0" weggelassen werden.
  30. Verarbeitungsverfahren nach Anspruch 28, wobei: – die Registervorrichtung einen Anfangswert für einen monoton abnehmenden Summenwert hat, festgelegt zu [(einem Gesamtwert von Teilprodukten für alle Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts jedes Bits von jedem Eingangswert, in dem diejenigen Teilprodukte entsprechend dem Bitwert "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "1" bestehen) + (einem unteren Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht positiv sind, oder ["0" + (dem unteren Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ sind, und einen Anfangswert für einen monoton zunehmenden Summenwert, festgelegt zu ["0" – (einem unteren Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht positiv sind, oder [(einem Gesamtwert der Teilprodukte sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedes Bits jedes Eingangswerts umgesetzt in 1-er Komplementärausdrucke, in denen diejenigen Teilprodukten entsprechenden Bitwerte "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "0" bestehen, mit Ausnahme des signifikantesten Bits) – (dem oberen Grenzwert des Übergangsgebiets)], wenn das Synapsen-, Berechnungsergebnis jedes Eingangswerts und des entsprechenden Synapsengewichts negativ ist; und – der Schritt (c) bewertet, dass der bei dem Schritt (a) erhaltene Summenwert das Sättigungsgebiet erreicht hat, wenn eine Anforderung für einen Übertrag einer Ziffer von einem der signifikantesten Bits für den ersten und zweiten Summenwert entsteht.
  31. Verarbeitungsverfahren nach Anspruch 27, wobei der Schritt (a) die Schritte umfasst: (a21)Berechnen eines Produkts jedes Eingangswerts und des entsprechenden Synapsengewichts durch einen Ein-Bit-Multiplikator, Bit für Bit; (a22)Bereitstellen einer Registervorrichtung einschließlich einem ersten Register zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen und eines zweiten Registers zum Registrieren eines zweiten Summenwerts für monoton zunehmende Berechnungen, wobei das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu einem Gesamtwert der Teilprodukte sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedem Bit jedes Eingangswerts, bei dem diejenigen Teilprodukte gemäß den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "1" bestehen, wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht positiv sind, oder "0", wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ sind, während das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu "0", wenn das Synapsen-Berechnungsergebnis für jeden Eingangswert und das entsprechende Synapsengewicht positiv ist, oder einem Gesamtwert der Teilprodukte sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedes Bits des jeden Eingangswerts umgesetzt in 1-er Komplementärausdrücke, bei denen diejenigen Teilprodukte entsprechend den Bitwerten "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "0" bestehen, mit Ausnahme des signifikantesten Bits, wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ ist; (a23)Addieren von "1" und einem spezifizierten Bit von einem der ersten und zweiten Summenwerte, registriert in der Registervorrichtung, durch einen Ein-Bit-Addierer, und Aktualisieren des spezifizierten Bits von dem einen des ersten und zweiten Summenwerts in der Registervorrichtung durch ein Additionsergebnis, gemäß dem Produkt, erhalten durch den Ein-Bit-Multiplizierer derart, dass der Ein-Bit-Addierer auf dem ersten Summenwert arbeitet, wenn das Produkt ein positives Vorzeichen hat, und das spezifizierte Bit des Produkts einen Bitwert "0" hat, oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1" hat, während der Ein-Bit-Addierer auf dem zweiten Summenwert arbeitet, wenn das Produkt ein positives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1", oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produktes einen Bitwert "0" hat; und (a24)Steuern des Ein-Bit-Addierer derart, dass der Ein-Bit-Addierer eine Addition von jedem Teilsynapsen-Berechnungsergebnis für das jede einzelne Bit jedes Eingangswerts und dem jeden einzelnen Bit des entsprechenden Synapsengewichts, erforderlich in der Synapsenberechnung, ausführt, sowie eine Addition zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen, die in der Summenberechnung für den ersten und zweiten Summenwert erforderlich sind; und wobei der Schritt (c) bewertet, ob jeder von dem ersten und zweiten Summenwert, erhalten durch die Berechnungsvorrichtung, das Sättigungsgebiet erreicht hat.
  32. Verarbeitungsverfahren nach Anspruch 31, wobei der Schritt (a24) ebenso den Ein-Bit-Multiplizierer und den Ein-Bit-Addierer so steuert, dass Betriebsschritte beim dem Ein-Bit-Multiplizierer und dem Ein-Bit-Addierer für ein Bit jedes Eingangswerts mit einem Bitwert von "0" weggelassen werden.
  33. Verarbeitungsverfahren nach Anspruch 27, wobei der Schritt (a) die folgenden Schritte enthält: (a31)Berechnen eines Produkts von jedem Eingangswert und dem entsprechenden Synapsengewichts durch einen Ein-Bit-Multiplizierer, Bit für Bit; (a32)Bereitstellen einer Registervorrichtung mit einem ersten Register zum Registrieren eines ersten Summenwerts für monoton abnehmende Berechnungen und einem zweiten Register zum Registrieren eines Summenwerts für monoton zunehmende Berechnungen, wobei das erste Register einen Anfangswert für den ersten Summenwert hat, festgelegt zu [(einem Gesamtwert von Teilprodukten sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedes Bits jedes Eingangswerts, in dem diejenigen Teilprodukte entsprechend dem Bitwert "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "1" bestehen) + (einem unteren Grenzwert eines Übergangsgebiets der Übertragungscharakteristik)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht positiv ist, oder ["0" + (dem unteren Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis jedes Eingangswerts und das entsprechende Synapsengewicht negativ ist, während das zweite Register einen Anfangswert für den zweiten Summenwert hat, festgelegt zu ["0" – (einem unteren Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis von jedem Eingangswert und das entsprechende Synapsengewicht positiv ist, oder [(einem Gesamtwert von Teilprodukten sämtlicher Bits eines Absolutwertabschnitts des entsprechenden Synapsengewichts und jedes Bits von jedem Eingangswert, umgesetzt in 1-er Komplementärausdrücke, in denen diejenigen Teilprodukte entsprechend dem Bitwert "1" in jedem Eingangswert so festgelegt sind, dass sie vollständig aus "0" bestehen, mit Ausnahme des signifikantesten Bits) – (dem oberen Grenzwert des Übergangsgebiets)], wenn das Synapsen-Berechnungsergebnis für jeden Eingangswert und das entsprechende Synapsengewicht negativ ist; (a33)Addieren von "1" und einem spezifizierten Bit von einem der ersten und zweiten Summenwerte, Registrieren der Registervorrichtung durch einen Ein-Bit-Addierer, und Aktualisieren des spezifizierten Bits von dem einen des ersten und zweiten Summenwerts in der Registervorrichtung um ein Additionsergebnis gemäß dem Produkt, erhalten durch den Ein-Bit-Multiplizierer, derart, dass der Ein-Bit-Addierer auf dem ersten Summenwert dann arbeitet, wenn das Produkt ein positives Vorzeichen hat und das spezifizierte Bit von dem Produkt einen Bitwert "0" hat oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1" hat, während der Ein-Bit-Addierer auf dem zweiten Summenwert dann arbeitet, wenn das Produkt ein positives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "1" hat oder wenn das Produkt ein negatives Vorzeichen hat und das spezifizierte Bit des Produkts einen Bitwert "0" hat; und (a34)Steuern des Ein-Bit-Addierers derart, dass der Ein-Bit-Addierer eine Addition jedes Teilsynapsen-Berechnungsergebnisses für das jeweils eine Bit jedes Eingangswerts und das jeweils eine Bit des entsprechenden Synapsengewichts, erforderlich in der Synapsen-Berechnung, ausführt, sowie eine Berechnung zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen, erforderlich in der Summenberechnung für den ersten und zweiten Summenwert; und wobei der Schritt (c) bewertet, dass jeder von den bei dem ersten und zweiten Schritt erhaltenen Summenwert ein Sättigungsgebiet erreicht hat, wenn eine Anforderung für einen Übertrag einer Ziffer von einem der signifikantesten Bits des ersten und zweiten Summenwerts auftritt.
  34. Verarbeitungsverfahren unter Verwendung eines neuronalen Netzsystems, enthaltend die Schritte: a) unabhängiges Betreiben einer Vielzahl von Neuronennetzschaltungen im Hinblick zueinander, durch Betreiben jedes Neuronennetzschaltung, die eine Vielzahl von Eingangswerten empfängt, die positiv oder negativ sein können, und einen Ausgangswert ausgeben, gemäß den Schritten: a1) Ausführen einer Synapsen-Berechnung für jeden Eingangswert und dem entsprechenden Synapsengewicht von jedem Eingangswert, ausgedrückt durch binäre Bitsequenzen, unter Verwendung sämtlicher Bits bei jedem Eingangswert und jeweils einem Bit des entsprechenden Synapsengewichts, sequentiell spezifiziert ausgehend von oberen Bits, zum Erhalten eines Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit, und Addieren jedes Teilsynapsen-Berechnungsergebnis für das jeweils eine Bit mit vorangehenden Teilsynapsen-Berechnungsergebnissen für obere Bits des jeweils einen Bits, wobei die Synapsengewichte einen positiven oder negativen Wert haben können, und einer Summenberechnung zum sequentiellen Summieren von Synapsen-Berechnungsergebnissen für die Eingangswerte zum Erhalten eines monoton zunehmenden oder abnehmenden Summenwerts, der positiv oder negativ sein kann; a2) Anwenden einer vorgegebenen nichtlinearen Übertragungsfunktion auf den Summenwert, erhalten bei den Schritten a1), zum Bestimmen des Ausgangswerts; a3) Bewerten, ob der bei dem Schritt a1) erhaltene Summenwert entweder ein positives oder negatives Sättigungsgebiet der Übertragungsfunktion, angewandt bei den Schritten a2), erreicht; und a4) Steuern des Schritts a1) zum sequentiellen Ausführen der Synapsenberechnung, ausgehend vom oberen Bit des entsprechenden Synapsengewichts, und zum Stoppen der Synapsenberechnung und der Summenberechnung immer dann, wenn der Schritt a3) bewertet, dass der bei dem Schritt a1) erhaltene Summenwert entweder das positive oder das negative Sättigungsgebiet erreicht; und b) sequentielles Zuführen der Vielzahl der Eingangswerte zu jeder Neuronennetzschaltung derart, dass ein identischer der Vielzahl der Eingangswerte zu sämtlichen der Vielzahl der Neuronennetzschaltungen gleichzeitig zugeführt wird.
DE69531418T 1994-01-19 1995-01-18 Neuronales netzwerk mit reduzierter Berechnungsmenge Expired - Fee Related DE69531418T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP6003885A JPH07210617A (ja) 1994-01-19 1994-01-19 ニューラルネットワーク回路および本回路を用いた演算方法
JP404394 1994-01-19
JP388594 1994-01-19
JP6004043A JPH07210533A (ja) 1994-01-19 1994-01-19 ニューラルネットワーク回路及びこれを用いた演算方法
JP16564194 1994-07-18
JP6165641A JPH0830572A (ja) 1994-07-18 1994-07-18 ニューラルネットワーク回路及びこれを用いた演算方法

Publications (2)

Publication Number Publication Date
DE69531418D1 DE69531418D1 (de) 2003-09-11
DE69531418T2 true DE69531418T2 (de) 2004-07-08

Family

ID=27276023

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69531418T Expired - Fee Related DE69531418T2 (de) 1994-01-19 1995-01-18 Neuronales netzwerk mit reduzierter Berechnungsmenge

Country Status (4)

Country Link
US (1) US5630024A (de)
EP (2) EP1033660A1 (de)
KR (1) KR0168975B1 (de)
DE (1) DE69531418T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0814636A1 (de) * 1996-06-21 1997-12-29 Siemens Audiologische Technik GmbH Hörgerät
RU2131145C1 (ru) * 1998-06-16 1999-05-27 Закрытое акционерное общество Научно-технический центр "Модуль" Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор
FI20002853A (fi) 2000-12-22 2002-06-23 Nokia Corp Keinotekoisen assosiatiivisen neuronin synapsi
US20150278680A1 (en) * 2014-03-26 2015-10-01 Qualcomm Incorporated Training, recognition, and generation in a spiking deep belief network (dbn)
US20150286925A1 (en) * 2014-04-08 2015-10-08 Qualcomm Incorporated Modulating plasticity by global scalar values in a spiking neural network
CN106056212B (zh) * 2016-05-25 2018-11-23 清华大学 一种人工神经网络计算核
KR102120396B1 (ko) * 2016-05-26 2020-06-08 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 심층 신경망용 가속기
JP6556768B2 (ja) * 2017-01-25 2019-08-07 株式会社東芝 積和演算器、ネットワークユニットおよびネットワーク装置
CN110383282A (zh) * 2017-02-07 2019-10-25 密执安州立大学董事会 用于混合信号计算的系统和方法
WO2018192500A1 (zh) * 2017-04-19 2018-10-25 上海寒武纪信息科技有限公司 处理装置和处理方法
US11256978B2 (en) 2017-07-14 2022-02-22 Intel Corporation Hyperbolic functions for machine learning acceleration
US11630997B2 (en) 2018-01-23 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus with bit-serial data processing of a neural network
KR102618546B1 (ko) * 2018-09-03 2023-12-27 삼성전자주식회사 2차원 어레이 기반 뉴로모픽 프로세서 및 그 동작 방법
KR102650660B1 (ko) * 2018-09-03 2024-03-25 삼성전자주식회사 뉴로모픽 장치 및 뉴로모픽 장치에서 멀티-비트 뉴로모픽 연산을 처리하는 방법
KR20200072308A (ko) * 2018-12-12 2020-06-22 삼성전자주식회사 뉴럴 네트워크에서 컨볼루션 연산을 수행하는 방법 및 장치
KR102703432B1 (ko) * 2018-12-31 2024-09-06 삼성전자주식회사 메모리 장치를 이용한 계산 방법 및 이를 수행하는 메모리 장치
KR20200094534A (ko) * 2019-01-30 2020-08-07 삼성전자주식회사 뉴럴 네트워크 장치 및 뉴럴 네트워크 장치에서 멀티-비트 연산을 처리하는 방법
KR20210083428A (ko) 2019-12-26 2021-07-07 삼성전자주식회사 메모리 장치, 및 이를 포함하는 전자 기기

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943931A (en) * 1988-05-02 1990-07-24 Trw Inc. Digital artificial neural processor
DE58906476D1 (de) * 1988-07-05 1994-02-03 Siemens Ag In integrierter Schaltungstechnik ausgeführtes digitales neuronales Netz.
US5481646A (en) * 1989-07-12 1996-01-02 Ricoh Company, Ltd. Neuron unit and neuron unit network
US5324991A (en) * 1989-07-12 1994-06-28 Ricoh Company, Ltd. Neuron unit and neuron unit network
US5131073A (en) * 1989-07-12 1992-07-14 Ricoh Company, Ltd. Neuron unit and neuron unit network
JP2565791B2 (ja) * 1990-04-19 1996-12-18 富士写真フイルム株式会社 多層型ニューラルネットワークの係数格納装置
KR950001601B1 (ko) * 1990-07-09 1995-02-27 니폰 덴신 덴와 가부시끼가시야 뉴-럴 네트워크 회로
US5208900A (en) * 1990-10-22 1993-05-04 Motorola, Inc. Digital neural network computation ring
JPH056356A (ja) * 1990-11-20 1993-01-14 Ricoh Co Ltd 信号処理方法及びその装置
JP2760170B2 (ja) * 1990-11-29 1998-05-28 松下電器産業株式会社 学習機械
FR2681709B1 (fr) * 1991-09-20 1993-11-05 Thomson Csf Procede de connexion interne pour reseaux de neurones.
US5440671A (en) * 1992-07-30 1995-08-08 Olympus Optical Co., Ltd. Neural net model and neural net optimizing method and system for realizing the same
KR0178805B1 (ko) * 1992-08-27 1999-05-15 정호선 스스로 학습이 가능한 다층 신경회로망 및 학습 방법
US5350953A (en) * 1993-05-28 1994-09-27 Swenson Richard M Digitally weighted neuron for artificial neural network
US5473731A (en) * 1993-07-20 1995-12-05 Intel Corporation Lattice based dynamic programming classification system
US5473730A (en) * 1993-11-09 1995-12-05 At&T Ipm Corp. High efficiency learning network

Also Published As

Publication number Publication date
EP0664516A2 (de) 1995-07-26
EP0664516B1 (de) 2003-08-06
US5630024A (en) 1997-05-13
KR950024084A (ko) 1995-08-21
DE69531418D1 (de) 2003-09-11
EP1033660A1 (de) 2000-09-06
KR0168975B1 (ko) 1999-01-15
EP0664516A3 (de) 1995-12-20

Similar Documents

Publication Publication Date Title
DE69531418T2 (de) Neuronales netzwerk mit reduzierter Berechnungsmenge
DE19581638C2 (de) Rechenvorrichtung mit einem Mikroprozessor, einem neuralen Netz-Koprozessor und einer DMA-Steuervorrichtung
DE68924822T2 (de) Signalverarbeitungssystem und Lernverarbeitungssystem.
DE3700991C2 (de) Digitaler Übertragsvorgriffsaddierer
DE68927014T2 (de) Assoziatives Musterkonversionssystem und Anpassungsverfahren dafür
DE69300041T2 (de) Mehrfachprozessor-Datenverarbeitungssystem.
DE68922624T2 (de) Verteiltes parallelverarbeitungsnetzwerk, worin die verbindungsgewichte mit hilfe von starren differentialgleichungen erzeugt werden.
DE68928612T2 (de) Verfahren zur bestimmung der inferenzregel sowie inferenzmotor
DE3883192T2 (de) Neuronale Netzwerkschaltung und -struktur.
DE68925156T2 (de) Integrierte Halbleiterschaltung für neurales Netzwerk
DE69030778T2 (de) Ein Lernsystem in einem neuronalen Rechner
DE69119172T2 (de) Neuronalnetzwerkschaltung
DE2934971A1 (de) Datenverarbeitungssystem
WO2013170843A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes
DE3036747A1 (de) Binaere multiplikationszellenschaltung
DE3927009A1 (de) Addierschaltung
DE68925625T2 (de) Verfahren zur Rückführung von Fehlern und neuronale Netzstruktur
DE102022100920A1 (de) Compute-in-memory-akkumulator
DE69434806T2 (de) Verfahren, System und Vorrichtung zum automatischen Entwurf einer Multiplikatorschaltung und durch die Durchführung dieses Verfahrens entworfene Multiplikatorschaltung
DE69424372T2 (de) Hocheffizientes Lernnetzwerk
DE69519448T2 (de) Digitale Verarbeitungsanlage mit Befehlen zum Suchen des Minimums und Maximums
DE69501581T2 (de) Verfahren zum Erzeugen eines Fehlerkorrekturparameters in Verbindung mit der Verwendung von modularen Operationen nach der Montgomery-Methode
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE112021006459T5 (de) Dynamische konfiguration einer auslese-schaltungsanordnung für verschiedene operationen in einem analogen resistiven kreuzschienen-array
DE69126052T2 (de) Neuronales Netzwerk

Legal Events

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