PatentDe  


Dokumentenidentifikation DE4239308A1 29.07.1993
Titel Vorrichtung zum Ausdrücken eines Neuronalen Netzes
Anmelder Mitsubishi Denki K.K., Tokio/Tokyo, JP
Erfinder Arima, Yutaka, Itami, Hyogo, JP
Vertreter Prüfer, L., Dipl.-Phys.; Materne, J., Dipl.-Phys.Dr.rer.nat.habil., Pat.-Anwälte, 8000 München
DE-Anmeldedatum 23.11.1992
DE-Aktenzeichen 4239308
Offenlegungstag 29.07.1993
Veröffentlichungstag im Patentblatt 29.07.1993
IPC-Hauptklasse G06J 1/00
Zusammenfassung Eine selbstorganisierbare Neuronetzeinheit (501) weist eine Mehrzahl von Neuroneneinheiten (601-603), die elektronisch Nervenzellenkörper ausdrücken, eine Mehrzahl von Synapseneinheiten (701-709), die elektronisch Synapsen ausdrücken, zum Koppeln von Neuroneneinheiten über programmierte Kopplungsstärken, die durch Synapsengewichtungswerte dargestellt werden, und eine Steuerschaltung (502) zum Zuführen eines Musters von Zufallszahlen als Lerndaten auf. Wenn das Zufallszahlenmuster erzeugt wird, führt die Neuronetzeinheit eine Korrektur der Synapsengewichtungswerte wie in einem Lernmodus aus, wobei das Zufallszahlenmuster als Lernmuster benutzt wird. Die gespeicherten inneren Zustände der Neuronetzeinheit werden auf der Basis einer verschwindenden Erinnerung verstärkt, und die Synapsengewichtungswerte werden für eine lange Zeit genau gehalten. Das führt zu einer zuverlässigen Neuronetzeinheit.

Beschreibung[de]

Die Erfindung betrifft eine Halbleitervorrichtung zur Bildung eines Neuronalen Netzes nach dem Oberbegriff des Anspruches 1 und ein Verfahren nach dem Oberbegriff des Anspruches 16 oder 22. Die Erfindung betrifft insbesondere eine Halbleitervorrichtung zur Bildung eines Neuronalen Netzes, das ein Neuronales Netz elektronisch ausdrückt. Die Erfindung betrifft genauer eine Struktur zum stabilen Halten der Synapsengewichtungswertinformation von Synapsenschaltungen, die Synapsen zum Koppeln von Neuronen über vorbestimmte Kopplungsstärken bilden. Die vorliegende Erfindung betrifft genauer gesagt eine Struktur zum Auffrischen der Synapsengewichtungswertinformation von Synapsenschaltungen, die Synapsengewichtungswertinformation in der Form elektrischer Ladungen speichern, um dadurch die Synapsengewichtungswerte in analoger Weise auszudrücken.

Unter verschiedenen Rechenverfahren, die lebende Zellen (Neuronen) modellieren, gibt es eine parallele Informationsverarbeitungsmaschine, die als Boltzmann-Maschine bezeichnet wird. Die Boltzmann-Maschine, 1985 vorgeschlagen von D. H. Ackley et al., ist eine Art eines mathematischen Modells, das ein Neuronales Netz ausdrückt, das durch stochastische Übergänge der Neuronenzustände charakterisiert ist. Wenn die Kopplungsstärke (im weiteren als Synapsengewichtung bezeichnet) Wij zwischen Neuronen i und j symmetrisch (Wij = Wji) ohne Selbstkopplung (Wii = 0) ist, wird die stationäre Verteilung p(z) des Systems (Neuronalen Netzes) durch die folgende Boltzmann-Verteilung gegeben, vorausgesetzt, daß ein die Temperatur des Systems ausdrückender Parameter T einen endlichen Wert aufweist:

p(z) = c * exp(-(U(z)/T)

worin U(z) die Potentialfunktion des Systems, z den von den Neuronen im System eingenommenen Zustand und C einen Normierungskoeffizienten darstellen.

Mit der Einführung der oben erwähnten Wahrscheinlichkeit hinsichtlich der Bestimmung der Neuronenzustände wird erwartet, daß das Neuronale Netz nicht von lokalen Minima der Zustandsenergie gefangen wird, sondern auf ein globales Minimum hin konvergiert. Mit anderen Worten wird erwartet, daß eine Lösung gefunden werden kann, die am wahrscheinlichsten ist. Die Boltzmann-Maschine, die zum Lösen eines komplizierten Kostenproblems, nicht-algorithmischer Probleme, wie z. B. Mustererkennung, und assoziativer Speicher geeignet ist, steht im Gegensatz zu einer Turing-Maschine, die zum Lösen von Problemen Algorithmen erfordert.

Im Zusammenhang mit einer Vorrichtung, die eine solche Boltzmann- Maschine effizient ausdrücken kann, sind bereits mehrere Versuche unternommen worden, um ein stark paralleles Verarbeitungssystem zu implementieren, das ein Neuronales Netz durch eine integrierte Halbleiterschaltung modelliert. Bevor Struktur und Betrieb einer solchen integrierten Halbleitereinrichtung für ein Neuronales Netz (im weiteren als Neuronetz-Halbleitereinrichtung bezeichnet) diskutiert werden, wird nun kurz das Arbeitsprinzip der Boltzmann- Maschine beschrieben.

Fig. 29 zeigt die Struktur und das Arbeitsprinzip eines allgemeinen Neuronenmodells. Wie in Fig. 29 gezeigt ist, weist eine Neuroneneinheit i einen Eingangsabschnitt A, der Ausgangssignale (Zustandssignale) Sk, Sj und Sm von anderen Einheiten k, j und m empfängt, einen Umwandlungsabschnitt B, der die vom Eingangsabschnitt A empfangenen Signale in Übereinstimmung mit einer vorbestimmten Regel umwandelt, und einen Ausgangsabschnitt C, der ein vom Umwandlungsabschnitt empfangenes Signal ausgibt, auf.

Der Eingangsabschnitt A weist hinsichtlich der Neuroneneinheiten k, j und m vorbestimmte Synapsengewichtungen W auf (Synapsengewichtungen werden im folgenden allgemein mit dem Symbol W bezeichnet). Zum Beispiel wird im Eingangsabschnitt A das Ausgangssignal Sk von der Neuroneneinheit k mit einer Synapsengewichtung Wik in Wik * Sk umgewandelt und zum Umwandlungsabschnitt B übertragen.

Der Umwandlungsabschnitt B feuert, wenn die Gesamtsumme der vom Eingangsabschnitt A empfangenen Signale eine bestimmte Bedingung erfüllt, und überträgt ein Signal an den Ausgangsabschnitt C. In einer solchen Neuroneneinheit, die eine lebende Zelle modelliert, entspricht der Eingangsabschnitt A einem Dendrit und der Umwandlungsabschnitt B dem Körper einer Nervenzelle, während der Ausgangsabschnitt C einem Axon entspricht.

Bei diesem Neuronenmodell wird angenommen, daß jede Neuroneneinheit zwei Zustände Si=0 (nicht-feuernder Zustand) und Si=1 (feuernder Zustand) annehmen kann. Jede Neuroneneinheit aktualisiert ihren Zustand in Abhängigkeit von den empfangenen Eingangssignalen. Das Gesamteingangssignal der Neuroneneinheit i ist folgendermaßen definiert:

Ui = ΣWij * Sj + Wii.

Diese Gesamtsumme Σ wird für j erhalten. Es wird hier eine symmetrische Synapsenkopplung Wij=Wji angenommen, während -Wii dem Schwellenwert der Neuroneneinheit i entspricht. In Fig. 29 ist angenommen, daß dieser Schwellenwert gleich null ist.

Die Zustände der Neuroneneinheiten werden stochastisch und zwischen den Einheiten asynchron aktualisiert. Wenn die Neuroneneinheit i ihren Zustand aktualisiert, ist der neue Zustand mit der folgenden Wahrscheinlichkeit p(Si=1) der Zustand 1:

p(Si=1) = 1/(1+exp(-Ui/T))

worin T einen Parameter darstellt, der ähnlich wie die Temperatur in einem physikalischen System wirkt und einen positiven Wert annimmt. Dieser Parameter wird im allgemeinen als "Temperatur" bezeichnet.

Fig. 30 zeigt die Beziehung zwischen der Gesamtsumme Ui der Eingangssignale und der Wahrscheinlichkeit p(Si=1) für verschiedene Temperaturen T. Wie aus Fig. 30 ersichtlich ist, nimmt die Neuroneneinheit i entweder "0" oder "1" mit einer Wahrscheinlichkeit von 1/2 statistisch an, wenn die Temperatur T hoch ist. Wenn die Temperatur T andererseits ungefähr gleich null ist, folgt die Neuroneneinheit i im wesentlichen entscheidungstheoretisch einer Schwellenlogik, bei der der Zustand gleich "1" ist, wenn die Gesamtsumme der Eingangssignale einen vorbestimmten Schwellenwert überschreitet.

Der Zustand der Boltzmann-Maschine zu einem bestimmten Zeitpunkt wird durch Kombination von EIN (feuernde Zustände: S=1) und AUS (nicht-feuernde Zustände: S=0) aller Einheiten ausgedrückt, wobei S allgemein die Ausgangssignale der Neuroneneinheiten darstellt. Ein System, das in einem bestimmten Zustand ist, weist eine Energie E auf, die folgendermaßen definiert ist:

E = -ΣWij * Si * Sj.

Die Gesamtsumme Σ wird für alle Indizes i und j ausgeführt, die die Relation i<j erfüllen. In der oben angeführten Gleichung wird angenommen, daß der Schwellenwert der jeweiligen Neuroneneinheit gleich null ist. Ein solcher Zustand wird durch Bilden einer Einheit implementiert, die normalerweise für jede Neuroneneinheit in einem EIN-Zustand ist (S=1), und deren Kopplungsstärke gleich dem Schwellenwert jeder zugehörigen Einheit mit umgekehrtem Vorzeichen ist.

Wenn die jeweiligen Neuroneneinheiten den Betrieb beginnend mit beliebigen Anfangszuständen fortsetzen, nähert sich die Boltzmann- Maschine einem stochastischen Gleichgewichtszustand an, der durch die Synapsengewichtungen W der jeweiligen Neuroneneinheiten bestimmt wird. Wie oben beschrieben worden ist, nimmt die Boltzmann-Maschine einen Zustand α mit der folgenden Wahrscheinlichkeit P(α) an:

P(α) = C * exp(-Eα/T),

worin Eα die Energie des Neuronalen Netzes im Zustand α angibt.

In einer solchen Boltzmann-Maschine wird ein Verfahren mit der Bezeichnung simuliertes Glühen (Simulated Annealing) benutzt, um das globale Energieminimum zu erreichen. Die relative Wahrscheinlichkeit von zwei globalen Zuständen α und β wird folgendermaßen ausgedrückt:



P(α)/P(β) = exp(-(Eα-Eβ)/T).

Der Zustand minimaler Energie hat bei einer beliebigen Temperatur die höchste Wahrscheinlichkeit. Im allgemeinen dauert es lange, um den thermischen Gleichgewichtszustand zu erreichen, und daher wird es als bevorzugt angesehen, das Glühen von einer hohen Temperatur aus zu starten und die Temperatur allmählich zu reduzieren. Im allgemeinen ist dieser Zustandsübergang ähnlich einem Zustand, bei dem jedes Kristallatom eines Kristallgitters in eine Position gebracht wird, die den Zustand minimaler Energie bei einer gegebenen Temperatur liefert.

In der Boltzmann-Maschine ist es notwendig, solche Gewichte zu finden, d. h. Synapsengewichtungen W, daß das Netz selbst eine Wahrscheinlichkeitsverteilung von Eingangs-/Ausgangsdaten implementieren kann, die so korrekt wie möglich ist, ohne daß eine solche Verteilung extern geliefert wird. Im allgemeinen wird die Grundgleichung einer Lernregel, die zum Einstellen solcher Synapsengewichtungen W verwendet wird, folgendermaßen ausgedrückt:

ΔWij = η * (p&spplus;ij3-p-ij) (1)

worin η einen Koeffizienten darstellt, der den Umfang der Korrektur der Synapsengewichtung W in einem einzelnen Lernzyklus angibt und positiv ist, p&spplus;ij einen solchen Erwartungswert darstellt, daß die Zustände beider Neuroneneinheiten i und j gleich "1" sind (feuernder Zustand), wenn das Neuronale Netz von einer extern zugeführten Lerninformation getrieben wird, um einen Gleichgewichtszustand zu erreichen, und p&supmin;ij einen solchen Erwartungswert darstellt, daß die Zustände beider Neuroneneinheiten i und j gleich "1" sind, wenn keine Lerninformation extern zugeführt wird.

In der oben angeführten Gleichung (1) gibt der Term p&spplus;ij an, daß die Verbindung zwischen den zugehörigen Neuroneneinheiten i und j verstärkt wird, wenn beide aktiviert werden. Das entspricht einem verstärkten Lernvorgang der Synapsenkopplung, die als Hebbsche Lernregel bezeichnet wird.

Andererseits gibt der Term p&supmin;ij an, daß die Verbindung (Synapsengewichtung Wij) zwischen den zugehörigen Neuroneneinheiten i und j abgeschwächt (reduziert) wird, wenn beide ohne externes Ausgangssignal aktiviert werden. Das wird allgemein als Antilernen bezeichnet. Ein Lernalgorithmus in der Boltzmann-Maschine wird nun kurz beschrieben.

Der Lernalgorithmus in der Boltzmann-Maschine weist einen Vorgang 1 (Plus- (+) Phase), einen Vorgang 2 (Minus- (-) Phase) und einen Vorgang 3 auf.

(I) Vorgang 1 (Plus-Phase)

Zustände von Eingangseinheiten und Ausgangseinheiten (sichtbare Einheiten) werden auf vorbestimmten Mustern, die durch Eingangsdaten und Ausgangsdaten (Lerndaten) dargestellt werden, entsprechend den Mustererscheinungswahrscheinlichkeiten fixiert. Der Vorgang 1 weist (a) einen Glühvorgang, (b) einen Datensammlungsprozeß und (c) einen Prozeß zur Erhaltung von p&spplus;ij auf. Im Glühvorgang (a) werden die Zustände der jeweiligen Einheiten entsprechend jeweiligen Temperaturen T geändert, die den folgenden Gleichungen (2) und (3) gehorchen:

ΔEi = ΣWij * Sj (2),

Pi = 1/(1+exp(-ΔEi/T)) (3)

In der Gleichung (2) wird die Gesamtsumme Σ für den Index j ermittelt. Diese Gleichung (2) liefert eine Energielücke zwischen Zuständen Si entsprechend "0" und "1" der Einheit i bei der Energie E des gesamten Neuronalen Netzes.

Die Gleichung (3) liefert eine solche Wahrscheinlichkeit, daß die Einheit i einen neuen Zustand Si entsprechend "1" annimmt, wenn diese Energielücke auftritt. Im oben angeführten Prozeß (a) wird die Temperatur T, mit der bei einem hohen Wert begonnen wird, schrittweise vermindert. Wenn die Temperatur T vollständig auf einen niedrigen Wert vermindert worden ist und eine vorbestimmte Glühprozedur abgeschlossen ist, wird angenommen, daß sich das Neuronale Netz in einem Zustand relativ geringer Energie befindet, um einen thermischen Gleichgewichtszustand zu erreichen.

Der Datensammlungsprozeß (b) ergibt eine solche Anzahl, daß jeweilige Zustände S von Einheiten, die miteinander gekoppelt sind, gleich "1" sind, nachdem der Glühvorgang (a) eine vorbestimmte Anzahl mal wiederholt worden ist.

Der Prozeß (c) zur Erhaltung von p&spplus;ij wird ausgeführt, um einen Mittelwert von Daten, die im Prozeß (b) erhalten wurden, zu bekommen, nachdem der Glühvorgang (a) und der Datensammlungsprozeß (b) entsprechend einem Lernmuster eine vorbestimmte Anzahl mal wiederholt worden sind, um anzunehmen, daß der Mittelwert gleich p&spplus;ij ist.

(II) Vorgang 2 (Minus-Phase)

Der Vorgang 2 (Minus-Phase) weist in ähnlicher Weise einen Glühvorgang (a), einen Datensammlungsprozeß (b) und einen Prozeß zur Erhaltung von p&supmin;ij auf. Die Prozesse (a), (b) und (c) beim Vorgang 2 sind ähnlich denen beim Vorgang 1 (Plus-Phase). Beim Vorgang 2 (Minus-Phase) werden jedoch nur Zustände von Einheiten (Eingangseinheiten), die Eingangsdaten empfangen, entsprechend den Erscheinungswahrscheinlichkeiten von Lerndaten festgehalten. Beim Vorgang 2 werden die Prozesse (a), (b) und (c) so wiederholt, daß ein anschließend im Prozeß (c) erhaltener Mittelwert ähnlich wie beim Vorgang 1 als p&supmin;ij angenommen wird.

Im Vorgang 3 wird die Synapsengewichtung Wij entsprechend dem folgenden relationalen Ausdruck mit den erhaltenen Mittelwerten p&spplus;ij und p&supmin;ij geändert:

ΔWij = η * (p&spplus;ij - p&supmin;ij) (4)

Der Umfang einer Einzeländerung der Synapsengewichtung wird durch einen Koeffizienten η festgelegt, der eine positive Konstante darstellt. Wie sich aus dem oben angeführten Ausdruck (4) ergibt, wird der Umfang einer Änderung der Synapsengewichtung Wij nur von den Zuständen der zwei Einheiten (zugeordneten Einheiten) i und j bestimmt, die miteinander gekoppelt sind. Das letztendliche Ziel des Lernvorgangs ist es, daß der Umfang ΔWij der Änderung, der durch den Ausdruck (4) ausgedrückt wird, auf einen möglichst kleinen Wert konvergiert, idealerweise also auf null.

Es sind verschiedene Vorrichtungen im Zusammenhang mit einem Neuronalen Netz vorgeschlagen worden (als Boltzmann-Maschine bezeichnet), die die oben angeführte Lernfunktion aufweisen und durch eine elektronische Halbleiterschaltung implementiert werden. Die Erfinder et al. haben bereits eine integrierte Neuronetz- Halbleiterschaltung mit einer Struktur vorgeschlagen, die sowohl zur Integration geeignet ist als auch einen Hochgeschwindigkeitsbetrieb und eine hohe Lerneffizienz aufweist (siehe JP 1-1 21 916 (1989)).

Die vorliegende Erfindung zielt in erster Linie darauf, die Leistungsfähigkeit der vom Erfinder et al. vorgeschlagenen integrierten Neuronetz-Halbleiterschaltung weiter zu verbessern, während die allgemeine Aufgabe der vorliegenden Erfindung nicht darauf beschränkt ist. Um das Verständnis von Struktur und Betrieb der später im Detail beschriebenen erfindungsgemäßen Neuronetzvorrichtung besser zu verstehen, wird nun die integrierte Neuronetz-Halbleiterschaltung, die vom Erfinder et al. vorgeschlagen worden ist, etwas detaillierter beschrieben.

Fig. 31 zeigt eine beispielhafte Gesamtstruktur einer integrierten Neuronetz-Halbleiterschaltung, die vom Erfinder et al. vorgeschlagen wurde. Die in Fig. 31 gezeigte integrierte Schaltungseinrichtung implementiert als Beispiel ein Neuronales Netz mit fünf Neuronen.

Wie in Fig. 31 dargestellt ist, weist die integrierte Neuronetz- Schaltungseinrichtung eine Spalte von fünf Neuroneneinheiten NU1, NU2, NU3, NU4 und NU5 sowie Synapsenschaltungen SY1 bis SY10, die im wesentlichen in der Form eines rechtwinkligen Dreiecks angeordnet sind, auf. Jeweilige Eingangsabschnitte der Neuroneneinheiten NU1 bis NU5 sind mit Dendritsignalleitungen DE1, DE2, DE3, DE4 bzw. DE5 verbunden.

Die jeweiligen Neuroneneinheiten NU1 bis NU5 vergleichen Signale auf den zugehörigen Dendritsignalleitungen DE1 bis DE5 mit darin enthaltener Glühinformation (Schwellenwerten), um auf der Basis der Vergleichsergebnisse Zustandssignale S1 bis S5 der Werte "1" oder "0" zu erzeugen.

Die integrierte Neuronetz-Schaltungseinrichtung weist ferner Axonsignalleitungen AX1, AX2, AX3, AX4 und AX5 auf, die Zustandssignale SI1, SI2, SI3, SI4 bzw. SI5 übertragen. Die Zustandssignale SI1 bis SI5 können extern zugeführte Eingangsdaten oder Ausgangssignale von Neuroneneinheiten, d. h. von einer anderen Schicht übergebene Zustandssignale, sein.

Jede der Synapsenschaltungen SY1 bis SY10 überträgt ein Signal W * S, das durch Gewichten des Zustandssignals SI (das Symbol SI bezeichnet die Zustandssignale SI1 bis SI5) von der zugehörigen Axonsignalleitung AX (das Symbol AX bezeichnet die Zustandssignale AX1 bis AX5) mit einer darin gespeicherten Synapsengewichtung W erhalten wird, an die entsprechende Dendritsignalleitung DE (das Symbol DE bezeichnet die Dendritsignalleitungen DE1 bis DE5). In der Boltzmann-Maschine, die das Model dieser integrierten Neuronetz- Halbleiterschaltung ist, ist die Synapsengewichtung W symmetrisch, so daß Wij=Wji gilt. Damit liefert jede Synapsenschaltung SY (das Symbol SY bezeichnet die Synapsenschaltungen SY1 bis SY10) zwei Synapsengewichtungen.

Die Axonsignalleitung AX1 ist mit ersten Axonsignal- Eingangsanschlüssen der Synapsenschaltungen SY1, SY2, SY3 und SY4 verbunden. Die Axonsignalleitung AX2 ist mit einem zweiten Axonsignal-Eingangsanschluß der Synapsenschaltung SY1 und ersten Axonsignal-Eingangsanschlüssen der Synapsenschaltungen SY5, SY6 und SY7 verbunden. Die Axonsignalleitung AX3 ist mit jeweiligen zweiten Axonsignal-Eingangsanschlüssen der Synapsenschaltungen SY2 und SY5 und jeweiligen ersten Axonsignal-Eingangsanschlüssen der Synapsenschaltungen SY8 und SY9 verbunden. Die Axonsignalleitung AX4 ist mit jeweiligen zweiten Axonsignal-Eingangsanschlüssen der Synapsenschaltungen SY3, SY6 und SY8 und einem ersten Axonsignal- Eingangsanschluß der Synapsenschaltung SY10 verbunden. Die Axonsignalleitung AX5 ist mit jeweiligen zweiten Axonsignal- Eingangsanschlüssen der Synapsenschaltungen SY4, SY7, SY9 und SY10 verbunden.

Die Dendritsignalleitung DE1 summiert Ausgangssignale von den jeweiligen ersten Dendritsignal-Ausgangsanschlüssen der Synapsenschaltungen SY1, SY2, SY3 und SY4 auf und überträgt das Ergebnis an die Neuroneneinheit NU1. Die Dendritsignalleitung DE2 summiert ein Ausgangssignal von einem zweiten Dendritsignal- Ausgangsanschluß der Synapsenschaltung SY1 und die Ausgangssignale von den jeweiligen ersten Dendritsignal-Ausgangsanschlüssen der Synapsenschaltungen SY5, SY6 und SY7 auf und überträgt das Ergebnis an die Neuroneneinheit NU2. Die Dendritsignalleitung DE3 summiert Ausgangssignale von jeweiligen zweiten Dendritsignal- Ausgangsanschlüssen der Synapsenschaltung SY2 und SY5 und die Ausgangssignale von den jeweiligen ersten Dendritsignal- Ausgangsanschlüssen der Synapsenschaltungen SY8 und SY9 auf und überträgt das Ergebnis an die Neuroneneinheit NU3.

Die Dendritsignalleitung DE4 summiert Ausgangssignale von jeweiligen zweiten Dendritsignal-Ausgangsanschlüssen der Synapsenschaltung SY3, SY6 und SY8 und das Ausgangssignal von einem ersten Dendritsignal- Ausgangsanschluß der Synapsenschaltungen SY10 auf und überträgt das Ergebnis an die Neuroneneinheit NU4. Die Dendritsignalleitung DE5 summiert Ausgangssignale von jeweiligen zweiten Dendritsignal- Ausgangsanschlüssen der Synapsenschaltung SY4, SY7, SY9 und SY10 auf und überträgt das Ergebnis an die Neuroneneinheit NU5. Die jeweiligen Neuroneneinheiten NU1 bis NU5 nehmen feuernde (S=1) oder nicht-feuernde (S=0) Zustände in Abhängigkeit von den Signalen ein, die über die entsprechenden Dendritsignalleitungen DE1 bis DE5 übertragen werden.

Fig. 32 zeigt ein Blockschaltbild, das schematisch die Struktur der in Fig. 31 gezeigten Synapsenschaltung SY darstellt. Wie in Fig. 32 gezeigt ist, weist die Synapsenschaltung SY eine Synapsengewichtungwert-Speicherschaltung 101, die eine Synapsengewichtungswertinformation speichert, eine Lernsteuerschaltung 110, die ein Synapsengewichtung-Korrektursignal in Abhängigkeit von zwei zugehörigen Zustandssignalen (Axonsignalen) Si und Sj in einem Lernmodus des Neuronalen Netzes erzeugt, eine Synapsengewichtung-Korrekturschaltung 103, die die in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherte Synapsengewichtungswertinformation in Abhängigkeit vom Synapsengewichtung-Korrektursignal korrigiert, eine Synapsenkopplungsschaltung 105, die das Zustandssignal Sj, das am zweiten Axonsignal-Eingangsanschluß empfangen wird, mit dem in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherten Synapsengewichtungswert gewichtet und das gewichtete Signal Wij * Sj zu einer Dendritsignalleitung DEj überträgt, und eine weitere Synapsenkopplungsschaltung 107, die den Synapsengewichtungswert, der in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert wird, mit dem Zustandssignal Si (Axonsignal), das dem ersten Axonsignal-Eingangsanschluß zugeführt wird, multipliziert, um ein Signal Wij * Si auf einer weiteren Dendritsignalleitung DEi zu erzeugen, auf.

Die von der Synapsenschaltung SY ausgedrückte Synapsengewichtung ist symmetrisch, so daß Wji = Wij gilt. Diese Synapsengewichtungswertinformation wird in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert. Die Synapsengewichtungswert-Speicherschaltung 101 weist einen Kondensator CA, der die Synapsengewichtungswertinformation in der Form elektrischer Ladungen speichert. Die im Kondensator CA gespeicherte Ladungsmenge ist kontinuierlich veränderbar, so daß der in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherte Synapsengewichtungswert in analoger Weise geändert werden kann.

Die Lernsteuerschaltung 110 weist einen Anschluß P, der ein Steuersignal Acp empfängt, das die Ausführung/Nicht-Ausführung des Lernens anzeigt, einen Anschluß C, der ein Signal C+/- empfängt, das die Lernphase angibt (Plus- oder Minus-Phase), einen Anschluß S1, der das Zustandssignal Si empfängt, einen weiteren Anschluß S2, der das andere Zustandssignal Sj empfängt, einen Anschluß Ip, der ein erstes Korrektursignal I zum Erhöhen des Synapsengewichtungswerts, der in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert ist, in Abhängigkeit von den Zustandssignalen Si und Sj im Lernmodus, und einen weiteren Anschluß Dp, der ein zweites Korrektursignal D zum Reduzieren des Synapsengewichtungswerts, der in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert ist, in Abhängigkeit von den Zustandssignalen Si und Sj im Lernmodus auf.

Die Synapsengewichtung-Korrekturschaltung 103 weist einen Anschluß V, der das erste Korrektursignal I empfängt, einen Anschluß L, der das zweite Korrektursignal D empfängt, und einen Ausgangsanschluß M, der ein Signal zum Einstellen des Synapsengewichtungswerts, der in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert ist, in Abhängigkeit von den an den Anschlüssen V und L empfangenen Korrektursignalen I und D erzeugt, auf.

Der in der Synapsengewichtungswert-Speicherschaltung 101 vorhandene Kondensator CA weist eine erste Elektrode, die mit einem Knoten N verbunden ist, und eine zweite Elektrode, die mit einem Referenzpotential V gekoppelt ist, auf. Die im Kondensator CA gespeicherte Ladungsmenge wird in Abhängigkeit vom Signal von der Synapsengewichtung-Korrekturschaltung 103 erhöht oder vermindert.

Jede der Synapsenkopplungsschaltungen 105 und 107, die in ihrer Struktur übereinstimmen, weist einen Zustandssignal-Eingangsanschluß Vs zum Empfangen des Zustandssignals S (Si oder Sj), einen Anschluß Vc zum Empfangen der Synapsengewichtungswertinformation, die in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert ist, und einen Anschluß Io zum Ausgeben eines Stroms (im weiteren als Gewichtungsstrom oder gewichteter Strom bezeichnet), der das Produkt aus Zustandssignal S und Synapsengewichtungswert angibt, auf.

Fig. 33 zeigt eine beispielhafte Struktur der Lernsteuerschaltung 110 von Fig. 32. Wie in Fig. 33 gezeigt ist, weist die Lernsteuerschaltung 110 eine Inverterschaltung G2, die das Lernphase-Bestimmungssignal C+/- empfängt, eine 2-Eingangs-NAND- Schaltung G3, die die Zustandssignale Si und Sj empfängt, die den Eingangsanschlüssen S1 und S2 zugeführt werden, eine 2-Eingangs-NOR- Schaltung G4, die das Lernsteuersignal Acp, das dem Anschluß P zugeführt wird, und die Ausgangssignale von der Inverterschaltung G2 und der NAND-Schaltung G3 empfängt, und eine weitere 2-Eingangs-NOR- Schaltung G5, die das Lernsteuersignal Acp, das Lernphase- Bestimmungssignal C+/- und ein Ausgangssignal von der NAND-Schaltung G3 empfängt, auf. Die NOR-Schaltung G4 erzeugt das erste Korrektursignal I am Anschluß Ip, während die NOR-Schaltung G5 das zweite Korrektursignal D am Anschluß Dp erzeugt. Nun wird der Betrieb dieser Lernsteuerschaltung 110 beschrieben.

In einem nicht-lernenden Modus ist das Steuersignal Acp auf einem hohen Potentialpegel fixiert. In diesem Fall sind beide Ausgangssignale der NOR-Schaltungen G4 und G5 unabhängig von den Logikzuständen der Zustandssignale Si und Sj, die an den Anschlüssen S1 bzw. S2 empfangen werden, auf niedrigen Potentialpegeln fixiert, und es werden keine Steuersignale I und D erzeugt. Der in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherte Synapsengewichtungswert wird in diesem Fall nicht korrigiert.

Beim Lernen wird ein Impuls mit einer konstanten Periode und einer konstanten Impulsbreite an den Anschluß P als Lernsteuersignal Acp angelegt. In diesem Fall werden die an den Anschlüssen Dp und Ip erzeugten Korrektursignale in Abhängigkeit vom Lernphase- Bestimmungssignal C+/-, das am Lernsteuereingang C empfangen wird, umgeschaltet.

In der Plus-Phase wird das Lernphase-Bestimmungssignal C+/- auf einen hohen Pegel gesetzt, so daß das Ausgangssignal D der NOR- Schaltung G5 auf einem niedrigen Pegel fixiert ist. Das erste Korrektursignal I, das von der NOR-Schaltung G4 zum Anschluß Ip übertragen wird, ist ein invertiertes Signal des Impulssignals Acp, weil das Ausgangssignal der NAND-Schaltung G3 nur dann auf einen niedrigen Pegel abfällt, wenn die Zustandssignale Si und Sj beide auf einem hohen Pegel sind (feuernder Zustand: S=1). Die Synapsengewichtung-Korrekturschaltung 103 erhöht den in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherten Synapsengewichtungswert entsprechend der Impulsanzahl des ersten Korrektursignals I (·Wji > 0).

In der Minus-Phase wird das Lernphase-Bestimmungssignal C+/- auf einen niedrigen Pegel gesetzt, so daß das Ausgangssignal I der NOR- Schaltung G4 auf einem niedrigen Pegel fixiert ist. Die NOR- Schaltung G5 wirkt in diesem Zustand als Inverterschaltung, weil das Ausgangssignal der NAND-Schaltung G3 nur dann auf einen niedrigen Pegel abfällt, wenn die Zustandssignale Si und Sj beide auf einem hohen Pegel sind, um ein invertiertes Signal des Impulssignals Acp als zweites Korrektursignal D zu erzeugen. Die Synapsengewichtung- Korrekturschaltung 103 vermindert den in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherten Synapsengewichtungswert in Abhängigkeit vom pulsierenden ersten Korrektursignal D (·Wji < 0). Die Lernsteuerschaltung 110 implementiert nämlich die folgende Lernregel:

ΔW&spplus;ji = η * Si * Sj

ΔW-ji = -η * Si * Sj

worin η der Anzahl von Impulsen entspricht, die dem Anschluß P zugeführt werden.

Die Zeichen des Korrekturumfangs ΔW und der Koeffizient η entsprechend den Lernphasen.

Das Steuersignal Acp und das Lernphase-Bestimmungssignal C+/-, die an den Anschlüssen P und C empfangen werden, werden von einer (nicht gezeigten) externen Steuerschaltung zugeführt. Die Lernsteuerschaltung 110 ist entsprechend der jeweiligen Synapsenschaltung gebildet, um den Synapsengewichtungswert entsprechend der Lernphase nur dann zu erhöhen oder zu vermindern, wenn die zugehörigen zwei Zustandssignale Si und Sj beide im feuernden Zustand sind.

Fig. 34 zeigt die Strukturen der Synapsenkopplungsschaltung 107, die das Dendritsignal Wji * Si aus dem ersten Zustandssignal Si erzeugt und in der Synapsenschaltung von Fig. 32 gebildet ist. Die andere Synapsenkopplungsschaltung 105 weist dieselbe Struktur wie die in Fig. 34 dargestellte Synapsenkopplungsschaltung 107 auf.

Wie in Fig. 34 gezeigt ist, weist die Synapsenkopplungsschaltung 107 p-Kanal MOS-Transistoren (Feldeffekttransistoren mit isoliertem Gate) PT1 und PT2, die eine erste Strompfadschaltung bilden, p-Kanal MOS-Transistoren PT3 und PT4, die eine zweite Strompfadschaltung bilden, und einen p-Kanal MOS-Transistor PT5 sowie einen n-Kanal MOS-Transistor NT1, die eine dritte Strompfadschaltung bilden, auf.

Der p-Kanal MOS-Transistor PT5 und der n-Kanal MOS-Transistor NT1 sind in komplementärer Weise zwischen einen Referenzspannungsknoten (z. B. das Versorgungspotential) Vdd und einen Massepotentialknoten VGND geschaltet, um eine Inverterschaltung zu bilden, die das am Anschluß Vs empfangene Zustandssignal Si invertiert.

Die Source des p-Kanal MOS-Transistors PT1 ist mit dem Referenzspannungsknoten Vdd, das Gate mit einem Ausgangsknoten N2 der Synapsengewichtungswert-Speicherschaltung 101 und die Drain mit der Source des p-Kanal MOS-Transistors PT2 verbunden. Das Gate des p-Kanal MOS-Transistors PT2 ist mit einem Ausgangsknoten N10 der Inverterschaltung, die von den Transistoren PT5 und NT1 gebildet wird, und die Drain mit einem Synapsenkopplungsstrom-Ausgangsknoten Io verbunden.

Die Source des p-Kanal MOS-Transistors PT3 ist mit dem Referenzspannungsknoten Vdd, das Gate mit einem Vorspannungs- Versorgungsknoten Vb zum Zuführen der Vorspannung Vb und die Drain mit der Source des p-Kanal MOS-Transistors PT4 verbunden. Das Gate des p-Kanal MOS-Transistors PT4 ist mit dem Zustandssignal- Eingangsknoten Vs und die Drain mit dem Gewichtungsstrom- Ausgangsknoten Io verbunden. Der Referenzspannungsknoten und die dadurch übertragene Referenzspannung werden durch dasselbe Symbol bezeichnet.

Die Source des p-Kanal MOS-Transistors PT5 ist mit dem Referenzspannungsknoten Vdd, das Gate mit dem Zustandssignal- Eingangsknoten Vs und die Drain mit der Source des n-Kanal MOS- Transistors NT1 verbunden.

Die p-Kanal MOS-Transistoren in derselben Strompfadschaltung weisen dieselben Gate-Breiten, d. h. dieselben Leitfähigkeiten, auf. Die Gate-Breiten, d. h. die Leitfähigkeiten, der p-Kanal MOS-Transistoren in verschiedenen Strompfadschaltung sind jedoch unterschiedlich. Die Gate-Breiten der p-Kanal MOS-Transistoren PT1 und PT2 z. B. sind nämlich zweimal so groß wie die Gate-Breiten der p-Kanal MOS- Transistoren PT3 und PT4. Damit kann die erste Strompfadschaltung, die von den Transistoren PT1 und PT2 gebildet wird, einen größeren Strom leiten als die zweite Strompfadschaltung, die von den Transistoren PT3 und PT4 gebildet wird.

Fig. 34 zeigt auch die Strukturen der Synapsengewichtung- Korrekturschaltung 103 und der Synapsengewichtungswert- Speicherschaltung 101. Bei der in Fig. 34 gezeigten Synapsengewichtungswert-Speicherschaltung 101 unterscheidet sich die Position des Kondensators von der in Fig. 32 gezeigten, während seine Wirkung mit der bei der Schaltung von Fig. 32 übereinstimmt.

Die Synapsengewichtungswert-Speicherschaltung 101 weist einen einzelnen Kondensator C0 auf. Eine Elektrode dieses Kondensators C0 ist mit dem Knoten N2 und die andere Elektrode mit einem Knoten N3 verbunden, der die Referenzspannung Vdd empfängt.

Die Synapsengewichtung-Korrekturschaltung 103 weist einen Kondensator C1, der zwischen den Eingangsanschluß V zum Empfangen des ersten Korrektursignals I und einen Knoten N5 geschaltet ist, einen weiteren Kondensator C2, der zwischen den Eingangsanschluß L zum Empfangen des zweiten Korrektursignals D und einen Knoten N6 geschaltet ist, Dioden D2 und D1, die zwischen dem Knoten N2 und dem Referenzspannungsknoten Vdd (Knoten N3) in Vorwärtsrichtung geschaltet sind, und Dioden D4 und D3, die zwischen dem Versorgungsknoten Vb (Knoten N1) und dem Knoten N2 in Vorwärtsrichtung geschaltet sind, auf.

Der Kondensator C1 und die Dioden D1 und D2 bilden einen Pfad zum Extrahieren positiver Ladungen, die im Knoten N2 des Kondensators C0 gespeichert sind, in Abhängigkeit vom ersten Korrektursignal I, das am Eingangsanschluß V empfangen wird. Der Kondensator C2 und die Dioden D3 und D4 bilden einen Pfad zum Injizieren positiver Ladungen in den Kondensator C0 in Abhängigkeit vom zweiten Korrektursignal D, das am zweiten Korrektursignal-Eingangsanschluß L empfangen wird.

Allgemein erfüllen die Vorspannung Vb und die Referenzspannung Vdd, die z. B. eine Betriebsversorgungsspannung ist, die folgende Beziehung:

VGND ≤ Vb < Vdd.

Nun wird der Betrieb beschrieben.

Wenn dem Kondensator C1 das pulsierende Korrektursignal I über den Anschluß V zugeführt wird, werden durch einen Ladungspumpbetrieb des Kondensators C1 positive elektrische Ladungen vom Kondensator C0 extrahiert, um das Potential des Knotens N2 abzusenken. Jedesmal wenn das pulsierende zweite Korrektursignal D dem Kondensator C2 zugeführt wird, werden positive Ladungen in den Knoten N2 des Kondensators C0 injiziert, um das Potential des Knotens N2 anzuheben. Aufgrund dieser Struktur drückt der einzelne Kondensator C0 sowohl eine anregende als auch eine dämpfende Kopplung aus. Ein Vorgang zum Korrigieren des Synapsengewichtungswertes, der in der Synapsengewichtungswert-Speicherschaltung 101 gespeichert ist, wird später im Detail beschrieben. Nun wird der Betrieb der Synapsenkopplungsschaltung 107 beschrieben.

(i) Das Zustandssignal Si liegt auf einem niedrigen Pegel

In diesem Fall nehmen die Transistoren PT4 und PT5 einen durchgeschalteten Zustand ein und die Transistoren PT2 und NT1 sperren. Das Potential des Knotens N10 nimmt über den Transistor PT5 den Referenzspannungspegel Vdd an. Damit fließt ein konstanter Strom entsprechend der Vorspannung Vb, die dem Gate des Transistors PT3 zugeführt wird, am Ausgangsknoten Io ab.

(ii) Das Zustandssignal Si liegt auf einem hohen Pegel

In diesem Fall sperrt der Transistor PT4 und der Transistor PT2 schaltet durch (das Potential des Knotens N10 nimmt den Massepotentialpegel VGND an). Damit fließt ein Strom Ids entsprechend dem Gate-Potential des Transistors PT1 bezüglich des Source-Potentials (Potential des Knotens N2), d. h. ein Ladepotential Vc des Kondensators C0 (Potential des Knotens N2), am Ausgangsknoten Io ab.

Wenn die im Knoten N2 des Kondensators C0 gespeicherte Menge elektrischer Ladungen Q0 gleich null ist, ist das Potential Vc des Knotens N2 gleich der Referenzspannung Vdd. Das Source-Potential des Transistors PT1 befindet sich auf dem Referenzspannungspegel Vdd. Somit fließt ein Strom entsprechend dem Potential (Vdd-Vc(=0 vom Referenzspannungsknoten Vdd über die Transistoren PT1 und PT2 zum Ausgangsanschluß Io. Die Gate-Breiten der Transistoren PT1 und PT2 sind größer als die der Transistoren PT3 und PT4. Wenn das Zustandssignal Si auf einem hohen Pegel liegt und Vc=Vb ist, transportiert der Ausgangsanschluß Io einen Strom, der größer als der Strom ist, der fließt, wenn das Signal Si auf einem niedrigen Pegel liegt.

Wenn der Knoten N2 des Kondensators C0 eine negative Menge elektrischer Ladungen -Q0 speichert, ist das Potential Vc des Knotens N2 gleich der (Vdd-Q0 * Ca), und das Gate-Potential des Transistors PT1 ist gleich -Q0 * Ca, wodurch die Impedanz des p-Kanal MOS-Transistors PT1 reduziert und der fließende Strom vergrößert wird. Dieser Strom wird größer als ein konstanter Strom, der zu dem Zeitpunkt durch den Transistor PT3 fließt, wenn das Zustandssignal Si gleich "1" ist. Das Symbol Ca bezeichnet die Kapazität des Kondensators C0.

Positive Ladungen werden vom Knoten N2 des Kondensators C0 jedesmal dann extrahiert, wenn das erste Korrektursignal I angelegt wird, wodurch die Impedanz des Transistors PT1 vermindert und der zum Ausgangsanschluß Io fließende Strom Ids vergrößert wird. Andererseits werden jedesmal positive Ladungen in den Knoten N2 des Kondensators C0 injiziert, wenn das zweite Korrektursignal D angelegt wird, wodurch der Strom Ids, den der Transistor PT1 dem Knoten N4 zuführt, vergrößert wird.

Somit ist es möglich, im Lernmodus sowohl die anregende als auch die dämpfende Kopplung durch den einzelnen Kondensator C0 durch Einstellen der im Kondensator C0 gespeicherten Ladungsmenge in Abhängigkeit von den Korrektursignalen I und D auszudrücken. Ferner ist es auch möglich, den vom Kondensator C0 ausgedrückten Synapsengewichtungswert auf einen beliebigen Wert einzustellen, um den Synapsengewichtungswert in analoger Weise auszudrücken, weil dieser Synapsengewichtungswert durch die im Kondensator C0 gespeicherte Ladungsmenge geliefert wird. Nun erfolgt die Beschreibung eines Korrekturvorgangs für den Synapsengewichtungswert im Lernmodus.

Wenn die Elektrode des Kondensators C0 in der Synapsengewichtungswert-Speicherschaltung 101, die mit dem Knoten N2 verbunden ist, eine negative Ladungsmenge -Q0 speichert, entwickelt sich die folgende Spannung am Knoten N2, der mit dem Gate des p- Kanal MOS-Transistors PT1 verbunden ist:

Vc = (Vdd-Q0 * Ca)

Daher ist die Spannung Vc des Knotens N2 gleich Vdd, wenn Q0=0 gilt. Andererseits wird die Spannung Vc des Knotens N2 reduziert, wenn der Wert von Q0 ansteigt, d. h. wenn die Menge -Q0 negativer Ladungen ansteigt. Die Verminderung der Spannung Vc des Knotens N2 gibt einen Anstieg des Synapsengewichtungswerts an, während ein Anstieg der Spannung Vc eine Verminderung angibt.

In der ersten Strompfadschaltung mit dem p-Kanal MOS-Transistor PT1 ist die Gate-Source-Spannung (im weiteren zur Vereinfachung als Gate-Spannung bezeichnet) des p-Kanal MOS-Transistors PT1 gleich -(Vdd-Vc). Ein durch diese Gate-Spannung -(Vdd-Vc) definierter konstanter Strom fließt über den Transistor PT1 zum Knoten N4. Wenn Q0=0 gilt, wird der im Transistor PT1 fließende Strom minimiert, weil Ids=0 gilt (wenn der p-Kanal MOS-Transistor einen negativen Schwellenwert besitzt), während das Potential des Knotens N2 reduziert und der über den Transistor PT1 fließende Strom Ids vergrößert wird, wenn die Menge -Q0 negativer Ladungen ansteigt. Der Betrieb der Synapsengewichtung-Korrekturschaltung 103, die aus zwei Ladungspumpschaltungen besteht, wird nun unter Bezugnahme auf die Fig. 35A und 35B beschrieben. Die Fig. 35A und 35B zeigen die jeweilige Ladungspumpschaltung.

Unter Bezugnahme auf Fig. 35A wird nun der Betrieb zum Injizieren positiver Ladungen in den Knoten N2 des Kondensators C0 beschrieben. Wie in Fig. 35A gezeigt ist, wird das Impulssignal D einer Schaltung zugeführt, die aus den Dioden D13 und D14 und einem Kondensator C12 besteht, die einen Ladungspumpbetrieb zum Injizieren positiver Ladungen in einen Kondensator C20 implementieren. Die Anode der Diode D13 ist mit einem Knoten N26 und die Kathode über einen Knoten N22 mit einer Elektrode des Kondensators C20 verbunden. Die Kathode der Diode D14 ist mit einem Knoten N26 und die Anode mit einem Knoten N21 verbunden. Die Vorspannung Vb wird dem Knoten N21 zugeführt. Die Dioden D13 und D14 entsprechen den Dioden D3 und D4, die in Fig. 34 gezeigt sind, und der Kondensator C12 entspricht dem in Fig. 34 dargestellten Kondensator C2. Der Kondensator C12 empfängt über einen Knoten N28 das Impulssignal D.

Eine Elektrode des Kondensators C12 ist mit dem Knoten N26 verbunden, und die andere Elektrode empfängt über einen Knoten N28 das Impulssignal D. Nun wird der Betrieb der in Fig. 35A gezeigten Schaltung beschrieben.

Betrachtet sei der Fall, daß das Impulssignal D dem Knoten N28 zugeführt wird. Wenn das Impulssignal D von einem hohen auf einen niedrigen Pegel fällt, fällt das Potential des Knotens N26 aufgrund einer kapazitiven Kopplung des Kondensators C12 in negativer Richtung, wodurch die Diode D14 durchschaltet. Damit fließt ein Strom i1 vom Knoten N21 zum Knoten N26. Gleichzeitig ist die Diode D13 gesperrt.

Wenn das Impulssignal D von einem niedrigen auf einen hohen Pegel ansteigt, wird das Potential des Knotens N26 durch einen Ladungspumpbetrieb über den Kondensator C12 angehoben, wodurch die Diode D13 durchschaltet und die Diode D14 sperrt. Damit fließt ein Strom i2 vom Knoten N26 zum Knoten N22. Die Werte der Ströme i1 und i2 werden durch die Kapazität des Kondensators C12, die Menge Q20 der im Kondensator C20 gespeicherten Ladung, der I-V-Kennlinie (Strom-Spannungs-Kennlinie) der Dioden D13 und D14 in Vorwärtsrichtung und die Impulsbreite des Impulssignals D bestimmt.

Der Strom fließt nämlich bei jedem Zyklus des Impulssignals D in den Knoten N22, um den Kondensator C20 zu laden, wodurch die im Kondensator C20 gespeicherte (positive) Ladungsmenge vergrößert wird. Das Potential des Knotens N22 (Knoten N2) wird durch das Impulssignal D vergrößert, das dem zweiten Korrektursignal D entspricht.

Unter Bezugnahme auf Fig. 35B wird nun ein Ladungspumpbetrieb zum Extrahieren positiver Ladungen vom Kondensator C0 beschrieben. In diesem Fall wird der Ladungspumpbetrieb durch Dioden D11 und D12 sowie einen Kondensator C11 implementiert. Die Kathode der Diode D11 ist mit einem Knoten N13 und die Anode mit einem Knoten N15 verbunden. Die Referenzspannung Vdd wird dem Knoten N13 zugeführt. Die Kathode der Diode D12 ist mit dem Knoten N15 und die Anode über einen Knoten N12 mit einer Elektrode des Kondensators C10 verbunden. Eine Elektrode des Kondensators C11 ist mit dem Knoten N15 und die andere Elektrode mit dem Knoten N17 verbunden. Das Impulssignal I (entsprechend dem ersten Korrektursignal I) wird dem Knoten N17 zugeführt.

Bei dieser Struktur entspricht der Kondensator C10 dem in Fig. 34 gezeigten Kondensator C0, und die Dioden D11 und D12 entsprechen den in Fig. 34 gezeigten Dioden D1 und D2, während der Kondensator C11 dem Kondensator C1 von Fig. 34 entspricht. Nun wird der Betrieb beschrieben.

Das Impulssignal I wird dem Knoten N17 zugeführt. Wenn das Impulssignal I von einem hohen auf einen niedrigen Pegel fällt, fällt das Potential des Knotens N15 aufgrund einer kapazitiven Kopplung des Kondensators C11 ab, wodurch die Diode D12 durchschaltet und die Diode D11 sperrt. In diesem Zustand fließt ein Strom i3 vom Knoten N12 zum Knoten N15.

Wenn das Impulssignal I von einem niedrigen auf einen hohen Pegel ansteigt, wird das Potential des Knotens N15 durch einen Ladungspumpbetrieb des Kondensators C11 angehoben, so daß die Diode D11 durchschaltet, wenn das Potential des Knotens N15 die Referenzspannung Vdd übersteigt. Die Diode D12 sperrt und ein Strom i4 fließt vom Knoten N15 zum Knoten Nl3. Der Strom i4 wird vom Kondensator C10 geliefert. Der Wert des Stroms i4 wird nämlich vom Strom i3 bestimmt. Daher fließt bei jedem Zyklus des Impulssignals I ein Strom vom Knoten N12 über den Knoten N15 zum Referenzspannungsknoten Vdd, um die Menge positiver Ladungen zu reduzieren, die im Kondensator C10 gespeichert sind. Die Werte der Ströme i3 und i4 werden durch die Kapazitäten der Kondensatoren C10 und C11, die Menge der im Kondensator C10 gespeicherten Ladung, der I-V-Kennlinien (Strom-Spannungs-Kennlinien) der Dioden D11 und D12 in Vorwärtsrichtung und die Impulsbreite des Impulssignals I bestimmt. Das Impulssignal I wird als erstes Korrektursignal I verwendet, so daß die Menge von Ladungen, die im Kondensator C10 gespeichert sind, entsprechend der Impulsanzahl eingestellt werden kann.

Die in Fig. 34 gezeigte Synapsengewichtung-Korrekturschaltung wird durch Kombinieren der in den Fig. 35A und 35B gezeigten Ladungspumpschaltungen erhalten. Bei den in den Fig. 35A und 35B gezeigten Ladungspumpschaltungen werden die Kondensatoren C20 und C10 gleich dem Kondensator C0 gemacht, und die Knoten N22 und N12 werden gleich dem Knoten N2 gemacht, wodurch die Strukturen der Synapsengewichtung-Korrekturschaltung und der Synapsengewichtungwert-Speicherschaltung von Fig. 34 erhalten werden.

Die in den Fig. 35A und 35B gezeigten Knoten N28 und N17 entsprechen den Knoten L bzw. V in Fig. 34. Wenn ein Impulssignal dem Knoten V zugeführt wird, wird die im Knoten N2 des Kondensators C0 gespeicherte Ladungsmenge (negativer Ladungen) durch die Dioden D1 und D2 sowie den Kondensator C1 vergrößert, während die im Knoten N2 des Kondensators C0 gespeicherte Ladungsmenge (negativer Ladungen) vermindert wird, wenn das Impulssignal dem Knoten L zugeführt wird.

Aufgrund der oben angeführten Struktur ist es möglich, den Anstieg und die Verminderung der im Kondensator C0 gespeicherten Ladungsmenge (negativer Ladungen) durch die Anzahl und Breite der Impulssignale, d. h. des ersten und zweiten Korrektursignals I und D, die den Knoten V bzw. L zugeführt werden, zu steuern. Mit anderen Worten ist es möglich, die Spannung Vc des Knotens N2, die den Wert des Stroms bestimmt, der aus dem Gewichtungsstrom-Ausgangsanschluß Io fließt, durch die der Synapsengewichtung-Korrekturschaltung 103 zugeführten Impulssignale I und D in analoger Weise zu steuern.

Bei der oben angeführten Synapsenschaltung ist es möglich, den Synapsengewichtungswert auf einfache Weise mit den Impulssignalen zu korrigieren, während dieser Synapsengewichtungswert, der durch die im Kondensator gespeicherte Ladungsmenge bestimmt wird, in analoger Weise geändert wird, so daß es möglich ist, einen beliebigen Synapsengewichtungswert zu implementieren. Weil der Kondensator eine relativ kleine Fläche belegt, ist es möglich, eine Synapsenschaltung mit einer Lernfunktion durch eine geringe Anzahl von Bauelementen zu erhalten. Dadurch wird ein hoch integrierter Neuronetz- Halbleiterchip mit Lernfunktion implementiert. Es tritt jedoch das folgende Problem auf, weil der Synapsengewichtungswert durch die im Kondensator gespeicherte Ladungsmenge ausgedrückt wird.

Fig. 36 zeigt die Struktur des Kondensators C0, der die Synapsengewichtungswert-Speicherschaltung 101 bildet. Wie in Fig. 36 gezeigt ist, weist der Kondensator C0 zum Ausdrücken eines Synapsengewichtungswerts eine erste leitende Schicht 203, die auf einem Halbleitersubstrat 205 mit einem darunterliegenden Isolierfilm 204 gebildet ist, um als eine erste Elektrode zu dienen, und eine zweite leitende Schicht 201, die auf der ersten leitenden Schicht 203 mit einer darunterliegenden und als Dielektrikum dienenden Isolierschicht 202 gebildet ist, auf. Bei einer solchen Struktur weist die Kapazität des Kondensators C0 einen konstanten Wert auf, der durch die Dicke der Isolierschicht 202 und die Größe der einander gegenüberliegenden leitenden Schichten 201 und 203 bestimmt ist. Während die erste und zweite leitende Schicht 203 und 201 mit beiden Knoten verbunden sein können, ist in Fig. 36 z. B. die zweite leitende Schicht 201 mit dem Knoten N3 und die erste leitende Schicht 203 mit dem Knoten N2 verbunden.

Der Synapsengewichtungswert wird durch die im Knoten n2 gespeicherte Ladungsmenge gebildet. Dieser Synapsengewichtungswert muß während eines Aufrufbetriebs (Normalbetriebs) auf einem konstanten Wert gehalten werden. Aufgrund der Eigenschaften des Kondensators C0 fließen die gespeicherten Ladungen unvermeidlicherweise ab und ändern den Synapsengewichtungswert. Dadurch ist es unmöglich, einen korrekten Aufrufbetrieb mit hoher Geschwindigkeit auszuführen. Nun wird der Pfad eines solchen Ladungslecks beschrieben.

Fig. 37 zeigt die Verbindung von Dioden, die in der Synapsengewichtung-Korrekturschaltung enthalten sind. Bezüglich Fig. 37 entsprechen die Dioden D801 und D802 den Dioden D1 und D2 oder D3 und D4 in Fig. 34. Die Diode D801 ist zwischen den Knoten b und a in Vorwärtsrichtung geschaltet, während die Diode D802 zwischen den Knoten c und b in Vorwärtsrichtung geschaltet ist. Der Knoten b ist mit einem Ladungspumpkondensator verbunden, so daß Ladungen über den Knoten b in Abhängigkeit von einem Impulssignal (Korrektursignal) injiziert oder extrahiert werden.

Wie in Fig. 38 gezeigt ist, ist eine Reihenschaltung der Dioden D801 und D802 durch einen einzelnen p-Kanal MOS-Transistor PT800 implementiert, um eine geringe belegte Fläche zu erzielen. Wie in Fig. 38 gezeigt ist, weist der p-Kanal MOS-Transistor PT800 einen Substratbereich, der mit dem Knoten a verbunden ist, einen ersten Leitungsanschluß und eine Gate-Elektrode, die beide mit dem Knoten b verbunden sind, und einen zweiten Leitungsanschluß, der mit dem Knoten c verbunden ist, auf.

Fig. 39 zeigt die Querschnittstruktur des p-Kanal MOS-Transistors PT800 von Fig. 38. Wie in Fig. 39 gezeigt ist, ist der p-Kanal MOS- Transistor PT800 in einer N-Wanne 851 auf der Oberfläche eines p- Halbleitersubstrats 850 gebildet. Der p-Kanal MOS-Transistor PT800 weist einen N&spplus;-Bereich 852 hoher Störstellenkonzentration, der mit dem Knoten a verbunden ist, einen P&spplus;-Bereich 853 hoher Störstellenkonzentration, der mit dem Knoten b verbunden ist, und einen P&spplus;-Bereich 854 hoher Störstellenkonzentration, der mit dem Knoten c verbunden ist, auf. Eine Gate-Elektrode 855 ist auf einem Kanalbereich zwischen den P&spplus;-Bereichen 853 und 854 mit einem darunterliegenden Isolierfilm (Gate-Isolierfilm) 856 gebildet. Diese Gate-Elektrode 855 ist mit dem Knoten a über den N&spplus;-Bereich 852 verbunden.

Die Diode D801 wird vom P&spplus;-Bereich 853 und N&spplus;-Bereich 852 gebildet. Die Diode D802 wird vom P&spplus;-Bereich 853, einem Kanalbereich, d. h. einem Oberflächenbereich der N-Wanne 851 unter der Gate-Elektrode 855, und dem P&spplus;-Bereich 854 gebildet.

Bei der in Fig. 39 gezeigten Struktur ist eine weitere Diode durch den Knoten a, den N&spplus;-Bereich 852, die N-Wanne 851 und den P&spplus;-Bereich 854 gebildet. Diese Diode, die zwischen den Knoten a und c gebildet ist, übt selbst keinen Einfluß auf einen Ladungspumpbetrieb aus. Bei der in Fig. 39 gezeigten Elementstruktur wird die Diode D801 durch eine P-N-Übergang-Diode implementiert, wodurch es möglich ist, sowohl einen in Sperrichtung fließenden Entladestrom, d. h. einen Leckstrom vom Knoten a zum Knoten c, zu vermindern als auch die zum Knoten b gehörende parasitäre Kapazität zu reduzieren.

Wenn die in Fig. 39 gezeigte Elementstruktur benutzt wird, um eine Reihenschaltung von Dioden zu bilden, werden jedoch Verarmungsschichten 861 und 862 in den P-N-Übergangsbereichen verursacht. Ladungen werden in solchen Verarmungsschichten 861 und 862 rekombiniert oder diffundieren durch diese hindurch. Bei der in Fig. 39 gezeigten Struktur ist z. B. der Knoten c mit der Elektrode, die den Synapsengewichtungswert liefert, des Kondensators C0 der Synapsengewichtungswert-Speicherschaltung 101, d. h. mit dem Knoten N2, oder mit dem Knoten N1, der die Vorspannung Vb liefert, verbunden. Der Knoten a ist mit dem Knoten N3, der die Referenzspannung Vdd liefert, oder mit dem Knoten N2 in der in Fig. 34 gezeigten Struktur verbunden. Damit wird die im Kondensator C0 gespeicherte Ladungsmenge durch Rekombination oder Diffusion von Ladungen in den Verarmungsschichten 861 und 862 verändert, und dadurch kann der Synapsengewichtungswert nicht für lange Zeit auf einem gewünschten Wert gehalten werden.

Ein weiterer Leckpfad Ip für Ladungen wird durch eine Verarmungsschicht oder eine Inversionsschicht gebildet, die sich unter einem Elementisolierfilm 870 zum elektrischen Isolieren benachbarter Bauelemente voneinander bildet.

Wenn der Knoten a oder c mit dem Knoten verbunden ist, der die konstante Spannung Vdd oder Vc liefert, kann diese Spannung im Betrieb geändert werden, um Elektron-Loch-Paare im N-Wannenbereich 851 durch Stoßionisation oder einen ähnlichen Vorgang zu bilden. Die so gebildeten Ladungen können die im Kondensator C0 gespeicherte Ladungsmenge ändern. Wenn die im Kondensator C0 gespeicherte Ladungsmenge durch eine derartige Erscheinung geändert wird, kann der durch Lernen erreichte Synapsengewichtungswert während des Aufrufbetriebs nicht konstant gehalten werden.

Fig. 40 zeigt ein kapazitives MOS-Element, das als Kondensator C0 verwendet werden kann. In diesem Fall wird eine erste Elektrode des Kapazitätselements durch einen N&spplus;-Bereich 891 hoher Störstellenkonzentration, der auf der Oberfläche eines Halbleitersubstrats 890 gebildet ist, und eine zweite Elektrode 893 auf dieser Elektrode 891 mit einem darunterliegenden Isolierfilm 892 geschaffen. Weil die Elektrode 891 durch den Diffusionsbereich hoher Störstellenkonzentration gebildet wird, fließen unvermeidlicherweise Ladungen von diesem Diffusionsbereich zum Halbleitersubstrat 890, und ändern den Synapsengewichtungswert mit der Zeit. Ferner kann auch bei dieser Struktur die im Störstellenbereich 891 gespeicherte Ladungsmenge durch eine Potentialänderung des Halbleitersubstrats 890 geändert werden. Auch in diesem Fall ist es unmöglich, den Synapsengewichtungswert ausreichend lange Zeit auf einem Wert zu halten, der beim Lernen erhalten worden ist.

Wenn nämlich die Synapsengewichtungswert-Speichereinrichtung aus einem Kondensator oder einem Kapazitätselement gebildet wird, ist es unmöglich, einen Synapsengewichtungswert, der durch Lernen oder einen ähnlichen Vorgang eingestellt worden ist, für lange Zeit zu halten. Daher kann kein stabil arbeitendes Neuronales Netz implementiert werden.

Aufgabe der Erfindung ist es, eine Vorrichtung zum Ausdrücken eines Neuronalen Netzes zu schaffen, die einen Synapsengewichtungswert stabil für eine lange Zeit halten kann. Ferner soll eine Vorrichtung zum Ausdrücken eines Neuronalen Netzes geschaffen werden, die über einen langen Zeitraum stabil arbeitet. Außerdem soll eine Vorrichtung zum Ausdrücken eines Neuronalen Netzes geschaffen werden, die einen Synapsengewichtungswert mit einer einfachen Struktur und einer kurzen Arbeitszeitspanne auffrischen kann.

Die Aufgabe wird gelöst durch die in Anspruch 1 gekennzeichnete Vorrichtung. Das Verfahren ist in Anspruch 16 oder 22 gekennzeichnet. Die erfindungsgemäße Vorrichtung zum Ausdrücken eines Neuronalen Netzes ist dadurch gekennzeichnet, daß Information, die in jeder Synapsengewichtungswert-Speicherschaltung gespeichert ist, auf der Basis der verbleibenden Speicherinformation, d. h. der in der jeweiligen kapazitiven Synapsengewichtungswert- Speichereinrichtung selbst gespeicherten Ladungsmenge, aufgefrischt wird, bevor die Synapsengewichtungswertinformation verschwindet.

Die erfindungsgemäße Vorrichtung zum Ausdrücken eines Neuronalen Netzes frischt den Synapsengewichtungswert entsprechend dem Ausgangszustand der jeweiligen Neuroneneinheit auf, wodurch die verschwundene Speicherinformation so eindeutig wiederhergestellt wird, daß es nicht notwendig ist, erneut Lerninformation von außen zuzuführen, um den Synapsengewichtungswert neu zu lernen oder gezwungenermaßen zurückzusetzen. Damit wird die Synapsengewichtungswertinformation für eine lange Zeit stabil gehalten.

Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus der Beschreibung von Ausführungsbeispielen anhand der Figuren. Von den Figuren zeigen:

Fig. 1: einen Auffrischungsbetrieb nach einem ersten Aspekt der vorliegenden Erfindung;

Fig. 2: schematisch die Gesamtstruktur einer Vorrichtung zum Ausdrücken eines Neuronalen Netzes nach einer ersten Ausführungsform der vorliegenden Erfindung;

Fig. 3: die Struktur der Synapsenschaltung von Fig. 2;

Fig. 4: die Struktur der Neuroneneinheit von Fig. 2;

Fig. 5: die Entsprechung zwischen dem Attribut der Neuroneneinheit und den Zuständen der jeweiligen Signale von Fig. 4 in einer Liste;

Fig. 6: eine spezielle Struktur der Eingangsdaten-Steuereinheit von Fig. 2;

Fig. 7: ein Signaldiagramm des Betriebs der Vorrichtung zum Ausdrücken eines Neuronalen Netzes nach der ersten Ausführungsform;

Fig. 8: einen Auffrischungsbetrieb nach einem zweiten Aspekt der vorliegenden Erfindung;

Fig. 9: schematisch die Gesamtstruktur einer Vorrichtung zum Ausdrücken eines Neuronalen Netzes nach einer zweiten Ausführungsform der vorliegenden Erfindung;

Fig. 10: eine spezielle Struktur der Übereinstimmungserfassungsschaltung von Fig. 9;

Fig. 11: die Struktur der Auffrischungssteuerschaltung von Fig. 9;

Fig. 12: die Struktur einer ersten Einheit zum Ausdrücken eines Neuronalen Netzes von Fig. 9;

Fig. 13: die Struktur einer zweiten Einheit zum Ausdrücken eines Neuronalen Netzes von Fig. 9;

Fig. 14: die Struktur einer Synapsenschaltung von Fig. 13 eines ersten Typs, die eine Eingangsschicht und eine versteckte Schicht koppelt;

Fig. 15: die Gesamtstruktur der Synapsengewichtungswert- Speicherschaltung von Fig. 14;

Fig. 16: eine detaillierte Struktur der Synapsengewichtungswert- Speicherschaltung von Fig. 14 und 15;

Fig. 17: die Struktur der Lernsteuerschaltung von Fig. 14;

Fig. 18: ein Rückwärtsausbreitungsmodell, das durch das zweite Neuronale Netz implementiert wird;

Fig. 19: eine Struktur zum Ausgeben von Signalen an die in Fig. 14 gezeigte Lernsteuerschaltung zur Implementierung einer Lernregel im Rückwärtsausbreitungsmodell von Fig. 18;

Fig. 20: die Struktur einer Synapsenkopplungsschaltung von Fig. 14;

Fig. 21: die Struktur einer Synapsenschaltung von Fig. 13 eines zweiten Typs zur Kopplung einer versteckten Schicht und einer Ausgangsschicht;

Fig. 22: die Struktur der Lernsteuerschaltung von Fig. 21;

Fig. 23: die Struktur der Neuroneneinheit von Fig. 13;

Fig. 24: ein Signaldiagramm des Betriebs der zweiten Ausführungsform;

Fig. 25: ein Signaldiagramm, das die Beziehung zwischen einem Übereinstimmungserfassungssignal und Lernsteuersignalen in der zweiten Ausführungsform zeigt;

Fig. 26: einen Auffrischungsbetrieb nach einem dritten Aspekt der vorliegenden Erfindung;

Fig. 27: eine Referenzspannung, die der Neuroneneinheit der zweiten Einheit zum Ausdrücken eines Neuronalen Netzes zugeführt wird;

Fig. 28: ein Signaldiagramm des Auffrischungsbetriebs nach einem vierten Aspekt der vorliegenden Erfindung;

Fig. 29: das Betriebsprinzip einer Neuroneneinheit;

Fig. 30: die Eingangs-/Ausgangs-Umwandlungskennlinie der Neuroneneinheit;

Fig. 31: eine beispielhafte Struktur einer Vorrichtung zum Ausdrücken eines Neuronalen Netzes;

Fig. 32: die Struktur der Synapsenschaltung von Fig. 31;

Fig. 33: die Struktur der Lernsteuerschaltung von Fig. 32;

Fig. 34: die Struktur der Synapsenkopplungsschaltung von Fig. 32;

Fig. 35: ein Diagramm zur Darstellung des Betriebs zum Korrigieren eines Synapsengewichtungswerts in der Synapsenkopplungsschaltung von Fig. 34;

Fig. 36: die Struktur eines Synapsengewichtungswert- Speicherkondensators;

Fig. 37: die Struktur einer Ladungspumpdiode in einer Synapsengewichtungswert-Korrekturschaltung;

Fig. 38: eine Struktur zum Implementieren der in Fig. 37 gezeigten Diodenschaltung;

Fig. 39: ein Diagramm zur Erläuterung eines Problems mit der Synapsengewichtungswert-Speicherschaltung; und

Fig. 40: eine weitere beispielhafte Struktur einer Synapsengewichtungswert-Speicherschaltung.

(A) Erste Ausführungsform

Bevor eine erste Ausführungsform der vorliegenden Erfindung beschrieben wird, wird nun das Betriebsprinzip dieser Ausführungsform erläutert.

Fig. 1 zeigt die potentiellen Energieniveaus eines Neuronalen Netzes bezüglich seiner Zustände. In Fig. 1 gibt die Abszisse den Zustand des Neuronalen Netzes und die Ordinate die potentiellen Energieniveaus des Neuronalen Netzes an. Das Neuronale Netz weist eine Mehrzahl von Neuroneneinheiten auf, so daß ein Zustand des Neuronalen Netzes durch Kombination jeweiliger Zustände dieser Neuroneneinheiten ausgedrückt wird. Obwohl Fig. 1 die Zustände des Neuronalen Netzes zur Vereinfachung eindimensional darstellt, wird angenommen, daß der Abstand zwischen den Zuständen des Neuronalen Netzes dem der Zustände entspricht, die in Fig. 1 eindimensional dargestellt sind.

Nach dem Lernvorgang des Neuronalen Netzes liefert der gelernte Zustand einen Minimalwert der potentiellen Energie. Im Aufrufbetrieb konvergiert das Neuronale Netz entsprechend dem Eingangsmuster auf einen Zustand, der den minimalen Energiewert liefert, der diesem Eingangsmuster am nächsten liegt. In Fig. 1 stellt die Kurve A die potentielle Energie des Neuronalen Netzes unmittelbar nach dem Lernvorgang dar. Die Symbole q1 und q2 stellen Zustände dar, die die minimalen Energiewerte liefern, d. h. gespeicherte Zustände des Neuronalen Netzes.

Wenn ein Tal der potentiellen Energie tief ist, ist auch die Speicherung tief, während die Speicherung flach ist, wenn das Tal der potentiellen Energie flach ist.

Die Kurve B zeigt die potentielle Energie des Neuronalen Netzes nachdem eine bestimmte Zeit seit dem Lernvorgang verstrichen ist. Ladungen fließen mit der Zeit von einem Synapsengewichtungswert- Speicherkondensator ab und ändern die Synapsengewichtungswertinformation. Diese Information entspricht einem Zustand verschwundener Speicherung gelernter Information, und die Täler der potentiellen Energie in den Zuständen q1 und q2 sind bei der Kurve B flach. Die Kurve B zeigt Zustände, bei denen die gelernte Information noch nicht vollständig vergessen worden ist, weil die potentielle Energie noch die Täler aufweist.

In Übereinstimmung mit der vorliegenden Erfindung wird ein Auffrischungsbetrieb auf der Basis der verschwundenen Speicherung ausgeführt, die das als Kurve B gezeigte Profil der potentiellen Energie aufweist, um das Profil der potentiellen Energie nach Kurve A wiederzugewinnen. Dadurch wird die Speicherung der gelernten Information wiederhergestellt. Mit anderen Worten werden die folgenden Vorgänge im Zustand der potentiellen Energie nach Kurve B ausgeführt.

(a) Ein Zufallsmuster wird als Anfangszustand verwendet (z. B. Punkt p1 oder p2 in Fig. 2), um den Betrieb des Neuronalen Netzes zu starten. Das Neuronale Netz arbeitet in Übereinstimmung mit dem gegebenen Zufallsmuster, so daß sein interner Zustand einen Übergang ausführt und auf einen Zustand hin konvergiert, der das am nächsten liegende Tal (minimaler Energiewert) liefert, das durch den am nächsten liegende Punkt q1 oder q2 gezeigt ist.

(b) Es wird angenommen, daß dieser konvergierte Zustand gespeichert wird. Im zu speichernden Zustand wird der Gewichtungswert einer solchen Synapse um einen bestimmten Betrag erhöht, bei der die beiden zugehörigen Neuronen in feuernden Zuständen sind. Dieser Vorgang vertieft die Speicherung, und die potentielle Energie wird in eine Richtung zur Vertiefung des Potentials für den konvergierten Zustand (Punkt q1 oder q2) geändert, wie durch den Pfeil C in Fig. 1 dargestellt ist.

(c) Dann wird im Neuronalen Netz ein neues Zufallsmuster (Punkt r1, r2 oder r3) eingestellt. Dieser Zustand weist keinerlei Bezug zu den Tälern der potentiellen Energie auf und soll nicht gespeichert werden. In diesem Zustand wird der Gewichtungswert einer solchen Synapse um einen bestimmten Betrag reduziert, bei der die beiden zugehörigen Neuronen in feuernden Zuständen sind. Dieser Vorgang entspricht dem sogenannten Antilernen, d. h. einem Zustand, in dem die Speicherung des Eingangsmusters abgeschwächt wird. In diesem Zustand wird die potentielle Energie in eine Richtung zur Abflachung für den Zustand (Punkt r1, r2 oder r3) geändert, wie durch den Pfeil D dargestellt ist.

Die Reihe der oben angeführten Vorgänge (a) bis (c) wird so wiederholt, daß das sich Profil der potentiellen Energie nach Kurve B dem Profil der potentiellen Energie nach Kurve A annähert. In Fig. 1 zeigt die Kurve E einen Zwischenzustand in einem solchen Auffrischungsbetrieb.

Hinsichtlich der oben angeführten Vorgänge (a) bis (c) kann der Vorgang (c) wiederholt werden, nachdem die Vorgänge (a) und (b) wiederholt worden sind. Alternativ kann der Vorgang (c) mit einem Zufallsmuster ausgeführt werden, das im Vorgang (a) eingestellt worden ist. Das zweite Verfahren wird bei dieser Ausführungsform verwendet.

In jeder Vorgangsreihe wird ein Zufallsmuster als Anfangszustand verwendet, um den Betrieb des Neuronalen Netzes zum Ausführen eines Betriebs ähnlich dem "verstärkten Lernen" in einem konvergierten Zustand zu starten. Dann wird ein Betrieb ähnlich dem "Antilernen" unter der Annahme ausgeführt, daß ein neues Zufallsmuster einen nicht zu speichernden Zustand darstellt. Dieser Vorgang wird so wiederholt, daß die Täler der potentiellen Energie durch das Zufallsmuster vertieft werden. Um die Täler der potentiellen Energie für den zu speichernden Zustand weiter zu vertiefen, kann der Korrekturkoeffizient bei der Reduzierung des Synapsengewichtungswerts um einen konstanten Betrag vergrößert werden, so daß sich der Umfang der Änderung des Synapsengewichtungswerts von dem bei einer Erhöhung unterscheidet.

Nun wird eine Struktur zur Implementierung des oben angeführten Auffrischungsverfahrens genauer beschrieben.

Fig. 2 zeigt die Struktur einer Vorrichtung zum Ausdrücken eines Neuronalen Netzes nach der ersten Ausführungsform der vorliegenden Erfindung. Diese Vorrichtung zum Ausdrücken eines Neuronalen Netzes weist eine Lernfunktion auf und umfaßt einen Neuronetzeinheit 501, die in ihrer Struktur im wesentlichen gleich der in den Fig. 31 bis 34 gezeigten Vorrichtung zum Ausdrücken eines Neuronalen Netzes ist.

Die Neuronetzeinheit 501 weist Synapseneinheiten 701 bis 709, die in der Form einer Matrix angeordnet sind, und Neuroneneinheiten 601 bis 603, die in einer Spalte angeordnet sind, auf.

Jede der Synapseneinheiten 701 bis 709 speichert Synapsengewichtungswertinformation in ihrem darin enthaltenen Kondensator, wie in Fig. 32 oder 34 gezeigt ist. Die im Kondensator gespeicherte Synapsengewichtungswertinformation wird aufgefrischt. Die einen solchen Auffrischungsbetrieb erfordernden Synapseneinheiten werden im folgenden als dynamische Synapseneinheiten bezeichnet und in Fig. 2 durch Symbole D-SY angegeben. Andererseits werden Synapseneinheiten, die Synapsengewichtungswertinformation in Speichern wie z. B. digitalen Speichern ablegen, ohne daß eine Auffrischung der Synapsengewichtungswertinformation notwendig ist, im folgenden als statische Synapseneinheiten bezeichnet.

Wie in Fig. 2 gezeigt ist, übertragen die Synapseneinheiten, die in den jeweiligen Zeilen angeordnet sind, Gewichtungsströme über die zugehörigen Dendritsignalleitungen DE1 bis DEn zu den entsprechenden Neuroneneinheiten. Genauer gesagt übertragen die Synapseneinheiten 701, 702 und 703 die Gewichtungsströme über die Dendritsignalleitung DE1 zur Neuroneneinheit 601, die Synapseneinheiten 704, 705 und 706 die Gewichtungsströme über die Dendritsignalleitung DE2 zur Neuroneneinheit 602, und Synapseneinheiten 707, 708 und 709 die Gewichtungsströme über die Dendritsignalleitung DE3 zur Neuroneneinheit 603.

Die Ausgangssignale (Zustandssignale) der Neuroneneinheiten (601 bis 603) werden zu den Axonsignal-Eingangsanschlüssen der Synapseneinheiten übertragen, die in der jeweiligen Spalte angeordnet sind. Genauer gesagt wird das Ausgangssignal der Neuroneneinheit 603 den Axonsignal-Eingangsanschlüssen der Synapseneinheiten 701, 704 und 707, das Ausgangssignal der Neuroneneinheit 602 den Axonsignal-Eingangsanschlüssen der Synapseneinheiten 702, 705 und 708 und das Ausgangssignal der Neuroneneinheit 601 den Axonsignal-Eingangsanschlüssen der Synapseneinheiten 703, 706 und 709 zugeführt, die in einer Spalte angeordnet sind.

Bei der in Fig. 2 gezeigten Struktur empfängt jede Synapseneinheit das Ausgangssignal einer einzelnen Neuroneneinheit. Diese Anordnung liefert die Struktur eines vollständig verbundenen Neuronalen Netzes. Wenn ein Synapsengewichtungswert symmetrisch ist (Wij=Wji), so kann eine einzelne Synapseneinheit zwei Synapsengewichtungen ausdrücken. Fig. 2 zeigt jedoch eine Struktur, bei der eine einzelne Synapseneinheit das Ausgangssignal einer einzelnen Neuroneneinheit empfängt und einen Gewichtungsstrom zu einer entsprechenden Neuroneneinheit überträgt, um die Verbindung zwischen jeder Neuroneneinheit und jeder Synapseneinheit auszudrücken. Die vorliegende Erfindung kann auf ein allgemeines Neuronales Netz ohne Annahme einer Symmetrie angewandt werden.

Die Neuroneneinheiten 601, 602 und 603 können Eingangsdaten Datain zu benachbarten Neuroneneinheiten schieben, und sie können extern zugeführte Lerndaten und Attributdaten (Daten zum Definieren sichtbarer und versteckter Neuronen) zu den benachbarten Neuroneneinheiten übertragen. Neuroneneinheiten 601, 602 und 603 übertragen und verriegeln die eingegebenen Attributdaten und Lerninformationen in Abhängigkeit von einem Taktsignal CLK. Ferner können die Neuroneneinheiten 601, 602 und 603 in Abhängigkeit von einem Steuersignal IselO ihre Ausgangssignale verriegeln und diese zu den benachbarten Neuroneneinheiten schieben. Solche Schiebevorgänge werden in Abhängigkeit von einem Taktsignal CK ausgeführt. Wenn das Neuronale Netz arbeitet, um auf einen bestimmten Zustand hin zu konvergieren, werden die Ausgangssignale der Neuroneneinheiten 601, 602 und 603 intern verriegelt und nacheinander als Ausgangsdaten Dataout in Abhängigkeit vom Taktsignal CK ausgegeben.

Die Neuronetzeinheit 501 korrigiert die Synapsengewichtungswerte in Abhängigkeit von Steuersignalen Ts, ACP- und ACP+.

Die Vorrichtung zum Ausdrücken eines Neuronalen Netzes weist ferner eine Eingangsdaten-Steuereinheit 502 zum Auswählen der Eingangsdaten, die der Neuronetzeinheit 501 zugeführt werden, auf. Die Eingangsdaten-Steuereinheit 502 weist einen Pseudozufallszahlgenerator 503, der ein Muster von Pseudozufallszahlen erzeugt, und einen Selektor 504, der ein extern zugeführtes Lernmuster (oder Aufrufeingangsmuster) oder das Zufallsmuster vom Pseudozufallszahlgenerator 503 in Abhängigkeit von einem Steuersignal IselR auswählt, um dieses der Neuronetzeinheit 501 zuzuführen.

Fig. 3 zeigt die Struktur der Synapseneinheiten 701 bis 709 von Fig. 2. In Fig. 3 wird die Synapseneinheit allgemein durch das Symbol DSY bezeichnet. Die Synapseneinheit DSY empfängt Ausgangssignale (Zustandssignale) Si und Sj von zwei Neuroneneinheiten und gibt Gewichtungsströme Wji * Si und Wji * Sj aus. Die in Fig. 3 gezeigte Synapseneinheit DSY drückt symmetrische Synapsengewichtungen (Wij=Wji) und zwei Synapseneinheiten, die an symmetrischen Stellen bezüglich einer nach rechts oben verlaufenden Diagonalen in der Anordnung der Synapseneinheiten 701 bis 709 in der Form der Matrix von Fig. 2 liegen, aus.

Die in Fig. 3 gezeigte Synapseneinheit DSY, deren Struktur ähnlich der Struktur der in den Fig. 32 bis 34 gezeigten Synapseneinheit ist, weist eine Synapsengewichtungswert-Speicherschaltung 101, eine Synapsengewichtung-Korrekturschaltung 103, Synapsenkopplungsschaltungen 105 und 107 und eine Lernsteuerschaltung 111 auf. Die Synapsenkopplungsschaltungen 105 und 107, deren Struktur ähnlich der in Fig. 34 gezeigten ist, führen eine Gewichtung in Übereinstimmung mit der in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherten Synapsengewichtungswertinformation aus, um Signale Wij * Sj bzw. Wij * Si auszugeben.

Die Synapsengewichtungswert-Speicherschaltung 101 wird von einem Kondensator C1 gebildet, um den Synapsengewichtungswert durch die im Kondensator C1 gespeicherte Ladungsmenge auszudrücken. Die Synapsengewichtung-Korrekturschaltung 103 weist Dioden und Ladungspumpkondensatoren in einer ähnlichen Struktur wie der in Fig. 34 gezeigten auf. Struktur und Betrieb der Schaltungen 101, 103, 105 und 107 sind ähnlich wie oben unter Bezugnahme auf die Fig. 32 bis 35 beschrieben worden ist. Daher wird die Beschreibung hier weggelassen. Der Synapsengewichtungswert der Synapsengewichtungswert-Speicherschaltung 101 wird erhöht, wenn ein Korrektursteuersignal I zugeführt wird, während sich der Wert reduziert, wenn ein Korrektursteuersignal D zugeführt wird.

Die Lernsteuerschaltung 111 weist eine 2-Eingangs-NAND-Schaltung G100, die Ausgangssignale (Zustandssignale) Si und Sj von zwei zugehörigen Neuroneneinheiten empfängt, eine D-Latch-Schaltung G101, die das Ausgangssignal der NAND-Schaltung G100 in Abhängigkeit vom Steuersignal Ts verriegelt, und eine Inverterschaltung G102, die das Steuersignal Ts empfängt, auf. Das Steuersignal Ts ist ein Impulssignal, das nur während der Plus-Phase des Lernmodus von einem hohen Pegel auf einen niedrigen Pegel abfällt, und normalerweise auf einem hohen Pegel liegt. Die D-Latch-Schaltung G101 nimmt in Abhängigkeit von einem niedrigen Pegel des Signals Ts einen Durchlaßzustand ein, während in Abhängigkeit vom Anstieg des Steuersignals Ts das am Eingang D zugeführte Ausgangssignal der NAND-Schaltung G100 verriegelt und am Ausgang Q abgegeben wird.

Die Lernsteuerschaltung 111 weist ferner eine 3-Eingangs-NOR- Schaltung G102, die die Ausgangssignale von der D-Latch-Schaltung G101, der Inverterschaltung G102 und der NAND-Schaltung G100 empfängt, eine 3-Eingangs-NOR-Schaltung G104, die die Ausgangssignale von der D-Latch-Schaltung G101 und der NOR-Schaltung G103 sowie das Steuersignal ACP+ empfängt, und eine 3-Eingangs-NOR- Schaltung G105, die die Ausgangssignale von der NOR-Schaltung G103 und der NAND-Schaltung G100 sowie das Steuersignal ACP- empfängt, auf. Die Steuersignale ACP+ und ACP- geben einen Plus-Phasen-Zyklus bzw. einen Minus-Phasen-Zyklus an. Nach dieser Ausführungsform fallen die Steuersignale ACP+ und ACP- nur dann gleichzeitig von hohen Pegeln auf niedrige Pegel, wenn der Synapsengewichtungswert korrigiert werden soll, nachdem ein Plus-Phasen-Vorgang und ein Minus-Phasen-Vorgang abgeschlossen worden sind. Nun wird der Betrieb der Lernsteuerschaltung 111 kurz beschrieben.

In einem Plus-Phasen-Vorgang sind die Zustände der sichtbaren Neuronen zum Betreiben des Neuronalen Netzes auf externe Lerndaten fixiert. Wenn das Neuronale Netz konvergiert, fällt das Steuersignal Ts für eine vorbestimmte Zeitspanne von einem hohen auf einen niedrigen Pegel. In Abhängigkeit vom Anstieg dieses Steuersignals Ts verriegelt die D-Latch-Schaltung G101 das Ausgangssignal der NAND- Schaltung G100 und gibt es aus. Wenn die Ausgangssignale (Zustandssignale) Si und Sj beide auf hohen Pegeln liegen, verriegelt die D-Latch-Schaltung G101 ein Signal mit niedrigem Pegel. Wenn mindestens eines der Ausgangssignale (Zustandssignale) Si und Sj auf einem niedrigen Pegel liegt, verriegelt die D-Latch- Schaltung G101 ein Signal mit hohem Pegel.

Dann wird eine Minus-Phase ausgeführt. Wenn das Neuronale Netz im Minus-Phasen-Vorgang zu einem bestimmten Zustand konvergiert ist, fallen die Steuersignale ACP+ und ACP- beide von hohen Pegeln auf niedrige Pegel mit kleiner Impulsbreite. Gleichzeitig liegt das Steuersignal Ts auf einem hohen Pegel. In der Minus-Phase sinkt das Ausgangssignal der NAND-Schaltung G100 auf einen niedrigen Pegel, wenn die Ausgangssignale Si und Sj beide auf einem hohen Pegel liegen. Die NOR-Schaltungen G103 und G105 geben nur dann Signale mit hohem Pegel aus, wenn alle zugeführten Eingangssignale auf niedrigem Pegel liegen. Das Steuersignal I oder D wird erzeugt, wenn die Ausgangssignale Si und Sj beide auf einem hohen Pegel sind. Die Signale Si und Sj steigen beide auf einen hohen Pegel an, so daß der Synapsengewichtungswert in den folgenden drei Fällen korrigiert werden soll.

(i) Wenn die Signale Si und Sj sowohl in der Plus- als auch in der Minus-Phase beide auf einem hohen Pegel liegen, gibt die Gatterschaltung G103 ein Signal mit hohem Pegel ab, weil alle drei Eingangssignale auf einem niedrigen Pegel sind. In diesem Zustand geben die Gatterschaltungen G104 und G105 beide Signale mit niedrigem Pegel ab. In diesem Zustand werden daher keine Korrektursignale I und D erzeugt, und der Synapsengewichtungswert wird schließlich nicht korrigiert.

(ii) Wenn die Signale Si und Sj nur in der Plus-Phase beide auf einem hohen Pegel liegen, befindet sich das Ausgangssignal der Gatterschaltung G100 nach dem Abschluß der Minus-Phase auf einem hohen Pegel, und die Ausgangssignale der Gatterschaltungen G103 und G105 fallen auf einen niedrigen Pegel ab. Daher erzeugt die Gatterschaltung G104 das pulsierende Korrektursteuersignal I in Abhängigkeit vom Steuersignal ACP+, um den Synapsengewichtungswert zu erhöhen.

iii) Wenn die Signale Si und Sj nur in der Minus-Phase beide auf einem hohen Pegel liegen, verriegelt die D-Latch-Schaltung G101 ein Signal mit hohem Pegel und gibt es aus, wodurch die Ausgangssignale der Gatterschaltungen G103 und G104 auf einen niedrigen Pegel abfallen. In diesem Fall erzeugt die Gatterschaltung G105 daher das Korrektursteuersignal D in Abhängigkeit vom Steuersignal ACP-, so daß der in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherte Synapsengewichtungswert reduziert wird.

Der Umfang der Korrektur des Synapsengewichtungswerts wird durch die Impulsbreiten (und die Impulsanzahl) der Steuersignale ACP+ und ACP- bestimmt.

In Übereinstimmung mit dem oben angeführten Betrieb wird eine Lernregel ähnlich derjenigen der in Fig. 33 gezeigten Lernsteuerschaltung implementiert, so daß der in der Synapsengewichtungswert-Speicherschaltung 101 gespeicherte Synapsengewichtungswert entsprechend der folgenden sogenannten Mean- Field-Approximation der Boltzmann-Maschine korrigiert wird:

ΔWij =η * (Si&spplus; * Sj&spplus;-Si&supmin; * Sj&supmin;)

Der Umfang ΔWij der Korrektur des Synapsengewichtungswerts wird durch den Lernkoeffizienten η bestimmt. Der Wert des Lernkoeffizienten η kann mit der Impulsanzahl und/oder der Impulsbreite der Steuersignale ACP+ und ACP- verändert werden.

Fig. 4 zeigt eine beispielhafte Struktur jeder Neuroneneinheit von Fig. 2. In Fig. 4 bezeichnet das Symbol NU allgemein die in Fig. 2 gezeigten Neuroneneinheiten 601 bis 603. Die Neuroneneinheit NU weist ein erstes Schieberegister SR(T) zum Verriegeln und Verschieben der Lerndaten und ein zweites Schieberegister SR(P) zum Speichern der Daten, die das Attribut (sichtbar oder versteckt) der Neuroneneinheit NU angeben, auf. Die Lern- und Attributdaten können den Schieberegistern SR(T) und SR(P) über voneinander verschiedene Pfade zugeführt werden. Ferner können die Schiebebetriebe der Schieberegister SR(T) und SR(P) durch voneinander unabhängige Schiebetaktsignale ausgeführt werden, und Lern- und Attributdaten können über denselben Pfad zugeführt werden.

Die Neuroneneinheit NU weist ferner eine 2-Eingangs-NOR-Schaltung GNR, die die Attributdaten vom Schieberegister SR(P) und das Steuersignal IselS empfängt, einen Selektor SEL1, der die im Schieberegister SR(T) gespeicherten Lerndaten oder das Ausgangssignal von einem Komparator Comp in Abhängigkeit vom Ausgangssignal der NOR-Schaltung GNR auswählt, einen Inverterpuffer B, der das Ausgangssignal des Selektors SEL1 puffert und ausgibt, und einen weiteren Selektor SEL2, der die im Schieberegister SR(T) gespeicherten Lerndaten oder das Ausgangssignal vom Inverterpuffer B in Abhängigkeit vom Steuersignal IselO auswählt, auf.

Die im Schieberegister SR(P) gespeicherten Attributdaten können durch einen Ausschiebevorgang zur benachbarten Neuroneneinheit übertragen werden. Ferner kann das Ausgangssignal des Selektors SEL2 zu einem Lerndaten-Speicherschieberegister SR(T) der benachbarten Neuroneneinheit übertragen werden. Die Schieberegister SR(T) und SR(P) und der Selektor SEL2 werden so verwendet, daß es möglich ist, die Lerndaten und die Attributdaten durch einen Schiebevorgang bei der Einstellung eines Anfangszustands nacheinander durch die Neuroneneinheit NU zu leiten, wodurch jede Neuroneneinheit NU in einen gewünschten Zustand versetzt wird. Beim Datenlesen wird das Ausgangssignal des Selektors SEL2 vom Schieberegister SR(T) ausgeschoben, so daß die Ausgangsdaten über die jeweilige Neuroneneinheit NU nacheinander ausgeschoben werden.

Der Inverterpuffer B gibt ein Signal aus, das den Zustand des Neurons angibt, der durch einen internen Aktivwert des Neurons NU oder Lerninformation bestimmt ist. Dieses Signal wird auf die entsprechende Axonsignalleitung als Zustandssignal Si übertragen.

Der Komparator Comp weist einen positiven Eingang, der eine Referenzspannung Vref empfängt, und einen negativen Eingang, der einen gewichteten und auf eine Dendritsignalleitung DE übertragenen Strom ΣWij * Sj empfängt, auf. Die Summe Σ wird für den Index j ausgeführt. Es werden nämlich gewichtete Ströme von zugehörigen Synapsenkopplungsschaltungen aufaddiert und zum negativen Eingang des Komparators Comp übertragen. Die Dendritsignalleitung DE, die mit dem negativen Eingang des Komparators Comp verbunden ist, weist die Funktion eines sogenannten Krichhoff-Addierers auf. Der Komparator Comp besitzt die Funktion des Neuroneneinheitenkörpers, d. h. die Funktion des Umwandlungsabschnitts B im typischen Diagramm von Fig. 29. Die Referenzspannung Vref weist die Funktion eines Schwellenwertes für die Neuroneneinheit auf. Der Komparator Comp gibt ein Signal mit hohem Pegel ab, wenn das Produkt eines Summenstroms Is, der an seinem negativen Eingang empfangen wird, mit dem Wert des Widerstands RL kleiner als die Referenzspannung Vref ist. Das Ausgangssignal des Komparators Comp wird über den Selektor SEL1 und den Inverterpuffer B invertiert und auf die entsprechende Axonsignalleitung als Zustandssignal Si übertragen. Wenn der Komparator Comp aus einem Differenzverstärker besteht, drückt sein Ausgangssignal einen Zustand entsprechend dem internen Aktivwert des Neurons aus. Das simulierte Glühen einer Boltzmann-Maschine kann durch gedämpftes Oszillieren der Referenzspannung Vref implementiert werden, wie später im Detail beschrieben wird.

Fig. 5 zeigt die Beziehungen zwischen den Attributen der Neuroneneinheiten und den Ausgangszuständen (Ausg


Anspruch[de]
  1. 1. Neuronetzeinheit zum elektronischen Ausdrücken eines Neuronalen Netzes, gekennzeichnet durch

    eine Mehrzahl erster Neuroneneinheiten (NU; 601, 602, 603), jeweils zum elektronischen Ausdrücken der Funktion eines Nervenzellenkörpers,

    eine Mehrzahl von ersten Synapseneinheiten (D-SY; 701 bis 709), jeweils zum elektronischen Ausdrücken einer Synapse zum Koppeln erster Neuroneneinheiten über eine vorbestimmte Kopplungsstärke, wobei jede Synapseneinheit eine Speichereinrichtung (101) zum Speichern von Synapsengewichtungswertinformation, die die vorbestimmte Kopplungsstärke darstellt, aufweist, und

    eine Steuereinrichtung (103, 111, 502; 505, 550), die von einem Auffrischungsanweisungssignal abhängig ist, zum Auffrischen jeder jeweiligen Synapsengewichtungswertinformation der ersten Synapseneinheiten auf der Basis der Ausgangssignale der zugehörigen Neuroneneinheiten.
  2. 2. Neuronetzeinheit nach Anspruch 1, dadurch gekennzeichnet, daß die Speichereinrichtung (101) eine Kapazitätseinrichtung (C1) zum Speichern der Synapsengewichtungswertinformation in Form elektrischer Ladungen aufweist, und daß die Steuereinrichtung (103, 111, 502) eine Lernsteuereinrichtung (111, 103) aufweist, die für die jeweilige Synapseneinheit gebildet und von den Ausgangssignalen der zugehörigen ersten Neuroneneinheiten abhängig ist, zum Korrigieren der Menge elektrischer Ladungen in einer zugehörigen Speichereinrichtung (C1) über einen Ladungspumpvorgang.
  3. 3. Neuronetzeinheit nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Steuereinrichtung (103, 111, 502; 550) eine Zufallszahlen-Erzeugungseinrichtung (503) zum Erzeugen einer Zufallszahl,

    eine Selektoreinrichtung (504, SR(T), SR(P)), die vom Auffrischungsanweisungssignal abhängig ist, zum Ausgeben eines Musters der Zufallszahlen an ausgewählte erste Neuroneneinheiten unter den ersten Neuroneneinheiten, und

    eine Korrektureinrichtung (103, 111), die für jede der Synapseneinheiten gebildet und beim Betrieb mit dem Muster von Zufallszahlen von den Ausgangssignalen der zugehörigen ersten Neuroneneinheiten abhängig ist, zum Ändern einer zugehörigen Synapsengewichtungswertinformation aufweist.
  4. 4. Neuronetzeinheit nach Anspruch 3, dadurch gekennzeichnet, daß die Korrektureinrichtung eine erste Einrichtung (G100, G101, G103, G104, 103) zum Erhöhen der zugehörigen Synapsengewichtungswertinformation, wenn die zugehörigen ersten Neuroneneinheiten in einem feuernden Zustand sind, und eine zweite Einrichtung (G100, G102, G103, G105) zum Erniedrigen der zugehörigen Synapsengewichtungswertinformation, wenn die zugehörigen ersten Neuroneneinheiten in einem feuernden Zustand sind, aufweist.
  5. 5. Neuronetzeinheit nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß die Neuronetzeinheit in einem Lernmodus zum Lernen von Lerndaten, um den jeweiligen Synapsengewichtungswert entsprechend den Lerndaten einzustellen, betreibbar ist, und die Selektoreinrichtung (504) eine Einrichtung (504) zum Durchlassen des Musters von Zufallszahlen anstelle der Lerndaten an die ausgewählten ersten Neuroneneinheiten in Abhängigkeit vom Auffrischungsanweisungssignal aufweist.
  6. 6. Neuronetzeinheit nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinrichtung (505, 550)

    eine zweite Neuronetzeinheit (505) zum Empfangen der Ausgangssignale von vorausgewählten ersten Neuroneneinheiten der Mehrzahl von ersten Neuroneneinheiten und zum Ausgeben eines Ausgangsmusters entsprechend den Ausgangssignalen der vorausgewählten ersten Neuroneneinheiten,

    und eine Steuereinrichtung (551), die von der zweiten Neuronetzeinheit abhängig ist, zum Korrigieren der jeweiligen Synapsengewichtungswertinformation der Mehrzahl erster Synapseneinheiten aufweist.
  7. 7. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß die zweite Neuronetzeinheit eine Mehrzahl von zweiten Neuroneneinheiten (SNU; 1801-1803, 1901-1903) zum elektronischen Ausdrücken von Nervenzellenkörpern, und eine Mehrzahl von zweiten Synapsengewichtungseinheiten (S-SY; 1001-1009, 1101-1106), jeweils zum Koppeln der zweiten Neuroneneinheiten durch einen voreingestellten Synapsengewichtungswert, der die Kopplungsstärke zwischen zugehörigen zweiten Neuroneneinheiten darstellt, aufweist, wobei jede der zweiten Synapseneinheiten eine statische Speichereinrichtung (1801, 4701) zum statischen Speichern einer zugehörigen Synapsengewichtungswertinformation speichert, ohne daß eine Auffrischung von dieser notwendig ist.
  8. 8. Neuronetzeinheit nach Anspruch 7, dadurch gekennzeichnet, daß die statische Speichereinrichtung (1701, 4701) eine Einrichtung (1701, 4701) zum Speichern der zugehörigen Synapsengewichtungswertinformation in digitaler Form aufweist.
  9. 9. Neuronetzeinheit nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß die statische Speichereinrichtung (1701, 4701) einen digitalen n-Bit-Binärzähler aufweist, wobei n eine ganze Zahl ist.
  10. 10. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß die Steuereinrichtung (551)

    eine Entscheidungsmuster-Speichereinrichtung (507) zum Speichern eines vorbestimmten Datenmusters,

    eine Übereinstimmungserfassungseinrichtung (506) zum Erfassen der Übereinstimmung des vorbestimmten Datenmusters mit der Ausgabe der zweiten Neuronetzeinheit, und

    eine Auffrischungssteuereinrichtung (509), die von der Übereinstimmungserfassungseinrichtung abhängig ist, zum Erfassen, ob ein Synapsengewichtungswert einer ersten Synapseneinheit mit zugehörigen Neuroneneinheiten, die beide in einem feuernden Zustand sind, erhöht werden soll, aufweist.
  11. 11. Neuronetzeinheit nach Anspruch 10, dadurch gekennzeichnet, daß die Auffrischungssteuereinrichtung (509)

    eine erste Bestimmungseinrichtung (ND12, ND14, G1) zum Bestimmen, daß der Synapsengewichtungswert erhöht werden soll, wenn die Übereinstimmungserfassungseinrichtung (506) die Übereinstimmung feststellt, und

    eine zweite Bestimmungseinrichtung (ND10, ND16) zum Bestimmen, daß der Synapsengewichtungswert vermindert werden soll, wenn die Übereinstimmungserfassungseinrichtung (506) keine Übereinstimmung feststellt, aufweist.
  12. 12. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß die zweite Neuronetzeinheit

    zweite Neuroneneinheiten (S-SY; 1801-1803, 1901-1903) jeweils zum elektronischen Ausdrücken eines Nervenzellenkörpers, und

    eine Mehrzahl von zweiten Synapseneinheiten (1001-1009, 1101-1106), jeweils zum Koppeln der zweiten Neuroneneinheiten durch einen voreingestellten Synapsengewichtungswert, aufweist,

    wobei jede der zweiten Neuroneneinheiten (SNU) eine Komparatoreinrichtung (5505, 5508) zum Vergleichen einer Summe der Ausgangssignale der zugehörigen zweiten Synapseneinheiten mit einer Referenzspannung, die um einen vorbestimmten Spannungspegel gedämpft oszilliert, aufweist.
  13. 13. Neuronetzeinheit nach Anspruch 10, dadurch gekennzeichnet, daß die zweite Neuronetzeinheit (505) eine Einrichtung (4707) aufweist zum Einstellen des jeweiligen Synapsengewichtungswerts der zweiten Synapseneinheiten durch Lernen unter Verwendung der Ausgaben der vorausgewählten ersten Neuroneneinheiten und des vorbestimmten Datenmusters als Lerndaten.
  14. 14. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß die zweite Neuronetzeinheit (505) eine Vorwärtsausbreitungsanordnung aufweist, die nach einem Back-Propagation-Modell betreibbar ist.
  15. 15. Neuronetzeinheit nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß die Steuereinrichtung (103, 111, 502; 505, 550) aktiviert wird, jedesmal wenn die erste Neuroneneinheit (NU; 601, 602, 603) einen Eingangswert empfängt, der verarbeitet werden soll, und einen Ausgangswert entsprechend dem so empfangenen Eingangswert erzeugt.
  16. 16. Betriebsverfahren für eine Neuronetzeinheit mit einer Mehrzahl von Neuroneneinheiten, die jeweils elektronisch einen Nervenzellenkörper ausdrücken, und einer Mehrzahl von Synapseneinheiten, die jeweils Neuroneneinheiten über eine durch einen voreingestellten Synapsengewichtungswert dargestellte Kopplungsstärke koppeln, gekennzeichnet durch die Schritte:

    Zuführen eines Musters von Zufallszahlen an die Neuronetzeinheit als Eingangsdaten, und

    Wiederherstellen der jeweiligen Synapsengewichtungswertinformation in Abhängigkeit von den Ausgaben der Neuroneneinheiten, die als Ergebnis des Betriebs in Abhängigkeit vom Zufallszahlenmuster erzeugt werden.
  17. 17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Korrekturschritt den Schritt Erhöhung des Synapsengewichtungswerts einer Synapseneinheit mit zugehörigen Neuroneneinheiten, die beide in einem feuernden Zustand sind, wenn ein erstes Muster von Zufallszahlen zugeführt wird, und Erniedrigung des Synapsengewichtungswerts einer Synapseneinheit mit zugehörigen Neuroneneinheiten, die beide in einem feuernden Zustand sind, wenn ein zweites Muster von Zufallszahlen zugeführt wird, aufweist.
  18. 18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß der Schritt der Erhöhung und der Schritt der Erniedrigung zusammen für eine Mehrzahl von ersten und zweiten Mustern von Zufallsdaten ausgeführt werden.
  19. 19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, daß das erste und das zweite Muster miteinander übereinstimmen.
  20. 20. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Korrekturschritt die Schritte:

    Bestimmen in Abhängigkeit von den Ausgaben von mindestens einem Teil der Neuroneneinheiten, die in Abhängigkeit vom Zufallszahlenmuster betrieben worden sind, ob der Synapsengewichtungswert einer Synapseneinheit mit zugehörigen Neuroneneinheiten, die beide in einem feuernden Zustand sind, erhöht oder erniedrigt werden soll, und

    Ändern des Synapsengewichtungswerts der Synapseneinheit auf der Basis des Bestimmungsergebnisses im Bestimmungsschritt aufweist.
  21. 21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der Bestimmungsschritt den Schritt der stochastischen Bestimmung, ob der Synapsengewichtungswert erhöht oder erniedrigt werden soll, aufweist.
  22. 22. Betriebsverfahren für eine Neuronetzeinheit mit einer Mehrzahl von Neuroneneinheiten, die elektronisch Nervenzellenkörper ausdrücken, und einer Mehrzahl von Synapseneinheiten zum Koppeln von Neuroneneinheiten über eine voreingestellte Kopplungsstärke, die durch einen Synapsengewichtungswert dargestellt wird, gekennzeichnet durch die Schritte:

    Zuführen von zu verarbeitenden Eingangsdaten an die Neuronetzeinheit,

    Korrigieren der Synapsengewichtungswerte der Synapseneinheiten nach der Konvergenz der Neuronetzeinheit in Abhängigkeit von den Ausgaben der Neuroneneinheiten, und

    externes Ausgeben von Ausgangsdaten entsprechend den Eingangsdaten von der Neuronetzeinheit.
  23. 23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß der Korrekturschritt die Schritte:

    Bestimmen in Abhängigkeit von den Ausgaben von mindestens einem Teil der Neuroneneinheiten, ob die Synapsengewichtungswerte der Synapseneinheiten erhöht oder erniedrigt werden sollen, und

    Erhöhen des Synapsengewichtungswerts der Synapseneinheiten mit zugehörigen Neuroneneinheiten, die bei in einem feuernden Zustand sind, wenn im Bestimmungsschritt die Erhöhung bestimmt worden ist, aufweist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche


Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com