Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DETERMINING THE PERMISSIBLE OPERATING RANGE OF A NEURONAL NETWORK
Document Type and Number:
WIPO Patent Application WO/2004/063832
Kind Code:
A2
Abstract:
The invention relates to a method for determining whether an input data record lies within the permissible operating range of a neuronal network, said method comprising the following steps: the convex envelope, which is determined by the training input records of the neuronal network, and the environment of said envelope, are defined as the permissible operating range of a neuronal network; and it is determined whether the input data record lies within said convex envelope.

Inventors:
MOGK GEORG (DE)
MRZIGLOD THOMAS (DE)
HUEBL PETER (DE)
Application Number:
PCT/EP2004/000019
Publication Date:
July 29, 2004
Filing Date:
January 05, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BAYER TECHNOLOGY SERVICES GMBH (DE)
MOGK GEORG (DE)
MRZIGLOD THOMAS (DE)
HUEBL PETER (DE)
International Classes:
G06E1/00; G06E3/00; G06F1/00; G06F15/18; G06G7/00; G06N3/04; G06N3/06; G06N3/08; G06F; (IPC1-7): G06F/
Foreign References:
US5835901A1998-11-10
Other References:
DATABASE INSPEC [Online] THE INSTITUTION OF ELECTRICAL ENGINEERS, STEVENAGE, GB; 1994, COURRIEU P: "Three algorithms for estimating the domain of validity of feedforward neural networks" XP002332295 Database accession no. 4656190 & Neural Networks USA, Bd. 7, Nr. 1, 1994, Seiten 169-174, ISSN: 0893-6080
WENNMYR E: "A CONVEX HULL ALGORITHM FOR NEURAL NETWORKS" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS, IEEE INC. NEW YORK, US, Bd. 36, Nr. 11, 1. November 1989 (1989-11-01), Seiten 1478-1484, XP000102490
PELILLO M: "A RELAXATION ALGORITHM FOR ESTIMATING THE DOMAIN OF VALIDITY OF FEEDFORWARD NEURAL NETWORKS" NEURAL PROCESSING LETTERS, KLUWER ACADEMIC PUBLISHERS, NORWELL, MA, US, Bd. 3, Nr. 3, August 1996 (1996-08), Seiten 113-121, XP008048366 ISSN: 1370-4621
DRAGHICI S: "Some new results on the capabilities of integer weights neural networks in classification problems" NEURAL NETWORKS, 1999. IJCNN '99. INTERNATIONAL JOINT CONFERENCE ON WASHINGTON, DC, USA 10-16 JULY 1999, PISCATAWAY, NJ, USA,IEEE, US, Bd. 1, 10. Juli 1999 (1999-07-10), Seiten 519-524, XP010372900 ISBN: 0-7803-5529-6
Attorney, Agent or Firm:
BAYER TECHNOLOGY SERVICES GMBH (Patents and Licensing, Leverkusen, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zur Prüfung, ob ein Eingabedatensatz in einem Arbeitsbereich eines neuronalen Netzes liegt, mit folgenden Schritten : Speicherung von Trainingseingabedatensätzen für das neuronale Netz, wobei durch die Trainingseingabedatensätze eine konvexe Hülle auf gespannt wird, Prüfung, ob der Eingabedatensatz in der konvexen Hülle liegt.
2. Verfahren nach Anspruch 1 mit folgenden weiteren Schritten : Auswahl von einer Anzahl (d + 1) nicht kollinearer Punkte aus der Menge der Trainingseingabesätze, Bildung eines ersten Simplex (Sl) aus den gewählten Punkten, Auswahl eines Punktes (x,) aus dem Inneren des Simplex (S,), Definition einer Strecke zwischen dem Eingabedatensatz und dem gewählten Punkt, Prüfung, ob ein Schnittpunkt (xl+1) der Strecke mit einer Facette des ersten Simplex existiert, Prüfung, ob ein zweiter Simplex (Sl+1) aus der Anzahl von Punkten aus den Trainingseingabedatensätzen gebildet werden kann, der den Schnittpunkt und einen Abschnitt der Strecke beinhaltet.
3. Verfahren nach Anspruch 2, wobei für die Durchführung der Prüfung, ob es möglich ist, einen zweiten Simplex zu bilden, folgende Schritte durchgeführt werden : Bestimmung der Eckpunkte der Facette des ersten Simplex auf der der Schnittpunkt liegt, Wahl eines weiteren nicht kollinearen Punkts aus der Menge der Trainingseingabedatensätze, Bildung eines Simplex (S') aus den Eckpunkten und dem weiteren Punkt, Prüfung, ob der Simplex einen Abschnitt der Geraden beinhaltet und Ausgabe des Simplex als zweiten Simplex, wenn dies der Fall ist, Austausch des weiteren Punkts gegen einen anderen nicht kollinearen Punkt aus der Menge der Trainingseingabedatensätze und erneute Prü fung.
4. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 3, wobei geprüft wird, ob es eine Hyperebene gibt, die den Eingabedatensatz beinhaltet, so dass sich alle Trainingseingabedatensätze auf einer Seite der Hyperebene be finden.
5. Verfahren nach Anspruch 4, wobei zur Prüfung, ob eine Hyperebene existiert ein Minimum von F gesucht wird, wobei und wobei die Hyperebene durch den Normalenverktor k dargestellt wird und r, = pix wobei x der durch den Eingabedatensatz definierte Punkt ist.
6. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 5 mit folgenden weiteren Schritten : Wahl eines initialen Vektors #(0) = (#1,...,#n) mit #1 +...+#n = 1 und #j # 0 (j=1,..,n), wobei vorzugsweise #j = 1 gewählt wird, n Wahl einer Matrix M so, dass die Zeilen der Matrix P(i):=M#P(i) orthonormiert sind, Berechnung von # = #(i) + #(i)T#(##(i)), wobei #(i) := #(i)#(i), Prüfung ob alle Ai 2 0 sind (fürj=l,, n), Streichung aller Komponenten aus der Matrix P(i) und aus dem Vektor A, die die Nebenbedingung #j # 0 (für j=1,...,n) verletzten, erneute Berechnung von #.
7. System zur Ermittlung von zumindest einem Prognosewert mit zumindest einem neuronalen Netz, welches mit Hilfe einer Menge von Trainingseingabedatensätzen trainiert worden ist, Mitteln zur Prüfung, ob ein Eingabedatensatz für das neuronale Netz in der konvexen Hülle liegt, die von den Trainingseingabedatensätzen aufgespannt wird.
8. System nach Anspruch 7 mit einem Hybridmodell, das zumindest ein erstes und ein zweites neuronales Netz beinhaltet, wobei das erste neuronale Netz mit Hilfe einer Menge von ersten Trainingseingabedatensätzen trainiert worden ist, und wobei das zweite neuronale Netz mit Hilfe einer Menge von zweiten Trainingseingabedatensätzen trainiert worden ist, wobei die Mittel zur Prüfung so ausgebildet sind, dass für einen ersten Eingabedatensatz für das erste neuronale Netz geprüft wird, ob der erste Eingabedatensatz in der konvexen Hülle liegt, die von den ersten Trainingseingabedatensätzen aufge spannt wird, und dass für einen zweiten Eingabedatensatz für das zweite neu ronale Netz geprüft wird, ob der zweite Eingabedatensatz in der konvexen Hülle liegt, die von den zweiten Trainingseingabedatensätzen aufgespannt wird, wobei die Zuordnung des ersten Eingabedatensatzes zum ersten Neuro nalen Netz und die Zuordnung des zweiten Eingabedatensatzes zum zweiten Neuronalen Netz aus einem Gesamtdatensatz automatisiert erfolgt.
9. System nach Anspruch 8, wobei die Mittel zur Prüfung so ausgebildet sind, dass die Prüfung gemäß einem Verfahren nach einem der vorhergehenden Ansprüche 1 bis 6 durchgeführt wird.
10. Computerprogrammprodukt, insbesondere digitales Speichermedium, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche 1 bis 6.
Description:
Verfahren zur Ermittlung des zulässigen Arbeitsbereichs eines neuronalen Netzes Die Erfindung betrifft ein Verfahren zur Prüfung, ob ein Eingabedatensatz im zuläs- sigen Arbeitsbereich eines neuronalen Netzes liegt, sowie ein entsprechendes Computerprogrammprodukt und System.

Aus dem Stand der Technik sind eine Vielzahl von Anwendungsmöglichkeiten für neuronale Netze bekannt. Neuronale Netze werden zur datengetriebenen Modell- bildung zum Beispiel für physikalische, biologische, chemische und technische Vor- gä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 neuro- nalen Netzen, Internetseite NN-Tool, www. baermann. de und Bärmann F. : Neuronale Netze. Skriptum zur Vorlesung. FH-Gelsenkirchen, Fachbereich Physikalische Technik, Fachgebiet Neuroinformatik, 1998.

Für das Training eines neuronalen Netzes eignet sich besonders das sogenannte back- propagation Verfahren. Ein weiterer Ansatz ist in dem Programm"NN-Tool 2000" implementiert. Dieses Programm ist kommerziell erhältlich von Professor Frank Bärmann, Fachhochschule Gelsenkirchen, Fachbereich physikalische Technik. Das entsprechende Trainingsverfahren ist auch in der Publikation"Neural Network",

Volume 5, Seiten 139 bis 144, 1992,"On a class of efficient learning algorithms for neural networks", Frank Bärmann, Friedrich Biegler-König, beschrieben.

Aus der DE 195 31 967 ist ein Verfahren zum Training eines neuronalen Netzes mit dem nichtdeterministischen Verhalten eines technischen Systems bekannt. Das neu- ronale 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 tech- nische System aus der von dem neuronalen Netz zugeführten Stellgröße eine Regel- größe erzeugt, die dem neuronalen Netz als Eingangsgröße zugeführt wird. Die Stell- größ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 C1.

Ferner ist aus dem Stand der Technik ein Verfahren zur Abschätzung der Vertrau- enswürdigkeit der von einem neuronalen Netz abgegebenen Prognose bekannt : Protzel P. : Kindermann L., Tagscherer M., Lewandowski A."Abschätzung der Ver- trauenswürdigkeit von Neuronalen Netzprognosen bei der Prozessoptimierung", VDI Berichte NR. 1526,2000. Aus der EP 0 762 245 Bl ist ferner ein Verfahren zur Er- kennung von fehlerhaften Vorhersagen in einer neuromodellgestützten oder neuro- nalen Prozessregelung bekannt.

Ein gemeinsamer Nachteil dieser aus dem Stand der Technik bekannten Verfahren ist, dass diese lediglich eine Aussage über die Sensitivität des durch das neuronale Netz zur Verfügung gestellten Modells bezüglich Variationen der Trainingsdaten liefern können. Eine Aussage über die Vertrauenswürdigkeit einer von dem neuro- nalen Netz erstellten Prognose ist damit aber nicht möglich.

Aus F. Bärmann ; Handbuch zu NN-Tool 98,1998, ist ein Ansatz bekannt, bei dem versucht wird, den Prognosefehler an einer bestimmten Stelle mit Hilfe des bekann- ten Prognosefehlers an benachbarten Datenpunkten zu schätzen.

Allen diesen Verfahren ist gemeinsam, dass keine Aussage darüber getroffen wird, ob ein Eingangsdatensatz überhaupt in dem zulässigen Arbeitsbereich des neuronalen Netzes liegt. Aber nur in diesem Fall ist eine Fehlerschätzung möglich.

Der Erfindung liegt daher die Aufgabe zu Grunde ein Verfahren zu schaffen, welches es erlaubt zu prüfen, ob ein Eingabedatensatz in dem zulässigen Arbeitsbereich eines neuronalen Netzes liegt. Ferner liegt der Erfindung die Aufgabe zu Grunde ein ent- sprechendes Computerprogrammprodukt 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 vorliegende Erfindung ermöglicht es, einen Eingabedatensatz für ein neuronales Netz daraufhin zu überprüfen, ob er in dem zulässigen Arbeitsbereich des neuronalen Netzes liegt. Die Erfindung geht von der Erkenntnis aus, dass in neuronale Netze keine strukturellen Informationen einfließen, sondern lediglich Trainingseingabe- datensätze verwendet werden, die zum Beispiel messtechnisch ermittelt worden sind.

Aufgrund dessen können solche Modelle nur in den Bereichen vertrauenswürdige Prognosen liefern, in denen die Modelle trainiert worden sind.

Zwischen den gegebenen Trainingsdatenpunkten kann mit solchen Modellen sehr effizient interpoliert werden. Im Unterschied zu entsprechenden rigorosen Modellen können datengetriebene Modelle aber nicht oder nur sehr eingeschränkt extrapolie- ren. Insbesondere für die Überwachung und/oder Steuerung kritischer Applikationen ist es daher von großem Vorteil, dass geprüft werden kann, ob das verwendete Mo- dell in dem zulässigen Arbeitsbereich verwendet wird.

Dies gilt im verstärkten Maße auch für Hybridmodelle, bei denen es sich um eine Verschaltung mehrerer Neuronaler Netze mit rigorosen Modellen handelt. Hybrid- modelle sind zwar als Gesamtmodell extrapolierfähig aber für jede einzelne daten-

getriebene Teilkomponente, das heißt für die in dem Hybridmodell beinhalteten neu- ronalen Netze, muss der Interpolationsbereich überprüft werden.

Erfindungsgemäß wird der Arbeitsbereich eines neuronalen Netzes durch die von den Trainingseingabedatensätzen des neuronalen Netzes aufgespannte konvexe Hülle definiert. Beispielsweise hat ein neuronales Netz eine Anzahl von a Eingängen und eine Anzahl von b Ausgängen. Zur Modellbildung werden Datensätze für die a Eingangs-und die b Ausgangsparameter messtechnisch erfasst.

Soll beispielsweise eine Modellbildung für einen Herstellungsprozess erfolgen, so kann es sich bei den Eingangsparametern um Daten hinsichtlich der verwendeten Grundstoffe, deren Zusammensetzung und/oder um Parameter der Produktionsan- lage, wie zum Beispiel Drücke, Temperaturen und dergleichen handeln. Für die Aus- gangsparameter werden dann beispielsweise die resultierenden Produkteigenschaften gemessen. Auf diese Art und Weise erhält man Trainingsdatensätze, die jeweils einen Satz Eingangsparameter und zugehörige Ausgangsparameter beinhalten. Mit Hilfe dieser Trainingsdatensätze wird das neuronale Netz trainiert, das heißt die Ge- wichtungen der Neuronen werden iterativ angepasst.

Nach einer bevorzugten Ausführungsform der Erfindung kommt folgende Definition der konvexen Hülle als Festlegung des zulässigen Arbeitsbereichs zur Anwendung : Es sei P eine gegebene, endliche Menge von n Punkten pl,..., ? n. Die Punkte Pi (für der Menge P werden durch die Trainingseingabedatensätze, mit denen das neuronale Netz trainiert worden ist, gebildet. Ein Punkt x, das heißt ein bestimmter Eingabedatensatz, gehört zu der von P aufgespannten konvexen Hülle, die als conv (P) bezeichnet wird, wenn es reelle Zahlen 0 mit A, +... +An =1 gibt, so dass gilt #1p1+...+#npn = x für pi#P (für i=1,...,n). (Zur Theorie der kon- vexen Hüllen siehe auch : Dieter Jungnickel ; Optimieruyzgsmethoden ; Springer, Heidelberg ; 1999 ; ISBN : 3540660577)

Nach einer bevorzugten Ausführungsform der Erfindung wird auch die unmittelbare Umgebung der konvexen Hülle noch als zulässiger Arbeitsbereich betrachtet, da neu- ronale Netze auch in der unmittelbaren Nachbarschaft der konvexen Hülle noch sinnvolle Ergebnisse liefern können. Alternativ wird jedoch der Arbeitsbereich un- mittelbar auf die konvexe Hülle beschränkt, da eine exakte Aussage hierüber, wo die "unmittelbare Nachbarschaft"endet, nicht getroffen werden kann. Insbesondere für kritische Anwendungen, die beispielsweise die fortlaufende Produktion betreffen, wird daher der Arbeitsbereich auf das Innere der konvexen Hülle beschränkt, wobei die äußere Umgebung in der unmittelbaren Nachbarschaft der konvexen Hülle vom Arbeitsbereich ausgeschlossen wird.

Bei der praktischen Anwendung, insbesondere bei zeitkritischen Applikationen, ist es von besonderer Bedeutung effiziente Vorgehensweisen zu verwenden, um festzu- stellen, ob ein Eingabedatensatz in dem zulässigen Arbeitsbereich des zugehörigen Neuronalen Netzes liegt.

Aus der Literatur sind die Algorithmen Quickhull (seihe C. B. Barber, D. P. Dobkin und H. T. Huhdanpaa ;"The Quickhull Algorithm for Convex Hulls" ; ACM Transaction Mathematical Software ; Vol 22, No 4 ; 1996 ; p469-483, Simplex-Algo- rithmus) sowie der Simplex-Algorithmus (siehe z. B. Dieter Jungnickel ; Opti- mierungsmethoden ; Springer, Heidelberg ; l999 ; ISBN : 3540660577) an sich bekannt.

Diese Verfahren sind in hochdimensionalen Räumen (d. h. Eingangsdimension größer als 9) ineffizient, weil sie extrem lange Rechenzeiten benötigen oder auf handelübli- chen Rechnern am Speicherbedarf scheitern. In bevorzugten Ausführungsformen der Erfindung kann dagegen auf drei grundsätzlich verschiedene, sehr effiziente Verfah- ren zurückgegriffen werden.

Nach einer bevorzugten Ausführungsform der Erfindung wird zur Prüfung, ob ein Eingabedatensatz in der konvexen Hülle liegt, zunächst ein Simplex aus einer Anzahl von d + 1 nicht kollinearen Punkten aus der Menge P gebildet, wobei d die Dimen-

sion des von P aufgespannten Raums ist. Aus dem Inneren dieses Simplex wird dann ein Punkt ausgewählt. Hierfür kann zum Beispiel der Schwerpunkt des Sim- plex verwendet werden, der aus den Eckpunkten des Simplex berechnet wird. Dieser Punkt wird im Folgenden mit xo bezeichnet.

Im nächsten Schritt wird die Strecke [x, xo] zwischen dem durch den Eingabedaten- satz definierten Punkt x und dem aus dem Simplex gewählten Punkt xobetrachtet.

Dann wird geprüft, ob es einen Schnittpunkt der Strecke [x, xo] mit einer Facette des Simplex gibt. Bei den Facetten handelt es sich um die"Seitenflächen"des Simplex.

Wenn es einen solchen Schnittpunkt nicht gibt, bedeutet dies, dass der Punkt x im Inneren der konvexen Hülle liegt.

Ist das Gegenteil der Fall, so ergibt sich daraus, dass der Punkt x außerhalb des Simplex liegt. Damit ist aber noch nicht die Frage beantwortet, ob der Punkt x in- nerhalb oder außerhalb der konvexen Hülle liegt. Es wird daher geprüft, ob es mög- lich ist einen weiteren Simplex aus d + 1 nicht kollinearen Punkten aus der Menge P so zu bilden, dass der weitere Simplex den Schnittpunkt mit der Facette und einen Abschnitt der Strecke [x, xo] beinhaltet.

Wenn dies nicht möglich ist, ergibt sich daraus, dass der Punkt x außerhalb der kon- vexen Hülle liegt (Satz von Caratheodory). Wenn ein solcher Simplex gebildet wer- den kann, wird erneut die Prüfung durchgeführt, ob ein Schnittpunkt der Strecke [x, xo] mit einer Facette des weiteren Simplex existiert. Da es nur eine endliche Anzahl von Punkten in P gibt, kommt dieses Verfahren nach einer endlichen Anzahl von Iterationen zu der Aussage, ob x in der konvexen Hülle liegt oder nicht, da alle Simplices nacheinander geprüft werden können.

Nach einer bevorzugten Ausführungsform der Erfindung wird die Prüfung, ob die Bildung eines weiteren Simplex, das einen Abschnitt der Strecke [x, xo] beinhaltet, möglich ist, wie folgt durchgeführt : Zunächst werden die Eckpunkte der Facette, die

von der Strecke [x, xo] geschnitten wird, bestimmt. Dann wird ein weiterer Punkt aus der Menge P ausgewählt. Hierbei kann es sich um einen beliebigen Punkt handeln, der nicht zu den Eckpunkten der Facette gehört.

Aus dem weiteren Punkt und den Eckpunkten wird dann versuchsweise ein weiterer Simplex gebildet. Wenn dieser versuchsweise gebildete weitere Simplex einen Ab- schnitt der Strecke [x, xo] beinhaltet, so wird dieser versuchsweise gebildete weitere Simplex als Simplex für eine weitere Iteration des Verfahrens verwendet.

Wenn ein solcher Abschnitt von der Strecke [x, xo] in dem versuchsweise gebildeten Simplex nicht beinhaltet ist, wird der weitere aus P gewählte Punkt durch einen an- deren Punkt ersetzt, um versuchsweise einen weiteren Simplex zu bilden und um die nachfolgende Prüfung, ob ein Abschnitt von Strecke [x, xo] in dem versuchsweise gebildeten Simplex liegt, erneut durchzuführen.

Dieses Verfahren wird solange durchgeführt, bis entweder ein weiterer Simplex auf- gefunden worden ist oder alle in Frage kommenden Punkte aus der Menge P ge- wählt worden sind, ohne dass es zu der Bildung eines Simplex, der die Nebenbedin- gung erfüllt, einen Abschnitt der Strecke [x, xo] zu beinhalten, gekommen ist. In die- sem Fall endet das Verfahren mit der Aussage, dass keine Bildung eines weiteren Simplex möglich ist, das einen Abschnitt der Strecke [x, xo] beinhaltet, also x außer- halb der konvexen Hülle liegt.

Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird eine andere geometrische Eigenschaft der konvexen Hülle verwendet. Diese Eigenschaft lautet : Existiert eine Hyperebene durch den zu untersuchenden Punkt x, so dass sich alle pi c= P auf einer Seite der Ebene befinden, dann liegt der Punkt x außerhalb der durch P aufgespannten konvexen Hülle. (Satz von Hahn-Banach) Existiert keine solche Ebene, so liegt der Punkt im Innern.

Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird zur Beant- wortung der Frage, ob ein Punkt x in der konvexen Hülle liegt oder nicht, geprüft, ob sich das durch die analytische Definition der konvexen Hülle gegebene Gleichungssystem lösen lässt. Hierzu wird von einem iterativen Verfahren Gebrauch gemacht.

Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird einem neuro- nalen Netz ein Modul zur Prüfung, ob sich ein Eingabedatensatz in einem zulässigen Arbeitsbereich des neuronalen Netzes befindet, vorgeschaltet. Handelt es sich bei dem betreffenden System um ein System mit mehreren neuronalen Netzen und/oder um ein System mit rigorosen Modellanteilen, das heißt ein sogenanntes Hybrid- modell, so wird vorzugsweise jedem neuronalen Netz des Systems ein solches Modul vorgeschaltet. Werden mehrere Neuronale Netze verwendet, können diese Module mit einem logischem"UND"verknüpft werden, um zu gewährleisten, dass ein Ein- gabedatensatz im zulässigen Arbeitsbereich aller dieser Neuronalen Netze liegt. Dies ist insbesondere bei Hybridmodellen von Bedeutung.

Im weiteren werden bevorzugte Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen : Figur 1 ein Flussdiagramm einer ersten Ausführungsform eines Verfahrens zur Prüfung, ob ein Eingabedatensatz in der konvexen Hülle liegt, Figur 2 eine Weiterbildung des Verfahrens der Figur 1 zur Bestimmung eines weiteren Simplex, Figur 3 eine weitere Ausführungsform eines erfindungsgemäßen Verfahrens zur Prüfung, ob ein Eingabedatensatz in der konvexen Hülle liegt, Figur 4 eine grafische Veranschaulichung des Verfahrens der Figur 3,

Figur 5 eine weitere Ausführungsform des Verfahrens zur Prüfung, ob ein Eingabedatensatz in der konvexen Hülle liegt, basierend auf einer Prüfung, ob es eine Lösung für das durch die analytische Definition der konvexen Hülle gegebene Gleichungssystem gibt, Figur 6 ein Blockdiagram einer Ausführungsform eines erfindungsgemäßen Systems.

Die Figur 1 veranschaulicht eine erste Ausführungsform des Verfahrens zur Prüfung, ob ein Eingabedatensatz in der konvexen Hülle liegt. Dieses Verfahren geht von einem Punkt x0 im Inneren der konvexen Hülle aus und überprüft, ob die Strecke [x, xo] im Inneren der konvexen Hülle liegt.

Dabei ist x der durch den Eingabesatz bestimmte Punkt, von dem man wissen möchte, ob er ebenfalls im Inneren der konvexen Hülle liegt.

Dazu wird getestet, ob die Strecke [x, xo] eine der Facetten der konvexen Hülle schneidet. Ist dies der Fall, liegt der Punkt x außerhalb. Hierbei wird die geo- metrische Eigenschaft der konvexen Hülle ausgenutzt, dass jede geradlinige Verbin- dung zweier beliebiger Punkte der konvexen Hülle vollständig in der konvexen Hülle liegt.

Dieses Verfahren basiert auf der im Folgenden beschriebenen Vorgehensweise : Gegeben sei ein d-dimensionaler Raum Rd, wobei d die Anzahl der nicht kolli- neareren Trainingseingabedatensätze des neuronalen Netzes ist. Die Punktmenge P beinhaltet sämtliche Trainingseingabedatensätze, mit denen das neuronale Netz trai- niert worden ist. Diese Punktmenge P ist also vollständig in dem Raum Rd beinhaltet.

Weiter sei ein Punkt xo aus dem Inneren der konvexen Hülle, die von P aufge- spannt wird, mit einer bekannten Darstellung als konvexe Linearkombination der Punkte aus P, gegeben, d. h. es gibt #1(0),...,#n(0) # 0 mit #1(0) +...+#n(0) = 1 und #1(0)p1+...+#n(0)p = x0. Nach dem Satz von Caratheodory können die Koeffizienten Si (i=1,..., n) so gewählt werden, so dass alle bis auf d+1 gleich 0 sind. Weiter sei x E Rd ein Punkt, für den zu untersuchen ist, ob dieser im Inneren von conv (P) liegt oder nicht.

Es sei [x, xo] die Strecke zwischen den Punkten x und xo. Die bekannten Koeffizien- ten A ( =l,..., n) werden nun so modifiziert, dass eine Linearkombination mit den neuen Koeffizienten einen Punkt xl ergibt, der sich auf der Strecke [xox] befindet.

Dieser Vorgang wird so lange wiederholt, bis man schließlich den Punkt x trifft, oder auf eine der Seitenbegrenzungen der konvexen Hülle stößt.

Zur Modifikation der Koeffizienten A (°) wird eine geeignete Lösung des folgenden unterbestimmten, linearen Gleichungssystems gesucht : Gleichung 1 Anschließend wird ein Faktor c>0 so bestimmt, dass #i(0) + c#i # 0 für i =1,..., n gilt.

Man setze nun g °) + c.-,. Dann ist x1 := #1(i)p1 + ...+#n(i)pn eine konvexe Line- arkombination für einen Punkt x, e conv (P), der näher an x liegt als xo. Ist man für xo von der obenbeschrieben Linearkombination ausgegangen, in der höchsten d+1 Koeffizienten ungleich 0 sind, und wählt man das größt mögliche c, dann erhält man

auf diese Weise den Schnittpunkt der Strecke [x0, x] mit einer Facette des Simplexes, der von den zu den Koeffizienten gehörenden Punkten aus P aufgespannt wird.

Das Gleichungssystem der Gleichung 1 ist jedoch nicht eindeutig lösbar, und nicht für jede Lösung kann ein c > 0 gefunden werden, das den oben aufgeführten An- forderungen genügt, um neue Koeffizienten Ri (l) zu bestimmen.

Im Weiteren ist ein iteratives Verfahren angegeben, das eine Antwort auf die Frage ermöglicht, ob eine Lösung des Gleichungssystems existiert und damit der Punkt x in der konvexen Hülle liegt oder nicht : Initialisierungsschritt : Es sei d die Dimension des Raumes, in dem die konvexe Hülle liegt. Um einen Startwert xo zu bestimmen werden d beliebige linear unabhängige Punkte q e P für j=1,..., d ausgewählt. Man wähle nun ein x0 = #1(0)q1(0) +...+#d(0)qd(0) # conv(q1(0),...,qd(0)) als Startwert. Des Weiteren setzen wir i = 0.

Iterationsschritt : Durch die Punkte q1(i),...,qd(i) wird eine (d-1)-dimensionale Hyper- fläche im Rd eindeutig festgelegt. Diese Hyperfläche soll durch Hinzunahme eines weiteren Punktes aus der Menge P zu einem d-dimensionalen Simplex ausgebaut werden. Es sei nun qdi P der Punkt mit der Eigenschaft, dass das längste mög- liche Teilstück der Strecke xix im Inneren des Simplex q q (') liege.

Um diesen Punkt herauszufinden, muss man mehrfach nahezu dasselbe Gleichungs- system lösen, was sich performant durchführen lässt. Ist es nicht möglich, einen weiteren Eckpunkt des Simplex zu finden, so befindet sich der Punkt x außerhalb der

konvexen Hülle und das Verfahren kommt zum Abbruch. Im anderen Fall besitzt das Gleichungssystem eine eindeutige Lösung (#1,...,#d+1) und es kann ein c >0 mit den oben beschriebe- nen Eigenschaften gewählt werden. Man setze nun #j(i+1) := #j(i) + c#j für j =1,..., d+l. Man kann c so wählen, dass entweder eines der (für j = 1,.... d+1) gleich 0 wird oder c =1 gilt. Tritt der Fall c =1 auf, so liegt der Punkt x im Inne- ren der konvexen Hülle und das Verfahren kann beendet werden.

Im anderen Fall muss ein weiterer Iterationsschritt durchgeführt werden. Als Punkte (1+') wähle man die d Punkte aus der Menge bei denen das jeweils zugehörige #j(i+1) (j=1,...,d+1) ungleich 0 sind. Anschließend wird i um 1 erhöht.

Liegt der Punkt x im Inneren der konvexen Hülle von P, so liefert der Algorithmus eine konvexe Linearkombination zur Darstellung des Punktes. Liegt der Punkt au- ßerhalb, so erhält man d Punkte, durch die eine Hyperebene E bestimmt ist, welche die Punktmenge P von dem Punkt x trennt. Dies bedeutet, dass alle Punkte des die auf derselben Seite von E liegen wie der Punkt x, nicht zur konvexen Hülle gehö-

ren können. Dies kann bei einer Mehrfachauswertung genutzt werden, um die ge- samte Auswertung erheblich zu beschleunigen.

Eine Realisierungsform dieses Verfahrens ist in der Figur 1 veranschaulicht : In dem Schritt 100 wird ein Eingabedatensatz, für den eine Prognose erstellt werden soll, eingegeben. Dieser Eingabedatensatz für das neuronale Netz bestimmt einen Punkt x.

In dem Schritt 101 wird eine Anzahl von d + 1 nicht kollinearen Punkten aus der Menge P gewählt.

In dem Schritt 102 wird der Index lauf Null gesetzt. In dem Schritt 103 wird ein Simplex S, aus den in dem Schritt 101 gewählten Punkten gebildet.

In dem Schritt 104 wird ein Punkt x, aus dem Inneren des Simplex S, gewählt. Bei- spielsweise wird der Schwerpunkt aus den Eckpunkten des Simplex S, berechnet, um den Punkt x, zu erhalten.

In dem Schritt 105 wird eine Strecke [xlx] zwischen x und xi definiert.

In dem Schritt 106 wird geprüft, ob ein Schnittpunkt x+l der Strecke [xlx] mit einer Facette des Simplex S, zwischen x und x, liegt. Es wird also geprüft, ob man von x, ausgehend auf der Geraden Richtung x laufend zuerst x oder eine Facette des Simplex S, erreicht.

Wenn es einen solchen Schnittpunkt x+l der Strecke [xlx] mit einer Facette von St gibt, bedeutet dies, dass der Punkt x nicht innerhalb des Simplex S, liegt. Ist das Gegenteil der Fall, so wird in dem Schritt 107 ausgegeben, dass x in der konvexen

Hülle liegt, da ja festgestellt worden ist, dass x in dem Simplex S, liegt und dieser wiederum vollständig innerhalb der konvexen Hülle liegt.

Liegt dagegen der Punkt x außerhalb des Simplex S"so wird in dem Schritt 108 geprüft, ob es möglich ist, einen weiteren Simplex St+i in P zu finden, der sowohl den Schnittpunkt x, und einen Abschnitt der Geraden g beinhaltet. Wenn dies nicht möglich ist, wird in dem Schritt 109 ausgegeben, dass x außerhalb der kon- vexen Hülle liegt.

Im gegenteiligen Fall wird der Index 1 in dem Schritt 110 um Eins erhöht und der Schritt 106 mit Bezug auf den weiteren Simplex erneut durchgeführt Die Figur 2 zeigt eine Weiterbildung des Verfahrens der Figur 1 zur Durchführung der Prüfung in dem Schritt 108. Zur Durchführung dieser Prüfung werden in dem Schritt 200 zunächst die Eckpunkte der Facette von Si auf der der Schnittpunkt x, + liegt, bestimmt.

In dem Schritt 201 wird ein weiterer Punkt aus P gewählt, der nicht bereits ein Eck- punkt der Facette von S, ist und der nicht kollinear zu den Eckpunkten der Facette ist.

In dem Schritt 202 wird ein Simplex S'aus den Eckpunkten und dem weiteren Punkt aus P gebildet.

In dem Schritt 203 wird geprüft, ob der Simplex S'einen Abschnitt der Strecke [xlx] beinhaltet. Wenn dies der Fall ist, wird in dem Schritt 204 der gesuchte weitere Sim- plex S+l gleich dem Simplex S'gesetzt. Damit ist dann auch die Frage beantwortet, ob es tatsächlich möglich ist, einen solchen Simplex S, +, zu bilden.

Wenn die Prüfung in dem Schritt 203 ergibt, dass der Simplex S'keinen Abschnitt von der Geraden g beinhaltet, wird in dem Schritt 205 geprüft, ob zuvor bereits alle in Frage kommenden Punkte aus P in dem Schritt 201 gewählt worden sind. Ist dies nicht der Fall, so wird in dem Schritt 201 ein weiterer Punkt aus P gewählt, der zu- vor noch nicht gewählt worden ist, um eine weitere Iteration des Verfahrens durch- zuführen.

Wenn auch nach"Ausprobieren"sämtlicher aus P in Frage kommender Punkte kein Simplex SI+ gefunden werden konnte, so wird in dem Schritt 206 eine entspre- chende Information ausgegeben. Dies bedeutet zugleich, dass der Punkt x außerhalb der konvexen Hülle liegt.

Von besonderem Vorteil bei dieser Ausführungsform ist, dass das Verfahren in je- dem Fall nach einer endlichen Anzahl von Schritten zu einer Aussage führt, ob der Eingabedatensatz in der konvexen Hülle, und damit im Arbeitsbereich liegt oder nicht.

Die Figur 3 zeigt eine weitere Ausführungsform eines Verfahrens zur Prüfung, ob ein Eingabedatensatz in der konvexen Hülle liegt. Dieses Verfahren ergibt sich nicht unmittelbar aus der Definition der konvexen Hülle als Linearkombination der Stütz- stellen. Vielmehr wird hier eine andere geometrische Eigenschaft der konvexen Hülle verwendet, die in der Figur 4 auch grafisch verdeutlicht ist : Existiert eine Hyperebene durch den zu untersuchenden Punkt x, so dass sich alle p, eP auf einer Seite der Ebene befinden, dann liegt der Punkt x außerhalb der durch P aufgespannten konvexen Hülle. Existiert keine solche Ebene, so liegt der Punkt im Innern.

Wird die Ebene durch den Normalenvektor k dargestellt, so lässt sich die Bedingung "alle Punkte ? liegen auf einer Seite der Ebene"folgendermaßen ausdrücken :

k-ri>O, i=1... 7a wobei ri = pi-x die Ortsvektoren der Datenpunkte in einem Koordinatensystem sind, welches den zu untersuchenden Datenpunkt im Ursprung hat.

Ohne Beschränkung der Allgemeinheit, kann die Ungleichheit auf"größer"abgefragt werden, da der Normalenvektor-k dieselbe Hyperebene darstellt wie k. Punkte auf den Facetten der konvexen Hülle fuhren zu einem Skalarprodukt gleich 0 und sind somit Bestandteil der konvexen Hülle.

Vorzugsweise wird für die Suche nach einer Hyperebene ein Optimierungsverfahren eingesetzt.

Dabei wird bei variierendem Normalenvektor k folgende Zielfunktion minimiert : Ist das Optimum von F kleiner als 0, so liegt der zu untersuchende Punkt außerhalb der konvexen Hülle. Für Punkte innerhalb der konvexen Hülle lässt sich keine Hy- perebene finden, für die F<0 gilt.

Für den Einsatz als Optimierungsverfahren kommen verschiedene Verfahren in Be- tracht, wie zum Beispiel die MATLAB-Routine fminsearch, sowie das Gradien- tenverfahren, ein Levenberg-Marquard-Algorithmus oder eine Evolutionsstrategie, die auch in Kombination mit lokalen Verfahren eingesetzt werden kann.

Ein für das Laufzeitverhalten des Algorithmus wesentlicher Vorteil ist, dass wenn für einen Datenpunkt eine entsprechende Hyperebene gefunden worden ist, diese auch

eine Lösung für alle Punkte auf der Seite der Ebene darstellt, welche der konvexen Hülle gegenüberliegt. Ist für mehrere Datenpunkte simultan die Untersuchung auf Zugehörigkeit zur konvexen Hülle durchzuführen, so kann das Verfahren hierdurch erheblich beschleunigt werden.

Die Figur 3 veranschaulicht dieses Verfahren anhand eines Flussdiagramms. In dem Schritt 300 wird der Eingabedatensatz, das heißt der Punkt x, eingegeben.

In dem Schritt 301 wird mittels eines oder mehreren der genannten Verfahren ge- prüft, ob es eine Hyperebene gibt, die x beinhaltet und für die gilt k rì >0, i = l,..., n, wobei es sich bei k um den Normalenvektor der gesuchten Hyperebene handelt und bei ri um den Differenzvektor zwischen einem durch einen Trainingseingabedatensatz gegebenen Punkt p, und x.

Wenn es eine solche Hyperebene gibt, folgt daraus in dem Schritt 302, dass x in der konvexen Hülle liegt. Im gegenteiligen Fall wird in dem Schritt 303 eine Information ausgegeben, wonach x außerhalb der konvexen Hülle liegt.

Die Prüfung in dem Schritt 301, ob es eine geeignete Hyperebene gibt, ist in der Figur 4 veranschaulicht. Die in dem grauschraffierten Bereich der Figur 4 befind- lichen Punkte Pi spannen eine konvexe Hülle 400 auf. Der Punkt x befindet sich außerhalb der konvexen Hülle 400. Zwischen dem Punkt x und den Punkten Pi be- finden sich die Differenzvektoren r, = pi-x.

Durch x verläuft eine Hyperebene 401, die durch den Normalenvektor k beschrie- ben wird. Da sich alle Punkte p, der konvexen Hülle 400 auf derselben Seite der Hyperebene 400 befinden, folgt daraus, dass x tatsächlich außerhalb der konvexen Hülle 400 liegt.

Die Figur 5 veranschaulicht ein weiteres Verfahren zur Prüfung, ob ein Eingabe- datensatz x in der konvexen Hülle liegt.

Bei diesem Verfahren wird geprüft, ob es eine Lösung für das Gleichungssystem gibt, welches der analytischen Definition der konvexen Hülle entnommen ist.

Gleichung 2 <BR> <BR> <BR> <BR> #1p1 +...+#npn = #<BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> #1 +...+#n = 1 Dabei wird nach einer Lösung gesucht, so dass die Nebenbedingungen B ; > 0 erfüllt sind. Bei dem folgenden Verfahren wird sukzessive versucht dies zu erreichen.

Wie bei dem Verfahren der Figuren 1 und 2 wird auch in diesem Fall von einer An- fangslösung für #(0):=(#1(0),...,#n(0)) ausgegangen, für die im allgemeinen die Un- gleichungsnebenbedingungen nicht erfüllt sind.

Wir schreiben im folgenden Gleichung 2 in Matrix Form. Man erhält dann Gleichung 3 P (°) x = x wobei bei dem Vektor x und der Punktematrix P (°) jeweils eine Zeile mit Einsen zugefügt wurde.

Initialisierungsschritt Wir setzen i=0 und wählen einen beliebigen n-dimensionalen Vektor <BR> <BR> <BR> #(0) = (#1,...,#n) mit #1 +...+#n = 1<BR> <BR> <BR> <BR> <BR> <BR> <BR> und #t # 0.

Iterationsschritt Als erstes transformieren wir die Gleichung 3, indem wir sie auf beiden Seiten mit einer Matrix M multiplizieren. Die Matrix M ist dabei so zu wählen, dass die Zeilen der Matrix P (') : = M-P () orthonomiiert sind (sollte solch eine Matrix M nicht exis- tieren, können abhängige Zeilen in der Matrix P () weggelassen werden). Weiter sei -=M. x. Es wird nun nicht versucht das Gleichungssystem P =. y direkt zu lösen, sondern wir gehen von dem bekannten KoeffizientenvektorA aus und setzen Wir suchen nun nach einer Lösung des äquivalenten Gleichungs- systems #(i)#(#-#(i)) = #-#(i).

Da in den meisten Fällen dieses Gleichungssystem unterbestimmt ist, suchen wir nach der Lösung X, so dass ##-#(i)# minimal ist (wobei ### die euklidische Norm bezeichnet). Hierbei können wir ausnutzen, dass die Matrix () orthonormiert ist. Es gilt # = #(i) + #(i)T#(#-#(i)), wobei P (i) die Transponierte der Matrix ist. Falls alle Komponenten des so ge- fundenen Koeffizientenvektors X die Nebenbedingungen Ä, > 0 erfüllen, so ist eine konvexe Linearkombination für den Punkt x gefunden worden und der Punkt x liegt daher im Inneren der konvexen Hülle. Andernfalls setzen wir alle Koeffizienten, welche die Nebenbedingung verletzen, für den Rest des Verfahrens auf Null und ver- suchen die Komponenten, welche die Nebenbedingung nicht verletzen, so zu korri- gieren, dass dieser Schritt kompensiert wird. Praktisch bewerkstelligt man dies da- durch, dass sowohl alle Komponenten, welche die Nebenbedingung verletzen, aus dem Vektor X als auch alle zugehörigen Spalten aus der Matrix P eliminiert werden.

Den so erhaltenen Vektor kleinerer Dimension und die so erhaltene Matrix mit weni- ger Spalten bezeichnen wir mit #(i+1) und P(i+1).

Für die Korrektur muss das (kleinere) Gleichungssystem p (i+l) R = X gelöst werden. Dafür führen wir nun einen weiteren Iterationsschritt aus, wobei wir i um eins erhöhen, diesmal mit #(i+1) als Startwert. Lässt sich das Gleichungssystem nicht lösen, so existiert keine konvexe Linearkombination für den Punkt x und der Punkt befindet sich außerhalb der konvexen Hülle.

Da bei jedem Iterationsschritt immer mindestens eine Spalte eliminiert wird, kommt das Verfahren nach maximal n Schritten zu einem Ergebnis.

Eine Ausführungsform dieses Verfahrens ist in der Figur 5 veranschaulicht.

In dem Schritt 500 wird der Index i gleich Null gesetzt. In dem Schritt 501 wird ein Startwert für den n-dimensionalen Vektor A (°), der die Nebenbedingungen erfüllt, gewählt. Hierzu kann beispielsweise Ri = 1/n gewählt werden.

In dem Schritt 502 wird die Matrix M berechnet. Darauf basierend erfolgt in dem Schritt 503 die Berechnung der Matrix p (i) und der Vektoren xund xhi).

Daraus wird in dem Schritt 504 # = #(i)+#(i)T#(#-#(i)) berechnet.

In dem Schritt 505 wird geprüft, ob alle Si j=l,.., n) des in dem Schritt 504 berech- neten Vektors A 2 0 sind. Wenn dies der Fall ist, folgt daraus in dem Schritt 506, dass der durch den Eingabedatensatz gegebene Punkt innerhalb der konvexen Hülle liegt.

Ist das Gegenteil der Fall, so werden in dem Schritt 507 alle Komponenten des Vek- tors A und die entsprechenden Spalten der Matrix P ('), die die Nebenbedingung ver- letzten, gestrichen. Daraus resultiert das kleinere Gleichungssystem P* = x.

In dem Schritt 508 wird der Index i inkrementiert, um eine weitere Iteration des Ver- fahrens durchzuführen.

Die Figur 6 zeigt ein Blockdiagram einer Ausführungsform eines erfindungsgemäßen Systems 600. Das System 600 hat ein Eingabemodul 601 zur Eingabe eines Eingabe- datensatzes, der in dem hier betrachteten Beispiel aus a= 3 Parametern besteht.

Das Eingabemodul 601 ist mit einem Modul 602 verknüpft, welches zur Prüfung dient, ob ein Eingabedatensatz innerhalb der konvexen Hülle des neuronalen Netzes 603 liegt. Diese Prüfung erfolgt beispielsweise nach einem der mit Bezug auf die Figuren 1 bis 5 geschilderten Verfahren oder nach einem anderen Verfahren.

Das Modul 602 ist mit dem neuronalen Netz 603 verknüpft. Wenn das Modul 602 feststellt, dass ein Eingabedatensatz in dem zulässigen Arbeitsbereich des neuronalen Netzes liegt, der durch die konvexe Hülle gegeben ist, erfolgt eine Eingabe dieses Eingabedatensatzes in das neuronale Netz 603, welches dann zumindest einen Prog- nosewert an seinem Ausgang 604 abgibt. Stellt das Modul 602 dagegen fest, dass der Eingabedatensatz nicht in dem zulässigen Arbeitsbereich liegt, so wird an dem Aus- gang 605 ein entsprechendes Signal abgegeben, wonach für den aktuellen Eingabe- datensatz keine zuverlässige Prognose möglich ist.

Neben dem neuronalen Netz 603 kann das System 600 noch weitere neuronale Netze beinhalten (Hybridmodell), denen jeweils wiederum ein dem Modul 602 entspre- chendes Modul vorgelagert ist. Die Ergebnisse der einzelnen Module 602 müssen dann mit einem logischen"UND"verknüpft werden. Dadurch wird sichergestellt, dass alle neuronalen Netze des Hybridmodells 600 für einen bestimmten Eingabe- datensatz des Eingabemoduls 601 in einem zulässigen Arbeitsbereich betrieben werden. Daneben kann das System 600 auch noch rigorose Modellanteile beinhalten.

Bezugszeichenliste konvexe Hülle 400 Hyperebene 401 System 600 Eingabemodul 601 Modul 602 neuronales Netz 603 Ausgang 604 Ausgang 605