DE69119604T2 - Trainingsverfahren eines neuronalen netzwerks - Google Patents

Trainingsverfahren eines neuronalen netzwerks

Info

Publication number
DE69119604T2
DE69119604T2 DE69119604T DE69119604T DE69119604T2 DE 69119604 T2 DE69119604 T2 DE 69119604T2 DE 69119604 T DE69119604 T DE 69119604T DE 69119604 T DE69119604 T DE 69119604T DE 69119604 T2 DE69119604 T2 DE 69119604T2
Authority
DE
Germany
Prior art keywords
vectors
training
output
input
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
Application number
DE69119604T
Other languages
English (en)
Other versions
DE69119604D1 (de
Inventor
David Charles Morden Villa Melton Hill Suffolk Ip12 1Ax Wood
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69119604D1 publication Critical patent/DE69119604D1/de
Publication of DE69119604T2 publication Critical patent/DE69119604T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y20/00Nanooptics, e.g. quantum optics or photonic crystals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Nanotechnology (AREA)
  • Chemical & Material Sciences (AREA)
  • Neurology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Optics & Photonics (AREA)
  • Computational Linguistics (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Description

  • Diese Erfindung bezieht sich auf ein Verfahren zum Trainieren eines neuronalen Netzes mit einem Eingang zum Eingeben von Eingangsvektoren, einem Ausgang zum Ausgeben von Ausgangsvektoren und einer einstellbaren Antwortbestimmungsvorrichtung, um zu bestimmen, welcher Ausgangsvektor vom Netz als Antwort auf die Eingabe eines gegebenen Eingangsvektors ausgegeben wird.
  • Allgemein ausgedrückt kann ein neuronales Netz als eine Reihe von Knoten betrachtet werden, wobei jeder Knoten einen Ausgang zur Verfügung stellt, der eine bestimmte Funktion der Ausgänge anderer Knoten ist, mit dem der Knoten gekoppelt ist. Zum Beispiel kann ein bestimmter Knoten ein Signal mit einem ersten Pegel ausgeben, wenn die gewichtete Summe der Ausgänge jener anderen Knoten eine bestimmte gegebene Schwelle überschreitet, und ein Signal mit einem zweiten Pegel ausgeben, wenn dies nicht der Fall ist. Verschiedene Knoten können die Ausgänge unterschiedlicher Sätze anderer Knoten empfangen, wobei die Gewichtungen und Schwellenwerte für diesen Knoten spezifisch sind. Ein Eingangsvektor wird über den Eingang des Netzes in einen Satz von Knoten eingekoppelt, während ein Ausgangsvektor am Ausgang des Netzes erzeugt wird. Die Antwort des neuronalen Netzes auf den Eingangsvektor wird in diesem Fall durch die Werte der Gewichtungen und Schwellen bestimmt, die gemeinsam die Antwortbestimmungsvorrichtung für diesen Netztyp bilden.
  • Andere Implementierungen neuronaler Netze können Techniken einsetzen, die sich von der obenbeschriebenen Gewichtungs- und Schwellen-Technik unterscheiden, jedoch trotzdem irgendeine Antwortbestimmungsvorrichtung besitzen, die die Ausgangsvektoren bestimmt, die von dem spezifischen Netz als Antwort auf Eingangsvektoren ausgegeben werden.
  • Ein Beispiel einer optischen Implementierung eines neuronalen Netzes ist in einem Artikel von N. M. Barnes, P. Healey, P. Mckee, A. W. O'Neill, M. A. Z. Rejman-Greene, E. G. Scott, R. P. Webb und D. Wood mit dem Titel "High Speed Opto-Electronic Neural Network", Electronics Letters, 19. Juli 1990, Bd. 26, Nr. 15, 5. 1110-1112, beschrieben. Dieses nutzt die Möglichkeiten der Parallelverarbeitung und optischen Verbindungen, um einen hohen Durchsatz zu erreichen. Das heißt, das neuronale Netz besitzt eine kurze Antwortzeit für einen angelegten Eingangsvektor, der in der berichteten Konfiguration mit Taktraten von mehr als 10 Mbits/s getaktet werden kann. Das Netz ist in Fig. 1 dieser Anmeldung gezeigt. Es ist ein Zweischicht-Wahrnehmungsnetz, das EXKLUSIV-ODER- (EXOR)-Kombinationen in zwei Eingangsströmen A und B erkennen kann.
  • Seine Grundoperation ist, eine Matrix-Vektor-Multiplikation durchzuführen, bei der jede Zeile einer 4x4-Optikdetektor-Matrix 80 ein elektrisches Signal erzeugt, das der Summe der auf die Zeile einfallenden Lichtintensitäten entspricht.
  • Ein computererzeugtes Hologramm 100 sowie Linsen 102 und 104 erzeugen direkt aus einer einzigen Laserquelle 106 intensitätscodierte Strahlen (nicht gezeigt), die auf die einzelnen Modulatoren einer Modulatormatrix 82 fallen. Die relativen Intensitäten der Strahlen sind durch die Zahlen auf den Modulatoren dargestellt. Diese Strahlen mit unterschiedlichen Intensitäten erzeugen die unterschiedlichen Gewichtungen, die an die Ausgänge der Modulatoren in deren Verbindung zu den Knoten, die durch die Zeilen von Detektoren gebildet werden, angelegt werden.
  • Ein Signal wird in Abhängigkeit davon, ob seine gewichtete Summe über oder unter einem bestimmten eingestellten Schwellenwert liegt, entweder einer festen Vorspannung von einer Vorspannungsquelle 86 oder aber einem Schwellenwert relativ zu einer der anderen gewichteten Summen, über Vorverstärker 84 an die nächste Ebene weitergeleitet oder nicht.
  • Es gibt verschiedene Wege, wie die mehreren intensitätscodierten Strahlen erzeugt werden können, einschließlich z. B. der Verwendung einer festen Maske zum Filtern der Intensitäten der einzelnen Strahlen für eine Matrix von Quellen.
  • Ein neuartiges Verfahren zum Bestimmen der Gewichtungen für einen optischen neuronalen Computer, das vom Anmelder erdacht wurde (zum Zeitpunkt der Einreichung dieser Anmeldung nicht veröffentlicht), basiert auf der Tatsache, daß die Modulationstiefe, die bei einer gegebenen Wellenlänge für einen Mehrfach-Quantentopf-(MQW)-Modulator erreicht werden kann, nicht nur durch den Spannungshub des Digitaltreibers, sondern auch durch die an den Modulatoren angliegende Vorspannung bestimmt wird. Siehe Fig. 3 in N. M. Barnes, P. Healey, M. A. Z. Rejman- Greene, E. G. Scott & R. P. Webb, "16 Channel Parallel Optical Interconnect Demonstration with an InGaAs/InP MQW Modulator Array", Elect. Lett., 26, 1126-1127 (1990). Dieses Verhalten bedeutet, daß die Modulationstiefe durch Verändern der Vorspannung eingestellt werden kann, selbst wenn der Spannungshub des Digitaltreibers, der bestimmt, ob sich der Modulator im "Ein"-Zustand oder im "Aus"- Zustand befindet, unverändert bleibt. Durch Hinzufügen eines Tiefpaßfilters zur Schaltung der Fig. 1 kann den schnellen Digitaldaten (ungefähr 50 MHz) eine langsam variierende Analogvorspannung (10 bis 100 kHz) überlagert werden. Somit kann die Modulationstiefe, die der Signalgewichtung entspricht, mit einer Rate von 10 bis 100 kHz verändert werden. Dieser langsam variierende Spannungspegel kann durch Standardanalogtreiber mit geringer Bandbreite mittels Computersteuerung eingestellt werden. Das Hologramm, das die mehrfachen Strahlen erzeugt, muß nun nicht mehr Strahlen mit einer vorprogrammierten Gewichtungsmatrix erzeugen. Statt dessen kann nun eine gleichmäßige Matrix von Strahlen verwendet werden, wobei die Gewichtungen durch die unabhängig einstellbaren Vorspannungen an den Modulatoren bestimmt werden. Ferner können die Gewichtungen nun während einer Trainingsphase für das neuronale Netz eingestellt werden.
  • Diese Anordnung eines optischen neuronalen Netzes schafft eine Vorrichtung zum Senden digitaler Hochgeschwindigkeitsdaten durch ein neuronales Netz, wobei sie außerdem fähig ist, mit gemäßigteren Geschwindigkeiten die Gewichtungen mittels Computersteuerung zu verändern.
  • Es gibt andere Wege, wie dieser hohe Datendurchsatz erreicht werden kann - genauer könnten die Datensignale extern erzeugt werden und eine Schichtung von Modulator/Detektor-Matrizen beleuchten. Die Modulatoren könnten dann unabhängig adressiert werden, um die Gewichtungen einzustellen.
  • Die Vorspannungen, die die Schwellenpegel bestimmen, können bei diesen Implementierungen ferner mit den gleichen langsameren Zeitmaßstäben eingestellt werden.
  • Für jene Fälle, in denen der Satz von gewünschten Ausgangsvektoren ("Sollsatz") des Netzes einem Satz bekannter Eingangsvektoren ("Trainingssatz") zugeordnet ist, ist bekannt, wie eine geeignete Konfiguration der Antwortbestimmungsvorrichtung durch überlagerndes Training des Netzes erreicht werden kann. Das heißt, das Netz wird mit dem Trainingssatz von Eingangsvektoren beaufschlagt, wobei die Antwortbestimmungsvorrichtung gemäß einem bestimmten Algorithmus eingestellt wird, um den Fehler zwischen den aktuellen Ausgangsvektoren des Netzes und dem Sollsatz von Ausgangsvektoren zu verringern (d. h. die Ahnlichkeit zu erhöhen).
  • Ein bekanntes Verfahren für das Training eines neuronalen Netzes umfaßt das wiederholte Anlegen jedes Eingangsvektors aus dem Trainingssatz an das Netz. Es wird ein Maß für die Ahnlichkeit des Ausgangsvektors des Netzes und des Sollausgangsvektors für diesen Eingangsvektor erhalten, wobei die Antwortbestimmungsvorrichtung auf unabhängige Weise wenigstens bis zu einem bestimmten Maß auf der Grundlage des Ahnlichkeitsmaßes eingestellt wird. Dies wird für jeden Eingangsvektor des Trainingssatzes der Reihe nach mehrfach wiederholt.
  • Ein Beispiel für ein solches Trainingsschema ist in einem Artikel von P. D. Wasserman und T. Schwartz mit dem Titel "Neural Networks, Part 2", 8294 IEEE Expert, Bd. 3 (1988) Spring, Nr. 1, 5. 10 bis 15, beschrieben.
  • Dieses Verfahren des Trainings neuronaler Netze ist auf jene Netze anwendbar, die solche veränderlichen bistabilen Modulatoren verwenden, und tatsächlich auf andere Netze, bei denen die optische Intensität verändert werden kann, um die Gewichtung zu bestimmen. Es ist jedoch eine Eigenschaft solcher Trainingsverfahren, wenn sie auf solch ein optisches neuronales Netz angewendet werden, daß die Berechnung der Gewichtungs- und Schwellenveränderungen, die für einen gegebenen Eingangsvektor durchgeführt werden müssen, abgeschlossen sein müssen, bevor der nächste Eingangsvektor an das Netz angelegt wird. Das heißt, der hohe Datendurchsatz des Netzes bringt während der Trainingsphase keinen Vorteil, da die Rate, mit der die Eingangsvektoren an das Netz angelegt werden können, durch die relativ langsame Rate begrenzt ist, mit der die Veränderungen berechnet werden können.
  • D. P. Casasent und E. Barnard beschreiben in einem Artikel mit dem Titel "Adaptive - dustering Optical Neural Net" in Applied Optics, Bd. 29, Nr. 17, 10. Juni 1990, S. 2603-2615, Mustererkennungstechniken zur Bündelung und Lineardiskriminantenfunktionsauswahl kombiniert mit Verfahren für neuronale Netze, bei denen ein Netz auf einen Eingangssatz von Trainingsvektoren trainiert wird, um die Eingänge in eine von c Klassen zu klassifizieren. Der Trainigsalgorithmus verwendet die sequentielle Eingabe jedes Eingangstrainingsvektors in das Netz und jeweils das Bestimmen des aktivsten verdeckten Neurons in der geeigneten Klasse und des aktivsten verdeckten Neurons in irgendeiner anderen Klasse. Wenn dies durchgeführt ist, wird für jedes dieser verdeckten Neuronen das Skalarprodukt des Gewichtungsvektors und des Eingangsvektors berechnet, eine Perzeptron-Fehlerfunktion berechnet sowie ein Fehlerstrafwert berechnet und zur Fehlerfunktion addiert. Dann wird der nächste Trainingsvektor des Satzes eingegeben, wobei die Berechnungen für diesen nächsten Eingangsvektor wiederholt werden.
  • Nachdem alle Trainingsvektoren eingegeben worden sind, werden alle Fehler und Fehlergradienten akkumuliert und die Gewichtung des Netzes unter Verwendung eines Konjungierte-Gradienten-Algorithmus angepaßt. Der Trainingsvektorsatz wird wiederholt eingegeben, bis für den Testsatz von Eingangsvektoren eine ausreichende Leistung erhalten wird.
  • Wie in diesem Artikel diskutiert wird, können die Skalarprodukte der Gewichtungen eines verdeckten Knotens und der Eingangsvektor optisch implementiert werden.
  • Da das Trainingsverfahren von Casasent u. a. erfordert, daß die zwei Klassenmaxima bestimmt werden und die Fehlerfunktion und ein Fehlerstrafwert für einen Eingangsvektor berechnet werden, bevor der nächste in das Netz eingegeben werden kann, zieht das Trainingsschema keinen Vorteil aus dem hohen Datendurchsatz des neuronalen Netzes, obwohl das Skalarprodukt im optischen Bereich schneller berechnet wird als im elektronischen Bereich.
  • Ferner wird auf die US-A-4 918 618 Bezug genommen, auf der die oberbegriffe der unabhängigen Ansprüche basieren und die ein neuronales Netz offenbart, das eine Gewichtungsvorrichtung mit einer Matrix von Gewichtungselementen enthält, für die das Training durch Anlegen einer Serie von Trainingsvektoren durchgeführt wird, wobei für jedes einzelne Gewichtungselement ein akkumulierter Fehler berechnet wird, indem ein bei jeder Ausgabe für den einzelnen Trainingsvektor entwickelter Fehler zum Element zurückgeführt wird. Der Wert des Gewichtungselements wird in Abhängigkeit vom akkumulierten Fehler nach jeder Trainingsvektorsene aktualisiert.
  • Gemäß der vorliegenden Erfindung wird das Training durchgeführt, indem Fehlanpassungen zwischen den Sollvektoren und den Ausgangsvektoren, die als Antwort auf die Trainingsvektoren erzeugt werden, bestimmt werden, ein mittlerer Fehlanpassungswert als eine Funktion der Häufigkeit der auftretenden Fehlanpassungen für die Serie von Eingangstrainingsvektoren erzeugt wird, Gewichtungseinstellsignale an die Steuereingänge wenigstens einer der Gewichtungsvorrichtungen angelegt werden, um den Durchschnittsfehlanpassungswert beim Anlegen der nächsten Serie von Trainingsvektoren tendenziell zu verringern, um eine mögliche Minimierung des Durchschnittsfehlanpassungswertes zu erreichen.
  • Die Erfindung ist ferner gekennzeichnet durch entsprechende Merkmale eines trainierbaren Netzes, wie es im folgenden in Anspruch 7 definiert ist.
  • Das Messen des Durchschnittsfehlanpassungswerts für den gesamten Ausgangssatz und Sollsatz für eine gegebene Serie von Eingängen und das Einstellen der Antwortbestimmungsvorrichtung in Abhängigkeit von dieser globalen Messung statt unmittelbar nach dem Vergleichen von Paaren einzelner Vektoren, ohne Fehlerfunktionen auf der Grundlage derselben zu berechnen, schafft verbesserte Trainingsraten für neuronale Netze mit einer Datendurchsatzrate, die höher sein kann als die Rate, mit der die Antwortbestimmungsvorrichtung eingestellt werden kann. Dies kann das Training beschleunigen, indem die Rate des Anlegens der Eingangsvektoren nicht durch die relativ langsame Gewichtungseinstellrate des Netzes begrenzt ist, die von langsameren Berechnungselementen abhängt.
  • Die Elemente eines Trainingssatzes von Eingangsvektoren werden herkömmlicherweise wiederholt in das Netz eingegeben, um mehrere Serien von Eingangsvektoren zu schaffen, wobei die Gewichtungseinrichtung in Abhängigkeit vom Durchschnittsfehlanpassungswert jeder Serie eingestellt wird.
  • Das Einstellen kann beim Trainingsverfahren der vorliegenden Erfindung auf der Grundlage einer unvollständigen Anzahl von Sätzen von Trainingsvektoren durchgeführt werden, d. h. asynchron zum Vektorentrainingssatz. Dies erlaubt das Einstellen des Netzes mit der höchstmöglichen Rate, mit der die erforderlichen Einstellungen berechnet werden können, ohne daß gewartet werden muß, bis die Berechnungen beendet sind, bevor ein Trainingssatz erneut an das Netz angelegt werden kann.
  • Ein weiterer besonderer Vorteil des Trainingsverfahrens besteht darin, daß ein kleiner Trainingssatz von Eingangsvektoren, der Daten enthalten kann, die sehr schwierig oder aufwendig zu sammeln sind, durch das Hinzufügen von Zufallsrauschen oder Störungen leicht zu einem großen Trainingssatz erweitert werden kann. Die Zufallsbeaufschlagung der Daten kann irgendwo innerhalb des Netzes oder bei den Gewichtungen und Schwellen selbst stattfinden. Eine solche Erweiterung erlaubt, daß das Netz so trainiert wird, daß seine Antwort gegen Rauschen oder Störungen robust ist.
  • Obwohl das Trainingsverfahren der vorliegenden Erfindung vom Anmelder als besonders vorteilhaft angesehen wird, wenn es zum Trainieren optischer neuronaler Netze mit hohen Datendurchsatzraten verwendet wird, kann es auf neuronale Netze mit anderen Hardware-Architekturen angewendet werden. Es kann ferner auf Systeme angewendet werden, in denen die Datendurchsatzrate mit der Gewichtungsaktualisierungsrate vergleichbar ist, wobei es z. B. die Berechnung der Gewichtungsveränderungen vereinfachen kann.
  • Der verwendete Algorithmus zum Berechnen der vorzunehmenden Einstellungen der Gewichtungseinrichtung, im obenerwähnten Beispiel die Gewichtungen und Schwellen, kann irgendein gewünschter Algorithmus sein, der versucht, den Fehlanpassungswert nach Möglichkeit zu minimieren.
  • Simulierte Glühalgorithmen, wie sie z. B. in S. Kirkpatric, C. D. Gelatt Jr., M. P. Vecchi, "Optimisation by Simulated Annealing", Science, 220, 671-680 (1983) beschrieben sind, oder Algorithmen, die zu diesen verwandt sind, sind beim Auffinden eines globalen Maximums für komplexe Probleme dieses Typs sehr wirksam, insbesondere wenn die Variablen nur diskrete Werte annehmen können. Diese Techniken sind jedoch hinsichtlich der Berechnungs zeit sehr aufwendig und werden deshalb bisher kaum verwendet. Mit der Entwicklung sehr schneller Hardware wird die Berechnungszeit für einen Satz von Eingangsvektoren kürzer und somit diese Technik anwendbar. Wenn z. B. das Netz Daten mit einer Rate von 50 MHz annimmt und der Trainingssatz 1000 Elemente enthält, können die Daten für die Ahnlichkeit des Satzes von Ausgangsvektoren und eines Sollsatzes mit der Rate von 50 kHz gesammelt werden und somit im Prinzip 50000 Iterationen pro Sekunde durchgeführt werden (unter der Annahme, daß die Gewichtungs- und Schwellenberechnungen mit dieser Geschwindigkeit durchgeführt werden können), wobei jede Iteration auf der Grundlage der Information aller 1000 Ausgangsvektoren berechnet wird, statt auf dem Vergleich von nur einem Ausgangsvektor und einem Sollvektor. Das heißt, das Trainingsverfahren schafft eine mögliche tausendfache Erhöhung der Trainingsgeschwindigkeit für dieses beispielhafte Netz. Die tatsächliche Erhöhung hängt vom verwendeten Algorithmus ab.
  • Im folgenden wird nur beispielhaft das Verfahren der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben, in denen:
  • Fig. 1 ein schematisches Schaubild eines optischen neuronalen Netzes des Standes der Technik ist;
  • Fig. 2 ein schematisches Schaubild ist, das die Schritte der vorliegenden Erfindung in bezug auf ein verallgemeinertes neuronales Netz zeigt, die ein asynchrones Training ermöglichen;
  • Fig. 3 ein schematisches Schaubild eines beispielhaften neuronalen Netzes ist, auf das das Trainingsverfahren der vorliegenden Erfindung angewendet werden kann;
  • Fig. 4 ein schematisches Strukturschaubild der Struktur eines neuronalen Netzes ist, das für die Implementierung als optisches neuronales Netz, das mit dem Verfahren der vorliegenden Erfindung trainiert wird, geeignet ist;
  • Fig. 5 ein schematisches Schaubild eines optischen neuronalen Netzes ist, das die Struktur des trainierten neuronalen Netzes der Fig. 4 implementiert, nachdem es für ein bestimmtes Antwortverhalten trainiert worden ist;
  • Fig. 6 ein Graph der Modulationstiefe ist, die für die Gewichtung des Netzes der Fig. 5 erhalten wird; und
  • Fig. 7 eine Demonstration der EXKLUSIV-ODER- und der UNGERADE-GERADE-Paritätsfunktionen eines Trendnetzes ist, wie es in Fig. 5 gezeigt ist.
  • Das neuronale Netz der Fig. 1 ist bereits beschrieben worden.
  • Das Trainingsverfahren eines neuronalen Netzes gemäß der vorliegenden Erfindung wird im folgenden allgemein mit Bezug auf Fig. 2 beschrieben.
  • Ein verallgemeinertes neuronales Netz 2, dessen spezifische Implementierung in der folgenden Beschreibung nicht von Bedeutung ist, kann einen Satz von Eingangsvektoren Ii, i = 1 bis n, an einem Eingang 4 annehmen und erzeugt an einem Ausgang 6 einen entsprechenden Ausgangsvektor Oi. Der nach der Eingabe des Satzes von Eingangsvektoren Ii erhaltene Satz von Ausgangsvektoren Oi wird von einer (nicht gezeigten) Antwortbestimmungsvorrichtung des neuronalen Netzes 2 bestimmt. Es wird angenommen, daß die Antwortbestimmungsvorrichtung eingestellt werden kann, indem verschiedene Parameter verändert werden, die das Netz charakterisieren, wie z. B. Zwischenknotengewichtungen und Schwellen. In diesem Fall können diese mittels einer Steuervorrichtung 8 gesteuert werden, die über einen Steuerbus 10 mit dem neuronalen Netz 2 verbunden ist und ein Mehrzweckcomputer sein kann, der ein mittels Hardware implementiertes neuronales Netz steuert, oder eine Softwareroutine in einer Software-Simulation eines neuronalen Netzes in einem Universalcomputer oder ein optisch implementiertes neuronales Netz sein kann.
  • Nun soll das neuronale Netz 2 trainiert werden, so daß es für den Satz von Eingangsvektoren I&sub1; bis In jeweils gewünschte Ausgangsvektoren O&sub1; bis On ausgibt. Die gewünschten Ausgangsvektoren Oi bilden den Sollsatz von Ausgangsvektoren für das neuronale Netz und für den Trainingssatz von Eingangsvektoren Ii.
  • Die Elemente des Trainingssatzes von Eingangsvektoren Ii werden der Reihe nach an den Eingangsanschluß 4 des neuronalen Netzes 2 angelegt, das an seinem Ausgangsanschluß 6 einen zugehörigen Satz von Ausgangsvektoren O'&sub1; bis O'n ausgibt, der bei einem untrainierten Netz im allgemeinen nicht mit dem Sollsatz O&sub1; bis On übereinstimmt.
  • Eine Serie von Vektoren Oi des Sollsatzes und der entsprechenden Ausgangsvektoren O'i vom neuronalen Netz 2 werden in eine Fehlerauflistungseinrichtung 12 eingegeben, die einen Zähler für die Anzahl der Fehlanpassungen der Ausgangsvektoren O'i und der Sollausgangsvektoren Oi enthält.
  • Diese Zahl wird der Computersteuervorrichtung 8 zur Verfügung gestellt, die die Parameter des neuronalen Netzes 2 in Abhängigkeit von einem Durchschnittsfehlanpassungswert einstellt, der die mittlere Anzahl von Ereignissen ist, in denen sich die Ausgangsvektoren der Serie von den Ausgangsvektoren der zugehörigen Sollvektoren unterscheiden. Diese Einstellung wird im allgemeinen asynchron zur Eingabe des Trainingssatzes von Vektoren durchgeführt, d. h., sie wird durchgeführt, bevor die gesamte Anzahl von Wiederholungen des Trainingssatzes in das Netz eingegeben worden sind.
  • Der Trainingssatz und der Sollsatz werden wiederholt an das neuronale Netz 2 bzw. die Fehlerauflistungseinrichtung 12 angelegt, solange dies der Algorithmus bestimmt.
  • Im Fall eines neuronalen Netzes, bei dem der Durchsatz im Vergleich zu der Rate, mit der der Computer die erforderlichen Veränderungen der neuronalen Netzparameter berechnen kann, sehr hoch ist, ermöglicht dieser Ansatz des Betrachtens eines Durchschnittsfehlanpassungswerts für eine Serie von Eingangsvektoren dem Training, mit einem großen Trainingssatz zu arbeiten, ohne das eine Synchronisierung zwischen dem Anlegen der Eingangsvektoren an das Netz und der Berechnung erforderlich ist. Das heißt, das Trainingsverfahren der vorliegenden Erfindung ermöglicht ein asynchrones Training, wobei der Durchschnittsfehlanpassungswert vom Computer, der den Algorithmus implementiert, mit der Rate bestimmt wird, mit der er die gewünschten Veränderungen des Netzes berechnen kann, während die Trainingsdaten und der Fehlanpassungswert mit der hohen Durchsatzrate gebildet werden, die die Hardware erlaubt.
  • Es wird hervorgehoben, daß die Erfindung allgemein auf neuronale Netze anwendbar ist, ob sie als Hardware implementiert sind, geeignet programmierte Universalcomputer sind oder auf andere Weise implementiert sind.
  • In Fig. 3 ist ein Funktionsschaubild eines einfachen neuronalen Netzes 20 mit ersten und zweiten Schichten 22 bzw. 24 gezeigt, das in einem Modell für eine Computersimulation der vorliegenden Erfindung verwendet worden ist. Das Netz 20 besitzt einen Eingangsanschluß 26 zum Empfangen eines 3-Bit-Binärwort-Eingangsvektors [a, b, c] und einen Ausgangsanschluß 28, an dem ein Einzelbit-Binärausgangsvektor [d] ausgegeben wird.
  • Die erste Schicht umfaßt vier Knoten 30, 32, 34 und 36. Im Knoten 30 werden die einzelnen Bits eines Eingangsvektors [a, b, c] mit den Gewichtungen W'&sub1;, W'&sub2; bzw. W'&sub3; gewichtet. Die gewichteten Eingangsbits werden dann von einem Addierer 38 addiert, dessen Ausgang einer Schwellenprüfung, bezeichnet mit T¹, unterworfen wird, die ein "Null"-Pegelsignal erzeugt, wenn die Summe unterhalb der Schwelle T¹ liegt, und ein "Eins"-Pegelsignal erzeugt, wenn die Summe oberhalb der Schwelle T¹ liegt.
  • Die Knoten 32, 34 und 36 sind mit den Gewichtungs- und Schwellensätzen (W&sub1;², W&sub2;², W&sub2;³, T²) (W³&sub1;, W³&sub2;, W³&sub3;, T³) bzw. (W&sup4;&sub1;, W&sup4;&sub2;, W&sup4;&sub3;, T&sup4;) ähnlich konfiguriert. Die Addierer dieser Knoten sind identisch und jeweils mit 38 bezeichnet.
  • Die Ausgänge der Schwellen T¹, T², T³ und T&sup4; (A, B, C und D) bilden einen 4-Bit-Eingangsvektor, der in die zweite Schicht 24 eingegeben wird, die einen einzelnen Knoten umfaßt. Diese zweite Schicht (oder der Knoten) 24 besitzt vier Gewichtungselemente W&sub1;&sup5;, W&sub2;&sup5;, W&sub3;&sup5;, W&sub4;&sup5; und ein Schwellenelement T&sup5;.
  • Die Gewichtung Wi&sup5; wird an den Ausgang des Schwellenelements Ti der ersten Schicht 22 angelegt. Diese gewichteten Werte werden vom Addierer 40 addiert und vom Schwellenelement T&sup5; einer Schwellenprüfung unterworfen, dessen Ausgang den Ausgangsvektor [d] des neuronalen Netzes 20 bildet.
  • Dieses Netz ist mit dem Verfahren der vorliegenden Erfindung trainierbar, bei dem die Gewichtungen Wij, i = 1 bis 4, j = 1 bis 5, und die Schwellen Tj, j = 1 bis 5, die dynamischen Parameter unter Computersteuerung sind.
  • Wenn ein neuronales Netz als ein optisches neuronales Netz implementiert werden soll, wie es z. B. in Fig. 1 gezeigt ist, können keine negativen Gewichtungen vorkommen, da alle Strahlintensitäten positive Werte besitzen. Eine Modifizierung des neuronalen Netzes der Fig. 3 zur Beseitigung dieser Einschränkung ist in den Schwellenund Gewichtungsblöcken der Fig. 4 gezeigt, bei denen einige der Ausgänge A, B, C und D von den Addierern der Knoten 30, 32, 34 und 36 der Fig. 3 bezüglich der anderen Ausgänge vorbelegt werden. In diesem Fall bilden die Komparatoren 42, 44 und 46 die Ausgänge A-B, B-C bzw. A- C, die in die Schwellenelemente 48, 50 bzw. 52 eingegeben werden. Der Rest des neuronalen Netzes der Fig. 4 entspricht dem Netz der Fig. 3.
  • In einer Computersimulation, die das Trainingsverfahren der vorliegenden Erfindung auf das neuronale Netz der Fig. 4 anwendet, waren die Gewichtungen Wij auf 5 diskrete Pegel 0,0; 0,25; 0,5; 0,75; 1,0 beschränkt, während die Schwellen Tj auf 11 Pegel von 0,5 bis 1,5 in Schritten von 0,125 beschränkt waren.
  • Das Netz wurde trainiert, um einen Ausgangsvektor [0] für alle binären 3-Bit-Eingangsvektoren [a, b, c] zu erzeugen, mit Ausnahme von [0, 1, 0], für den der Ausgangsvektor [1] erzeugt werden sollte.
  • Es gibt acht mögliche Kombinationen für drei binäre Eingangsdatenkanäle. Diese acht Kombinationen wurden als Trainingssatz in einer geschlossenen Schleife eingegeben. Zu den Signalen 2 für die erste Schicht des Netzes und nach den Schwellenelementen T&sup5; wurde ein zufälliges, gleichmäßiges Rauschen hinzugefügt. Das Hinzufügen des Zufallrauschens bewirkte eine Vergrößerung der Länge der Trainingsdatenschleife, wobei das Netz die Gewichtungen und Schwellenpegel finden mußte, die nicht nur den gewünschten Ausgang ergeben, sondern auch den Ausgang gegenüber dem Rauschpegel robust machen. In den Computersimulationen des Trainingsverfahrens wurden Schleifenlängen von einigen Tausend verwendet. Die resultierenden Werte der Gewichtungen und Schwellen sind in Fig. 4 gezeigt.
  • Um die Trainingssätze zu erweitern, können zum Einkoppeln von Rauschen andere Schemen verwendet werden, die jeweils für die spezielle Implementierung des neuronalen Netzes günstig sind.
  • Unter Verwendung einer Form des simulierten Glühens zum Minimieren der Fehlerzahl in der Trainingsschleife wurden mit dem Netz der Fig. 4 für jedes Logik- oder Erkennungsproblem, das probiert worden ist, Lösungen gefunden, einschließlich der Erkennung von einem oder zwei Elementen der acht möglichen Eingangsmuster sowie Paritätsprüfungen. Im Algorithmus wird für eine der Gewichtungen oder für einen Schwellenpegel eine Veränderung vorgeschlagen und die neue Fehlerzahl in der Trainingsschleife berechnet. Wenn der neue Durchschnittsfehlanpassungswert niedriger ist als vorher, wird die Veränderung akzeptiert. Wenn der neue Durchschnittsfehlanpassungswert um eine Größe Δε größer ist, wird die Veränderung akzeptiert, wenn exp(-Δε/T) kleiner ist als eine Zufallszahl im Bereich von 0 bis 1, die für eine fiktive "Temperatur" T steht. Die Iterationen beginnen mit großem T, so daß fast alle vorgeschlagenen Anderungen akzeptiert werden. T wird dann allmählich abgekühlt, d. h. monoton verringert, so daß Veränderungen, die den Durchschnittsfehlanpassungswert erhöhen, mit abnehmender Wahrscheinlichkeit akzeptiert werden und das Netz in eine Konfiguration gezwungen wird, die den Fehler minimiert. Die Iterationen werden gestoppt, wenn der Durchschnittsfehlanpassungswert ein annehmbares Maß erreicht. Es gibt eine große Anzahl möglicher Konfigurationen, die keine Fehler ergeben, wenn das System nicht mit Zufallsrauschen beaufschlagt wird, wobei das Trainingsschema die Lösung schnell findet. Wenn der Rauschpegel zunimmt, sinkt die Anzahl der annehmbaren Lösungen und es werden mehr Iterationen benötigt, um eine Lösung zu finden. Ein Netz, das bei Vorhandensein eines starken Rauschens trainiert wird, ist dann gegen eine Beaufschlagung mit Rauschen bis zu diesem Pegel robust.
  • Software-Simulationen des zweischichtigen neuronalen Netzes der Fig. 4 haben gezeigt, daß es trainiert werden kann, um jede Erkennung oder logische Funktion für 3-Bit- Eingangsdaten durchzuführen. Die Software-Simulationen waren jedoch sehr zeitaufwendig und nahmen für jedes Muster mehrere Stunden Berechnungszeit in Anspruch.
  • Wie in Fig. 5 gezeigt, ist ein optisches neuronalen Netz wie das neuronale Netz der Fig. 4 konfiguriert, um das Trainingsverfahren der vorliegenden Erfindung experimentell zu demonstrieren.
  • Ein 1,5 µm-Laser 40 beleuchtet ein computererzeugtes Zweiphasen-Hologramm 42, das in diesem Fall eine optische 16-Wege-Verbindung über eine Linse 44 erzeugt, die eine 4 x 4-Matrix von (nicht gezeigten) Lichtstrahlen mit gleicher Nennintensität erzeugt, die auf entsprechende Modulatorelemente Mij einer 4 x 4-Planarmatrix von Mehrfachquantentopf-(MQW)-Modulatoren fokussiert sind, die von Hochgeschwindigkeits-SMOS-Schaltungen 46 über eine weitere Linse 45 angesteuert werden. Die modulierten Strahlen sind auf entsprechende Detektoren Dij einer Detektormatrix 48 fokussiert, die Transimpedanzverstärker und Komparatoren beliefert. Um die Empfindlichkeit zu verbessern, wurde statt der Mehrfachquantentopfvorrichtungen eine Indium-Phosphid-Detektormatrix verwendet.
  • Die MQW-Modulatortreiberschaltung bietet einstellbare Zwischenverbindungsstärken oder Gewichtungen. Dies war möglich, da die Modulationstiefe eines MQW-Modulators von der an der Vorrichtung anliegenden Gleichspannungsvorspannung sowie vom wechselstromgekoppelten Datensignal abhängig ist. Fig. 6 zeigt die 5-Band-codierten Gewichtungswerte und die von einem einzelnen Nullrückgang (RZ) des Modulators resultierende Modulationstiefe. Zu jedem invertierenden Eingang des Komparators wurde eine veränderliche Gleichspannungsvorspannung oder Schwelle addiert, um eine trainierbare Schwellenfunktion zu erzeugen. Die Analogspannungen für die Gewichtungen und Schwellen wurden beide von den 8-Bit-Digital/Analog- Umsetzern abgeleitet. Die Zeitkonstante in der Analogschaltung ergab eine maximale Einschwingzeit von 25 µs, wobei die Schwellenschaltung eine Einschwingzeit von 2 µs aufwies, während die Modulatoren, Detektoren und Verstärker mit 40 Mbit/s RZ angesteuert werden können.
  • Sowohl für die Modulatoren Mij als auch für die Detektoren Dij liegen i und j im Bereich von 1 bis 4, wobei i die Spalten von links nach rechts und j die Zeilen von oben nach unten bezeichnen. Es wird auf einen beispielhaften Modulator M&sub2;&sub1; und einen Detektor D&sub3;&sub2; Bezug genommen, um das Indexschema zu erläutern.
  • Die Modulatoren Mij und Detektoren Dij der ersten drei Spalten bilden die erste Schicht des neuronalen Netzes 40, während die vierte Spalte der Modulatoren Mij und Detektoren Dij die zweite Schicht des neuronalen Netzes 40 bildet.
  • Es sind drei Hochgeschwindigkeits-Binäreingangskanäle 50, 52 und 54 vorhanden, die jeweils mit einer Spalte von vier unabhängig gewichteten Modulatoren verbunden sind. Jeder Modulator Mij wird einzeln von einem Modulatortreiber 56 mit der Kombination der Hochgeschwindigkeitslogikdaten (gemeinsam für jedes Element in der Spalte) und der langsamen Vorspannung von einer Gewichtungssteuervorrichtung 58 adressiert, um die Modulationsgewichtung zu bestimmen. Der Ausgang von den Dektoren Dij wird in Zeilen summiert. Vier binäre Eingänge (A-D, B-C, A-C und D), die von den Komparatoren aus den Ausgängen A, B, C, D bestimmt werden, werden mit einer von der Schwellensteuervorrichtung 59 gesetzten Vorspannung verglichen. Diese werden über einen Modulatortreiber 60 und einen Signalbus 62 in die verbleibenden gewichteten Modulatoren der vierten Spalte in der Modulatormatrix 46 zurückgeführt, wobei die Gewichtungen für die Modulatoren von der Gewichtungssteuervorrichtung 58 erzeugt werden. Der Ausgang der zweiten Schicht der vier Detektoren 64 wird anschließend summiert und mit der Schwelle 6 verglichen, um den endgültigen Binärausgang des Netzes am Ausgang 68 zu erzeugen.
  • Da die Gewichtungen hier als unterschiedliche optische Intensitäten in den Strahlen codiert sind, müssen sie positive Werte annehmen.
  • Es wurde ein Mustergenerator verwendet, um alle numerischen Eingangskombinationen von 3-Bit-Wörtern gemeinsam mit dem Sollausgangsmuster, das der erwünschten Logikfunktion entspricht, kontinuierlich zu wiederholen. Der Trainingssatz war so beschaffen, daß er ein Vielfaches der acht möglichen Kombinationen umfaßte. Dies stellt sicher, daß der Fehlanpassungswert sowohl die Fähigkeit zur Unterscheidung jeder Kombination als auch die mittlere Herabsetzung der Fähigkeit aufgrund der Beeinflussung durch verschiedene Rauschquellen wiedergibt. Das gewählte Vielfache wurde bestimmt durch die Notwendigkeit, einen brauchbaren statistischen Durchschnittsfehlanpassungswert zu erzeugen, ohne die Trainingszeiten beträchtlich zu verschlechtern. In diesem besonderen Fall wurden die Trainingsdaten mit 10 MBit/s RZ an das Netz angelegt, wobei jeder Trainingszyklus ungefähr 10000 Wörter umfaßte (1250 Wiederholungen der Testmuster) . Für 250 solcher Zyklen (250 Gewichtungs-/Schwellen-Veränderungen) wurde die gleiche "Temperatur" T verwendet, bevor sie verringert wurde. Bei jedem neuen Wert von T wurden die Netzparameter auf jene zurückgesetzt, die der bis dahin erhaltenen kleinsten Fehlerzahl zugeordnet waren. Das Netz wurde darauf trainiert, alle 3-Bit-Kombinationsfunktionen zu erkennen und insbesondere die EXKLUSIV- ODER- und die UNGERADE/GERADE-Paritätsfunktionen wiederzugeben, die bekannterweise zweischichtige Netze erfordern. Diese Funktionen zeigen am besten den Erfolg einer Strategie, die nicht auf dem Zugriff auf die Neuronen der verdeckten Schicht beruht. Fig. 7 zeigt den Ausgang des Netzes nach dem Trainieren aller Muster, die mit den entsprechenden Eingangswörtern verglichen werden.
  • Die Analyse der Trainingsversuche zeigt, daß die Erkennung einzelner Wörter im allgemeinen weniger als 1000 Zyklen (20 Sekunden) erfordert. Die komplexeren Kombinationsaufgaben wie z. B. die EXKLUSIV-ODER- und die UNGERADE/GERADE-Paritätsfunktionen erfordern im Mittel 10000 Zyklen, was die Notwendigkeit für die Zweischicht- Verarbeitung wiederspiegelt. Ein direkter Vergleich mit den Simulationsergebnissen ist unrealistisch, da die Anzahl der Trainingszyklen sehr stark vom Umfang und von den Eigenschaften des Hardwaresystems sowie vom künstlichen (simulierten) Rauschen abhängt. Im Prinzip wird erwartet, daß die Hardware mehr Trainingszyklen erfordert, da die Berechnungen und Fehlerzahlen der Hardware eine sehr viel komplexere Beziehung besitzen als in der idealisierten Simulation. Es können jedoch die impliziten Einsparungen berechnet werden, die durch die Verwendung der Hochgeschwindigkeits-Hardware erreicht werden. Die Simulation des neuronalen Netzes erfordert 30 Sekunden zur Verarbeitung eines Zyklus des Trainingssatzes, während die Hardware 1 ms benötigt - was 30000 mal schneller ist, wobei die Zeit, die in den drei übrigen Trainingsbereichen aufgebracht wird, wie folgt aufgeteilt ist: Computerverarbeitung 25 %, Computerkommunikation 70 % und optoelektronische Hardwareverarbeitung ungefähr 5 %. Es ist somit eine beträchtliche Kapazität zur Handhabung sehr viel größerer Trainingssätze vorhanden (größere Netze oder bessere Rauschunempfindlichkeit). Der große Zeitanteil, der für die Kommunikation zwischen der Hardware und dem Computer aufgebracht wird, ist kein grundsätzliches Problem, da für jeden Trainingszyklus nur eine Nachricht in eine Richtung gesendet werden muß. Es sollte somit mit einer zweckentsprechenden Schnittstelle möglich sein, die durchschnittlichen Trainingszeiten beträchtlich zu verringern. Diese Experimente zeigen, daß die Strategie schnell und regelmäßig Lösungen erzeugen kann, selbst wenn der Lösungsraum extrem körnig ist und keine Überwachung der verdeckten Schicht durchgeführt wird. Ferner wurde festgestellt, daß das Trainingsverfahren gemäß der vorliegenden Erfindung selbst dann fähig war, Lösungen zu finden, wenn die Leistung der Hardware durch Einstellen des optischen Leistungsangebots und durch Einführen optischer Zeitfehlausrichtungen etc. beträchtlich herabgesetzt wurde, was die Robustheit des Trainingsverfahrens andeutet, insbesondere wenn es auf ein optisches neuronales Netz angewendet wird.

Claims (10)

1. Verfahren zum Trainieren eines neuronalen Netzes (2), wobei das Netz eine Matrix von Eingängen (26), die mehrere Signale (a, b, c) empfangen, die einen Eingangsvektor definieren; eine Matrix von Gewichtungseinrichtungen (W), die im voraus gesetzte, einstellbare Gewichte an die an die Eingänge angelegten Signale anlegen, wobei die Gewichtungseinrichtungen Steuereingänge aufweisen, um die Einstellung der im voraus gesetzten Gewichte zu ermöglichen; sowie eine Ausgangseinrichtung (28) enthält, die Kombinationen der gewichteten Signale von den Gewichtungseinrichtungen empfängt, um als Antwort auf einen an die Eingänge angelegten Eingangsvektor einen Ausgangsvektor zu erzeugen; wobei das Verfahren das Anlegen einer Reihe von Trainingsvektoren (I) an die Eingänge, um eine entsprechende Reihe von Ausgangsvektoren (O') zu erzeugen, das Vergleichen der Ausgangsvektoren mit Sollvektoren (O) sowie das Einstellen der Gewichte der Gewichtungseinrichtungen in Abhängigkeit vom Vergleichsergebnis enthält, gekennzeichnet durch das Bestimmen von Fehlanpassungen zwischen den Sollvektoren und den als Antwort auf die Trainingsvektoren erzeugten Ausgangsvektoren, Erzeugen eines Durchschnittsfehlanpassungswerts als Funktion der Anzahl von Ereignissen, in denen Fehlanpassungen auftreten, für die Reihe der Eingangstrainingsvektoren, Anlegen von Gewichtungseinstellsignalen an die Steuereingänge wenigstens einer der Gewichtungseinrichtungen, um den Durchschnittsfehlanpassungswert beim Anlegen der nächsten Reihe von Trainingsvektoren tendenziell zu reduzieren, um so eine eventuelle Minimierung des Durchschnittsfehlanpassungswerts zu versuchen.
2. Verfahren nach Anspruch 1, in dem Daten ausschließlich von den Eingängen zur Ausgabeeinrichtung gesendet werden und die Bestimmung des Durchschnittsfehlanpassungswerts außerhalb des Netzes erfolgt.
3. Verfahren nach Anspruch 1 oder 2, in dem Elemente eines Trainingssatzes von Eingangsvektoren wiederholt in das Netz (2) eingegeben werden, um mehrere Reihen von Eingangsvektoren zu erzeugen, wobei die Antwortbestimmungseinrichtung (12, 8) in Abhängigkeit vom Durchschnittsfehlanpassungswert jeder Reihe eingestellt wird.
4. Verfahren nach irgendeinem vorangehenden Anspruch, in dem die Gewichte (W) in Übereinstimmung mit einem simulierten Glühalgorithmus eingestellt werden.
5. Verfahren nach Anspruch 4, in dem die Einstellung auf den Gewichtswert beibehalten wird, wenn die Änderung des Durchschnittsfehlanpassungswerts, &Delta;&epsi;, für die nächste Reihe von Eingangsvektoren negativ ist oder, falls sie positiv ist, wenn exp(-&Delta;&epsi;/T) < r, wobei T eine Konstante ist und r eine Zufallszahl im Bereich von 0 bis 1.
6. Verfahren nach Anspruch 5, in dem T während des Trainings monoton gesenkt wird.
7. Trainierbares neuronales Netz, mit
einer Matrix von Eingängen (26), die mehrere Signale (a, b, c) empfangen, die einen Eingangsvektor definieren;
einer Matrix von Gewichtungseinrichtungen (W), die im voraus gesetzte einstellbare Gewichte an die an die Eingänge angelegten Signale anlegen, wobei die Gewichtungseinrichtungen Steuereingänge aufweisen, um die Einstellung der im voraus gesetzten Gewichte zu ermöglichen; und
mehreren Ausgängen (28), die als Antwort auf einen an die Eingänge angelegten Eingangsvektor Kombinationen von gewichteten Signalen von den Gewichtungseinrichtungen empfangen, um einen Ausgangsvektor (O') zu erzeugen; und
einer Trainingseinrichtung, die eine Einrichtung zum wiederholten Anlegen einer Reihe von Trainingsvektoren (I) an die Eingänge; eine Fehlerauflistungseinrichtung (12), die eine Reihe von Ausgangsvektoren, die als Antwort auf die Reihe von Trainingsvektoren (I) erzeugt werden, empfängt und die Ausgangsvektoren mit Sollvektoren (O) vergleicht, sowie eine Steuereinrichtung (8) enthält, die die Gewichte der Gewichtungseinrichtungen in Abhängigkeit vom Vergleichsergebnis einstellt,
dadurch gekennzeichnet, daß die Fehlerauflistungseinrichtung (12) arbeitet, um Fehlanpassungen zwischen den als Ausgang auf die Trainingsvektoren erzeugten Ausgangsvektoren und den Sollvektoren zu bestimmen und um einen Durchschnittsfehlanpassungswert als Funktion der Anzahl von Ereignissen, in denen die Fehlanpassungen auftreten, für die Reihe von Eingangstrainingsvektoren zu erzeugen, und daß die Steuereinrichtung (8) auf den Durchschnittsfehlanpassungswert für eine Reihe von Eingangstrainingsvektoren anspricht, um Gewichtseinstellsignale an die Steuereingänge wenigstens einer der Gewichtungseinrichtungen anzulegen, um den Durchschnittsfehlanpassungswert beim Anlegen der nächsten Reihe von Trainingsvektoren tendenziell zu reduzieren und um festzustellen, wann das Training abgeschlossen ist.
8. Netz nach Anspruch 7, das ein optisches neuronales Netz (2) umfaßt.
9. Netz nach Anspruch 7 oder 8, in dem die Fehlerauflistungseinrichtung (12) außerhalb der Matrizen angeordnet ist.
10. Netz nach irgendeinem der Ansprüche 7 bis 9, das so konfiguriert ist, daß sich Daten nur in einer Richtung von den Eingängen zur Ausgangseinrichtung bewegen können.
DE69119604T 1990-11-08 1991-11-08 Trainingsverfahren eines neuronalen netzwerks Expired - Fee Related DE69119604T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB909024332A GB9024332D0 (en) 1990-11-08 1990-11-08 Method of training a neural network
PCT/GB1991/001967 WO1992009044A1 (en) 1990-11-08 1991-11-08 Method of training a neural network

Publications (2)

Publication Number Publication Date
DE69119604D1 DE69119604D1 (de) 1996-06-20
DE69119604T2 true DE69119604T2 (de) 1996-09-26

Family

ID=10685082

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69119604T Expired - Fee Related DE69119604T2 (de) 1990-11-08 1991-11-08 Trainingsverfahren eines neuronalen netzwerks

Country Status (7)

Country Link
US (1) US5390285A (de)
EP (1) EP0556254B1 (de)
JP (1) JP3290984B2 (de)
CA (1) CA2095720C (de)
DE (1) DE69119604T2 (de)
GB (1) GB9024332D0 (de)
WO (1) WO1992009044A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69428495T2 (de) * 1993-11-26 2002-04-11 Koninkl Philips Electronics Nv Multimoden-Laser für ein optisches Informationsverarbeitungssystem, insbesondere für ein neuronales Netz
US5903884A (en) * 1995-08-08 1999-05-11 Apple Computer, Inc. Method for training a statistical classifier with reduced tendency for overfitting
KR100267839B1 (ko) 1995-11-06 2000-10-16 오가와 에이지 질화물 반도체 장치
US5872975A (en) * 1996-06-05 1999-02-16 Lockheed Martin Corporation Automatic retargeting of processor modules in multiple processor systems
US6501857B1 (en) * 1999-07-20 2002-12-31 Craig Gotsman Method and system for detecting and classifying objects in an image
US20050149462A1 (en) * 1999-10-14 2005-07-07 The Salk Institute For Biological Studies System and method of separating signals
US6424960B1 (en) * 1999-10-14 2002-07-23 The Salk Institute For Biological Studies Unsupervised adaptation and classification of multiple classes and sources in blind signal separation
US7130776B2 (en) * 2002-03-25 2006-10-31 Lockheed Martin Corporation Method and computer program product for producing a pattern recognition training set
US7082420B2 (en) * 2002-07-13 2006-07-25 James Ting-Ho Lo Convexification method of training neural networks and estimating regression models
US11222263B2 (en) * 2016-07-28 2022-01-11 Samsung Electronics Co., Ltd. Neural network method and apparatus
US11244226B2 (en) 2017-06-12 2022-02-08 Nvidia Corporation Systems and methods for training neural networks with sparse data
US10565686B2 (en) 2017-06-12 2020-02-18 Nvidia Corporation Systems and methods for training neural networks for regression without ground truth training samples
JP6838259B2 (ja) * 2017-11-08 2021-03-03 Kddi株式会社 学習用データの生成装置、判定装置及びプログラム
CN110956259B (zh) * 2019-11-22 2023-05-12 联合微电子中心有限责任公司 一种基于正向传播的光子神经网络训练方法
CN111722923A (zh) * 2020-05-29 2020-09-29 浪潮电子信息产业股份有限公司 一种异构资源的调用方法、装置和计算机可读存储介质
CN112447188B (zh) * 2020-11-18 2023-10-20 中国人民解放军陆军工程大学 一种基于改进softmax函数的声学场景分类方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918618A (en) * 1988-04-11 1990-04-17 Analog Intelligence Corporation Discrete weight neural network
US5099434A (en) * 1988-07-18 1992-03-24 Northrop Corporation Continuous-time optical neural network
US5004309A (en) * 1988-08-18 1991-04-02 Teledyne Brown Engineering Neural processor with holographic optical paths and nonlinear operating means
US4914603A (en) * 1988-12-14 1990-04-03 Gte Laboratories Incorporated Training neural networks
US5068801A (en) * 1989-11-06 1991-11-26 Teledyne Industries, Inc. Optical interconnector and highly interconnected, learning neural network incorporating optical interconnector therein

Also Published As

Publication number Publication date
JPH06504636A (ja) 1994-05-26
WO1992009044A1 (en) 1992-05-29
GB9024332D0 (en) 1990-12-19
EP0556254B1 (de) 1996-05-15
EP0556254A1 (de) 1993-08-25
CA2095720C (en) 1999-02-16
DE69119604D1 (de) 1996-06-20
CA2095720A1 (en) 1992-05-09
JP3290984B2 (ja) 2002-06-10
US5390285A (en) 1995-02-14

Similar Documents

Publication Publication Date Title
DE69119604T2 (de) Trainingsverfahren eines neuronalen netzwerks
US5293456A (en) Object recognition system employing a sparse comparison neural network
Drucker et al. Boosting decision trees
Osindero et al. Modeling image patches with a directed hierarchy of Markov random fields
DE69031866T2 (de) Verfahren und Anordnung zur Signalverarbeitung durch die Eigenvektortransformation
DE4217832C2 (de) Mustererkennungsgerät
DE102021200012A1 (de) Optimierte quantisierung für neuronale netze mit verringerter auflösung
DE68925625T2 (de) Verfahren zur Rückführung von Fehlern und neuronale Netzstruktur
Ororbia et al. The predictive forward-forward algorithm
Farhat Photonic neural networks and learning machines
DE112021006459T5 (de) Dynamische konfiguration einer auslese-schaltungsanordnung für verschiedene operationen in einem analogen resistiven kreuzschienen-array
Ororbia Learning spiking neural systems with the event-driven forward-forward process
Kalbande et al. Performance comparison of deep spiking CNN with artificial deep CNN for image classification tasks
DE3750645T2 (de) Räumliche, optische logische Anordnung.
DE69128174T2 (de) Gewichtetes Summierungsleistungssystem
DE112021002742T5 (de) Training oszillatorischer neuronaler netze
Bodyanskiy et al. The autoencoder based on generalized neo-fuzzy neuron and its fast learning for deep neural networks
Yadav et al. Learning overcomplete representations using leaky linear decoders
EP0681291A2 (de) Verfahren zum Entzerren von verzerrten Datensignalen
DE69024069T2 (de) Verarbeitungssystem für ein neuronales Netzwerk
Kenue Modified backpropagation neural network with applications to image compression
Rajapakse et al. Medical image segmentation with MARA
DE4018779A1 (de) Neurale netzwerke und lernfaehiges schlussfolgerungssystem
Evans et al. Accelerating backpropagation in human face recognition
Bermeitinger Investigating a Second-Order Optimization Strategy for Neural Networks

Legal Events

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