Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SEMICONDUCTOR NEURON WITH VARIABLE INPUT WEIGHTS
Document Type and Number:
WIPO Patent Application WO/1997/027632
Kind Code:
A1
Abstract:
The invention concerns a semiconductor neuron in which input electrodes are coupled capacitively to a floating gate (FG) of which the potential controls the current of a MOSFET (NT), and in which a respective neuron input (E1 ... E4) can be connected to partial electrodes (1 ... 7) of a respective input electrode such that the entire surface of the partial electrodes connected to the respective neuron input corresponds to a respective weight of the neuron input. The invention combines the high processing speed of a hardware neuron with the flexibility of a software neuron.

Inventors:
THEWES ROLAND (DE)
WEBER WERNER (DE)
Application Number:
PCT/DE1996/002449
Publication Date:
July 31, 1997
Filing Date:
December 18, 1996
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
THEWES ROLAND (DE)
WEBER WERNER (DE)
International Classes:
G06G7/60; G06N3/06; G06N3/063; G06F15/18; H01L21/8247; H01L29/788; H01L29/792; (IPC1-7): H01L29/788; G06G7/60
Foreign References:
EP0685808A11995-12-06
EP0657934A11995-06-14
EP0516847A11992-12-09
Download PDF:
Claims:
Patentansprüche
1. Halbleiterneuron, bei dem mindestens eine aus einer Mehrzahl von Teilelektroden (1 ... 7) bestehende Eingangselektrode zur Signalübertragung kapazitiv mit einem Floating Gate (FG) gekoppelt iεt, dessen Potential den Strom eines MOSFeldeffekttransistors (NT) steuert, und bei dem ein jeweiliger Neuroneingang (El ... E4) mit Teilelektroden aus der Mehrzahl von Teilelektroden (1 ... 7) derart verbindbar ist, daß die Gesamtfläche der mit dem jeweiligen Neuroneingang verbundenen Teilelektroden einem je¬ weiligen Gewicht des Neuroneingangs entspricht.
2. Halbleiterneuron nach einem der vorhergehenden Ansprüche, bei dem Teilelektroden (1 ... 7) eines jeweiligen Neurons un¬ terschiedlich große Elektrodenflächen aufweisen.
3. Halbleiterneuron nach Anspruch 1, bei dem Teilelektroden (1 ...7) der Eingangselektroden über Multiplexer (Ml ...M7) mit Neuroneingängen (EJ verbunden sind.
4. Halbleiterneuron nach Anpruch 3, bei dem ein jeweiliges Neuron (Ni ... N*) durch eine jeweili ge Steuerschaltung (NSBi ..NSBk) angesteuert sind, wobei alle Steuerschaltungen von einem einzelnen Controller (CONT) mit Adressen (ADR) , Daten (DAT) und einem Taktsignal (CLK) ver¬ sorgt sind.
5. Halbleiterneuron nach Anspruch 4, bei dem eine mit einem jeweiligen Neuron verbundene jeweilige Steuerschaltung mit einem Adressdecoder (ADRDEC) , einer Da¬ tenverbindungseinheit (DATA_CON) , einer Taktverbindungsein¬ heit (CLK_CON) und einem Schieberegister (SREG) ausgestattet ist, wobei abhängig von der Adresse (ADR) die Daten (DAT) und das Taktsignal (CLK) dem Schieberegister zuführbar sind, wel ches seinerseits Steuersignale (Si) für die Multiplexer eines jeweiligen Neurons erzeugt.
6. Halbleiterneuron nach Anspruch 4 oder 5, bei dem die jeweilige Steuerschaltung vom Controller derart mit Adressen und Daten versorgt wird, daß die Gesamtfläche aller mit Neuroneingängen verbundenen Teilelektroden eines jeweiligen Neurons, bei beliebiger Gewichtung der Neuronein¬ gänge, stets so groß wie die Gesamtfläche aller Teilelektro den des jeweiligen Neurons ist.
Description:
Beschreibung

Halbleiterneuron mit variablen Eingangsgewichten

In der modernen Datenverarbeitung, insbesondere bei Video- und Audioanwendungen, spielen neuronale Netze eine zunehmende Rolle. Die Grundelemente dieser neuronalen Netze sind die Neuronen, bei denen im einfachsten Fall eine Anzahl von Ein¬ gängen mit variablem Gewicht auf einen einzigen Ausgang wir- ken, wobei dessen Signal jeweils einen anderen logischen Zu¬ stand annimmt, wenn die gewichtete Sujmme aller Eingänge eine bestimmte Schwelle über- bzw. unterschreitet. Neuronale Netze weisen gewisse Ähnlichkeiten mit Gehirnen auf, da sie insbe¬ sondere lernfähig sind und die Qualität ihres Ergebnisses stetig durch wiederholtes Oben verbessert werden kann. Heute werden Neuronen zumeist softwaremäßig realisiert. Für schnel¬ le und komplexe Anwendungen neuronaler Netze ist jedoch in vielen Fällen eine hardwaremäßige Implementierung von Neuro¬ nen erforderlich, dies wies bisher jedoch Probleme bei der Adaptierbarkeit an verschiedene Anwendungen auf. Die weiter angestrebten Anwendungen, beispielsweise in der Bildverarbei¬ tung, erfordern sehr hohe Verarbeitungsgeschwindigkeiten, die praktisch nur durch Hardwarelösungen erreichbar sind.

Aus den IEEE Transactions on Electron Devices, Vol. 39, No. 6, June 1992, Seiten 1444 bis 1454, ist bereits ein Bauele¬ ment bekannt, das bei sehr kleiner Fläche wichtige Teilfunk¬ tionen, wie zum Beispiel die Verknüpfung mehrerer Eingänge und eine Schwellwertbildung aufweist. Nachteilig ist hierbei, daß die einzelnen Eingänge nicht unterschiedlich gewichtet werden können bzw. daß die Gewichtung der Eingänge nicht fle¬ xibel änderbar ist.

Der Erfindung liegt nun die Aufgabe zugrunde, ein Halbleiter- neuron und eine entsprechende Ansteuerung so anzugeben, daß das Halbleiterneuron bei kleiner Chipfläche und hoher Verar-

beitungsgeschwindigkeit eine variable Gewichtung der Eingänge ermöglicht.

Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Pa- tentanspruchs 1 gelöst. Die Unteransprüche betreffen vorteil¬ hafte Ausgestaltungen der Erfindung.

Die Erfindung wird nachfolgend anhand der Zeichnungen näher erläutert. Dabei zeigt

Figur 1 ein Blockschaltbild des erfindungsgemäßen Halbleiter¬ neurons und

Figur 2 ein Blockschaltbild einer Schaltung mit mehreren er- findungsgemäßen Halbleiterneuronen und Steuerschal¬ tungen sowie weiterer Peripherie und

Figur 3 ein Schaltbild einer Steuerschaltung von Figur 2.

In Figur 1 ist ein Blockschaltbild eines erfindungsgemäßen

Halbleiterneurons gezeigt, das einen MOS-Feldeffekttransistor NT mit einem Floating Gate FG aufweist, wobei das Floating Gate eine gemeinsame Gegenelektrode von Eingangskapazitäten darstellt, die jeweils durch die Gegenelektrode und jeweilige Teilelektroden 1 ... 7 gebildet werden. Die Zahl der Teile¬ lektroden kann hierbei praktisch beliebig gewählt werden. Das Floating Gate ist dabei beispielsweise aus einer ersten Poly¬ siliziumschicht gebildet, die gegenüber einem Halbleiter¬ substrat und gegenüber den Teilelektroden durch eine Oxid- schicht elektrisch isoliert ist. Die Teilelektroden können dabei in einer zweiten darüberliegenden Polysiliziumschicht gefertigt und über Kontaktlöcher K elektrisch kontaktiert sein. Eine jeweilige Teilelektrode 1 ... 7 ist mit einem Aus¬ gang eines jeweiligen zugehörigen Multiplexers Ml ... M7 ver- bunden. Die Eingänge eines jeden Multiplexers sind mit Neu¬ roneingängen Ei bzw. El ... E4 beschaltet und der jeweilige Multiplexer verbindet jeweils immer genau einen Neuroneingang

mit einer Teilelektrode. Die Anzahl der Eingänge kann prak¬ tisch beliebig sein, ist jedoch sinnvollerweise wesentlich kleiner als die Anzahl der Teilelektroden. Die Multiplexer Ml ... M7 werden von Steuersignalen Si bzw. Sl ... S7 angesteu- ert, die in einer Steuerschaltungen gebildet werden und die je nach der Zahl der Neuroneingänge ein aber auch mehrere Bit breit sein können.

Bei dem in Figur 1 gezeigten Beispiel sind sieben Teilelek- troden und vier Neuroneingänge E1..E4 vorgesehen, wobei über die Multiplexer Ml ... M7 die Elektroden 1 und 6 mit dem Neu¬ roneingang El, die Elektroden 2 und 5 mit dem Neuroneingang E3, die Elektroden 3 und 4 mit dem Neuroneingang E2 und die einzelne Eingangselektrode 7 mit dem Neuroneingang E4 verbun- den sind. Dies hat zur Folge, daß, sofern die Elektroden 1

...7 alle die gleiche Fläche haben, die Neuroneingänge El, E2 und E3 gegenüber dem Neuroneingang E4 mit doppeltem Gewicht bewertet werden, da bezüglich dieser Neuroneingänge die Kon¬ densatorflächen und damit die Koppelkapazität gegenüber der Koppelkapazität des Neuroneingangs E4 verdoppelt ist.

Die einzelnen Elektroden können aber auch selbst unterschied¬ liche Abmessungen und damit von vornherein unterschiedliches Gewicht haben. Wenn zum Beispiel die Gewichte der Eingangs- elektroden 1..3 das Gewicht 1, die Eingangselektroden 4 und 5 das Gewicht 2, die Eingangselektrode 6 das Gewicht 3 und die Eingangselektrode 7 das Gewicht 4 aufweisen, so ist eine feinere Abstufung bezüglich der Verteilung der Gewichte auf die Eingänge möglich als bei einer Anordnung mit gleichen Elektrodenabmessungen. Mit der angegebenen Verteilung der Ge¬ wichte der Eingangselektroden und der Schalterstellung der Multiplexer gemäß Figur 1 erhält der Eingang El nun das Ge¬ wicht 1+3=4, der Eingang E2 das Gewicht 1+2=3, der Eingang E3 das gewicht 1+2=3 und der Eingang E4 das Gewicht 4.

Um die vorhandene Hardware voll zu nutzen ist es von Vorteil, wenn jeweils die Gesamtfläche aller gerade mit Neuroneingän-

gen verbundenen Teilelektroden, bei beliebiger Gewichtung der Neuroneingänge, stets so groß wie die Gesamtfläche aller überhaupt vorhandenen Teilelektroden ist.

Figur 2 zeigt beispielhaft eine Schematische Darstellung ei¬ ner Neuron-Schaltung NSCH mit k Neuronen NEURON^ ... NEURON^. Diese Neuronen sind untereinander über ein Netzwerk NV ver¬ netzt, welches auch Eingangssignale IN und Ausgangssignale OUT der Neuron-Schaltung NSCH in der gewünschten Form mit den Neuronen verbindet. Außerhalb der signalverarbeitenden Neu¬ ron-Schaltung NSCH befinden sich k Steuerschaltungen NSB- ] _ ... NSBjς zur Bildung von Steuersignalen Sι..S k zur Steuerung der Multiplexer der jeweiligen Neuronen, wobei die Neuronen der Schaltung NSCH bezüglich der Anzahl ihrer Eingänge, der An- zahl ihrer Eingangselektroden bzw. der Anzahl ihrer Multiple¬ xer und der Aufteilung der verfügbaren Gewichte nicht notwen¬ digerweise identisch konfiguriert sein müssen. Die Steuer¬ schaltungen NSBi ... NSB] ζ sind mit einem einzelnen Controller CONT verbunden, wobei jede der Steuerschaltungen über eine eigene Adresse ADR vom Controller einzeln ansprechbar ist und wobei der jeweilig adressierten Steuerschaltung Daten DAT zur Einstellung der Multiplexer Ml ... Mn des jeweiligen Neurons übermittelbar sind.

Zur Erläuterung der Funktionsweise wird zunächst davon ausge¬ gangen, daß alle Neuronen der Schaltung NSCH einen bestimmten Zustand bezüglich der Verteilung der Gewichte der Teilelek¬ troden auf die Eingänge besitzen. Dieser Zustand, sowie auch die Konfiguration aller Neuronen, das heißt die Zahl ihrer Eingangselektroden mitsamt den dazugehörigen Gewichten sowie die Zahl der Eingänge sind dem Controller CONT bekannt. Wäh¬ rend der Lernphase der Neuron-Schaltung NSCH erzeugt die Neu¬ ron-Schaltung NSCH bei Anlegen eines bestimmten Eingangs¬ signales IN ein Ausgangssignal OUT. Dieses Ausgangssignal OUT wird von einer Bewertereinheit BEW bewertet, wobei diese Be¬ wertereinheit hardwaremäßig auf dem gleichen Chip realisiert sein kann, was jedoch nicht zwingend notwendig ist. Die Be-

Wertereinheit teilt das Ergebnis der Bewertung des Ausgangs- εignales dem Controller CONT mit. Im Falle eines nicht zu¬ friedenstellenden Ergebnisses berechnet dieser aufgrund sei¬ ner Kenntnis des Zustandes und der Konfiguration der Neuronen einen neuen Zustand und gibt die erforderlichen Daten an die Steuerschaltungen NSBi ... NSBjζ weiter. Vorteilhaft an dieser Ausgestaltung der Gesamtschaltung aus der Neuron-Schaltung NSCH, dem Controller CONT und den Steuerschaltungen NSB ist, daß, wie in Figur 3 gezeigt, eine Steuerschaltung NSB mit verhältnismäßig geringem Aufwand und Platzbedarf realisierbar ist und daß nur an einer Stelle der Gesamtschaltung eine ein¬ zige zentrale, intelligente Einheit zur Berechnung der einzu¬ stellenden Zustände der Neuronen, nämlich der Controller CONT erforderlich ist.

In Figur 3 ist beispielhaft eine Steuerschaltung mit einem Adressdecoder ADRDEC, einer Datenverbindungseinheit DATA_CON, einer Taktverbindungseinheit CLK_CON und einem Schieberegi¬ ster SREG mit Haltegliedern (Latches) gezeigt, wobei abhängig von der Adresse ADR die Daten DAT und ein vom Controller CONT kommendes Taktsignal CLK dem Schieberegister zuführbar sind, welches seinerseits die Steuersignale Si für die Multiplexer eines jeweiligen Neurons erzeugt. Die Anzahl der Stufen und damit auch die Anzahl der Ausgänge des Schieberegisters ist gleich der Anzahl der Bits, die zur vollständigen Steuerung der Multiplexer eines Neurons nötig sind. Die parallelen Aus¬ gänge des Schieberegisters bilden die Ansteuersignale für die Multiplexer eines Neurons.

Im Falle des Neurons gemäß Figur 1 wäre also ein 14-stufiges Schieberegister nötig. Um die einzelnen Stufen des Schiebere¬ gisters mit Daten zu beschreiben, müssen an einen IBit brei¬ ten Dateneingang des Schieberegisters ein Datum angelegt wer¬ den, welches bei Triggerung durch das Taktsignal CLK in die erste Stufe übernommen wird. Bei einer weiteren Triggerung des Schieberegisters wird dieses Datum in die folgende Stufe

übernommen, während die erste Stufe das aktuell am Datenein¬ gang verfügbare Datum einliest usw.

Daten- und Takteingang eines jeweils zu einer Steuerschaltung NSB gehörenden Schieberegisters werden jedoch nur dann frei¬ gegeben, sofern der Controller CONT die Adresse auf der Adreßleitung ausgewählt hat, die mit der Adresse des Adress¬ decoders der entsprechenden Schaltung NSB übereinstimmt. Vor¬ teilhaft an einem solchen Aufbau einer Steuerschaltung NSB ist zum einen, daß sich der schaltungstechnische Aufwand in vertretbaren Grenzen hält, und daß andererseits eine nicht allzu große Anzahl an Leitungen zur Verbindung deε Control¬ lers CONT mit den Steuerschaltungen NSB]_ ... NSBjς vonnöten ist.