DE102022209903A1 - SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS - Google Patents
SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS Download PDFInfo
- Publication number
- DE102022209903A1 DE102022209903A1 DE102022209903.6A DE102022209903A DE102022209903A1 DE 102022209903 A1 DE102022209903 A1 DE 102022209903A1 DE 102022209903 A DE102022209903 A DE 102022209903A DE 102022209903 A1 DE102022209903 A1 DE 102022209903A1
- Authority
- DE
- Germany
- Prior art keywords
- areas
- computer
- implemented method
- machine
- input vector
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 claims abstract description 351
- 238000000034 method Methods 0.000 claims abstract description 145
- 238000012549 training Methods 0.000 claims description 126
- 238000011156 evaluation Methods 0.000 claims description 51
- 238000000638 solvent extraction Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 12
- 238000013213 extrapolation Methods 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000005457 optimization Methods 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- AWFYPPSBLUWMFQ-UHFFFAOYSA-N 2-[5-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]-1,3,4-oxadiazol-2-yl]-1-(1,4,6,7-tetrahydropyrazolo[4,3-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C1=NN=C(O1)CC(=O)N1CC2=C(CC1)NN=C2 AWFYPPSBLUWMFQ-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/091—Active learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Abstract
Es wird ein Verfahren zum Schätzen eines verborgenen Systemzustands eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus offenbart. Dabei wird in Abhängigkeit von mindestens einem vorbestimmten Kriterium eine Schätzung des maschinengelernten Algorithmus für den verborgenen Systemzustand für einen Eingabevektor wahlweise erlaubt oder blockiert. Das mindestens eine vorbestimmte Kriterium berücksichtigt eine Position (85) des Eingabevektors im entsprechenden Eingabevektorraum (71).A method for estimating a hidden system state of a technical-physical system using a machine-learned algorithm is disclosed. Depending on at least one predetermined criterion, an estimate of the machine-learned algorithm for the hidden system state for an input vector is either permitted or blocked. The at least one predetermined criterion takes into account a position (85) of the input vector in the corresponding input vector space (71).
Description
TECHNISCHES GEBIETTECHNICAL FIELD
Verschiedene Beispiele betreffen Techniken, um eine Steuerung von technisch-physikalischen Systemen zu ermöglichen. Verschiedene Beispiele betreffen Techniken, um einen verborgenen Systemzustand von solchen technisch-physikalischen Systemen zu schätzen und gegebenenfalls eine assoziierte Unsicherheit zu bestimmen.Various examples concern techniques to enable control of technical-physical systems. Various examples concern techniques for estimating a hidden system state of such technical-physical systems and, if necessary, determining an associated uncertainty.
HINTERGRUNDBACKGROUND
In verschiedenen Anwendungsgebieten werden maschinengelernte Algorithmen eingesetzt, da entsprechende, vom maschinengelernten Algorithmus zu lösende Aufgabenstellungen durch eine Beschreibung von Anforderungen definiert werden können. Beispielsweise können maschinengelernte Algorithmen zur Steuerung von technisch-physikalischen Systemen (d.h. technischen Anlagen) eingesetzt werden. Der maschinengelernte Algorithmus kann einen verborgenen Systemzustand des technisch-physikalischen Systems vorhersagen (Inferenz).Machine-learned algorithms are used in various application areas because the corresponding tasks to be solved by the machine-learned algorithm can be defined by a description of requirements. For example, machine-learned algorithms can be used to control technical-physical systems (i.e. technical systems). The machine-learned algorithm can predict a hidden system state of the technical-physical system (inference).
Beispielsweise können maschinengelernte Algorithmen dazu verwendet werden, um ein Fahrzeug, etwa ein Kraftfahrzeug oder einen Zug, zu steuern. Maschinengelernte Algorithmen können dazu verwendet werden, um Wartungsintervalle für technisch-physikalische Systeme wie zum Beispiel Fahrzeuge oder Infrastruktur (beispielsweise Schienen, Weichen, Personenbeförderungsmittel wie Rolltreppen oder Laufbänder, Fertigungsanlagen, usw.) zu überwachen und gegebenenfalls anzupassen.For example, machine-learned algorithms can be used to control a vehicle, such as a motor vehicle or a train. Machine-learned algorithms can be used to monitor and, if necessary, adjust maintenance intervals for technical-physical systems such as vehicles or infrastructure (e.g. rails, switches, means of passenger transport such as escalators or treadmills, production facilities, etc.).
In solchen Szenarien ist es oftmals möglich, etwa mittels Domänenwissen eines Experten, bestimmte Vorgänge in historischen Daten zu identifizieren, die eine zugeordnete Steuer-Aktion für das technisch-physikalische System erfordern. Dies entspricht der oben genannten Beschreibung von Anforderungen an die Steueraufgabe des maschinengelernten Algorithmus.In such scenarios, it is often possible, for example using an expert's domain knowledge, to identify certain processes in historical data that require an assigned control action for the technical-physical system. This corresponds to the above description of requirements for the control task of the machine-learned algorithm.
Der maschinengelernte Algorithmus bestimmt also bei Vorliegen von Eingabemerkmalen (die typischerweise in Form eines Eingabevektors an den maschinengelernten Algorithmus übergeben werden) ein oder mehrere Ausgabemerkmale (typischerweise in Form eines Ausgabevektors). Dafür wird der maschinengelernte Algorithmus basierend auf ein oder mehreren Trainingsdatensätzen trainiert. Ein Trainingsdatensatz umfasst jeweils mehrere Trainingsdatenpaare eines Eingabevektors und assoziierte Grundwahrheiten. Der Eingabevektor umfasst mehrere Einträge, die jeweils Merkmale von Zustandsdaten des technisch-physikalischen Systems kodieren. Die Grundwahrheiten beschreiben eine Soll-Position im Vektorraum des Ausgabevektors des maschinengelernten Algorithmus. Durch das Training des maschinengelernten Algorithmus wird erreicht, dass der Ausgabevektor, der vom maschinengelernten Algorithmus erhalten wird, möglichst gut mit der Soll-Position im Vektorraum übereinstimmt.The machine-learned algorithm therefore determines one or more output features (typically in the form of an output vector) given the presence of input features (which are typically passed to the machine-learned algorithm in the form of an input vector). To do this, the machine-learned algorithm is trained based on one or more training data sets. A training data set includes several training data pairs of an input vector and associated ground truths. The input vector includes several entries, each of which encodes characteristics of state data of the technical-physical system. The ground truths describe a target position in the vector space of the output vector of the machine-learned algorithm. Training the machine-learned algorithm ensures that the output vector obtained from the machine-learned algorithm matches the target position in vector space as closely as possible.
Durch den Erfolg von maschinengelernten Algorithmen werden diese vermehrt auch in Anwendungsgebieten eingesetzt, bei denen das Leben von Personen, ihre Gesundheit oder die Umwelt durch eine Fehlfunktion des maschinengelernten Algorithmus gefährdet werden können. Beispiele betreffen z.B. autonome Fahrzeuge, die am Verkehr teilnehmen.Due to the success of machine-learned algorithms, they are increasingly being used in areas of application where the lives of people, their health or the environment can be endangered by a malfunction of the machine-learned algorithm. Examples concern, for example, autonomous vehicles that take part in traffic.
Deshalb ist es notwendig, ein möglichst gutes Training des maschinengelernten Algorithmus durchzuführen, so dass Fehlfunktionen vermieden werden.It is therefore necessary to train the machine-learned algorithm as well as possible so that malfunctions are avoided.
Die verfügbaren Trainingsdatensätze sind aber im Umfang limitiert. Das bedeutet, dass nicht für alle Positionen im Vektorraum des Eingabevektors (Eingabevektorraum) eine zugeordnete Grundwahrheit verfügbar ist. Deshalb erfolgt beim Training eines maschinengelernten Algorithmus eine Verallgemeinerung. Das bedeutet, dass bei der Inferenz (d.h. ohne verfügbare Grundwahrheit) auch für bisher unbekannte Beispiele eine Ausgabe des maschinengelernten Algorithmus bereitgestellt wird.However, the available training data sets are limited in scope. This means that an associated ground truth is not available for all positions in the vector space of the input vector (input vector space). Therefore, when training a machine-learned algorithm, generalization occurs. This means that during inference (i.e. without available ground truth) an output from the machine-learned algorithm is provided even for previously unknown examples.
Bei vorbekannten Systemen besteht die Gefahr, dass bei der Inferenz das Leben oder die Gesundheit von Personen gefährdet wird. Dies passiert, wenn falsche Ausgaben erzeugt werden, das heißt zum Beispiel ein verborgener Systemzustand eines technisch-physikalischen Systems falsch vorhergesagt wird.With previously known systems, there is a risk that the life or health of people will be endangered during the inference. This happens when incorrect outputs are generated, i.e., for example, a hidden system state of a technical-physical system is incorrectly predicted.
ZUSAMMENFASSUNGSUMMARY
Deshalb besteht ein Bedarf für verbesserte Techniken zur Schätzung von verborgenen Systemzuständen eines technisch-physikalischen Systems mittels maschinengelernten Algorithmen. Insbesondere besteht ein Bedarf für Techniken, die die vorgenannten Nachteile und Einschränkungen lindern.There is therefore a need for improved techniques for estimating hidden system states of a technical-physical system using machine-learned algorithms. In particular, there is a need for techniques that alleviate the aforementioned disadvantages and limitations.
Diese Aufgabe wird gelöst von den Merkmalen der unabhängigen Patentansprüche. Die abhängigen Patentansprüche definieren Ausführungsformen.This task is solved by the features of the independent patent claims. The dependent claims define embodiments.
Gemäß verschiedenen Beispielen kann ein maschinengelernter Algorithmus verwendet werden, der basierend auf Eingabevektoren Ausgabevektoren bestimmt. Die Eingabevektoren können jeweils Zustandsdaten eines technisch-physikalischen Systems codieren. Die Ausgabevektoren können einen jeweiligen verborgenen Systemzustand des technisch-physikalischen Systems vorhersagen.According to various examples, a machine-learned algorithm that determines output vectors based on input vectors may be used. The input vectors can each encode status data of a technical-physical system. The output vectors can predict a respective hidden system state of the technical-physical system.
Der maschinengelernte Algorithmus kann diskrete Systemzustände (Klassen) vorhersagen, also einen Klassifikator implementieren.The machine-learned algorithm can predict discrete system states (classes), i.e. implement a classifier.
In manchen Beispielen könnte auch eine Regression vom maschinengelernten Algorithmus durchgeführt werden.In some examples, regression could also be performed by the machine-learned algorithm.
Die Eingabevektoren können zwei oder mehr Dimensionen haben. Die Ausgabevektoren können zwei oder mehr Dimensionen haben. Die Position eines Eingabevektors im entsprechenden Vektorraum (Eingabevektorraum) definiert die Position des zugehörigen Ausgangsvektors im entsprechenden Vektorraum (Ausgabevektorraum) .The input vectors can have two or more dimensions. The output vectors can have two or more dimensions. The position of an input vector in the corresponding vector space (input vector space) defines the position of the associated output vector in the corresponding vector space (output vector space).
Gemäß verschiedenen Beispielen werden Kontextdaten für den maschinengelernten Algorithmus bei der Inferenz verwendet. Die Kontextdaten stellen ergänzende Information zum maschinengelernten Algorithmus bereit. Die Kontextdaten werden im Zusammenhang mit dem Training des maschinengelernten Algorithmus bestimmt. Die Kontextdaten können dabei helfen, eine Zuverlässigkeit einer Schätzung des verborgenen Systemzustand durch den maschinengelernten Algorithmus zu bestimmen.According to various examples, contextual data is used for the machine-learned algorithm in inference. The context data provides supplementary information to the machine-learned algorithm. The context data is determined in connection with the training of the machine-learned algorithm. The contextual data can help determine a reliability of an estimate of the hidden system state by the machine-learned algorithm.
In den verschiedenen hierin beschriebenen Beispielen kann der Informationsgehalt der Kontextdaten variieren.In the various examples described herein, the information content of the context data may vary.
Die Kontextdaten sind beispielsweise indikativ für Bereiche im Eingabevektorraum des maschinengelernten Algorithmus, definieren also Hypervolumen des Eingabevektorraums. Es kann überprüft werden, wie der Eingabevektor in Bezug auf diese Bereiche positioniert ist. Daraus kann abgeleitet werden, ob eine zuverlässige oder unzuverlässige Vorhersage des maschinengelernten Algorithmus für diesen Eingabevektor vorliegt.The context data are, for example, indicative of areas in the input vector space of the machine-learned algorithm, i.e. define hypervolumes of the input vector space. It can be checked how the input vector is positioned with respect to these areas. From this it can be deduced whether there is a reliable or unreliable prediction of the machine-learned algorithm for this input vector.
Die Bereiche können dabei z.B. als Delaunay -Triangulation des Eingaberaumes bestimmt werden, sodass Eingabevektoren von Trainingsdatenpaaren eines Trainingsdatensatzes Ecken der jeweiligen Flächen (genaugenommen Hyperflächen beliebiger Dimensionalität; wobei aber der Einfachheit halber nur auf Flächen Bezug genommen wird) bilden. Dadurch interpolieren die Bereiche also zwischen den Eingabevektoren, für die im Rahmen der Trainingsdatenpaare auch Grundwahrheiten verfügbar sind.The areas can be determined, for example, as a Delaunay triangulation of the input space, so that input vectors of training data pairs of a training data set form corners of the respective surfaces (more precisely, hypersurfaces of any dimensionality; however, for the sake of simplicity, reference is only made to surfaces). As a result, the areas interpolate between the input vectors for which ground truths are also available within the training data pairs.
Die Kontextdaten können auch eine Partitionierung der Bereiche in solche, die mit einer geringen Unsicherheit des Schätzens des verborgenen Systemzustand assoziiert sind, und solche, die mit einer großen Unsicherheit des Schätzens des verborgenen Systemzustand assoziiert sind, beinhalten. Alternativ könnte eine solche Partitionierung noch zur Inferenz erzeugt werden.The context data may also include partitioning the regions into those associated with low uncertainty in estimating the hidden system state and those associated with high uncertainty in estimating the hidden system state. Alternatively, such a partitioning could still be created for inference.
Alternativ oder zusätzlich wäre es auch denkbar, dass die Kontextdaten für zumindest einige Bereiche ein oder mehrere erlaubte Ergebnisse für den verborgenen Systemzustand indiziert. Das bedeutet also in anderen Worten, dass die Bereiche anzeigen können, welche Ausgabevektoren des maschinengelernten Algorithmus zulässig sind.Alternatively or additionally, it would also be conceivable that the context data indexes one or more permitted results for the hidden system state for at least some areas. In other words, this means that the areas can indicate which output vectors of the machine-learned algorithm are allowed.
Solche Kontextdaten können also bei der Inferenz - wenn keine Grundwahrheit verfügbar ist - dazu verwendet werden, um die Ausgabe des maschinengelernten Algorithmus auf Plausibilität zu überprüfen.Such context data can therefore be used during inference - when no ground truth is available - to check the plausibility of the output of the machine-learned algorithm.
Die Kontextdaten können im Zusammenhang mit dem Training des maschinengelernten Algorithmus bestimmt werden. Beispielsweise wäre es denkbar, dass die Kontextdaten basierend auf Eingabevektoren eines Trainingsdatensatzes bestimmt werden. Beispielsweise können die oben genannten Bereiche, die durch die Kontextdaten indiziert werden, durch Interpolation zwischen Positionen der Eingabevektoren des Trainingsdatensatzes bestimmt werden.The context data can be determined in connection with training the machine-learned algorithm. For example, it would be conceivable that the context data is determined based on input vectors of a training data set. For example, the above-mentioned regions indexed by the context data may be determined by interpolation between positions of the input vectors of the training data set.
Die Kontextdaten können aber nicht nur im Zusammenhang mit der Inferenz verwendet werden. Beispielsweise wäre es auch möglich, anhand der Kontextdaten zu bestimmen, für welche Positionen im Eingabevektorraum weitere Trainingsdatenpaare - das heißt Kombinationen aus einem Eingabevektor und einer eine Grundwahrheit beschreibenden Ausgabevektor - benötigt werden.However, the context data cannot only be used in connection with inference. For example, it would also be possible to use the context data to determine for which positions in the input vector space further training data pairs - that is, combinations of an input vector and an output vector describing a ground truth - are required.
Durch die Verwendung der Kontextdaten kann erreicht werden, dass das technisch-physikalische System auf eine besonders sichere Art und Weise gesteuert werden kann. Wird beispielsweise anhand der Steuerdaten erkannt, dass eine Ausgabe des maschinengelernten Algorithmus mit einer vergleichsweise hohen Unsicherheit behaftet ist, so können die zulässigen Steueraktionen eingeschränkt werden und/oder das technisch-physikalische System in einen sicheren Betriebsmodus überführt werden und/oder eine Warnmeldung ausgegeben werden. Außerdem kann das Training des maschinengelernten Algorithmus besonders zielgerichtet erfolgen, so dass insgesamt häufiger zuverlässige Schätzungen des verborgenen Systemzustand erhalten werden können.By using the context data, it can be achieved that the technical-physical system can be controlled in a particularly safe manner. If, for example, it is recognized based on the control data that an output of the machine-learned algorithm is subject to a comparatively high level of uncertainty, the permissible control actions can be restricted and/or the technical-physical system can be transferred to a safe operating mode and/or a warning message can be issued. In addition, the training of the machine-learned algorithm can be particularly targeted, so that reliable estimates of the hidden system state can be obtained more frequently.
Gemäß verschiedenen Beispielen werden Techniken offenbart, die es ermöglichen, einen verborgenen Systemzustand eines technisch-physikalischen Systems zu schätzen. Für diese Schätzung wird ein maschinengelernter Algorithmus verwendet. Dabei wird die Schätzung des maschinengelernten Algorithmus für den verborgenen Systemzustand wahlweise erlaubt oder blockiert, jeweils für einen entsprechenden Eingabevektoren. Dies basiert auf mindestens einem vorbestimmten Kriterium. Das mindestens eine vorbestimmte Kriterium berücksichtigt eine Position des Eingabevektors im entsprechenden Eingabevektorraum. Das bedeutet also, dass je nach Position des Eingabevektors in Eingabevektorraum die Ausgabe des maschinengelernten Algorithmus unterbunden werden kann. Dadurch können unsichere Ausgaben bzw. unsichere Schätzungen für den verborgenen Systemzustand vermieden werden.According to various examples, techniques are disclosed that make it possible to estimate a hidden system state of a technical-physical system. A machine-learned algorithm is used for this estimation. The estimation of the machine-learned algorithm for the hidden system state is either allowed or blocked, each for a corresponding input vector. This is based on at least one predetermined criterion. The at least one predetermined criterion takes into account a position of the input vector in the corresponding input vector space. This means that depending on the position of the input vector in the input vector space, the output of the machine-learned algorithm can be prevented. This can avoid uncertain output or uncertain estimates for the hidden system state.
Ein Computer-implementiertes Verfahren zum Schätzen eines verborgenen Systemzustand eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus wird offenbart. A computer-implemented method for estimating a hidden system state of a technical-physical system using a machine-learned algorithm is disclosed.
Das Verfahren umfasst das Erhalten eines Eingabevektors. Der Eingabevektor kodiert Zustandsdaten des technisch-physikalischen Systems. Das Verfahren umfasst außerdem das Laden des maschinengelernten Algorithmus. Das Verfahren umfasst ferner das Laden von vorbestimmten Kontextdaten. Die vorbestimmten Kontextdaten sind mit dem maschinengelernten Algorithmus assoziiert. Die vorbestimmten Kontextdaten indizieren eine Vielzahl von Bereichen im Vektorraum des Eingabevektors. Das Verfahren umfasst auch das Bestimmen einer relativen Position des Eingabevektors in Bezug auf die Vielzahl von Bereichen. Das Verfahren umfasst ferner das wahlweise Verarbeiten des Eingabevektors im maschinengelernten Algorithmus, um derart den verborgenen Systemzustand zu schätzen, oder das Ausgeben eines Fehlerindikators. Die Auswahl zwischen dem Verarbeiten und dem Ausgeben des Fehlerindikators basiert auf der relativen Position des Eingabevektors in Bezug auf die Vielzahl von Bereichen.The method includes obtaining an input vector. The input vector encodes status data of the technical-physical system. The process also includes loading the machine-learned algorithm. The method further includes loading predetermined context data. The predetermined context data is associated with the machine-learned algorithm. The predetermined context data indexes a variety of regions in the vector space of the input vector. The method also includes determining a relative position of the input vector with respect to the plurality of regions. The method further includes selectively processing the input vector in the machine-learned algorithm to estimate the hidden system state or outputting an error indicator. The choice between processing and outputting the error indicator is based on the relative position of the input vector with respect to the plurality of areas.
Eine Vorrichtung umfasst mindestens einem Prozessor und einen Speicher. Die mindestens eine Prozessor ist eingerichtet, um Programmcode aus dem Speicher zu laden und um den Programmcode auszuführen. Der mindestens eine Prozessor ist eingerichtet, um basierend auf dem Programmcode ein Verfahren zum Schätzen eines verborgenen Systemzustand eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus auszuführen. Das Verfahren umfasst das Erhalten eines Eingabevektors. Der Eingabevektor kodiert Zustandsdaten des technisch-physikalischen Systems. Das Verfahren umfasst außerdem das Laden des maschinengelernten Algorithmus. Das Verfahren umfasst ferner das Laden von vorbestimmten Kontextdaten. Die vorbestimmten Kontextdaten sind mit dem maschinengelernten Algorithmus assoziiert. Die vorbestimmten Kontextdaten indizieren eine Vielzahl von Bereichen im Vektorraum des Eingabevektors. Das Verfahren umfasst auch das Bestimmen einer relativen Position des Eingabevektors in Bezug auf die Vielzahl von Bereichen. Das Verfahren umfasst ferner das wahlweise Verarbeiten des Eingabevektors im maschinengelernten Algorithmus, um derart den verborgenen Systemzustand zu schätzen, oder das Ausgeben eines Fehlerindikators. Die Auswahl zwischen dem Verarbeiten und dem Ausgeben des Fehlerindikators basiert auf der relativen Position des Eingabevektors in Bezug auf die Vielzahl von Bereichen.A device includes at least a processor and a memory. The at least one processor is set up to load program code from memory and to execute the program code. The at least one processor is set up to execute a method for estimating a hidden system state of a technical-physical system using a machine-learned algorithm based on the program code. The method includes obtaining an input vector. The input vector encodes status data of the technical-physical system. The process also includes loading the machine-learned algorithm. The method further includes loading predetermined context data. The predetermined context data is associated with the machine-learned algorithm. The predetermined context data indexes a variety of regions in the vector space of the input vector. The method also includes determining a relative position of the input vector with respect to the plurality of regions. The method further includes selectively processing the input vector in the machine-learned algorithm to estimate the hidden system state or outputting an error indicator. The choice between processing and outputting the error indicator is based on the relative position of the input vector with respect to the plurality of areas.
Ein Computerprogramm oder ein Computerprogramm-Produkt oder ein computerlesbares Speichermedium umfasst Programmcode. Der Programmcode kann von mindestens einem Prozessor geladen und ausgeführt werden. Wenn der Prozessor den Programmcode ausführt, bewirkt dies, dass der Prozessor ein Verfahren zum Schätzen eines verborgenen Systemzustand eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus ausführt. Das Verfahren umfasst das Erhalten eines Eingabevektors. Der Eingabevektor kodiert Zustandsdaten des technisch-physikalischen Systems. Das Verfahren umfasst außerdem das Laden des maschinengelernten Algorithmus. Das Verfahren umfasst ferner das Laden von vorbestimmten Kontextdaten. Die vorbestimmten Kontextdaten sind mit dem maschinengelernten Algorithmus assoziiert. Die vorbestimmten Kontextdaten indizieren eine Vielzahl von Bereichen im Vektorraum des Eingabevektors. Das Verfahren umfasst auch das Bestimmen einer relativen Position des Eingabevektors in Bezug auf die Vielzahl von Bereichen. Das Verfahren umfasst ferner das wahlweise Verarbeiten des Eingabevektors im maschinengelernten Algorithmus, um derart den verborgenen Systemzustand zu schätzen, oder das Ausgeben eines Fehlerindikators. Die Auswahl zwischen dem Verarbeiten und dem Ausgeben des Fehlerindikators basiert auf der relativen Position des Eingabevektors in Bezug auf die Vielzahl von Bereichen.A computer program or a computer program product or a computer-readable storage medium includes program code. The program code can be loaded and executed by at least one processor. When the processor executes the program code, this causes the processor to execute a method of estimating a hidden system state of a technical-physical system using a machine-learned algorithm. The method includes obtaining an input vector. The input vector encodes status data of the technical-physical system. The process also includes loading the machine-learned algorithm. The method further includes loading predetermined context data. The predetermined context data is associated with the machine-learned algorithm. The predetermined context data indexes a variety of regions in the vector space of the input vector. The method also includes determining a relative position of the input vector with respect to the plurality of areas. The method further includes selectively processing the input vector in the machine-learned algorithm to estimate the hidden system state or outputting an error indicator. The choice between processing and outputting the error indicator is based on the relative position of the input vector with respect to the plurality of areas.
Ein Computer-implementiertes Verfahren zum Parametrisieren eines maschinengelernten Algorithmus wird offenbart. Mittels des maschinengelernten Algorithmus kann ein verborgener Systemzustand eines technisch-physikalischen Systems geschätzt werden. Das Verfahren umfasst das Erhalten eines Trainingsdatensatzes. Der Trainingsdatensatz umfasst mehrere Trainingsdatenpaare, die wiederum Eingabevektoren und Grundwahrheiten umfassen. Die Eingabevektoren kodieren Zustandsdaten des technisch-physikalischen Systems. Die Grundwahrheiten betreffen den verborgenen Systemzustand des technisch-physikalischen Systems. Außerdem umfasst das Verfahren das Durchführen eines Trainings des maschinengelernten Algorithmus. Das Training wird basierend auf dem Trainingsdatensatz durchgeführt. Durch das Durchführen des Trainings werden Parameterwerte für den maschinengelernten Algorithmus erhalten. Das Verfahren umfasst ferner das Bestimmen einer Vielzahl von Bereichen basierend auf den Eingabevektoren. Die Vielzahl von Bereichen umfasst Bereiche, die im Vektorraum der Eingabevektoren definiert sind. Das Verfahren umfasst ferner das Erzeugen von Kontextdaten für den maschinengelernten Algorithmus, so dass die Kontextdaten indikativ für die Vielzahl von Bereichen sind. Außerdem umfasst das Verfahren das Speichern des maschinengelernten Algorithmus und das Speichern der Kontextdaten, die mit dem maschinengelernten Algorithmus assoziiert sind.A computer-implemented method for parameterizing a machine-learned algorithm is disclosed. Using the machine-learned algorithm, a hidden system state of a technical-physical system can be estimated. The method includes obtaining a training data set. The training data set includes multiple training data pairs, which in turn include input vectors and ground truths. The input vectors encode state data of the technical-physical system. The basic truths concern the hidden system state of the technical-physical system. The method also includes carrying out training of the machine-learned algorithm. Training is performed based on the training data set. Performing training results in parameter values for the machine-learned algorithm. The method further includes determining a plurality of areas based on the input vectors. The plurality of regions includes regions defined in the vector space of the input vectors. The method further includes generating contextual data for the machine-learned algorithm such that the contextual data is indicative of the plurality of domains. The method also includes storing the machine-learned algorithm and storing the context data associated with the machine-learned algorithm.
Eine Vorrichtung umfasst mindestens einem Prozessor und einen Speicher. Die mindestens eine Prozessor ist eingerichtet, um Programmcode aus dem Speicher zu laden und um den Programmcode auszuführen. Der mindestens eine Prozessor ist eingerichtet, um basierend auf dem Programmcode ein Verfahren zum Parametrisieren eines maschinengelernten Algorithmus auszuführen. Mittels des maschinengelernten Algorithmus kann ein verborgener Systemzustand eines technisch-physikalischen Systems geschätzt werden. Das Verfahren umfasst das Erhalten eines Trainingsdatensatzes. Der Trainingsdatensatz umfasst mehrere Trainingsdatenpaare, die wiederum Eingabevektoren und Grundwahrheiten umfassen. Die Eingabevektoren kodieren Zustandsdaten des technisch-physikalischen Systems. Die Grundwahrheiten betreffen den verborgenen Systemzustand des technisch-physikalischen Systems. Außerdem umfasst das Verfahren das Durchführen eines Trainings des maschinengelernten Algorithmus. Das Training wird basierend auf dem Trainingsdatensatz durchgeführt. Durch das Durchführen des Trainings werden Parameterwerte für den maschinengelernten Algorithmus erhalten. Das Verfahren umfasst ferner das Bestimmen einer Vielzahl von Bereichen basierend auf den Eingabevektoren. Die Vielzahl von Bereichen umfasst Bereiche, die im Vektorraum der Eingabevektoren definiert sind. Das Verfahren umfasst ferner das Erzeugen von Kontextdaten für den maschinengelernten Algorithmus, so dass die Kontextdaten indikativ für die Vielzahl von Bereichen sind. Außerdem umfasst das Verfahren das Speichern des maschinengelernten Algorithmus und das Speichern der Kontextdaten, die mit dem maschinengelernten Algorithmus assoziiert sind.A device includes at least a processor and a memory. The at least one processor is set up to load program code from memory and to execute the program code. The at least one processor is set up to execute a method for parameterizing a machine-learned algorithm based on the program code. Using the machine-learned algorithm, a hidden system state of a technical-physical system can be estimated. The method includes obtaining a training data set. The training data set includes multiple training data pairs, which in turn include input vectors and ground truths. The input vectors encode state data of the technical-physical system. The basic truths concern the hidden system state of the technical-physical system. The method also includes carrying out training of the machine-learned algorithm. Training is performed based on the training data set. Performing training results in parameter values for the machine-learned algorithm. The method further includes determining a plurality of areas based on the input vectors. The plurality of regions includes regions defined in the vector space of the input vectors. The method further includes generating contextual data for the machine-learned algorithm such that the contextual data is indicative of the plurality of domains. The method also includes storing the machine-learned algorithm and storing the context data associated with the machine-learned algorithm.
Ein Computerprogramm oder ein Computerprogramm-Produkt oder ein computerlesbares Speichermedium umfasst Programmcode. Der Programmcode kann von mindestens einem Prozessor geladen und ausgeführt werden. Wenn der Prozessor den Programmcode ausführt, bewirkt dies, dass der Prozessor ein Verfahren zum Parametrisieren eines maschinengelernten Algorithmus ausführt. Mittels des maschinengelernten Algorithmus kann ein verborgener Systemzustand eines technisch-physikalischen Systems geschätzt werden. Das Verfahren umfasst das Erhalten eines Trainingsdatensatzes. Der Trainingsdatensatz umfasst mehrere Trainingsdatenpaare, die wiederum Eingabevektoren und Grundwahrheiten umfassen. Die Eingabevektoren kodieren Zustandsdaten des technisch-physikalischen Systems. Die Grundwahrheiten betreffen den verborgenen Systemzustand des technisch-physikalischen Systems. Außerdem umfasst das Verfahren das Durchführen eines Trainings des maschinengelernten Algorithmus. Das Training wird basierend auf dem Trainingsdatensatz durchgeführt. Durch das Durchführen des Trainings werden Parameterwerte für den maschinengelernten Algorithmus erhalten. Das Verfahren umfasst ferner das Bestimmen einer Vielzahl von Bereichen basierend auf den Eingabevektoren. Die Vielzahl von Bereichen umfasst Bereiche, die im Vektorraum der Eingabevektoren definiert sind. Das Verfahren umfasst ferner das Erzeugen von Kontextdaten für den maschinengelernten Algorithmus, so dass die Kontextdaten indikativ für die Vielzahl von Bereichen sind. Außerdem umfasst das Verfahren das Speichern des maschinengelernten Algorithmus und das Speichern der Kontextdaten, die mit dem maschinengelernten Algorithmus assoziiert sind.A computer program or a computer program product or a computer-readable storage medium includes program code. The program code can be loaded and executed by at least one processor. When the processor executes the program code, this causes the processor to execute a method of parameterizing a machine-learned algorithm. Using the machine-learned algorithm, a hidden system state of a technical-physical system can be estimated. The method includes obtaining a training data set. The training data set includes multiple training data pairs, which in turn include input vectors and ground truths. The input vectors encode state data of the technical-physical system. The basic truths concern the hidden system state of the technical-physical system. The method also includes carrying out training of the machine-learned algorithm. The training will be based on the Trai ning data set carried out. Performing training results in parameter values for the machine-learned algorithm. The method further includes determining a plurality of areas based on the input vectors. The plurality of regions includes regions defined in the vector space of the input vectors. The method further includes generating contextual data for the machine-learned algorithm such that the contextual data is indicative of the plurality of domains. The method also includes storing the machine-learned algorithm and storing the context data associated with the machine-learned algorithm.
Die oben dargelegten Merkmale und Merkmale, die nachfolgend beschrieben werden, können nicht nur in den entsprechenden explizit dargelegten Kombinationen verwendet werden, sondern auch in weiteren Kombinationen oder isoliert, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen.The features set out above and features described below can be used not only in the corresponding combinations explicitly set out, but also in further combinations or in isolation without departing from the scope of the present invention.
KURZE BESCHREIBUNG DER FIGURENBRIEF DESCRIPTION OF THE FIGURES
-
1 illustriert schematisch ein System umfassend eine Datenverarbeitungsanlage und ein technisch-physikalische System gemäß verschiedenen Beispielen.1 schematically illustrates a system comprising a data processing system and a technical-physical system according to various examples. -
2 illustriert schematisch eine Datenverarbeitungspipeline mit einem maschinengelernten Algorithmus und assoziierten Kontextdaten gemäß verschiedenen Beispielen.2 schematically illustrates a data processing pipeline with a machine-learned algorithm and associated context data according to various examples. -
3 illustriert Details in Bezug auf die Kontextdaten, die mehrere Bereiche in einem Vektorraum von Eingabevektoren für den maschinengelernten Algorithmus indizieren.3 illustrates details regarding the contextual data indexing multiple regions in a vector space of input vectors for the machine-learned algorithm. -
4 ist ein Flussdiagramm eines beispielhaften Verfahrens.4 is a flowchart of an example method. -
5A ist ein Flussdiagramm eines beispielhaften Verfahrens.5A is a flowchart of an example method. -
5B zeigt Aspekte im Zusammenhang mit einer Delaunay-Triangulierung.5B shows aspects related to a Delaunay triangulation. -
5C zeigt Aspekte im Zusammenhang mit einer Delaunay-Triangulierung.5C shows aspects related to a Delaunay triangulation. -
5D zeigt Aspekte im Zusammenhang mit einer Min-Max-Triangulierung.5D shows aspects related to min-max triangulation. -
5E zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.5E shows aspects related to regions in the input vector space that are associated with different classes. -
5F zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.5F shows aspects related to regions in the input vector space that are associated with different classes. -
5G zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.5G shows aspects related to regions in the input vector space that are associated with different classes. -
5H zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.5H shows aspects related to regions in the input vector space that are associated with different classes. -
51 zeigt Aspekte im Zusammenhang mit der Plausibilisierung von Kontextdaten.51 shows aspects related to the plausibility check of context data. -
6 illustriert Eingabevektoren eines Trainingsdatensatzes in einem entsprechenden Vektorraum.6 illustrates input vectors of a training data set in a corresponding vector space. -
7 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus6 trainiert wurde, gemäß verschiedenen Beispielen.7 illustrates a classification result of a machine-learned algorithm based on the training data set6 was trained according to various examples. -
8 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus6 trainiert wurde, gemäß verschiedenen Beispielen.8th illustrates a classification result of a machine-learned algorithm based on the training data set6 was trained according to various examples. -
9 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus6 trainiert wurde, gemäß verschiedenen Beispielen.9 illustrates a classification result of a machine-learned algorithm based on the training data set6 was trained according to various examples. -
10A illustriert mehrere Bereiche, die im Vektorraum der Eingabevektoren aus6 gemäß verschiedenen Beispielen bestimmt werden.10A illustrates several regions in the vector space of the input vectors6 can be determined according to various examples. -
10B illustriert Details zu einem der Bereiche aus10A .10B illustrates details about one of the areas10A . -
10C illustriert einen Eingabevektorraum gemäß verschiedenen Beispielen.10C illustrates an input vector space according to various examples. -
10D illustriert einen Bereich, der im Eingabevektorraum gemäß10C bestimmt wird.10D illustrates a region in the input vector space according to10C is determined. -
10E illustriert einen weiteren Bereich, der im Eingabevektorraum gemäß10C bestimmt wird.10E illustrates another region in the input vector space according to10C is determined. -
11 ist ein Flussdiagramm eines beispielhaften Verfahrens.11 is a flowchart of an example method. -
12 illustriert Kontextdaten gemäß verschiedenen Beispielen.12 illustrates context data according to various examples. -
13 illustriert Kontextdaten gemäß verschiedenen Beispielen.13 illustrates context data according to various examples.
DETALLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden.The characteristics, features and advantages of this invention described above, as well as the manner in which these are achieved, will be more clearly and clearly understood in connection with the following description of the exemplary embodiments, which will be explained in more detail in connection with the drawings.
Nachfolgend wird die vorliegende Erfindung anhand bevorzugter Ausführungsformen unter Bezugnahme auf die Zeichnungen näher erläutert. In den Figuren bezeichnen gleiche Bezugszeichen gleiche oder ähnliche Elemente. Die Figuren sind schematische Repräsentationen verschiedener Ausführungsformen der Erfindung. In den Figuren dargestellte Elemente sind nicht notwendigerweise maßstabsgetreu dargestellt. Vielmehr sind die verschiedenen in den Figuren dargestellten Elemente derart wiedergegeben, dass ihre Funktion und genereller Zweck dem Fachmann verständlich werden. In den Figuren dargestellte Verbindungen und Kopplungen zwischen funktionellen Einheiten und Elementen können auch als indirekte Verbindung oder Kopplung implementiert werden. Eine Verbindung oder Kopplung kann drahtgebunden oder drahtlos implementiert sein. Funktionale Einheiten können als Hardware, Software oder eine Kombination aus Hardware und Software implementiert werden.The present invention is explained in more detail below using preferred embodiments with reference to the drawings. In the figures, the same reference numbers designate the same or similar elements. The figures are schematic representations of various embodiments of the invention. Elements shown in the figures are not necessarily drawn to scale. Rather, the various elements shown in the figures are reproduced in such a way that their function and general purpose are understandable to those skilled in the art. Connections and couplings between functional units and elements shown in the figures can also be implemented as an indirect connection or coupling. A connection or coupling can be implemented in a wired or wireless manner. Functional units can be implemented as hardware, software, or a combination of hardware and software.
Nachfolgend werden Techniken beschrieben, um einen verborgenen Systemzustand eines technisch-physikalischen Systems mittels eines maschinengelernten (ML) Algorithmus zu schätzen.Techniques are described below for estimating a hidden system state of a technical-physical system using a machine-learned (ML) algorithm.
Zum Beispiel könnte die Schätzung des verborgenen Systemzustand dazu verwendet werden, um das technisch-physikalische System zu steuern. Das bedeutet, dass der Betrieb des technisch-physikalischen Systems basierend auf der Vorhersage des ML Algorithmus entsprechend angepasst werden kann.For example, the estimation of the hidden system state could be used to control the technical-physical system. This means that the operation of the technical-physical system can be adjusted accordingly based on the prediction of the ML algorithm.
Die hierin beschriebenen Techniken können in verschiedenen Anwendungsgebieten, das heißt für unterschiedliche technisch-physikalische Systeme, verwendet werden. Beispielsweise könnten die hierin beschriebenen Techniken verwendet werden, um Fahrzeuge, z.B. im schienengebunden Verkehr, öffentlichen Straßenverkehr, in Industrieanlagen oder Gebäuden sowie Schiffe, Flugzeuge oder Raumfahrzeuge zu steuern. Die hierin beschriebenen Techniken könnten verwendet werden, um Wartungsintervalle für Verkehrswege wie Schienenabschnitte oder Weichen anzupassen. Die hierin beschriebenen Techniken können verwendet werden, um Fehlerzustände von Schienenfahrzeugen oder Gleisinfrastruktur zu erkennen oder die Freigabe von bestimmen Schienen- / Streckenabschnitten für Verkehrsteilnehmer zu erlauben oder den Verkehr in Verkehrsnetzen zu steuern. Die hierin beschriebenen Techniken könnten dazu verwendet werden, um den Betrieb von Fertigungsstrecken oder Industrieanlagen, beispielsweise Kraftwerken oder Turbinen, zu überwachen, die Verteilung von Energie oder Stoffströmen zu steuern oder technische Komponenten (z.B. Überspannungsschutz), Personen (z.B. in der industriellen Fertigung), Unternehmenswerte (z.B. bei wirtschaftlichen Transaktionen) oder die Umwelt (z.B. vor Bränden) zu schützen. Das sind nur einige Beispiele, und andere Anwendungsgebiete sind denkbar.The techniques described herein can be used in various areas of application, i.e. for different technical-physical systems. For example, the techniques described herein could be used to control vehicles, e.g. in rail traffic, public road traffic, in industrial plants or buildings, as well as ships, aircraft or spacecraft. The techniques described herein could be used to adjust maintenance intervals for transportation routes such as rail sections or switches. The techniques described herein can be used to detect fault conditions of rail vehicles or track infrastructure or to allow the release of certain rail/track sections to road users or to control traffic in transport networks. The techniques described herein could be used to monitor the operation of production lines or industrial plants, such as power plants or turbines, to control the distribution of energy or material flows, or to monitor technical components (e.g. surge protection), people (e.g. in industrial manufacturing), To protect company assets (e.g. in economic transactions) or the environment (e.g. from fires). These are just a few examples, and other areas of application are conceivable.
Die verschiedenen hierin beschriebenen Techniken verwenden einen maschinengelernten Algorithmus. Beispielsweise könnte der maschinengelernte Algorithmus ein Klassifikator sein, das heißt kontinuierliche Werte eines Eingabevektors auf diskrete Klassen abbilden. Der maschinengelernte Algorithmus könnte auch eine Regression bereitstellen, das heißt kontinuierliche Werte eines Ausgabevektors aufweisen.The various techniques described herein use a machine-learned algorithm. For example, the machine-learned algorithm could be a classifier, that is, mapping continuous values of an input vector to discrete classes. The machine-learned algorithm could also provide regression, that is, have continuous values of an output vector.
Dabei können in den verschiedenen hierin beschriebenen Beispielen unterschiedliche Typen von maschinengelernten Algorithmen eingesetzt werden. Beispielsweise könnte ein tiefes neuronales Netzwerk, zum Beispiel mit Faltungsschichten mit einem trainierten Faltungskern, eingesetzt werden. Es könnte auch eine „support vector machine“ (SVM) verwendet werden. Dabei wird basierend auf einem Trainingsdatensatz der Eingaberaum so in Klassen unterteilt, dass ein möglichst breiter Bereich zwischen den verschiedenen Klassen frei bleibt. Ein weiterer maschinengelernte Algorithmus, der verwendet werden kann, wäre der „nächste Nachbar“ Klassifikator. Dabei kann zum Beispiel ein Parameter, der die Anzahl der zu berücksichtigenden nächsten Nachbarn beschreibt, im Rahmen des Trainings des maschinengelernten Algorithmus angelernt werden. Ein weiterer Typ von maschinengelernten Algorithmen, der von den hierin offenbarten Techniken profitieren kann, ist das Multischicht-Perzeptron oder Radiales Basisfunktionsnetzwerk (RBF-Netzwerk).Different types of machine-learned algorithms can be used in the various examples described herein. For example, a deep neural network, for example with convolutional layers with a trained convolution kernel, could be used. A support vector machine (SVM) could also be used. Based on a training data set, the input space is divided into classes in such a way that the widest possible area between the different classes remains free. Another machine-learned algorithm that can be used would be the “nearest neighbor” classifier. For example, a parameter that describes the number of nearest neighbors to be taken into account can be learned as part of the training of the machine-learned algorithm. Another type of machine-learned algorithm that may benefit from the techniques disclosed herein is the multilayer perceptron or radial basis function network (RBF network).
Es werden Techniken beschrieben, die es ermöglichen, Zusatzinformationen im Zusammenhang mit der Vorhersage des maschinengelernten Algorithmus zu erhalten, sog. Kontextdaten.Techniques are described that make it possible to obtain additional information related to the prediction of the machine-learned algorithm, so-called context data.
Insbesondere ist es mittels der hierin beschriebenen Techniken möglich, mittels der Kontextdaten zu überprüfen, ob eine Vorhersage des maschinengelernten Algorithmus für einen bestimmten Eingabevektor zuverlässig ist oder unzuverlässig ist. Beispielsweise kann dann in Abhängigkeit der Kontextdaten wahlweise der Eingabevektor mit dem maschinengelernten Algorithmus verarbeitet werden (sofern dessen Ausgabe zuverlässig ist), oder es könnte ein Fehlerindikator ausgegeben werden. Das technisch-physikalische System kann auch in Abhängigkeit von einer Ausgabe des Fehlerindikators gesteuert werden. Beispielsweise könnte ein sicherer Betriebsmodus aktiviert werden. Es könnte eine Benutzer-Überprüfung ausgelöst werden. Ein Warnsignal kann ausgegeben werden. Eine autonom agierende Funktionalität wie zum Beispiel eine wirtschaftliche Transaktion könnte abgebrochen werden. Derart kann die Gefährdung der Umwelt aufgrund einer unzuverlässigen Vorhersage des maschinengelernten Algorithmus vermieden werden.In particular, using the techniques described herein, it is possible to use the context data to check whether a prediction of the machine-learned algorithm for a particular input vector is reliable or unreliable. For example, depending on the context data, the input vector can either be processed with the machine-learned algorithm (provided its output is reliable), or an error indicator could be output. The technical-physical system can also be controlled depending on an output of the error indicator. For example, a safe operating mode could be activated. A user review could be triggered. A warning signal can be issued. An autonomously acting functionality such as an economic transaction could be aborted. In this way, the risk to the environment due to an unreliable prediction by the machine-learned algorithm can be avoided.
Anhand der Kontextdaten ist es auch möglich, abzuleiten, an welchen Positionen im Eingabevektorraum weitere Trainingsdatenpaare positioniert sein sollen. Auch solche Informationen kann basierend auf der Analyse, ob der maschinengelernte Algorithmus eine unzuverlässige Vorhersage für einen bestimmten Bereich im Eingabevektorraum bereitstellt, bestimmt werden. Dadurch werden die Teilbereiche des Eingaberaums vergrößert, in denen der maschinengelernte Algorithmus eine sichere Aussage treffen kann und so eine höhere Verfügbarkeit des technischen Systems im „Normalbetrieb“ möglich wird. Dabei bezeichnet der „Normalbetrieb“ beispielsweise denjenigen Zustand des Systems, bei dem sich das System nicht in einem sicheren Zustand befindet, sondern eine sicherheitsrelevante Nutzfunktion erfüllt; dies könnte z.B. ein fahrender Zug sein, der nicht an einer sicheren Position an einem Bahnhof, an der Passagiere gefahrlos ein- und aussteigen können, anhält. Insbesondere können derart beim Training - etwa bei der Erhebung und Erfassung von Beispielen z.B. durch eine Messung in der realen Umgebung oder durch die Verwendung eines digitalen Zwillings (z.B. einer Simulation) - gezielt Bereiche im Eingabevektorraum abgedeckt werden, bei denen sonst eine Generalisierung des maschinengelernten Algorithmus durch Extrapolation von im Eingabevektorraum entfernt angeordneten Trainingsdatenpaare stattfinden würde. Die Erfassung weiterer Beispiele erhöht somit die Sicherheit bei der Vorhersage durch den maschinengelernten Algorithmus und des technischen Systems.Using the context data, it is also possible to derive at which positions in the input vector space further training data pairs should be positioned. Such information can also be determined based on the analysis of whether the machine-learned algorithm provides an unreliable prediction for a specific region in the input vector space. This enlarges the subareas of the input space in which the machine-learned algorithm can make a reliable statement, thus enabling greater availability of the technical system in “normal operation”. “Normal operation” refers, for example, to the state of the system in which the system is not in a safe state, but rather fulfills a safety-relevant utility function; This could be, for example, a moving train that does not stop in a safe position at a train station where passengers can get on and off safely. In particular, during training - for example when collecting and recording examples, e.g. through a measurement in the real environment or through the use of a digital twin (e.g. a simulation) - areas in the input vector space can be specifically covered where a generalization of the machine-learned algorithm would otherwise be possible would take place by extrapolation from pairs of training data located distantly in the input vector space. The capture of further examples increases the reliability of the prediction by the machine-learned algorithm and the technical system.
Gemäß den verschiedenen hierin offenbarten Techniken ist es also möglich, in Abhängigkeit von mindestens einem vorbestimmten Kriterium die Schätzung des maschinengelernten Algorithmus für den verborgenen Systemzustand entweder zu erlauben oder zu blockieren. Das Blockieren der Vorhersage kann der oben beschriebenen Ausgabe des Fehlerindikators entsprechen oder einer anderweitigen Unterdrückung der weiteren Verarbeitung der Ausgabe des maschinengelernten Algorithmus. Das Erlauben der Schätzung kann der Übergabe an nachfolgende Verarbeitungsschritte einer entsprechenden Datenverarbeitungs-Pipeline entsprechen.Thus, according to the various techniques disclosed herein, it is possible to either allow or block the estimation of the machine-learned algorithm for the hidden system state depending on at least one predetermined criterion. Blocking the prediction may correspond to the output of the error indicator described above or otherwise suppressing further processing of the output of the machine-learned algorithm. Allowing the estimate may correspond to passing it to subsequent processing steps of a corresponding data processing pipeline.
Das mindestens eine Kriterium für das Blockieren oder Erlauben kann dabei die Position des entsprechenden Eingabevektors - der der Schätzung des maschinengelernten Algorithmus zugrunde liegt - berücksichtigen. Beispielsweise könnte die Vorhersage dann blockiert werden, wenn die Position des Eingabevektors einer Extrapolation des maschinengelernten Algorithmus ausgehend von Zustandsdaten des technisch-physikalischen Systems, die in einem Trainingsdatensatz für den maschinengelernten Algorithmus beinhaltet sind, entspricht. Diese Zustandsdaten können entsprechende Positionen (z.B. nächstliegende) im Eingabevektorraum markieren; das kann durch die Kontextdaten angezeigt werden. Dann kann der Eingabevektor eine Position im Eingabevektorraum aufweisen, die beabstandet ist von Bereichen, die sich zwischen den Zustandsdaten entsprechenden Positionen im Eingabevektorraum erstrecken. Andersherum kann eine Voraussetzung für das Erlauben der Schätzung des maschinengelernten Algorithmus sein, dass jedenfalls keine Extrapolation vorliegt, also eine Interpolation vorliegt. Dies bedeutet dann, dass der Eingabevektor eine Position im Eingabevektorraum aufweist, die in einem Bereich angeordnet ist, der sich zwischen den Positionen der Zustandsdaten aus dem Trainingsdatensatz erstreckt (wenn der Eingabevektorraum die Dimension D aufweist, dann wird durch jeweils D+1 Eingabevektoren, welche einen Raum der Dimension D aufspannen ein Hypervolumen T des Eingaberaums definiert. Die Grenze des Hypervolumens T wird dann jeweils durch Hyperfläche begrenzt, die jeweils drei Nachbarn der Zustandsdaten verbinden. Liegt der Eingabevektor innerhalb eines Hypervolumens, der durch Beispiele der Trainingsmenge wie oben beschrieben begrenzt wird, dann wird von einer Interpolation auf der Basis der Trainingsdaten gesprochen ist das nicht der Fall, von einer Extrapolation. Zusätzlich zur Interpolation kann auch noch gefordert werden, dass der längste Abstand zwischen den zwei oder mehr Zustandsdaten des technisch-physikalischen Systems, zwischen denen interpoliert wird, nicht größer als ein vorbestimmter Schwellenwert ist. Das bedeutet, dass ein oberer Schwellenwert für die Seitenlänge der einen Bereich begrenzenden Hyperflächen gefordert werden kann. Ein weiteres beispielhaftes Kriterium, welches zu einer Blockierung der Vorhersage führen kann, wäre das Unterschreiten eines Mindestabstands zu unsicheren Positionen im Eingabevektorraum. Diese unsicheren Positionen könnten z.B. basierend auf einem Verlauf einer Klassengrenze zwischen unterschiedlichen vorhergesagten Klassen im Eingabevektorraum bestimmt werden. Die Positionen können also als unsicher gelabelt sein.The at least one criterion for blocking or allowing can take into account the position of the corresponding input vector - which is the basis for the estimate of the machine-learned algorithm. For example, the prediction could be blocked if the position of the input vector corresponds to an extrapolation of the machine-learned algorithm based on state data of the technical-physical system that is included in a training data set for the machine-learned algorithm. This state data can mark corresponding positions (e.g. closest ones) in the input vector space; this can be indicated by the context data. Then the input vector may have a position in the input vector space that is spaced from areas that extend between positions in the input vector space corresponding to the state data. Conversely, a prerequisite for allowing the estimation of the machine-learned algorithm can be that there is no extrapolation, i.e. there is an interpolation. This then means that the input vector has a position in the input vector space, which is arranged in a region that extends between the positions of the state data from the training data set (if the input vector space has the dimension D, then D+1 input vectors each, which a space of dimension D defines a hypervolume T of the input space. The boundary of the hypervolume T is then limited by hypersurfaces, which connect three neighbors of the state data. If the input vector lies within a hypervolume, which is limited by examples of the training set as described above , then we speak of an interpolation based on the training data, but this is not the case, of an extrapolation. In addition to the interpolation, it can also be required that the longest distance between the two or more state data of the technical-physical system between which the interpolation is carried out is not greater than a predetermined threshold value. This means that a upper threshold value for the side length of the hypersurfaces delimiting an area can be required. Another exemplary criterion that can lead to a blocking of the prediction would be falling below a minimum distance to uncertain positions in the input vector space. These uncertain positions could, for example, be determined based on a course of a class boundary between different predicted classes in the input vector space. The positions can therefore be labeled as unsafe.
Voranstehend wurden verschiedene Kriterien für das Blockieren oder Erlauben der Vorhersage des maschinengelernten Algorithmus erläutert. Als allgemeine Regel wäre es denkbar, dass das Prüfen, ob ein oder mehrere solche Kriterien für das Blockieren oder Erlauben erfüllt sind, sequenziell erfolgt. Beispielsweise könnte eine vorgegebene Sequenz abgearbeitet werden, welche eine Reihenfolge der Prüfung für die unterschiedlichen Kriterien spezifiziert. Dann kann bereits eine Blockierung der Vorhersage des maschinengelernten Algorithmus erfolgen, wenn eine erste Prüfung ein negatives Ergebnis liefert; die nachrangige zweite Prüfung hat dann nicht mehr zu erfolgen. Insbesondere wäre es zum Beispiel denkbar, dass zunächst geprüft wird, ob der Mindestabstand zu unsicheren Positionen im Eingabevektorraum unterschritten wird. Erst nachrangig könnte dann überprüft werden, ob die Position des Eingabevektors einer Extrapolation oder einer Interpolation entspricht, wie obenstehend beschrieben.Various criteria for blocking or allowing the prediction of the machine-learned algorithm have been explained above. As a general rule, it would be conceivable that checking whether one or more such criteria for blocking or allowing are met would be carried out sequentially. For example, a predetermined sequence could be processed, which specifies an order of testing for the different criteria. The prediction of the machine-learned algorithm can then be blocked if a first test produces a negative result; The subordinate second test then no longer has to be carried out. In particular, it would be conceivable, for example, to first check whether the minimum distance to unsafe positions in the input vector space is undershot. Only as a secondary matter could it be checked whether the position of the input vector corresponds to an extrapolation or an interpolation, as described above.
Aus Obenstehendem ist ersichtlich, dass die Bereiche im Eingabevektorraum bestimmt werden können, die unterschiedliche Sicherheiten in Bezug auf die Vorhersage des maschinengelernten Algorithmus aufweisen. Das ist in TAB. 1 zusammengefasst.
TAB. 1: Unterschiedliche Stufen für eine Sicherheit, die im Zusammenhang mit der Vorhersage eines maschinengelernten Algorithmus erhalten werden kann. Solche Stufen können im Zusammenhang mit bestimmten Bereichen im Eingabevektorraum, die durch Kontextdaten definiert sind, beschrieben werden. Die Bereiche könnten mittels einer Bewertungsmetrik in die unterschiedlichen Sicherheitsstufen eingeteilt werden. Dies kann entweder zur Inferenz oder beim Training erfolgen. Das Bestimmen der Bereiche bzw. das Anwenden der Bewertungsmetrik kann qualitätsgesichert erfolgen, wodurch ein gefährlicher Verlust oder eine Verfälschung der Information sicher vermieden werden kann.TAB. 1: Different levels of certainty that can be obtained in the context of prediction by a machine-learned algorithm. Such stages can be described in the context of specific regions in the input vector space defined by contextual data. The areas could be divided into different security levels using an evaluation metric. This can be done either for inference or during training. Determining the areas or applying the evaluation metrics can be done in a quality-assured manner, which means that dangerous loss or falsification of the information can be reliably avoided.
Die Datenverarbeitungsanlage 91 weist einem Prozessor 92 auf, sowie einen nicht flüchtigen Speicher 93. Außerdem umfasst die Datenverarbeitungsanlage 91 eine Kommunikationsschnittstelle 94. Der Prozessor 92 kann mittels der Kommunikationsschnittstelle 94 mit dem technisch-physikalischen System kommunizieren. Beispielsweise wäre es möglich, dass über die Kommunikationsschnittstelle 94 Zustandsdaten 81 des technisch-physikalischen Systems 95 empfangen werden. Die Zustandsdaten 81 könnten zum Beispiel Messwerte eines Sensors sein, der bestimmte Betriebsparameter des technisch-physikalischen Systems 95 überwacht. Die Zustandsdaten 81 könnten auch Betriebswerte des technisch-physikalischen Systems 95 sein, beispielsweise bestimmte Steuervorgaben für Aktuatoren des technisch-physikalischen Systems 95. Es ist auch möglich, dass der Prozessor 92 über die Kommunikationsschnittstelle 94 Steuerdaten 82 an das technisch-physikalische System 95 sendet. Mittels der Steuerdaten 82 kann der Betrieb des technisch-physikalischen Systems eingestellt werden.The
Während in
Zum Verarbeiten der Zustandsdaten 81 kann der Prozessor 92 Programmcode aus dem Speicher 93 laden und ausführen. Der Programmcode kann einen maschinengelernten Algorithmus definieren, der eingerichtet ist, um Eingabevektoren, welche die Zustandsdaten 81 kodieren, zu verarbeiten. Der maschinengelernte Algorithmus kann dann einen Ausgabevektor bereitstellen, der einen verborgenen Systemzustand des technisch-physikalischen Systems schätzt. Eine entsprechende Datenverarbeitungspipeline ist auch in
Mittels verschiedener hierin beschriebener Techniken ist es möglich, zu überprüfen, ob die Vorhersage des verborgenen Systemzustandes durch den maschinengelernten Algorithmus 89 zuverlässig ist. Insbesondere kann a-priori, das heißt vor bzw. unabhängig vom Ausführen des maschinengelernten Algorithmus, überprüft werden, ob diese Vorhersage zuverlässig ist.Using various techniques described herein, it is possible to verify whether the prediction of the hidden system state by the machine-learned
Die Überprüfung kann basierend auf der Position des Eingabevektors 85 im Eingabevektorraum und unter Verwendung von entsprechenden Kontextdaten 50 erfolgen. Die Kontextdaten 50 sind mit den maschinengelernten Algorithmus 89 assoziiert, von diesem aber verschieden. Unterschiedliche maschinengelernte Algorithmen 89 weisen unterschiedliche Kontextdaten 50 auf. Die Kontextdaten 50 können zum Beispiel im Zusammenhang mit dem Training des maschinengelernten Algorithmus 89 bestimmt werden, was später im Detail erläutert werden wird.The check can be based on the position of the
Nachfolgend sind im Zusammenhang mit
In
Die Bereiche können durch Kontextdaten 50, die dem maschinengelernten Algorithmus 89 zugeordnet sind, indiziert werden. Beispielsweise könnten die Kontextdaten 50 die Flächen zwischen den Bereichen 72 angeben.The areas can be indexed by
Die Bereiche können mit unterschiedlichen Sicherheitsstufen gem. TAB. 1 assoziiert sein.The areas can have different security levels according to TAB. 1 be associated.
In den verschiedenen hierin beschriebenen Beispielen ist es möglich, eine solche relative Position des Eingabevektors in Bezug auf mehrere Bereiche 72 zu bestimmen und dann basierend auf dieser relativen Position wahlweise den Eingabevektor maschinengelernten Algorithmus 89 zu verarbeiten und damit den verborgenen Systemzustand zu schätzen (beispielsweise wenn es sich um Sicherheitsstufe I oder II handelt), oder aber einen Fehlerindikator auszugeben (beispielsweise wenn es sich um Sicherheitsstufe III handelt, vgl. TAB. 1). Dabei können die Bereiche 72 durch die Kontextdaten 50 des maschinengelernten Algorithmus 89 indiziert werden. Die Kontextdaten 50 können vom Prozessor 92 zum Beispiel aus dem Speicher 93 geladen werden. Die Kontextdaten 50 können im Zusammenhang mit dem Training des maschinengelernten Algorithmus erstellt werden, d.h. beim Parametrieren des maschinengelernten Algorithmus; siehe
In Box 3001 erfolgt eine Parametrierung.Parameterization takes place in
Dies umfasst zum Beispiel das Training des maschinengelernten Algorithmus 89. Das Training kann basierend auf einem Trainingsdatensatz durchgeführt werden. Der Trainingsdatensatz beinhaltet Trainingsdatenpaare, die jeweils einen Eingangsvektor und einen zugehörigen Ausgangsvektor umfassen. Der Ausgangsvektor stellt die Grundwahrheit (engl. ground truth) für die Ausgabe des maschinengelernten Algorithmus für den jeweiligen Eingangsvektor dar. Eine Grundwahrheit kann zum Beispiel basierend auf manueller Annotation durch einen Experten mit Domänenwissen erhalten werden. Es gibt auch Techniken, um automatisch Grundwahrheiten zu erhalten, wobei dies je nach Anwendungsgebiet variieren kann, z.B. mittels einer Simulation des technisch-physikalischen Systems.This includes, for example, the training of the machine-learned
Basierend auf dem Training werden Parameterwerte für den maschinengelernten Algorithmus erhalten. Für verschiedene Typen des maschinengelernten Algorithmus können unterschiedliche Parameterwerte erhalten werden (zum Beispiel für ein tiefes neuronales Netzwerk mit einer Faltungsschichten kann der Faltungs-Kern bestimmt werden).Based on the training, parameter values for the machine learned algorithm are obtained. Different parameter values may be used for different types of machine-learned algorithms can be obtained (for example, for a deep neural network with one convolutional layer, the convolution kernel can be determined).
Das Training kann dabei mittels grundsätzlich vorbekannter Techniken durchgeführt werden, die typischerweise eine iterative Optimierung der verschiedenen Parameterwerte zu Minimierung einer Verlustfunktion umfassen. Es kann ein Gradientenabstiegsverfahren für die Optimierung mit rückwärtsgerichteter Anpassung der Parameter (engl. backpropagation) durchgeführt werden. Die Verlustfunktion beschreibt dabei einen Abstand des Ausgabevektors des maschinengelernten Algorithmus im gegenwärtigen Trennungszustand gegenüber dem entsprechenden Vektor der Grundwahrheit eines entsprechenden Trainingsdatenpaars.The training can be carried out using previously known techniques, which typically include an iterative optimization of the various parameter values to minimize a loss function. A gradient descent method for optimization with backward adjustment of the parameters (backpropagation) can be carried out. The loss function describes a distance of the output vector of the machine-learned algorithm in the current separation state compared to the corresponding ground truth vector of a corresponding training data pair.
Die Parametrierung 3001 kann außerdem das Erzeugen der Kontextdaten 50 für den maschinengelernten Algorithmus umfassen. Diese können dabei basierend auf den Eingabevektoren des Trainingsdatensatzes bestimmt werden. Das bedeutet also, dass die Kontextdaten spezifisch für den jeweiligen maschinengelernten Algorithmus, der ein bestimmtes Training erfahren hat, sind. Unterschiedliche maschinengelernte Algorithmen weisen dann unterschiedliche Kontextdaten auf (vgl. auch vertikaler gestrichelter Pfeil in
Es ist dann möglich, sowohl den maschinengelernten Algorithmus, wie auch die Kontextdaten 50 für den maschinengelernten Algorithmus in einem Speicher wie beispielsweise den Speicher 93 für die spätere Inferenz in Box 3002 zu speichern.It is then possible to store both the machine-learned algorithm and the
In Box 3002 findet die Inferenz statt. Diese Inferenz berücksichtigt sowohl den vorher trainierten maschinengelernten Algorithmus 89, um gegebenenfalls einen verborgenen Systemzustand des technisch-physikalischen Systems zu schätzen; wie auch die Kontextdaten 50, um zu bestimmen, ob eine Ausgabe des maschinengelernten Algorithmus sicher oder unsicher ist. Im Rahmen der Inferenz in Box 3002 ist keine Grundwahrheit verfügbar. Das heißt, der maschinengelernte Algorithmus 89 gibt einen Ausgangsvektor 86 aus, der nicht mit einer Grundwahrheit verglichen werden kann.
Nachfolgend werden zunächst Aspekte im Zusammenhang mit Box 3001 beschrieben. Anschließend werden Aspekte im Zusammenhang mit Box 3002 beschrieben.Aspects related to
Beispielsweise könnte das Verfahren aus
Zunächst werden in Box 3505 ein Trainingsdatensatz erhalten. Der Trainingsdatensatz umfasst mehrere Trainingsdatenpaare. Jedes Trainingsdatenpaare weist einen entsprechenden Eingabevektor auf, entsprechend dem Eingabevektor 85 (vergleiche
In Box 3510 wird dann das Training des maschinengelernten Algorithmus basierend auf dem Trainingsdatensatz durchgeführt. Dies erfolgt, um Parameterwerte für den maschinengelernten Algorithmus zu erhalten. Details zum Training wurden bereits voranstehend im Zusammenhang mit Box 3001 beschrieben.In
Anschließend werden in Box 3515 basierend auf den Eingabevektoren des Trainingsdatensatzes mehrere Bereiche bestimmt.Multiple ranges are then determined in
Zumindest einige der Bereiche werden dabei so bestimmt, dass diese zwischen den Positionen der Eingabevektoren im entsprechenden Eingabevektorraum angeordnet sind. Das bedeutet, dass die Eingabevektoren jeweils Außengrenzen der Bereiche definieren. Das bedeutet, dass die Bereiche sich zwischen den Eingabevektoren erstrecken. Es wird also - zur Bestimmung der Bereiche - zwischen den Positionen der Eingabevektoren im Eingabevektorraum interpoliert.At least some of the areas are determined in such a way that they are arranged between the positions of the input vectors in the corresponding input vector space. This means that the input vectors each define the outer boundaries of the areas. This means that the areas extend between the input vectors. So - to determine the areas - interpolation is carried out between the positions of the input vectors in the input vector space.
Beispielsweise wäre es denkbar, dass die Bereiche basierend auf Dreiecksflächen eines Dreiecksnetzes, dessen Knoten durch die Eingabevektoren bestimmt werden, gebildet wird. Es könnte eine Triangulierung, z.B. eine Delaunay-Triangulierung verwendet werden. Es können dann die Kontextdaten 50 erzeugt werden, die indikativ für die Bereiche sind. Beispielsweise könnten die Kontextdaten 50 die Dreiecksflächen des Dreiecksnetzes beinhalten. Die Bereiche können also durch Flächen (genauer: Hyperflächen) begrenzt werden, die sich zwischen den Positionen benachbarter Eingangsvektoren im entsprechenden Eingangsvektorraum erstrecken.For example, it would be conceivable that the areas are formed based on triangular areas of a triangular network, the nodes of which are determined by the input vectors. A triangulation, for example a Delaunay triangulation, could be used. The
Als allgemeine Regel könnte zum Auffinden der nächsten Nachbaren der sog. KD-Trees Algorithmus verwendet werden. Dafür gibt es allerdings allerhand weitere Möglichkeiten. Denkbar wären weitere klassische Baumstrukturen, etwa Quadtrees oder R-Trees. Für besonders hochdimensionale Daten eignen sich Approximate-Nearest-Neighbor-Verfahren wie Locality-sensitive hashing.As a general rule, the so-called KD-Trees algorithm could be used to find the nearest neighbors. However, there are all sorts of other options for this. Other classic tree structures would be conceivable, such as quadtrees or R-trees. Approximate nearest neighbor methods such as locality-sensitive hashing are suitable for particularly high-dimensional data.
Es wäre in manchen Beispielen denkbar, dass zumindest einige der Bereiche so bestimmt werden, dass eine als unsicher erkannte Position im Eingabevektorraum umgeben wird. Wird eine Position als unsicher erkannt, so kann basierend auf einem vorgegebenen Entfernungsmaß (Parameter „b“) die Ausdehnung eines solchen Bereichs bestimmt werden. Der Parameter b unterstützt die Beherrschung von Problemen an den Klassengrenzen bei Anwendungen mit einem starken Ungleichgewicht hinsichtlich der Bedeutung von bestimmten Fehlertypen. Ein Beispiel ist eine sicherheitsrelevante Funktion, welche das Überfahren einer Ampel regelt. Das Überfahren einer roten Ampel kann das Leben und die Gesundheit von Personen gefährden. Bleibt ein Fahrzeug dagegen an einer gründen Ampel stehen, dann liegt nur ein Verfügbarkeitsproblem des Fahrzeuges vor, da es nicht immer dann fährt. Der Parameter „bk“ definiert dann einen „Sicherheitsabstand“ von einem Beispiel aus einer Klasse „k“. Alle Beispiele die weniger als bk im Eingaberaum von einem Beispiel der Klasse „k“ entfernt sind werden dann der Klasse „k“ zugeordnet. Entsprechend gilt, dass für Beispiele, die weniger als bk von einer unsicheren Position entfernt sind, die Verwendung der Vorhersage des maschinengelernten Algorithmus blockiert wird, d.h. z.B. keine Vorhersage berechnet wird oder die Vorhersage verworfen wird. Es ist nicht in allen Varianten notwendig, dass die Bereiche auch um unsicher erkannte Positionen bestimmt werden. Manchmal könnten die Bereiche, die sich zwischen Positionen von Eingabevektoren erstrecken, auch entsprechend über eine Bewertungsmetrik (vgl. Box 3520) bewertet werden (das wird später erläutert).In some examples, it would be conceivable that at least some of the areas are determined in such a way that a position in the input vector space that is recognized as unsafe is surrounded. If a position is recognized as unsafe, the extent of such an area can be determined based on a specified distance measure (parameter “b”). The parameter b supports the control of class boundary problems in applications with a strong imbalance in the importance of certain types of errors. An example is a safety-relevant function that regulates driving through a traffic light. Running a red light can endanger people's lives and health. If, on the other hand, a vehicle stops at a traffic light, then there is only an availability problem for the vehicle because it does not always run then. The parameter “bk” then defines a “safety distance” from an example from a class “k”. All examples that are less than b k away in the input space from an example of class “k” are then assigned to class “k”. Accordingly, for examples that are less than b k away from an uncertain position, the use of the prediction of the machine-learned algorithm is blocked, ie, for example, no prediction is calculated or the prediction is discarded. It is not necessary in all variants that the areas around uncertainly recognized positions are also determined. Sometimes the areas extending between positions of input vectors could also be evaluated accordingly via an evaluation metric (see Box 3520) (this will be explained later).
In manchen Beispielen wäre es denkbar, dass die Kontextdaten 50 auch indikativ für erlaubte Ergebnisse des maschinengelernten Algorithmus sind, wenn ein entsprechender Eingabevektor einem der Bereiche angeordnet ist. In Box 3516 können diese erlaubten Ergebnisse bestimmt werden. Es gibt verschiedene Techniken, um in Box 3516 die erlaubten Ergebnisse zu bestimmen. Beispielsweise könnte ein spezieller Algorithmus verwendet werden, der die erlaubten Ergebnisse in Abhängigkeit von geometrischen Eigenschaften des jeweiligen Bereichs bestimmt. Beispielsweise könnte ein entsprechender weiterer maschinengelernter Algorithmus verwendet werden. Es könnte ein Multischicht-Perzeptron oder eine Stützvektormaschine verwendet werden. Es könnte auch ein klassischer regelbasierter Algorithmus verwendet werden. Die erlaubten Ergebnisse könnten zum Beispiel basierend auf Grundwahrheiten für die Eingabevektoren der Trainingsdatenpaare, welche zur Bestimmung der Bereiche verwendet werden, bestimmt werden. Wenn zum Beispiel ein bestimmter Bereich durch drei Eingabevektoren begrenzt wird, die mit den Grundwahrheiten „gelb“, „gelb“ und „blau“ assoziiert sind, so könnte der entsprechende Bereich in den Kontextdaten dahingehend gekennzeichnet werden, dass die Ausgabevektoren des maschinengelernten Algorithmus entweder „gelb“ oder „blau“ anzeigen dürfen. In anderen Worten können für Bereiche, die durch ein Dreiecksnetz gebildet werden, die erlaubten Ergebnisse des verborgenen Systemzustand basierend auf den Grundwahrheiten, die mit den Knoten des Dreiecksnetzes assoziiert sind, bestimmt werden. Entsprechende Aspekte werden später im Zusammenhang mit
Optional könnte in Box 3520 basierend auf einer vorgegebenen Bewertungsmetrik eine Partitionierung der Bereiche in erste Bereiche und zweite Bereiche erfolgen, etwa gem. TAB. 1, Sicherheitsstufe I oder Sicherheitsstufe II. Beispielsweise können die ersten Bereiche in Bezug auf die Bewertungsmetrik mit einer vergleichsweise geringen Unsicherheit für die Schätzung des verborgenen Systemzustand durch den maschinengelernten Algorithmus assoziiert sein; während die zweiten Bereiche in Bezug auf die Bewertungsmetrik mit einer vergleichsweise großen Unsicherheit für die Schätzung des verborgenen Systemzustand assoziiert sind. Die Kontextdaten die anschließend gespeichert werden, können dabei auch indikativ für die Partitionierung der Bereiche sein. Die Kontextdaten könnten z.B. die Sicherheitsstufe gem. TAB. 1 anzeigen.Optionally, the areas could be partitioned into first areas and second areas in
Es ist nicht in allen Beispielen erforderlich, dass die Partitionierung der Bereiche bereits im Rahmen der Parametrierung in Box 3001 durchgeführt wird. Vielmehr wäre es denkbar, dass die Partitionierung der Bereiche im Rahmen der Inferenz in Box 3002 durchgeführt wird. Die Ausführungen, die voranstehend und nachfolgend im Zusammenhang mit der Bestimmung der Partitionierung in Box 3520 dargelegt sind, können entsprechend auf eine Partitionierung, die erst zur Inferenz durchgeführt wird, angewendet werden (vgl. z.B.
Grundsätzlich gibt es unterschiedliche Optionen, um die Bewertungsmetrik zu implementieren.Basically, there are different options for implementing the evaluation metric.
Beispielsweise könnte die Bewertungsmetrik eine Komponente umfassen, die die Vielzahl von Bereichen basierend auf ihrem Abstand zu als unsicher erkannten Positionen bewertet. Liegt ein Bereich z.B. innerhalb eines Abstands bk von einer als unsicher erkannten Position, so kann der Bereich als unsicher eingestuft werden.For example, the evaluation metric could include a component that evaluates the plurality of areas based on their distance from positions recognized as unsafe. For example, if an area lies within a distance b k from a position recognized as unsafe, the area can be classified as unsafe.
Beispielsweise könnte die Bewertungsmetrik eine Komponente umfassen, die die Vielzahl von Bereichen basierend auf einer Kantenlänge von Kanten der Bereiche partitioniert (vgl. TAB. 1: Sicherheitslevel I vs. II). Beispielsweise könnte, je länger die individuellen Kanten eines Bereichs sind, eine Tendenz für die Einstufung eines entsprechenden Bereichs als unsicher bestehen. Dem liegt die Erkenntnis zugrunde, dass die Wahrscheinlichkeit für einen signifikanten Wechsel der Ausgabe des maschinengelernten Algorithmus umso größer ist, je größer die Bereiche sind, das heißt je größer die Kantenlänge der Kanten des Bereichs ist. Je länger die Kantenlänge, desto größer auch die Wahrscheinlichkeit für einen doppelten Klassenwechsel entlang der jeweiligen Kante, also z.B. von einer ersten Klasse zu einer zweiten Klasse und zurück. Es könnte also - anders formuliert - eine kritische Schwelle a festgelegt werden, welche einen Abstand im Eingabevektorraum festlegt, bei deren Unterschreitung der ML Algorithmus sicher generalisieren darf. Dies beruht unter anderem auf der Annahme, dass bei einem Abstand kleiner als a im Eingabevektorraum kein doppelter Wechsel der Ausgabeklasse erfolgt. Bereiche, die als sicher eingestuft sind, weisen dann Kantenlängen auf, die allesamt kleiner sind als der Schwellenwert a. Bereiche, die als unsicher eingestuft werden, weisen zumindest eine Seitenkante auf, die größer ist als der Schwellenwert a.For example, the evaluation metric could include a component that partitions the plurality of areas based on an edge length of edges of the areas (see TAB. 1: Security level I vs. II). For example, the longer the individual edges of an area, there might be a tendency for that area to be classified as unsafe. This is based on the knowledge that the probability of a significant change in the output of the machine-learned algorithm is greater the larger the areas are, i.e. the greater the edge length of the edges of the area. The longer the edge length, the greater the probability of a double class change along the respective edge, for example from a first class to a second class and back. So - in other words - a critical threshold a could be defined, which determines a distance in the input vector space below which the ML algorithm can generalize safely. This is based, among other things, on the assumption that if the distance is smaller than a in the input vector space, there will be no double change in the output class. Areas that are classified as safe then have edge lengths that are all smaller than the threshold value a. Areas that are classified as unsafe have at least one side edge that is greater than the threshold value a.
In manchen Beispielen könnte der Schwellenwert a fest für die verschiedenen Positionen im Eingaberaum sein. Es wäre aber auch möglich, dass der Schwellenwert als Funktion der Position im Eingaberaum gewählt wird.In some examples, the threshold a could be fixed for the different positions in the input space. However, it would also be possible for the threshold value to be chosen as a function of the position in the input space.
Wenn der Eingabevektorraum D Dimensionen aufweist (d.h. der Eingabevektor umfasst D Einträge), dann ist bei einer Anzahl von D+1 Trainingsdatenpaaren auch eine entsprechende Anzahl von Eingabevektoren vorhanden. Diese sind an unterschiedlichen Positionen im Eingabevektorraum angeordnet. Die Verbindungsvektoren ausgehend von einem Eingabevektor zu den anderen Eingabevektor spannen ein e-dimensionalen Hypervolumen des Eingabevektorraums auf, wenn die Verbindungsvektoren voneinander linear unabhängig sind, d.h. keiner der Verbindungsvektoren kann durch eine Linearkombination aus den anderen Verbindungsvektoren gebildet werden. Mathematisch wird dann auch davon gesprochen, dass sich die „D+1“-Positionen der Eingabevektoren in einer „generellen Position (engl. „general position“) zueinander befinden. Es kann vorkommen, dass die Verbindungsvektoren nichtlinear unabhängig sind. Falls die D+1 Eingabevektoren noch kein D-dimensionalen Hypervolumen aufspannen, können so lange im Eingaberaum benachbarte Punkte dazu genommen, bis ein D dimensionaler Raum aufgespannt wird. Dann definiert diese Menge der Punkte ein Hypervolumen, für den eine Generalisierung vorgenommen und eine Bewertung des Bereiches durchgeführt werden kann.If the input vector space has D dimensions (i.e. the input vector includes D entries), then with a number of D+1 training data pairs there will also be a corresponding number of input vectors. These are arranged at different positions in the input vector space. The connection vectors starting from one input vector to the other input vector span an e-dimensional hypervolume of the input vector space if the connection vectors are linearly independent of each other, i.e. none of the connection vectors can be formed by a linear combination of the other connection vectors. Mathematically, it is then said that the “D+1” positions of the input vectors are in a “general position” relative to one another. It can happen that the connection vectors are non-linearly independent. If the D+1 input vectors do not yet span a D-dimensional hypervolume, neighboring points in the input space can be added until a D-dimensional space is spanned. Then this set of points defines a hypervolume for which a generalization can be made and an evaluation of the area can be carried out.
Diese Ausgangssituation ermöglicht den Aufbau der Triangulierung. Die Triangulierung unterteilt den Eingabevektorraum in Hypervolumen (bzw. Bereiche), wobei die Grenze eines Hypervolumens jeweils durch die Fläche (genauer: Hyperfläche) definiert wird, die zwischen jeweils drei Punkten der Triangulierung liegt. Zwischen den Flächen von D+1 in der Triangulierung benachbarten Punkten (die entsprechend der Vorgaben an die Triangulation jeweils in einer generellen Position zueinander liegen) wird dann das jeweilige Hypervolumen (d.h. der jeweilige Bereich im Eingabevektorraum) abgegrenzt.This initial situation enables the triangulation to be set up. The triangulation divides the input vector space into hypervolumes (or areas), whereby the boundary of a hypervolume is defined by the area (more precisely: hypersurface) that lies between three points of the triangulation. The respective hypervolume (i.e. the respective area in the input vector space) is then delimited between the areas of D+1 points adjacent to the triangulation (which are each in a general position relative to one another in accordance with the specifications for the triangulation).
In den verschiedenen hierin beschriebenen Beispielen können unterschiedliche Arten von Triangulierungen verwendet werden. Das bedeutet, dass unterschiedliche Algorithmen verwendet werden können, um eine Triangulierung zu bestimmen. Je nach Wahl der Triangulierung können unterschiedliche Bereiche erhalten werden; z.B. ist in
Ein Beispiel für eine Triangulierung ist die Delaunay-Triangulierung. Die Delaunay Triangulation kann etwa mit dem Bowyer-Watson Algorithmus durchgeführt werden. Ein Beispiel zur Delaunay-Triangulierung ist in
Anders formuliert: In der möglichen Mehrdeutigkeit bei der Bestimmung der Bereiche liegt ein Optimierungspotential. Wenn zu einen Eingabevektor, für den Inferenz erfolgen soll, der Positionsvektor im Eingabevektorraum in zwei Bereichen liegt, welche beide eine sichere Zuordnung ermöglichen (z.B. alle Kantenlängen kleiner „a“, vgl. TAB. 1: Beispiel I), dann kann die für die Applikation „nützlichere“ Ausgabe der zwei Bereiche (d.h. die mit den niedrigeren Kosten) verwendet werden. Dies wäre z.B. in
Zusammenfassend kann es also bei einer allgemeinen Triangulation ohne zusätzliche Bedingungen zu Uneindeutigkeiten kommen. Die Delaunay Triangulation löst die Uneindeutigkeit mit der Umkreisbedingung: Im Umkreis eines Dreiecks darf kein weiterer Punkt vorhanden sein. Das mindert zwar das Vorkommen sehr „spitzer“ Dreiecke, sorgt allerdings nicht unbedingt für eine möglichst kleine Kantenlänge. Dahingegen kann es - um den oben genannten Schwellenwert für die Kantenlänge einzuhalten - in den verschiedenen hierin beschriebenen Beispielen erstrebenswert sein, die Dreiecke mit möglichst kurzer Kantenlänge zu bestimmen. Dies wird durch die Min-Max-Triangulierung erreicht. Diese minimiert die die größte Kante eines Dreiecks („MinMaxEdge“). Dabei erfolgt die Wahl des Dreiecks, in dem ein Punkt drin liegt, nur abhängig von der Lage dieses Punktes.In summary, a general triangulation without additional conditions can lead to ambiguity. The Delaunay triangulation solves the ambiguity with the circumference condition: There must not be any other points within the circumference of a triangle. Although this reduces the occurrence of very “pointed” triangles, it does not necessarily ensure that the edge length is as small as possible. On the other hand, in order to comply with the above-mentioned threshold value for the edge length, it may be desirable in the various examples described herein to determine the triangles with the shortest possible edge length. This is achieved through min-max triangulation. This minimizes the largest edge of a triangle (“MinMaxEdge”). The choice of the triangle in which a point lies depends only on the position of this point.
Sofern keine genügend große Anzahl von Trainingsdatenpaaren vorhanden ist, um die Bereiche zu definieren, können weitere Trainingsdatenpaare erfasst werden. Wenn beispielsweise beim Aufbau der Triangulation Probleme auftreten (weil Beispiele z.B. nicht in einer geeigneten Lage zueinander liegen), dann werden weitere benachbarte Punkte zu der betrachteten Menge hinzugefügt, bis die Eingabevektoren diese Menge der Beispiele einen Raum mit der gleichen Dimension wie den Eingaberaum aufspannen. Die Positionen der Eingabevektoren definieren dann die Begrenzung eines Hypervolumens, für den eine Ausgabe und eine Bewertung der Sicherheit der Ausgabe bestimmt werden kann (vgl. TAB. 1).If there are not enough training data pairs to define the areas, additional training data pairs can be collected. For example, if problems arise when setting up the triangulation (e.g. because examples are not in a suitable position relative to one another), then further neighboring points are added to the set under consideration until the input vectors of this set of examples span a space with the same dimension as the input space. The positions of the input vectors then define the boundary of a hypervolume for which an output and an assessment of the security of the output can be determined (see TABLE 1).
Wenn D+1 Eingabevektoren des Trainingsdatensatzes alle weniger als die kritische Schwelle a voneinander entfernt sind, dann definieren diese Beispiele B für das Hypervolumen H, das von den sie verbindenden Hyperflächen umschlossen wird, ein Hypervolumen für den eine sichere Aussage über den internen Systemzustand möglich ist (vgl. TAB. 1). In diesem Fall kann es in manchen Beispielen möglich sein, erlaubte Ergebnisse für die Vorhersage bzw. den verdeckte Systemzustand zu berücksichtigen. Beispielsweise wäre es denkbar, dass der vorhergesagte verdeckte Systemzustand nur Werte annehmen darf, welche auch von den, das Hypervolumen begrenzenden Beispielen B in der Ausgabe angenommen werden kann; oder bei der Schätzung des verborgenen Systemzustands kann der Ausgabewert nur Werte annehmen, die nicht mehr als od von solchen Beispielen B entfernt liegen. Die approximierte Funktion ist in diesem Hypervolumen H stetig, in besonderen Ausführungsformen sogar lipschitzstetig. Gehören alle „D+1“ Eingabevektoren zur gleichen Klasse K (d.h. weisen dieselbe Grundwahrheit K auf), so kann entsprechend den obigen Ausführungen allen weiteren Eingabevektoren, die innerhalb des Hypervolumens liegen, sicher diese Klasse K zugeordnet werden.If D+1 input vectors of the training data set are all less than the critical threshold a apart, then these examples B for the hypervolume H, which is enclosed by the hypersurfaces connecting them, define a hypervolume for which a reliable statement about the internal system state is possible (see TABLE 1). In this case, in some examples it may be possible to take into account permitted results for the prediction or the hidden system state. For example, it would be conceivable that the predicted hidden system state may only assume values that can also be assumed by the examples B in the output that limit the hypervolume; or when estimating the hidden system state, the output value can only take values that are no more than o d away from such examples B. The approximate function is continuous in this hypervolume H, and in special embodiments it is even Lipschitz continuous. If all “D+1” input vectors belong to the same class K (ie have the same ground truth K), then all other input vectors that lie within the hypervolume can be safely assigned to this class K in accordance with the above statements.
Voranstehend wurde also ein Szenario beschrieben, bei dem die Bewertungsmetrik die Partitionierung der Bereiche basierend auf deren Kantenlänge durchführt. Alternativ oder zusätzlich könnte die Bewertungsmetrik die Vielzahl von Bereichen basierend auf einer lokalen Variation der Grundwahrheiten bewerten. Das bedeutet, dass zum Beispiel überprüft werden kann, ob und gegebenenfalls, wie stark sich die Grundwahrheiten innerhalb oder am Rand des jeweiligen Bereichs verändern. Beispielsweise könnte überprüft werden, ob ein doppelter Wechsel einer Ausgabeklasse für einen Klassifikator als maschinengelernter Algorithmus, vorliegt. Dem liegt die Erkenntnis zugrunde, dass eine stärkere Variation der Grundwahrheit in einem bestimmten Bereich im Eingabevektorraum des Eingabevektors indikativ für eine entsprechende erhöhte Unsicherheit bei der Vorhersage des maschinengelernten Algorithmus sein kann.A scenario was described above in which the evaluation metric performs the partitioning of the areas based on their edge length. Alternatively or additionally, the applicant could tion metrics evaluate the variety of domains based on local variation in ground truths. This means that, for example, it can be checked whether and, if so, to what extent the basic truths change within or at the edge of the respective area. For example, it could be checked whether there is a double change in an output class for a classifier as a machine-learned algorithm. This is based on the knowledge that a greater variation in the ground truth in a certain region in the input vector space of the input vector can be indicative of a corresponding increased uncertainty in the prediction of the machine-learned algorithm.
Es wäre in verschiedenen Beispielen denkbar, dass die Bewertungsmetrik, die in Box 3520 verwendet wird, parametriert wird. Das bedeutet, dass es einen Parameter geben kann, dessen Wert die Ergebnisse der Bewertung beeinflusst. Der Parameterwert kann dann je nach Anwendungsgebiet oder situationsspezifisch ausgewählt werden. Beispielsweise könnte ein vorgegebener Schwellenwert für die Seitenkanten (der Wert a) basierend auf mindestens einem Kriterium ausgewählt werden.In various examples it would be conceivable that the evaluation metric used in
Nachfolgend werden einige beispielhafte Kriterien erläutert, die als Grundlage für die Wahl des Schwellenwert für die Kantenlänge dienen können. Nachfolgend wird also erläutert, wie der Schwellenwert bestimmt werden kann.Some exemplary criteria are explained below that can serve as a basis for choosing the threshold value for the edge length. The following explains how the threshold value can be determined.
Das Kriterium könnte zum Beispiel einen minimalen Abstand zwischen den unterschiedlichen Eingabevektoren des Trainingsdatensatzes, die mit den verschiedenen Systemzuständen assoziiert sind, umfassen. Das bedeutet, dass eine Analyse der Abstände zwischen den unterschiedlichen Eingabevektoren im Trainingsdatensatz durchgeführt werden kann. Insbesondere kann überprüft werden, was der minimale Abstand für Eingabevektoren ist, die unterschiedliche Ergebnisse, beispielsweise unterschiedliche Klassen, für den verborgenen Systemzustand liefern. Dann könnte der vorgegebenen Schwellenwert kleiner oder gleich diesem minimalen Abstand gewählt werden.The criterion could, for example, include a minimum distance between the different input vectors of the training data set that are associated with the different system states. This means that an analysis of the distances between the different input vectors in the training data set can be carried out. In particular, it can be checked what the minimum distance is for input vectors that provide different results, for example different classes, for the hidden system state. Then the predetermined threshold value could be chosen to be less than or equal to this minimum distance.
Ein entsprechendes Beispiel ist in
Das Beispiel der
In manchen Beispielen kann es möglich sein, eine solche Trennung von Regionen, die mit unterschiedlichen Klassen assoziiert sind, durch geeignete Vorverarbeitung von Zustandsdaten zu verbessern; so dass die Eingabevektoren, die basierend auf den Zustandsdaten des technisch-physikalischen Systems bestimmt werden, die entsprechend große Separation aufweisen. Eine solche progressive Separation durch unterschiedliche Vorverarbeitung ist in den Beispielen der
Alternativ oder zusätzlich könnte das mindestens eine Kriterium basierend auf Domänenwissen bestimmt werden. Beispielsweise könnte bei einer vergleichswiese niedrigen Dimensionalität des Eingabevektorraums auf Grundlage von Domänenwissen ein minimaler Abstand zwischen unterschiedlichen Klassen ermittelt werden. Als Beispiel: z.B. könnte eine Kamera-basierte Fahrwegerkennung für Schienenfahrzeuge Merkmale in Bildern erkennen, die erstens parallel verlaufende Schienen (ggf. durch eine optische Übertragungsfunktion einer Kamera korrigiert), zweitens in bestimmtem Abstand zueinander angeordnete Schienenschwellen und drittens das Vorhandensein von Schotter einer definierten Größe zwischen den Schwellen betreffen. Als konkretes Beispiel: Über eine Hough-Transformation kann beispielsweise über ausgedehnte parallele linienförmige Strukturen der Krümmungsradius der Schienen bestimmt werden; über einen Garborfilter kann die Frequenz der Schwellenabfolge sowie die Größe des Schotters bestimmt werden. Wenn in diesem 3-D Eingaberaum (Krümmungsradius langer schlanker linienförmiger paralleler Objekte, Frequenz der Schwellen, Größe des Schotters) drei Beispiele sich weniger als der auf Grundlage von Domänenwissen festgelegte Schwellenwert unterschieden, dann wurde ein Fahrweg erkannt. Es wäre dann denkbar, dass der zulässige Merkmalsbereich für erkannte Schienen / Fahrweg anhand dieses Domänenwissens festgelegt wird und basierend darauf der Schwellenwert gewählt wird.Alternatively or additionally, the at least one criterion could be determined based on domain knowledge. For example, if the dimensionality of the input vector space is comparatively low, a minimum distance between different classes could be determined based on domain knowledge. As an example: For example, a camera-based route detection for rail vehicles could detect features in images that firstly indicate parallel rails (corrected if necessary by an optical transfer function of a camera), secondly rail sleepers arranged at a certain distance from one another and thirdly the presence of ballast of a defined size between the thresholds. As a concrete example: Using a Hough transformation, for example, the radius of curvature of the rails can be determined using extended parallel linear structures; The frequency of the threshold sequence and the size of the gravel can be determined using a Garbor filter. If in this 3-D input space (radius of curvature of long slender linear parallel objects, frequency of thresholds, size of gravel) three examples differed less than the threshold value determined based on domain knowledge, then a route was recognized. It would then be conceivable that the permissible feature range for recognized rails/tracks is determined based on this domain knowledge and the threshold value is selected based on this.
Alternativ oder zusätzlich könnte das mindestens eine Kriterium für das Bestimmen des Schwellenwerts zum Beispiel eine Designvorgabe eines Entwicklungsprozesses des technisch-physikalischen Systems umfassen. Beispielsweise könnte das mindestens eine Kriterium spezifizieren, welches Sicherheitslevel für den Betrieb des technisch-physikalischen Systems erzielt werden soll. Wird beispielsweise ein bestimmtes Sicherheitslevel - zum Beispiel eine Wahrscheinlichkeit für eine Fehl-Klassifikationen oder eine falsche Steueraktion - im Rahmen des Entwicklungsprozesses für das technisch-physikalisches System erfordert, so kann in Abhängigkeit von dieser Vorgabe ein strengeres oder weniger strenges Kriterium für die Parametrisierung der Bewertungsmetrik verwendet werden.Alternatively or additionally, the at least one criterion for determining the threshold value could include, for example, a design specification of a development process of the technical-physical system. For example, at least one criterion could specify which security level should be achieved for the operation of the technical-physical system. For example, if a certain security level - for example a probability of a misclassification or an incorrect control action - is required as part of the development process for the technical-physical system, then depending on this specification, a stricter or less strict criterion for the parameterization of the evaluation metric can be used be used.
In Box 3525 kann optional eine Plausibilisierung der in Box 3515 bestimmten und optional in Box 3520 bewerteten Bereiche erfolgen. Das bedeutet, dass überprüft / validiert werden kann, ob die Einstufung beispielsweise in „sicher“ und „unsicher“ zutreffend oder unzutreffend ist.In
Beispielsweise kann der Schwellenwert für die Kantenlänge (d.h. der Parameter a) auf Grundlage von ein oder mehreren weiteren Trainingsdatenpaaren plausibilisiert werden. Diese ein oder mehreren weiteren Trainingsdatenpaare können also über den Trainingsdatensatz hinausgehen und weitere Eingabevektoren an Positionen aufweisen, die einen Abstand zu einer Position eines Eingabevektors der Trainingsdatenpaare des ursprünglichen Trainingsdatensatzes aufweisen, der kleiner als der minimale Abstand ist. Dann kann anhand dieser weiteren Trainingsdatenpaare überprüft werden, ob die Ausgabe des maschinengelernten Algorithmus mit der entsprechenden Grundwahrheit übereinstimmt. Ist dies nicht der Fall, so kann die Plausibilisierung ein negatives Ergebnis aufweisen.For example, the threshold value for the edge length (i.e. the parameter a) can be checked for plausibility based on one or more further training data pairs. These one or more further training data pairs can therefore go beyond the training data set and have further input vectors at positions that have a distance to a position of an input vector of the training data pairs of the original training data set that is smaller than the minimum distance. These additional pairs of training data can then be used to check whether the output of the machine-learned algorithm matches the corresponding ground truth. If this is not the case, the plausibility check may produce a negative result.
Das ist auch in
Die Plausibilisierung der Einteilung in die als sicher identifizierten Bereiche erfolgt dann mit weiteren Trainingsdatenpaaren, d.h. weitere Eingabevektoren für die Grundwahrheiten bekannt sind. Diese weiteren Eingabevektoren sind mit den Kreuzen + Kreis identifiziert. Für einen dieser weiteren Eingabevektoren (hervorgehoben mit Pfeil) wird ein Fehler erkannt: Die Grundwahrheit indiziert die zweite Klasse, während dieser Eingabevektor in einem in Bezug auf die erste Klasse sicher eingestuften Bereich angeordnet ist.The plausibility of the division into the areas identified as safe is then carried out with further pairs of training data, i.e. further input vectors for which the basic truths are known. These additional input vectors are identified with the crosses + circle. An error is detected for one of these additional input vectors (highlighted with an arrow): the ground truth indexes the second class, while this input vector is arranged in an area that is safely classified with respect to the first class.
Wird bei der Plausibilisierung in Box 3525 ein Fehler erkannt, könnte die Rückkopplungsschleife über Box 3526 ausgeführt werden. In diesem Fall kann in Box 3526 der Schwellenwert für die Seitenkanten (der Wert a) reduziert werden und eine Neueinstufung der Bereiche erfolgen.If an error is detected during the plausibility check in
In Box 3530 können optional ein oder mehrere weitere Positionen im Eingabevektorraum ermittelt werden, an denen weitere Trainingsdatenpaare positioniert sein sollen. Das bedeutet in anderen Worten, dass bestimmt werden kann, wo weitere Trainingsdatenpaare hilfreich sind, um eine zuverlässige Vorhersage des verborgenen Systemzustand durch den maschinengelernten Algorithmus zu fördern. Der Trainingsdatensatz kann also gezielt erweitert werden.In
Insbesondere kann dabei auf die Bewertung der Bereiche im Rahmen einer entsprechenden Partitionierung aus Box 3520 zurückgegriffen werden. Im Rahmen einer solchen Bewertung können Bereiche im Eingabevektorraum bestimmt werden, die mit einer großen Unsicherheit in Bezug auf eine entsprechende Bewertungsmetrik assoziiert sind. Es wäre dann möglich, dass weitere Trainingsdatenpaare so angeordnet sind, dass sie zu einer Neubewertung dieser mit einer großen Unsicherheit behafteten Bereiche führen.In particular, the evaluation of the areas within the framework of a corresponding partitioning from
Die ein oder mehreren weiteren Positionen können im Vektorraum so gewählt werden, dass sie nach einer Neubestimmung der Vielzahl von Bereichen unter Berücksichtigung der Trainingsdatenpaare und der weiteren Trainingsdatenpaare eine Gesamtgröße der ersten Bereiche maximal zunimmt. Dies könnte zum Beispiel im Rahmen eines Optimierungsalgorithmus bestimmt werden.The one or more further positions can be selected in the vector space so that after a redetermination of the large number of areas, taking into account the training data pairs and the further training data pairs, a total size of the first areas increases to the maximum. This could be determined, for example, as part of an optimization algorithm.
Dabei gäbe es unterschiedliche Möglichkeiten, um solche weiteren Trainingsdaten zu erhalten. Beispielsweise könnte eine Mensch-Maschinen Schnittstelle angesteuert werden können, um eine Annotierung von Grundwahrheiten für den verborgenen Systemzustand für die weiteren Trainingsdaten zu erhalten. Das bedeutet, dass in einem Labeling-Prozess solche Labeling-Kandidaten aus der Menge von verfügbaren Eingabevektoren höher priorisiert werden können, für die bestimmt wird, dass sie auf Grundlage der Partitionierung hilfreich sind. Damit kann eine Lernkurve, die die Genauigkeit des maschinengelernten Algorithmus als Funktion der Iterationen der Annotierung beschreibt, besonders steil ausgebildet werden. Die Anzahl der erforderlichen Annotationen kann vergleichsweise gering ausfallen. Es könnte auch eine Software-Simulation des technisch-physikalischen Systems geeignet eingestellt werden, um die Grundwahrheiten für den verborgenen Systemzustand für die weiteren Trainingsdatenpaare zu erhalten.There are different options for obtaining such additional training data. For example, a human-machine interface could be controlled to obtain an annotation of ground truths for the hidden system state for the further training data. This means that in a labeling process, those labeling candidates from the set of available input vectors that are determined to be useful based on the partitioning can be given higher priority. This means that a learning curve that describes the accuracy of the machine-learned algorithm as a function of the annotation iterations can be particularly steep. The number of annotations required can be comparatively small. A software simulation of the technical-physical system could also be suitably set in order to obtain the ground truth for the hidden system state for the further training data pairs.
Werden weitere Trainingsdatenpaare erhalten, so können Box 3510 und die nachfolgenden Boxen erneut durchgeführt werden (in
In Box 3535 ist es anschließend möglich, den trainierten maschinengelernten Algorithmus, der durch das Ausführen von Box 3510 erhalten wird, sowie die Kontextdaten 50, die aus Box 3515 sowie ggf. Box 3520 erhalten werden, zu speichern.In
Voranstehend wurden im Zusammenhang mit
Beispielsweise könnte der Bereich 531 einem fehlerfrei funktionierenden Motor für eine Gleisweiche entsprechen; während der Bereich 532 einem blockierten Motor entsprechen könnte. Die Eingabevektoren 511-513 und 521-523 könnten dabei zum Beispiel basierend auf Messwerten für einen Stromfluss durch den Motor sowie Messdaten aus einem Erschütterungssensor entsprechen. Das ist nur ein konkretes Beispiel und andere Beispiele sind möglich.For example,
Die Eingabevektoren 511-513 und 521-523 sind Teil eines Trainingsdatensatzes. Der Trainingsdatensatz umfasst also mehrere Trainingsdatenpaare, die jeweils einen entsprechenden Eingabevektor 511-513 und 521-523 umfassen, sowie einen zugehörigen Ausgabevektors als Grundwahrheit, der für die Eingabevektoren 511-513 eine erste Ausgabeklasse (z.B. „Motor defekt“) anzeigt und für die Eingabevektoren 521-523 eine zweite Ausgabeklasse (z.B. „Motor nicht defekt“) anzeigt.The input vectors 511-513 and 521-523 are part of a training data set. The training data set therefore comprises several pairs of training data, each of which includes a corresponding input vector 511-513 and 521-523, as well as an associated output vector as ground truth for the input vectors 511-513 displays a first output class (e.g. “motor defective”) and for the input vectors 521-523 displays a second output class (e.g. “motor not defective”).
In
Dies ist zunächst in
Dies trifft auch zu für einen maschinengelernten Algorithmus 89, der durch ein Multilayer-Perzeptron implementiert sei zu, wie in
Selbiges gilt schließlich auch für eine SVM-Implementierung des maschinengelernten Algorithmus, siehe
Nachfolgend wird gezeigt, wie anhand der Bereiche, die durch die Kontextdaten 50 angezeigt werden, eine solche unsichere Vorhersage durch den maschinengelernten Algorithmus 89 in den Implementierungen gemäß
In
Außerdem ist in
Als allgemeine Regel können in den verschiedenen hierin beschriebenen Beispielen unterschiedliche Abstandsmetriken verwendet werden. Beispielsweise kann die Euklidische Distanz verwendet werden. Es könnte aber auch die sog. p-Norm verwendet werden.As a general rule, different distance metrics may be used in the various examples described herein. For example, the Euclidean distance can be used. However, the so-called p-norm could also be used.
Als allgemeine Regel kann die kritische Kantenlänge 590 so gewählt werden, dass kein doppelter Klassenwechsel für die Ausgabe des maschinengelernten Algorithmus innerhalb der entsprechenden Länge im Eingabevektorraum stattfinden kann. Vgl. TAB. 1: Sicherheitsstufe I.As a general rule, the
In
Eine andere Situation liegt für den Bereich 573 vor (vgl.
Aus
Voranstehend wurde eine Variante erläutert, bei der die Bereiche zwischen Positionen von Eingabevektoren angeordnet sind. Eine weitere Variante ist in
Die Kontextdaten 50 zeigen die Bereiche an. Das kann bei der Inferenz (vgl.
Zunächst wird in Box 3005 ein Eingabevektor erhalten. Dieser kann Zustandsdaten des technisch-physikalischen Systems kodieren. Beispielsweise könnte der Eingabevektor basierend auf entsprechenden Zustandsdaten (vergleiche
In Box 3010 wird der maschinengelernte Algorithmus geladen. Ein entsprechender Programmcode kann aus dem Speicher geladen werden.The machine-learned algorithm is loaded into
Der maschinengelernte Algorithmus ist zu diesem Zeitpunkt bereits trainiert, das heißt Parameterwerte sind gesetzt. Zum Training können Techniken, wie sie voranstehend im Zusammenhang mit Box 3001 zum Beispiel in
Dann werden in Box 3015 Kontextdaten geladen. Die Kontextdaten sind mit dem maschinengelernten Algorithmus assoziiert. Außerdem zeigen die Kontextdaten mehrere Bereiche im Vektorraum des Eingabevektors an. Das wurde voranstehend im Zusammenhang mit
Es gibt unterschiedliche Möglichkeiten, wie die Kontextdaten Bereiche im Eingabevektorraum indizieren können. Die Kontextdaten könnten zum Beispiel die Bereiche direkt angeben, das heißt für jeden Bereich entsprechende Grenzen definieren. Es wäre auch denkbar, dass die Kontextdaten die Eckpunkte angeben; und dann daraus mittels einer Delaunay-Triangulierung oder einer anderen Triangulierung oder einem anderen Schema die Bereiche bestimmt werden. Die Kontextdaten können die Grenzflächen zwischen den Bereichen angeben.There are different ways that the context data can index regions in the input vector space. The context data could, for example, specify the areas directly, i.e. define corresponding boundaries for each area. It would also be conceivable that the context data indicates the key points; and then the areas are determined from this using a Delaunay triangulation or another triangulation or another scheme. The context data can indicate the interfaces between the areas.
Die Kontextdaten können auch optimiert sein. Die Kontextdaten können die Bereiche komprimiert angeben. Beispielsweise können Bereiche zusammengefasst werden, welche die gleiche Eigenschaft haben, um eine möglichst effiziente Bestimmung des verdeckten Systemzustands zu erreichen. Eine solche Zusammenfassung von Bereichen oder anderweitige Optimierung/Komprimierung der Kontextdaten kann in
In manchen Beispielen können die Kontextdaten auch noch weitere Information anzeigen, über die Bereiche hinaus.In some examples, the context data can also display additional information beyond the areas.
Die Bereiche können eingeteilt sein in erste Bereiche und zweite Bereiche. Die ersten Bereiche (vgl.
Dabei ist es grundsätzlich möglich, dass die Kontextdaten bereits einen Indikator umfassen, der eine entsprechende Partitionierung der Bereiche in die ersten und zweiten Bereiche indiziert. Das bedeutet, dass eine entsprechende Partitionierung der Bereiche bereits im Zusammenhang mit der Parametrisierung des maschinengelernten Algorithmus durchgeführt werden kann und dann kann im Rahmen der Inferenz auf diese vorher stattgefundene Partitionierung zurückgegriffen werden (entsprechende Aspekte wurden zum Beispiel im Zusammenhang mit Box 3520 in
Wenn die Bewertungsmetrik mehrere Komponenten umfasst, so können diese Komponenten hierarchisch geordnet sein. Das kann bedeuten, dass die Partitionierung ein erstes Kriterium mit höherer Hierarchie behandelt, als ein zweites Kriterium (das erste Kriterium hat also eine höhere Hierarchiestufe als das zweite Kriterium). Beispielsweise könnte ein solches Kriterium zunächst geprüft werden; und wenn dann festgestellt wird, dass ein bestimmter Bereich zum Beispiel als unsicher einzustufen ist, könnte es entbehrlich sein, den Bereich hinsichtlich anderer Kriterien der Bewertungsmetrik zu beurteilen. Beispielsweise kann es insbesondere erstrebenswert sein, primär den Abstand zu als unsicher erkannten Positionen im Eingabevektorraum zu überprüfen hinsichtlich eines Schwellenwerts (der Parameter b; Abstand 679 in
Das Durchführen der Partitionierung zur Inferenz in Box 3020 kann bestimmte Vorteile gegenüber dem Durchführen der Partitionierung während der Parametrierung des maschinengelernten Algorithmus (vgl.
Beispielsweise wäre es denkbar, dass die Bewertungsmetrik basierend auf einem Betriebsmodus des technisch-physikalischen Systems parametriert wird. Der Betriebsmodus kann dabei mit den Zustandsdaten assoziiert sein. Das heißt, dass die Zustandsdaten (vergleiche
So könnte die Bewertungsmetrik basierend auf einem Betriebssicherheitslevel der zu erbringenden Funktion des technisch-physikalischen Systems, das spezifisch für den Betriebsmodus ist, parametrisiert werden. Dem liegt die Erkenntnis zugrunde, dass bestimmte technisch-physikalische Systeme in unterschiedlichen Betriebsmodi betrieben werden können, die verschiedene Betriebssicherheitslevel für die automatische Steuerung erfordern. Ein Beispiel wäre zum Beispiel teilautonomen gegenüber voll-autonomes Fahren. Bei teilautonomen Steuerungen (z.B. „Level 2“ - teilautomatisiertes Fahren) behält der Fahrer Zugriff auf das Fahrzeug, so dass das Betriebssicherheitslevel für die Steuerung im Vergleich zu vollautonomen Steuerungen (z.B. „Level 5“ - autonomes Fahren) reduziert sein kann. Entsprechend wäre es denkbar, dass für die Sicherheit der Vorhersage eine andere Bewertungsmetrik zur Partitionierung der Bereiche verwendet wird, je nachdem ob teilautonomes oder voll-autonomes Fahren basierend auf der Vorhersage des maschinengelernten Algorithmus umgesetzt wird.The evaluation metric could thus be parameterized based on an operational safety level of the function to be provided by the technical-physical system, which is specific to the operating mode. This is based on the knowledge that certain technical-physical systems can be operated in different operating modes, which require different operational safety levels for automatic control. An example would be semi-autonomous versus fully autonomous driving. With semi-autonomous controls (e.g. "Level 2" - partially automated driving), the driver retains access to the vehicle, so that the operational safety level for the control can be reduced compared to fully autonomous controls (e.g. "Level 5" - autonomous driving). Accordingly, it would be conceivable that a different evaluation metric would be used to partition the areas for the reliability of the prediction, depending on whether semi-autonomous or fully autonomous driving is implemented based on the prediction of the machine-learned algorithm.
Wenn zum Beispiel eine Einteilung der Bereiche basierend auf der Kantenlänge im Vergleich zu einem vorgegebenen Größenschwellenwert (vergleiche
Voranstehend wurden Beispiele beschrieben, bei denen die Kontextdaten über die Bereiche hinaus noch weitere Information indizieren; voranstehend wurde insbesondere ein Beispiel beschrieben, bei denen es möglich ist, dass die Kontextdaten die Partitionierung der Bereiche indiziert. Neben einer solchen weiteren Information, die von den Kontextdaten bereitgestellt wird, könnte auch andere Informationen durch die Kontextdaten bereitgestellt werden.Examples have been described above in which the context data indexes further information beyond the areas; An example in particular has been described above in which it is possible for the context data to index the partitioning of the areas. In addition to such further information provided by the context data, other information could also be provided by the context data.
In manchen Szenarien wäre es denkbar, dass die Kontextdaten für zumindest einige Bereiche der Vielzahl von Bereichen ein oder mehrere erlaubte Ergebnisse für den verborgenen Systemzustand indizieren. Das bedeutet, dass - zusätzlich zur Indikation der verschiedenen Bereiche im Eingabevektorraum - auch angegeben werden kann, welch zulässigen Ausgabewerte der Ausgabevektor annehmen darf, sofern der Eingabevektor in einem entsprechenden Bereich positioniert ist. Beispielsweise ist in
Außerhalb der Bereiche 771-776 könnte Extrapolation (etwa für den Punkt 779) vorliegen (vgl. TAB. 1: Sicherheitsstufe III), sodass hier eine sichere Vorhersage nicht möglich ist.Outside the areas 771-776 there could be extrapolation (e.g. for point 779) (see TABLE 1: Security level III), so that a reliable prediction is not possible here.
In Box 3025 in
Basierend auf dieser relativen Position kann dann in Box 3030 überprüft werden, ob entweder - Box 3035 - einen Fehlerindikator ausgegeben werden soll (d.h. die Ausgabe des maschinengelernten Algorithmus wird blockiert) oder in Box 3040 der Eingabevektor maschinengelernten Algorithmus verarbeitet werden soll (d.h. die Ausgabe des maschinengelernten Algorithmus wird erlaubt und weiterverarbeitet).Based on this relative position, it can then be checked in
Beispielsweise könnte der Fehlerindikator in Box 3035 genau dann ausgegeben werden, wenn der Eingabevektor in keinem Bereich angeordnet ist (in einem solchen Fall kann es entbehrlich sein, eine Partitionierung der Bereiche vorzunehmen). Es wäre auch denkbar, dass der Fehlerindikator auch dann ausgegeben wird, wenn der Eingabevektor in einem Bereich liegt, der mit einer großen Unsicherheit des Schätzens des verborgenen Systemzustand assoziiertes, beispielsweise wie durch den entsprechenden Indikator 751 in den Kontextdaten 750 angegeben; oder wie durch die Partitionierung in Box 3020 bestimmt. Sofern in Box 3035 der Fehlerindikator ausgegeben wird, so kann dies in Box 3050 zum Steuern des technisch-physikalischen Systems berücksichtigt werden. Beispielsweise könnte das technisch-physikalischen Systemen einen sicheren Betriebszustand überführt werden. Es könnte eine Warnung an ein Bedienpersonal des technisch-physikalischen Systems ausgegeben werden. Es könnte eine Fehler-Protokolldatei entsprechend ergänzt werden.For example, the error indicator in
Wenn ein Verarbeiten des Eingabevektors maschinengelernten Algorithmus in Box 3040 erfolgt, so wird dann als Ausgabe des maschinengelernten Algorithmus ein Ausgabevektor erhalten, welche indikativ für den verborgenen Systemzustand des technisch-physikalischen Systems ist. In manchen Beispielen könnte dieser Ausgabe dann dazu verwendet werden, um das technisch-physikalische System zu steuern, Box 3050.If the input vector of the machine-learned algorithm is processed in
Optional wäre es in Box 3045 auch denkbar, den verborgenen Systemzustand, der als Ausgabe vom maschinengelernten Algorithmus in Box 3040 erhalten wird, basierend auf erlaubten Ergebnissen für den Systemzustand, die durch die Kontextdaten indiziert werden (vergleiche
Dabei sind die in
Wieder bezugnehmend auf
Box 3040 und Box 3045 entsprechen also einem zweistufigen Ansatz. Zuerst werden in Box 3040 Ergebnis Kandidat mittels des maschinengelernten Algorithmus bestimmt; die dann gegebenenfalls in Box 3045 korrigiert werden können, basierend auf den Kontextdaten.
In Box 3050 kann anschließend das Steuern des technisch-physikalischen Systems basierend auf dem Fehlerindikator (aus Box 3035 oder gegebenenfalls aus Box 3045) und/oder dem geschätzten verborgenen Systemzustand aus Box 3040 erfolgen. Beispielsweise könnten entsprechende Steuerdaten an das technisch-physikalische System gesendet werden.In
Zusammenfassend wurden obenstehend Techniken beschrieben, bei denen Kontextdaten im Zusammenhang mit dem Training eines maschinengelernten Algorithmus erzeugt werden. Die Kontextdaten sind indikativ für Bereiche im Eingabevektorraum, die mit sicheren oder unsicheren Vorhersagen des maschinengelernten Algorithmus assoziiert sind. Die Bereiche können zum Beispiel als Delaunay-Triangulierung zwischen Positionen von Eingabevektoren eines Trainingsdatensatzes erzeugt werden. Die Bereiche bilden also Hyperraumvolumen. Jedem Hyperraumvolumen kann als Markierung die Menge der Ausgabeklassen der Beispiele zugeordnet werden, welche die Eckpunkte des Hyperraumvolumens bilden. Ist der Abstand aller Punkte zueinander im Eingaberaum kleiner als „a“, so wird zusätzlich das Merkmal „sicher“ für die Markierung gesetzt. Das Attribut sicher bei der Markierung bedeutet, dass genau nur die Ausgaben auftreten können, welche an den Beispielen vorliegen, welche das Hyperraumvolumen begrenzen. Andere Ausgaben können wegen der Annahme zu „a“, dass kein doppelter Klassenwechsel auftritt in diesem Fall nicht auftreten.In summary, techniques have been described above in which contextual data is generated in connection with the training of a machine-learned algorithm. The contextual data is indicative of regions in the input vector space that are associated with confident or uncertain predictions from the machine-learned algorithm. The areas can be generated, for example, as a Delaunay triangulation between positions of input vectors of a training data set. The areas therefore form hyperspace volumes. Each hyperspace volume can be assigned as a marker the set of output classes of the examples that form the corner points of the hyperspace volume. If the distance between all points in the input space is smaller than “a”, the “safe” feature is also set for the marking. The attribute safe in the marking means that only the outputs that are present in the examples that limit the hyperspace volume can occur. Other outputs cannot occur in this case because of the assumption in “a” that no double class change occurs.
Selbstverständlich können die Merkmale der vorab beschriebenen Ausführungsformen und Aspekte der Erfindung miteinander kombiniert werden. Insbesondere können die Merkmale nicht nur in den beschriebenen Kombinationen, sondern auch in anderen Kombinationen oder für sich genommen verwendet werden, ohne das Gebiet der Erfindung zu verlassen.Of course, the features of the previously described embodiments and aspects of the invention can be combined with one another. In particular, the features can be used not only in the combinations described, but also in other combinations or alone, without departing from the field of the invention.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 102021207613 [0102]DE 102021207613 [0102]
Claims (48)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022209903.6A DE102022209903A1 (en) | 2022-09-20 | 2022-09-20 | SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS |
PCT/EP2023/074279 WO2024061615A1 (en) | 2022-09-20 | 2023-09-05 | Secure control of technical-physical systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022209903.6A DE102022209903A1 (en) | 2022-09-20 | 2022-09-20 | SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022209903A1 true DE102022209903A1 (en) | 2024-03-21 |
Family
ID=88016250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022209903.6A Pending DE102022209903A1 (en) | 2022-09-20 | 2022-09-20 | SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022209903A1 (en) |
WO (1) | WO2024061615A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163224A (en) | 2011-04-06 | 2011-08-24 | 中南大学 | Adaptive spatial clustering method |
US9014905B1 (en) | 2014-01-28 | 2015-04-21 | Google Inc. | Cyclist hand signal detection by an autonomous vehicle |
EP3944158A1 (en) | 2020-07-21 | 2022-01-26 | Volkswagen Aktiengesellschaft | Computer-implemented method for machine learning for operating a vehicle component and method for operating a vehicle component |
DE112021000251T5 (en) | 2020-03-26 | 2022-09-08 | International Business Machines Corporation | PROCEDURE FOR SELECTING RECORDS TO UPDATE AN ARTIFICIAL INTELLIGENCE MODULE |
DE102021207613A1 (en) | 2021-05-26 | 2022-12-01 | Siemens Mobility GmbH | Process for quality assurance of a system |
-
2022
- 2022-09-20 DE DE102022209903.6A patent/DE102022209903A1/en active Pending
-
2023
- 2023-09-05 WO PCT/EP2023/074279 patent/WO2024061615A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163224A (en) | 2011-04-06 | 2011-08-24 | 中南大学 | Adaptive spatial clustering method |
US9014905B1 (en) | 2014-01-28 | 2015-04-21 | Google Inc. | Cyclist hand signal detection by an autonomous vehicle |
DE112021000251T5 (en) | 2020-03-26 | 2022-09-08 | International Business Machines Corporation | PROCEDURE FOR SELECTING RECORDS TO UPDATE AN ARTIFICIAL INTELLIGENCE MODULE |
EP3944158A1 (en) | 2020-07-21 | 2022-01-26 | Volkswagen Aktiengesellschaft | Computer-implemented method for machine learning for operating a vehicle component and method for operating a vehicle component |
DE102021207613A1 (en) | 2021-05-26 | 2022-12-01 | Siemens Mobility GmbH | Process for quality assurance of a system |
Non-Patent Citations (1)
Title |
---|
AGGARWAL, Charu C., REDDY, Chandan K.: Data Clustering - Algorithms and Applications. 1. Ausgabe, CRC Press, 2014. S. 4 - 8, S. 19 - 22. ISBN: 978-1-4665-5822-9 |
Also Published As
Publication number | Publication date |
---|---|
WO2024061615A1 (en) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112017000787T5 (en) | Method for controlling the movement of a vehicle and vehicle control system | |
DE102019131385A1 (en) | SAFETY AND PERFORMANCE STABILITY OF AUTOMATION THROUGH UNSECURITY-LEARNED LEARNING AND CONTROL | |
DE112020006045T5 (en) | FORMAL SECURE SYMBOLIC REINFORCEMENT LEARNING THROUGH VISUAL INPUTS | |
EP4193135A1 (en) | Computer-implemented method for providing a test process for traffic scenarios to be tested | |
EP3961511A1 (en) | Ml-based automatic recognition of new and relevant data sets | |
DE102020128978A1 (en) | TRAINING DEEP NEURAL NETWORKS WITH SYNTHETIC IMAGES | |
DE102021207613A1 (en) | Process for quality assurance of a system | |
DE112018005794T5 (en) | System and method for controlling a motor vehicle for autonomous driving | |
DE102022209903A1 (en) | SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS | |
DE102021006561A1 (en) | Big data for error detection in battery systems | |
DE102022209898A1 (en) | SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS | |
EP3968213A1 (en) | Method for determining a track-bound railway track in a track system and device for carrying out this method | |
DE102019209463A1 (en) | Method for determining the trust value of an object of a class | |
DE112021005868T5 (en) | FEDERAL LEARNING FOR A MULTI-LABEL OIL PUMP MANAGEMENT CLASSIFICATION MODEL | |
DE102020211596A1 (en) | Method for generating a trained neural convolution network with an invariant integration layer for classifying objects | |
DE102020127051A1 (en) | Method for determining safety-critical output values using a data analysis device for a technical entity | |
DE102013206274A1 (en) | Method and apparatus for adapting a non-parametric function model | |
DE102016206627A1 (en) | Method and device for measuring a system to be tested | |
DE102019130484A1 (en) | Method and device for training an ensemble of neural networks | |
WO2024008453A1 (en) | Method for predicting an influence of one road user on at least one other road user, and method for operating a vehicle | |
DE102021209090A1 (en) | Method for context-dependent evaluation of a vehicle condition and vehicle | |
EP4208760A1 (en) | Method and configuration system for configuring a control device for a technical system | |
DE102021106584A1 (en) | System with at least one plant system with at least several plant parts | |
DE202021101370U1 (en) | System with at least one plant system with at least several plant parts | |
DE102019119739A1 (en) | Method and system for generating security-critical output values of an entity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |