DE4018779A1 - Neurale netzwerke und lernfaehiges schlussfolgerungssystem - Google Patents
Neurale netzwerke und lernfaehiges schlussfolgerungssystemInfo
- Publication number
- DE4018779A1 DE4018779A1 DE4018779A DE4018779A DE4018779A1 DE 4018779 A1 DE4018779 A1 DE 4018779A1 DE 4018779 A DE4018779 A DE 4018779A DE 4018779 A DE4018779 A DE 4018779A DE 4018779 A1 DE4018779 A1 DE 4018779A1
- Authority
- DE
- Germany
- Prior art keywords
- input
- transformation
- neural network
- threshold
- values
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Devices For Executing Special Programs (AREA)
Description
Die vorliegende Erfindung befaßt sich mit dem Gebiet der
neuralen Netzwerke und mit Prozessorelementen für neurale
Netzwerke, die auf der Grundlage von Wahrscheinlichkeiten
arbeiten, und befaßt sich insbesondere mit einem Netzwerk mit
einem Neuralknoten, der ein Ausgangssignal als Produkt linear
transformierter oder nach Potenzreihen erweiterten
Eingangssignalen erzeugt.
Ein neurales Netzwerk besteht aus einer Anzahl stark,
bisweilen vollkommen vernetzter Prozessorelemente. Die
Vernetzung dieser Prozessorelemente kann strukturiert sein,
das ist jedoch keine unabdingbare Voraussetzung für diese
Anordnungen, die als neurale Netzwerke bezeichnet werden. Die
Prozessorelemente können in Abhängigkeit vom zu lösenden
Problem und von den verfügbaren Hilfsquellen in Ebenen,
Säulen, Bäumen, Ringen, Sternen usw. organisiert sein. Die
Prozessorelemente in einem neuralen Netzwerk müssen nicht
alle identisch sein. Dieses Merkmal ermöglicht die
Spezialisierung von Prozessorelementkonfigurationen, so daß
sie innerhalb des Netzwerks spezifische Funktionen ausführen
wie z. B. Eingangs- oder Ausgangsfunktionen. Herkömmliche
neurale Netzwerke 8 werden aus Prozessorelementen gebildet,
die Boolesche Signale verarbeiten und im allgemeinen in
Ebenen strukturiert sind, wie in Fig. 1 gezeigt wird. Die
Signale können die Elemente eines Bildes in einem
Mustererkennungsnetzwerk, Zustände von Vorrichtungen in einem
Prozeßsteuersystem und beliebige sonstige Signale oder Werte
darstellen, mit denen ein neurales Netzwerk und
Expertensystem arbeitet. Ein neurales Netzwerk besteht aus
mehreren Ebenen, einer Eingangsebene 10, die mehrere
Eingangsknoten 12 umfaßt, einer Ausgangsebene 14, die mehrere
Ausgangsknoten 16 umfaßt, und zur Lösung komplexer Probleme,
d. h. Probleme, die nicht linear lösbar sind, beinhaltet
das herkömmliche neurale Netzwerk 8 üblicherweise eine oder
mehrere Ebenen 18-22 zwischen der Eingangsebene 10 und der
Ausgangsebene 14, die wegen ihrer Lage innerhalb des
Netzwerks, oft als "verborgene Ebenen" angesprochen werden.
Jede dieser verborgenen Ebenen schließt auch die Knoten 24
und 26 ein. Im Prinzip können im Netzwerk 8 durchaus mehr als
eine versteckte Ebene vorkommen. Zusätzliche verborgene
Ebenen vergrößern den Betrag serieller Verarbeitung im
Netzwerk, können aber die sich ergebende, vom Netzwerk 8
erzeugte Lösung klären. Theoretisch wurde nachgewiesen, daß
in einem Netzwerk mit nur einer einzigen verborgenen Ebene
jede willkürliche Funktion gebildet bzw. jedes Problem gelöst
werden kann, daher hat das herkömmliche
Drei-Ebenen-Netzwerk alle Merkmale, die zur Entwicklung
einer ausfallsicheren Lösung für jedes willkürliche Problem
erforderlich sind. Das herkömmliche neurale Netzwerk 8
beinhaltet auch eine Lernebene 28 mit Lernknoten 30, die es
dem neuralen Netzwerk 8 ermöglichen, die zu erkennenden
Muster zu lernen. Die herkömmliche neurale
Netzwerkverarbeitung gründet sich einfach auf die Bestimmung
des inneren Produkts eines Gewichtungsvektors mit dem
Eingangsvektor und Testen dieses Werts gegen einen
Schwellenwert. Fig. 2 zeigt die Prozessorelementstruktur bzw.
den Knoten eines herkömmlichen Neuralnetzwerks, wo diese Art
Prozessorelement in allen Netzwerkebenen einschließlich
Eingangs- und Ausgangsebene benützt wird. Dieser Knoten 40
beinhaltet ein Verknüpfungselement 42 bzw. einen Algorithmus,
der ein Verknüpfungsausgangssignal durch Multiplikation des
Verknüpfungseingangssignals xi mit einer Gewichtung Ai
erzeugt, wie in Gleichung 1 gezeigt wird:
Yi = Aixi (1)
Die Verknüpfungsgewichtung Ai kann entweder positiv oder
negativ sein, je nachdem, ob die Verknüpfung zwischen den
Prozessorelementen fördernd oder hemmend ist. Diese
Verknüpfungsausgangssignale yi werden aufsummiert und mit
einem Schwellenwert R verglichen, wie in Gleichung 2 gezeigt
wird:
Dieser herkömmliche Algorithmus ermöglicht es,
Schlußfolgerungen mit gewichteter Information zu ziehen, eine
klassische Methode der Entscheidungsfindung. Dieser
Algorithmus wird im allgemeinen als gewichtete Summation
bezeichnet, und jeder Knoten wird bisweilen Perzeptron
genannt, wegen seiner Fähigkeit, Muster zu erkennen. Der
gewichtete Summationsalgorithmus selbst ist ein statistisches
Verfahren, daß üblicherweise dazu benutzt wird, eine Menge
zusammengehöriger Originaldaten zu einem einzigen Datum zu
verdichten. Dieser Prozeß ist sehr nützlich, wenn es darum
geht, auf der Eingangsebene (10) eines neuralen Netzwerks die
Angaben einer Reihe von Sensoren zu einem einzigen
Eingangssignal zu verdichten. Dieser Prozeß ist auch sehr
nützlich beim Formulierungen einer Übereinstimmung einer Reihe
von entscheidungstreffenden Quellen auf der Ausgangsebene 14
eines neuralen Netzwerks. Da herkömmliche neurale Netzwerke
nur Boolesche Signale verarbeiten, muß dieses Ergebnis der
Verdichtung durch gewichtete Summation in ein Boolesches
Signal zurücktransformiert werden. Das geschieht mit dem
obigen Algorithmus durch Vergleichen der gewichteten
Summationen y mit dem Schwellenwert R, und Ausgabe einer 0
(falsch), wenn die Ungleichung ungültig ist, oder 1 (wahr),
wenn die Ungleichung gültig ist. Die oben beschriebene
einfache Schwellenwertfunktion kann ersetzt werden durch eine
komplexe Schwellenwertfunktion, wie eine Sigmafunktion, die
auf das Ausgangssignal des Summierungselements 44 durch das
Vergleichselement 46 der Übertragungsfunktion einwirkt.
Während der Lernphase wurden von einer
Gewichtungsberechnungseinheit 48 unterschiedliche Algorithmen
zur Fehlerrückverfolgung benützt, um die Gewichtungen Ai auf
die Eingangssignale der einzelnen Knoten anzuwenden.
Die Funktion der Gleichung 2 schließt keine Abweichung ein,
weil eine Abweichung redundant ist. Eine Abweichung kann ganz
einfach im Schwellenwert absorbiert werden oder der
Schwellenwert wegen des Vorliegens der Addition. Ein
einziges Summationsschwellenwert-verarbeitende Element kann
nicht jede mögliche Boolesche Logikfunktion generieren. Zum
Beispiel, für die zwei Eingangsfälle kann die
Summationsschwellenwertfunktion nur 14 (die linear
trennbaren) Funktionen der 216 möglichen Funktionen erzeugen
und ist unfähig, die Exklusiv-OR- und die Äquivalenz-
(Ausschließende NOR)-Funktion zu erzeugen, die
nicht-linearen, separierbaren Funktionen laut Tabelle I, in
der Z die Menge (falsch, wahr) ist:
Die Unfähigkeit der Gleichung 2, alle möglichen Booleschen
Funktionen zu erzeugen, ist in der Praxis kein Problem, wenn
diese Elemente in einem Netzwerk mit mehreren Ebenen benützt
werden, weil eine Kombination dieser Elemente in der Lage
ist, jede beliebige logische Funktion zu generieren. Das geht
daraus hervor, daß ein einziges Prozessorelement für einen
Summationsschwellenwert das universale logische Element NOR,
das universale logische Element NAND, und den gesamten Satz
primitiver Boolescher logischer Schlüsselfunktionen AND, OR und
NOT generieren kann.
Die Anzahl der Booleschen Logikfunktionen, die ein einziges
herkömmliches Prozessorelement emulieren kann, steigt mit der
Anzahl der Eingänge rapide an, wie in Spalte drei der Tabelle
2 gezeigt wird:
Tabelle 2 vergleicht die maximal mögliche Anzahl der
Booleschen Logikfunktionen, die ein hypothetisches
Universalprozessorelement generieren kann, mit der
tatsächlichen Anzahl Boolescher Logikfunktionen, die ein
herkömmlicher Knoten, oder Perzeptron, generieren kann (die
linear separierbaren Funktionen), für 1 bis 6 Eingänge.
Tabelle 2 zeigt, daß für mehr als drei Eingänge das
hypothetische Universalprozessorelement eine wesentlich
größere Anzahl Boolescher Logikfunktionen generiert (wie in
der Spalte für das Universalprozessorelement angegeben wird),
als die herkömmliche Vorrichtung (aufgelistet in der
Perzeptron-Spalte), aber nicht notwendigerweise alle
Boolesche Funktionen generiert. Das deutet darauf hin, daß
ein mächtigeres Prozessorelement, wie z. B. ein hypothetisches
Universalprozessorelement, zum Aufbau von kompakten
Hochgeschwindigkeits-Neuralnetzwerken dasjenige ist, das für
das Generieren nicht-linearer Boolescher Logikfunktionen
maßgeschneidert ist.
Eine Aufgabe der vorliegenden Erfindung ist es, herkömmliche
neurale Netzwerkknoten mittels eines linearen
Transformations-Verknüpfungselements auf der Grundlage der
Wahrscheinlichkeitsberechnung zu verbessern.
Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein
mächtigeres Prozessorelement für neurale Netzwerke auf der
Grundlage der Wahrscheinlichkeitsberechnung bereitzustellen,
das ein Produkt linearer Transformationen liefert.
Es ist auch Aufgabe der vorliegenden Erfindung, ein neurales
Schwellenwertelement bereitzustellen, gegen das dieses
Produkt geprüft wird.
Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein
mächtigeres Prozessorelement bereitzustellen, das sowohl
linear separierbare als auch nichtlinear separierbare
Boolesche Funktionen generiert.
Eine weitere Aufgabe der vorliegenden Erfindung ist es, einen
neuralen Netzwerkknoten bereitzustellen, der die
Implementierung von Zwei-Ebenen-Neuralnetzwerken ermöglicht.
Wenn ein Potenzserien-Erweiterungselement benützt wird, ist
es Aufgabe der Erfindung, ein Universal-Prozessorelement für
neurale Netzwerke bereitzustellen.
Diese Aufgaben lassen sich lösen durch eine Verknüpfung für
eine Vorverarbeitung, die eine lineare Transformation am
Eingangssignal vornimmt. Die Ausgangssignale der
Vorprozessorvorrichtung werden als das Produkt dieser
linearen Transformationen kombiniert. Das Produkt wird dann
gegen einen Schwellenwert geprüft. Diese
Prozessorelement-Konfiguration ist einzigartig, weil sie
nichtlineare Transformationen zwischen Eingangsdaten und
Ausgangsergebnissen vornimmt. Daraus ergibt sich, daß dieses
Prozessorelement selbst linear und nichtlinear separierbare
Boolesche Logikfunktionen produziert. Durch Einsatz dieses
Prozessorelements läßt sich ein neurales Zwei-Ebenen-Netzwerk
schaffen, das jedes beliebige Problem mit willkürlicher
Entscheidungsfindung löst. Wenn bei der Vorverarbeitung eine
Potenzreihenerweiterung benützt wird, entsteht ein
Universalprozessorelement.
Eine erfindungsgemäße Ausführungsform eines Elements für ein
neurales Netzwerk beinhaltet Eingangsmittel zur
Transformation von Eingangswerten und Kombinationsmittel zum
Erzeugen eines Produkts der transformierten Eingangswerte,
wobei die Eingangsmittel eine lineare Transformation an jedem
der Eingangswerte bzw. eine Potenzreihentransformation an
jedem der Eingangswerte vornimmt durch Durchführung der
Gleichung:
wobei xi die Eingangswerte und Aik Konstante sind, bzw.
wobei xi die Eingangswerte, Ai und Bi konstante Koeffizienten
sind und R der Schwellenwert ist. Diese Ausführungsform kann
auch Rückkopplungsmittel zur Erkennung eines Musters in
direkter Suche enthalten.
Eine weitere Ausführungsform eines Elements für ein neurales
Netzwerk beinhaltet Eingangsmittel zum linearen
Transformieren der Eingangswerte gemäß yi = Aixi + Bi, wobei xi
der Eingangswert, Ai und Bi Konstante und yi der
transformierte Wert ist, Kombinationsmittel zum Kombinieren
der linear transformierten Werte gemäß
wobei y ein Kombinationswert ist, Vergleichsmittel zum
Vergleichen des Kombinationswerts mit einem Schwellenwert und
Erzeugen eines Ausgangswerts, wenn der Schwellenwert erfüllt
ist, sowie Lehrmittel zur Bestimmung der Werte der Konstanten
bei direkter Suche beinhaltet.
Eine weitere Ausführungsform eines neuralen Netzwerks
beinhaltet erste und zweite Neuralknotenebenen, die
untereinander verbunden sind, wobei jeder Knoten in der Ebene
Übertragungsmittel zur Durchführung von
beinhaltet, wobei Ai eine Konstante und xi ein Eingangswert
ist, eine Binärbaum-Transformierungsebene mit dieser
Eingangsebene gekoppelt ist und Transformierungsknoten
beinhaltet, von denen jeder
durchführt, wobei Bi und Ci Transformationskonstante sind und
yi ein von einem Eingangsknoten gelieferter Wert ist, und
eine Ausgangsebene mit dieser Transformierungsebene
gekoppelt ist und Ausgangsknoten beinhaltet, von denen jeder
durchführt, wobei Di eine Konstante und zi ein von einem
Transformierungsknoten gelieferter Wert ist. Diese
Ausführungsform kann Lernmittel beinhalten, die mit der
Transformierungsebene gekoppelt sind, um die
Transformierungskoeffizienten durch direkte Suche zu
bestimmen.
Eine weitere Ausführungsform kann ein dyadisches
Prozessorelement für ein neurales Netzwerk sein, das eine
logische Schaltung beinhaltet, die
[(a · x + b) · (c · y + d) R] → z
durchführt, wobei a, b, c und d Zwei-Bit-Koeffizienten, x und
y Ein-Bit-Eingangssignale, R ein Ein-Bit-Schwellenwert und z
ein Ein-Bit-Ausgangssignal ist.
Eine weitere Ausführungsform kann ein systolisches dyadisches
Prozessorelement für ein neurales Netzwerk sein, das eine
logische Schaltung beinhaltet, die
durchführt, wobei ai ein Zwei-Bit-Koeffizient für lineare
Transformation, bi ein Ein-Bit-Koeffizient für lineare
Transformation, R eine Ein-Bit-Vorzeichensteuerung, xi ein
Ein-Bit-Eingangssignal und z ein Ein-Bit-Ausgangssignal ist.
Die Erfindung läßt sich als Verfahren zum Betrieb eines
Knotens in einem neuralen Netzwerk ausführen, das für jeden
Knoten die Schritte (a) Transformation der Eingangswerte und
(b) Erzeugung eines Produkts der transformierten
Eingangssignale vornimmt, bei dem der Schritt (a) eine
lineare Transformation der Eingangswerte bzw. Schritt (a)
eine Potenzreihenerweiterung der Eingangswerte vornimmt und
ferner den Schritt (c), Vergleich des Produkts mit einem
Schwellenwert und Erzeugung eines Ausgangssignals, wenn
dieser Schwellenwert erfüllt ist, beinhaltet. In dieser
Ausführungsform leisten die Schritte (a) - (c)
wobei xi der Eingangswert, Ai und Bi Koeffizienten und R der
Schwellenwert sind. Schritt (a) kann mit Hilfe der
Transformationskoeffizienten die lineare Transformation
vornehmen, und Schritt (c) kann die Bestimmung der
Transformationskoeffizienten durch direkte Suche beinhalten.
Dieses erfindungsgemäße Verfahren ist auf ein neurales
Netzwerk mit einer Eingangsebene und einer Ausgangsebene
anwendbar, und jeder Knoten der Eingangs- und Ausgangsebene
leistet den Schritt
wobei Ci eine Konstante und xi ein Eingangs- oder
Ausgangswert ist.
Diese und weitere Aufgaben und Vorteile, die sich noch
ergeben, beruhen auf weiteren Einzelheiten der Konstruktion
und des Betriebs wie unter Bezugnahme auf die
Zeichnungen, die Teil der Erfindung sind und in denen gleiche
Bauteile jeweils mit gleichen Bezugszahlen versehen sind,
noch beschrieben und beansprucht wird.
Fig. 1 zeigt ein herkömmliches neurales Netzwerk.
Fig. 2 zeigt einen herkömmlichen Netzwerkknoten.
Fig. 3 zeigt einen Neuralknoten gemäß der vorliegenden
Erfindung.
Fig. 4 stellt ein erfindungsgemäßes Zwei-Ebenen-Netzwerk dar.
Fig. 5 stellt eine herkömmliche 3-Ebenen-Lösung zur
Verwirklichung der nichtlinear separierbaren Funktion XOR
dar.
Fig. 6 stellt eine erfindungsgemäße Zwei-Ebenen-Lösung zur
Verwirklichung der Funktion XOR dar.
Fig. 7 stellt ein neurales Netzwerk in Baumstruktur dar.
Fig. 8 zeigt die Eingangs/Ausgangs-Knoten der Fig. 7.
Fig. 9 zeigt den erfindungsgemäßen Lern-Algorithmus in
direkter Suche.
Fig. 10-16 zeigen die anwendungsspezifische
Logikelement-Implementierung des erfindungsgemäßen Knotens.
Fig. 17 zeigt das Element für lineare Transformation.
Fig. 18 zeigt ein Element zur Potenzreihenerweiterung.
Fig. 19 zeigt eine Version der Einheiten des Elements zur
Potenzreihenerweiterung.
Fig. 20 zeigt eine alternative Version der Einheiten des
Elements zur Potenzreihenerweiterung.
Die hier beschriebenen Knoten eines neuralen Netzwerks und
das Netzwerk selbst gründen sich auf das "Probabilistische
Schlußfolgerungssystem" der Patentanmeldung P 40 16 113.7, auf
das hier Bezug genommen wird und das der US-Patentanmeldung
07/3 64 475 von 12. Juni 1989 entspricht. Die Lehren dieser
Anmeldung werden unter Bezugnahme auf Fig. 17-20 eingehender
diskutiert. Der neurale Knoten 60, wie in Fig. 3 gezeigt
wird, beinhaltet einen verbesserten Verknüpfungsalgorithmus
bzw. -element, in dem eine einfache Implikation oder lineare
Transformation ausgeführt wird. Der Algorithmus für eine
einfache Implikation bestimmt das Verknüpfungsausgangssignal
yi durch Multiplikation des Verknüpfungseingangssignals xi
mit einer Gewichtung Ai und Addition einer Abweichung, wie in
Gleichung 3 gezeigt wird:
yi = Aixi + Bi (3)
Diese Verknüpfungsabweichung ist notwendig, um mit
Wahrscheinlichkeiten arbeiten zu können. Ohne diese
Verknüpfungsabweichung, Bi = 0, reduziert sich dieser
Algorithmus bzw. dieses Element auf das Verknüpfungselement
aus dem Stand der Technik, wie es in Gleichung 1 gezeigt
wird. Der Algorithmus bzw. das Element 62, das für komplexe
Implikationen benützt wird, bestimmt das
Verknüpfungsausgangssignal yi durch Durchführung einer
Potenzreihentransformation des Eingangssignals xi laut
Gleichung 4:
Dieser Algorithmus reduziert sich auf den herkömmlichen
Verknüpfungsalgorithmus für neurale Netzwerke, wenn Aik = 0
für k ungleich 1 ist. Dieser Algorithmus bzw. das Element
reduziert sich auf den gewöhnlichen Implikationsalgorithmus,
wenn Aik = 0 für k größer 1 ist. Der komplexere
Verknüpfungsalgorithmus liefert eine größere Genauigkeit und
ermöglicht somit eine bessere Entscheidungsfindung. Das
diskrete Bauteil, die Software und die anwendungsspezifischen
Prozessorimplementationen der linearen Transformation
(Gleichung 3) und Potenzreihenerweiterung (Gleichung 4), die
die Verknüpfungsausgangssignale erzeugen, lassen sich in der
hier durch Querverweis angezogenen Anmeldung finden. Die
beiden obigen Verknüpfungsalgorithmen bzw. Elemente werden
auch die Entscheidungsfindung der herkömmlichen Knoten
verbessern, wenn sie im herkömmlichen Verknüpfungselement 42
eingesetzt werden.
Wenn ein neurales Netzwerk mit dem verbesserten
Verknüpfungsalgorithmus bzw. Element 62 in einem seriellen
Prozessorsystem simuliert wird, geschieht die verbesserte
Schlußfolgerungsfähigkeit auf Kosten erhöhter Rechenleistung.
Wenn hingegen das neurale Netzwerk unter Verwendung des
probabilistischen Schlußfolgerungssystems der obigen
Anmeldung implementiert wird, wird die verbesserte
Schlußfolgerungsfähigkeit im wesentlichen umsonst erhalten.
Bei jeder spezifischen Anwendung wird die Anzahl der Terme im
Verknüpfungsalgorithmus bzw. Element unter Verwendung der
Potenzreihenerweiterung gewählt nach Abwägen der zwei sich
widersprechenden Forderungen:
1. Maximierung der Anzahl
Prozessorelemente durch Abstriche an der Komplexität, und
2. Erhalten genauerer Lösungen durch Erhöhen der Komplexität.
2. Erhalten genauerer Lösungen durch Erhöhen der Komplexität.
Das Prozessorelement muß die Signale von zwei oder mehr
Verknüpfungseinheiten 62 kombinieren. Wie bereits diskutiert,
liefern herkömmliche neurale Netzwerke eine Schwellenwert-
oder Sigmafunktion über die Summe der ankommenden Signale.
Die erfindungsgemäße Lösung stützt sich fest auf die
Wahrscheinlichkeitstheorie, und bedeutet einen größeren
Unterschied zwischen herkömmlichen neuralen Netzwerken und
den erfindungsgemäßen neuralen Netzwerken. Das Element 64,
das die Verknüpfungssignale erfindungsgemäß kombiniert,
benützt das Produkt der linear transformierten
Mehrbit-Eingangssignale. Diese Formulierung entspricht direkt
den Regeln der Beweisfortpflanzung auf der Grundlage der
Wahrscheinlichkeitstheorie. Dier Algorithmus bzw. das Element
(Knoten) 60 zur Verarbeitung durch neurale Netzwerke auf der
Grundlage der Wahrscheinlichkeit leistet
Die Koeffizienten A und B lassen sich bestimmen durch die
gleiche Lösung wie in der Stammanmeldung, durch die wahlweise
Lösung der bezüglichen Anmeldung oder durch Prüfung der hier
angeführten Tabellen. Die Bestandteile dieses Elements, wie
bereits erwähnt, sind in Fig. 3 angegeben. Dieses
Neuralknotenelement 60 kann lineare Transformationselemente
zur Verknüpfung gemäß Gleichung 3 oder
Potenzreihen-Umformungseinheiten 62 (wie gezeigt) enthalten,
die die Funktionen der Gleichung 4 ausführen, und schließt
eine Produkteinheit 64 ein. Diese Einheiten lassen sich
hardwaremäßig oder softwaremäßig implementieren, wie später
noch genauer beschrieben wird. Die Schwellenwert-
Vergleichsoperation der Gleichung 5 kann in einer Version mit
diskreten Bauteilen durch ein Register durchgeführt werden,
das den Schwellenwert und einen herkömmlichen diskreten
Mehr-Bit-Komparator speichert. In einer softwaremäßigen
Implementierung würde der Vergleich in einem herkömmlichen
Vergleichsschritt durchgeführt werden. In einem
anwendungsspezifischen Prozessor können auch ein
Mehr-Bit-Komparator und Register verwendet werden. Das
Ausgangssignal des Prozessorelements 64 wird durch einen
Lernalgorithmus 66, der noch eingehend besprochen wird,
rückgekoppelt. Dieses Element 60 leistet die Funktion der
Gleichung 5. Das Element 60 ist auch für die Knoten 24/26 der
verborgenen Ebene des herkömmlichen Netzwerks 8 geeignet.
Durch Einsetzen dieses Knotenelements an der Stelle des
herkömmlichen Knotenelements kann dieses einzige
Produkt-Schwellenwertelement gemäß Darstellung in Tabelle 3
allein jede mögliche Boolesche logische Ausgangsfunktion für
ein dyadisches Prozessorelement generieren.
Wie in Tabelle 3 gezeigt wird, bildet die Implementierung der
Produktschwellenwertfunktion gemäß Gleichung 5 ein sehr
robustes Produktschwellenwertelement.
Die Implementierung der Gleichung 5 mit Abweichungen
erfordert eine große Anzahl Koeffizienten, die viel
Speicherplatz benötigen. Diese große Zahl kann reduziert
werden durch Wegfall der B-Koeffizienten, was sich in einer
Produktschwellenwertfunktion ohne Abweichung laut Gleichung 6
darstellt:
Dieses Element übernimmt das Produkt jedes Eingangssignals
mit einer entsprechenden Gewichtung und bildet dann das
Produkt dieser gewichteten Eingangssignale. Dieses Element
generiert einen Ausgang durch Vergleichen der Werte der
entsprechenden Produkte mit dem Schwellenwert. Dieses Element
kann mit einer Teilmenge der vorgenannten Vorrichtung bzw.
Schritte implementiert werden.
Wie in Tabelle 4 gezeigt wird, generiert die
Produktschwellenwertfunktion der Gleichung 6 für ein
dyadisches Prozessorelement ohne Abweichung nur 4 Boolesche
Funktionen, und welche Funktionen, das hängt von den als wahr
und falsch gewählten Werten ab. In einem Netzwerk mit
Prozessorelementen ist diese Produktschwellenwertfunktion
manchmal eine Universalfunktion in Abhängigkeit von der
Parität der gewählten Wahr-Falsch-Darstellung. Zum Beispiel,
wenn Z = [0,1], dann ist die Parität ungerade und diese
Funktion ist universal, denn sie erzeugt ein NAND: x NAND y =
(NOT x) OR (NOT y), wenn hingegen Z = [-1,1], dann ist die
Parität gerade und diese Produktschwellenwertfunktion ist
nicht universal.
Herkömmliche Expertensysteme haben eine neue Art Logik
eingeführt, die oft auch als unreine Logik bezeichnet wird
und die sich darauf gründet, die logische Operation durch
Extremfunktionen zu ersetzen. Zwei Arten der
Extremschwellenwertfunktionen, die Minimum- und die
Maximumschwellenwertfunktion, sind natürliche Erweiterungen
der Unreinlogik-Theorie. Das Maximumschwellenwertelement, das
in den Termen der vorliegenden Erfindung vorkommt, wird in
Gleichung 7 dargestellt:
y = MAX[Aixi + Bi] R (7)
Diese Gleichung führt eine einfache Lineartransformation an
jedem Eingangssignal durch und stellt dann den Maximalwert
fest. Das Ausgangssignal wird durch Vergleich der Werte
dieser Ergebnisse mit einem Schwellenwert generiert. Dieses
Element kann durch Verwendung der obengenannten
Verknüpfungselemente und eines ersten Registers implementiert
werden, das den vorangehenden Maximalwert mit einem
herkömmlichen Komparator oder in einer Vergleichsstufe
vergleicht, und den größeren der beiden dann im ersten
Register abspeichert. Der Vergleicher bzw. Vergleicherschritt
würde dann wieder mit dem Inhalt eines zweiten Registers
benützt werden, in dem der Schwellenwert abgespeichert ist,
um den letzten Vergleich zu machen.
Wie in Tabelle 5 gezeigt wird, generiert die
Maximumschwellenwertfunktion nur 10 Boolesche Funktionen für
ein dyadisches Prozessorelement.
Wiederum läßt sich die große Anzahl der erforderlichen
Koeffizienten und der entsprechend erforderliche
Speicherplatz durch Fallenlassen der B-Koeffizienten
reduzieren. Der so entstehende maximale Schwellenwert ohne
Abweichung ist in Gleichung 8 dargestellt.
y = MAX[Aixi] R (8)
Dieses Element bzw. dieser Algorithmus übernimmt das Produkt
jedes Eingangssignals mit einer entsprechenden Gewichtung und
findet dann den maximalen Wert. Der Ausgang wird generiert
durch Vergleichen der Werte dieses Ergebnisses mit dem
Schwellenwert. Ein Teilsatz der vorgenannten Komponenten
implementiert diesen Knoten.
Wie in Tabelle 6 gezeigt wird, generiert die
Maximum-Schwellenwertfunktion ohne Abweichung entweder 10
oder 6 Boolesche Funktionen, wo die Booleschen Funktionen
generiert werden, hängt ab von den Werten, die für Wahr und
Falsch ausgewählt werden. Auf jeden Fall, da die
Schwellenwertfunktion das NAND einschließt, handelt es sich
um ein universales Element in einem Netzwerk dieser
Prozessorelemente.
Die Minimum-Schwellenwertfunktion, in der Terminologie der
Wahrscheinlichkeitstheorie der vorliegenden Erfindung, wird
implementiert nach der Gleichung 9.
y = MIN[Aixi + Bi] R (9)
Dieses Element bzw. dieser Algorithmus bildet eine einfache
lineare Transformation jedes Eingangssignals und findet dann
den Minimumwert. Es generiert das Ausgangssignal durch
Vergleich des Werts dieses Ergebnisses mit dem Schwellenwert.
Dieses Element läßt sich unter Verwendung der bereits
diskutierten Komponenten oder Schritte implementieren.
Wie in Tabelle 7 gezeigt wird, generiert die
Minimumschwellenwertfunktion nur 10 Boolesche Funktionen für
ein dyadisches Prozessorelement einschließlich NOR: x NOR y =
(NOT x) AND (NOT y), was es zu einem Universalelement macht.
Wieder läßt sich die große Anzahl Koeffizienten durch
Verzicht auf die B-Koeffizienten reduzieren, was es zu einer
Minimumschwellenwertfunktion ohne Abweichung macht, wie in
Gleichung 10 gezeigt wird.
y = MIN[Aixi] R (10)
Dieses Element bzw. dieser Algorithmus übernimmt das Produkt
jedes Eingangssignals mit einer entsprechenden Gewichtung und
findet dann den minimalen Wert. Das Ausgangssignal wird
durch Vergleichen der Werte dieses Ergebnisses mit dem
Schwellenwert generiert. Wieder können die vorherigen
Komponenten bzw. Schritte zur Implementierung dieses Knotens
herangezogen werden.
Wie in Tabelle 8 gezeigt wird, generiert diese
Minimumschwellenwertfunktion, Algorithmus oder Element für
ein dyadisches Prozessorelement entweder 10 oder 6 Boolesche
Funktionen; welche Boolesche Funktionen generiert werden,
hängt von den Werten ab, die für Wahr und Falsch gewählt
werden. Da diese Schwellenwertfunktion die Funktion NOR
enthält, ist sie ein Universalelement in einem Netzwerk
dieser Prozessorelemente.
Wie bereits erwähnt, kann ein Drei-Ebenen-Netzwerk aus
herkömmlichen Neuralnetzwerkelementen (Perzeptrone) jedes
willkürliche Entscheidungsfindungsproblem lösen. Die drei
Ebenen haben die Neuralnetzwerkgemeinschaft gezwungen, das
Problem der Gewichtszuweisung für die versteckten Ebenen
mit Prozessorelementen unter Verwendung eines aus einer
Anzahl Lernschemata für die Fehlerrückverfolgung zu lösen.
Die Quelle dieses Problems ist die Beschränkung der
herkömmlichen Neuralknotenelemente auf das Verarbeiten linear
separierbarer Probleme. Wie bereits diskutiert und in Tabelle
3 gezeigt, liefert die vorliegende Erfindung ein
Netzwerkelement bzw. einen Knoten, der sich nicht darauf
beschränkt, linear separierbare Probleme zu behandeln,
sondern der auch nichtlinear separierbare Probleme behandelt.
Daraus ergibt sich, daß das erfindungsgemäße Prozessorelement
der Gleichung 5 alle Problemlösungen, entscheidungsfindende
Probleme der herkömmlichen Drei-Ebenen-Netzwerke in zwei
Ebenen, wie in Fig. 4 dargestellt ist, behandeln kann. Die
vorliegende Erfindung benötigt keine
Fehlerrückverfolgungsroutine, um Gewichtungen anzupassen, weil
keine verborgene Ebene existiert. Die vorliegende Erfindung
kann die in die Ausgangsebene eintretenden Gewichtungen durch
Anwendung einfacher Optimierungsroutinen, wie z. B. den
herkömmlichen Gradientenabfall oder den bevorzugten
Lernalgorithmus, wie er später noch diskutiert wird,
anpassen. Die vorliegende Erfindung ermöglicht eine
schnellere Lösung für jedes entscheidungsfindende Problem,
wie in Fig. 3 gezeigt wird, und die Reduzierung der zur
Problemlösung erforderlichen Anzahl Ebenen.
Um die Mächtigkeit der Erfindung zu demonstrieren, werden wir
anhand des klassischen Exklusiv-Oder-Problems zeigen, daß die
vorliegende Erfindung tatsächlich in der Lage ist, eine
Zwei-Ebenen-Lösung für ein nichtlinear separierbares Problem
zu finden, während das herkömmliche Neuralnetzwerkelement ein
Drei-Ebenen-Netzwerk zur Lösung dieses Problems braucht. Fig.
5 illustriert eine Lösung des Exklusiv-Oder-Problems unter
Verwendung des herkömmlichen Prozessorelements, das die
Gleichung 2 ausführt. In diesem Zwei-Bit-Exklusiv-Oder-
Neuralnetzwerk empfängt jeder Knoten 70 in der ersten Ebene
eines der gleichgewichteten Bits, und jeder Knoten 70 hat den
gleichen Schwellenwert. In der zweiten Ebene ist die
Gewichtung A für die Eingangssignale unterschiedlich und die
Schwellenwerte sind die gleichen. In der dritten Ebene sind
die Gewichtungen für die Eingangssignale gleich. Wie man aus
diesem Beispiel sehen kann, sind drei Ebenen erforderlich.
Fig. 6 zeigt das gleiche Problem, das jetzt von einem
Neuralnetzwerk unter Anwendung des Prozessorelements 60 aus
Fig. 3 gelöst wird. In dieser Lösung sind die linearen
Transformationsgewichtungen und Abweichungen in der ersten
Ebene für die beiden Ein-Bit-Eingangssignale die gleichen.
Der Knoten der zweiten Ebene wendet unterschiedliche
Gewichtungen und Abweichungen während der Verarbeitung der
linearen Transformationsverknüpfung an und multipliziert die
Verknüpfungsausgangssignale vor der dem Vergleich mit dem
Schwellenwert.
Es ist genausogut möglich, die vorliegende Erfindung durch
Strukturierung der Neuralknoten in der Form binärer
Entscheidungsbäume mit den Wahrscheinlichkeiten als
Eingangssignale zu implementieren, wie in Fig. 7 gezeigt
wird. Auch andere Strukturen als Binärbäume und Ebenen, wie
z. B. Ring-, Stern- oder Säulen-Netzwerke lassen sich
erfindungsgemäß mit dieser Ausführungsform implementieren.
Vorzugsweise wird die Binärbaumstruktur implementiert, wie in
der obengenannten Anmeldung mit dem Titel "Probabilistisches
Schlußfolgerungssystem" beschrieben wird. In einer solchen
Situation kann auf die Schwellenwertvergleichsoperation der
Gleichung 5 verzichtet werden, weil die
Schwellenwertfunktionen der Entscheidungen in die
Baumarchitektur eingebunden sind. Der Vorzug der
Binärbaumarchitektur auf der Grundlage der Wahrscheinlichkeit
ist, daß sie Informationen mathematisch gemäß den Regeln der
Wahrscheinlichkeitstheorie verarbeitet. Die Kombination von
Knoten, die Eingangssignale linear transformieren und die
Eingangssignale unter Verwendung einer Produktoperation in
einer Binärbaumarchitektur mit einer Lernmethode, wie z. B.
die direkte Suche, kombinieren, ergibt ein lernfähiges,
probabilistisches Schlußfolgerungssystem. Diese auf
Wahrscheinlichkeit beruhende Entscheidungsbaumstruktur ist
inhärent bewertbar und nachprüfbar, im Gegensatz zu
herkömmlichen Neuralnetzwerken und sonstigen
Expertensystemstrukturen. Das System ist lernfähig durch die
Eingabe von Gewichtungen, von einem Zentralrechner 86 durch
einfache Eingabespeicherknoten 85, die durch den direkten
Muster-Such-Lern-Algorithmus produziert werden. Unter
Verwendung des Knotenelements 60 der Fig. 3 in einem
Binärbaum, wie in Fig. 7 dargestellt wird, ist das Element
60, obwohl sehr mächtig, nicht geeignet für die
Beweiskonsolidierung auf der Eingangs- und Ausgangsebene
eines auf Wahrscheinlichkeit beruhenden Binärbaumnetzwerks.
Daher wird ein Prozessorelement 80 oder -Algorithmus für die
Kombinierung der Information auf der Eingangsebene 82 und
Ausgangsebene 84 benötigt.
Zum Assimilieren der eingegebenen Originaldaten und zum
Konsolidieren der Ausgangsergebnisse aus mehreren, deutlich
unterschiedlichen Schlußfolgerungsarten auf den
Eingangs/Ausgangsebenen eines auf Wahrscheinlichkeit
beruhenden Netzwerks, wie es in Fig. 7 dargestellt wird,
führt ein Prozessorelement für gewichtete Summierung auf der
Grundlage der Wahrscheinlichkeit die Funktion gemäß Gleichung
11 durch
worin yi eine lineare Transformation oder eine
Potenzreihenerweiterung sein kann. Um als ein Eingangs- oder
Ausgangsprozessorelement gültig zu sein, müssen die
Gewichtungen gemäß Gleichung 11 beschränkt werden wie in
Gleichung 12 angegeben ist
Fig. 8 zeigt eine Struktur eines Prozessorelements, das mit
der gewichteten Summierung auf der Grundlage der
Wahrscheinlichkeit arbeitet und als Knoten für die
Eingangs/Ausgangsebene des Netzwerks gemäß Fig. 7 geeignet
ist. Dieses Element beinhaltet eine Verknüpfungseinheit 94,
die die Gleichungen 3 und 4 durchführt, und eine
Summierungseinheit 96, die sie aufaddiert. Die Funktion des
Lernelements 98 bzw. des Rückkopplungsalgorithmus wird später
genauer beschrieben. Das herkömmliche Neuralnetzwerk-
Prozessorelement arbeitete mit Booleschen Signalen, während
das auf der Grundlage der gewichteten Wahrscheinlichkeit
arbeitende Prozessorelement zur Summierung mit einem
Mehr-Bit-Signal, benannt P1, P2 . . . arbeitet. Das
herkömmliche Neuralnetzwerk-Bearbeitungselement bedarf auch
einer Übertragungsfunktion, wie in Fig. 2 gezeigt wird,
während das Prozessorelement für die Summierung auf der
Grundlage der Wahrscheinlichkeit in Fig. 8 ohne diese
auskommt. Das neue Prozessorelement kann in Neuralnetzwerken
auf der Grundlage der Wahrscheinlichkeit zur Durchführung der
benötigten Vorprozessor- bzw. Nachprozessorfunktionen auf der
Eingangs/Ausgangsebene eingesetzt werden.
Ein Lernalgorithmus in einem neuralen Netzwerk gibt dem
neuralen Netzwerk die Fähigkeit, sich durch Verändern der
Gewichtungen, die auf die eingehenden Signale angewandt
werden, den Veränderungen der Umgebung anzupassen. Der in der
vorliegenden Erfindung benützte Lernalgorithmus (66/88) ist
der direkte Suchalgorithmus nach Hooke/Jeeves, der in
"Direct Search Solution of Numerical and Statistical
Problems", Journal der ACM, Band 8, S. 212-229 von Robert
Hooke und Terry A. Jeeves diskutiert wird und der noch
genauer in der zugehörigen Optimierungsanwendung besprochen
wird und auf den als Querverweis Bezug genommen wird. Dieser
direkte Suchalgorithmus optimiert die Kostenfunktion des
Netzwerks und ist schneller und robuster als die allgemein
benützte Deltamethode der Fehlerfortpflanzung. Die
Direktsuchmethode funktioniert sogar dann, wenn die
Kostenfunktion diskontinuierlich ist und sogar, wenn die
Parameter der Funktion nur eine endliche Menge diskreter
Werte annehmen kann. Die Methode der Direktsuche ist eine
Strategie zum Bestimmen einer Folge von versuchsweisen
Lösungen, die zu einer Problemlösung konvergieren. Eine
besonders erfolgreiche Direktsuchroutine ist eine
Mustersuche, deren Flußdiagramm in Fig. 9 gegeben ist. Die
Mustersuche benützt zwei unterschiedliche Züge beim Durchlauf
von einem Versuchspunkt zum nächsten. Die erste Art ist ein
kleiner forschender Zug, der zur Wissensaufnahme ausgelegt
ist. Der zweite ist ein größerer, vektorieller Zug, der
Mustersuchzug, der eine Fortbewegung erzielen soll. Die
Richtung für den Mustersuchzug wird bestimmt als Ergebnis der
Konsolidierung aller aus früheren Forschungs- und Musterzügen
erworbenen Kenntnisse. Die volle Strategie und genaue Taktik
für den Mustersuchzug ist in der obengenannten Abhandlung
beschrieben. Nach der Durchführung bzw. einem diagnostischen
Zyklus durch das Netzwerk startet 100 der Prozessorrechner 84
mit der Bewertung 102 der Funktion am Ausgangspunkt. Der
Lernalgorithmus durchläuft dann eine Schleife, bis eine
geeignete Schrittgröße für die Suche festgelegt ist. Der
erste Schritt ist dann, am Basispunkt zu starten 104 und
einen Forschungszug zu machen 106. Nach diesem Forschungszug
wird durch Verändern der Gewichtskoeffizienten des
Netzwerks eine Auswertung 108 vorgenommen. Diese Auswertung
entscheidet darüber, ob der Funktionswert unter dem des
Ausgangswerts liegt, das heißt, diese Operation sucht nach
einem örtlichen Minimum in der optimalen Lösung. Wenn der
vorliegende Wert nicht unterhalb dem des Ausgangspunkts
liegt, wird eine Bestimmung 110 durchgeführt, ob die
Schrittgröße klein genug ist oder nicht. Wenn nicht, wird die
Schrittgröße verkleinert 112 und die Schleife erneut
durchlaufen. Wenn der Funktionswert oder die Kostenfunktion
niedriger liegt, wird ein neuer Ausgangspunkt 114 festgelegt
und ein Mustersuchzug 116 wird durchgeführt. Sobald der
Mustersuchzug durchgeführt ist, werden weitere Forschungszüge
118 gemacht, gefolgt vom Testen 120 des Funktionswerts. Eine
eingehendere Beschreibung, wie der direkte Mustersuchlauf zum
Bestimmen der Gewichtung A und Koeffizienten B in den Knoten
der vorliegenden Erfindung benützt wird, kann in der
zugehörigen Anwendung, die auf die Optimierung des neuralen
Netzwerks ausgerichtet ist, gefunden werden.
Die bisherigen Diskussionen konzentrierten sich darauf, ein
Prozessorelement 60 vorzusehen, das die Produkt-
Schwellenwertoperation der Gleichung 5, die Veränderungen in
Gleichungen 6-10 und Gleichung 11 für die Eingangs- und
Ausgangsoperationen durchführt. Diese Elemente können als
diskrete, busweite Mehr-Bit-Komponenten, Softwareroutinen und
Spezialprozessoren ausgelegt sein. Damit ein
Produktelementbetrieb an lineartransformierten
Eingangssignalen mit hoher Geschwindigkeit erzielt wird,
können anwendungsspezifische logische Komponenten als
Elementknoten 60 implementiert sein. Die nachfolgende
Diskussion beschreibt eine binäre Logikeinheit für sechs
Variationen eines programmierbaren dyadischen
Prozessorelements und eine Version eines programmierbaren
systolischen Bearbeitungselements, das die bereits
diskutierten Produktschwellenwertoperationen durchführt.
Diese Logikeinheiten können direkt statt der Perzeptrone
herkömmlicher Neuralnetzwerke eingesetzt werden.
Ein dyadisches Bearbeitungselement leistet die folgende
Transformation:
[(a · x + b) · (c · y + d) R] → z (13)
Die Koeffizienten a, b, c und d können von bis zu 2 Bits
dargestellt werden, jedoch der Schwellenwert R, die
Eingabeparameter x und y, und die Ausgangsvariable z können
durch ein einziges Bit dargestellt werden. Die Werte von a,
b, c und d können aus den bereits diskutierten Tabellen oder
durch Lernen unter Verwendung der bereits diskutierten
Direktsuchmethode bestimmt werden.
Eine volle interne Darstellung der Funktion der Gleichung 13
kann erreicht werden durch die 33-Gatter-Schaltung der Fig.
10. Diese Schaltung kommt bei Bipolartechnik auf 250
Millionen Querverbindungen die Sekunde, und bei VLSI-Technik
auf 25 Millionen Querverbindungen die Sekunde.
Eine kompakte Darstellung benützt die Vorzeichenfunktion
und arbeitet mit den linear transformierten Eingangssignalen,
um die Schaltkreiskonstruktion zu verbessern. Wie in Fig. 11
gezeigt wird, erreicht eine 26-Gatter-Schaltung mit einer
Laufzeitverzögerung von 8 Gattern dieses Ziel und arbeitet
bei Bipolartechnik mit Geschwindigkeiten bis zu 250 Millionen
Querverbindungen die Sekunde und bei VLSI-Technik mit 25
Millionen Querverbindungen die Sekunde.
Eine weitere, verbesserte, kompakte, interne
Darstellungsvorrichtung kombiniert die Ausgangsstufen, um die
Gatterzählung zu reduzieren und die Verarbeitung zu
beschleunigen. Wie in Fig. 12 gezeigt wird, ist eine
25-Gatter-Schaltung mit einer Laufzeitverzögerung von 6
Gattern vorgesehen, die die Gleichung 13 durchführt und die
mit einer Geschwindigkeit von bis zu 330 Millionen
Querverbindungen je Sekunde bei Bipolartechnik, und bis zu 33
Millionen Querverbindungen bei VLSI-Technik arbeitet.
Eine spezielle, kompakte, interne Darstellung läßt sich gemäß
Fig. 13 schaffen, bei der die Eingangsstufe modifiziert und
die Ausgangsstufen kombiniert wurden, um die Gatterzählung zu
reduzieren. Es handelt sich hier um eine 15-Gatter-Schaltung,
die die gleiche Laufzeitverzögerung und die gleichen
Geschwindigkeitsmerkmale wie Fig. 12 aufweist, jedoch weniger
Platz auf dem Chip benötigt.
Ein weiteres programmierbares, logisches Prozessorelement,
das die Gleichung 13 ausführt, kombiniert die Eingangsstufen,
um eine stoßweise Lineartransformation auszuführen. Die
Ausgangsstufen sind wieder kombiniert zwecks Steigerung der
Geschwindigkeit. Die Implementierung gemäß Fig. 14 ist eine
19-Gatter-Schaltung mit einer Laufzeitverzögerung von 4
Gattern, und ist in der Lage, mit einer Geschwindigkeit von
bis zu 500 Millionen Querverbindungen die Sekunde in
Bipolartechnik, und bis zu 50 Millionen Querverbindungen die
Sekunde in VLSI-Technik zu arbeiten.
Die steigende Kombination der Stufen, wie in den Fig. 10-
14 gezeigt wird, führt schließlich zu einem programmierbaren,
logischen Tabellennachschlag-Prozessorelement, das die
Gleichung 13 ausführt und in Fig. 15 dargestellt wird. Die
INST-Eingangssignale wählen die Funktionen der Tabelle 3 an,
die ausgeführt werden. Dieses Neuralknotenelement bringt
eine erhöhte Geschwindigkeit, eine Verringerung der
Anzahl der Eingangsleitungen, und erzeugt eine
22-Gatter-Schaltung mit einer Laufzeitverzögerung von 2
Gattern, und ist in der Lage, mit Geschwindigkeiten von bis
zu einer Milliarde Querverbindungen in der Sekunde bei
Bipolartechnik, und 100 Millionen Querverbindungen bei
VLSI-Technik zu arbeiten. Die Tabellennachschlaglösung,
obwohl sehr schnell, ist nicht als Mehrfacheingangs-
Prozessorelement geeignet, weil die Schaltkreisgröße mit der
Anzahl der Eingänge und der gewünschten Anzahl
Ausgangskombinationen ansteigt.
Das programmierbare logische Prozessorelement mit stoßweiser
Verarbeitung der Fig. 15 hat ein Merkmal, das beim Aufbau
eines Mehrfacheingangs-Prozessorelements ausgenützt werden
kann, die stoßweise Lineartransformation. Die
Lineartransformation ist zentral zum Algorithmus und muß in
einer systolischen Vorrichtung implementiert werden, wie in
Gleichung 14 gezeigt wird.
wobei die Signum-Funktion eine 0 liefert, wenn das Argument 0
ist, eine 1, wenn das Argument positiv, und eine -1, wenn das
Argument negativ ist. Die Koeffizienten der linearen
Transformation ai können durch 2 Bits dargestellt werden,
während die Vorzeichensteuerung R, die Eingangsparameter xi,
die Lineartransformationsabweichungen bi und die
Ausgangsvariable z von je einem Bit dargestellt werden
können. Wie in Fig. 16 dargestellt ist, erzeugt eine
20-Gatter-Schaltung mit einer Laufzeitverzögerung von 4
Gattern per Eingang plus 2 Gattern am Ausgang eine
32-Eingangs-Vorrichtung, die in der Lage ist, die Gleichung
14 auszuführen. Die obere Hälfte dieses Schaltkreises nimmt
eine Lineartransformation am Eingangssignal x vor und
multipliziert es mit früheren Ergebnissen, die in der unteren
Hälfte abgespeichert sind. Während der Operation werden das
Vorzeichen und die Größenordnung in den Flipflops
gespeichert. Wenn die nächste Eingangssignalgruppe geladen
wird, wird das Ergebnis verarbeitet und mit dem Inhalt der
Flipflops multipliziert, wenn der Multiplikatoreingang
angesprochen wird. Das Start-Eingangssignal initialisiert die
Flipflops mit einer Größe 1 und einem Vorzeichen 0. Wie man
sieht, ist dieser Schaltkreis ein systolisches Element,
dessen obere Hälfte die Verarbeitung übernimmt und dessen
untere Hälfte als Speicher fungiert. Ein Schaltkreis gemäß
Fig. 16 kann eine Neuralnetz-Vernetzung darstellen mit
Geschwindigkeiten bis zu 240 Millionen Querverbindungen die
Sekunde in Bipolartechnik, und 24 Millionen Querverbindungen
je Sekunde in VLSI-Technik.
Bei 50 000 Gattern pro Chip sind 128 Prozessorelemente auf
einem einzigen Chip möglich mit genügend Speicherplatz für 32
Querverbindungen je Prozessorelement. Daraus ergibt sich, daß
die erfindungsgemäße Konstruktion, wie in Fig. 16
dargestellt, auf nur einem Chip die gleiche Leistung
erbringt, die auf 10 oder mehr Chips eines neuralen Netzwerks
nach dem Stand der Technik möglich ist. Netzwerke unter
Verwendung der Prozessorelemente gemäß Fig. 10-16 können
schnell zu Prototypen gemacht werden unter Verwendung
programmierbarer Gatterarrays, wie sie z. B. von Xilinx in San
Jos´, California, hergestellt werden. Daher ist die
Knotenstruktur der Fig. 16 ideal für das Parallelverarbeiten
im neuralen Netzwerk gemäß Fig. 1, 4 und 7. Tabelle 9
vergleicht die Prozessorelement-Konfiguration der Fig. 10-
16.
Wenn die Geschwindigkeit wesentlich, hingegen der Platz auf
dem Chip unwesentlich ist, ist das programmierbare logische
Tabellennachschlag-Prozessorelement der Fig. 15 die beste
Wahl für ein dyadisches Prozessorelement. Wenn der Platz auf
dem Chip wesentlich und Geschwindigkeit unwesentlich ist, ist
die spezielle kompakte interne Darstellung der Fig. 13 die
beste Wahl. Wenn Geschwindigkeit und Platz auf dem Chip
gleichermaßen wesentlich sind, dann ist das stoßweise
programmierbare logische Prozessorelement der Fig. 14 die
beste Wahl. Für drei oder mehr Eingänge ist das
programmierbare systolische Prozessorelement der Fig. 16 die
beste Wahl zur Minimierung des Platzes auf dem Chip. Für drei
oder mehr Eingänge, wenn die Geschwindigkeit wesentlich und
der Platz auf dem Chip unwesentlich ist, dann ist ein
Tabellennachschlag-Prozessorelement gemäß Darstellung in Fig.
15 die beste Wahl.
Die erfindungsgemäßen linearen Transformationen lassen sich
mit einer festverdrahteten, diskreten Gatterkomponente 130,
wie in Fig. 17 dargestellt ist, ausführen. Dieses Gatter 130
beinhaltet zwei Implikationselemente 132 und 134, wobei z. B.
das Implikationselement konstante Register 136 und 138, einen
Multiplizierer 140 und einen Addierer 142 beinhaltet. Diese
Komponenten sind vorzugsweise ganzzahlige Komponenten, könnten
aber auf Wunsch auch Fließkommakomponenten sein. Die Ausgänge
des Implikationselements sind kombiniert durch ein
Kombinationselement 152, das ein Multiplizierer ist.
Zusätzliche Details hinsichtlich dieses Gatters 130 lassen
sich in der bereits genannten Anwendung als probabilistisches
Schlußfolgerungssystem finden.
Eine finite Potenzreihenerweiterung kann dargestellt werden
durch:
X₀ = A₀ + A₁X¹ + . . . AnXn (15)
Der Grad dieses Polynoms bestimmt sich durch einen Kompromiß
zwischen der verfügbaren Pausenzeit und der erforderlichen
Genauigkeit, um die Implikationsfunktion oder Menge
darzustellen, und dem verfügbaren Speicherplatz für die
Koeffizienten. Die hochgradige Funktion kann auch geschrieben
werden als das Produkt der linearen Transformationen:
Da das Satzgatter der Fig. 17 grundlegend ein Mechanismus zum
Multiplizieren zweier linearer Ausdrücke miteinander ist,
entsteht, wenn ein lineares AND-Gatter 162, wie das Gatter
130 der Fig. 17, das gleiche Signal an beiden Eingängen
erhält, wie in Fig. 18 gezeigt wird, ein quadratisches AND-
Gatter. Ein Potenzreihenerweiterungsgatter 160 entsteht aus
drei quadratischen Gattern 162-166, die seriell verbunden
werden. Wie in Fig. 19 gezeigt wird, beinhalten die Gatter
162 und 166 Speichereinheiten 168 und 170, wie Register, zum
Abspeichern eines Konstantenpaars, und Multiplizierer 172 und
174 zur Kombination der Eingangssignale mit einer ersten
Konstanten. Addierer 176 und 178 kombinieren die erste
Konstante mit dem multiplizierten Ergebnis, und
Multiplizierer 180 kombinieren das Ergebnis der Addition, um
den hochgradigen Ausgang zu erhalten.
Die Potenzreihenerweiterung kann alternativ als
Rekursionsformel geschrieben werden:
YM+1 = AN-M + YMX, Y₀ = 0, 0 M B (17)
X₀ = YN+1 = A₀ + [A₁ + [A₂ + [A₃ + [A₄ + [A₅ + [. . .] X] X] X] X] X] X] (18)
Dieser Weg, um eine höhergradige AND-Funktion zu erhalten,
kann durch Einsatz eines Gatters, wie in Fig. 20 gezeigt,
implementiert werden. Dieses Gatter 190 enthält zwei
Einheiten 192 und 194 für die Potenzreihenerweiterung und
einen Multiplizierer 196. Jede
Potenzreihenerweiterungseinheit beinhaltet eine
Zwischenspeicherung 198 für das Eingangssignal, ein Register
oder einen Speicher 200 für die Konstanten Ai der obigen
Gleichung, einen Multiplizierer 202, einen Addierer 204 und
Speicher 206 zur Durchführung der rekursiven Addition,
Multiplikation und Rückkopplung.
Jede der in den Fig. 18 und 20 gezeigten Methoden kann als
diskrete busbreite Einheit implementiert werden, wie busbreite
Multiplizierer und Addierer. Die Implementierungen
können auch in einer einzigen Prozessoreinheit vorgeformt
sein, die die Operationen ausführt. Zum Beispiel leistet die
Implementierung der nachstehenden Gleichung 19 durch einen
Rechner die Funktion des Gatters aus der Fig. 18.
Xout = (ΣAÿXi) (ΣAikXk) (19)
Die hier beschriebenen Prozessorelemente können nicht nur
dazu benützt werden, probabilistische Schlußfolgerungen für
herkömmliche KI-(Experten)-Systeme oder neurale
Netzwerksysteme zu verbessern, sondern liefern auch einen
Mechanismus für die räumliche Kombination von Informationen
oder Signalen zur Bilderkennung, 2D- oder 3D-Bilddarstellung,
Radar-Zielverfolgung, magnetische Resonanzdarstellungen,
Sonarzielverfolgung und seismische Aufnahmen.
Diese Offenlegung hat ein Prozessorelement zum Aufbau
neuraler Netzwerke dargestellt. Dieses Prozessorelement führt
ein Produkt an linear transformierten Eingangssignalen durch.
Es ist so ausgelegt, daß es kompakte Hochgeschwindigkeits-
Neuralnetzwerke aufbaut. Dieses Prozessorelement ist dem
herkömmlichen Neuralnetzwerkprozessorelement, dem Perzeptron,
weit überlegen, weil es sowohl linear separierbare als auch
nichtlinear separierbare Boolesche Logikfunktionen
generiert. Diese Universalität, zusammen mit der
Potenzreihenerweiterungsversion des Prozessorelements, führt
zu einer Zweiebenenlösung eines Neuralnetzwerks und zu jeder
willkürlichen entscheidungsfindenden Funktion. Das ist eine
bedeutsame Verbesserung gegenüber dem neuralen
Dreiebenenneuralnetzwerk, das erforderlich ist zur
Entscheidungsfindung unter Verwendung des herkömmlichen
Neuralnetzwerk-Prozessorelements. Das Fehlen einer
verborgenen Ebene des Prozessorelements in der Lösung für
neurale Netzwerke gemäß der vorliegenden Erfindung, die
entsprechende Verringerung der Gesamtzahl der
Prozessorelemente, und die ausgesprochene Vereinfachung des
vom Universalprozessorelement implementierten Algorithmus,
machen Neuralnetzwerke, die dieses Universalprozessorelement
einsetzen, extrem kompakt und sehr schnell. Das hier
diskutierte lernfähige, probabilistische
Schlußfolgerungssystem unterscheidet sich von derzeitigen
Neuralnetzwerken, weil (1) das Prozessorelement ein Produkt
ausführt, anstatt ein kontinuierlich differenzierbares
Ausgangssignal auf der Grundlage des Aufsummierens der
Eingangssignale und eines vorgegebenen Schwellenwerts, (2) die
Querverbindungen zwischen den Prozessorelementen sind
Lineartransformationen oder Potenzreihenerweiterungen anstatt
einfache Gewichtung der Information, die durch die
Querverbindung fließt, (3) das Expertensystem kann als Säule
aus Binärbäumen organisiert werden, eine hoch-strukturierte
Anordnung, oder auf zwei Ebenen, anstatt auf drei Ebenen
stark vernetzter Prozessorelemente, eine weniger
strukturierte Anordnung, und ermöglicht auf diese Weise die
Nachprüfung und Zulassung, und (4) die Anwendung einer
direkten Suchoptimierung anstatt einer Gradientenoptimierung
ermöglicht die Konvergenz zu einer Lösung, die viel schneller
durchzuführen ist. Die anwendungsspezifischen
Logikgatterimplementierungen der Neuralknoten zeichnen sich
im wesentlichen durch erhöhte Geschwindigkeit gegenüber der
Allgemeinimplementierung aus und sind daher auf sehr
hochgeschwindigkeitsempfindliche Netzwerkprobleme anwendbar.
Die vielen Merkmale und Vorteile der Erfindung gehen aus den
detaillierten Beschreibungen eindeutig hervor und es ist somit
beabsichtigt, mit den nachfolgenden Ansprüchen alle diese
Merkmale und Vorteile der Erfindung abzudecken, die unter den
Umfang und die Wesensart derselben fallen. Ferner werden dem
Fachmann zahlreiche Abänderungen und Veränderungen der
vorliegenden Erfindung klar, und deshalb beschränkt sich die
Erfindung keineswegs auf den genauen Bau und Betrieb, wie in
den Zeichnungen dargestellt und beschrieben ist, und somit
fallen alle geeigneten Änderungen und gleichbedeutende
Ausgestaltungen unter den Schutzbereich der vorliegenden
Erfindung.
Referenznummernliste
8 Neuralnetzwerk
10 Eingangsebene
12 Eingangsknoten
14 Ausgangsebene
16 Ausgangsknoten
18-22 Verborgene Ebenen
28 Lernebene
30 Lernknoten
40 Knoten
42 Verknüpfungselement
44 Summierungselement
46 Vergleichselement
48 Gewichtungskalkulationseinheit
60 Neuralknoten
62 Verknüpfungselement
64 Produkteinheit
66 Lerneinheit
70 Knoten
80 Prozessorelement
82 Eingangsebene
84 Ausgangsebene
85 Lernebene
86 Hauptrechner
94 Verknüpfungselement
96 Summierungselement
98 Lernelement
100-120 Flußdiagrammschritte
130 Gatter
132 Implikationselement
134 Implikationselement
136 Register
138 Register
140 Multiplizierer
142 Addierer
152 Multiplizierer
160 Potenzreihenerweiterungsgatter
162 Lineargatter
164 Lineargatter
166 Lineargatter
168 Speichereinheit
170 Speichereinheit
172 Multiplizierer
174 Multiplizierer
176 Addierer
178 Addierer
180 Multiplizierer
190 Potenzreihenerweiterungsgatter
192 Potenzreihenerweiterungseinheit
194 Potenzreihenerweiterungseinheit
196 Multiplizierer
198 Zwischenspeicherung
200 Register
202 Multiplizierer
204 Addierer
206 Speicher
10 Eingangsebene
12 Eingangsknoten
14 Ausgangsebene
16 Ausgangsknoten
18-22 Verborgene Ebenen
28 Lernebene
30 Lernknoten
40 Knoten
42 Verknüpfungselement
44 Summierungselement
46 Vergleichselement
48 Gewichtungskalkulationseinheit
60 Neuralknoten
62 Verknüpfungselement
64 Produkteinheit
66 Lerneinheit
70 Knoten
80 Prozessorelement
82 Eingangsebene
84 Ausgangsebene
85 Lernebene
86 Hauptrechner
94 Verknüpfungselement
96 Summierungselement
98 Lernelement
100-120 Flußdiagrammschritte
130 Gatter
132 Implikationselement
134 Implikationselement
136 Register
138 Register
140 Multiplizierer
142 Addierer
152 Multiplizierer
160 Potenzreihenerweiterungsgatter
162 Lineargatter
164 Lineargatter
166 Lineargatter
168 Speichereinheit
170 Speichereinheit
172 Multiplizierer
174 Multiplizierer
176 Addierer
178 Addierer
180 Multiplizierer
190 Potenzreihenerweiterungsgatter
192 Potenzreihenerweiterungseinheit
194 Potenzreihenerweiterungseinheit
196 Multiplizierer
198 Zwischenspeicherung
200 Register
202 Multiplizierer
204 Addierer
206 Speicher
Claims (23)
1. Neurales Netzwerkelement, gekennzeichnet durch:
Eingangsmittel (62) zum Transformieren der eingegebenen Werte; und
Kombinationsmittel (64) zum Ausführen eines Produkts der transformierten Eingangswerte.
Eingangsmittel (62) zum Transformieren der eingegebenen Werte; und
Kombinationsmittel (64) zum Ausführen eines Produkts der transformierten Eingangswerte.
2. Ein Element gemäß Anspruch 1, bei dem dieses
Eingangsmittel (62) eine lineare Transformation an jedem der
Eingangswerte durchführt.
3. Ein Element gemäß Anspruch 1, in dem dieses
Eingangsmittel (62) eine Potenzreihenumformung an jedem der
Eingangswerte vornimmt.
4. Ein Element gemäß Anspruch 1, in dem dieses
Eingangsmittel (62) die Berechnung durchführt:
worin xi die Eingangswerte und Ai k Konstante sind.
5. Ein Element gemäß Anspruch 1, in dem diese
Eingangsmittel (62) und diese Kombinationsmittel die folgende
Gleichung durchführen:
worin xi die Eingangswerte, Ai und Bi konstante
Koeffizienten, und R der Schwellenwert ist.
6. Ein Element gemäß Anspruch 5, das ferner
Rückkopplungsmittel (66) enthält, um dieses Element mittels
direkter Suche ein Muster zu lehren.
7. Ein neurales Netzwerkelement, gekennzeichnet
durch
Eingangsmittel (62) zur linearen Transformation von Eingangswerten gemäß yi = Aix + Bi, wobei xi ein Eingangswert, Ai und Bi Konstante und yi der umgeformte Wert ist;
Kombinationsmittel (64) zum Kombinieren der linear transformierten Werte gemäß wobei y der Kombinationswert ist;
Vergleichermittel (46) zum Vergleich des kombinierten Werts mit einem Schwellenwert auf und Produktion eines Ausgangssignals, wenn der Schwellenwert befriedigt ist; und
Lehrmittel (66) zur Bestimmung der Werte der Konstanten unter Verwendung einer direkten Suche.
Eingangsmittel (62) zur linearen Transformation von Eingangswerten gemäß yi = Aix + Bi, wobei xi ein Eingangswert, Ai und Bi Konstante und yi der umgeformte Wert ist;
Kombinationsmittel (64) zum Kombinieren der linear transformierten Werte gemäß wobei y der Kombinationswert ist;
Vergleichermittel (46) zum Vergleich des kombinierten Werts mit einem Schwellenwert auf und Produktion eines Ausgangssignals, wenn der Schwellenwert befriedigt ist; und
Lehrmittel (66) zur Bestimmung der Werte der Konstanten unter Verwendung einer direkten Suche.
8. Ein neurales Netzwerk, gekennzeichnet durch:
erste und zweite Neuralknotenebenen, die miteinander vernetzt
sind, wobei jeder Knoten in der Ebene enthält:
Übertragungsmittel (62 und 64) zur Durchführung der
Gleichung:
wobei xi Eingangswerte, Ai und Bi Übertragungskoeffizienten
und R ein Schwellenwert sind.
9. Ein Netzwerk gemäß Anspruch 8, das ferner
Lernmittel (66) zur Bestimmung der Werte der
Übertragungskoeffizienten durch direkte Suche enthält.
10. Ein lernfähiges Schlußfolgerungssystem,
gekennzeichnet durch:
einen Eingang (82), enthaltend Eingangsknoten (80), wobei jeder Knoten folgende Berechnung ausführt: wobei Ai eine Konstante und xi ein Eingangswert ist;
eine Binärbaum-Transformationsebene mit der Eingangsebene gekoppelt ist und Transformationsknoten (60) enthält, wobei jeder Knoten die folgende Berechnung ausführt: wobei Bi und Ci Transformationskoeffizienten und yi ein Wert von einem der Eingangsknoten ist; und
eine Ausgangsebene (84) mit der Transformationsebene gekoppelt ist und Ausgangsknoten (80) enthält, wobei jeder Ausgangsknoten die folgende Berechnung durchführt: wobei Di eine Konstante und zi ein Wert von einem der Transformationsknoten ist.
einen Eingang (82), enthaltend Eingangsknoten (80), wobei jeder Knoten folgende Berechnung ausführt: wobei Ai eine Konstante und xi ein Eingangswert ist;
eine Binärbaum-Transformationsebene mit der Eingangsebene gekoppelt ist und Transformationsknoten (60) enthält, wobei jeder Knoten die folgende Berechnung ausführt: wobei Bi und Ci Transformationskoeffizienten und yi ein Wert von einem der Eingangsknoten ist; und
eine Ausgangsebene (84) mit der Transformationsebene gekoppelt ist und Ausgangsknoten (80) enthält, wobei jeder Ausgangsknoten die folgende Berechnung durchführt: wobei Di eine Konstante und zi ein Wert von einem der Transformationsknoten ist.
11. Ein Netzwerk gemäß Anspruch 9, in dem die
Transformationsknoten (60) als Binärbaum gekoppelt sind.
12. Ein Netzwerk gemäß Anspruch 10, das ferner
Lernmittel (66) umfaßt, die zwecks Bestimmung der
Transformationskoeffizienten durch direkte Suche an die
Transformationsebene gekoppelt sind.
13. Ein dyadisches Prozessorelement für ein neurales
Netzwerk, gekennzeichnet durch eine logische Schaltung (Fig.
10), die ausführt
[(a · x + b) · (c · y + d) R] → zwobei a, b, c und d Zwei-Bit-Koeffizienten, x und y
Ein-Bit-Eingangssignale, R ein Ein-Bit-Schwellenwert und z
ein Ein-Bit-Ausgangssignal ist.
14. Ein systolisches, dyadisches Prozessorelement für
ein neurales Netzwerk, gekennzeichnet durch eine logische
Schaltung (Fig. 16), das die folgende Gleichung durchführt:
wobei ai eine Zwei-Bit-Lineartransformationskonstante, bi
eine Ein-Bit-Lineartransformationskonstante, R eine Ein-Bit-
Vorzeichensteuerung, xi ein Ein-Bit-Eingangssignal und z ein
Ein-Bit-Ausgangssignal ist.
15. Ein Verfahren zur Durchführung einer
Neuralnetzwerkoperation, das für jeden Knoten durch folgende
Schritte gekennzeichnet ist:
(a) Transformieren (62) der Eingangswerte; und
(b) Erzeugen (64) eines Produkts der transformierten Eingangssignale.
(a) Transformieren (62) der Eingangswerte; und
(b) Erzeugen (64) eines Produkts der transformierten Eingangssignale.
16. Verfahren gemäß Anspruch 15, in dem Schritt (a)
eine Lineartransformation an den Eingangswerten durchführt.
17. Ein Verfahren gemäß Anspruch 15, in dem Schritt
(a) eine Potenzreihenerweiterung an den Eingangswerten
durchführt.
18. Ein Verfahren gemäß Anspruch 15, das ferner den
Schritt (c), Vergleichen des Produkts mit einem Schwellenwert
und Erzeugen eines Ausgangssignals, wenn der Schwellenwert
erfüllt ist, enthält.
19. Ein Verfahren gemäß Anspruch 18, in dem die
Schritte (a) - (c) die folgende Gleichung erfüllen:
wobei xi der Eingangswert, Ai und Bi Koeffizienten und R der
Schwellenwert ist.
20. Ein Verfahren gemäß Anspruch 16, in dem Schritt
(a) die Lineartransformation unter Verwendung von
Transformationskonstanten durchführt und dieses Verfahren
ferner den Schritt (c) der Bestimmung (66) der
Transformationskoeffizienten durch direkte Suche enthält.
21. Ein Verfahren gemäß Anspruch 19, das ferner (d)
die Bestimmung der Koeffizienten durch direkte Suche enthält.
22. Ein Verfahren gemäß Anspruch 16, in dem das
Neuralnetzwerk eine Eingangsebene (82) und eine Ausgangsebene
(84) enthält und jeder Knoten in der Eingangs- bzw.
Ausgangsebene folgenden Schritt durchführt:
wobei Ci eine Konstante und xi ein Eingangs- bzw.
Ausgangswert ist.
23. Ein Neuralnetzwerkelement, gekennzeichnet durch
Eingangsmittel (62) oder (84) zur Durchführung einer Lineartransformation oder Potenzreihentransformation an Eingangswerten; und
Kombinationsmittel (64) oder (86) zur Kombination der transformierten Eingangswerte.
Eingangsmittel (62) oder (84) zur Durchführung einer Lineartransformation oder Potenzreihentransformation an Eingangswerten; und
Kombinationsmittel (64) oder (86) zur Kombination der transformierten Eingangswerte.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/416,626 US5073867A (en) | 1989-06-12 | 1989-10-03 | Digital neural network processing elements |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4018779A1 true DE4018779A1 (de) | 1991-04-11 |
Family
ID=23650690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4018779A Withdrawn DE4018779A1 (de) | 1989-10-03 | 1990-06-12 | Neurale netzwerke und lernfaehiges schlussfolgerungssystem |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH03125257A (de) |
DE (1) | DE4018779A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0520925A2 (de) * | 1991-06-24 | 1992-12-30 | International Business Machines Corporation | Faltungshaftiges Expert-Neuronales-System |
DE4120828A1 (de) * | 1991-06-24 | 1993-01-07 | Siemens Ag | Verfahren zur verarbeitung von unsicherheiten von eingangsdaten in neuronalen netzwerken |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3361017B2 (ja) * | 1996-09-11 | 2003-01-07 | 株式会社東芝 | 快適性指標pmv学習装置 |
-
1990
- 1990-06-12 DE DE4018779A patent/DE4018779A1/de not_active Withdrawn
- 1990-07-17 JP JP2190378A patent/JPH03125257A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0520925A2 (de) * | 1991-06-24 | 1992-12-30 | International Business Machines Corporation | Faltungshaftiges Expert-Neuronales-System |
DE4120828A1 (de) * | 1991-06-24 | 1993-01-07 | Siemens Ag | Verfahren zur verarbeitung von unsicherheiten von eingangsdaten in neuronalen netzwerken |
EP0520925A3 (en) * | 1991-06-24 | 1994-10-19 | Ibm | Convolutional expert neural system |
Also Published As
Publication number | Publication date |
---|---|
JPH03125257A (ja) | 1991-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3883192T2 (de) | Neuronale Netzwerkschaltung und -struktur. | |
DE69130656T2 (de) | Neuronale Netzwerke | |
DE69419813T2 (de) | Vorrichtung und Verfahren zur Erzeugung einer annähernden Funktion | |
DE69300041T2 (de) | Mehrfachprozessor-Datenverarbeitungssystem. | |
DE19581638C2 (de) | Rechenvorrichtung mit einem Mikroprozessor, einem neuralen Netz-Koprozessor und einer DMA-Steuervorrichtung | |
DE69423228T2 (de) | Unüberwachtes klassifizierungsverfahren mit neuronalem netzwerk mit back propagation | |
DE68922624T2 (de) | Verteiltes parallelverarbeitungsnetzwerk, worin die verbindungsgewichte mit hilfe von starren differentialgleichungen erzeugt werden. | |
DE68928612T2 (de) | Verfahren zur bestimmung der inferenzregel sowie inferenzmotor | |
DE69130840T2 (de) | Neuronales Netzwerk zum Verarbeiten einer Vielzahl von Informationen und Lernverfahren | |
DE69021089T2 (de) | Heuristischer prozessor. | |
DE112016002298T5 (de) | Vorabruf von gewichten zur verwendung in einem neuronalen netzwerkprozessor | |
DE102021200012A1 (de) | Optimierte quantisierung für neuronale netze mit verringerter auflösung | |
DE68925625T2 (de) | Verfahren zur Rückführung von Fehlern und neuronale Netzstruktur | |
DE69124231T2 (de) | Künstliche neuronale anlage | |
DE69815390T2 (de) | Neuronale netzwerke | |
WO2019121206A1 (de) | Verfahren zur realisierung eines neuronalen netzes | |
Sun et al. | Green's function method for fast on-line learning algorithm of recurrent neural networks | |
DE69315250T2 (de) | Neuronaler Prozessor mit Datennormalisierungsanlage | |
DE69230422T2 (de) | Neuronales Netzwerk und Lernverfahren | |
DE4018779A1 (de) | Neurale netzwerke und lernfaehiges schlussfolgerungssystem | |
DE69713247T2 (de) | Lernverfahren in Binärsystemen | |
DE69414636T2 (de) | Neuronales Netzwerk für Signalverarbeitung | |
DE69328596T2 (de) | Optimierung eines Neuralnetzwerks mit Vorwärtskopplung | |
EP0548127B1 (de) | Neuronales Netzwerk und Schaltungsanordnung zur Bool'schen Realisierung neuronaler Netze vom ADALINE-Typ | |
DE68928208T2 (de) | Regelprüfungeinrichtung und Fuzzy-Interferenzverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |