DE4239308C2 - Neuronetzeinheit und Betriebsverfahren dafür - Google Patents
Neuronetzeinheit und Betriebsverfahren dafürInfo
- Publication number
- DE4239308C2 DE4239308C2 DE4239308A DE4239308A DE4239308C2 DE 4239308 C2 DE4239308 C2 DE 4239308C2 DE 4239308 A DE4239308 A DE 4239308A DE 4239308 A DE4239308 A DE 4239308A DE 4239308 C2 DE4239308 C2 DE 4239308C2
- Authority
- DE
- Germany
- Prior art keywords
- synapse
- neuron
- signal
- units
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06J—HYBRID COMPUTING ARRANGEMENTS
- G06J1/00—Hybrid computing arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Fuzzy Systems (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
Die Erfindung betrifft eine Neutronetzeinheit zur elektronischen
Realisierung eines Neuronalen Netzes nach dem Oberbegriff des
Patentanspruches 1. Die Erfindung betrifft ebenfalls ein Betriebs
verfahren für eine Neuronetzeinheit mit einer Mehrzahl von Neuro
neneinheiten nach dem Oberbegriff des Patentanspruches 16 oder des
Patentanspruches 22.
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) Wÿ zwischen Neuronen i
und j symmetrisch (Wÿ = 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 = ΣWÿ * Sj + Wii.
Diese Gesamtsumme Σ wird für j erhalten. Es wird hier eine
symmetrische Synapsenkopplung Wÿ=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 = -ΣWÿ * 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:
ΔWÿ = η * (p⁺ÿ-p-ÿ) (1)
worin η einen Koeffizienten darstellt, der den Umfang der Korrektur
der Synapsengewichtung W in einem einzelnen Lernzyklus angibt und
positiv ist, p⁺ÿ 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⁻ÿ 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⁺ÿ 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⁻ÿ an, daß die Verbindung
(Synapsengewichtung Wÿ) 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.
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⁺ÿ 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 = ΣWÿ * 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⁺ÿ 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⁺ÿ ist.
Der Vorgang 2 (Minus-Phase) weist in ähnlicher Weise einen
Glühvorgang (a), einen Datensammlungsprozeß (b) und einen Prozeß zur
Erhaltung von p⁻ÿ 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⁻ÿ angenommen wird.
Im Vorgang 3 wird die Synapsengewichtung Wÿ entsprechend dem
folgenden relationalen Ausdruck mit den erhaltenen Mittelwerten p⁺ÿ
und p⁻ÿ geändert:
ΔWÿ = η * (p⁺ÿ - p⁻ÿ) (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 Wÿ 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 ΔWÿ 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 03-80 379 A2).
Um das Verständnis von Struktur und Betrieb
der später im Detail beschriebenen
Neuronetzvorrichtung besser zu verstehen, wird nun die integrierte
Neuronetz-Halbleiterschaltung, die vom Erfinder u. a. vorgeschlagen
worden ist, etwas detaillierter beschrieben.
Fig. 31 zeigt eine beispielhafte Gesamtstruktur einer integrierten
Neuronetz-Halbleiterschaltung, die vom Erfinder u. a. 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ß Wÿ=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 Wÿ * 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 Wÿ * Si auf einer weiteren Dendritsignalleitung DEi zu
erzeugen, auf.
Die von der Synapsenschaltung SY ausgedrückte Synapsengewichtung ist
symmetrisch, so daß Wji = Wÿ 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 als Impulssignal 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′ als Impulssignal 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 Vsp 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⁺ji = η * Si * Sj
ΔW-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 Strompfadschaltungen 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.
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.
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 N13. 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 Korrektursignale 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 realisiert 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⁺-Bereich 852 hoher Störstellenkonzentration, der mit
dem Knoten a verbunden ist, einen P⁺-Bereich 853 hoher
Störstellenkonzentration, der mit dem Knoten b verbunden ist, und
einen P⁺-Bereich 854 hoher Störstellenkonzentration, der mit dem
Knoten c verbunden ist, auf. Eine Gate-Elektrode 855 ist auf einem
Kanalbereich zwischen den P⁺-Bereichen 853 und 854 mit einem
darunterliegenden Isolierfilm (Gate-Isolierfilm) 856 gebildet. Diese
Gate-Elektrode 855 ist mit dem Knoten a über den N⁺-Bereich 852
verbunden.
Die Diode D801 wird vom P⁺-Bereich 853 und N⁺-Bereich 852 gebildet.
Die Diode D802 wird vom P⁺-Bereich 853, einem Kanalbereich, d. h.
einem Oberflächenbereich der N-Wanne 851 unter der Gate-Elektrode
855, und dem P⁺-Bereich 854 gebildet.
Bei der in Fig. 39 gezeigten Struktur ist eine weitere Diode durch
den Knoten a, den N⁺-Bereich 852, die N-Wanne 851 und den P⁺-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⁺-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 Neuronetzeinheit zur elektronischen Realisierung eines
Neuronalen Netzes zu schaffen, die einen Synapsengewichtungswert
stabil für eine lange Zeit halten kann,
die über
einen langen Zeitraum stabil arbeitet
und dabei einen Synapsengewichtungswert mit einer einfachen
Struktur und einer kurzen Arbeitszeitspanne auffrischen kann.
Des weiteren soll ein Betriebsverfahren für eine Neuronetzeinheit ange
geben werden.
Die Aufgabe wird gelöst durch die in Anspruch 1 gekennzeichnete
Neuronetzeinheit und das Verfahren von Anspruch 16 oder 22.
Die Neuronetzeinheit zum Realisieren
eines Neuronalen Netzes frischt 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, auf,
bevor die Synapsengewichtungswertinformation verschwindet.
Sie 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.
Es folgt die Beschreibung von Ausführungsbeispielen anhand der Figuren. Von
den Figuren zeigen:
Fig. 1: einen Auffrischungsbetrieb nach einer ersten Ausführungsform der
vorliegenden Erfindung;
Fig. 2: schematisch die Gesamtstruktur einer Neuronetzeinheit zum
Realisieren eines Neuronalen Netzes nach der 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 Neuronetzeinheit zum
Realisieren eines Neuronalen Netzes nach der ersten
Ausführungsform;
Fig. 8: einen Auffrischungsbetrieb nach einer zweiten Ausführungsform der
vorliegenden Erfindung;
Fig. 9: schematisch die Gesamtstruktur einer Vorrichtung zum
Ausdrücken eines Neuronalen Netzes nach der 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 Realisieren eines
Neuronalen Netzes von Fig. 9;
Fig. 13: die Struktur einer zweiten Einheit zum Realisieren 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 einer dritten Ausführungsform der
vorliegenden Erfindung;
Fig. 27: eine Referenzspannung, die der Neuroneneinheit der zweiten
Einheit zum Realisieren eines Neuronalen Netzes zugeführt
wird;
Fig. 28: ein Signaldiagramm des Auffrischungsbetriebs nach einer
vierten Ausführungsform 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
Realisieren 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.
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 (Wÿ=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
(Wÿ=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 Wÿ * Sj bzw.
Wÿ * 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:
ΔWÿ = η * (Si⁺ * Sj⁺-Si⁻ * Sj⁻)
Der Umfang ΔWÿ 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 ΣWÿ * 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 (Ausgangssignalen Si)
der Neuronen. In Fig. 5 bezeichnen Symbole mit einem Querstrich
logisch invertierte Signale.
Das Attribut eines jeden Neurons wird durch die Daten des
Schieberegisters SR(P) bestimmt. Wenn eine Neuroneneinheit als
verstecktes Neuron definiert ist, ist im Schieberegister SR(P) ein
Signal mit hohem Pegel gespeichert. Wenn eine Neuroneneinheit als
sichtbares Neuron eines Ausgangs- oder Eingangsneurons definiert
ist, ist im Schieberegister SR(P) ein Wert mit niedrigem Pegel
gespeichert.
Für eine als verstecktes Neuron d 91765 00070 552 001000280000000200012000285919165400040 0002004239308 00004 91646efinierte Neuroneneinheit ist der
Zustand des Steuersignals IselS beliebig. In diesem Fall fällt das
Ausgangssignal der NOR-Schaltung GNR in Abhängigkeit von einem
Signal mit hohem Pegel vom Schieberegister SR(P) auf einen niedrigen
Pegel. In diesem Zustand wählt der Selektor SEL1 das Ausgangssignal
des Komparators Comp aus und führt es dem Invertpuffer B′′ zu. Damit
gibt die Neuroneneinheit, die als versteckte Einheit definiert ist,
ein invertiertes Signal/Comp des Ausgangssignals vom Komparator
Comp als Zustandssignal Si aus.
In einer Neuroneneinheit, die als Ausgangsneuron definiert ist, ist
es notwendig, ein Zustandssignal Si entsprechend dem Ausgangssignal
vom Komparator Comp während eines Aufrufbetriebs auszugeben. In der
Plus-Phase des Lernmodus ist es erforderlich, Daten entsprechend den
Lerndaten als Zustandssignal Si auszugeben. In der Neuroneneinheit,
die als Ausgangsneuron definiert ist, wird daher das Steuersignal
IselS während des Aufrufbetriebs oder wenn die Lernphase eine Minus-
Phase ist auf einen hohen Pegel gesetzt, während das Steuersignal
IselS auf einen niedrigen Pegel gesetzt wird, wenn der Lernmodus in
einer Plus-Phase ist. Wenn das Steuersignal IselS auf einem hohen
Pegel liegt, wählt der Selektor SEL1 das Ausgangssignal des
Komparators Comp aus und überträgt es ähnlich wie die
Neuroneneinheit, die als verstecktes Neuron definiert ist, zum
Inverterpuffer B. Wenn das Steuersignal IselS auf einem niedrigen
Pegel liegt, wählt der Selektor SEL1 die im Schieberegister SR(T)
gespeicherten Daten aus und führt sie dem Inverterpuffer B zu.
In einer Neuroneneinheit, die als Eingangsneuron definiert ist, ist
das Steuersignal IselS auf einem niedrigen Pegel fixiert. In diesem
Fall wählt der Selektor SEL1 die im Schieberegister SR(T)
gespeicherten Daten aus und führt sie dem Inverterpuffer B′′ zu. In
einem Aufrufbetrieb werden Aufrufeingangsdaten dem Schieberegister
SR(T) anstelle der Lerndaten zugeführt. In der Neuroneneinheit, die
als Eingangsneuron definiert ist, werden dem Inverterpuffer B
üblicherweise Daten zugeführt, die im Schieberegister SR(T)
gespeichert sind.
Das Steuersignal IselO wird zur Steuerung des Schiebebetriebs des
Schieberegisters SR(T) benutzt, das in der Neuroneneinheit NU
gebildet ist. Wenn das Steuersignal IselO auf einen niedrigen Pegel
fällt, wählt der Selektor SEL2 das Ausgangssignal des
Inverterpuffers B′′ aus und führt es einem Schieberegister SR(T) einer
benachbarten Neuroneneinheit zu. Wenn das Steuersignal IselO auf
einem hohen Pegel ist, wählt der Selektor SEL2 die im
Schieberegister SR(T) gespeicherten Daten aus und führt sie dem
Schieberegister SR(T) der benachbarten Neuroneneinheit zu.
Nun wird der Betrieb kurz beschrieben. Das Attribut der
Neuroneneinheit wird durch einen Einschiebvorgang über das
Schieberegister SR(P) eingestellt. Im Lernmodus werden die Lerndaten
im Schieberegister SR(T) durch einen Einschiebvorgang über den
Selektor SEL2 eingestellt. In diesem Zustand wird der Lernvorgang
ausgeführt. In einer Plus-Phase wird das Steuersignal IselS in einer
Ausgangs- und einer Eingangsneuroneneinheit auf einen niedrigen
Pegel gesetzt. Damit geht das Zustandssignal Si der Neuroneneinheit
NU auf einen Wert, der den Lerndaten entspricht, die im
Schieberegister SR(T) eingestellt worden sind. In einem versteckten
Neuron wählt der Selektor SEL1 das Ausgangssignal des Komparators
Comp aus, so daß ein Zustandssignal Si entsprechend dem internen
Aktivwert ausgegeben wird.
In einer Minus-Phase wird das Steuersignal IselS für eine
Ausgangsneuroneneinheit auf einen hohen Pegel und für eine
Eingangsneuroneneinheit auf einen niedrigen Pegel gesetzt. In diesem
Zustand ist nur der Ausgangszustand der Eingangsneuroneneinheit auf
den Lerndaten fixiert, während die versteckte Neuroneneinheit und
die Ausgangsneuroneneinheit Zustandssignale Si entsprechend den
internen Aktivwerten ausgeben.
In einem Aufrufbetrieb wird das Signal in einer ähnlichen Weise wie
der Minus-Phase eingestellt. Damit geben die versteckte
Neuroneneinheit und die Ausgangsneuroneneinheit interne Aktivwerte
entsprechend den Aufrufeingangsdaten aus, die anstelle der Lerndaten
zugeführt werden, während die Eingangsneuroneneinheit ein
Zustandssignal entsprechend dem Eingangsmuster ausgibt.
Um den Zustand der jeweiligen Neuroneneinheit auszulesen, nachdem
das Neuronale Netz konvergiert hat, wird das Steuersignal IselO auf
einen niedrigen Pegel gesetzt, so daß das Ausgangssignal des
Inverterpuffers B ausgewählt und zur benachbarten Neuroneneinheit
übertragen wird. Damit wird der Zustand der jeweiligen
Neuroneneinheit NU im Schieberegister SR(T) der benachbarten
Neuroneneinheit eingestellt. Dann wird das Steuersignal IselO auf
einen hohen Pegel gesetzt, um den Inhalt des Schieberegisters SR(T)
durch das Taktsignal auszuschieben. Damit kann das Zustandssignal
der jeweiligen Neuroneneinheit NU nach außerhalb des Neuronalen
Netzes ausgelesen werden.
Fig. 6 zeigt eine exemplarische Struktur der Eingangsdaten-
Steuereinheit 502 von Fig. 2. Wie in Fig. 6 gezeigt ist, weist die
Eingangsdaten-Steuereinheit 502 zwölf Stufen von kaskadenförmig
verbundenen Schieberegistern SR10, SR12, . . ., SR32 auf. Jedes der
Schieberegister SR10 bis SR32 führt einen Schiebevorgang in
Abhängigkeit von 2-Phasen-Taktsignalen T1 und T2 aus. Jedes der
Schieberegister SR10 bis SR32 verriegelt nämlich ein Signal an
seinem Eingang D, wenn das Taktsignal T1 zugeführt wird, und gibt
die verriegelten Daten an seinem Ausgang Q in Abhängigkeit vom
Taktsignal T2 ab.
Die Eingangsdaten-Steuereinheit 502 weist ferner eine 2-Eingangs-
ExOR-Schaltung EX1, die die Q-Ausgangssignale der Schieberegister
SR24 und SR32 empfängt, eine 2-Eingangs-ExOR-Schaltung EX2, die die
Ausgangssignale der ExOR-Schaltung EX1 und des Schieberegisters SR18
empfängt, eine ExOR-Schaltung EX3, die das Ausgangssignal der ExOR-
Schaltung EX2 und das Q-Ausgangssignal des Schieberegisters SR10
empfängt, und einen Selektor SLT, der das Ausgangssignal von der
ExOR-Schaltung EX3 oder die Lerndaten (oder die Aufrufeingangsdaten)
in Abhängigkeit vom Auswahlsteuersignal IselR auswählt, auf. Das
Ausgangssignal des Selektors SLT wird dem Anfangsstufen-
Schieberegister SR10 zugeführt. Das Schieberegister SR32 gibt die
Eingangsdaten Din an die Neuronetzeinheit 501 aus. Nun wird der
Betrieb der Eingangsdaten-Steuereinheit 502 beschrieben.
Um Anfangsdaten in den jeweiligen Schieberegistern SR10 bis SR32
einzustellen, wird der Selektor SLT in einen Lerndaten-
Auswahlzustand (D2-Eingangsauswahlzustand) versetzt. Der
Auswahlzustand des Selektors SLT wird durch das Steuersignal IselR
bestimmt. Die Lerndaten oder ein beliebiger Eingangsdatenzug wird
zugeführt, und dann werden die Taktsignale T1 und T2 erzeugt. Damit
werden die Anfangsdaten in den Schieberegistern SR10 bis SR32
eingestellt. Wenn der Selektor SLT in den D2-Eingangsauswahlzustand
versetzt und die Taktsignale T1 und T2 zugeführt worden sind,
überträgt das Schieberegister SR32 die Lerndaten als Eingangsdaten
Datain zur Neuronetzeinheit 501. Dieser Vorgang wird ausgeführt,
wenn im Lernmodus ein Lernmuster in der Neuroneneinheit NU
eingestellt worden ist.
Nachdem in den Schieberegistern SR10 bis SR32 die Anfangsdaten
eingestellt worden sind, wird der Selektor SLT in den D1-
Eingangsauswahlzustand versetzt. In diesem Zustand wählt der
Selektor SLT das Ausgangssignal der ExOR-Schaltung EX3 aus und
überträgt es zum Schieberegister SR10.
Allgemein gibt eine ExOR-Schaltung ein Signal mit niedrigem Pegel
aus, wenn die Logikwerte beider Eingänge miteinander übereinstimmen,
während es ein Signal mit hohem Pegel ausgibt, wenn die Logikwerte
der Eingänge nicht übereinstimmen. Betrachtet sei, daß Daten mit
hohem Pegel in den Schieberegistern SR10 bis SR32 eingestellt worden
sind. In diesem Fall fällt das Ausgangssignal der ExOR-Schaltung EX1
auf einen niedrigen Pegel ab und das Ausgangssignal der ExOR-
Schaltung EX2 steigt auf einen hohen Pegel an. Somit fällt das
Ausgangssignal der ExOR-Schaltung EX3 auf einen niedrigen Pegel ab,
so daß ein Wert mit niedrigem Pegel in das Schieberegister SR10
eingeschrieben wird.
Im nächsten Taktzyklus fällt das Ausgangssignal des Schieberegisters
SR10 auf einen niedrigen Pegel ab. Zu diesem Zeitpunkt liegen die
Ausgangssignale der Schieberegister SR10 bis SR32 weiter auf einem
hohen Pegel, und das Ausgangssignal der ExOR-Schaltung EX1 fällt auf
einen niedrigen Pegel ab, während das Ausgangssignal der ExOR-
Schaltung EX2 auf einen hohen Pegel ansteigt. Weil das
Ausgangssignal des Schieberegisters SR10 auf einem niedrigen Pegel
liegt und das Ausgangssignal der ExOR-Schaltung EX2 auf einem hohen
Pegel ist, steigt das Ausgangssignal der ExOR-Schaltung EX3 auf
einen hohen Pegel an. Dieser Vorgang wird anschließend so
wiederholt, daß das Schieberegister SR32 in Abhängigkeit von den
Anfangsdaten eine Pseudozufallszahlfolge erzeugt. Diese
Pseudozufallszahlfolge wird als Pseudozufallszahlfolge bezeichnet,
weil in der Datenfolge keine Regelmäßigkeit auftritt, obwohl die
erzeugten Daten durch den Datensatz im Anfangszustand vorhersagbar
sind. Diese Pseudozufallszahlfolge wird der Neuronetzeinheit 501 in
einem Auffrischungsvorgang als Zufallsmuster zugeführt.
Die Struktur des Funktionsblocks der Eingangsdaten-Steuereinheit 502
von Fig. 2 stimmt nicht eins-zu-eins mit dem Funktionsblock der
Eingangsdaten-Steuereinheit 502 von Fig. 6 überein. Diese Einheiten
sind jedoch funktional äquivalent, und die Eingangsdaten-
Steuereinheit 502 führt der Neuronetzeinheit 501 das Lernmuster oder
die Pseudozufallszahlfolge zu.
Wenn das Lernmuster ausgewählt und der Neuronetzeinheit 501
zugeführt wird, lernt diese Neuronetzeinheit 501 das zugeführte
Lernmuster entsprechend den Lernsteuersignalen Ts, ACP+, ACP- und
IselS. Das Lernmuster wird variiert und der Lernvorgang wiederholt,
wodurch die Speicherung der Lernmuster des Neuronalen Netzes, d. h.
der Täler der potentiellen Energie, vertieft wird.
In einem Auffrischungsbetrieb wird eine Pseudozufallszahlfolge vom
Pseudozufallszahlgenerator 503 zugeführt. In diesem Zustand wird das
Pseudozufallszahlenmuster als Lerndaten betrachtet, um das Lernen
auszuführen, wodurch die Synapsengewichtungswerte entsprechend den
Ausgangszuständen der jeweiligen Neuronen korrigiert werden, um die
Speicherung wiederzugewinnen.
Wie oben beschrieben worden ist, dient die Schaltung zum Korrigieren
der Synapsengewichtungswerte in einem Lernmodusbetrieb auch als
Synapsengewichtung-Korrekturschaltung in einem Auffrischungsbetrieb,
wodurch die Synapsengewichtungswertinformation zuverlässig und auf
einfache Weise mit hoher Geschwindigkeit aufgefrischt werden kann,
ohne eine komplizierte Schaltungsstruktur hinzuzufügen. Der Betrieb
der in den Fig. 2 bis 6 gezeigten Vorrichtung zum Ausdrücken eines
Neuronalen Netzes wird nun unter Bezugnahme auf Fig. 7 beschrieben,
die das zugehörige Betriebssignaldiagramm zeigt.
Die Vorrichtung zum Ausdrücken eines Neuronalen Netzes nach der
ersten Ausführungsform der vorliegenden Erfindung weist drei
Betriebsmodi auf, nämlich einen Lernmodus, einen
Informationshaltemodus (aufrufbarer Modus) und einen
Auffrischungsmodus. Nun wird der Betrieb im Lernmodus beschrieben.
Im Lernmodus werden die Eingabe der Lernmusterdaten, die Plus- und
Minus-Phasen des Lernmodus und die Gewichtungswertkorrektur
ausgeführt.
Der Neuronetzeinheit 501 wird ein Lernmuster als Eingangsdaten
Datain über die Eingangsdaten-Steuereinheit 502 zusammen mit einem
Schieberegister-Taktsignal CK zugeführt, so daß die Lerndaten im
Schieberegister SR(T) einer jeden Neuroneneinheit NU eingestellt
werden. Wenn das Attribut der Neuroneneinheit NU in diesem Lernmodus
noch nicht definiert ist, können in ähnlicher Weise mittels des
Taktsignals CK Attributdaten im Schieberegister SR(P) eingestellt
werden. Die Vorgänge der Lernphase werden ausgeführt, nachdem die
Lerndaten und die Attributdaten in der Neuroneneinheit NU
eingestellt worden sind.
Zuerst wird der Plus-Phasen-Betrieb ausgeführt. In diesem Zustand
wird das Steuersignal IselS auf einen niedrigen Pegel eingestellt.
In der Plus-Phase gibt eine Neuroneneinheit NU, die als sichtbares
Neuron definiert ist, daher ein Zustandssignal Si entsprechend den
Lerndaten, die als Eingangs- und Ausgangsdaten zugeführt werden,
aus. Andererseits gibt eine Neuroneneinheit NU, die als verstecktes
Neuron definiert ist, ein Zustandssignal Si entsprechend ihres
internen Aktivwerts aus. In diesem Zustand wird auf die Konvergenz
des Zustands der Vorrichtung zum Ausdrücken eines Neuronalen Netzes
gewartet. Es wird nämlich auf die Konvergenz des internen Zustands
der Vorrichtung zum Ausdrücken eines Neuronalen Netzes gewartet. Ein
solcher Konvergenzzustand wird als eingestellt betrachtet, indem man
feststellt, ob eine vorbestimmte Zeitspanne verstrichen ist. Wenn
entschieden worden ist, daß das Neuronale Netz in der Plus-Phase
einen Gleichgewichtszustand erreicht hat, wird das Steuersignal Ts
erzeugt. Es wird nämlich ein negatives Impulssignal als Steuersignal
Ts erzeugt. Damit wird ein invertiertes Signal des Produkts (Si * Sj)
der Zustandssignale in der D-Latch-Schaltung G101 (siehe Fig. 3) der
Synapsenschaltung gespeichert. Damit ist die Plus-Phase
abgeschlossen.
Dann wird der Minus-Phasen-Betrieb ausgeführt. Das Steuersignal
IselS wird auf einen hohen Pegel eingestellt. In diesen Zustand
erzeugt nur die Neuroneneinheit NU, die als Eingangsneuron definiert
ist, ein Zustandssignal entsprechend den Lerndaten, während die als
versteckte und Ausgangsdaten definierten Neuronen Zustandssignale Si
entsprechend ihrer internen Aktivwerte ausgeben. Wenn entschieden
wird, daß die Vorrichtung zum Ausdrücken eines Neuronalen Netzes
einen Gleichgewichtszustand erreicht hat, nachdem sie für eine
vorbestimmte Zeitspanne gearbeitet hat, werden in diesem Zustand die
Steuersignale ACP+ und ACP- erzeugt. Es werden nämlich negative
Impulse als Steuersignale ACP+ und ACP- erzeugt. Damit wird der in
der Synapsengewichtungswert-Speicherschaltung 101 gespeicherte
Synapsengewichtungswert in jeder der Synapsenschaltungen DSY
korrigiert. Zu diesem Zeitpunkt wird der Synapsengewichtungswert
nach der Mean-Field-Approximation der oben angeführten Lernregel für
die Boltzmann-Maschine korrigiert.
Dieser Vorgang wird für jedes Lernmuster wiederholt, so daß die
Vorrichtung zum Ausdrücken eines Neuronalen Netzes die Speicherung
für alle Lernmuster vertiefen kann. Wenn die Lernmuster in
Übereinstimmung mit einer Auftretungswahrscheinlichkeit zugeführt
worden sind und das erforderliche Lernen abgeschlossen ist, tritt
die Vorrichtung zum Ausdrücken eines Neuronalen Netzes in den
Haltemodus ein, der einen Aufrufbetrieb erlaubt.
Im Haltemodus (aufrufbarer Modus) werden alle Lernsteuersignale
ACP+, ACP- und Ts auf einem hohen Pegel fixiert. Die Steuersignale
IselS und IselO werden nur im Aufrufbetrieb erzeugt.
Im Schieberegister SR(T) der Neuroneneinheit, die als Eingangsneuron
definiert ist, werden ähnlich wie beim vorher erwähnten Einstellen
der Lernmusterdaten Aufrufeingangs-Musterdaten synchron zum
Taktsignal CK eingestellt.
Dann wird das Steuersignal IselS für eine vorbestimmte Zeitspanne
auf einen niedrigen Pegel gesetzt. Die Anfangszustände der
sichtbaren Neuronen werden entsprechend dem
Aufrufeingangsdatenmuster eingestellt. Dann wird das Steuersignal
IselS auf einen hohen Pegel angehoben. In diesem Zustand wird nur
der Ausgangszustand (Zustandssignal Si) derjenigen Neuroneneinheit,
die als Eingangsneuron definiert ist, auf dem
Aufrufeingangsdatenmuster fixiert. In diesem Zustand wird darauf
gewartet, daß sich die Vorrichtung zum Ausdrücken eines Neuronalen
Netzes auf einen Gleichgewichtszustand einstellt. Wenn entschieden
wird, daß die Vorrichtung zum Ausdrücken eines Neuronalen Netzes
einen Gleichgewichtszustand erreicht hat, wird das Steuersignal
IselO auf einen niedrigen Pegel gesenkt. Damit wird der
Ausgangszustand (Zustandssignal Si) der Neuroneneinheit NU über den
Selektor SEL2 (siehe Fig. 4) zur benachbarten Neuroneneinheit
übertragen und in deren Schieberegister SR(T) gespeichert.
Anschließend wird das Taktsignal CK zugeführt, so daß die in den
Schieberegistern SR(T) gespeicherten Daten nacheinander ausgeschoben
werden.
Das Ausgangszustandssignal der Neuroneneinheit NU wird vom
Schieberegister SR(T) der benachbarten Neuroneneinheit verriegelt.
Daher gibt eine Neuroneneinheit, die dem Ausgangsanschluß am
nächsten ist, Daten in Übereinstimmung mit dem Steuersignal IselO
ab. Wenn ein Ein-Stufen-Schieberegister für diese am nächsten
liegende Neuroneneinheit gebildet ist, ist es möglich, die
Ausgangszustandssignale der Neuroneneinheiten in Übereinstimmung mit
dem Taktsignal CK auszuschieben. Ein solcher Aufrufvorgang kann zu
einem beliebigen Zeitpunkt während der Haltephase ausgeführt werden,
und der Aufrufvorgang wird auf der Basis von bereits gelernter
Speicherinformation entsprechend dem Eingangsdatenmuster ausgeführt,
um das entsprechende Ausgangsdatenmuster auszugeben.
Der Auffrischungsbetrieb entsprechend der vorliegenden Erfindung
wird ausgeführt, nachdem eine vorbestimmte Haltezeitspanne
verstrichen ist. In diesem Auffrischungszeitraum wird die vom
Pseudozufallszahlgenerator 503 (siehe Fig. 2) erzeugte
Pseudozufallszahlenfolge (Zufallsmuster) in der Eingangsdaten-
Steuereinheit 502 anstelle des Lernmuster ausgewählt und der
Neuronetzeinheit 501 zugeführt. In diesem Zustand wird das
Steuersignal IsekR auf einen niedrigen Pegel eingestellt, und der in
Fig. 6 gezeigte Selektor SLT wird in einen Zustand zum Auswählen des
Ausgangssignals der ExOR-Schaltung EX3 versetzt. Das von der
Pseudozufallszahlenfolge gebildete Zufallsdatenmuster wird in den
Neuroneneinheiten NU ähnlich wie bei der oben angeführten
Einstellung des Lerndatenmusters und des Eingangsdatenmusters in
Abhängigkeit vom Taktsignal CK eingestellt.
Nach dieser Einstellung des Zufallsdatenmusters wird das
Steuersignal IselS zuerst auf einen niedrigen Pegel eingestellt. Die
Neuronetzeinheit 501 wird in diesem Zustand getrieben. In diesem
Zustand ändert sich nur der Zustand der Neuroneneinheit NU, die als
verstecktes Neuron definiert ist. Damit wird der Anfangszustand der
Neuronetzeinheit 501 eingestellt. Wenn die Neuronetzeinheit 501 nach
dem Verstreichen einer vorbestimmten Zeitspanne einen
Gleichgewichtszustand erreicht hat, wird das Steuersignal IselS auf
einen hohen Pegel angehoben. In diesem Zustand ist nur der
Ausgangszustand der Neuroneneinheit NU fixiert, die als
Eingangsneuron definiert ist. Die Neuronetzeinheit 501 wird in
diesem Zustand erneut getrieben. Wenn die Neuronetzeinheit 501 nach
dem Verstreichen einer vorbestimmten Zeitspanne einen
Gleichgewichtszustand erreicht hat, wird entschieden, daß die
Neuronetzeinheit 501 auf einen zu speichernden Zustand hin
konvergiert hat, d. h. eine Zustand, der ein Tal der potentiellen
Energie liefert, wie in Fig. 1 gezeigt ist. Zu diesem Zeitpunkt wird
ein negatives Impulssignal als Steuersignal ACP+ zugeführt. Das
Steuersignal Ts wird zu diesem Zeitpunkt auf einen niedrigen Pegel
gesenkt, so daß die D-Latch-Schaltung G101 (siehe Fig. 3) in einem
Zustand ist, um das Ausgangssignal der NAND-Schaltung G100 (siehe
Fig. 3) durchzulassen. In diesem Zustand wird der
Synapsengewichtungswert in jeder Synapseneinheit mit
Zustandssignalen Si und Sj, die beide auf einem hohen Pegel sind,
vergrößert. Das entspricht einem Zustand, in dem seine Speicherung
vertieft wird. Das wird als Lay-to-Heart-Zustand bezeichnet.
Dann wird das Steuersignal IselS von einem hohen zu einem niedrigen
Pegel geändert, und die Neuronetzeinheit 501 wird erneut getrieben.
In diesem Zustand entsprechen die Ausgangszustände der sichtbaren
Neuronen dem zugeführten Zufallsdatenmuster, während nur der Zustand
der versteckten Neuronen entsprechend dem Zufallsdatenmuster
geändert wird. Wenn der Zustand der Neuronetzeinheit 501 konvergiert
hat, ist der konvergierte Zustand von einem durch Lernen
gespeicherten Zustand vollständig unabhängig (entsprechend dem Punkt
r1, r2 oder r3 in Fig. 1). Dieser Zustand wird nicht gespeichert. In
diesem Zustand wird das Steuersignal ACP- auf einen niedrigen Pegel
gesenkt. Das Steuersignal Ts wird auf einen niedrigen Pegel gesetzt.
In diesem Zustand wird der Synapsengewichtungswert in jeder
Synapseneinheit unabhängig vom Lay-to-Heart-Zyklus vermindert, die
Zustandssignale Si und Sj mit einem hohen Pegel aufweist.
Die oben angeführten Vorgänge werden für verschiedene Zufallsmuster
ausgeführt. Die Reihe von Auffrischungsvorgängen wird wiederholt, um
die Täler der potentiellen Energie zu vertiefen, die durch
Ladungslecks vermindert worden sind. Selbst wenn die durch Lernen
erhaltene Speicherung am Verschwinden ist, wird die verschwindende
Speicherung auf der Basis der gespeicherten Information
wiederhergestellt.
Mit der Beendigung des Auffrischungsbetriebs tritt die Vorrichtung
erneut in einen Haltebetrieb ein, um einen Aufrufbetrieb zu
ermöglichen. Nachdem eine vorbestimmte Zeitspanne während des
Haltebetriebs verstrichen ist, wird ein Auffrischungsvorgang
gestartet. Dieser Auffrischungsvorgang wird periodisch und zyklisch
eingefügt.
Der Auffrischungsvorgang kann so eingestellt werden, daß ein (nicht
gezeigter) Zeitgeber, der in der Vorrichtung gebildet ist, ein
Auffrischungs-Anweisungssignal erzeugt, nachdem im Haltebetrieb eine
vorbestimmte Zeitspanne verstrichen ist, um die notwendigen
Steuerschaltungen zu treiben.
Alternativ kann eine extern gebildete Verarbeitungseinheit, wie z. B.
eine zentrale Verarbeitungseinheit, periodisch
Auffrischungsanweisungen zuführen, um den Auffrischungsbetrieb
auszuführen.
Wie oben beschrieben worden ist, ist es in einem nicht
"Vergessensvorgang" des Auffrischungsmodus möglich, die in Fig. 1
gezeigten Täler der potentiellen Energie ausreichend zu vertiefen,
indem ein Zufallsdatenmuster als Aufrufeingangsmuster zugeführt
wird, um die Vorrichtung zum Ausdrücken eines Neuronalen Netzes in
einen Zustand zu konvergieren, der im Lay-to-Heart-Vorgang den am
nächsten liegenden Minimalwert der Energie liefert und den
Speicherzustand verstärkt, und das sichtbare Neuron auf dem
Zufallsdatenmuster zu fixieren und ein Antilernen mit der Annahme
auszuführen, daß der Zustand nicht gespeichert werden soll.
In diesem Fall kann im nicht bewußten Betrieb die Anzahl der
Zuführungen von Impulsen des Steuersignals ACP- erhöht oder deren
Impulsbreite kann in ausreichendem Maße verbreitert werden, um den
Umfang der Korrektur des Synapsengewichtungswerts, d. h. des
Lernkoeffizienten η zu erhöhen. Damit ist es möglich, die Täler der
potentiellen Energie, die einen zu speichernden Zustand liefern,
ausreichend zu vertiefen.
Obwohl der Anfangszustand im Aufrufbetrieb und im
Auffrischungsbetrieb durch das Aufrufeingangsmuster bzw. das
Zufallsdatenmuster eingestellt wird, wird dies ausgeführt, um das
Tal der potentiellen Energie schneller zu finden, das dem Zustand am
nächsten ist, der durch die gegebenen Eingangsdatenmuster oder das
Zufallsdatenmuster geliefert wird.
Beim oben angeführten Verfahren wird angenommen, daß alle
konvergierten Zustände des Neuronalen Netzes mit dem Anfangszustand
eines Zufallsmusters der Zufallszahlendaten gespeichert werden
sollen (Zustände, die durch Lernen gespeichert sind). Im allgemeinen
bewirkt das Neuronale Netz jedoch nicht notwendigerweise einen
Übergang von einem beliebigen Anfangszustand zu einem gelernten und
gespeicherten Zustand, weil es die Möglichkeit gibt, daß Punkte
minimaler Energie in anderen als den gespeicherten Zuständen
vorhanden sind.
Es wird eine Einrichtung zum Entscheiden, ob ein konvergierter
Zustand eines Neuronalen Netzes gespeichert werden soll, gebildet.
Eine solche Entscheidungseinrichtung wird durch ein zweites
Neuronales Netz implementiert, das statische Synapsenschaltungen
aufweist, die keinen Auffrischungsvorgang benötigen und
Synapsengewichtungswerte für lange Zeit stabil halten kann.
Das zweite Neuronale Netz entscheidet auf der Basis des
Ausgangssignals vom ersten Neuronalen Netz, ob ein konvergierter
Zustand des ersten Neuronalen Netzes gespeichert werden soll. Um das
Kriterium dieser Entscheidung zu bilden, lernt das zweite Neuronale
Netz gleichzeitig mit dem Lernen des ersten Neuronalen Netzes oder
unabhängig davon gegebene Datenmuster (Zustandsausgangsmuster von
Neuroneneinheiten, die im ersten Neuronalen Netz gebildet sind), um
zu entscheiden, ob die Muster Zuständen entsprechen, die gespeichert
werden sollen (Lernmuster).
Fig. 8 zeigt einen Auffrischungsvorgang im Zusammenhang mit dem
zweiten Neuronalen Netz, das als eine Entscheidungseinrichtung
verwendet wird. Fig. 8(a) zeigt Beziehungen zwischen Zuständen des
ersten Neuronalen Netzes, das einen Aufruf-, Lern- und
Auffrischungsbetrieb ausführt, und den Niveaus der potentiellen
Energie. In Fig. 8(a) zeigt die Abszisse die Zustände des ersten
Neuronalen Netzes und die Ordinate die Niveaus der potentiellen
Energie in den jeweiligen Zuständen. Die Kurve A stellt das Niveau
der potentiellen Energie entsprechend einem Speicherzustand des
ersten Neuronalen Netzes unmittelbar nach dem Lernen dar, und die
Kurve B zeigt das Niveau der potentiellen Energie entsprechend einem
Zustand, daß die Synapsengewichtungswerte durch Ladungslecks
geändert worden sind, d. h. verschwindende Speicherzustände (d. h.
vergessene Zustände). Die Kurve E stellt das Niveau der potentiellen
Energie entsprechend einem Zustand dar, der durch einen
Auffrischungsvorgang wiedergewonnen wurde.
Fig. 8(b) zeigt die Eingangszustände des zweiten Neuronalen Netzes,
d. h. die internen Zustände des ersten Neuronalen Netzes, wobei die
Ordinate das Ausgangssignal des zweiten Neuronalen Netzes darstellt.
In Fig. 8(b) zeigt das Polygon F die Ein-/Ausgangskennlinie des
zweiten Neuronalen Netzes nach dem Lernen, während das Symbol H
einen zu speichernden Zustand und das Symbol L einen nicht zu
speichernden Zustand darstellt.
Die Fig. 8(a) und 8(b) zeigen die Zustände des ersten Neuronalen
Netzes und die Eingangszustände des zweiten Neuronalen Netzes so,
daß sie zueinander ausgerichtet sind. Das Ausgangssignal des zweiten
Neuronalen Netzes steigt in Bereichen auf einen hohen Pegel an, die
den Tälern der potentiellen Energie des ersten Neuronalen Netzes
entsprechen. Wenn das Ausgangssignal des zweiten Neuronalen Netzes
auf einem hohen Pegel liegt, wird der Speicherzustand des ersten
Neuronalen Netzes verstärkt, ansonsten abgeschwächt. Es werden die
folgenden Vorgänge ausgeführt.
- i) Ein Zufallsdatenmuster wird für einen Anfangszustand eingegeben, und dann beginnt das erste Neuronale Netz zu arbeiten. Das erste Neuronale Netz konvergiert auf einen Zustand, der ein Tal der potentiellen Energie liefert, das dem Zufallsmuster am nächsten liegt.
- ii) Das zweite Neuronale Netz empfängt das Zustandsausgangssignal des ersten Neuronalen Netzes und entscheidet, ob der konvergierte Zustand des ersten Neuronalen Netzes gespeichert werden soll.
- iii) Wenn das zweite Neuronale Netz ein Signal mit hohem Pegel
ausgibt, um anzugeben, daß der Zustand gespeichert werden soll, wird
der Synapsengewichtungswert der Synapsen im ersten Neuronalen Netz
verstärkt, bei denen die zugehörigen Neuronen in feuernden Zuständen
sind.
Wenn das zweite Neuronale Netz ein Signal mit niedrigem Pegel ausgibt, um anzugeben, daß der Zustand nicht gespeichert werden soll, wird der Synapsengewichtungswert der Synapsen im ersten Neuronalen Netz vermindert, bei denen die zugehörigen Neuronen in feuernden Zuständen sind. - iv) Die oben angeführten Vorgänge (i) bis (iii) werden für verschiedene Zufallsmuster wiederholt ausgeführt.
In Übereinstimmung mit diesem Auffrischungsverfahren wird die
Speicherung korrekt aufgefrischt, selbst wenn es Minimumpunkte gibt,
die nicht gespeichert werden müssen, und es ist möglich, die Kurve E
wieder zu speichern, die der in Fig. 8(a) gezeigten Kurve A ähnlich
ist. Nun wird eine Struktur zum Implementieren des
Auffrischungssystems unter Verwendung des zweiten Neuronalen Netzes
beschrieben.
Fig. 9 zeigt die Gesamtstruktur einer Vorrichtung zum Ausdrücken
eines Neuronalen Netzes nach der zweiten Ausführungsform der
vorliegenden Erfindung. Wie in Fig. 9 gezeigt ist, weist die
Vorrichtung zum Ausdrücken eines Neuronalen Netzes eine erste
Neuronetzeinheit 501, eine zweite Neuronetzeinheit 505, die einen
Teil oder alle Ausgangssignale von der ersten Neuronetzeinheit 501
empfängt, und eine Steuereinheit 550, die den Auffrischungsbetrieb
der ersten Neuronetzeinheit 501 in Übereinstimmung mit dem
Ausgangssignal der zweiten Neuronetzeinheit 505 in einem
Auffrischungsbetrieb steuert, auf. Die Steuereinheit 550 steuert
auch die Lern- und Aufrufvorgänge der ersten Neuronetzeinheit 501.
Die Steuereinheit 550 weist eine Eingangsdaten-Steuereinheit 502 zum
Auswählen von Daten, die der ersten Neuronetzeinheit 501 zugeführt
werden, auf. Die Struktur der Eingangsdaten-Steuereinheit 502 ist
ähnlich der Struktur der in Fig. 2 gezeigten Einheit 502, und weist
einen Zufallszahlengenerator 503 und einen Selektor 504 auf.
Struktur und Betrieb der Eingangsdaten-Steuereinheit 502 sind
ähnlich wie bei der unter Bezugnahme auf die Fig. 2 und 6
beschriebenen Einheit. Daher wird deren Beschreibung hier
weggelassen.
Die Steuereinheit 550 weist ferner eine Substeuereinheit 551 zum
Steuern des Auffrischungsbetriebs der ersten Neuronetzeinheit 501
auf. Diese Substeuereinheit 551 weist eine Entscheidungsmuster-
Speicherschaltung 507, die Ausgangsmuster der zweiten
Neuronetzeinheit 505 speichert, d. h. Lernmuster für die zweite
Neuronetzeinheit 505, eine Übereinstimmungserfassungsschaltung 506
zur Erfassung von Übereinstimmungen der Datenmuster, die in der
Entscheidungsmuster-Speicherschaltung 507 gespeichert sind, und der
Ausgangsdatenmuster der zweiten Neuronetzeinheit 505, und eine
Auffrischungssteuerschaltung 509, die Lernsteuersignale ACP+ und
ACP- in Abhängigkeit von den Steuersignalen/ACP und MODE und dem
Ausgangssignal von der Übereinstimmungserfassungsschaltung 506
erzeugt, auf.
Das Steuersignal MODE, das ein Modusumschaltsignal darstellt,
bestimmt einen Lernbetriebsmodus oder einen
Auffrischungsbetriebsmodus. Das Steuersignal /ACP dient als
Referenzsignal für die Lernsteuersignale ACP+ und ACP-, so daß das
Lernsteuersignal ACP+ oder ACP- in Abhängigkeit vom Steuersignal
/ACP zusammen mit einer Erhöhung oder Erniedrigung der
Synapsengewichtungswerte erzeugt wird.
Die Steuereinheit 550 weist ferner eine Pufferschaltung 555 auf, die
ein Steuersignal Ts und das Ausgangssignal von der
Auffrischungssteuerschaltung 509 empfängt, um die Steuersignale Ts,
ACP- und ACP+ zu erzeugen.
Fig. 10 zeigt eine beispielhafte Struktur der
Übereinstimmungserfassungsschaltung 506 von Fig. 9. Wie in Fig. 10
gezeigt ist, weist die zweite Neuronetzeinheit 505 n
Ausgangsneuronen auf. Die Übereinstimmungserfassungsschaltung 506
weist n ExOR-Schaltungen EXR1 bis EXRn und eine NOR-Schaltung NRG,
die die Ausgangssignale von den ExOR-Schaltungen EXR1 bis EXRn
empfängt, auf. Jede der ExOR-Schaltungen EXR1 bis EXRn empfängt ein
entsprechendes Bit Tm der Entscheidungsmuster von der
Entscheidungsmuster-Speicherschaltung 507 und ein entsprechendes Bit
Om der Ausgangsmuster der zweiten Neuronetzeinheit 505. Das Symbol m
bezeichnet ganze Zahlen zwischen 1 und n.
Die ExOR-Schaltungen EXR1 bis EXRn geben Signale mit niedrigem Pegel
aus, wenn die Logikpegel der empfangenen Eingangssignale miteinander
übereinstimmen, während die NOR-Schaltung NRG ein Signal mit hohem
Pegel ausgibt, wenn alle empfangenen Eingangssignale auf einem
niedrigen Pegel sind. Bei der in Fig. 10 gezeigten Struktur steigt
das Übereinstimmungserfassungssignal Ma daher auf einen hohen Pegel
an, wenn das von den Datenbits T1 bis Tn gebildete
Entscheidungsmuster mit dem von den Bits O1 bis On gebildeten
Ausgangsmuster übereinstimmt.
Die Entscheidungsmuster-Speicherschaltung 507 kann ein einzelnes
oder eine Mehrzahl von Entscheidungsmustern speichern. Wenn die
Entscheidungsmuster-Speicherschaltung 507 eine Mehrzahl von
Entscheidungsmustern speichert, werden diese Entscheidungsmuster
nacheinander der Übereinstimmungserfassungsschaltung 506 zugeführt.
Die Ausgangssignale Ma der Übereinstimmungserfassungsschaltung 506
entsprechend den jeweiligen Entscheidungsmustern werden in Latch-
Schaltungen der Schieberegister gespeichert. Die logische Summe OR
der Signale Ma, die in den Schieberegister-Latches verriegelt sind,
werden zur Erzeugung eines endgültigen
Übereinstimmungserfassungssignals Ma verwendet. Die zweite
Neuronetzeinheit 505 lernt die in der Entscheidungsmuster-
Speicherschaltung 507 als Lernmuster gespeicherten
Entscheidungsmuster, wie später beschrieben wird.
Fig. 11 zeigt eine beispielhafte Struktur der
Auffrischungssteuerschaltung von Fig. 9. Wie in Fig. 11 gezeigt ist,
weist die Auffrischungssteuerschaltung 509 eine 2-Eingangs-NAND-
Schaltung ND10, die das Modusumschaltsignal MODE und das
Übereinstimmungserfassungssignal Ma empfängt, eine Inverterschaltung
GI, die das Übereinstimmungserfassungssignal Ma invertiert, eine 2-
Eingangs-NAND-Schaltung ND12, die das Modusumschaltsignal MODE und
das Ausgangssignal der Inverterschaltung GI empfängt, eine 2-
Eingangs-NAND-Schaltung ND14, die das Lernsteuersignal /ACP und das
Ausgangssignal der NAND-Schaltung ND12 empfängt, und eine 2-
Eingangs-NAND-Schaltung ND11, die das Lernsteuersignal /ACP und das
Ausgangssignal der NAND-Schaltung ND10 empfängt, auf. Die NAND-
Schaltung ND14 erzeugt das Lernsteuersignal ACP+ zum Erhöhen des
Synapsengewichtungswerts, während die NAND-Schaltung ND16 das
Lernsteuersignal ACP- zur Verminderung des Synapsengewichtungswerts
erzeugt.
Die Pufferschaltung 555 weist einen Puffer BU2, der das Steuersignal
Ts empfängt, einen Puffer BU4, der das Ausgangssignal der NAND-
Schaltung ND16 empfängt, und einen Puffer BU6, der das
Ausgangssignal der NAND-Schaltung ND14 empfängt, auf. Unter
Bezugnahme auf Fig. 11 wird nun der Betrieb dieser
Auffrischungssteuerschaltung 509 beschrieben.
Bei Lern- und Aufrufvorgängen wird das Modusumschaltsignal MODE auf
einen niedrigen Pegel eingestellt. Daher geben die NAND-Schaltungen
ND10 und ND12 unabhängig vom Logikzustand des
Übereinstimmungserfassungssignals Ma Signale mit einem hohen Pegel
aus. Damit dienen die NAND-Schaltungen ND14 und ND16 als
Inverterschaltungen, so daß die Lernsteuersignale ACP+ und ACP- in
Abhängigkeit vom Lernsteuersignal /ACP erzeugt werden. Dieses
Lernsteuersignal /ACP wird nur in der Lernphase erzeugt. In der
Lernphase werden die Synapsengewichtungswerte daher entsprechend den
Steuersignalen ACP+ und ACP- korrigiert.
In einer Auffrischungsphase wird das Modusumschaltsignal MODE auf
einen hohen Pegel eingestellt. Die NAND-Schaltungen ND10 und ND12
dienen als Inverterschaltungen. Wenn sich das
Übereinstimmungserfassungssignal auf einem hohen Pegel befindet,
fällt das Ausgangssignal der NAND-Schaltung ND10 auf einen niedrigen
Pegel, während das Ausgangssignal der NAND-Schaltung ND12 auf einen
hohen Pegel ansteigt. In diesem Zustand steigt das Ausgangssignal
der NAND-Schaltung ND16 auf einen hohen Pegel an, während die NAND-
Schaltung ND14 als Inverter dient, um ein invertiertes Signal des
Lernsteuersignals /ACP auszugeben.
Wenn die zweite Neuronetzeinheit 505 entscheidet, daß ein
konvergierter Zustand der ersten Neuronetzeinheit 501 gespeichert
werden soll, wird daher das Lernsteuersignal ACP+ erzeugt, um die
Speicherung der ersten Neuronetzeinheit 501 zu verstärken.
Wenn das Übereinstimmungserfassungssignal Ma auf einem niedrigen
Pegel liegt, steigt das Ausgangssignal der NAND-Schaltung ND10 auf
einen hohen Pegel an, und das Ausgangssignal der NAND-Schaltung ND12
fällt auf einen niedrigen Pegel ab. In diesem Zustand steigt das
Ausgangssignal der NAND-Schaltung ND14 auf einen hohen Pegel an,
während die NAND-Schaltung ND16 als Inverter dient, um das
Steuersignal in Abhängigkeit vom Lernsteuersignal /ACP auszugeben.
Wenn die zweite Neuronetzeinheit 505 nämlich entscheidet, daß ein
konvergierter Zustand der ersten Neuronetzeinheit 501 nicht
gespeichert werden soll, wird daher nur das Lernsteuersignal ACP-
erzeugt, um die Speicherung des konvergierten Zustands der ersten
Neuronetzeinheit 501 abzuschwächen.
Nun werden Struktur und Betrieb der ersten und zweiten
Neuronetzeinheit 501 und 505 beschrieben.
Fig. 12 zeigt die Struktur der ersten Neuronetzeinheit 501. Wie in
Fig. 12 gezeigt ist, ist die Struktur der Neuronetzeinheit 501
ähnlich der Struktur der in Fig. 2 gezeigten Neuronetzeinheit, und
weist eine Matrix von Synapsenschaltungen DSY analogen Speichertyps,
die Synapsengewichtungswertinformation in Kondensatoren speichern,
sowie Neuroneneinheiten NU, die in einer Spalte angeordnet sind,
auf. Struktur und Betrieb der Synapsenschaltungen DSY und der
Neuroneneinheiten NU sind ähnlich denen, die oben unter Bezugnahme
auf die Fig. 2 bis 5 beschrieben wurden. Daher wird die detaillierte
Beschreibung hier weggelassen.
Fig. 12 zeigt die Struktur der ersten Neuronetzeinheit 501. Wie in
Fig. 12 gezeigt ist, ist die Struktur der ersten Neuronetzeinheit
501 ähnlich der Struktur der in Fig. 2 dargestellten
Neuronetzeinheit und weist eine Matrix von analogen
Synapsenschaltungen DSY, die die Synapsengewichtungswertinformation
in Kondensatoren speichern, und Neuroneneinheiten NU, die in einer
Spalte angeordnet sind, auf. Struktur und Betrieb der
Synapseneinheiten DSY und der Neuroneneinheiten NU sind ähnlich wie
oben unter Bezugnahme auf die Fig. 2 bis 5 beschrieben worden ist.
Daher wird deren detaillierte Beschreibung hier weggelassen.
Fig. 13 zeigt die Struktur der zweiten Neuronetzeinheit 505. Die
zweite Neuronetzeinheit 505 weist eine Dreischichtstruktur auf mit
Neuroneneinheiten 1801, 1802, . . ., 1803, die eine Zwischenschicht
(versteckte Schicht) bilden, und Neuroneneinheiten 1901, . . ., 1902,
die eine Ausgangsschicht bilden. Eine Eingangsschicht der zweiten
Neuronetzeinheit 505 wird durch die jeweiligen Neuroneneinheiten der
ersten Neuronetzeinheit 501 gebildet. Es ist nicht unbedingt
notwendig, die Eingangsschicht der zweiten Neuronetzeinheit 505
durch alle Neuroneneinheiten der ersten Neuronetzeinheit 501 zu
bilden.
Die Synapsenschaltungen 1001, 1002, . . ., 1009 sind zwischen der
Eingangsschicht und den Neuroneneinheiten 1801 bis 1803 gebildet,
die die Zwischenschicht bilden. Die Synapsenschaltungen 1101, 1102,
. . ., 1106 sind zwischen den Neuroneneinheiten 1801 bis 1803, die die
Zwischenschicht bilden, und den Neuroneneinheiten 1901, . . ., 1902,
die die Ausgangsschicht bilden, geschaffen.
Wie in Fig. 13 gezeigt ist, werden die Ausgangssignale
(Zustandssignale) der entsprechenden Neuroneneinheiten der ersten
Neuronetzeinheit 501 zu Synapsenschaltungen SSY übertragen, die in
einer Zeile angeordnet sind. Bei der in Fig. 13 dargestellten
Struktur werden die Zustandssignale aller Neuroneneinheiten, die in
der ersten Neuronetzeinheit 501 gebildet sind, als Eingangssignale
der zweiten Neuronetzeinheit 505 verwendet. Die Ausgangssignale der
Synapsenschaltungen, die in einer Spalte der Einheit 501 angeordnet
sind, werden den entsprechenden Neuroneneinheiten der
Zwischenschicht zugeführt. Wie in Fig. 13 gezeigt ist, speichern die
Synapsenschaltungen, die in der zweiten Neuronetzeinheit 505
enthalten sind, Synapsengewichtungswertinformation als digitale
Information ohne Kondensatoren, um diese Information stabil für
lange Zeit zu halten. Damit benötigen die Synapsenschaltungen, die
in der zweiten Neuronetzeinheit 505 enthalten sind, keinen
Auffrischungsbetrieb, und daher werden diese als statische
Synapsenschaltungen mit den Symbolen SSY bezeichnet.
Die zweite Neuronetzeinheit 505 führt ein Lernen entsprechend einer
Lernregel aus, die als Back-Propagation (Rückwärtsausbreitung) durch
die Synapsenschaltungen 1001 bis 1106 bezeichnet wird. Nun werden
Struktur und Betrieb der Komponenten beschrieben, die die zweite
Neuronetzeinheit 505 bilden.
Die Synapsenschaltungen SSY weisen zwei Arten von Schaltungen auf,
nämlich Synapsenschaltungen 1001 bis 1009 ersten Typs zum Ausdrücken
der Kopplung der Eingangs- und der Zwischenschicht, und die
Synapsenschaltungen 1121 bis 1106 zweiten Typs zum Ausdrücken der
Kopplung der Zwischenschicht und der Ausgangsschicht.
Fig. 14 zeigt die Struktur der Synapsenschaltungen 1001 bis 1009 zum
Ausdrücken der Kopplung der Eingangs- und der Zwischenschicht. In
Fig. 14 stellt das Symbol SSY1 die Synapsenschaltung ersten Typs
dar. Die Synapsenschaltung SSY1 ersten Typs weist eine
Synapsengewichtungswert-Speicherschaltung 1701, die
Synapsengewichtungswertinformation speichert, eine
Lernsteuerschaltung 1703 zum Korrigieren eines
Synapsengewichtungswerts, der in der Synapsengewichtungswert-
Speicherschaltung 1701 gespeichert ist, und eine
Synapsenkopplungsschaltung 1702, die einen gewichteten Strom Io
ausgibt, der das Produkt eines Zustandssignals Si und eines in der
Synapsengewichtungswert-Speicherschaltung 1701 gespeicherten
Synapsengewichtungswerts Wji angibt, auf.
Die Synapsengewichtungswert-Speicherschaltung 1701, die ihre
Anfangsdaten verschieben kann, kann
Synapsengewichtungswertinformation I von einer benachbarten
Synapsenschaltung empfangen und diese einer weiteren benachbarten
Synapsenschaltung als Synapsengewichtungswertinformation O zuführen.
Damit ist es möglich, Anfangswerte der jeweiligen
Synapsenschaltungen extern einzustellen.
Fig. 15 zeigt groß die Gesamtstruktur der Synapsengewichtungswert-
Speicherschaltung 1701. Wie in Fig. 15 gezeigt ist, wird die
Synapsengewichtungswertinformation mit vier Bit ausgedrückt. Die
Synapsengewichtungswert-Speicherschaltung 1701 kann
Synapsengewichtungswertdaten I1, /I1 bis I4, /I4 von einer
benachbarten Synapsengewichtungswert-Speicherschaltung parallel
empfangen und den Synapsengewichtungswert zu einer benachbarten
Synapsengewichtungswert-Speicherschaltung über Anschlüsse O1, /O1
bis O4, /O4 parallel ausschieben. Die Speicherdaten der
Synapsengewichtungswert-Speicherschaltung 1701 werden in
Abhängigkeit von einem Voreinstellsignal Prs eingestellt. Ferner
wird in Abhängigkeit von einem Aktivierungssignal Enable von der
Lernsteuerschaltung 1703 ein Zählbetrieb der
Synapsengewichtungswert-Speicherschaltung 1701 gestartet, um die
Anzahl der Taktsignale, die am Taktsignalanschluß CK empfangen
werden, in Abhängigkeit von einem Herauf-/Herunterzähl-Befehlssignal
Up/Down von der Lernsteuerschaltung 1703 herauf- oder
herunterzuzählen.
Die Synapsengewichtungswert-Speicherschaltung 1701 ermittelt, ob an
den Eingangsanschlüssen I1, /I1 bis I4, /I4 empfangene Signale
verriegelt und ausgeschoben werden oder ein Zählvorgang in
Abhängigkeit von den Steuersignalen Enable und Up/Down von der
Lernsteuerschaltung 1703 und einem Auswahlsteuersignal S3′ ausgeführt
wird. Ein der Synapsengewichtungswert-Speicherschaltung 1701
zugeführtes Signal bitWkj gibt die Stelle des
Synapsengewichtungswerts an, um anzuzeigen, welche Stelle des
Synapsengewichtungswerts Wji zugeführt wird. Ein Taktsignal CKS wird
dem Taktsignalanschluß CK in Abhängigkeit vom Bitsignal bitWkj
zugeführt, um die Erhöhung oder Erniedrigung des Zählwerts in der
Synapsengewichtungswert-Speicherschaltung 1701 einzustellen. Wenn
das Bitsignal bitWkj die nullte Stelle angibt, wird das Taktsignal
CKS mit einem Verhältnis 1 zugeführt, während das Taktsignal CKS mit
einem Verhältnis 2 zugeführt wird, wenn das Bitsignal bitWkj die
erste Stelle angibt. Die Impulsbreite des Bitsignals bitWkj kann
variiert werden, wobei die Stellennummer durch diese ausgedrückt
wird, um die Anzahl der durchgelaufenen Taktsignale CKS
einzustellen. Das Bitsignal bitWkj wird verwendet, weil die zweite
Neuronetzeinheit 505 eine Vorwärtsausbreitungsstruktur aufweist, die
im folgenden detailliert beschrieben wird, um das Lernen durch Back-
Propagation zu implementieren.
Fig. 16 zeigt eine spezielle Struktur für einen 4-Bit-Zähler zum
Herauf- und Herunterzählen, der durch die in Fig. 15 gezeigte
Synapsengewichtungswert-Speicherschaltung 1701 gebildet wird. Wie in
Fig. 16 gezeigt ist, weist die Synapsengewichtungswert-
Speicherschaltung 1701 JK-Flip-Flops JF1 bis JF4 zum Speichern von
4-Bit-Synapsengewichtungswertdaten und Selektoren SL1a, SL1b bis
SL4a, SL4b zum Zuführen von Eingangsdaten an die JK-Flip-Flops JF1
bis JF4 auf. Die Selektoren SL1a und SL1b wählen entweder die
externen Einstelldaten I1 und /I1 oder ein Heraufzähl-
/Herunterzählsignal aus, um diese den J- und K-Eingängen des JK-
Flip-Flops JF1 zuzuführen.
Die Selektoren SL2a und SL2b führen entweder die externen Daten I2
und /I2 oder das Heraufzähl-/Herunterzählsignal den J- und K-
Eingängen des JK-Flip-Flops JF2 zu. Die Selektoren SL3a und SL3b
führen entweder die Einstelldatenbits I3 und /I3 oder das
Heraufzähl-/Herunterzählsignal den J- bzw. K-Eingängen des JK-Flip-
Flops JF3 zu. Die Selektoren SL4a und SL4b führen entweder die
Einstelldatenbits I4 und /I4 oder das Heraufzähl-/Herunterzählsignal
den J- und K-Eingängen des JK-Flip-Flops JF4 zu. Das Heraufzähl-
/Herunterzählsignal besteht aus Zähldatenbits, die aus einem
Zählvorgang im Betrieb der Synapsengewichtungswert-Speicherschaltung
1701 resultieren.
Die Synapsengewichtungswert-Speicherschaltung 1701 weist ferner eine
Inverterschaltung GA1, die das Aktivierungssignal Enable empfängt,
eine NOR-Schaltung GA2, die die Ausgangssignale von den
Gatterschaltungen GA4 und GA5 empfängt, eine NAND-Schaltung GA15,
die die Q-Ausgangssignale der JK-Flip-Flops JF1 bis JF4 empfängt,
eine NAND-Schaltung GA16, die die /Q-Ausgangssignale der JK-Flip-
Flops JF1 bis JF4 empfängt, eine Inverterschaltung GA3, die das
Herauf-/Herunterzähl-Befehlssignal Up/Down empfängt, eine NOR-
Schaltung GA4, die die Ausgangssignale von der Inverterschaltung GA3
und der NAND-Schaltung GA15 empfängt, und eine NOR-Schaltung GA5,
die das Herauf-/Herunterzähl-Befehlssignal Up/Down und das
Ausgangssignal der NAND-Schaltung GA16 empfängt, auf. Das
Ausgangssignal der NOR-Schaltung GA5 wird den Selektoren SL1a und
SL1b zugeführt.
Für das JK-Flip-Flop JF2 weist die Synapsengewichtungswert-
Speicherschaltung 1701 eine AND-Schaltung GA6, die das
Ausgangssignal der NOR-Schaltung GA2, das /Q-Ausgangssignal des JK-
Flip-Flops JF1 und das Ausgangssignal der Inverterschaltung GA3
empfängt, eine AND-Schaltung GA7, die das Q-Ausgangssignal des JK-
Flip-Flops JF1, das Ausgangssignal der NOR-Schaltung GA2 und das
Herauf-/Herunterzähl-Befehlssignal Up/Down empfängt, und eine OR-
Schaltung GA8, die die Ausgangssignale der AND-Schaltungen GA6 und
GA7 empfängt, auf. Das Ausgangssignal der OR-Schaltung GA8 wird den
Selektoren SL2a und SL2b zugeführt.
Für das JK-Flip-Flop JF3 weist die Synapsengewichtungswert-
Speicherschaltung 1701 eine AND-Schaltung GA9, die die /Q-
Ausgangssignale der JK-Flip-Flops JF1 und JF2 und die
Ausgangssignale der NOR-Schaltung GA2 und der Inverterschaltung GA3
empfängt, eine AND-Schaltung GA10, die die Q-Ausgangssignale der JK-
Flip-Flops JF1 und JF2, das Ausgangssignal der NOR-Schaltung GA2 und
das Herauf-/Herunterzähl-Befehlssignal Up/Down empfängt, und eine
OR-Schaltung GA11, die die Ausgangssignale der AND-Schaltungen GA9
und GA10 empfängt, auf. Das Ausgangssignal der OR-Schaltung GA11
wird den Selektoren SL3a und SL3b zugeführt.
Für das JK-Flip-Flop JF4 weist die Synapsengewichtungswert-
Speicherschaltung 1701 eine AND-Schaltung GA12, die die /Q-
Ausgangssignale der JK-Flip-Flops JF1, JF2 und JF3 und die
Ausgangssignale der NOR-Schaltung GA2 und der Inverterschaltung GA3
empfängt, eine AND-Schaltung GA13, die die Q-Ausgangssignale der JK-
Flip-Flops JF1 bis JF2, das Ausgangssignal der NOR-Schaltung GA2 und
das Herauf-/Herunterzähl-Befehlssignal Up/Down empfängt, und eine
OR-Schaltung GA14, die die Ausgangssignale der AND-Schaltungen GA12
und GA13 empfängt, auf. Das Ausgangssignal der OR-Schaltung GA14
wird den Selektoren SL4a und SL4b zugeführt. Nun wird der Betrieb
beschrieben.
Allgemein gibt ein JK-Flip-Flop Signale an seinen Q- und /Q-
Ausgängen aus, die an seinen J- und K-Eingängen empfangen wurden,
wenn ein Taktsignal zugeführt wird. Wenn die Selektoren SL1a, SL1b
bis SL4a, SL4b die externen Initialisierungsdaten I1, /I1 bis I4,
/I4 auswählen, geben die JK-Flip-Flops JF1 bis JF4 die externen
Einstelldaten I1, /I1 bis I4, /I4 parallel an eine benachbarte
Synapsengewichtungswert-Speicherschaltung als Ausgangsdaten O1, /O1
bis O4, /O4 in Abhängigkeit vom Taktsignal CK aus.
Wenn die beiden J- und K-Eingangssignale eines solchen JK-Flip-Flops
null sind (niedriger Pegel), wird sein Ausgangszustand nicht
invertiert, selbst wenn ein Taktsignal zugeführt wird, und der
Ausgangszustand wird bei der Zuführung eines Taktsignals invertiert,
wenn seine J- und K-Eingangssignale beide gleich "1" (hoher Pegel)
sind.
Das Steuersignal S3′ entscheidet, ob die Synapsengewichtungswert-
Speicherschaltung 1701 einen Zählvorgang ausführt oder die externen
Einstelldaten ein- und ausschiebt. Das Rückstellsignal Prs wird zum
Einstellen des Anfangszustands verwendet, und das JK-Flip-Flop JF4
empfängt diese Rückstellsignal Prs an seinem Löscheingang /CLR,
während die JK-Flip-Flops JF1 bis JF3 dasselbe an ihren
Voreinstelleingängen /PLRS empfangen. Der Ausgang des JK-Flip-Flops
JF4 liefert das höchstwertige Bit und der Ausgang des JK-Flip-Flops
JF1 das niederwertigste Bit.
Das Aktivierungssignal Enable wird in einem Herauf-
/Herunterzählvorgang der Synapsengewichtungswert-Speicherschaltung
1701 erzeugt. Bevor der Zählwert der Synapsengewichtungswert-
Speicherschaltung 1701 den Maximal- oder Minimalwert erreicht,
befinden sich die Ausgangssignale der NAND-Schaltungen GA15 und GA16
beide auf einem hohen Pegel. In diesem Fall liegen die
Ausgangssignale der Gatterschaltungen GA4 und GA5 beide auf einem
niedrigen Pegel. Wenn das Aktivierungssignal Enable erzeugt wird,
steigt das Ausgangssignal der NOR-Schaltung GA2 auf einen hohen
Pegel an. Damit steigen die J- und K-Eingangssignale des JK-Flip-
Flops JF1 beide auf einen hohen Pegel an, wobei das JK-Flip-Flop
JF1 seinen Ausgangszustand in Abhängigkeit vom Taktsignal CK
invertiert. Dieser Zustand wird zu den JK-Flip-Flops JF2 bis JF4
höherer Ordnung übertragen, um in Übereinstimmung mit dem vom
Herauf- /Herunterzähl-Befehlssignal Up/Down angewiesenen
Betriebsmodus einen Heraufzähl-/Herunterzählvorgang auszuführen.
Wenn das Herauf-/Herunterzähl-Befehlssignal Up/Down auf einem hohen
Pegel liegt, um einen Heraufzählvorgang anzugeben, steigt z. B. das
Ausgangssignal der AND-Schaltung GA7 auf einen hohen Pegel an, wenn
das Q-Ausgangssignal des JK-Flip-Flops JF1 auf einem hohen Pegel
liegt, wodurch das JK-Flip-Flop JF2 seinen Ausgangszustand in
Abhängigkeit vom Taktsignal CK invertiert. Damit invertieren die JK-
Flip-Flops JF3 und JF4 ihre Ausgangszustände in Abhängigkeit vom
Taktsignal CK, um den Herunterzählvorgang auszuführen.
Wenn das Herauf-/Herunterzähl-Befehlssignal Up/Down auf einem
niedrigen Pegel liegt, gibt z. B. die AND-Schaltung GA6 ein Signal
mit hohem Pegel aus, wenn das /Q-Ausgangssignal des JK-Flip-Flops
JF1 auf einem hohen Pegel liegt. In diesem Zustand steigt das
Ausgangssignal der OR-Schaltung GA8 auf einen hohen Pegel an, so daß
der Ausgangszustand des JK-Flip-Flops JF2 in Abhängigkeit vom
Taktsignal CK invertiert wird. Wenn die /Q-Ausgangssignale der JK-
Flip-Flops JF1 und JF2 auf einen hohen Pegel ansteigen, wird der
Ausgangszustand des JK-Flip-Flops JF3 in Abhängigkeit vom Taktsignal
CK invertiert. Damit wird ein Herunterzählvorgang ausgeführt.
Wenn der Zählwert den Maximal- oder Minimalwert ("1111" oder "0000")
erreicht, sinkt das Ausgangssignal der NAND-Schaltung GA15 oder GA16
auf einen niedrigen Pegel. In diesem Zustand steigt das
Ausgangssignal der NOR-Schaltung GA4 oder GA5 auf einen hohen Pegel
an, und das Ausgangssignal der NOR-Schaltung GA2 ist auf einem
niedrigen Pegel fixiert. In diesem Zustand sind die J- und K-
Eingangssignale der JK-Flip-Flops JF1 bis JF4 gleich null (niedriger
Pegel), und daher werden ihre Ausgangszustände nicht verändert,
selbst wenn das Taktsignal CK angelegt wird. Damit wird der Zählwert
auf dem Maximal- oder Minimalwert gehalten. Daher dient die
Synapsengewichtungswert-Speicherschaltung 1701 als Zähler mit
Begrenzer, um den Maximal- oder Minimalwert zu halten, wenn sein
Zählwert den Maximal- oder Minimalwert erreicht hat.
Fig. 17 zeigt die Struktur der in Fig. 14 dargestellten
Lernsteuerschaltung 1703. Wie in Fig. 17 gezeigt ist, weist die
Lernsteuerschaltung 1703 eine NAND-Schaltung G200, die die
Zustandssignale Sk und Si empfängt, eine NAND-Schaltung G202, die
das Zustandssignal Si und Lernmusterdaten Tk für die
Ausgangsneuroneneinheit k empfängt, eine ExOR-Schaltung G204, die
die Ausgangssignale der NAND-Schaltungen G200 und G202 empfängt,
einen Selektor SL200, der eine der NAND-Schaltungen G200 und G202 in
Abhängigkeit von einem Signal SgnWkj auswählt, das das Vorzeichen
des Synapsengewichtungswert Wkj angibt, und eine AND-Schaltung G206,
die das Ausgangssignal der ExOR-Schaltung G204 und die Signale MSj
und MSk empfängt, auf. Das Signal Tk ist ein Lernmusterdatenbit, das
für das k-te Neuron in der Ausgangsschicht zugeführt wird. Das
Signal MSj gibt an, daß das Ausgangssignal (Zustandssignal) Sj des
j-ten Neurons in der versteckten Schicht auf einem Zwischenwert
liegt (Sj=0,5). Das Signal MSk gibt an, daß das Ausgangssignal
(Zustandssignal) Sk des k-ten Neurons in der Ausgangsschicht auf
einem Zwischenwert liegt.
Das Signal SgnWkj, das das Vorzeichen des Synapsengewichtungswert
Wkj angibt, d. h. die Kopplungsstärke des versteckten Neurons j und
des Ausgangsneurons k, sinkt auf einen niedrigen Pegel, wenn der
Synapsengewichtungswert Wkj negativ ist, während das Signal auf
einen hohen Pegel ansteigt, wenn der Synapsengewichtungswert Wkj
null oder positiv ist.
In der zweiten Neuronetzeinheit 505 sind die Neuroneneinheiten in
der Weise einer Vorwärtsausbreitung verbunden. Mit anderen Worten
sind die Neuroneneinheiten unidirektional von der Eingangs- zur
versteckten Schicht und von der versteckten zur Ausgangsschicht
verbunden. Die Neuroneneinheiten sind in den jeweiligen Schichten
nicht miteinander verbunden, und ein Eingangsmuster schreitet von
der Eingangsschicht zur Ausgangsschicht fort. In einer solchen Back-
Propagation-Anordnung werden die Synapsengewichtungswerte
nacheinander von der Ausgangsschicht zur versteckten und dann zu den
Eingangsschichten verändert, um den Unterschied zwischen einem
gegenwärtigen Ausgangsdatenmuster und einem Lerndatenmuster zu
vermindern.
Bei der in Fig. 17 gezeigten Struktur der Lernsteuerschaltung 1703
steigt das Ausgangssignal der ExOR-Schaltung G204 auf einen hohen
Pegel an, wenn die Ausgangssignale der NAND-Schaltungen G200 und
G202 nicht übereinstimmen. Das zeigt an, daß das
Ausgangszustandssignal Sk der Neuroneneinheit k in der
Ausgangsschicht noch nicht mit dem Lernmusterdatenbit Tk
übereinstimmt. Wenn die Signale MSj und MSk beide auf hohen Pegeln
liegen, die angeben, daß die Signale Sj und Sk auf Mittelwerten
sind, erzeugt die AND-Schaltung G206 das Aktivierungssignal Enable,
um den Synapsengewichtungswert zu korrigieren.
Der Selektor SL200 wählt das Ausgangssignal der NAND-Schaltung G200
aus, wenn das Vorzeichensignal SgnWkj auf einem hohen Pegel liegt
und der Synapsengewichtungswert Wkj daher positiv ist, während der
Selektor SL200 das Ausgangssignal der NAND-Schaltung G202 auswählt,
wenn das Vorzeichensignal SgnWkj auf einem niedrigen Pegel liegt.
Das Ausgangssignal des Selektors SL200 wird als Herauf-
/Herunterzähl-Befehlssignal Up/Down verwendet. Damit implementiert
die Lernsteuerschaltung 1703 einen ungefähren Ausdruck der folgenden
Back-Propagation-Lernregel:
Das Zustandssignal der Eingangsneuroneneinheit wird von der
entsprechenden Neuroneneinheit des ersten Neuronalen Netzes
zugeführt. Das Bitsignal bitWkj wird implementiert, wenn die
Taktsignale CK entsprechend der Stelle 2⁰, 2¹, . . . nach ihrer
Bitposition (Stelle) in der Zählerstruktur von Fig. 16 erzeugt
werden. Eine Struktur zur Ermittlung der Summe S im oben angeführten
Back-Propagation-Ausdruck wird durch Bilden der jeweiligen Terme in
einer gemultiplexten Weise implementiert. Diese Struktur wird nun
beschrieben.
Zur Vereinfachung wird angenommen, daß die Eingangsschicht n
Neuronen, die versteckte Schicht drei Neuronen und die
Ausgangsschicht zwei Neuronen aufweist (Fig. 18). Die n Neuronen der
Eingangsschicht werden mit I1 bis In, die drei Neuronen der
versteckten Schicht mit H1, H2 und H3 und die zwei Neuronen der
Ausgangsschicht mit O1 und O2 bezeichnet. Die Kopplungsstärken
zwischen den Neuroneneinheiten werden durch das Symbol W mit der
hinzugefügten Art der Neuronen bezeichnet.
Fig. 19 zeigt eine Struktur zur Implementierung des oben angeführten
ungefähren Ausdrucks in Übereinstimmung mit dem in Fig. 18 gezeigten
Back-Propagation-Modell.
Wie in Fig. 19 gezeigt ist, weist eine
Summenimplementierungsschaltung einen Selektor 2002, der die
Ausgangssignale (Zustandssignale) der Ausgangsneuroneneinheiten O1,
O2 empfängt, einen Selektor 2004, der Lerndaten T1 und T2 für die
Ausgangsneuroneneinheiten O1, O2 empfängt, einen Selektor 2006, der
Vorzeichensignale Sgn(WO1H1) und Sgn(WO2H1) der
Synapsengewichtungswerte der Neuroneneinheit H1 der versteckten
Schicht und der Ausgangsneuroneneinheiten O1, O2 empfängt, einen
Selektor 2008, der Vorzeichensignale Sgn(WO1H2) und Sgn(WO2H2) der
Synapsengewichtungswerte der Neuroneneinheit H2 der versteckten
Schicht und der Ausgangsneuroneneinheiten O1, O2 empfängt, und einen
Selektor 2010, der Vorzeichensignale Sgn(WO1H3) und Sgn(WO2H3) der
Synapsengewichtungswerte der Neuroneneinheit H3 der versteckten
Schicht und der Ausgangsneuroneneinheiten O1, O2 empfängt, auf.
Die jeweiligen Selektoren 2002 bis 2010 wählen in Abhängigkeit von
einem Auswahlsteuersignal IselBP nacheinander Signale aus, die ihren
Eingängen zugeführt werden. Der Selektor 2002 gibt das
Zustandssignal Sk der Ausgangsneuroneneinheit k aus. Der Selektor
2004 gibt das Lernmusterdatensignal Tk der Ausgangsneuroneneinheit k
aus. Die Selektoren 2006, 2008 und 2010 erzeugen
Vorzeichenkoeffizienten Sgn(WOkH1), Sgn(WOkH2) bzw. Sgn(WOkH3). Eine
Latch-Schaltung 2012 empfängt die Ausgangssignale der Selektoren
2002 bis 2010, um sie in Abhängigkeit von einem Taktsignal T
nacheinander an die Lernsteuerschaltung 1703 auszugeben, wodurch die
Summe des oben angeführten Ausdrucks der Back-Propagation
implementiert wird.
Obwohl Fig. 19 keine Pfade zum Ausgeben der Signale MSj und MSk
darstellt, die Zwischenwerte anzeigen, können das Ausgangssignal MSk
der Ausgangsneuroneneinheit k und das Zwischenwertsignal MSj der
Ausgangsneuroneneinheit j der versteckten Schicht ähnlich wie oben
in Abhängigkeit vom Taktsignal T verriegelt und ausgegeben werden.
Fig. 20 zeigt die Struktur der in Fig. 14 gezeigten
Synapsenkopplungsschaltung 1702. Wie in Fig. 20 gezeigt ist, weist
die Synapsenkopplungsschaltung 1702 p-Kanal MOS-Transistoren 3002,
3008, 3014 und 3020, die die Synapsengewichtungswerte /O1, /O2, /O3
und /O4 von der Synapsengewichtungswert-Speicherschaltung 1701 an
ihren jeweiligen Gates empfangen, n-Kanal MOS-Transistoren 3004,
3010, 3016 und 3022, die die Synapsengewichtungswerte O1, O2, O3 und
O4 an ihren jeweiligen Gates empfangen, p-Kanal MOS-Transistoren
3006, 3012, 3018 und 3024, die die Synapsengewichtungswertbits O1,
O2, O3 und O4 an ihren jeweiligen Gates empfangen, einen p-Kanal
MOS-Transistor 3028, der eine von den Transistoren 3002 und 3004
übertragene Vorspannung Vb3 an seinem Gate empfängt, einen p-Kanal
MOS-Transistor 3030, der die von den Transistoren 3008 und 3010
übertragene Vorspannung Vb3 an seinem Gate empfängt, einen p-Kanal
MOS-Transistor 3032, der die von den Transistoren 3014 und 3016
übertragene Vorspannung Vb3 an seinem Gate empfängt, und einen p-
Kanal MOS-Transistor 3034, der die von den Transistoren 3020 und
3022 übertragene Vorspannung Vb3 an seinem Gate empfängt, auf.
Die ersten Leitungsanschlüsse der Transistoren 3028, 3030, 3032 und
3034 sind mit einer Referenzspannung Vdd gekoppelt, die auf dem
Pegel einer Betriebsversorgungsspannung liegt. Die Transistoren
3006, 3012, 3018 und 3024 schalten in Abhängigkeit von den
jeweiligen Synapsengewichtungswertbits O1 bis O4 durch.
Die Synapsenkopplungsschaltung 1702 weist ferner einen p-Kanal MOS-
Transistor 3026, der die Vorspannung Vb3 an seinem Gate empfängt und
die Referenzspannung Vdd überträgt, eine Inverterschaltung 3038, die
das Zustandssignal Si empfängt, und einen p-Kanal MOS-Transistor
3036, der das Zustandssignal Si an seinem Gate empfängt, auf. Das
Ausgangssignal der Inverterschaltung 3038 wird dem Gate eines p-
Kanal MOS-Transistors 3040 zugeführt. Der Transistor 3036 liefert im
durchgeschalteten Zustand einen Strom, der vom Transistor 3026 als
gewichteter Strom Io übertragen wird. Der Transistor 3040 addiert
die über die Transistoren 3028, 3030, 3032 und 3034 übertragenen
Ströme auf und liefert im durchgeschalteten Zustand den gewichteten
Strom Io.
Die Transistoren 3026, 3028, 3030, 3032 und 3034 weisen Spannungs-
Strom-Wandlungsfunktionen auf, und ihre jeweiligen Gate-Breiten Wb,
W1, W2, W3 und W4 werden im Verhältnis 8:1:2:4:8 eingestellt. Nun
wird der Betrieb beschrieben.
Wenn das Zustandssignal Si auf einem niedrigen Pegel liegt und die
Neuroneneinheit i (Eingangsneuron) in einem nicht-feuernden Zustand
ist, ist der Transistor 3036 durchgeschaltet und der Transistor 3040
gesperrt. In diesem Zustand wandelt der Transistor 3026 durch die
Leitfähigkeit, die durch die Vorspannung Vb3 bestimmt wird, die
Referenzspannung Vdd in einen Strom um, so daß die vom Transistor
3026 in den Strom umgewandelte Information über den Transistor 3036
ausgegeben wird. Der durch die Vorspannung Vb3 definierte Strom wird
als Vorstrom ausgegeben.
Wenn das Zustandssignal Si auf einem hohen Pegel liegt, sperrt der
Transistor 3036 und der Transistor 3040 leitet. Das
Synapsengewichtungswertbit O1 sei auf einem hohen Pegel. In diesem
Fall schalten die Transistoren 3002 und 3004 durch und der
Transistor 3006 sperrt. Die Vorspannung Vb3 wird dem Gate des
Transistors 3028 zugeführt, der wiederum durchschaltet, um einen
Strom proportional zu seiner Gate-Breite W1 auszugeben. Wenn das
Synapsengewichtungswertbit O1 auf einem niedrigen Pegel liegt,
sperren die Transistoren 3002 und 3004 und der Transistor 3006
schaltet durch. In diesem Zustand wird die Vorspannung Vb3 über den
Transistor 3006 dem Gate des Transistors 3028 zugeführt, der
wiederum sperrt. Somit schalten die Transistoren 3028, 3030, 3032
und 3034 in Abhängigkeit von den entsprechenden
Synapsengewichtungswertbits O1, O2, O3 bzw. O4 durch, um Ströme
proportional zu ihren Gate-Breiten auszugeben. Die Ströme von den
Transistoren 3028 bis 3034 werden an einem Knoten des Transistors
3040 aufaddiert und als gewichteter Strom Io ausgegeben.
Die Gate-Breite Wb des Transistors 3026, der den Vorstrom liefert,
wird auf den Verhältniswert 8 eingestellt, damit der Vorstrom einem
Nullzustand des Synapsengewichtungswerts entspricht. Dadurch werden
positive und negative Vorzeichen des Synapsengewichtungswerts auf
der Basis des Werts des aktuellen gewichteten Stroms implementiert.
In Übereinstimmung mit dieser Struktur ist es möglich, das
Vorzeichensignal SgnWkj des Synapsengewichtungswerts entsprechend
einem hohen oder niedrigen Pegel des Bits O4 einzustellen.
Fig. 21 zeigt die Struktur einer Synapsenschaltung SSY2 zweiten Typs
zur Kopplung der Neuronen der versteckten Schicht mit den Neuronen
in den Ausgangsschichten. Diese Synapsenschaltung SSY2 stellt die in
Fig. 13 gezeigten Synapsenschaltungen 1101 bis 1106 dar. Wie in Fig.
21 gezeigt ist, weist die Synapsenschaltung SSY2 eine
Lernsteuerschaltung 4707, die die Steuersignale Sj1, Sk, Tk und MSk
empfängt und die Synapsengewichtung-Korrektursignale Enable und
Up/Down erzeugt, Synapsenkopplungsschaltungen 4702 und 4706 und eine
Synapsengewichtungswert-Speicherschaltung 4701 auf.
Die Synapsengewichtungswert-Speicherschaltung 4701, deren Struktur
ähnlich der Struktur der Synapsenschaltung ersten Typs ist, die
vorher unter Bezugnahme auf die Fig. 15 und 16 beschrieben worden
ist, wird z. B. durch einen 4-Bit-Zähler zum Herauf- und
Herunterzählen mit einem Begrenzer gebildet.
Weil jede Neuroneneinheit der versteckten Schicht so aufgebaut ist,
daß sie die drei Zustände nicht-feuernder Zustand, Zwischenzustand
und feuernder Zustand einnehmen kann, wie später beschrieben wird,
sind die Synapsenkopplungsschaltungen 4702 und 4706 so konstruiert,
daß sie die jeweiligen Zustände ausdrücken können. Das
Ausgangssignal von der Neuroneneinheit der versteckten Schicht wird
in zwei Bits Sj0 und Sj1 ausgedrückt. Die Struktur der
Synapsenkopplungsschaltungen 4702 und 4706 ist ähnlich der Struktur
der Synapsenkopplungsschaltung 1702 der Synapsenschaltung ersten
Typs, die oben unter Bezugnahme auf Fig. 20 beschrieben worden ist.
Die Fig. 22 zeigt die Struktur der Lernsteuerschaltung 4707 von Fig.
21. Wie in Fig. 22 gezeigt ist, weist die Lernsteuerschaltung 4707
eine 2-Eingangs-NAND-Schaltung 5002, die das Ausgangssignal Sj1 von
der j-ten Neuroneneinheit j der versteckten Schicht und das
Ausgangssignal (Zustandssignal) Sk von der k-ten Neuroneneinheit k
der Ausgangsschicht empfängt, eine NAND-Schaltung 5004, die das
Zustandssignal Sj1 und das Lernmusterdatensignal Tk für das Neuronen
k der Ausgangsschicht empfängt, eine ExOR-Schaltung 5006, die das
Ausgangssignal von den NAND-Schaltungen 5002 und 5004 empfängt, und
eine AND-Schaltung 5008, die das Ausgangssignal der ExOR-Schaltung
5006 und das Signal MSk empfängt, das anzeigt, daß die
Ausgangsneuroneneinheit k in einem Zwischenzustand ist, auf.
In der Lernsteuerschaltung 4707 von Fig. 22 steigt das
Ausgangssignal der ExOR-Schaltung 5006 auf einen hohen Pegel an,
wenn die Ausgangssignale der NAND-Schaltungen 5002 und 5004 nicht
übereinstimmen. Wenn das Signal MSk in diesem Fall auf einem hohen
Pegel ist (Zwischenzustand), wird das Aktivierungssignal Enable
erzeugt, um den Synapsengewichtungswert zu korrigieren. Das
Ausgangssignal der NAND-Schaltung 5002 bestimmt, ob der
Synapsengewichtungswert erhöht oder erniedrigt werden soll. Wenn das
Ausgangssignal der NAND-Schaltung 5002 auf einem hohen Pegel ist,
wird der Synapsengewichtungswert erhöht. Wenn das Signal Sj1 gleich
"1" ist, befindet sich die Neuroneneinheit j in einem feuernden
Zustand. Damit implementiert die Lernsteuerschaltung 4707 eine
Näherung der folgenden Back-Propagation-Lernregel:
ΔWkj = (Tk * Sj-Sk * Sj) * MSk
Fig. 23 zeigt die Struktur der jeweiligen Neuroneneinheiten 1801,
1802, . . ., 1803 und 1901, . . ., 1902, die in der zweiten
Neuronetzeinheit gebildet sind. In Fig. 23 ist die Neuronetzeinheit
allgemein durch das Symbol SNU bezeichnet. Das Neuron SNU weist
Komparatoren 5506 und 5508 auf, die eine Referenzspannung Vref an
ihren negativen Eingängen empfangen. Der Komparator 5506 empfängt
die Summe IN (=ΣWji * Si, die Summe wird für i ausgeführt) des
gewichteten Stroms, der über eine entsprechende Dendritsignalleitung
seinem positiven Eingang zugeführt wird (der Strom wird durch die
Widerstände 5502 und 5504 in ein Spannungssignal umgewandelt). Der
Komparator 5508 empfängt eine Spannung, die durch Teilen des
summierten gewichteten Stroms In durch die Werte R0 und R1 der
Widerstände 5502 und 5504 erhalten wird. Der Komparator 5506 erzeugt
das Signal Sj0, der Komparator 5508 das Signal Sj1.
Die in Fig. 23 gezeigte Neuroneneinheit SNU drückt die folgenden
drei Zustände aus:
nicht-feuernder Zustand: Sj0 = Sj1 = 0,
Zwischenzustand: Sj0 = 1, Sj1 = 0,
feuernder Zustand: Sj0 = Sj1 = 1.
Zwischenzustand: Sj0 = 1, Sj1 = 0,
feuernder Zustand: Sj0 = Sj1 = 1.
Das Ausgangssignal Sj0 vom Komparator 5506 wird als Signal MSj
benutzt, das den Zwischenwert beim Back-Propagation-Lernvorgang
angibt. Die Referenzspannung Vref liefert einen Schwellenwert dieser
Neuroneneinheit SNU. Es ist möglich, zu entscheiden, ob die
Neuroneneinheit SNU in einem feuernden Zustand ist, indem man das
Signal Sj1 beobachtet. Bei der in Fig. 17 gezeigten Struktur wird
daher das Signal Sk1 als Zustandssignal Sk benutzt.
In einem Lernvorgang des zweiten Neuronalen Netzes werden
Entscheidungsmuster von der in Fig. 9 gezeigten Entscheidungsmuster-
Speicherschaltung 507 als Ausgangslernmuster zugeführt. In
Abhängigkeit von den zugeführten Lernmustern ändert die zweite
Neuronetzeinheit 505 die internen Synapsengewichtungswerte in
Übereinstimmung mit der Back-Propagation-Lernregel. Im Lernbetrieb
werden die Zustandssignale (Ausgangssignale) aller oder eines Teils
der Neuroneneinheiten des ersten Neuronalen Netzes zugeführt. Zu
diesem Zeitpunkt kann jedes Lernmuster zugeführt werden, solange
entschieden werden kann, ob ein konvergierter Zustand der ersten
Neuronetzeinheit gespeichert werden soll oder nicht. Der Lernbetrieb
der zweiten Neuronetzeinheit 505 kann gleichzeitig mit dem
Lernbetrieb der ersten Neuronetzeinheit 501 ausgeführt werden, oder
es können Muster ähnlich den Lernmustern für die erste
Neuronetzeinheit 501 der zweiten Neuronetzeinheit 505 zu einem
anderen Zeitpunkt unabhängig als Eingangsmuster zugeführt werden.
Nach der oben angeführten Struktur ist es möglich, korrekt zu
entscheiden, ob ein konvergierter Zustand der ersten
Neuronetzeinheit 501 in einem Auffrischungsbetrieb für sie
gespeichert werden soll.
Fig. 24 zeigt ein Betriebssignaldiagramm der Vorrichtung zum
Ausdrücken eines Neuronalen Netzes nach der zweiten Ausführungsform
der Erfindung. Nun wird der Betrieb der Vorrichtung zum Ausdrücken
eines Neuronalen Netzes nach der zweiten Ausführungsform
zusammenfassend beschrieben.
Der in Fig. 24 gezeigte Betrieb der zweiten Ausführungsform ist im
wesentlichen ähnlich dem in Fig. 7 dargestellten Betrieb der ersten
Ausführungsform, außer daß ein Modusumschaltsignal MODE nur im
Auffrischungsmodus auf einen hohen Pegel gebracht wird und die
Lernsteuersignale ACP+ und ACP- durch ein Signal /ACP, das die Basis
für diese Signale bildet, ersetzt ist. Im Auffrischungsmodus werden
die Vorgänge Lay-to-Heart und Vergessen gleichzeitig durch das
Signal /ACP ausgeführt. Der Betrieb im Lern- und Haltemodus sind
ähnlich dem der ersten Ausführungsform von Fig. 7, so daß der Lern-
und Haltebetrieb (Aufrufbetrieb), die von Lerndaten- und
Eingangsdatenmustern abhängig sind, in der ersten Neuronetzeinheit
501 ausgeführt werden.
Wenn das Modusumschaltsignal MODE im Auffrischungsbetrieb auf einen
hohen Pegel ansteigt, wird abwechselnd ein Lernsteuersignal ACP+
oder ACP- in Abhängigkeit vom Steuersignal /ACP entsprechend dem
Übereinstimmungserfassungssignal Ma erzeugt. Damit führt die erste
Neuronetzeinheit 501 nur eine Erhöhung oder Erniedrigung der
Synapsengewichtungswerte aus. Wenn die zweite Neuronetzeinheit 505
im Auffrischungsbetrieb arbeitet, um zu entscheiden, daß ein
konvergierter Zustand der ersten Neuronetzeinheit 501 gespeichert
werden soll, stimmt das Ausgangsdatenmuster der zweiten
Neuronetzeinheit 505 mit einem der (Mehrzahl von)
Entscheidungsmuster(n) überein, die in der Entscheidungsmuster-
Speicherschaltung 507 gespeichert sind (siehe Fig. 9), und das
Übereinstimmungserfassungssignal Ma wird erzeugt. Wenn das
Übereinstimmungserfassungssignal Ma wie in Fig. 25 gezeigt auf einen
hohen Pegel ansteigt, wird das Steuersignal ACP+ für die Erhöhung
des Synapsengewichtungswerts in Abhängigkeit vom Steuersignal /ACP
erzeugt. Wenn das Übereinstimmungserfassungssignal Ma auf einem
niedrigen Pegel liegt, der eine fehlende Übereinstimmung anzeigt,
wird das Steuersignal ACP- für die Erniedrigung des
Synapsengewichtungswerts in Abhängigkeit vom Steuersignal /ACP
erzeugt. Damit wird die erste Neuronetzeinheit 501 nicht irrtümlich
in einem nicht zu speichernden Zustand gefangen, d. h. einem lokalen
Minimum der potentiellen Energie etc., und es ist möglich, die
Speicherung korrekt und effizient zu klären.
Bei der zweiten Ausführungsform weist das zweite Neuronale Netz eine
Verbindungskonfiguration entsprechend einer Dreischicht-
Vorwärtsausbreitungsstruktur auf, die fähig ist, eine Lernregel
entsprechend der Back-Propagation (Rückwärtsausbreitung) zu
implementieren. Die Struktur der zweiten Neuronetzeinheit ist jedoch
nicht auf diese Struktur beschränkt, sondern es kann jede andere
Struktur verwendet werden, solange diese statische
Synapsenschaltungen aufweist, die ihre Synapsengewichtungswerte
stabil halten können, und entscheiden kann, ob ein konvergierter
Zustand der zweiten Neuronetzeinheit gespeichert werden soll.
In Übereinstimmung mit dem Auffrischungsverfahren der zweiten
Ausführungsform ist es möglich, den Punkt minimaler potentieller
Energie (den Netzzustand, der den minimalen Energiewert liefert),
der nicht gespeichert werden soll, korrekt zu erkennen, wodurch die
Speicherung effektiv aufgefrischt wird.
Bei der zweiten Ausführungsform werden jedoch Zustände innerhalb
eines bestimmten Bereichs um den Punkt minimaler potentieller
Energie des ersten Neuronalen Netzes entsprechend dem Ausgangssignal
des zweiten Neuronalen Netzes gespeichert. Daher unterscheidet sich
die Form des Profils der potentiellen Energie (Kurve A in Fig.
8(a)), das durch das ursprüngliche Lernen eingestellt worden ist,
geringfügig von der Form des Profils der potentiellen Energie (Kurve
E in Fig. 8(a)), das durch die Auffrischung wiederhergestellt worden
ist. Wenn zu speichernde Zustände nicht eindeutig, sondern
stochastisch ausgedrückt werden, ist die detaillierte Form der
potentiellen Energie, d. h. die Tiefe der Täler, die Neigung der
"Seitenwände" der Täler der potentiellen Energie etc. wichtig. Nun
wird ein Auffrischungsvorgang beschrieben, der das Profil der
potentiellen Energie korrekter und genauer reproduzieren kann, das
durch den ursprünglichen Lernvorgang eingestellt wurde.
Fig. 26 zeigt ein Auffrischungsverfahren nach einem dritten Aspekt
der vorliegenden Erfindung. Fig. 26(a) zeigt die Beziehungen
zwischen den Zuständen eines Neuronalen Netzes und den Niveaus der
potentiellen Energie. Die Kurve A zeigt die potentielle Energie
unmittelbar nach dem Lernen und Kurve B beim "Vergessen" durch
Ladungslecks. Fig. 26(b) zeigt die Beziehung zwischen den Eingaben
eines zweiten Neuronalen Netzes (Zustände des ersten Neuronalen
Netzes) und seinen Ausgaben. In Fig. 26 stellt die Ordinate die
Auftretungswahrscheinlichkeit des Ausgangsmusters des zweiten
Neuronalen Netzes dar. Im Auffrischungsvorgang nach dem dritten
Aspekt der vorliegenden Erfindung wird eine Wahrscheinlichkeit in
die Ausgabe des zweiten Neuronalen Netzes eingeführt.
Wie in den Fig. 26(a) und 26(b) gezeigt ist, sind die Zustände der
potentiellen Energie des ersten und zweiten Neuronalen Netzes
zueinander ausgerichtet. Flache Zustände der potentiellen Energie
entsprechen Zuständen, deren Speicherung nicht sehr stark ist. Für
solche Täler wird der Ausgangswert (Auftretungswahrscheinlichkeit)
des zweiten Neuronalen Netzes klein gemacht. Andererseits wird der
Ausgangswert des zweiten Neuronalen Netzes für die Zustände, bei
denen die Täler der potentiellen Energie tief sind, groß gemacht.
Das Ausgangssignal des zweiten Neuronalen Netzes gibt die
Auftretungswahrscheinlichkeit eines Ausgangsmusters für den Zustand
des ersten Neuronalen Netzes an und entspricht schließlich einer
Wahrscheinlichkeit, mit der ein Übereinstimmungserfassungssignal Ma
von einer Übereinstimmungserfassungsschaltung 506 in einer
Steuereinheit 550 eine Übereinstimmung angibt.
Das Ausgangssignal des zweiten Neuronalen Netzes, das die
Auftretungswahrscheinlichkeit des Ausgangsmusters angibt, stellt
eine Wahrscheinlichkeit dar, mit der das entsprechende
Ausgangsmuster auftritt, wenn ein Auffrischungsbetrieb wiederholt
ausgeführt wird. In jedem Auffrischungszyklus werden
Synapsengewichtungswerte entsprechend ΔWÿ korrigiert, was nahezu
gleich ±Pÿ (=±Si · Sj) ist. Nun wird ein Verfahren zum Einführen der
Wahrscheinlichkeit in das Ausgangssignal des zweiten Neuronalen
Netzes beschrieben.
Fig. 27 zeigt ein Auffrischungsverfahren nach einer dritten
Ausführungsform der vorliegenden Erfindung. Fig. 27(a) zeigt eine
Referenzspannung Vref (siehe Fig. 23), die Neuroneneinheiten 1901,
. . ., 1902 und 1801, . . ., 1803 zugeführt wird, die in der zweiten
Neuronetzeinheit 505 enthalten sind (siehe Fig. 13). Wie in Fig.
27(a) gezeigt ist, führt die Referenzspannung Vref, die
Schwellenwerte der Neuronen liefert, eine gedämpfte Oszillation um
einen Mittelwert V0 aus. In diesem Fall wird die mehrdeutige Breite
des Ausgangssignals jeder Neuroneneinheit in Abhängigkeit von der
Amplitude der gedämpften Oszillation vermindert und ein
stochastischer Übergang im Ausgangszustand verursacht, und der
Ausgangszustand konvergiert auf einen bestimmten Zustand (Fig. 27(b)). Die
"Mehrdeutigkeitsbreite" gibt die Breite eines Abschnitts an, der
eine Steigung in einer Wahrscheinlichkeitsfunktion (Boltzmann-
Verteilung) bei einer bestimmten Glühtemperatur aufweist. Wenn die
Glühtemperatur hoch ist, hat die Wahrscheinlichkeitsfunktion die
Form einer S-Kurve mit einer großen Mehrdeutigkeitsbreite, während
sich die Wahrscheinlichkeitsfunktion im wesentlichen einer
Einheitsstufenfunktion annähert und die Mehrdeutigkeitsbreite gleich
null wird.
Wenn die Referenzspannung Vref wie oben beschrieben eine gedämpfte
Oszillation ausführt, entspricht die Zeitspanne, während der die
gedämpfte Oszillation der Referenzspannung ausgeführt wird, einem
Prozeß, bei dem die Glühtemperatur von einem bestimmten Niveau auf
ein niedrigeres Niveau verändert wird und das Neuronale Netz
schließlich einen thermischen Gleichgewichtszustand mit einer global
minimalen Energie erreicht. Die anfängliche Maximalamplitude der
Referenzspannung Vref liefert eine Glühstarttemperatur. Aufgrund der
gedämpften Oszillation der Referenzspannung Vref wird der
Zustandsübergang jeder Neuroneneinheit stochastisch ausgedrückt und
die Wahrscheinlichkeit in das Ausgangssignal der zweiten
Neuroeinheit 505 eingeführt. Mit anderen Worten wird die in Fig. 26
gezeigte Ausgangsverteilung (Auftretungswahrscheinlichkeit)
geliefert. Damit führt die Einführung der Wahrscheinlichkeit in die
Ausgabe des zweiten Neuronalen Netzes auch zur Einführung einer
Wahrscheinlichkeit in eine Entscheidung, ob ein konvergierter
Zustand des ersten Neuronalen Netzes gespeichert werden soll oder
nicht, wodurch es möglich ist, das Profil der potentiellen Energie
des ersten Neuronalen Netzes nach dem Lernen korrekt und genau zu
reproduzieren.
Die gedämpft oszillierende Referenzspannung Vref kann den
Neuroneneinheiten der versteckten oder Ausgangsschichten oder beiden
in der zweiten Neuronetzeinheit zugeführt werden. Alternativ kann
auch nur die Referenzspannung Vref gedämpft oszillieren, die den
Neuroneneinheiten der Ausgangsschichten zugeführt wird.
Der Auffrischungsbetrieb des Neuronalen Netzes selbst, das die
gedämpft oszillierende Referenzspannung Vref verwendet, stimmt mit
dem im Diagramm der Fig. 24 gezeigten überein und wird ähnlich dem
der zweiten Ausführungsform ausgeführt.
Während bei jeder der ersten bis dritten Ausführungsformen der
Auffrischungsvorgang periodisch oder zyklisch nach dem Verstreichen
einer vorbestimmten Zeitspanne seit dem Lernen ausgeführt wird, kann
auch ein anderes Auffrischungsverfahren verwendet werden. Fig. 28
zeigt den Verlauf eines Auffrischungsvorgangs nach einer vierten
Ausführungsform der vorliegenden Erfindung. Beim in Fig. 28
gezeigten Auffrischungsverfahren wird die Auffrischung bei jedem
Aufrufvorgang ausgeführt. Der Betrieb beim Lernen ist ähnlich wie
bei der ersten und zweiten Ausführungsform, die oben beschrieben
worden sind. Wenn ein Auffrischungsbetrieb unabhängig gebildet wird,
kann es vorkommen, daß ein Aufrufvorgang während des
Auffrischungsvorgangs nicht ausgeführt werden kann, und die
Benutzbarkeit des Neuronalen Netzes kann verschlechtert werden. Wenn
wie oben angeführt der Auffrischungsvorgang stets nach einem
Aufrufvorgang ausgeführt wird, ist es nicht unbedingt notwendig,
einen Auffrischungsvorgang vorzusehen, und die Benutzbarkeit des
Neuronalen Netzes wird verbessert.
Beim Auffrischungsverfahren nach der vierten Ausführungsform der
vorliegenden Erfindung, das in Fig. 28 gezeigt ist, wird ein Signal
Ts auf einen niedrigen Pegel gebracht, wenn der Zustand des ersten
Neuronalen Netzes durch einen Aufruf in einem Aufrufvorgang
konvergiert hat, und zwar im durch den Aufruf konvergierten Zustand,
um eine Auffrischung auszuführen. In diesem Zustand wird die
Auffrischung ohne Verwendung von Zufallsmustern als
Auffrischungsmuster ausgeführt. Ein zweites Neuronales Netz kann
verwendet werden oder auch nicht.
Wie in Fig. 28 gezeigt ist, wird ein Steuersignal /ACP benutzt, so
daß Signale ACP+ und ACP- beim Lernvorgang gleichzeitig erzeugt
werden. Ferner wird ein Modusumschaltsignal MODE während eines
Aufrufvorgangs auf einen hohen Pegel eingestellt, so daß die
Vorgänge "Lay-to-Heart" /Vergessen entsprechend einem
Übereinstimmungserfassungssignal ausgeführt werden, das durch
Treiben des zweiten Neuronalen Netzes erhalten wird. Dadurch werden
Daten bei einer Übereinstimmung gespeichert und bei einer fehlenden
Übereinstimmung vergessen. Das erste Neuronale Netz ist während
dieses Auffrischungsvorgangs in einem konvergierten Zustand. Nach
dem Verstreichen der Auffrischungszeit wird ein Steuersignal IselO
erzeugt, so daß Zustandssignale der jeweiligen Neuroneneinheiten in
einem Schieberegister SR(T) (siehe Fig. 4) verriegelt und in
Abhängigkeit von einem Taktsignal CK nacheinander ausgegeben werden.
Wie oben beschrieben worden ist wird der Auffrischungsvorgang bei
jedem Aufrufvorgang ausgeführt, so daß es nicht notwendig ist,
Auffrischungsvorgänge periodisch zu bilden. Dadurch erhält man eine
Vorrichtung zum Ausdrücken eines Neuronalen Netzes mit
ausgezeichneter Benutzungseffizienz, die keine externe Auffrischung
benötigt. In diesem Fall treten die im ersten Neuronalen Netz
aufgerufenen, gespeicherten Zustände für alle gespeicherten Zustände
bevorzugt gleich auf.
In Übereinstimmung mit der vorliegenden Erfindung kann, wie oben
beschrieben worden ist, ein Auffrischungsvorgang durch eine einfache
Struktur und einen einfachen Betrieb korrekt und genau mit hoher
Geschwindigkeit ausgeführt werden, wodurch es möglich ist, eine
integrierte Vorrichtung zum Ausdrücken eines Neuronalen Netzes zu
implementieren, die stabil und zuverlässig für lange Zeit arbeiten
kann.
Die Besonderheiten der Erfindung können
folgendermaßen zusammengefaßt werden.
- 1) Jeweilige Synapsengewichtungswerte werden durch makroskopische Speicherungswiedergewinnung korrigiert, wodurch es möglich ist, eine stabile Auffrischung selbst mit mikroskopischen Fehlfunktionen von Synapsen, Neuronen etc. zu implementieren.
- 2) Ein Speicherungsklärungsvorgang im Auffrischungsverfahren nach der vorliegenden Erfindung besitzt den Effekt, daß unnötige Minimalwerte des Potentials (lokale Minima) eliminiert werden, wodurch die Entropie der Information, die intern durch das Neuronale Netz ausgedrückt wird, vermindert wird.
- 3) Es ist möglich, eine Vorrichtung zum Ausdrücken eines Neuronalen Netzes zu erhalten, die Synapsengewichtungswerte stabil und für eine lange Zeit mit einer einfachen Struktur halten kann.
- 4) Weil die Auffrischung mit Zufallszahlenmustern ausgeführt wird, ist es möglich, die internen Zustände des Neuronalen Netzes mit gleichen Wahrscheinlichkeiten zu erzeugen, wodurch die Verteilung der potentiellen Energie unmittelbar nach dem Lernen korrekt wiedergewonnen werden kann.
- 5) Das zweite Neuronale Netz ist so konstruiert, daß es zu speichernde Zustände von nicht zu speichernden Zuständen unterscheiden kann, um Synapsengewichtungswerte in Übereinstimmung mit den Unterscheidungsergebnissen zu korrigieren. Dadurch ist es möglich, eine korrekte Auffrischung auszuführen, ohne die Speicherung von Zuständen, die unnötige Minimalwerte der Energie liefern, zu verstärken.
- 6) Es wird eine Wahrscheinlichkeit in die Ausgabe des zweiten Neuronalen Netzes eingeführt, wodurch es möglich ist, einen Auffrischungsvorgang zu implementieren, der das Profil der potentiellen Energie des ersten Neuronalen Netzes korrekter und genauer reproduzieren kann.
- 7) Es ist nicht unbedingt notwendig, eine Auffrischungszeit zu setzen, und die Benutzungseffizienz der Vorrichtung zum Ausdrücken eines Neuronalen Netzes wird verbessert.
Claims (23)
1. Neuronetzeinheit zur elektronischen Realisierung eines Neuronalen
Netzes, mit:
einer Mehrzahl erster Neuroneneinheiten (NU; 601, 602, 603), jeweils zum elektronischen Realisieren der Funktion eines Nervenzellenkörpers,
einer Mehrzahl von ersten Synapseneinheiten (D-SY; 701 bis 709) jeweils zum elektronischen Realisieren einer Synapse zum Koppeln erster Neuroneneinheiten mit einer vorbestimmten Kopplungsstärke, wobei jede Synapseneinheit eine Speichereinrichtung (101) zum Speichern einer Synapsengewichtungswertinformation, die die vorbestimmte Kopplungsstärke beinhaltet, aufweist,
gekennzeichnet durch:
eine Steuereinrichtung (103, 111, 502; 505, 550), die ein Auffrischungsanweisungssignal empfängt, zum Auffrischen jeder jeweiligen Synapsengewichtungswertinformation der ersten Synapseneinheiten auf der Basis der Ausgangssignale der zugehörigen Neuroneneinheiten.
einer Mehrzahl erster Neuroneneinheiten (NU; 601, 602, 603), jeweils zum elektronischen Realisieren der Funktion eines Nervenzellenkörpers,
einer Mehrzahl von ersten Synapseneinheiten (D-SY; 701 bis 709) jeweils zum elektronischen Realisieren einer Synapse zum Koppeln erster Neuroneneinheiten mit einer vorbestimmten Kopplungsstärke, wobei jede Synapseneinheit eine Speichereinrichtung (101) zum Speichern einer Synapsengewichtungswertinformation, die die vorbestimmte Kopplungsstärke beinhaltet, aufweist,
gekennzeichnet durch:
eine Steuereinrichtung (103, 111, 502; 505, 550), die ein Auffrischungsanweisungssignal empfängt, zum Auffrischen jeder jeweiligen Synapsengewichtungswertinformation der ersten Synapseneinheiten auf der Basis der Ausgangssignale der zugehörigen Neuroneneinheiten.
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 der jeweiligen
Synapseneinheit zugeordnet ist und Ausgangssignale der
zugehörigen ersten Neuroneneinheiten empfängt, zum Korrigieren
der Menge elektrischer Ladungen in einer zugehörigen
Speichereinrichtung (101) über einen Ladungspumpvorgang.
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 ein Auffrischungsanweisungssignal empfängt, zum Ausgeben eines Musters der Zufallszahlen an ausgewählte erste Neuroneneinheiten unter den ersten Neuroneneinheiten, und
eine Korrektureinrichtung (103, 111), die jeder der Synapseneinheiten zugeordnet ist und beim Betrieb mit dem Muster von Zufallszahlen Ausgangssignale der zugehörigen ersten Neuroneneinheiten empfängt, zum Ändern einer zugehörigen Synapsengewichtungswertinformation aufweist.
eine Zufallszahlen-Erzeugungseinrichtung (503) zum Erzeugen einer Zufallszahl,
eine Selektoreinrichtung (504, SR(T), SR(P)), die ein Auffrischungsanweisungssignal empfängt, zum Ausgeben eines Musters der Zufallszahlen an ausgewählte erste Neuroneneinheiten unter den ersten Neuroneneinheiten, und
eine Korrektureinrichtung (103, 111), die jeder der Synapseneinheiten zugeordnet ist und beim Betrieb mit dem Muster von Zufallszahlen Ausgangssignale der zugehörigen ersten Neuroneneinheiten empfängt, zum Ändern einer zugehörigen Synapsengewichtungswertinformation aufweist.
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. Neuronetzeinheit nach Anspruch 3 oder 4, dadurch gekennzeichnet,
daß die Neuronetzeinheit in einem Lernmodus zum Lernen von
Lerndaten betreibbar ist, um den jeweiligen Synapsengewichtungswert entsprechend
den Lerndaten einzustellen, 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. Neuronetzeinheit nach Anspruch 1, dadurch gekennzeichnet, daß die
Steuereinrichtung (505, 550)
eine zweite Neuronetzeinheit (505) zum Empfangen der Ausgangssignale von vorausgewählten ersten Neuroneneinheiten aus der Mehrzahl von ersten Neuroneneinheiten und zum Ausgeben eines Ausgangsmusters entsprechend den Ausgangssignalen der vorausgewählten ersten Neuroneneinheiten,
und eine Steuereinrichtung (551), die der zweiten Neuronetzeinheit verbunden ist, zum Korrigieren der jeweiligen Synapsengewichtungswertinformation der Mehrzahl erster Synapseneinheiten aufweist.
eine zweite Neuronetzeinheit (505) zum Empfangen der Ausgangssignale von vorausgewählten ersten Neuroneneinheiten aus der Mehrzahl von ersten Neuroneneinheiten und zum Ausgeben eines Ausgangsmusters entsprechend den Ausgangssignalen der vorausgewählten ersten Neuroneneinheiten,
und eine Steuereinrichtung (551), die der zweiten Neuronetzeinheit verbunden ist, zum Korrigieren der jeweiligen Synapsengewichtungswertinformation der Mehrzahl erster Synapseneinheiten aufweist.
7. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß die
zweite Neuronetzeinheit
eine Mehrzahl von zweiten Neuroneneinheiten (SNU; 1801-1803, 1901-1903)
zum elektronischen Realisieren 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
bestimmt, 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. 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. 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. 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 den Ausgangssignalen der zweiten Neuronetzeinheit, und
eine Auffrischungssteuereinrichtung (509), die mit der Übereinstimmungserfassungseinrichtung verbunden 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.
eine Entscheidungsmuster-Speichereinrichtung (507) zum Speichern eines vorbestimmten Datenmusters,
eine Übereinstimmungserfassungseinrichtung (506) zum Erfassen der Übereinstimmung des vorbestimmten Datenmusters mit den Ausgangssignalen der zweiten Neuronetzeinheit, und
eine Auffrischungssteuereinrichtung (509), die mit der Übereinstimmungserfassungseinrichtung verbunden 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. Neuronetzeinheit nach Anspruch 10, dadurch gekennzeichnet, daß
die Auffrischungssteuereinrichtung (509)
eine erste Bestimmungseinrichtung (ND12, ND14, GI) 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.
eine erste Bestimmungseinrichtung (ND12, ND14, GI) 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. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß
die zweite Neuronetzeinheit
zweite Neuroneneinheiten (S-SY; 1801-1803, 1901-1903) jeweils zum elektronischen Realisieren 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.
zweite Neuroneneinheiten (S-SY; 1801-1803, 1901-1903) jeweils zum elektronischen Realisieren 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. 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. Neuronetzeinheit nach Anspruch 6, dadurch gekennzeichnet, daß
die zweite Neuronetzeinheit (505) eine Vorwärtsausbreitungsanordnung
aufweist, die nach einem Back-Propagation-Modell betreibbar ist.
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. Betriebsverfahren für eine Neuronetzeinheit mit einer Mehrzahl
von Neuroneneinheiten, die jeweils elektronisch einen
Nervenzellenkörper realisieren, und einer Mehrzahl von
Synapseneinheiten, die jeweils Neuroneneinheiten mit einer durch
einen voreingestellten Synapsengewichtungswert bestimmten
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 Ausgangssignalen der Neuroneneinheiten, die als Ergebnis des Betriebs in Abhängigkeit vom Zufallszahlenmuster erzeugt werden.
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 Ausgangssignalen der Neuroneneinheiten, die als Ergebnis des Betriebs in Abhängigkeit vom Zufallszahlenmuster erzeugt werden.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der
Wiederherstellungsschritt 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.
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. 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. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, daß
das erste und das zweite Muster miteinander übereinstimmen.
20. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der
Wiederherstellungsschritt die Schritte:
Bestimmen in Abhängigkeit von den Ausgangssignalen 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.
Bestimmen in Abhängigkeit von den Ausgangssignalen 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. 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. Betriebsverfahren für eine Neuronetzeinheit mit einer Mehrzahl
von Neuroneneinheiten, die elektronisch Nervenzellenkörper realisieren,
und einer Mehrzahl von Synapseneinheiten zum Koppeln von
Neuroneneinheiten über eine voreingestellte Kopplungsstärke, die
durch einen Synapsengewichtungswert bestimmt 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 Ausgangssignalen der Neuroneneinheiten, und
externes Ausgeben von Ausgangsdaten entsprechend den Eingangsdaten von der Neuronetzeinheit.
Zuführen von zu verarbeitenden Eingangsdaten an die Neuronetzeinheit,
Korrigieren der Synapsengewichtungswerte der Synapseneinheiten nach der Konvergenz der Neuronetzeinheit in Abhängigkeit von den Ausgangssignalen der Neuroneneinheiten, und
externes Ausgeben von Ausgangsdaten entsprechend den Eingangsdaten von der Neuronetzeinheit.
23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß der
Korrekturschritt die Schritte:
Bestimmen in Abhängigkeit von den Ausgangssignalen 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.
Bestimmen in Abhängigkeit von den Ausgangssignalen 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.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4011413A JPH05210649A (ja) | 1992-01-24 | 1992-01-24 | 神経回路網表現装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE4239308A1 DE4239308A1 (en) | 1993-07-29 |
| DE4239308C2 true DE4239308C2 (de) | 1995-02-23 |
Family
ID=11777351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE4239308A Expired - Fee Related DE4239308C2 (de) | 1992-01-24 | 1992-11-23 | Neuronetzeinheit und Betriebsverfahren dafür |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5696883A (de) |
| JP (1) | JPH05210649A (de) |
| DE (1) | DE4239308C2 (de) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6061673A (en) * | 1996-11-06 | 2000-05-09 | Sowa Institute Of Technology Co., Ltd. | Learning methods in binary systems |
| JP2001188767A (ja) * | 1999-12-28 | 2001-07-10 | Fuji Xerox Co Ltd | ニューラルネットワーク演算装置及びニューラルネットワークの演算方法 |
| WO2002048958A2 (en) * | 2000-12-13 | 2002-06-20 | The Johns Hopkins University | Method for training a hierarchical neural-network intrusion detector |
| US6754645B2 (en) * | 2001-03-20 | 2004-06-22 | Winbond Electronics Corp. | Voltage-mode pulse width modulation VLSI implementation of neural networks |
| US20040059947A1 (en) * | 2001-12-12 | 2004-03-25 | Lee Susan C. | Method for training a hierarchical neural-network intrusion detector |
| US20040105635A1 (en) * | 2002-07-18 | 2004-06-03 | Shantanu Nandi | Fiber optic transmission conductor and distributed temperature sensing of fiber optic transmission conductor |
| US7035835B2 (en) * | 2003-06-12 | 2006-04-25 | Winbond Electronics Corporation | High-precision current-mode pulse-width-modulation circuit |
| US7426501B2 (en) * | 2003-07-18 | 2008-09-16 | Knowntech, Llc | Nanotechnology neural network methods and systems |
| US8659940B2 (en) * | 2008-03-25 | 2014-02-25 | Nantero Inc. | Carbon nanotube-based neural networks and methods of making and using same |
| GB0811057D0 (en) * | 2008-06-17 | 2008-07-23 | Univ Ulster | Artificial neural network architecture |
| US9189744B2 (en) | 2010-10-04 | 2015-11-17 | Mind Over Matter Ai, Llc. | Coupling of rational agents to quantum processes |
| US8892487B2 (en) | 2010-12-30 | 2014-11-18 | International Business Machines Corporation | Electronic synapses for reinforcement learning |
| US9642980B2 (en) | 2013-03-15 | 2017-05-09 | Trudell Medical International | Ventilator circuit, adapter for use in ventilator circuit and methods for the use thereof |
| US10643125B2 (en) | 2016-03-03 | 2020-05-05 | International Business Machines Corporation | Methods and systems of neuron leaky integrate and fire circuits |
| KR102399548B1 (ko) * | 2016-07-13 | 2022-05-19 | 삼성전자주식회사 | 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치 |
| JP6668282B2 (ja) * | 2017-03-21 | 2020-03-18 | キオクシア株式会社 | 半導体記憶装置 |
| JP7089750B2 (ja) * | 2018-07-18 | 2022-06-23 | 国立研究開発法人産業技術総合研究所 | ボルツマンマシン |
| US10490273B1 (en) | 2018-10-15 | 2019-11-26 | International Business Machines Corporation | Linearly weight updatable CMOS synaptic array without cell location dependence |
| GB2579120B (en) * | 2018-11-20 | 2021-05-26 | Cirrus Logic Int Semiconductor Ltd | Inference system |
| JP7271463B2 (ja) * | 2020-03-06 | 2023-05-11 | 株式会社東芝 | シナプス回路およびニューラルネットワーク装置 |
| JP2022125660A (ja) | 2021-02-17 | 2022-08-29 | キオクシア株式会社 | 記憶装置及び記憶方法 |
| JP7482071B2 (ja) * | 2021-03-16 | 2024-05-13 | 株式会社東芝 | 記憶装置およびニューラルネットワーク装置 |
| US11812589B2 (en) * | 2021-05-12 | 2023-11-07 | Nvidia Corporation | Intelligent refrigerant distribution unit for datacenter cooling systems |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1988010474A1 (en) * | 1987-06-18 | 1988-12-29 | University Of West Virginia | State analog neural network and method of implementing same |
| US4903226A (en) * | 1987-08-27 | 1990-02-20 | Yannis Tsividis | Switched networks |
| JP2633874B2 (ja) * | 1987-11-05 | 1997-07-23 | 富士通株式会社 | 増設処理方式 |
| US5155802A (en) * | 1987-12-03 | 1992-10-13 | Trustees Of The Univ. Of Penna. | General purpose neural computer |
| US4866645A (en) * | 1987-12-23 | 1989-09-12 | North American Philips Corporation | Neural network with dynamic refresh capability |
| US4926064A (en) * | 1988-07-22 | 1990-05-15 | Syntonic Systems Inc. | Sleep refreshed memory for neural network |
| US5220641A (en) * | 1988-10-11 | 1993-06-15 | Kabushiki Kaisha Toshiba | Multi-layer perceptron circuit device |
| JP2517410B2 (ja) * | 1989-05-15 | 1996-07-24 | 三菱電機株式会社 | 学習機能付集積回路装置 |
| US5148514A (en) * | 1989-05-15 | 1992-09-15 | Mitsubishi Denki Kabushiki Kaisha | Neural network integrated circuit device having self-organizing function |
| JPH02310666A (ja) * | 1989-05-25 | 1990-12-26 | Mitsubishi Electric Corp | 半導体神経回路装置 |
| JPH0782481B2 (ja) * | 1989-12-26 | 1995-09-06 | 三菱電機株式会社 | 半導体神経回路網 |
| JP2810202B2 (ja) * | 1990-04-25 | 1998-10-15 | 株式会社日立製作所 | ニューラルネットワークによる情報処理装置 |
| JPH0429494A (ja) * | 1990-05-23 | 1992-01-31 | Matsushita Electric Ind Co Ltd | 自動調整装置 |
| US5293453A (en) * | 1990-06-07 | 1994-03-08 | Texas Instruments Incorporated | Error control codeword generating system and method based on a neural network |
| GB9014569D0 (en) * | 1990-06-29 | 1990-08-22 | Univ London | Devices for use in neural processing |
| JP2785155B2 (ja) * | 1990-09-10 | 1998-08-13 | 富士通株式会社 | ニューロコンピュータの非同期制御方式 |
| US5308915A (en) * | 1990-10-19 | 1994-05-03 | Yamaha Corporation | Electronic musical instrument utilizing neural net |
| JPH04160463A (ja) * | 1990-10-24 | 1992-06-03 | Hitachi Ltd | ニューラルネットワークによる最適化方法 |
| US5259064A (en) * | 1991-01-25 | 1993-11-02 | Ricoh Company, Ltd. | Signal processing apparatus having at least one neural network having pulse density signals as inputs and outputs |
| IT1244911B (it) * | 1991-01-31 | 1994-09-13 | Texas Instruments Italia Spa | Architettura per rete neuronica fisicamente inseribile nel processo di apprendimento. |
| US5280792A (en) * | 1991-09-20 | 1994-01-25 | The University Of Sydney | Method and system for automatically classifying intracardiac electrograms |
| US5343555A (en) * | 1992-07-06 | 1994-08-30 | The Regents Of The University Of California | Artificial neuron with switched-capacitor synapses using analog storage of synaptic weights |
| US5298796A (en) * | 1992-07-08 | 1994-03-29 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Nonvolatile programmable neural network synaptic array |
-
1992
- 1992-01-24 JP JP4011413A patent/JPH05210649A/ja not_active Withdrawn
- 1992-11-03 US US07/971,038 patent/US5696883A/en not_active Expired - Fee Related
- 1992-11-23 DE DE4239308A patent/DE4239308C2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE4239308A1 (en) | 1993-07-29 |
| JPH05210649A (ja) | 1993-08-20 |
| US5696883A (en) | 1997-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE4239308C2 (de) | Neuronetzeinheit und Betriebsverfahren dafür | |
| DE112018004223B4 (de) | Trainieren künstlicher neuronaler Netze | |
| DE4042139C2 (de) | Neuron-Einheit | |
| DE112018005726B4 (de) | Resistive verarbeitungseinheit auf zählerbasis für programmierbare und rekonfigurierbare künstliche neuronale netzwerke | |
| DE112016003245B4 (de) | Resistive Verarbeitungseinheit | |
| EP2718933B1 (de) | Synapse für eine funktionszelle einer spike-timing-abhängigen plastizität (stdp), stdp-funktionszelle und neuromorphe schaltung mit der stdp-funktionszelle | |
| DE69032680T2 (de) | Neuronaler Rechner | |
| EP2616996B1 (de) | Kompakte kognitive synaptische rechenschaltungen | |
| EP0377908B1 (de) | Neurales Netzwerk mit Assoziativspeicher, der durch Beispiele lernt | |
| Chicca et al. | A VLSI recurrent network of integrate-and-fire neurons connected by plastic synapses with long-term memory | |
| Mezard et al. | Learning in feedforward layered networks: The tiling algorithm | |
| DE102021208010A1 (de) | Hardware-rechenstruktur für tiefe gleichgewichtsmodelle | |
| DE4316625A1 (de) | Neuronales Netzwerk | |
| DE112018000134T5 (de) | Memristive Einheit auf Grundlage einer Alkali-Dotierung von Übergangsmetalloxiden | |
| DE69009786T2 (de) | Schaltungsanordnung mit Mehrfachrückkopplung. | |
| US20240296325A1 (en) | Neural network device and synaptic weight update method | |
| DE19503147A1 (de) | Abbildungsschaltung und Chaos-Neuronen-Schaltung und ein diese verwendendes Netzwerk | |
| Fukai et al. | Large suppression of spurious states in neural networks of nonlinear analog neurons | |
| DE112020005613T5 (de) | Neuromorphe Einheit mit Kreuzschienen-Array-Struktur | |
| US5247206A (en) | Neural network accommodating parallel synaptic weight adjustments in a single cycle | |
| DE4315576A1 (de) | Neuronales Netzwerk | |
| DE2025857A1 (de) | Datenspeicherschaltung in der Form einer zweiphasigen Schieberegisterzelle sehr hoher Arbeitsgeschwindigkeit und geringer Leistungsaufnahme | |
| DE60307050T2 (de) | Schaltung und verfahren für logische operationen | |
| Güzeliş | Chaotic cellular neural networks made of Chua's circuits | |
| Madani et al. | Two analog counters for neural network implementation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8320 | Willingness to grant licences declared (paragraph 23) | ||
| 8339 | Ceased/non-payment of the annual fee |