Verfahren zum Trainieren von neuronalen Netzen
Die Erfindung betrifft ein Verfahren zum Trainieren von neuronalen Netzen , ein Verfahren zur Prognose mittels neuronaler Netze und ein System zur Ermittlung eines Prognosewertes und dessen Fehler.
Eine Vielzahl von Anwendungsmöglichkeiten sind aus dem Stand der Technik für neuronale Netze bekannt. Neuronale Netze werden zur datengetriebenen Modellbildung zum Beispiel für physikalische, biologische, chemische und technische Vorgänge und Systeme eingesetzt, vgl. Babel W.: Einsatzmöglichkeiten neuronaler Netze in der Industrie: Mustererkennung anhand überwachter Lernverfahren - mit Beispielen aus der Verkehrs- und Medizintechnik, Expert Verlag, Renningen-Malmsheim, 1997. Insbesondere gehören zu den Einsatzgebieten neuronaler Netze die Prozessoptimierung, Bildverarbeitung, Mustererkennung, Robotersteuerung und die Medizintechnik.
Bevor ein neuronales Netz zu Prognose- oder Optimierungszwecken eingesetzt werden kann, muss es trainiert werden. Dabei werden üblicherweise die Gewichte der Neuronen durch ein iteratives Verfahren anhand von Trainingsdaten angepasst, vgl. Bärmann F.: Prozessmodellierung: Modellierung von Kontianlagen mit neuronalen Netzen, Internetseite NN-Tool, www.baermann.de und Bärmann F.: Neuronale Netze. Skriptum zur Vorlesung. FH-Gelsenkirchen, Fachbereich Physikalische Technik, Fachgebiet Neuroinformatik, 1998.
Aus der DE 195 31 967 ist ein Verfahren zum Training eines neuronalen Netzes mit dem nichtdeterministischen Verhalten eines technischen Systems bekannt. Das neuronale Netz wird dabei so in einen Regelkreis eingebunden, dass das neuronale Netz als Ausgangsgröße eine Stellgröße an das technische System abgibt und das technische System aus der von dem neuronalen Netz zugeführten Stellgröße eine Regelgröße erzeugt, die dem neuronalen Netz als Eingangsgröße zugeführt wird. Die Stellgröße wird mit einem Rauschen von bekannter Rauschverteilung überlagert, bevor sie dem technischen System zugeführt wird.
Weitere Verfahren zum Trainieren neuronaler Netze sind bekannt aus DE 692 28 412 T2 und DE 198 38 654 Cl .
Ein Verfahren zur Schätzung des Prognosefehlers ist bekannt aus EP 0 762 245 B 1. Hier werden mehrere Neuronale Netze mit unterschiedlichen Trainingsparametern (z.B. unterschiedlicher Initialisierung) mit den Originaldaten trainiert. Der Prognose-Fehler ergibt sich aus Vergleich der Abweichungen der prognostizierten Größen. Nachteilig bei diesem Verfahren ist, dass Informationen über die Messgenauigkeit der zum Training verwendeten Messdaten in die Schätzung des Prognosefehler nicht einfließen.
Ferner ist aus dem Stand der Technik ein Verfahren zur Abschätzung der Vertrauenswürdigkeit der von einem neuronalen Netz abgegebenen Prognose bekannt: Protzel P.: Kindermann L., Tagscherer M., Lewandowski A. „Abschätzung der Vertrauenswürdigkeit von Neuronalen Netzprognosen bei der Prozessoptimierung", VDI Berichte NR. 1526, 2000.
Der Erfindung liegt die Aufgabe zu Grunde ein verbessertes Verfahren zum Trainieren von neuronalen Netzen, ein Verfahren zur Prognose mittels neuronaler Netze sowie ein System zur Ermittlung von Prognosewerten und deren Fehler zu schaffen.
Die der Erfindung zu Grunde liegende Aufgabe wird jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
Die Erfindung ermöglicht es den Umstand zu berücksichtigen, dass die Trainingsdaten für das Training eines neuronalen Netzes nur mit einer endlichen Genauigkeit behaftet sind. Werden die Trainingsdaten zum Beispiel messtechnisch ermittelt, so lässt sich für jedes Datum eine Messgenauigkeit angeben. Zur Berücksichtigung dieser begrenzten Messgenauigkeit für das Training des neuronalen Netzes, werden weitere Sets vom Trainingsdatensätzen erzeugt. Jedes einzelne Set von Trainingsdaten entsteht aus den ursprünglichen Datensätzen durch Verrauschen der Daten im Rahmen der Messgenauigkeit. Zu jedem so erzeugten Trainingsdatensatz wird dann ein neuronales Netz trainiert.
Werden in die auf diese Art und Weise trainierten neuronale Netze Eingangsdaten eingegeben, so erzeugt jedes dieser Netze eine Prognose. Diese Prognosen können aufgrund der verschiedenen Trainingsdaten, die durch Verrauschen gewonnen worden und für das Training der neuronalen Netze verwendet worden sind, voneinander abweichen. Vorzugsweise wird aus den verschiedenen Prognosen ein Mittelwert gebildet, der eine höhere Genauigkeit und Vertrauenswürdigkeit als die Einzelprognosen aufweist.
Nach einer bevorzugten Ausführungsform der Erfindung wird den Trainingsdaten eine gleichverteilte Zufallsgröße mit Erwartungswert Null aufaddiert. Die Zufallsgröße ist dabei so gewählt, dass das Ergebnis der Addition des Ausgangsdatums und der Zufallsgröße innerhalb des durch die Messgenauigkeit gegebenen Bereichs liegt.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird eine normalverteilte Zufallsgröße mit Erwartungswert Null aufaddiert. Die Varianz der Zufallsgröße ist so gewählt, dass das Ergebnis der Addition des Ausgangsdatums und der Zufallsgröße mit einer vorgegebenen Wahrscheinlichkeit innerhalb des durch die Messgenauigkeit vorgegebenen Bereichs liegt. Diese vorgegebene Wahrscheinlichkeit beträgt zum Beispiel 95 % oder darüber.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird aufgrund der Unterschiedlichkeit der von den neuronalen Netzen ermittelten Prognosen -eine Vertrauenswürdigkeit des Prognosewerts ermittelt. Sind die einzelnen Prognosen der neuronalen Netze stark voneinander abweichend, so kann hieraus geschlossen werden, dass die neuronalen Netze in dem Bereich der aktuellen Eingangsdaten kein zuverlässiges Modell darstellen. Zur Beurteilung der Vertrauenswürdigkeit wird beispielsweise die Standardabweichung der einzelnen Prognosen berechnet. Wenn rdie Standardabweichung ein zulässiges Maß überschreitet, wird daraus geschlussfolgert, dass keine zuverlässige Prognose möglich ist.
Von besonderem Vorteil ist, dass die vorliegende Erfindung eine Schätzung des Prognosefehlers und damit eine objektive Aussage über die Qualität der Prognose ermöglicht. Nach einer bevorzugten Ausfuhrungsform wird die Standardabweichung zur Schätzung des Prognosefehlers genutzt. Zum Beispiel wird die Standardabweichung selbst als Maß für den Prognosefehler genutzt. Alternativ wird der Prognosefehler mit Hilfe einer monotonen Funktion aus der Standardabweichung berechnet, z.B. durch Multiplikation der Standardabweichung mit einem problemabhängigen konstanten Faktor.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird ein Signal abgegeben, wenn die Standardabweichung der Prognosen über einem vorgegebenen Schwellwert liegt. Dieses Signal kann zum Beispiel zu einer visuellen und / oder akustischen Ausgabe für einen Benutzer fuhren. Dies ist besonders vorteilhaft, wenn die neuronalen Netze für einen Regelungsprozess eingesetzt werden.
Im weiteren werden bevorzugte Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:
Figur 1 ein Blockdiagram eines neuronalen Netzes,
Figur 2 eine schematische Darstellung eines Trainingsdatensatzes für das neuronale Netz der Figur 1,
Figur 3 ein Flussdiagram einer Ausführungsform des erfindungsgemäßen Verfahrens zum
Training von neuronalen Netzen und zur Ermittlung eines Prognosewerts,
Figur 4 ein Blockdiagram eines erfindungsgemäßen Systems zur Ermittlung eines
Prognosewerts.
Die Figur 1 zeigt ein neuronales Netz 1 mit den Eingängen A, B und C und mit dem Ausgang D. Im allgemeinen Fall kann das neuronale Netz 1 eine beliebige Anzahl von Eingängen und
Ausgängen aufweisen. Femer kann das neuronale Netz auch rigorose Modellanteile beinhalten. In diesem Fall spricht man von einem hybriden neuronalen Netz.
Zum Training des neuronalen Netzes 1 dient ein Trainingsdatensatz 2 (vgl. Figur 2). Der Trainingsdatensatz 2 beinhaltet eine Reihe von Messsamples, die jeweils aus Messwerten für die Messgrößen A, B, C und D bestehen. Diese Messgrößen sind den entsprechenden Eingängen des neuronalen Netzes zugeordnet.
Die Messwerte werden zum Beispiel aus Versuchsreihen gewonnen, die für die Ermittlung von Trainingsdaten durchgeführt werden. Die Messgenauigkeiten der einzelnen Messgrößen sind in einer Tabelle 3 angegeben. Die Messgröße A wird mit einer Messgenauigkeit von +/- w , die Messgröße B mit einer Messgenauigkeit von +/- x , die Messgröße C mit einer Messgenauigkeit von +/- y und die Messgröße D mit einer Messgenauigkeit von +/- z ermittelt.
Die Figur 3 veranschaulicht eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens. In dem Schritt 30 wird eine Anzahl von n Trainingsdatensätzen aus dem Trainingsdatensatz 2 (vgl. Figur 2) erzeugt.
Ein weiterer Trainingsdatensatz i, wobei i zwischen 1 und n liegt, wird basierend auf dem Trainingsdatensatz 2 gewonnen, indem die einzelnen Messwerte der Messgrößen A, B, C und D für jedes Messsample unter Berücksichtigung der jeweiligen Messgenauigkeit der betreffenden Messgröße verrauscht werden. Dieser Vorgang, das heißt das Verrauschen des Trainingsdatensatzes 2 erfolgt n-fach, um so die n Trainingsdatensätze zu gewinnen.
Beispielsweise erfolgt das Verrauschen der Messwerte des Trainingsdatensatzes 2 durch Addition einer gleichverteilten Zufallszahl. Ein verrauschter Messwert x' ergibt sich aus dem ursprünglich gemessenen Messwert x als :
x' = x + Zufallszahl ,
wobei die Zufallszahl in dem Intervall
[Untergrenze; Obergrenze]
liegt. Dabei können die Untergrenze und die Obergrenze von dem ursprünglichen Messwert x und der Messgenauigkeit abhängen. Wurde die Messgenauigkeit beispielsweise als relativer Fehler zum Messwert x angegeben, so können die folgenden Grenzen gewählt werden:
Untergrenze = - relative Messgenauigkeit * x
Obergrenze = relative Messgenauigkeit * x
Im Normalfall ist die Untergrenze ein Wert kleiner als 0, während die Obergrenze ein Wert größer als 0 ist.. In diesem Fall liegt der verrauschte Messwert x' innerhalb des Bereichs der Messungenauigkeit. Soll zum Beispiel ein Messwert für die Messgröße A verrauscht werden, so wird zu dem tatsächlich ermittelten Messwert der Messgröße A eine Zufallsgröße aufaddiert.
Diese Zufallsgröße ist eine Zufallszahl aus dem Intervall [Untergrenze; Obergrenze], wobei die Untergrenze und die Obergrenze von dem Messwert x abhängen können (s.o.) oder Untergrenze und Obergrenze feste Größen sind.
Alternativ kann die Zufallszahl auch normalverteilt sein. In diesem Fall wird die Varianz der Zufallszahl so gewählt, dass der verrauschte Messwert x' mit einer vorgegebenen Wahrscheinlichkeit in dem durch die Messgenauigkeit vorgegebenen Toleranzbereich liegt. Die vorgegebene Wahrscheinlichkeit kann zum Beispiel > 95 %, gewählt werden.
In dem Schritt 31 wird eine Anzahl von n+1 neuronalen Netzen vom Typ des neuronalen Netzes 1 der Figur 1 mit dem Trainingsdatensatz 2 und den so gewonnenen n weiteren Trainingsdatensätzen trainiert. Dadurch erhält man n neuronale Netze mit denselben Eingangs- und Ausgangsparametern, die mit verrauschten Trainingsdatensätzen basierend auf demselben messtechnisch ermittelten Trainingsdatensatz trainiert worden sind.
Für die Ermittlung eines Prognosewerts wird in dem Schritt 32 ein Eingabedatensatz von Parameterwerten in die Eingänge A, B und C der in dem Schritt 31 trainierten neuronalen Netze eingegeben. In dem Schritt 33 geben die neuronalen Netze an deren Ausgängen jeweils einen Prognosewert aus; in dem betrachteten Beispielsfall liegen also n+1 Prognosewerte an den Ausgängen D vor.
In dem Schritt 34 werden der Mittelwert und die Standardabweichung der in dem Schritt 33 ausgegebenen Prognosewerte berechnet. In dem Schritt 35 wird geprüft, ob die Standardabweichung über einen Schwellwert liegt. Ist dies der Fall, wird in dem Schritt 36 eine Warnung ausgegeben. Die Ausgabe einer Warnung bedeutet, dass die Prognose der neuronalen Netze für den aktuellen Eingangsdatensatz nicht hinreichend vertrauenswürdig ist.
Liegt die Standardabweichung dagegen unterhalb des Schwellwerts, so wird eine solche Warnung nicht ausgegeben; in dem Schritt 37 erfolgt die Ausgabe des Mittelwerts der Prognosewerte als Ergebnis der Prognose. Zusätzlich oder alternativ wird die Standardabweichung als Maß für den Prognosefehler ausgegeben.
Die Figur 4 zeigt ein Blockdiagram einer Ausführungsform des erfindungsgemäßen Systems. Elemente der Figur 4, die Elementen der Figur 1 entsprechen, sind mit denselben Bezugszeichen gekennzeichnet.
Das System beinhaltet eine Anzahl von n+1 neuronalen Netzen 1, die prinzipiell gleich aufgebaut sind, nämlich jeweils die Eingänge A, B und C und den Ausgang D aufweisen.
Die Eingänge A, B und C der neuronalen Netze 1 sind mit einem Eingabemodul 4 verbunden, über welches ein Eingabeparametersatz, für den eine Prognose durchgeführt werden soll, in die neuronalen Netze 1 eingegeben wird.
Aufgrund dieser Eingabe von Eingangsdaten gibt jedes der neuronalen Netze 1 an dessen Ausgang für die Messgröße D eine Prognose aus. Diese Prognosen werden in das Auswertungsmodul 5 eingegeben. Das Auswertungsmodul 5 berechnet den Mittelwert der verschiedenen Prognosen für die Messgröße D sowie die Standardabweichung der Prognosen.
Das Auswertungsmodul 5 ist mit einer Anzeigeeinheit 6 und mit einem Komparator 7 verbunden. Der Komparator 7 ist mit einem Schwellwertspeicher 8 verbunden.
Das Auswertungsmodul 5 gibt den berechneten Mittelwert der Prognosen an die Anzeigeeinheit 6 aus, so dass der Prognosewert dort angezeigt wird. Femer gibt das Auswertungsmodul 5 die Standardabweichung der Prognosen an den Komparator 7 aus. Der Komparator 7 vergleicht die Standardabweichung mit dem in dem Schwellwertspeicher 8 gespeicherten Schwellwert. Liegt die Standardabweichung über dem Schwellwert, so gibt der Komparator 7 ein Signal ab, welches auf der Anzeigeeinheit 6 als Wamhinweis angezeigt wird. Wenn also ein Prognosewert auf der Anzeigeeinheit 6 zusammen mit einem Wamhinweis angezeigt wird, so bedeutet dies, dass die Streuung der einzelnen Prognosen der neuronalen Netze 1 relativ groß ist, so dass der resultierende Prognosewert als nicht hinreichend vertrauenswürdig betrachtet wird.
Über die Anzeige 6 kann femer die Standardabweichung als Maß für den Prognosefehler für einen Benutzer ausgegeben werden.
Bezugszeichenliste
neuronales Netz 1
Trainingsdatensatz 2
Tabelle 3
Eingabemodul 4
Auswertungsmodul 5
Anzeigeeinheit 6
Komparator 7
Schwellwertspeicher 8