DE4417932B4 - Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten - Google Patents

Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten Download PDF

Info

Publication number
DE4417932B4
DE4417932B4 DE4417932A DE4417932A DE4417932B4 DE 4417932 B4 DE4417932 B4 DE 4417932B4 DE 4417932 A DE4417932 A DE 4417932A DE 4417932 A DE4417932 A DE 4417932A DE 4417932 B4 DE4417932 B4 DE 4417932B4
Authority
DE
Germany
Prior art keywords
data
pattern
learning
processors
input data
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
DE4417932A
Other languages
English (en)
Other versions
DE4417932A1 (de
Inventor
Katsuhito Kawasaki Fujimoto
Hideki Kawasaki Yoshizawa
Tatsushi Kawasaki Otsuka
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE4417932A1 publication Critical patent/DE4417932A1/de
Application granted granted Critical
Publication of DE4417932B4 publication Critical patent/DE4417932B4/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter, die eine Beziehung zwischen einer Eingabe und einer Ausgabe einer Datenverarbeitungsvorrichtung bestimmen, durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten, welches Verfahren die Schritte enthält:
(a) Aufteilen der Mehrzahl von Muster-Eingabedaten und Muster-Ausgabedaten, und Liefern der so geteilten Muster-Eingabedaten und Muster-Ausgabedaten an eine Mehrzahl von Prozessoren (1), jeweils, von denen jeder denselben Aufbau wie die Datenverarbeitungsvorrichtung hat,
(b) paralleles Lernen durch die Mehrzahl von Prozessoren (1) der geteilten Muster-Eingabedaten und Muster-Ausgabedaten, die jeweils an die Prozessoren (1) geliefert wurden, und dadurch Erhalten entsprechender Einstellbeträge für die Ausführungsparameter bezüglich der geteilten Muster-Eingabedaten und Muster-Ausgabedaten durch die Mehrzahl von Prozessoren (1), und
(c) Erhalten einer Summe der jeweiligen Einstellbeträge für die Ausführungsparameter in Bezug auf die geteilten Muster-Eingabedaten und Muster-Ausgabedaten als die Ziel-Einstellbeträge für Ausführungsparameter in Bezug auf alle Muster-Eingabedaten und Muster-Ausgabedaten.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten.
  • Bei einigen Arten von Datenverarbeitungsvorrichtungen, wie neuronalen Netzwerken oder Neuronennetzen und adaptiven Filtern, kann die Charakteristik jeder Vorrichtung bestimmt oder modifiziert werden durch Einsetzen eines Satzes von Ausführungsparametern darin, die eine Beziehung zwischen einer Eingabe und einer Ausgabe der Datenverarbeitungsvorrichtung bestimmen, und der optimale Satz von Ausführungsparametern kann bestimmt werden durch Lernen einer großen Anzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten. Da die Anzahl der Sätze von Muster-Eingabedaten und Muster-Ausgabedaten oft sehr groß ist, erfordert es eine lange Zeit, das Lernen auszuführen. Daher gibt es eine Nachfrage nach einer Technik, um die Zeit zu verringern, die zum Ausführen des Lernens einer großen Anzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten erforderlich ist, um den optimalen Satz von Ausführungsparametern zu bestimmen, der eine Beziehung zwischen einer Eingabe und einer Ausgabe der Datenverarbeitungsvorrichtung bestimmt.
  • BESCHREIBUNG DER VERWANDTEN TECHNIK
  • Ein Versuch zur Verringerung der Zeit, die zum Lernen erforderlich ist, ist in der japanischen ungeprüften Patent veröffentlichung (Kokai) Nr: JP 3-105584 (ebenso in der europäischen Patentveröffentlichung Nr. EP 0 421 639 A2 ) offenbart. Bei der in dieser Patentveröffentlichung offenbarten Technik wird die Lernoperation jedes Satzes von Muster-Eingabedaten und Muster-Ausgabedaten unter einer Mehrzahl von Prozessoren aufgeteilt. Das heißt, daß Gewichtungsdaten in jeder Reihe einer Gewichtungsmatrix vorher an einen entsprechenden Prozessor geliefert werden, und ein entsprechender Teil einer Matrixberechnung unter Verwendung jeder Reihe der Gewichtungsmatrix wird in dem jeweiligen Prozessor ausgeführt. Ferner wird bei der in dieser Patentveröffentlichung offenbarten Technik eine Verbesserung zur Verringerung der Zeit zur Übertragung von Daten durch die Mehrzahl von Prozessoren geschaffen. Da diese Verbesserung bei der Ausführung der vorliegenden Erfindung verwendet wird, wird sie später in dieser Beschreibung beschrieben.
  • Jedoch wird bei dieser Technik die für die Lernoperation erforderliche Zeit jeweils durch Aufteilen eines Satzes von Ausführungsparametern (die Elemente in der Gewichtungsmatrix) in eine Mehrzahl von Teilen und durch paralleles Ausführen in der Mehrzahl von jeweiligen Prozessoren verringert. Daher hat der Betrag der Zeitverringerung eine Grenze auf Grund der maximalen Anzahl der aufteilbaren Teile der Ausführungsparameter, und die erforderliche Zeit für die Lernoperation nimmt proportionial mit der Anzahl von Sätzen von Musterdaten zu.
  • Aus der US-PS 5,091864 , Abstract sind systolische Prozessorelemente SPE-1(i=1 bis M) bekannt, die jeweils aus einer zwei-Stufen Eingangsverzögerungsverriegelung bestehen.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zum Erhalten eines Satzes von Einstellbeträgen für Ausführungsparameter zu erhalten, die eine Beziehung zwischen einer Eingabe und einer Ausgabe einer Datenverarbeitungsvorrichtung bestimmen, durch Lernen einer großen Anzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten, wodurch die Zeit, die zum Ausführen der Lernoperation erforderlich ist, verringert werden kann.
  • Die Lösung dieser Aufgabe verfahrens- und vorrichtungsmäßig ist durch die Angaben in den unabhängigen Ansprüchen 1 bzw. 4 bestimmt. Vorteilhafte und bevorzugte Weiterbildungen der Erfindung sind durch die jeweiligen abhängigen Ansprüche im einzelnen oder deren Kombinationen angegeben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das ein Beispiel eines Paralleldatenverarbeitungssystems gemäß der vorliegenden Erfindung zeigt.
  • 2 ist eine Zeichnung, die ein Neuronenmodell zeigt, das eine Form eines Datenverarbeitungsmittels ist, das in einem Paralleldatenverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 3 ist eine Zeichnung, die die Beziehung zwischen der Eingabe und Ausgabe in dem in 2 gezeigten Neuronenmodell beschreibt.
  • 4 ist ein Flußdiagramm, das das Berechnungsverarbeitungsverfahren eines Paralleldatenverarbeitungssystems gemäß dem Stand der Technik zeigt.
  • 5 ist ein Blockdiagramm, das die Konfiguration des 1. konkreten Beispiels eines Paralleldatenverarbeitungssystems gemäß der vorliegenden Erfindung zeigt.
  • 6 ist ein Flußdiagramm, das das Berechnungsverarbeitungsverfahren in einem Paralleldatenverarbeitungssystem gemäß der vorliegenden Erfindung zeigt.
  • 7 ist ein Blockdiagramm, das die Konfiguration eines 2. konkreten Beispiels eines Paralleldatenverarbeitungssystems gemäß der vorliegenden Erfindung zeigt.
  • 8 ist ein Flußdiagramm, das das Berechnungsverarbeitungsverfahren eines Parallelverarbeitungssystems gemäß der vorliegenden Erfindung zeigt, das in 7 dargestellt ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
  • Das Folgende ist eine eingehende Beschreibung einer konkreten Ausführungsform eines Paralleldatenverarbeitungssystems gemäß der vorliegenden Erfindung unter Bezugnahme auf Zeichnungen.
  • Anschließend wird die grundsätzliche Verarbeitungsmethode gemäß der vorliegenden Erfindung, insbesondere, wenn ein neuronales Netzwerk verwendet wird, und insbesondere, wenn eine Anzahl von Berechnungen an Matrizen gemäß einem gegebenen Algorithmus ausgeführt wird, beschrieben.
  • Allgemein kann, wenn eine Systemausführung von Operationen, wie Erkennung, Prädiktion und Bewegungssteuerung realisiert wird, eine Schwierigkeit im klaren Beschreiben der Systemoperation bestehen, oder die Operationsumgebung kann sich ändern. Daher müssen die Ausführungsparameter, die die Operation des Systems festlegen, entweder vor oder während der Operation eingestellt werden.
  • Ein System, bei dem die Ausführungsparameter entweder vor oder während der Operation eingestellt werden, ist als ein adaptives System bekannt.
  • Das Verfahren des Lernens der Ausführungsparameter basierend auf den Musterdaten der Eingabe-Ausgabe-Beziehung für ein gewünschtes System ist nützlich als ein Mittel zum Einstellen von Ausführungsparametern. Daher wird ein derartiges Verfahren verbreitet verwendet, und eine Vielzahl von Lernverfahren wurde vorgeschlagen.
  • Zusätzlich ist es, um ein adaptives System zu erhalten, das flexibler ist und besser auf die reale Welt reagiert, erforderlich, in der Lage zu sein, mehr Daten handzuhaben, und dies führt zu einer Erhöhung der Menge von Datenberechnungen, die zum Zwecke des Lernens ausgeführt werden.
  • Da ein schnell antwortendes System, das auf die reale Welt in Echtzeit antwortet, wünschenswert ist, ist es notwendig, die Zeit zu verkürzen, die erforderlich ist, um die erhöhte Menge von Berechnungen zum Lernen auszuführen.
  • Aus diesem Grund ist das Verkürzen der Lernzeit in einem adaptiven System außerordentlich wichtig. Eine Technik, die eine wichtige Rolle beim Verkürzen des Lernens spielt, ist die des Erhöhens der Lerngeschwindigkeit durch Verwendung parallelen Lernens.
  • 1 ist ein Blockdiagramm, das die allgemeine Konfiguration eines Paralleldatenverarbeitungssystems 10, das das obige System verwirklicht, gemäß der vorliegenden Erfindung zeigt, das, wie in der Zeichnung gezeigt, eine Vielzahl von Mitteln 1 zur Datenverarbeitung und ein Datenübertragungsmittel 3 umfaßt, das eine Vielzahl von Mitteln zum Datenhalten enthält. Bei dem Paralleldatenverarbeitungssystem sind die Mittel 1 zur Datenverarbeitung jeweils mit einem Mittel 2 zum Datenhalten verbunden, das innerhalb des Mittels 3 zur Datenübertragung enthalten ist, und jedes der Mittel 1 zur Datenverarbeitung ist mit einem Ausführungsparameterhaltemittel 12 zum Halten der Ausführungsparameter, die zur Datenverarbeitung erforderlich sind, und einem Haltemittel 11 von partiellen Musterdaten zum Halten wenigstens eines Teils der Gesamt-Musterdaten, die für die Datenverarbeitung erforderlich sind, versehen. Zusätzlich ist in jedem Datenverarbeitungsmittel 1 ein Einstellbetragsberechnungsmittel 14 vorgesehen, das eine Berechnung des Einstellbetrags für die Ausführungsparameter durch Verwendung der partiellen Abtast- oder Musterdaten, die durch das Haltemittel 11 von partiellen Musterdaten gehalten werden, das in dem Datenverarbeitungsmittel 1 vorgesehen ist, und der Ausführungsparameter ausführt, die durch das Ausführungsparameterhaltemittel 12 gehalten werden, das in dem Datenverarbeitungsmittel vorgesehen ist. Ferner ist jedes Datenverarbeitungsmittel 1 mit einem Addiermittel 15 versehen, das eine Addition mit den Berechnungsresultaten von anderen Datenverarbeitungsmitteln über das Datenhaltemittel 2 ausführt, das innerhalb des Datenübertragungsmittels 3 vorgesehen ist.
  • Das Paralleldatenverarbeitungssystem, das das obige System realisiert, gemäß der vorliegenden Erfindung ist ein Parallellernsystem, das eine Vielzahl von partiellen Lernmitteln synchron verwendet. Das gelernte Ergebnis wird in einem Datenverarbeitungssystem verwendet, dessen Hauptaufgaben die Ausführung einer Erkennung, Voraussage oder Prädiktion und Bewegungssteuerung sind. Die Grundkonfiguration des Paralleldatenverarbeitungssystems enthält: eine Mehrzahl von partiellen Lernmitteln, die Ausführungsparameter und partielle Musterdaten halten, eine Mehrzahl von Übertragungsdatenhaltemitteln, die mit den partiellen Lernmitteln durch Eingabe-/Ausgabebusse verbunden sind, und ein Datenübertragungsmittel, das eine Übertragung von Daten ausführt, die in dem Übertragungsdatenhaltemittel gehalten werden. Dadurch können zuerst Berechnungen der Einstellbeträge der Ausführungsparameter durch Verwendung der partiellen Musterdaten ohne Kommunikation ausgeführt werden, und dann wird der Gesamtbetrag der Einstellbeträge der Ausführungsparameter entsprechend allen Musterdaten unter Verwendung der Datenübertragungsmittel erhalten. Somit wird das Lernen der Ausführungsparameter zur Verwendung bei einer Ausführung von Operationen, wie Erkennung, Voraussage und Bewegungssteuerung, mit hoher Geschwindigkeit ausgeführt.
  • In diesem Fall entspricht in der Grundkonfiguration der vorliegenden Erfindung das Lernmittel dem Datenverarbei tungsmittel, wie in der 1 dargestellt ist.
  • Als nächstes wird unter Bezugnahme auf 2 und 3 ein Fehlerrückausbreitungs-Lernalgorithmus für ein dreischichtiges hierarchisches neuronales Netzwerk kurz beschrieben.
  • In 2 sind die Zustände der Eingangsschicht mit I, die Zustände der verdeckten Schicht mit H und die Zustände der Ausgangsschicht mit O bezeichnet. Falls die Anzahl von Neuronen der Eingangsschicht Ni ist, die Anzahl von Neuronen der verdeckten Schicht Nh ist und die Anzahl von Neuronen der Ausgangsschicht No ist, haben wir folgende Beziehung.
  • Figure 00090001
  • Dabei bezeichnet T Transponierung.
  • Als eine weitere Erläuterung der obigen Beziehungen ist 2 eine Konzeptzeichnung eines hierarchischen neuronalen Netzwerks, das einen Neurocomputer mit einer 3-Schicht-Struktur bildet, die aus einer Eingangsschicht I, einer verdeckten Schicht N und einer Ausgangsschicht O besteht. Die 1. Eingangsschicht I gibt die Eingangssignale I1, I2, ....., IN(1) ein. Die 2. verdeckte Schicht H hat eine Mehrzahl von Einheiten, von denen jede ein Neuron bildet und mit allen Neuronen der 1. Schicht verbunden ist, wobei die Verbindungen zwischen ihnen die Synapsenverbindungen mit gegebenen Gewichtungen Wij sind. Die 3. Ausgangsschicht O hat auf dieselbe Weise Neuronen, die mit jeder Einheit der verdeckten Schicht H verbunden sind. Die Ausgaben der Ausgangsschicht O werden extern ausgegeben. Beim Ausführen des Lernens in diesem Neuronennetzwerk erfolgt eine Bestimmung der Fehler zwischen den Lehrdaten, die den Eingangsmustern entsprechen, die auf die Eingangsschicht I angewendet werden, und den Ausgangssignalen, die durch die Ausgangsschicht O ausgegeben werden, und dann werden Gewichtungen zwischen der verdeckten Schicht H und der Ausgangsschicht und Gewichtungen [das Bewerten] zwischen den 1. und 2. Schichten durchgeführt, so daß dieser Fehler extrem klein ist. Dieser Algorithmus ist als das Rückpropagierungsverfahren, das heißt, als das Rückpropagierungslernverfahren, bekannt. In dem Fall, daß die Gewichtungswerte, die durch das Rückpropagierungslernverfahren bestimmt werden, gespeichert werden, und sie zum Beispiel bei einer assoziativen Verarbeitung, wie einer Mustererkennung, zu verwenden sind, sind, falls ein unvollständiges Muster, das von dem Muster leicht abweicht, das während des Lernens eingegeben wurde, auf die 1. Eingangsschicht angewendet wird, die Ausgangssignale, die dem unvollständigen Muster entsprechen, das von der Ausgangsschicht ausgegeben wird, sehr ähnlich den Lehrsignalen, die jenem Muster während des Lernens entsprechen. Falls die Abweichung von den Lehrdaten sehr klein ist, wird das unvollständige Muster erkannt.
  • Es ist möglich, eine technische Implementierung der Operation dieses neuronalen Netzwerks, bei dem das in 1 gezeigte System verwendet wird, zu erreichen. Außerdem ist für das obige Beispiel die Gewichtung, die auf jede der Synapsen angewendet wird, im voraus bestimmt, wie in 3 gezeigt. Das heißt, 3 zeigt ein Beispiel eines Neuronenmodells, das das Basiselement von Berechnungen bildet, die durch einen Neurocomputer ausgeführt werden. In dem Neuronenmodell werden die Eingaben X1, X2, ....., Xn der Synapsenverbindungen mit den Gewichtungen W1, W2 ....., Wn multipliziert, und eine Gesamtsumme von diesen Produkten wird dann als interner Wert U bestimmt. Dieser Wert U wird dann durch eine nichtlineare Funktion f weiterverarbeitet, und die Ausgabe wird als als Y erhalten. Als die nichtlineare Funktion wird im allgemeinen eine S-förmige Sigmoidfunktion, wie in der 3 gezeigt, verwendet.
  • In der oben angegebenen Konfiguration ist die Gewichtung der Synapse, die das p-te Neuron der Eingangsschicht I mit dem q-ten Neuron der verdeckten Schicht H verbindet, Wpq (ih), und die Gewichtung der Synapse, die das q-te Neuron der verdeckten Schicht H mit dem r-ten Neuron der Ausgangsschicht O verbindet, ist Wqr (ho).
  • Falls die Gewichtungsmatritzen als W(ih) und W(ho) angegeben sind, können wir die folgenden Beziehungen schreiben.
  • Figure 00110001
  • Wenn Eingangsdaten der Eingangsschicht I eingegeben werden, wird ferner der Zustand O der Ausgangsschicht O wie folgt berechnet. H = f (WT I) O = f (WT H)
  • Dabei bezeichnet f die Anwendung der obengenannten Sigmoidfunktion f auf jedes Element des Vektors.
  • Die Sigmoidfunktion f ist eine Funktion zum Beispiel, wie die folgende.
  • Figure 00120001
  • In dieser Funktion ist G die Verstärkung der Sigmoidfunktion. Außerdem ist im allgemeinen jede der Mustertdaten S(k) als Satz von Datengegeben, der aus den Eingangsdaten I(k) und den Lehrdaten T(k) besteht.
  • Figure 00120002
  • Im Obigen bezeichnet Np die Anzahl von Musterdaten, Ni die Dimension der Eingangsdaten und No die Dimension der Ausgangsdaten oder Lehrdaten.
  • Der Zweck des Lernens bei dem Datenverarbeitungsverfahren der vorliegenden Erfindung ist es, die Gewichtungen W(ih) und W(ho) so zu bestimmen, daß bezüglich aller gegebenen Musterdaten der Fehler zwischen den Ausgangsdaten, die aus den Eingangsdaten berechnet wurden, und den Lehrdaten innerhalb des zulässigen Bereichs liegt.
  • Ein Beispiel eines Verfahrens zum Bestimmen der Gewichtungen wäre, wie zuvor erwähnt, die Verwendung eines Algorithmus, der in der japanischen ungeprüften Patentveröffentlichung (Kokai) Nr. JP 3-105584 (ebenso in der europäischen Patentveröffentlichung Nr. EP 0 421 639 A2 ) offenbart wurde, um die Ausgabedaten O aus den Eingabedaten und den Gewichtungen W(ih) und W(ho) durch Berechnung unter Verwendung der Produktsumme und der Sigmoidfunktion zu bestimmen, welche Verarbeitung wir als Vorwärtsverarbeitung bezeichnen.
  • Um den Fehler zwischen den Ausgangsdaten und den Lehrdaten hinsichtlich der Gewichtungen zu minimieren, die durch das oben beschriebene Verfahren bestimmt wurden, werden die Einstellbeträge ΔW(ih) (k) und ΔW(ho) (k) bestimmt, und diese Berechnung kann durch das Verfahren ausgeführt werden, das im allgemeinen als schnellstes Abfallverfahren bekannt ist. Die Verarbeitung zum Bestimmen der Gewichtungseinstellbeträge ΔW unterscheidet sich von der obengenannten Verarbeitung und wird Rückpropagierung genannt.
  • Im wesentlichen ist das Lernen in einem Neurocomputer das Verfahren zum Korrigieren der Gewichtung jedes der Neuronen, bis die gewünschte Beziehung zwischen Eingabe und Ausgabe des Netzwerkes erreicht ist. Das Lernverfahren besteht aus dem Vorbereiten einer Anzahl von Paaren von Eingangssignalvektoren und Lehrdatenvektoren, das heißt, von so vielen, wie Daten in dem Lehrsatz sind, und dem Auswählen von einem dieser Paare, wobei das Eingangssignal Ip dem Lernnetzwerk eingegeben wird und ein Vergleich der Netzwerkausgabe als Reaktion auf die Eingabe mit einem korrekten Ausgangssignal vorgenommen wird, das heißt, mit den Lehrdaten Op, die jenem Eingangssignal entsprechen. Diese Differenz ist als Fehler e bekannt, und dieser Fehler e und die Eingangs- und Ausgangssignale zu jener Zeit werden als Basis zum Korrigieren der Gewichtungen für jedes der Neuronen verwendet. Dieses Verfahren wird wiederholt, bis das Lernen bei allen Elementen in dem Lehrdatensatz konvergiert. Das heißt, die Gewichtungswerte werden in verteilter Form gespeichert. Bei diesem Bewertungs- oder Gewichtungskorrekturverfahren, das als Rückpropagierung bekannt ist, werden die Fehler, die auf der Ausgangsschicht erhalten werden, mit fortschreitender Propagierung in umgekehrter Richtung von dem Eingang an deformiert, wovon das Verfahren seinen Namen Rückpropagierungsalgorithmus hat.
  • Eine konkrete Ausführungsform des Rückpropagierungsalgorithmus ist in der obengenannten japanischen ungeprüften Patentveröffentlichung (Kokai) Nr. 3-105584 (ebenso in der europäischen Patentveröffentlichung Nr. 0 421 639 A2) beschrieben.
  • Unter Verwendung jedes der obengenannten Verfahren werden die Bewertungs- oder Gewichtungseinstellbeträge ΔW(ih) (k) bezüglich der Mustertdaten S(k) = (I(k), T(k)) wie folgt berechnet.
  • Figure 00140001
  • Im Obigen bezeichnet er (o) (k) den Fehler des r-ten Neurons der Ausgabeschicht bezüglich des k-ten Musterwertes, und eq (h) (k) bezeichnet den Fehler des q-ten Neurons der verdeckten Schicht bezüglich des k-ten Musterwertes. ∈(ih) und ∈(ho) verkörpern eine Bewertungs- oder Gewichtungslernkonstante zwischen der Eingangsschicht und der verdeckten Schicht bzw. eine Bewertungs- oder Gewichtungslernkonstante zwischen der verdeckten Schicht und der Ausgangsschicht.
  • Das Lernen ist vollendet, wenn der Fehler der Ausgangsschicht bei allen Musterdaten innerhalb zulässiger Grenzen konvergiert. Das heißt, das Lernen ist vollendet, wenn die folgende Bedingung erfüllt ist. |Or (k) – tr (k)| < Zulässigkeit
  • In dieser Beziehung ist Zulässigkeit eine Konstante, die den zulässigen Bereich verkörpert.
  • Or(k) ist der Ausgabewert des r-ten Neurons der Ausgangsschicht bezüglich des k-ten Musterwertes, und tr (k) ist der erwartete Wert der Ausgabe von dem r-ten Neuron der Ausgangsschicht bezüglich des k-ten Musterwertes.
  • Falls der Fehler der Ausgangsschicht der Musterdaten nicht innerhalb der zulässigen Grenze liegt, wird die Gewichtung eingestellt, und das Lernen wird wieder begonnen.
  • Die Hewertungs- oder Gewichtungseinstellung wird durch die folgenden Gleichungen ausgedrückt.
  • Figure 00150001
  • Bei herkömmlichen Paralleldatenverarbeitungssystemen, wie der Konstruktion, die in der japanischen ungeprüften Patentanmeldung (Kokai) Nr. JP 3-10 55 84 (ebenso in der europäischen Patentveröffentlichung Nr. EP 0 421 639 A2 ) offenbart ist, war der Algorithmus etwa so wie der in 4 gezeigte, bei dem bei Schritt 41 eine Vorwärtsverarbeitung unter kontinuierlicher Verwendung des Datenübertragungsmittels 2 ausgeführt wird, um Ausgabedaten aus Eingabedaten zu berechnen, und bei dem bei Schritt 42 der Fehler zwischen den Ausgabedaten und den Lehrdaten auf der Grundlage der resultierenden Ausgabedaten berechnet wird. Als nächstes wird bei Schritt 43 die Rückpropagierung ausgeführt, wobei die Ausführungsparametereinstellbeträge ΔW auf der Grundlage der vorher erhaltenen Fehler akkumuliert werden, wobei das Datenüberrtagungsmittel verwendet wird. Danach geht die Verarbeitung zu Schritt 44 über, bei dem, nachdem jedes des oben Beschriebenen für alle Abtast- oder Musterdaten wiederholt wird, die Verarbeitung zu Schritt 45 übergeht, bei dem die Einstellbeträge, die bei den oben beschriebenen Schritten erhalten wurden, zu den Ausführungsparametern addiert werden.
  • Dann wird dieser Schritt wiederholt, bis der Fehler für alle Abtast- oder Musterdaten bei Schritt 46 innerhalb der zulässigen Grenze liegt.
  • Als nächstes wird ein konkretes Beispiel des Systems zum Erhalten eines Satzes von Einstellbeträgen für Ausführungsparameter unter Verwendung eines parallelen Datenverarbeitungssystems gemäß der vorliegenden Erfindung unter Bezugnahme auf 5 erklärt, basierend auf der grundsätzlichen technischen Basis für den Fall des Ausführens einer Paralleldatenverarbeitung von einer Anzahl von Daten, wie oben beschrieben, in einem neuronalen Netzwerk.
  • 6 ist ein Flußdiagramm des Verfahrens, das die Verarbeitung ausführt, die die Aufgabe der vorliegenden Erfindung ist, bei dem das Paralleldatenverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird, das in 5 gezeigt ist. In 5 ist 16 ein Mittel zum Einstellen der zulässigen Grenze für den Fehler, und 17 verkörpert die Lernkonstanten.
  • Nach dem Starten wird zuerst bei Schritt 50 eine Initialisierung ausgeführt. Bei diesem Schritt werden die Bewertungs- oder Gewichtungseinstellbetragsvariablen und die maximale Fehlerwertvariablen initialisiert.
  • Figure 00170001
  • Ferner kann in den obigen Gleichungen und in unten vorgesehenen Gleichungen bei ∀ und ∑ angenommen werden, daß sie unter Verwendung einer Schleifenvariable implementiert werden.
  • Als nächstes wird bei Schritt 51 S=1 gesetzt, um den ersten Musterwert (S) auszuwählen, wonach die Verarbeitung zu Schritt 52 übergeht, bei dem eine Vorwärtsverarbeitung begonnen wird. Das heißt, von dem s-ten Mustertdateneingangswert und dessen Gewichtungen an werden die unten angegeben Gleichungen verwendet, um den Neuronenausgangswert ∀j, hj, ∀k, ok und den Ausgabefehler ∀k, ek out der verdeckten Schicht H und der Ausgangsschicht O zu berechnen.
  • Figure 00170002
  • Jedes der Symbole, das in diesem konkreten Beispiel verwendet wird, wird unten noch einmal erklärt.
  • (1) Gewichtung in der Verbindung zwischen Neuronen (Ausführungsparameter):
  • Die Ausführungsparameter werden wie folgt ausgedrückt.
    Wij IH, wobei i=1 bis Ni und j=1 bis Nh
    Wjk HO, wobei j=1 bis Nh und k=1 bis No
  • Oben ist
    i der Neuronenindex (1 bis Ni) der Eingangsschicht,
    j der Neuronenindex (1 bis Nh) der verdeckten Schicht,
    k der Neuronenindex (1 bis No) der Ausgangsschicht,
    Wij IH die Größe der Gewichtung in der Verbindung von der Eingangsschicht i zu der verdeckten Schicht j, und
    Wjk HO die Gewichtung der Verbindung von dem Neuron j der verdeckten Schicht zu dem Neuron k der Ausgangsschicht.
  • Vor der Ausführung des Programms werden die Bewertungen oder Gewichtungen initialisiert. Diese Bewertungs- oder Gewichtungswerte werden durch Lernen aktualisiert.
  • (2) Partielle Mustertdaten (Eingabe):
  • In Bezug auf jeden der Prozessoren werden die folgenden Daten gesetzt, wobei p konstant gehalten wird.
    xi (s) (p), wobei i=1 bis Ni und s=1 bis Ns
    tk (s) (p), wobei k=1 bis No und s=1 bis Ns
  • Oben ist
    i der Neuronenindex (1 bis Ni) der Eingangsschicht,
    k der Neuronenindex (1 bis No) der Ausgangsschicht,
    s der Index (1 bis Ns) bezüglich eines Abtastdatums der partiellen Musterdaten,
    p der Index (bis Np) bezüglich des Prozessors (partielles Lernmittel), und
    xi (s) (p) der Wert, der für den s-ten Musterwert eingegeben wird, der dem Neuron i der Eingangsschicht von den partiellen Musterdaten eingegeben wird, die in den p-ten Prozessor gesetzt wurden.
  • tk (s) (p) sind die Lehrdaten, welches der Wert ist, der erwartet wird, um von Neuron k der Ausgangsschicht für das s-te Abtastdatum von den partiellen Musterdaten, die in den p-ten Prozessor gesetzt wurden, ausgegeben zu werden.
  • Bevor das Programm ausgeführt wird, werden die partiellen Musterdaten gesetzt.
  • Die partiellen Musterdaten, die für jedes Verfahren gesetzt werden, sind verschieden.
  • Ns Musterdaten werden in jedem Prozessor gesetzt.
  • Da insgesamt Np Prozessoren existieren, sind insgesamt NpNs Musterdaten vorhanden.
  • (3) Lernkonstanten (Eingabe)
    • IH, ∈HO
  • Oben ist ∈IH die Lernkonstante für die Gewichtungen der Verbindung zwischen der Eingangsschicht und der verdeckten Schicht, wobei diese bei der Aktualisierung der Bewertung oder Gewichtung bei der Rückpropagierung verwendet werden.
  • HO ist die Lernkonstante für die Gewichtungen der Verbindung zwischen der verdeckten Schicht und der Ausgangsschicht, wobei diese bei der Aktualisierung der Gewichtungen bei der Rückpropagierung verwendet werden.
  • (4) Neuronenausgabewerte der verdeckten Schicht H (Zwischenvariable)
    • hj, wobei j=1 bis Nh
  • Oben ist
    j der Index (1 bis Nh) eines Neurons in der verdeckten Schicht, und
    hj verkörpert die maximale Ausgabe des Neurons j der verdeckten Schicht.
  • (5) Neuronenausgabewerte der Ausgangsschicht O (Zwischenvariable)
    • ok, wobei k=1 bis No
  • Oben ist
    k der Index (1 bis No) eines Neurons in der Ausgangsschicht, und
    ok die maximale Ausgabe des Neurons k der Ausgangsschicht.
  • (6) Bewertungs- oder Gewichtungseinstellbeträge (Zwischenwert)
    • ΔWij IH, wobei i=1 bis Ni und j=1 bis Nh
    • ΔWjk HO, wobei j=1 bis Nh und k=1 bis No
  • Oben ist
    i der Index (1 bis Ni) eines Neurons in der Eingangsschicht I,
    j der Index (1 bis Nh) eines Neurons in der verdeckten Schicht H,
    k der Index (1 bis No) eines Neurons in der Ausgangsschicht O,
    ΔWij IH verkörpert den Gewichtungs- oder Bewertungseinstellbetrag für die Verbindung von dem Neuron i der Eingangsschicht I zu dem Neuron j der verdeckten Schicht H, und
    ΔWjk HO verkörpert den Bewertungs- oder Gewichtungsein stellbetrag für die Verbindung von dem Neuron j der verdeckten Schicht H zu dem Neuron k der Ausgangsschicht O.
  • Durch Lernen werden die Gewichtungs- oder Bewertungseinstellbeträge für alle Mustertdaten akkumuliert. Die Gewichtung wird aktualisiert, indem der Gesamtbetrag der Einstellbeträge zu der Gewichtung addiert wird.
  • (7) Ausgabefehler (Zwischenvariable)
    • ek out
  • Oben ist ek out der Neuronenausgabefehler in der Ausgangsschicht O, das heißt, dieser verkörpert die Differenz zwischen der tatsächlichen Ausgabe und den Lehrdaten, die die erwartete Ausgabe sind, und dieser wird beim Berechnen der Beträge der Gewichtungs- oder Bewertungseinstellung verwendet.
  • (8) Maximaler Fehlerwert (Zwischenvariable)
    • emax
  • Diese Variable wird verwendet, um den maximalen Fehlerwert zwischen dem Ausgabewert von einem Neuron der Ausgangsschicht und dem erwarteten Wert (Lehrdaten) zu speichern.
  • Dieser wird beim Bestimmen dessen verwendet, ob das Lernen zu beenden ist oder nicht.
  • (9) Zwischenfehler eines Neurons in der Ausgangsschicht O (Zwischenvariable)
    • ek o
  • Oben ist k der Index eines Neurons in der Ausgangsschicht O.
  • Dieses ek o verkörpert den Zwischenfehler eines Neurons in der Ausgangsschicht O bei Rückpropagierung und wird bei der Berechnung von Bewertungs- oder Gewichtungseinstellbeträgen verwendet.
  • (10) Zwischenfehler eines Neurons in der verdeckten Schicht H (Zwischenvariable)
    • ej H
  • Oben ist j der Index eines Neurons in der verdeckten Schicht H.
  • Dieses ej H verkörpert den Zwischenfehler eines Neurons in der verdeckten Schicht H bei Rückpropagierung und wird bei der Berechnung der Gewichtungseinstellbeträgen verwendet.
  • Bei der Vorwärtsverarbeitung, die, wie zuvor beschrieben, bei Schritt 52 ausgeführt wird, werden, während in jedem von einer Vielzahl von Datenverarbeitungsmitteln 1 alle Ausführungsparameter gespeichert sind, die Mustertdaten in eine Anzahl von Teilen von partiellen Musterdaten aufgeteilt, die in der Anzahl gleich der Anzahl von Datenverarbeitungsmitteln 1 ist, wobei einer dieser partiellen Musterwerte in jedem der Datenverarbeitungsmittel 1 gespeichert wird. Es ist nicht nötig, die Musterdaten in partielle Musterdaten zu teilen, die jeweils dieselbe Datenanzahl haben.
  • Als nächstes geht die Verarbeitung zu Schritt 53 über, bei dem für die Ausgabewerte, die bei Schritt 52 erhalten wurden, ein maximaler Wert des Fehlers zwischen den Lehrdaten und dem Ausgabewert ∀k, ek out (=ok-tk (s) (p)) gespeichert wird.
  • Das heißt, der maximale Wert des Ausgabefehlers wird immer in dem Speicher gehalten. emax: = max(emax,max|ek out|) (8)
  • Als nächstes geht die Verarbeitung zu Schritt 54 über, bei dem die Rückpropagierung ausgeführt wird: Das heißt, der Fehler, der bei den vorherigen Schritten erhalten wurde, wird als Basis zur Berechnung der Einstellbeträge ΔW zum Beispiel durch das schnellste Abfallverfahren verwendet.
  • Figure 00230001
  • In jeder der obigen Gleichungen ist das Berechungsverfahren im wesentlichen dasselbe wie jenes, das vorher zum Bestimmen von ΔW beschrieben wurde. Dann geht die Verarbeitung zu Schritt 55 über, bei dem die Abtastnummer um Eins inkrementiert wird und eine andere Abtastnummer S ausgewählt wird. Falls bei Schritt 56 die ausgewählte Abtastnummer S kleiner als die Anzahl von partiellen Mustertdaten Ns ist, erfolgt eine Rückkehr zu Schritt 52, von wo an die Verarbeitung der oben beschriebenen Schritte wiederholt wird, falls aber das Resultat bei Schritt 56 NEIN lautet, das heißt, falls die oben beschriebene Verarbeitung für alle partiellen Musterdaten vollendet worden ist, geht die Verarbeitung zu Schritt 57 über, bei dem eine Punktverarbeitung begonnen wird, um zu bestimmen, ob die Verarbeitung, die die Einstellbeträge bestimmt, zu beenden ist oder nicht. Das heißt, bei Schritt 57 erfolgt zuerst eine Bestimmung bezüglich dessen, ob der oben ausgegebene Fehler für die partiellen Musterdaten, die durch jedes der Datenverarbeitungsmittel 1 gehalten werden, innerhalb der obengenannten Zulässigkeit liegt oder nicht.
  • Falls der Fehler für alle partiellen Musterdaten innerhalb dieser Zulässigkeit liegt, wird das Lernen der Datenverarbeitungsmittel 1 beendet.
  • In diesem Fall wird das Endflag oder die Endmarkierung der Datenverarbeitungsmittel 1 zum Beispiel auf WAHR gesetzt, und dann in dem Fall, bei dem der Ausgabefehler für die partiellen Musterdaten, die durch jeden Prozessor gehalten werden, innerhalb der Zulässigkeit liegt, wird das Endflag jenes Prozessors (Datenverarbeitungsmittel 1) auf WAHR gesetzt.
  • In dem Fall, bei dem die Endflags für alle Prozessoren WAHR sind, wird das Lernen bei der vorliegenden Erfindung beendet. Anschließend wird das Endflag für jeden Prozessor in seine Ablage 2 gesetzt und auf Eimerkettenart verschoben, um ausgelesen zu werden, wodurch das Gesamtendflag berechnet wird, welches die Bedingung zum Beenden des gesamten Lernens ist.
  • Als Beispiel des Berechnungsalgorithmus von diesem Schritt haben wir das folgende.
  • Wenn emax < Zulässigkeit dann Endflag: = WAHR sonst
    Endflag: = FALSCH
    Gesamtendflag: = Endflag
    Ablage: = Endflag
    Ablage verschieben, Gesamtendflag: = Gesamtendflag UND Ablage
  • Das Obige wird (p-1)mal wiederholt.
  • Oben bezeichnet "Ablage" oder "tray" die Übertragungsdatenhaltemittel 2, die das Datenübertragungsmittel 3 bilden, und über diese werden Kommunikationen zwischen Prozessoren ausgeführt. Es werden die drei Operationen des Schreibens in die Ablage, Lesens aus der Ablage und Verschiebens ausgeführt.
  • Das heißt, bei Schritt 57 wird, indem verursacht wird, daß die Übertragungsdatenhaltemittel 2, die die Schieberegisterfunktion des Datenübertragungsmittels 3 haben, die Akkumulation der Gewichtungen bezüglich partieller Musterdaten in allen Datenverarbeitungsmitteln 1 in Zirkulation bringen, der Gesamtbetrag dieser Akkumulationen berechnet.
  • Dann geht die Verarbeitung zu Schritt 58 über, bei dem eine Bestimmung dessen erfolgt, ob die Resultate der Berechnung die Bedingung zum Beenden dieser Berechnungsverarbeitungsoperation erfüllen oder nicht. Das heißt, bei dem obengenannten Beispiel in der vorliegenden Erfindung wird, falls das Gesamtendflag als die Bedingung zum Beenden des Lernens WAHR ist, das Lernen beendet. Das heißt, wenn Gesamtendflag = WAHR dann Sprung zu ENDE.
  • Bei dem obengenannten Schritt 58 geht diese Routine zu ENDE, falls das Resultat JA lautet, das heißt, falls die obengenannte Endbedingung erfüllt ist.
  • Falls andererseits das Resultat bei Schritt 58 NEIN lautet, geht die Verarbeitung zu Schritt 59 über, und nach der Verarbeitung, um die Einstellbeträge zu teilen, erfolgt eine Rückkehr zu Schritt 50, von wo an alle oben beschriebenen Schritte wiederholt werden. Ferner wird bei Schritt 59, indem Ablagen 2 verwendet werden, um die Gewichtungseinstellbeträge gemäß jedem der partiellen Musterwerte zu teilen, die durch die Prozessoren berechnet wurden, der Gesamtbetrag des Gewichtungseinstellbetrags für die Gesamtabtast- oder Musterdaten zu der ursprünglichen Gewichtung addiert.
  • Dadurch wird das Aktualisieren (Lernen) der Gewichtung für alle Musterdaten ausgeführt. Der folgende Algorithmus wird bezüglich ∀i und ∀j ausgeführt.
    Ablage : = ΔWij IH
    Ablage verschieben, Wij IH: –Wij IH + Ablage
  • Das Obige wird p-mal wiederholt.
  • Bezüglich ∀j und ∀k wird Folgendes ausgeführt.
    Ablage : = ΔWik HO
    Ablage verschieben, Wij HO : – Wik HO + Ablage
  • Das Obige wird p-mal wiederholt.
  • Als nächstes erfolgt ein Vergleich der Verarbeitungs geschwindigkeit des oben beschriebenen konkreten Beispiels des Paralleldatenverarbeitungssystems gemäß der vorliegenden Erfindung und der Verarbeitungsgeschwindigkeit der vorherigen Beispiele, die oben erwähnt wurden (zum Beispiel japanische ungeprüfte Patentveröffentlichung (Kokai) Nr. 3-105584 (ebenso in der europäischen Patentveröffentlichung Nr. 0 421 639 A2)).
  • Es erfolgt eine einfache Bewertung der Lernleistung des Standes der Technik und dieser Ausführungsform 1 bezüglich eines 3-schichtigen hierarchischen neuronalen Netzwerks.
  • Die Zeit T, die erforderlich ist, um die Gewichtungseinstellbeträge für alle Musterdaten zu bestimmen, wird berechnet und verglichen.
  • Im Falle des Standes der Technik kann die Kommunikationszeit für Kommunikationen zwischen partiellen Lernmitteln der partiellen Ausführungsparameter als Null angenommen werden, da diese gleichzeitig mit der Berechnung der Produktsumme ausgeführt werden. T = Tf + Tb
  • Oben ist Tf die Zeit, die zur Erwartungsverarbeitung erforderlich ist, und Tb die Zeit, die zur Rückpropagierungsverarbeitung erforderlich ist.
  • Falls die Anzahl von partiellen Lernmitteln N1, die verwendet wird, um das Niveau der Parallelität zu erhöhen, als ausreichend hoch angenommen wird, N1 = max (Ni, Nh, No), haben wir, da die parallele Produktsummenberechnung durch das Datenübertragungsmittel ausgeführt wird, Folgendes. Tf = cf Np (Ni + Nh) Tb = cb Np (Nh + No)
  • Oben ist cf die durchschnittliche Berechnungszeit für jede Gewichtung bei der Vorwärtsverarbeitung, und cb ist die durchschnittliche Berechnungszeit für jede Gewichtung bei der Rückpropagierungsverarbeitung.
  • In dem Fall der vorliegenden Erfindung beträgt während der Zeit zum Berechnen des Gewichtungseinstellbetrags für die partiellen Musterdaten, da die Verarbeitung innerhalb des partiellen Lernmittels abgeschlossen ist, die Kommunikationszeit Null. Nachdem jedoch die Verarbeitung einmal für alle Musterdaten ausgeführt ist, sind Kommunikationen gerade einmal notwendig, um die partiellen Gewichtungseinstellbeträge für die partiellen Musterdaten unter allen partiellen Lernmitteln zum Zweck des Bestimmens des Gesamtbewertungs- oder -gewichtungseinstellbetrags aufzuteilen.
  • Deshalb ist die Lernzeit wie folgt. T = Tf' + Tb' + Tcomm
  • Oben ist Tf' die Berechnungszeit für die Vorwärtsverarbeitung unter Verwendung von partiellen Musterdaten, Tb' die Berechnungszeit für die Rückpropagierungsverarbeitung unter Verwendung von partiellen Musterdaten und Tcomm die Zeit, um den Gesamtbetrag des Gesamtgewichtungs- oder – bewertungseinstellbetrags durch Kommunikationen zu be stimmen.
  • Außerdem gilt folgende Gleichung.
  • Figure 00290001
  • Um den Vergleich zu vereinfachen, wird die Lernzeit für den Fall berechnet, bei dem die Anzahl von Neuronen in jeder Schicht gleich ist, das heißt, für den Fall von Ni = Nh = No = N
  • Die Lernzeit bei dem Stand der Technik ist wie folgt. Told = 2NpN (cf + cb) ∝ NpN
  • Somit ist sie proportional der Anzahl von Mustertdaten und auch der Anzahl von Neuronen in einer Schicht. In diesem Fall ist die Anzahl von partiellen Lernmitteln Nopt gegeben als Nopt = N.
  • Die Lernzeit für diese Ausführungsform der vorliegenden Erfindung wie folgt ausgedrückt.
  • Figure 00290002
  • In der obigen Beziehung betrifft das Gleichheitszeichen die Anzahl von partiellen Lernmitteln, die gleich einer. optimalen Anzahl Nopt ist.
  • Figure 00300001
  • Wenn die Anzahl von partiellen Lernmitteln die optimale Anzahl Nopt ist, ist die Lernzeit in dieser Ausführungsform proportional der Quadratwurzel aus der Anzahl von Musterdaten und auch proportional dem Quadrat aus der Anzahl von Neuronen in jeder Schicht.
  • Deshalb existiert zwischen der Anzahl von Musterdaten Np und der Anzahl von Neuronen N in jeder Schicht N, falls die Beziehung
    Figure 00300002
    existiert, die Beziehung Told ≥ Tnew
  • Da im allgemeinen die Anzahl von Musterdaten bei weitem größer als die Anzahl von Ausführungsparametern ist, in diesem Fall das Quadrat der Anzahl von Neuronen in jeder Schicht, ist das konkrete Beispiel der vorliegenden Erfindung im Vergleich zu dem Stand der Technik effektiver.
  • Als nächstes wird noch eine andere konkrete Ausführungsform (2. Ausführungsform) eines Paralleldatenverarbeitungssystems gemäß der vorliegenden Erfindung beschrieben.
  • 7 ist eine Zeichnung, die die 2. Ausführungsform der vorliegenden Erfindung beschreibt, die einen Neuronencomputer verkörpert, der ein Fehlerrückpropagierungslernen ausführt. Elemente in dieser Figur, die dieselben wie in 5 sind, sind mit denselben Bezugszeichen wie in 5 bezeichnet.
  • Tatsächlich besteht die Differenz zwischen dieser konkreten Ausführungsform (2. Ausführungsform) und der vorher beschriebenen konkreten Ausführungsform (1. Ausführungsform), die in 5 gezeigt ist, darin, daß Abschlußmusterdaten-Haltemarkierungs- oder -flagmittel 18 und Beurteilungsmittel 19 hinzugefügt sind, die beurteilen, ob partielle Musterdaten beim Aktualisieren von Einstellbeträgen zu verwenden sind oder nicht, wobei diese Hinzufügungen bei den Datenverarbeitungsmitteln 1 vorgenommen werden und der übrige Teil der Konfiguration fast derselbe wie in 5 ist.
  • Das heißt bei der 2. Ausführungsform der vorliegenden Erfindung, während das grundlegende Berechnungsverarbeitungsverfahren im wesentlichen dasselbe wie bei der 1. Ausführungsform ist, daß in dieser 2. Ausführungsform ein Mechanismus hinzugefügt worden ist, zum Beurteilen dessen, ob Mustertdaten bei der Akkumulation von Einstellbeträgen zu verwenden sind oder nicht, wodurch die Implementierung eines parallelen Lernsystems ermöglicht wird, welches das Lernen ohne Probleme ausführen kann, selbst in dem Fall, bei dem die Anzahl von Musterdaten Np nicht ein ganzzahliges Vielfaches der Anzahl von partiellen Lernmitteln N1 ist.
  • Während die 1. Ausführungsform auf der Voraussetzung basierte, daß die Anzahl von partiellen Musterdaten Np gleich einem ganzzahligen Vielfachen der Anzahl von partiellen Lernmitteln, das heißt, der Anzahl von Datenverarbei tungsmitteln Np, ist, bedeutet dies, daß die 2. Ausführungsform auf der Voraussetzung basiert, daß eine Berechnungsverarbeitung in dem Fall ausgeführt wird, bei dem die Anzahl von partiellen Musterdaten Np nicht einem ganzzahligen Vielfachen der Anzahl von Datenverarbeitungsmitteln N1 entspricht.
  • Falls bei dieser Bedingung zum Beispiel die Anzahl von partiellen Musterdaten Np kleiner als die Anzahl von Datenverarbeitungsmitteln N1 ist, ist es erforderlich zu benennen, welche der Datenverarbeitungsmittel zu verwenden sind und welche im Ruhezustand bleiben dürfen.
  • Der Berechnungsverarbeitungsalgorithmus ist in diesem Fall wie folgt.
  • Da die Anzahl von partiellen Musterdaten Np nicht ein ganzzahliges Vielfaches der Anzahl von partiellen Lernmitteln N1 ist, gilt die folgende Beziehung. Np = kN1 – rk: eine ganze Zahl
    0 ≤ r < N1
  • Wenn wir berücksichtigen, daß k der Anzahl von partiellen Musterdaten entspricht, ist es möglich, wenn die Einstellbeträge für die Ausführungsparameter (Gewichtungen) akkumuliert werden, falls jedes von r partiellen Lernmitteln einen partiellen Bild-Musterwert verarbeitet und die Akkumulation von Einstellbeträgen in jenen Fällen nicht ausgeführt wird, die Berechnung der Einstellbeträge korrekt auszuführen, selbst in dem Fall, bei dem die Anzahl von Musterdaten Np kein ganzzahliges Vielfaches der Anzahl von partiellen Lernmitteln N1 ist.
  • Genauer gesagt, wird hierbei Gebrauch von einem Nutzungsflag eines letzten Musterwertes (Endnutzungsflag) gemacht, welches Flag anzeigt, ob der letzte Musterwert der partiellen Musterdaten beim Lernen zu verwenden ist oder nicht.
  • Das Nutzungsflag letzter Musterdaten wird bei der Fehlerberechnung verwendet, und falls Endnutzungsflag = FALSCH, wird der Fehler zwingend auf Null gesetzt.
  • Bei der tatsächlichen Berechnungsverarbeitung hinsichtlich der letzten Musterdaten der partiellen Musterdaten wird Bezug auf das Nutzungsflag letzter Musterdaten, das Endnutzungsflag, genommen, und es erfolgt eine Beurteilung durch den unten angegebenen Algorithmus bezüglich dessen, ob jene Musterdaten zu verwenden sind oder nicht, und falls die Daten nicht zu verwenden sind, wird der Fehler zwingend auf Null gesetzt.
    falls (s == Ns) und (Endnutzungsflag == FALSCH) dann ∀k, ek out = 0
  • Das Verfahren für diese Berechnungsverarbeitung, wie in dem Flußdiagramm von 8 gezeigt, ist praktisch dasselbe wie jenes des Flußdiagramms von 6, mit dem Unterschied, daß zuerst bei Schritt 52-A dieselbe Vorwärtsverarbeitung wie zuvor beschrieben ausgeführt wird. Als nächstes geht die Verarbeitung zu Schritt 52-B über, bei dem eine Beurteilung bezüglich dessen erfolgt, ob die gegenwärtigen Musterdaten bei der Gewichtungseinstellung zu verwenden sind oder nicht, und falls sie zu verwenden sind, geht die Verarbeitung so wie sie ist zu Schritt 53 über, falls sie aber nicht zu verwenden sind, werden die Fehlerdaten auf Null gesetzt, und die Verarbeitung geht zu Schritt 53 über.
  • Beim Ausführen des Lernens unter Verwendung einer Anzahl von Musterdaten, die verglichen mit der Anzahl von Ausführungsparametern groß ist, wie oben beschrieben, ist dies, da die vorliegende Erfindung eine höhere Parallelität als der Stand der Technik erreichen kann und das Lernen in kürzerer Zeit ausführen kann, ein bedeutender Beitrag zur Verbesserung der Lernleistung von adaptiven Systemen.

Claims (8)

  1. Verfahren zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter, die eine Beziehung zwischen einer Eingabe und einer Ausgabe einer Datenverarbeitungsvorrichtung bestimmen, durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten, welches Verfahren die Schritte enthält: (a) Aufteilen der Mehrzahl von Muster-Eingabedaten und Muster-Ausgabedaten, und Liefern der so geteilten Muster-Eingabedaten und Muster-Ausgabedaten an eine Mehrzahl von Prozessoren (1), jeweils, von denen jeder denselben Aufbau wie die Datenverarbeitungsvorrichtung hat, (b) paralleles Lernen durch die Mehrzahl von Prozessoren (1) der geteilten Muster-Eingabedaten und Muster-Ausgabedaten, die jeweils an die Prozessoren (1) geliefert wurden, und dadurch Erhalten entsprechender Einstellbeträge für die Ausführungsparameter bezüglich der geteilten Muster-Eingabedaten und Muster-Ausgabedaten durch die Mehrzahl von Prozessoren (1), und (c) Erhalten einer Summe der jeweiligen Einstellbeträge für die Ausführungsparameter in Bezug auf die geteilten Muster-Eingabedaten und Muster-Ausgabedaten als die Ziel-Einstellbeträge für Ausführungsparameter in Bezug auf alle Muster-Eingabedaten und Muster-Ausgabedaten.
  2. Verfahren nach Anspruch 1, bei dem die Datenverarbeitungsvorrichtung ein neuronales Netzwerk ist.
  3. Verfahren nach Anspruch 2, bei dem derselbe Aufbau des neuronalen Netzwerks, wie bei der Datenverarbeitungsvorrichtung, durch Software in jedem der Prozessoren (1) realisiert ist.
  4. System zum Erhalten von Ziel-Einstellbeträgen für Ausführungsparameter, die eine Beziehung zwischen einer Eingabe und einer Ausgabe einer Datenverarbeitungsvorrichtung bestimmen, durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten, welches System enthält: (a) eine Mehrzahl von Prozessoren (1), von denen jeder denselben Aufbau hat, wie die Datenverarbeitungsvorrichtung, zum parallelen Lernen jeweils gelieferter Muster-Eingabedaten und Muster-Ausgabedaten, die durch Teilen der Mehrzahl von Muster-Eingabedaten und Muster-Ausgabedaten erhalten werden, und dadurch Erhalten jeweiliger Einstellbeträge für die Ausführungsparameter mit Bezug auf die so geteilten Muster-Eingabedaten und Muster-Ausgabedaten, wobei die geteilten Muster-Eingabedaten und Muster-Ausgabedaten an jeweilige der Mehrzahl von Prozessoren (1) geliefert werden, und (b) Summiermittel (15, 2) zum Erhalten einer Summe von den entsprechenden Einstellbeträgen für Ausführungsparameter mit Bezug auf die geteilten Muster-Eingabedaten und Muster-Ausgabedaten als die genannten Ziel-Einstellbeträge für Ausführungsparameter mit Bezug auf alle Muster-Eingabedaten und Muster-Ausgabedaten.
  5. System nach Anspruch 4, bei dem jeder der Mehrzahl von Prozessoren (1) Datenspeichermittel zum Speichern der geteilten Muster-Eingabedaten und Muster-Ausgabedaten enthält.
  6. System nach Anspruch 4 oder 5, bei dem die Summiermittel ein Schieberegister (3) enthalten, das die Mehrzahl von Datenregistern (2) enthält, die jeweils der Mehrzahl von Prozessoren (1) entsprechen und seriell verbunden sind, und jeder der Mehrzahl von Prozessoren (1) Addiermittel (15) enthält, so daß die entsprechenden Einstellbeträgen, die von der Mehrzahl von Prozessoren (1) erhalten werden, durch die jeweiligen Addiermittel (15) und die Mehrzahl von Datenregistern (2) akkumuliert werden, um die Summe zu erhalten.
  7. System nach einem der Ansprüche 4 bis 6, bei dem die Datenverarbeitungsvorrichtung ein neuronales Netzwerk ist.
  8. System nach Anspruch 7, bei dem derselbe Aufbau des neuronalen Netzwerks, wie bei der Datenverarbeitungsvorrichtung, durch Software in jedem der Prozessoren (1) realisiert ist.
DE4417932A 1993-06-18 1994-05-24 Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten Expired - Fee Related DE4417932B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5148017A JPH076146A (ja) 1993-06-18 1993-06-18 並列データ処理システム
JPP5-148017 1993-06-18

Publications (2)

Publication Number Publication Date
DE4417932A1 DE4417932A1 (de) 1994-12-22
DE4417932B4 true DE4417932B4 (de) 2005-07-28

Family

ID=15443247

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4417932A Expired - Fee Related DE4417932B4 (de) 1993-06-18 1994-05-24 Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten

Country Status (3)

Country Link
US (1) US5627944A (de)
JP (1) JPH076146A (de)
DE (1) DE4417932B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983210A (en) * 1995-12-27 1999-11-09 Kabushiki Kaisha Toshiba Data processing system, system-build system, and system-build method
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8510546B2 (en) 2011-03-29 2013-08-13 International Business Machines Corporation Run-ahead approximated computations
JP6347595B2 (ja) * 2013-11-25 2018-06-27 キヤノン株式会社 ロボット制御方法、及びロボット制御装置
US9996389B2 (en) 2014-03-11 2018-06-12 International Business Machines Corporation Dynamic optimization of workload execution based on statistical data collection and updated job profiling
JP2016197389A (ja) * 2015-04-03 2016-11-24 株式会社デンソーアイティーラボラトリ 学習システム、学習プログラムおよび学習方法
US10175980B2 (en) * 2016-10-27 2019-01-08 Google Llc Neural network compute tile
WO2018211349A1 (ja) * 2017-05-19 2018-11-22 株式会社半導体エネルギー研究所 半導体装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0421639A2 (de) * 1989-09-20 1991-04-10 Fujitsu Limited Paralleldatenverarbeitungsanlage
US5091864A (en) * 1988-12-23 1992-02-25 Hitachi, Ltd. Systolic processor elements for a neural network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942517A (en) * 1987-10-08 1990-07-17 Eastman Kodak Company Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers
EP0390907B1 (de) * 1988-10-07 1996-07-03 Martin Marietta Corporation Paralleler datenprozessor
JP2825133B2 (ja) * 1989-09-20 1998-11-18 富士通株式会社 並列データ処理方式
JPH04293151A (ja) * 1991-03-20 1992-10-16 Fujitsu Ltd 並列データ処理方式
US5323335A (en) * 1991-07-05 1994-06-21 General Electric Co. Regular and fault-tolerant Kalman filter systolic arrays

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5091864A (en) * 1988-12-23 1992-02-25 Hitachi, Ltd. Systolic processor elements for a neural network
EP0421639A2 (de) * 1989-09-20 1991-04-10 Fujitsu Limited Paralleldatenverarbeitungsanlage

Also Published As

Publication number Publication date
JPH076146A (ja) 1995-01-10
US5627944A (en) 1997-05-06
DE4417932A1 (de) 1994-12-22

Similar Documents

Publication Publication Date Title
DE102007001025B4 (de) Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
DE3689049T2 (de) Selbstanpassender Prozessor.
DE3854663T2 (de) Neurorechnersystem zur lösung von optimierungsproblemen.
DE68927014T2 (de) Assoziatives Musterkonversionssystem und Anpassungsverfahren dafür
DE68928612T2 (de) Verfahren zur bestimmung der inferenzregel sowie inferenzmotor
DE19581638C2 (de) Rechenvorrichtung mit einem Mikroprozessor, einem neuralen Netz-Koprozessor und einer DMA-Steuervorrichtung
DE69031842T2 (de) Lernsystem und Lernverfahren für eine Datenverarbeitungsvorrichtung
DE68928484T2 (de) Verfahren zum erkennen von bildstrukturen
DE4217832C2 (de) Mustererkennungsgerät
DE102008020379A1 (de) Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
WO2013170843A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes
DE68925625T2 (de) Verfahren zur Rückführung von Fehlern und neuronale Netzstruktur
DE3938645C1 (de)
DE102018212140A1 (de) Anlagensteuervorrichtung und Steuerverfahren dafür, Walzwerksteuervorrichtung und Steuerverfahren und Programm dafür
DE4417932B4 (de) Verfahren und ein System zum Erhalten von Zieleinstellbeträgen für Ausführungsparameter durch Lernen einer Mehrzahl von Sätzen von Muster-Eingabedaten und Muster-Ausgabedaten
EP0875808A2 (de) Verfahren und System zur Generierung eines Prozessmodells eines technischen Prozesses
EP0925541B1 (de) Verfahren und vorrichtung zur rechnergestützten generierung mindestens eines künstlichen trainingsdatenvektors für ein neuronales netz
DE3851872T2 (de) Wortkettenerkennungssysteme mit längs einer Signalzeitachse angeordneten neuralen Netzen.
DE4121453C2 (de) Näherungsschlußfolgerungsvorrichtung
DE112020005613T5 (de) Neuromorphe Einheit mit Kreuzschienen-Array-Struktur
DE19703964C1 (de) Verfahren zur Transformation einer zur Nachbildung eines technischen Prozesses dienenden Fuzzy-Logik in ein neuronales Netz
DE69013325T2 (de) Datenverarbeitungsvorrichtung mit neuronalem Netzwerk und Verfahren zum adaptiven Lernen.
DE69120854T2 (de) Lernverfahren fÜr Datenverarbeitungssystem
DE69123623T2 (de) Unscharfe Folgerungsanlage
DE102020123155A1 (de) Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20111201