DE102022209903A1 - SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS - Google Patents

SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS Download PDF

Info

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
Application number
DE102022209903.6A
Other languages
German (de)
Inventor
Thomas Schnapka
Thomas Waschulzik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Mobility GmbH
Original Assignee
Siemens Mobility GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Mobility GmbH filed Critical Siemens Mobility GmbH
Priority to DE102022209903.6A priority Critical patent/DE102022209903A1/en
Priority to PCT/EP2023/074279 priority patent/WO2024061615A1/en
Publication of DE102022209903A1 publication Critical patent/DE102022209903A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/091Active learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine 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 aus 6 trainiert wurde, gemäß verschiedenen Beispielen. 7 illustrates a classification result of a machine-learned algorithm based on the training data set 6 was trained according to various examples.
  • 8 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus 6 trainiert wurde, gemäß verschiedenen Beispielen. 8th illustrates a classification result of a machine-learned algorithm based on the training data set 6 was trained according to various examples.
  • 9 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus 6 trainiert wurde, gemäß verschiedenen Beispielen. 9 illustrates a classification result of a machine-learned algorithm based on the training data set 6 was trained according to various examples.
  • 10A illustriert mehrere Bereiche, die im Vektorraum der Eingabevektoren aus 6 gemäß verschiedenen Beispielen bestimmt werden. 10A illustrates several regions in the vector space of the input vectors 6 can be determined according to various examples.
  • 10B illustriert Details zu einem der Bereiche aus 10A. 10B illustrates details about one of the areas 10A .
  • 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 to 10C is determined.
  • 10E illustriert einen weiteren Bereich, der im Eingabevektorraum gemäß 10C bestimmt wird. 10E illustrates another region in the input vector space according to 10C 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. STUFE KURZE BESCHREIBUNG BEISPIELHAFTE DETAILS I Kantenlänge + Interpolation Es können Bereiche verwendet werden, die sich zwischen Positionen erstrecken, die mit Eingabevektoren von Zustandsdaten des technisch-physikalischen Systems, die in Trainingsdatensatz für den maschinengelernten Algorithmus beinhaltet sind, assoziiert sind. Das bedeutet also, dass in einem solchen Bereich zwischen den jeweiligen Zustandsdaten, für die Grundwahrheiten verfügbar sind, interpoliert wird. Dies entspricht bereits einem hohen Maß an Sicherheit. Um das Sicherheitslevel weiter zu erhöhen, kann zusätzlich gefordert werden, dass die Kantenlänge solcher Bereiche einen vorgegebenen Schwellenwert nicht überschreitet. Das bedeutet also, dass nur Bereiche berücksichtigt werden, die relativ nahe an den Positionen der Zustandsdaten im Eingabevektorraum liegen. Dadurch wird vermieden, dass ein doppelter Klassenwechsel innerhalb des Bereichs auftreten kann. Durch das Berücksichtigen der vergleichsweise begrenzten Kantenlänge und der Interpolation kann ein besonders hohes Maß an Sicherheit in Bezug auf die Vorhersage des maschinengelernten Algorithmus gewährleistet werden. Optional könnte auch noch berücksichtigt werden, dass ein entsprechender Bereich keinen vorgegebenen Mindestabstand zu unsicheren Positionen im Eingabevektorraum unterschreitet. Eine solche Prüfung könnte insbesondere, wie nachfolgend noch näher beschrieben wird (im Zusammenhang mit Box 3020 aus 11), vorrangig gegenüber anderen Komponenten erfolgen, zum Beispiel vorrangig gegenüber einer Prüfung, ob die Kantenlänge der Bereiche einen vorgegebenen Schwellenwert überschreitet oder nicht überschreitet. II Interpolation Wird lediglich die Interpolation - aber nicht die Kantenlänge, vergleiche Stufe I - berücksichtigt, so kann immer noch ein vergleichsweise hohes Maß an Sicherheit gewährleistet werden, das aber geringer ist als bei Stufe I. Beispielsweise könnten mehrfache Klassenwechsel innerhalb eines entsprechenden Bereichs auftreten; dies kann durch die Berücksichtigung beliebig großer Interpolationsbereiche nicht ausgeschlossen werden. III Extrapolation Ein vergleichsweise niedriges Maß an Sicherheit im Zusammenhang mit der Vorhersage des maschinengelernten Algorithmus wird erzielt, wenn die Vorhersage für eine Position im Eingabevektorraum getroffen wird, die mit einer Extrapolation ausgehend von Zustandsdaten, die in Trainingsdatensatz beinhaltet sind, assoziiert ist. Beispielsweise können sich solche Bereiche nicht zwischen Positionen von Eingabevektoren, die mit Zustandsdaten im Trainingsdatensatz assoziiert sind, erstrecken, sondern weg von solchen Positionen. From the above, it can be seen that the regions in the input vector space can be determined that have different certainties with respect to the prediction of the machine-learned algorithm. This is in TAB. 1 summarized. LEVEL SHORT DESCRIPTION EXEMPLARY DETAILS I Edge length + interpolation Regions may be used that extend between positions associated with input vectors of state data of the engineering-physical system included in the training data set for the machine-learned algorithm. This means that in such an area interpolation takes place between the respective state data for which ground truths are available. This already corresponds to a high level of security. In order to further increase the security level, it can also be required that the edge length of such areas does not exceed a predetermined threshold value. This means that only areas that are relatively close to the positions of the state data in the input vector space are taken into account. This avoids the possibility of a double class change occurring within the area. By taking into account the comparatively limited edge length and interpolation, a particularly high level of security can be achieved Reference to the prediction of the machine-learned algorithm can be guaranteed. Optionally, it could also be taken into account that a corresponding area does not fall below a specified minimum distance to unsafe positions in the input vector space. Such a test could, in particular, be described in more detail below (in connection with Box 3020). 11 ), take priority over other components, for example over a check as to whether the edge length of the areas exceeds or does not exceed a predetermined threshold value. II interpolation If only the interpolation - but not the edge length, compare level I - is taken into account, a comparatively high level of security can still be guaranteed, although this is lower than with level I. For example, multiple class changes could occur within a corresponding area; This cannot be ruled out by considering arbitrarily large interpolation areas. III Extrapolation A comparatively low level of certainty in connection with the prediction of the machine-learned algorithm is achieved if the prediction is made for a position in the input vector space that is associated with an extrapolation based on state data included in the training data set. For example, such areas may extend not between positions of input vectors associated with state data in the training data set, but away from such positions.

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.

1 illustriert Aspekte in Bezug auf ein System 90. Das System 90 umfasst eine Datenverarbeitungsanlage 91 und ein technisch-physikalische System 95 (z.B. eine Industrieanlage, ein Luft-, Wasser, Raum oder Boden-Fahrzeug, ein Kraftwerk, ein Personenbeförderungsmittel wie einen Aufzug oder eine Rolltreppe, eine Fertigungsmaschine, eine Fabrik, eine Fertigungsstraße, eine Anlage zur Verteilung von Energie oder Stoffströmen oder ein System zur Steuerung von Verkehr, um nur einige Beispiele zu geben). 1 illustrates aspects relating to a system 90. The system 90 includes a data processing system 91 and a technical-physical system 95 (e.g. an industrial plant, an air, water, space or ground vehicle, a power plant, a means of passenger transport such as an elevator or a Escalator, a manufacturing machine, a factory, a production line, a system for distributing energy or material flows or a system for controlling traffic, to give just a few examples).

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 data processing system 91 has a processor 92 and a non-volatile memory 93. The data processing system 91 also includes a communication interface 94. The processor 92 can communicate with the technical-physical system using the communication interface 94. For example, it would be possible for status data 81 of the technical-physical system 95 to be received via the communication interface 94. The status data 81 could, for example, be measured values from a sensor that monitors certain operating parameters of the technical-physical system 95. The status data 81 could also be operating values of the technical-physical system 95, for example certain control specifications for actuators of the technical-physical system 95. It is also possible for the processor 92 to send control data 82 to the technical-physical system 95 via the communication interface 94. The operation of the technical-physical system can be adjusted using the control data 82.

Während in 1 nur ein Prozessor 92 gezeigt ist, kann die Datenverarbeitungsanlage 91 allgemein mehrere Prozessoren aufweisen.While in 1 Only one processor 92 is shown, the data processing system 91 can generally have several processors.

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 2 dargestellt.To process the status data 81, the processor 92 can load and execute program code from the memory 93. The program code may define a machine-learned algorithm configured to process input vectors encoding the state data 81. The machine-learned algorithm can then provide an output vector that estimates a hidden system state of the engineering-physical system. A corresponding data processing pipeline is also in 2 shown.

2 illustriert Aspekte in Bezug auf einem maschinengelernten Algorithmus 89. Der maschinengelernte Algorithmus 89 verarbeitet einen Eingabevektor 85, der Zustandsdaten 81 des technisch-physikalischen Systems 95 kodiert. Der maschinengelernte Algorithmus 89 stellt dann einen Ausgabevektors 86 bereit, der den verborgenen Systemzustand des technisch-physikalischen Systems 95 vorhersagt. Das entspricht einer Inferenz. 2 illustrates aspects relating to a machine-learned algorithm 89. The machine-learned algorithm 89 processes an input vector 85 which encodes state data 81 of the technical-physical system 95. The machine-learned algorithm 89 then provides an output vector 86 ready, which predicts the hidden system state of the technical-physical system 95. This corresponds to an inference.

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 algorithm 89 is reliable. In particular, it can be checked a priori, i.e. before or independently of executing the machine-learned algorithm, whether this prediction is reliable.

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 input vector 85 in the input vector space and using corresponding context data 50. The context data 50 is associated with, but different from, the machine-learned algorithm 89. Different machine-learned algorithms 89 have different context data 50. The context data 50 may, for example, be determined in connection with training the machine-learned algorithm 89, which will be explained in detail later.

Nachfolgend sind im Zusammenhang mit 3 Aspekte im Zusammenhang mit der Überprüfung der Position des Eingabevektors 85 im Eingabevektorraum unter Verwendung der Kontextdaten 50 dargestellt.Below are related to 3 Aspects related to checking the position of the input vector 85 in the input vector space using the context data 50 are shown.

3 illustriert Aspekte in Bezug auf die Position des Eingabevektors 85 im entsprechenden Eingabevektorraum 71 (zur Illustration ist der Eingabevektorraum 71 zweidimensional dargestellt, kann aber höherdimensional sein; der Eingabevektorraum ist also genaugenommen ein Hyperraum). 3 illustrates aspects related to the position of the input vector 85 in the corresponding input vector space 71 (for illustration, the input vector space 71 is shown in two dimensions, but may be higher dimensional; so the input vector space is strictly speaking a hyperspace).

In 3 sind außerdem mehrere Bereiche 72 im Eingabevektorraum 71 dargestellt. Die Bereiche 72 werden durch Hyperflächen (oder im dargestellten zweidimensionalen Fall Strecken) voneinander abgegrenzt. Der Eingabevektor 85 weist eine bestimmte Position in Bezug auf diese Bereiche 72 auf (im Beispiel der 3 ist der Eingabevektor 85 in einem der Bereiche 72 angeordnet) .In 3 Several areas 72 are also shown in the input vector space 71. The areas 72 are delimited from one another by hypersurfaces (or, in the two-dimensional case shown, lines). The input vector 85 has a specific position in relation to these areas 72 (in the example the 3 the input vector 85 is arranged in one of the areas 72).

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 context data 50 associated with the machine-learned algorithm 89. For example, the context data 50 could indicate the areas between the areas 72.

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 4.In the various examples described herein, it is possible to determine such a relative position of the input vector with respect to multiple regions 72 and then, based on that relative position, selectively process the input vector machine-learned algorithm 89 and thereby estimate the hidden system state (e.g. if it if it is security level I or II), or to output an error indicator (for example if it is security level III, see TAB. 1). The areas 72 can be indexed by the context data 50 of the machine-learned algorithm 89. The context data 50 can be loaded by the processor 92, for example from the memory 93. The context data 50 can be created in connection with the training of the machine-learned algorithm, ie when parameterizing the machine-learned algorithm; please refer 4 .

4 ist ein Flussdiagramm eines beispielhaften Verfahrens. 4 illustriert verschiedene Phasen der Verwendung eines maschinengelernten Algorithmus wie beispielsweise des maschinengelernten Algorithmus 89. 4 is a flowchart of an example method. 4 illustrates different phases of using a machine-learned algorithm such as machine-learned algorithm 89.

In Box 3001 erfolgt eine Parametrierung.Parameterization takes place in Box 3001.

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 algorithm 89. The training can be carried out based on a training data set. The training data set includes training data pairs, each comprising an input vector and an associated output vector. The output vector represents the ground truth for the output of the machine-learned algorithm for the respective input vector. For example, a ground truth can be obtained based on manual annotation by an expert with domain knowledge. There are also techniques for automatically obtaining basic truths, although this can vary depending on the application area, e.g. by means of a simulation of the technical-physical system.

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 2).The parameterization 3001 may also include generating the context data 50 for the machine-learned algorithm. These can be determined based on the input vectors of the training data set. This means that the context data is specific to the respective machine-learned algorithm that has undergone a certain training. Different machine-learned algorithms then have different context data (see also vertical dashed arrow in 2 ).

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 context data 50 for the machine-learned algorithm in a memory such as memory 93 for later inference in box 3002.

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.Box 3002 is where the inference takes place. This inference takes into account both the previously trained machine-learned algorithm 89 in order to estimate, if necessary, a hidden system state of the technical-physical system; as well as the context data 50 to determine whether an output of the machine learned algorithm is secure or unsafe. No ground truth is available as part of the inference in Box 3002. That is, the machine-learned algorithm 89 outputs an output vector 86 that cannot be compared to a ground truth.

Nachfolgend werden zunächst Aspekte im Zusammenhang mit Box 3001 beschrieben. Anschließend werden Aspekte im Zusammenhang mit Box 3002 beschrieben.Aspects related to Box 3001 are described below. Aspects related to Box 3002 are then described.

5A ist ein Flussdiagramm eines beispielhaften Verfahrens. 5A illustriert Aspekte im Zusammenhang mit dem Parametrisieren eines maschinengelernten Algorithmus gemäß Box 3001 aus 4. 5A is a flowchart of an example method. 5A illustrates aspects related to parameterizing a machine-learned algorithm according to Box 3001 4 .

Beispielsweise könnte das Verfahren aus 5A vom Prozessor 92 ausgeführt werden, basierend auf Programmcode, der aus dem Speicher 93 geladen wird und dann vom Prozessor 92 ausgeführt wird.For example, the procedure could be: 5A are executed by processor 92 based on program code loaded from memory 93 and then executed by processor 92.

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 2). Der Eingabevektor kodiert dabei Zustandsdaten eines technisch-physikalischen Systems. Zu jedem Eingabevektor ist jeweils eine Grundwahrheit zugeordnet, für einen entsprechenden verborgenen Systemzustand des technisch-physikalischen Systems. Die Grundwahrheiten liegen in Form von Ausgabevektoren (vergleiche Ausgabevektors 86 in 2) vor.First, a training data set is obtained in box 3505. The training data set includes several pairs of training data. Each pair of training data has a corresponding input vector, corresponding to input vector 85 (see 2 ). The input vector encodes status data of a technical-physical system. A ground truth is assigned to each input vector, for a corresponding hidden system state of the technical-physical system. The basic truths are in the form of output vectors (compare output vector 86 in 2 ) before.

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 box 3510, the training of the machine-learned algorithm is then carried out based on the training data set. This is done to obtain parameter values for the machine-learned algorithm. Details about the training have already been described above in connection with Box 3001.

Anschließend werden in Box 3515 basierend auf den Eingabevektoren des Trainingsdatensatzes mehrere Bereiche bestimmt.Multiple ranges are then determined in box 3515 based on the input vectors of the training data set.

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 context data 50 can then be generated, which is indicative of the areas. For example, the context data 50 could be the triangle areas of the triangular network. The areas can therefore be delimited by surfaces (more precisely: hypersurfaces) that extend between the positions of neighboring input vectors in the corresponding input vector space.

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 12 und 13 näher erläutert.In some examples, it would be conceivable that the context data 50 are also indicative of permitted results of the machine-learned algorithm if a corresponding input vector is arranged in one of the areas. These permitted results can be determined in box 3516. There are several techniques to determine the allowed results in Box 3516. For example, a special algorithm could be used that determines the permitted results depending on the geometric properties of the respective area. For example, a corresponding additional machine-learned algorithm could be used. A multilayer perceptron or a support vector machine could be used. A classic rule-based algorithm could also be used. For example, the allowed results could be determined based on ground truths for the input vectors of the training data pairs used to determine the ranges. For example, if a particular region is bounded by three input vectors associated with the ground truths “yellow,” “yellow,” and “blue,” then the corresponding region could be characterized in the contextual data such that the output vectors of the machine-learned algorithm are either “ yellow” or “blue”. In other words, for regions formed by a triangular mesh, the allowed outcomes of the hidden system state can be determined based on the ground truths associated with the nodes of the triangular mesh. Corresponding aspects will be discussed later in connection with 12 and 13 explained in more detail.

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 box 3520 based on a predetermined evaluation metric, for example according to TAB. 1, security level I or security level II. For example, the first ranges in terms of the evaluation metric may be associated with a comparatively low uncertainty for the estimation of the hidden system state by the machine-learned algorithm; while the second areas are associated with a comparatively large uncertainty for estimating the hidden system state in terms of the evaluation metric. The context data that is then saved can also be indicative of the partitioning of the areas. The context data could, for example, be the security level according to TAB. Show 1.

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. 11: Box 3020).It is not necessary in all examples for the areas to be partitioned as part of the parameterization in Box 3001. Rather, it would be conceivable that the partitioning of the areas is carried out in box 3002 as part of the inference. The explanations set out above and below in connection with the determination of the partitioning in box 3520 can be applied accordingly to a partitioning that is only carried out for inference (cf. e.g 11 : Box 3020).

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 5B dargestellt, wie für vier Punkte unterschiedlich trianguliert werden kann (durchgezogene vs. gestrichelte Linien).Different types of triangulations may be used in the various examples described herein. This means that different algorithms can be used to determine triangulation. Depending on the choice of triangulation, different areas can be obtained; e.g. is in 5B shows how four points can be triangulated differently (solid vs. dashed lines).

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 5C gezeigt. Dabei wird die Delaunay-Triangulierung mit der sogenannten Umkreisbedingung gebildet Es gilt: Der Umkreis eines Dreiecks des Netzes darf keine weiteren Punkte der vorgegebenen Punktmenge enthalten. Dadurch wird, mathematisch gesprochen, „der kleinste Innenwinkel über alle Dreiecke maximiert“. Es wird also erreicht, dass der kleinste Winkel in den Dreiecken so groß wird, wie dieser in diesem Dreiecksnetz sein kann. Über die anderen Winkel wird jedoch keine Aussage getroffen. Ein anderes Beispiel für eine Triangulierung ist die sog. Min-Max-Triangulierung. Diese ist im Zusammenhang mit 5D für drei verschiedene Beispiele erläutert (in 5D sind unterschiedliche Beispiele mit unterschiedlichen Positionen im Eingabevektorraum assoziiert; die Positionen im Eingabevektorraum sind durch die Kreuze markiert). Bei der Min-Max-Triangulierung werden die Dreiecke beispielsweise jeweils so gewählt, dass die größte Kante des Dreiecks minimal wird. Das hilft, die maximale Seitenlänge des Bereichs möglichst klein zu wählen, was in Betracht auf den Schwellenwertvergleich mit dem Schwellenwert a hilfreich ist. Es kann aber manchmal vorkommen, dass mehrere mögliche Triangulierungen erfolgen können und somit eine bestimmte Position im Eingabevektorraum unterschiedlichen Bereichen - je nach Triangulierung - zugeordnet sein kann. Liegen mehrere mögliche Zuordnungen vor und mindestens eine dieser Zuordnung kann mit einem unsicheren Zustand assoziiert werden, so kann im Ergebnis die Ausgabe des maschinengelernten Algorithmus (z.B. ein Klassifikator) blockiert werden. Demnach gibt es bei Vorliegen mehrerer möglicher Ausgaben zwei Möglichkeiten. Der Klassifikator kann so eingestellt sein, dass er entweder die sicherste oder die nützlichste Ausgabe bevorzugt. Im zweiten Fall müsste man natürlich die „Nützlichkeit“ etwa mit priorisierten Ausgaben definieren.An example of a triangulation is the Delaunay triangulation. The Delaunay triangulation can be carried out using the Bowyer-Watson algorithm. An example of Delaunay triangulation is in 5C shown. The Delaunay triangulation is formed with the so-called circumference condition. The following applies: The circumference of a triangle of the network must not contain any other points from the specified point set. This, mathematically speaking, “maximizes the smallest interior angle across all triangles.” What is achieved is that the smallest angle in the triangles becomes as large as it can be in this triangle network. However, no statement is made about the other angles. Another example of one Triangulation is the so-called min-max triangulation. This is related to 5D explained for three different examples (in 5D are different examples associated with different positions in the input vector space; the positions in the input vector space are marked by the crosses). With min-max triangulation, for example, the triangles are chosen so that the largest edge of the triangle becomes minimal. This helps to choose the maximum side length of the area as small as possible, which is helpful when considering the threshold comparison with the threshold value a. However, it can sometimes happen that several possible triangulations can take place and thus a certain position in the input vector space can be assigned to different areas - depending on the triangulation. If there are several possible assignments and at least one of these assignments can be associated with an uncertain state, the output of the machine-learned algorithm (e.g. a classifier) can be blocked as a result. Accordingly, if there are several possible expenses, there are two options. The classifier can be set to favor either the safest or the most useful output. In the second case, you would of course have to define “usefulness” in terms of prioritized expenditure.

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 5D der Fall, wenn der oberste Punkt „gelb“ und die unteren drei Punkte „blau“ (als Beispiele für eine Klassenzuordnung) wären. In dem Fall wäre bei der Auswertung des oberen Dreiecks (linker Teil der Darstellung 5D) die Ausgabe „blau“ oder „gelb“ möglich. Das Dreieck in der mittleren Darstellung lässt jedoch den sicheren Schluss zu, dass die Ausgabe „blau“ ist. Dann darf der ML Algorithmus die Ausgabe „blau“ ausgeben, da diese Ausgabe durch eine abgesicherte Interpolation erfolgt, da alle Kantenlängen kleiner als a sind. Diese Variante erhöht die Verfügbarkeit des Systems, ohne dass die Sicherheit leidet.In other words: There is potential for optimization in the possible ambiguity when determining the areas. If for an input vector for which inference is to be made, the position vector in the input vector space lies in two areas, both of which enable a secure assignment (e.g. all edge lengths less than "a", cf. TAB. 1: Example I), then the for the Application “more useful” output of the two areas (i.e. the one with the lower cost) will be used. This would be e.g 5D the case if the top point were “yellow” and the bottom three points were “blue” (as examples of class assignment). In this case, when evaluating the upper triangle (left part of the illustration 5D ) the output “blue” or “yellow” is possible. However, the triangle in the middle representation allows us to safely conclude that the output is “blue”. Then the ML algorithm is allowed to output the output “blue” because this output is done through a secured interpolation since all edge lengths are smaller than a. This variant increases the availability of the system without compromising security.

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 Box 3520 is parameterized. This means that there may be a parameter whose value influences the results of the evaluation. The parameter value can then be selected depending on the area of application or situation-specific. For example, a predetermined threshold value for the side edges (the value a) could be selected based on at least one criterion.

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 5E dargestellt. 5E ist eine zweidimensionale Repräsentation des Eingabevektorraums (Allgemein formuliert könnte der Eingabevektorraum auch eine höhere Dimensionalität aufweisen) und zeigt unterschiedliche Regionen 691-694 in denen jeweils Eingabevektoren angeordnet sind, die zu einer spezifischen Klasse gehören. Beispielsweise gehören die Eingabevektoren, die in der Region 691 des Eingabevektorraums angeordnet sind, zu einer ersten Klasse (beispielsweise „grün“), während die Eingabevektoren, die in einer Region 692 des Eingabevektorraums angeordnet sind, zu einer anderen, zweiten Klasse (beispielsweise „rot“) gehören. In 5E ist auch der minimale Abstand 699 zwischen zwei Positionen im Eingabevektorraum, die mit Eingabevektoren unterschiedlicher Klassen assoziiert sind, eingezeichnet (im dargestellten Beispiel der 5E ist dieser Abstand 699 durch zwei Eingabevektoren in den Regionen 691 und 693 definiert). Beispielsweise könnte eine entsprechende Information durch eine Histogramm-artige Auswertung erfolgen. Im Histogramm kann jeweils der Abstand zwischen allen Paaren von Eingabevektoren, die zu unterschiedlichen Klassen gehören, aufgetragen werden. Der kleinste Abstand zwischen zwei Eingabevektoren, welche unterschiedlichen Klassen zugeordnet sind, kann dann aus dem Histogramm bestimmt werden. Entsprechend kann auch ein Histogramm erstellt werden, in dem der Abstand, in dem ein doppelter Klassenwechsel auftritt. Dazu wird für je zwei Beispiele bestimmt, ob es ein Beispiel gibt, welches zwischen diesen Beispielen liegt (das bedeutet es hat einen geringeren Abstand zu den beiden erst genannten Beispielen) und das eine abweichende Klasse zu zumindest einem der erstgenannten Beispiele hat. Dieser Abstand 699 kann dann als vorgegebener Schwellenwert zwischen dem geringsten Abstand zwischen zwei Beispielen die unterschiedlichen Klassen zugeordnet sind und dem geringsten Abstand mit einem doppelten Klassenwechsel gewählt werden.A corresponding example is in 5E shown. 5E is a two-dimensional representation of the input vector space (generally formulated, the input vector space could also have a higher dimensionality) and shows different regions 691-694 in which input vectors that belong to a specific class are arranged. For example, the input vectors located in region 691 of the input vector space belong to a first class (e.g., “green”), while the input vectors located in a region 692 of the input vector space belong to another, second class (e.g., “red ") belong. In 5E The minimum distance 699 between two positions in the input vector space that are associated with input vectors of different classes is also shown (in the example shown 5E this distance 699 is defined by two input vectors in regions 691 and 693). For example, corresponding information could be provided through a histogram-like evaluation. The distance between all pairs of input vectors that belong to different classes can be plotted in the histogram. The smallest distance between two input vectors that are assigned to different classes can then be determined from the histogram. Accordingly, a histogram can also be created showing the distance at which a double class change occurs. To do this, it is determined for every two examples whether there is an example that lies between these examples (that is, it is closer to the first two examples mentioned) and that has a different class to at least one of the first mentioned examples. This distance 699 can then be selected as a predetermined threshold value between the smallest distance between two examples that are assigned to different classes and the smallest distance with a double class change.

Das Beispiel der 5E ist durch eine gute Trennung der Regionen 691-694 im Eingabevektorraum charakterisiert. Dadurch ist der Abstand 699 und damit der Schwellenwert vergleichsweise groß. Dies erlaubt es, in vergleichsweise großen Teilen des Eingabevektorraums eine sichere Vorhersage des verborgenen Systemzustand des technisch-physikalischen Systems mittels des maschinengelernten Algorithmus zu machen.The example of 5E is characterized by good separation of regions 691-694 in the input vector space. This means that the distance 699 and thus the threshold value is comparatively large. This makes it possible to make a reliable prediction of the hidden system state of the technical-physical system in comparatively large parts of the input vector space using the machine-learned algorithm.

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 5F, 5G und 5H gezeigt. Beispielsweise wäre es möglich, einen entsprechenden Qualitätsindikator, der indikativ für die Trennung der verschiedenen Regionen 691-694 ist, zu definieren. Dann könnte eine Optimierung der Vorverarbeitung hinsichtlich einer Optimierungsfunktion, die den Qualitätsindikator beinhaltet, erfolgen. Beispielsweise könnten bestimmte Transformationen der Zustandsdaten zum Bestimmen der Eingabevektoren erfolgen. Es könnten auch Transformationen im Ausgaberaum erfolgen. Entsprechende Beispiele sind zum Beispiel beschrieben in: Deutscher Patentanmeldung 10 2021 207 613.0 .In some examples, it may be possible to improve such separation of regions associated with different classes through appropriate preprocessing of state data; so that the input vectors, which are determined based on the state data of the technical-physical system, have the correspondingly large separation. Such progressive separation through different preprocessing is shown in the examples 5F , 5G and 5H shown. For example, it would be possible to define a corresponding quality indicator that is indicative of the separation of the different regions 691-694. Then the preprocessing could be optimized with regard to an optimization function that includes the quality indicator. For example, certain transformations of the state data could be carried out to determine the input vectors. Transformations could also occur in the output space. Corresponding examples are described, for example, in: German patent application 10 2021 207 613.0 .

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 Box 3525, the areas determined in Box 3515 and optionally evaluated in Box 3520 can optionally be checked for plausibility. This means that it can be checked/validated whether the classification into “safe” and “unsafe”, for example, is accurate or inaccurate.

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 5I dargestellt. In 5I sind mit den Kreisen jeweils Eingabevektoren des Trainingsdatensatzes in einer ersten Klasse (z.B. „grün“) und mit den Dreiecken Eingabevektoren des Trainingsdatensatzes in einer zweiten Klasse (z.B. „rot) dargestellt. Dann sind auch die als sicher für die erste Klassen identifizierten Bereiche mit einer gestrichelten Füllung (links unten nach rechts oben) und die als sicher für die zweite Klasse identifizierten Bereiche mit einer anderen gestrichelten Füllung (links oben nach rechts unten) dargestellt, vgl. TAB. 1: Sicherheitsstufe I. Als unsicher eingestufte Bereiche (hier TAB. 1: Sicherheitsstufe II) - wegen Klassenwechsel an den Eckpunkten und/oder Kantenlänge zu groß - sind ohne Füllung dargestellt. Die Randregion (TAB. 1: Sicherheitsstufe III) ist auch eingezeichnet; für entsprechende Eingabevektoren (Rauten) kann keine sichere Vorhersage getroffen werden, weil dies einer Extrapolation ausgehend von Eingabevektoren des Trainingsdatensatzes entspräche.This is also in 5I shown. In 5I The circles represent input vectors of the training data set in a first class (e.g. “green”) and the triangles represent input vectors of the training data set in a second class (e.g. “red). Then the areas identified as safe for the first class are shown with a dashed fill (bottom left to top right) and the areas identified as safe for the second class are shown with a different dashed fill (top left to bottom right), see TAB . 1: Security level I. Areas classified as unsafe (here TABLE 1: Security level II) - too large due to class change at the corner points and/or edge length - are shown without filling. The peripheral region (TAB. 1: Security level III) is also shown; No reliable prediction can be made for corresponding input vectors (diamonds) because this would correspond to an extrapolation based on input vectors of the training data set.

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 box 3525, the feedback loop could be executed via box 3526. In this case, in box 3526, the side edge threshold (the value a) can be reduced and the areas reclassified.

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 box 3530, one or more additional positions in the input vector space can optionally be determined at which additional training data pairs should be positioned. In other words, this means that it can be determined where additional training data pairs are helpful in promoting a reliable prediction of the hidden system state by the machine-learned algorithm. The training data set can therefore be expanded in a targeted manner.

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 Box 3520 can be used. As part of such an evaluation, areas in the input vector space can be determined that are associated with a large uncertainty with respect to a corresponding evaluation metric. It would then be possible for further pairs of training data to be arranged in such a way that they lead to a reassessment of these areas that are subject to great uncertainty.

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 5A durch den rückgekoppelten gestrichelten Pfeil dargestellt) .If further pairs of training data are received, Box 3510 and the subsequent boxes can be carried out again (in 5A shown by the feedback dashed arrow).

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 Box 3535 it is then possible to store the trained machine-learned algorithm obtained by executing Box 3510, as well as the context data 50 obtained from Box 3515 and, if applicable, Box 3520.

Voranstehend wurden im Zusammenhang mit 5A Aspekte erläutert, welche die Bestimmung von Kontextdaten betreffen, die Bereiche anzeigen. Auf Grundlage dieser Bereiche, kann bestimmt werden, ob eine Vorhersage des maschinengelernten Algorithmus zuverlässig oder unzuverlässig ist. Diese Wirkung der Bereiche wird nachfolgend näher erläutert, an einem praktischen Beispiel gemäß 6-10 (hier zur Illustration auch in zwei Dimensionen dargestellt; wobei in praktischen Beispielen eine höhere Dimensionalität des entsprechenden Eingabevektorraums 71 vorliegt).The foregoing was in connection with 5A Aspects related to determining contextual data indicating areas are explained. Based on these areas, it can be determined whether a prediction from the machine-learned algorithm is reliable or unreliable. This effect of the areas is explained in more detail below, using a practical example 6-10 (here also shown in two dimensions for illustration purposes; in practical examples there is a higher dimensionality of the corresponding input vector space 71).

6 illustriert ein Beispiel für die Positionierung von Eingabevektoren 511-513 und 521-523 im Eingabevektorraum 71. Der wahre verborgenen Systemzustand lässt sich in zwei Klassen einteilen, die den Bereichen 531, 532 entsprechen. 6 illustrates an example of the positioning of input vectors 511-513 and 521-523 in input vector space 71. The true hidden system state can be divided into two classes corresponding to regions 531, 532.

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, area 531 could correspond to a properly functioning motor for a track switch; while area 532 could correspond to a stalled engine. The input vectors 511-513 and 521-523 could correspond, for example, based on measured values for a current flow through the motor as well as measured data from a vibration sensor. This is just a specific example and other examples are possible.

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 6 ist außerdem ein weiterer Eingabevektor 550 dargestellt. Dieser Eingabevektor 550 ist nicht Teil des Trainingsdatensatzes. Das bedeutet, dass für den Eingabevektor 550 keine Grundwahrheit vorhanden ist. Der Eingabevektor 550 entspricht tatsächlich der zweiten Ausgabeklasse, genauso wie die Eingabevektoren 521-523. Nachfolgend wird aber gezeigt, dass unterschiedliche maschinengelernte Algorithmen 89, die basierend auf den Eingabevektoren 511-513 und 521-523 trainiert werden, eine falsche Vorhersage für den Eingabevektor 550 treffen können.In 6 Another input vector 550 is also shown. This input vector 550 is not part of the training data set. This means that there is no ground truth for the input vector 550. Input vector 550 actually corresponds to the second output class, as do input vectors 521-523. However, it will be shown below that different machine-learned algorithms 89, which are trained based on the input vectors 511-513 and 521-523, can make an incorrect prediction for the input vector 550.

Dies ist zunächst in 7 für einen nächste-Nachbarn-Klassifikator gezeigt. Der Eingabevektor 550 befindet sich in der unmittelbaren Nachbarschaft des Eingabevektors 513; der während des Trainings als zur ersten Ausgabeklasse zugehörig angelernt wurde. Der nächste-Nachbar-Klassifikator würde also fälschlicherweise die erste Klasse basierend auf dem Eingabevektor 550 vorhersagen.This is initially in 7 shown for a nearest neighbor classifier. The input vector 550 is in the immediate vicinity of the input vector 513; which was trained during training as belonging to the first output class. So the nearest neighbor classifier would incorrectly predict the first class based on the input vector 550.

Dies trifft auch zu für einen maschinengelernten Algorithmus 89, der durch ein Multilayer-Perzeptron implementiert sei zu, wie in 8 gezeigt. In 8 ist dargestellt, wie ein solcher maschinengelernte Algorithmus 89 - trainiert basierend auf den Eingabevektoren 511-513, 521-523 - die Klassengrenze 565 vorhersagt. Im Bereich des Eingabevektors 550 ergibt sich eine Diskrepanz, so dass eine falsche Vorhersage resultiert.This also applies to a machine-learned algorithm 89 implemented by a multilayer perceptron, as in 8th shown. In 8th shows how such a machine-learned algorithm 89 - trained based on the input vectors 511-513, 521-523 - predicts the class boundary 565. There is a discrepancy in the area of the input vector 550, resulting in an incorrect prediction.

Selbiges gilt schließlich auch für eine SVM-Implementierung des maschinengelernten Algorithmus, siehe 9. In 9 ist die entsprechende Klassengrenze 567 dargestellt. Auch hier ergibt sich eine Fehlklassifikation für den Eingabevektor 550.The same also applies to an SVM implementation of the machine-learned algorithm, see 9 . In 9 the corresponding class limit 567 is shown. Here too there is a misclassification for the input vector 550.

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äß 7-9 antizipiert werden kann.The following shows how, based on the areas indicated by the context data 50, such an uncertain prediction is made by the machine-learned algorithm 89 in the implementations according to 7-9 can be anticipated.

In 10A sind die Bereiche 571-574 dargestellt, die sich aus einer Interpolation zwischen den Eingabevektoren 511-513 und 521-524 ergeben. Die Bereiche werden durch eine Triangulierung erhalten, wobei, wie voranstehend bereits beschrieben, unterschiedliche Triangulierungen verwendet werden können. Beispiele sind eine Min-Max-Triangulierung oder eine Delaunay-Triangulierung.In 10A The areas 571-574 are shown, which result from an interpolation between the input vectors 511-513 and 521-524. The areas are obtained by triangulation, whereby, as already described above, different triangulations can be used. Examples are a min-max triangulation or a Delaunay triangulation.

Außerdem ist in 10A die kritische Kantenlänge 590 dargestellt. Diese kritische Kantenlänge 590 wird im dargestellten Beispiel so bestimmt, dass sie dem kleinsten Abstand zwischen zwei Eingangsvektoren 511-513 und 521-524 des Trainingsdatensatzes entspricht, für den ein Klassenwechsel beobachtet wird (das ist zwischen Eingangsvektor 512 und Eingangsvektor 523). Furthermore, in 10A the critical edge length 590 is shown. In the example shown, this critical edge length 590 is determined so that it corresponds to the smallest distance between two input vectors 511-513 and 521-524 of the training data set for which a class change is observed (that is between input vector 512 and input vector 523).

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 critical edge length 590 can be chosen so that no double class change for the output of the machine-learned algorithm can occur within the corresponding length in the input vector space. See TAB. 1: Security level I.

In 10A ist ersichtlich, dass die Bereiche 571, 572 sowie 574 Kantenlängen aufweisen, die nicht unterhalb der kritische Kantenlänge 590 liegen. Entsprechend sind die diese Bereiche 571, 572, 574 (vgl. TAB. 1: Sicherheitsstufe I) als unsicher bewertet. Zum Beispiel ist für den Bereich 574 in 10B vergrößert dargestellt, wie entlang der Verbindungslinie zwischen den Eingabevektoren 524 und 522 in der Region 574--1 eine andere Klasse auftreten kann; es liegt also ein doppelter Klassenwechsel vor. Ein Eingabevektor, der innerhalb dieser Bereiche 571, 573, 574 liegt, bewirkt eine unsichere Vorhersage des assoziierten verborgenen Systemzustand mittels des maschinengelernten Algorithmus. Es kann dann ein Fehlerindikator ausgegeben werden, basierend auf dem z.B. eine Warnung oder eine Überführung des gesteuerten technisch-physikalischen Systems in einen sicheren Betriebszustand erfolgen kann.In 10A It can be seen that the areas 571, 572 and 574 have edge lengths that are not below the critical edge length 590. Accordingly, these areas 571, 572, 574 (see TABLE 1: Security level I) are rated as unsafe. For example, for the area 574 in 10B an enlarged illustration of how a different class may appear along the line connecting input vectors 524 and 522 in region 574--1; So there is a double class change. An input vector that lies within these areas 571, 573, 574 causes an uncertain prediction of the associated hidden system state using the machine-learned algorithm. An error indicator can then be output, based on which, for example, a warning or a transfer of the controlled technical-physical system to a safe operating state can occur.

Eine andere Situation liegt für den Bereich 573 vor (vgl. 10A). Der Bereich 573 weist nur Kanten auf, die eine kürzere Länge, als die kritische Kantenlänge 590 aufweisen. Der Bereich 573 kann also als sicher bewertet werden, vgl. TAB. 1 Sicherheitsstufe I).A different situation exists for area 573 (cf. 10A) . The area 573 only has edges that are shorter than the critical edge length 590. The area 573 can therefore be assessed as safe, see TAB. 1 security level I).

Aus 10A ist ferner ersichtlich, dass der weitere Eingabevektor 550 innerhalb keines der Bereiche 571-573 liegt. Deshalb kann für den weiteren Eingabevektor 550 keine sichere Vorhersage mittels des maschinengelernten Algorithmus gemacht werden (vgl. TAB. 1: Sicherheitsstufe III) - was sich mit den oben dargelegten Beobachtungen gemäß 7, 8 und 9 deckt.Out of 10A It can also be seen that the further input vector 550 does not lie within any of the areas 571-573. Therefore, no reliable prediction can be made for the further input vector 550 using the machine-learned algorithm (see TAB. 1: Security level III) - which is consistent with the observations presented above 7 , 8th and 9 covers.

Voranstehend wurde eine Variante erläutert, bei der die Bereiche zwischen Positionen von Eingabevektoren angeordnet sind. Eine weitere Variante ist in 10C gezeigt. Dort ist der Eingabevektorraum 71 gezeigt und Positionen von Eingabevektoren 662 für eine erste Klasse und von Eingabevektoren 663 für eine zweite Klasse, sowie die Klassengrenze 660. Inferenz für einen Eingabevektor 661 könnte ein falsches Ergebnis (erste Klasse) liefern. Dieses könnte - wenn die Schwellenwert für die Kantenlänge der Bereiche, die sich zwischen den Positionen der Eingabevektoren 662 erstrecken zu groß gewählt wird (vgl. TAB. 1: Beispiel I) - fälschlicherweise als sicher eingestuft werden. Um das zu verhindern kann ein Bereich 670 - vgl. 10D - bestimmt werden, der die mit einem Kreuz markierte Position des Eingabevektors 663 umgibt und einen Abstand b zu dieser Position abgrenzt. Die Inferenz für alle Eingabevektoren (so auch der Eingabevektor 661) innerhalb dieses Bereichs 670 kann dann als unsicher erkannt werden. Alternativ könnte auch der interpolierte Bereiche 671 (vgl. 10E) von der Bewertungsmetrik als unsicher erkannt werden, weil der Abstand zur Position des unsicheren Eingabevektors 663 kleiner als b ist, d.h. kleiner als ein Abstandsschwellenwert 679. Der Bereich 670 könnte z.B. basierend auf einem Verlauf der Klassengrenze 660 bestimmt werden. Beispielsweise könnte dort, wo nahe einer bekannter Klassengrenze keine Grundwahrheit im Training verfügbar ist, ein entsprechender Bereich 670 angeordnet sein.A variant was explained above in which the areas are arranged between positions of input vectors. Another variant is in 10C shown. The input vector space 71 is shown there and positions of input vectors 662 for a first class and of input vectors 663 for a second class, as well as the class boundary 660. Inference for an input vector 661 could give an incorrect result (first class). This could - if the threshold value for the edge length of the areas that extend between the positions of the input vectors 662 is chosen to be too large (see TAB. 1: Example I) - be incorrectly classified as safe. To prevent this, an area 670 - cf. 10D - are determined, which surrounds the position of the input vector 663 marked with a cross and delimits a distance b to this position. The inference for all input vectors (including input vector 661) within this area 670 can then be recognized as unsafe. Alternatively, the interpolated areas 671 (cf. 10E) be recognized as unsafe by the evaluation metric because the distance to the position of the unsafe input vector 663 is smaller than b, ie smaller than a distance threshold 679. The area 670 could be determined, for example, based on a course of the class boundary 660. For example, where no ground truth is available in training near a known class boundary, a corresponding area 670 could be arranged.

Die Kontextdaten 50 zeigen die Bereiche an. Das kann bei der Inferenz (vgl. 4: Box 3002) ausgenutzt werden. Dies wird nachfolgend erläutert. The context data 50 indicates the areas. This can be the case with inference (cf. 4 : Box 3002). This is explained below.

11 ist ein Flussdiagramm eines beispielhaften Verfahrens. 11 kann zum Beispiel Box 3002 implementieren. 11 betrifft Inferenz mittels eines vorher trainierten maschinengelernten Algorithmus basierend auf einem Eingabevektor, für den keine Grundwahrheit verfügbar ist. Beispielsweise könnte das Verfahren aus 11 vom Prozessor 92 ausgeführt werden, nachdem diese einen entsprechenden Programmcode aus dem Speicher 93 lädt und ausführt. 11 is a flowchart of an example method. 11 can implement Box 3002 for example. 11 concerns inference using a pre-trained machine-learned algorithm based on an input vector for which no ground truth is available. For example, the procedure could be: 11 are executed by the processor 92 after it loads and executes a corresponding program code from the memory 93.

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 1: Zustandsdaten 81), die vom technisch-physikalischen System erhalten werden, bestimmt werden. Der Eingabevektor kann aus einem Speicher geladen werden.First, an input vector is obtained in box 3005. This can encode status data of the technical-physical system. For example, the input vector could be based on corresponding state data (compare 1 : status data 81), which are received from the technical-physical system, are determined. The input vector can be loaded from memory.

In Box 3010 wird der maschinengelernte Algorithmus geladen. Ein entsprechender Programmcode kann aus dem Speicher geladen werden.The machine-learned algorithm is loaded into Box 3010. A corresponding program code can be loaded from memory.

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 5A und auch im Zusammenhang mit 4 beschrieben wurden, eingesetzt werden.The machine-learned algorithm has already been trained at this point, meaning parameter values have been set. Techniques such as those described above in connection with Box 3001, for example, can be used for training 5A and also related to 4 described can be used.

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 10A diskutiert. Die Bereiche können im Rahmen der Parametrisierung des maschinengelernten Algorithmus bestimmt werden, wie voranstehend im Zusammenhang mit 5A: Box 3515 beschrieben.Then context data is loaded into Box 3015. The context data is associated with the machine-learned algorithm. Additionally, the context data indicates multiple regions in the vector space of the input vector. This was discussed above in connection with 10A discussed. The areas can be determined as part of the parameterization of the machine-learned algorithm, as described above in connection with 5A : Box 3515 described.

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 5A: box 3515 erfolgen.The context data can also be optimized. The context data can specify the areas in compressed form. For example, areas that have the same properties can be combined in order to determine the hidden system state as efficiently as possible. Such a combination of areas or other optimization/compression of the context data can be done in 5A : box 3515.

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. 10A: Bereiche 573) können mit einer geringen Unsicherheit des Schätzens des verborgenen Systemzustand mittels des maschinengelernten Algorithmus assoziiert sein; während die zweiten Bereiche mit einer vergleichsweise hohen Unsicherheit des Schätzens des verborgenen Systemzustand assoziiert sind (vgl. 10A: Bereiche 571, 572).The areas can be divided into first areas and second areas. The first areas (cf. 10A : Regions 573) may be associated with low uncertainty in estimating the hidden system state using the machine-learned algorithm; while the second areas are associated with a comparatively high uncertainty in estimating the hidden system state (cf. 10A : Areas 571, 572).

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 5A erläutert). Es wäre aber in manchen Beispielen auch denkbar, dass die entsprechende Partitionierung erst im Rahmen der Inferenz bestimmt wird, nämlich zum Beispiel in Box 3020. Das bedeutet, dass in Box 3020 jeder der durch die Kontextdaten indizierten Bereiche basierend auf einer entsprechenden Bewertungsmetrik bewertet werden kann. Entsprechende Bewertungsmetrik wurden bereits obenstehend im Zusammenhang mit Box 3520 beschrieben. Dieselben Bewertungsmetriken bzw. Komponenten der Bewertungsmetrik können auch während der Inferenz in Box 3020 angewendet werden. Solche Bewertungsmetriken betreffen zum Beispiel eine Bewertung der Bereiche basierend auf einer Kantenlänge von Kanten der Bereiche, wobei diese Kantenlänge mit einem Größenschwellenwert verglichen werden kann. Der Größenschwellenwert wurde zum Beispiel im Zusammenhang mit 10A: kritische Länge 590 diskutiert. Der Größenschwellenwert kann durch die Kontextdaten angezeigt werden. Eine weitere beispielhafte Komponente der Bewertungsmetrik könnte zum Beispiel die Einstufung eines Bereichs in sicher oder unsicher basierend auf einem Abstand zu als unsicher erkannten Positionen im Eingabevektorraum betreffen. Solche als unsicher erkannten Positionen im Eingabevektorraum könnten, wie obenstehend beschrieben, basierend auf einem Verlauf von Klassengrenzen bestimmt werden.In principle, it is possible for the context data to already include an indicator that indexes a corresponding partitioning of the areas into the first and second areas. This means that a corresponding partitioning of the areas can already be carried out in connection with the parameterization of the machine-learned algorithm and then this previous partitioning can be used as part of the inference (corresponding aspects were, for example, in connection with Box 3520 in 5A explained). However, in some examples it would also be conceivable that the corresponding partitioning is only determined as part of the inference, namely in box 3020, for example. This means that in box 3020 each of the areas indexed by the context data can be evaluated based on a corresponding evaluation metric . Corresponding evaluation metrics have already been described above in connection with Box 3520. The same evaluation metrics or components of the evaluation metric can also be applied during inference in Box 3020. Such evaluation metrics relate, for example, to an evaluation of the areas based on an edge length of edges of the areas, where this edge length can be compared with a size threshold. For example, the size threshold was used in connection with 10A : critical length 590 discussed. The size threshold can be displayed through the context data. Another exemplary component of the evaluation metric could, for example, concern the classification of an area as safe or unsafe based on a distance to positions in the input vector space that are recognized as unsafe. Such positions in the input vector space that are recognized as uncertain could, as described above, be determined based on a course of class boundaries.

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 10D); und lediglich sekundär eine Berücksichtigung der Kantenlängen von Kanten der Bereichen in Bezug auf den Größenschwellenwert (der Parameter a) zu überprüfen. Die Berücksichtigung von b kann also im Allgemeinen Vorrang vor den anderen Komponenten der Bewertungsmetrik, u.a. der Seitenlänge hinsichtlich des Schwellenwerts a haben. So kann man zunächst einen Sicherheitsring um alle kritischen Zustände (d.h. unsicheren Positionen im Eingabevektorraum) legen. Damit kann am auch komplexe Trennflächen sicher behandeln. Im verbleibenden Eingabvektorraum kann man dann mit einem vergleichsweise größeren Schwellenwert für die Kantenlänge (Parameter a) arbeiten (im Vergleich zu einem Szenario ohne Berücksichtigung der Abstände zu als unsicher eingestuften Positionen), da dann auf das Auftreten neuer Cluster abseits der Trennlinie von Klassen beschränkt werden kann. So kann man eine sichere Behandlung der Trennflächen gewährleisten aber auch mit einem großen Schwellenwert für die Kantenlänge a für die Verhinderung des Auftretens von neuen Clustern arbeiten. Darum kann es erstrebenswert sein, mit der höchsten Priorität zunächst den Abstandsschwellenwert b zur Einstufung der Bereiche anzuwenden und dann nachrangig die Bewertung der Bereiche betreffend die Kantenlänge hinsichtlich des Schwellenwerts a.If the evaluation metric includes several components, these components can be ordered hierarchically. This can mean that the partitioning treats a first criterion with a higher hierarchy than a second criterion (i.e. the first criterion has a higher hierarchy level than the second criterion). For example, such a criterion could be checked first; and if it is then determined that a particular area is to be classified as unsafe, for example, it may be unnecessary to assess the area in terms of other criteria of the evaluation metric. For example, it may be particularly desirable to primarily check the distance to positions in the input vector space that are recognized as unsafe with regard to a threshold value (the parameter b; distance 679 in 10D ); and only secondarily to check a consideration of the edge lengths of edges of the regions in relation to the size threshold (the parameter a). The consideration of b can therefore generally take precedence over the other components of the evaluation metric, including the side length with regard to the threshold value a. So you can first place a safety ring around all critical states (ie unsafe positions in the input vector space). This means that even complex interfaces can be treated safely. In the remaining input vector space, one can then work with a comparatively larger threshold value for the edge length (parameter a) (compared to a scenario without taking the distances to positions classified as unsafe into account), since the occurrence of new clusters away from the dividing line between classes is then limited can. In this way, you can ensure safe treatment of the interfaces but also work with a large threshold value for the edge length a to prevent the occurrence of new clusters. It may therefore be desirable to first apply the distance threshold b to classify the areas with the highest priority and then secondarily to evaluate the areas regarding the edge length with regard to the threshold value a.

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. 5A: Box 3520) aufweisen. Insbesondere wäre es denkbar, dass die Bewertungsmetrik während der Inferenz basierend auf aktuellen Umständen des physikalisch-technischen Systems angepasst wird. Das bedeutet, dass je nach Betriebssituation des physikalisch-technischen Systems eine unterschiedliche Partitionierung für die mehreren Bereiche ermittelt werden kann, so dass also je nach Betriebssituation des physikalisch-technischen Systems bestimmte Bereiche einmal als sicher oder unsicher eingestuft werden können. Derart kann abgestimmt auf die aktuelle Betriebssituation des physikalisch-technischen Systems ein angepasstes Sicherheitslevel für die Steuerung auf Grundlage des maschinengelernten Algorithmus erzielt werden.Performing partitioning for inference in Box 3020 may have certain advantages over performing partitioning during parameterization of the machine-learned algorithm (cf. 5A : Box 3520). In particular, it would be conceivable that the evaluation metric is adjusted during inference based on current circumstances of the physical-technical system. This means that, depending on the operating situation of the physical-technical system, a different partitioning can be determined for the several areas, so that, depending on the operating situation of the physical-technical system, certain areas can be classified as safe or unsafe. In this way, it can be tailored to the current operating situation of the physical-technical system Adapted security level for the control can be achieved based on the machine-learned algorithm.

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 1: Zustandsdaten 81) jeweils aktuell vom physikalisch-technischen System bereitgestellt werden und deren Werte davon abhängen, welcher Betriebsmodus aktiviert ist.For example, it would be conceivable that the evaluation metric is parameterized based on an operating mode of the technical-physical system. The operating mode can be associated with the status data. This means that the status data (compare 1 : Status data 81) are currently provided by the physical-technical system and their values depend on which operating mode is activated.

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 10A: kritische Länge 590) erfolgt, so wäre es denkbar, dass diese Kantenlänge je nach Betriebsmodus des technisch-physikalischen Systems kürzer oder länger gewählt wird. Ein größerer Größenschwellenwert resultiert dann in einer größeren Anzahl von Bereichen, für die eine sichere Vorhersage des maschinengelernten Algorithmus angenommen wird.For example, if a division of the areas is based on the edge length compared to a given size threshold (compare 10A : critical length 590), it would be conceivable that this edge length would be chosen to be shorter or longer depending on the operating mode of the technical-physical system. A larger size threshold then results in a larger number of areas for which the machine-learned algorithm is assumed to make a confident prediction.

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 12 ein Szenario dargestellt, in dem die Kontextdaten 50 mehrere Bereiche 771-776 beschreiben (die Bereiche bilden ein Dreiecksnetz und werden durch entsprechende Dreiecksflächen - in 12 aufgrund der zweidimensionalen Repräsentation durch die Linien dargestellt - begrenzt) und jeweils für jeden der Bereiche 771-776 einen Indikator 751 angeben, der die Partitionierung der Bereiche in solche mit einer geringen Unsicherheit und andere mit einer hohen Sicherheit des Schätzens des verborgenen Systemzustand mittels des maschinengelernten Algorithmus beschreibt. Außerdem ist ein weiterer Indikator 752 vorhanden, der ein oder mehrere erlaubte Ergebnisse für den geschätzten verborgenen Systemzustand indiziert. Entsprechendes wurde auch in 5A im Zusammenhang mit Box 3516 beschrieben.In some scenarios, it would be conceivable that the context data for at least some areas of the plurality of areas index one or more permitted results for the hidden system state. This means that - in addition to indicating the different areas in the input vector space - it can also be specified which permissible output values the output vector may assume, provided that the input vector is positioned in a corresponding area. For example, in 12 a scenario is shown in which the context data 50 describes several areas 771-776 (the areas form a triangular network and are represented by corresponding triangular areas - in 12 represented by the lines - limited due to the two-dimensional representation) and specify an indicator 751 for each of the areas 771-776, which partitions the areas into those with a low uncertainty and others with a high certainty of estimating the hidden system state using the machine-learned Algorithm describes. There is also another indicator 752 that indexes one or more allowed outcomes for the estimated hidden system state. The same thing was also done in 5A described in connection with Box 3516.

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 11 ist es dann möglich, die relative Position des Eingabevektors in Bezug auf die Bereiche zu bestimmen. Beispielsweise könnte überprüft werden, ob der Eingangsvektor in einem bestimmten Bereich liegt oder außerhalb aller Bereiche. Wenn zum Beispiel die Kontextdaten die Bereiche durch die Grenzflächen zwischen den Bereichen indiziert werden, könnte eine entsprechende Überprüfung das Bilden von Teilräumen im Eingabevektorraum basierend auf den entsprechenden Grenzflächen umfassen.In box 3025 in 11 it is then possible to determine the relative position of the input vector with respect to the areas. For example, it could be checked whether the input vector is in a certain range or outside all ranges. For example, if the context data indexes the regions by the interfaces between the regions, appropriate verification could include forming subspaces in the input vector space based on the corresponding interfaces.

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 box 3030 whether either - box 3035 - an error indicator should be output (i.e. the output of the machine-learned algorithm is blocked) or in box 3040 the input vector of the machine-learned algorithm should be processed (i.e. the output of the machine-learned algorithm is allowed and further processed).

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 box 3035 could be output if and only if the input vector is not located in any region (in such a case it may be unnecessary to partition the regions). It would also be conceivable that the error indicator is output even if the input vector lies in a range that is associated with a large uncertainty in estimating the hidden system state, for example as indicated by the corresponding indicator 751 in the context data 750; or as determined by the partitioning in Box 3020. If the error indicator is output in box 3035, this can be taken into account in box 3050 to control the technical-physical system. For example, the technical-physical systems could be transferred to a safe operating state. A warning could be issued to an operator of the technical-physical system. An error log file could be supplemented accordingly.

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 box 3040, an output vector is then obtained as the output of the machine-learned algorithm, which is indicative of the hidden system state of the technical-physical system. In some examples, this output could then be used to control the technical-physical system, Box 3050.

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 12: Indikator 752), anzupassen. Beispielsweise könnte eine Mittelung erfolgen, beispielsweise wenn eine Regressionsaufgabe vom maschinengelernten Algorithmus ausgeführt wird. Bei einer Regressionsaufgabe kann zusätzlich zu dem Vorhersagewert auch noch die Information betreffend eine Wahrscheinlichkeitsverteilung des Vorhersagewerts ausgegeben werden. Diese Wahrscheinlichkeitsverteilung kann aus dem Abstand zu Bereichen mit Indikatoren anderer Werte zur Position des Eingabevektors im Eingaberaum abhängen. Ein weiteres Beispiel ist in 13 illustriert. 13 entspricht grundsätzlich 12. Im Beispiel der 13 sind die Kontextdaten 50 allerdings so strukturiert, dass jeweils im Zusammenhang mit einer Ecke der Bereiche 771-776 ein entsprechender Indikator 753 vorgesehen ist, der ein jeweiliges erlaubtes Ergebnis für den geschätzten Systemzustand bzw. die Ausgabe des maschinengelernten Algorithmus indiziert. Es wäre dann möglich, jeweils einen Abstand zwischen der Position des Eingabevektors in Bezug auf die verschiedenen Ecken der Bereiche 771-776 zu bestimmen und basierend auf diesen Abständen das jeweilige erlaubte Ergebnis auszuwählen (oder - für eine Regressionsaufgabe - die Wahrscheinlichkeitsverteilung). Die Ecken der Bereiche 771-776 entsprechen dabei den Positionen entsprechender Eingabevektoren des zugrundeliegenden Trainingsdatensatzes; die erlaubten Ergebnisse könnten hier basierend auf den entsprechenden Grundwahrheiten gewählt werden. Zum Beispiel könnte jeweils die nächstliegende Ecke berücksichtigt werden und dann basierend auf dem mit dieser Ecke assoziierten Indikator 753 das erlaubte Ergebnis für die Ausgabe des maschinengelernten Algorithmus bestimmt werden (für den in 13 dargestellten Eingabevektor 85 wäre das „blau“).Optionally, it would also be conceivable in Box 3045 to display the hidden system state that is obtained as output from the machine-learned algorithm in Box 3040, based on allowed results for the system state indexed by the context data (compare 12 : indicator 752). For example, averaging could occur, for example when a regression task is performed by the machine-learned algorithm. In a regression task, in addition to the predicted value, information regarding a probability distribution of the predicted value can also be output. This probability distribution may depend on the distance to regions with indicators of other values to the position of the input vector in the input space. Another example is in 13 illustrated. 13 basically corresponds 12 . In the example of 13 However, the context data 50 is structured in such a way that a corresponding indicator 753 is provided in connection with a corner of the areas 771-776, which indexes a respective permitted result for the estimated system state or the output of the machine-learned algorithm. It would then be possible to determine a distance between the position of the input vector in relation to the different corners of the areas 771-776 and to select the respective permitted result (or - for a regression task - the probability distribution) based on these distances. The corners of the areas 771-776 correspond to the positions of corresponding input vectors of the underlying training data set; the permitted outcomes could be chosen here based on the corresponding ground truths. For example, the nearest corner could be taken into account and then based on the indicator 753 associated with that corner, the allowed result for the output of the machine-learned algorithm could be determined (for the in 13 The input vector 85 shown would be “blue”).

Dabei sind die in 12 und 13 dargestellten Szenarien nur Beispiele. Es wären auch weitere Techniken denkbar, um die erlaubten Ergebnisse für die Systemzustand zu bestimmen. Beispielsweise wäre es denkbar, dass der vorhergesagte verdeckte Systemzustand nur Werte annehmen darf, die nicht weiter als od von den durch die Kontextdaten 50 angezeigten erlaubten Ergebnisse entfernt sind. Das kann insbesondere für Regressionsaufgaben hilfreich seinThese are in 12 and 13 The scenarios presented are just examples. Other techniques would also be conceivable to determine the permitted results for the system status. For example, it would be conceivable that the predicted hidden system state may only assume values that are no further than o d from the permitted results indicated by the context data 50. This can be particularly helpful for regression tasks

Wieder bezugnehmend auf 11: es kann Situationen geben, bei denen die Ausgabe des maschinengelernten Algorithmus aus Box 3040 nicht übereinstimmt mit den ein oder mehreren erlaubten Ergebnissen, die aus den Kontextdaten 750 bestimmt werden. Es ist möglich, den verborgenen Systemzustand, der durch das Verarbeiten des Eingabevektors im maschinengelernten Algorithmus geschätzt wird, mit den entsprechenden erlaubten Ergebnissen für den Bereich aus den Kontextdaten zu vergleichen, Box 3045. Wenn der Vergleich keine oder nur eine reduzierte Übereinstimmung indiziert, kann ein Fehlerindikator ausgegeben werden.Again referring to 11 : there may be situations where the output of the machine learned algorithm from box 3040 does not match the one or more allowed outcomes determined from the context data 750. It is possible to compare the hidden system state estimated by processing the input vector in the machine-learned algorithm with the corresponding allowed results for the range from the context data, box 3045. If the comparison indexes no or only a reduced match, a Error indicator is output.

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.Box 3040 and Box 3045 therefore correspond to a two-stage approach. First, in Box 3040, result candidates are determined using the machine-learned algorithm; which can then be corrected in box 3045 if necessary, based on the context data.

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 Box 3050, the control of the technical-physical system can then be carried out based on the error indicator (from Box 3035 or, if applicable, from Box 3045) and/or the estimated hidden value a system state from Box 3040. For example, corresponding control data could be sent to the technical-physical system.

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)

Computer-implementiertes Verfahren zum Schätzen eines verborgenen Systemzustands eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus, wobei das Verfahren umfasst: - Erhalten eines Eingabevektors (85, 511, 512, 513, 521, 522, 523, 550), der Zustandsdaten (81) des technisch-physikalischen Systems (95) codiert, - Laden des maschinengelernten Algorithmus (89), - Laden von vorbestimmten Kontextdaten (50), die mit dem maschinengelernten Algorithmus (89) assoziiert sind und die eine Vielzahl von Bereichen (72, 571, 572, 573, 574, 771-776) im Vektorraum (71) des Eingabevektors (85, 511, 512, 513, 521, 522, 523, 550) indizieren, - Bestimmen einer relativen Position des Eingabevektors (85, 511, 512, 513, 521, 522, 523, 550) in Bezug auf die Vielzahl von Bereichen (72, 571, 572, 573, 574, 771-776), und - basierend auf der relativen Position, wahlweise Verarbeiten des Eingabevektors im maschinengelernten Algorithmus, um derart den verborgenen Systemzustand zu schätzen, oder Ausgeben eines Fehlerindikators.Computer-implemented method for estimating a hidden system state of a technical-physical system using a machine-learned algorithm, the method comprising: - Obtaining an input vector (85, 511, 512, 513, 521, 522, 523, 550) that encodes state data (81) of the technical-physical system (95), - loading the machine learned algorithm (89), - Loading predetermined context data (50) associated with the machine-learned algorithm (89) and containing a plurality of areas (72, 571, 572, 573, 574, 771-776) in the vector space (71) of the input vector (85, 511, 512, 513, 521, 522, 523, 550) index, - determining a relative position of the input vector (85, 511, 512, 513, 521, 522, 523, 550) with respect to the plurality of areas (72, 571, 572, 573, 574, 771-776), and - based on the relative position, either processing the input vector in the machine-learned algorithm to estimate the hidden system state, or outputting an error indicator. Computer-implementiertes Verfahren nach Anspruch 1, wobei ein oder mehrere erste Bereiche (571, 572) der Vielzahl von Bereichen mit einer vergleichsweise geringen Unsicherheit des Schätzens des verborgenen Systemzustands assoziiert sind, wobei ein oder mehrere zweite Bereiche (573) der Vielzahl von Bereichen mit einer vergleichsweise hohen Unsicherheit des Schätzens des verborgenen Systemzustands assoziiert sind.Computer-implemented method Claim 1 , wherein one or more first areas (571, 572) of the plurality of areas are associated with a comparatively low uncertainty in estimating the hidden system state, wherein one or more second areas (573) of the plurality of areas are associated with a comparatively high uncertainty in estimating the hidden system status. Computer-implementiertes Verfahren nach Anspruch 2, wobei die Kontextdaten (50) einen Indikator (751) umfassen, der eine Partitionierung der Vielzahl von Bereichen in die ein oder mehreren ersten Bereiche und die ein oder mehreren zweiten Bereiche indiziert.Computer-implemented method Claim 2 , wherein the context data (50) includes an indicator (751) indexing a partitioning of the plurality of areas into the one or more first areas and the one or more second areas. Computer-implementiertes Verfahren nach Anspruch 2, wobei das Verfahren weiterhin umfasst: - nach dem Laden der Kontextdaten (50) und basierend auf einer vorgegebenen Bewertungsmetrik, Bestimmen (3020) einer Partitionierung der Vielzahl von Bereichen in die ein oder mehreren ersten Bereiche und in die ein oder mehreren zweiten Bereiche.Computer-implemented method Claim 2 , wherein the method further comprises: - after loading the context data (50) and based on a predetermined evaluation metric, determining (3020) a partitioning of the plurality of areas into the one or more first areas and into the one or more second areas. Computer-implementiertes Verfahren nach Anspruch 4, wobei das Verfahren weiterhin umfasst: - Parametrieren der Bewertungsmetrik basierend auf einem Betriebsmodus des technisch-physikalischen System, der mit den Zustandsdaten (81) assoziiert ist.Computer-implemented method Claim 4 , wherein the method further comprises: - parameterizing the evaluation metric based on an operating mode of the technical-physical system that is associated with the status data (81). Computer-implementiertes Verfahren nach Anspruch 5, wobei die Bewertungsmetrik basierend auf einem Betriebssicherheitslevel des technisch-physikalischen Systems (95), das spezifisch für den Betriebsmodus ist, parametriert wird.Computer-implemented method Claim 5 , wherein the evaluation metric is parameterized based on an operational safety level of the technical-physical system (95), which is specific to the operating mode. Computer-implementiertes Verfahren nach 5 oder 6, wobei die Bewertungsmetrik eine Komponente umfasst, die die Vielzahl von Bereichen basierend auf einer Kantenlänge von Kanten der Bereiche der Vielzahl von Bereichen partitioniert, wobei ein Größenschwellenwert (590) für die Kantenlänge, der zwischen einer Zuordnung zu den mehreren ersten Bereichen und den mehreren zweiten Bereichen entscheidet, basierend auf dem Betriebsmodus gewählt wird.Computer-implemented method according to 5 or 6, wherein the evaluation metric includes a component that partitions the plurality of areas based on an edge length of edges of the areas of the plurality of areas, wherein an edge length size threshold (590) that decides between assignment to the plurality of first regions and the plurality of second regions is selected based on the mode of operation. Computer-implementiertes Verfahren nach einem der Ansprüche 4 bis 7, wobei die Bewertungsmetrik eine Komponente umfasst, die die Vielzahl von Bereichen basierend auf einem Abstand (679) zu als unsicher erkannten Positionen (663) im Eingabevektorraum partitioniert.Computer-implemented method according to one of the Claims 4 until 7 , wherein the evaluation metric includes a component that partitions the plurality of regions based on a distance (679) to positions (663) in the input vector space that are recognized as unsafe. Computer-implementiertes Verfahren nach einem der Ansprüche 4 bis 8, wobei die Bewertungsmetrik mehrere Komponenten umfasst, die hierarchisch geordnet sind.Computer-implemented method according to one of the Claims 4 until 8th , where the evaluation metric includes several components that are ordered hierarchically. Computer-implementiertes Verfahren nach einem der voranstehenden Ansprüche, wobei die vorbestimmten Kontextdaten (50) einen Indikator (752) umfassen, der für zumindest einige Bereiche der Vielzahl von Bereichen ein oder mehrere erlaubte Ergebnisse für den verborgenen Systemzustand indiziert.A computer-implemented method according to any one of the preceding claims, wherein the predetermined context data (50) comprises an indicator (752) that indexes one or more permitted results for the hidden system state for at least some areas of the plurality of areas. Computer-implementiertes Verfahren nach Anspruch 10, wobei das Verfahren weiterhin umfasst: - Anpassen (3045) des verborgenen Systemzustands, der durch das Verarbeiten des Eingabevektors im maschinengelernten Algorithmus (89) geschätzt wird, basierend den erlaubten Ergebnissen für den Systemzustand für denjenigen Bereich der Vielzahl von Bereichen, in dem der Eingabevektor positioniert ist.Computer-implemented method Claim 10 , the method further comprising: - adjusting (3045) the hidden system state created by processing the input vector in machine-learned algorithm (89) is estimated based on the allowed results for the system state for that area of the plurality of areas in which the input vector is positioned. Computer-implementiertes Verfahren nach Anspruch 11, wobei das Verfahren weiterhin umfasst: - Bestimmen eines Abstands der Position des Eingabevektors in Bezug auf Kanten oder Ecken desjenigen Bereichs der Vielzahl von Bereichen, in dem der Eingabevektor positioniert ist, wobei die vorbestimmten Kontextdaten für diesen Bereich, in dem der Eingabevektor positioniert ist, mehrere erlaubte Ergebnisse für den verborgenen Systemzustand indizieren, wobei unterschiedliche der mehreren erlaubten Ergebnisse in den Kontextdaten mit unterschiedlichen Kanten oder Ecken dieses Bereichs, in dem der Eingabevektor positioniert ist, assoziiert sind, und - Auswählen desjenigen erlaubten Ergebnisses der mehreren erlaubten Ergebnisse, das mit den Kanten oder Ecken des Bereichs, in dem der Eingabevektor positioniert ist, assoziiert ist, zu denen die Position des Eingabevektors den geringsten Abstand hat, wobei der verborgene Systemzustand basierend auf dem ausgewählten erlaubten Ergebnis korrigiert wird.Computer-implemented method Claim 11 , wherein the method further comprises: - determining a distance of the position of the input vector with respect to edges or corners of that area of the plurality of areas in which the input vector is positioned, the predetermined context data for that area in which the input vector is positioned, index a plurality of allowed outcomes for the hidden system state, where different ones of the plurality of allowed outcomes in the context data are associated with different edges or corners of this region in which the input vector is positioned, and - selecting the one of the plurality of allowed outcomes that corresponds to the Edges or corners of the area in which the input vector is positioned, to which the position of the input vector is the closest distance, the hidden system state is corrected based on the selected allowed result. Computer-implementiertes Verfahren nach einem er Ansprüche 11 oder 12, wobei das Verfahren weiterhin umfasst: - Vergleichen des verborgenen Systemzustands, der durch das Verarbeiten des Eingabevektors im maschinengelernten Algorithmus geschätzt wird, mit den entsprechenden erlaubten Ergebnissen für den Systemzustand für denjenigen Bereich der Vielzahl von Bereichen, in dem der Eingabevektor positioniert ist, und wahlweise Ausgeben des Fehlerindikators basierend auf dem Vergleichen.Computer-implemented method according to a he Claims 11 or 12 , the method further comprising: - comparing the hidden system state estimated by processing the input vector in the machine-learned algorithm with the corresponding allowed system state results for that region of the plurality of regions in which the input vector is positioned, and optionally Output the error indicator based on the comparing. Computer-implementiertes Verfahren nach einem der voranstehenden Ansprüche, wobei die Kontextdaten ein Dreiecksnetz beschreiben, wobei die Bereiche der Vielzahl von Bereichen durch Dreiecksflächen des Dreiecksnetz begrenzt werden.Computer-implemented method according to one of the preceding claims, where the context data describes a triangular network, wherein the areas of the plurality of areas are delimited by triangular areas of the triangular network. Computer-implementiertes Verfahren nach einem der voranstehenden Ansprüche, wobei das Verfahren weiterhin umfasst: - Steuern (3050) des technisch-physikalischen Systems (95) basierend auf zumindest einem vom geschätzten verborgenen Systemzustand oder dem Fehlerindikator.Computer-implemented method according to one of the preceding claims, the method further comprising: - Controlling (3050) the technical-physical system (95) based on at least one of the estimated hidden system states or the error indicator. Computer-implementiertes Verfahren zum Parametrisieren eines maschinengelernten Algorithmus (89) mittels dessen ein verborgener Systemzustand eines technisch-physikalischen Systems (95) geschätzt werden kann, wobei das Verfahren umfasst: - Erhalten (3505) eines Trainingsdatensatzes, der mehrere Trainingsdatenpaare von Zustandsdaten des technisch-physikalischen Systems (95) codierenden Eingabevektoren (85, 511, 512, 513, 521, 522, 523, 550) und Grundwahrheiten für den verborgenen Systemzustand des technisch-physikalischen Systems (95) umfasst, - Durchführen (3510) eines Trainings des maschinengelernten Algorithmus (89) basierend auf dem Trainingsdatensatz, um Parameterwerte für den maschinengelernten Algorithmus zu erhalten, - basierend auf den Eingabevektoren (85, 511, 512, 513, 521, 522, 523, 550), Bestimmen (3515) einer Vielzahl von Bereichen (72, 571, 572, 573, 574, 771-776) im Vektorraum (71) der Eingabevektoren, - Erzeugen von Kontextdaten (50) für den maschinengelernten Algorithmus, sodass diese indikativ für die Vielzahl von Bereichen sind, und - Speichern des maschinengelernten Algorithmus (89) und Speichern der Kontextdaten (50), die mit dem maschinengelernten Algorithmus (89) assoziiert sind.Computer-implemented method for parameterizing a machine-learned algorithm (89) by means of which a hidden system state of a technical-physical system (95) can be estimated, the method comprising: - Obtaining (3505) a training data set containing several training data pairs of state data of the technical-physical system (95) encoding input vectors (85, 511, 512, 513, 521, 522, 523, 550) and ground truths for the hidden system state of the technical-physical System (95) includes, - performing (3510) training of the machine-learned algorithm (89) based on the training data set to obtain parameter values for the machine-learned algorithm, - based on the input vectors (85, 511, 512, 513, 521, 522, 523, 550), determining (3515) a variety of regions (72, 571, 572, 573, 574, 771-776) in the vector space (71 ) of the input vectors, - Generating context data (50) for the machine-learned algorithm so that it is indicative of the variety of areas, and - Storing the machine-learned algorithm (89) and storing the context data (50) associated with the machine-learned algorithm (89). Computer-implementiertes Verfahren nach einem der Ansprüche, wobei das Verfahren weiterhin umfasst: - basierend auf einer vorgegebenen Bewertungsmetrik, Bestimmen (3520) einer Partitionierung der Bereiche der Vielzahl von Bereichen in erste Bereiche und zweite Bereiche, wobei die ersten Bereiche in Bezug auf die Bewertungsmetrik mit einer geringen Unsicherheit für die Schätzung des verborgenen Systemzustands assoziiert sind, wobei die zweiten Bereiche der Vielzahl von Bereichen in Bezug auf die Bewertungsmetrik mit einer großen Unsicherheit für die Schätzung des verborgenen Systemzustands assoziiert sind, und - basierend auf der Partitionierung, Ermitteln (3530) von ein oder mehreren weiteren Positionen im Vektorraum (71), an denen weitere Trainingsdatenpaare positioniert sein sollen.Computer-implemented method according to one of the claims, the method further comprising: - based on a predetermined evaluation metric, determining (3520) a partitioning of the areas of the plurality of areas into first areas and second areas, the first areas being associated with a low uncertainty with respect to the evaluation metric for the estimate of the hidden system state, the second areas of the plurality of areas with respect to the evaluation metric are associated with a large uncertainty for the estimation of the hidden system state, and - based on the partitioning, determining (3530) one or more further positions in the vector space (71) at which further pairs of training data should be positioned. Computer-implementiertes Verfahren nach Anspruch 17, wobei das Verfahren weiterhin umfasst: - Ansteuern einer Mensch-Maschine-Schnittstelle, um eine Annotierung der Grundwahrheiten für den verborgenen Systemzustand für die weiteren Trainingsdatenpaare zu erhalten.Computer-implemented method Claim 17 , wherein the method further comprises: - Controlling a human-machine interface to obtain an annotation of the ground truths for the hidden system state for the further training data pairs. Computer-implementiertes Verfahren nach Anspruch 17 oder 18, wobei das Verfahren weiterhin umfasst: - Einstellen einer Software-Simulation des technisch-physikalischen Systems, um die Grundwahrheiten für den verborgenen systemzustand für die weiteren Trainingsdatenpaare zu erhalten.Computer-implemented method Claim 17 or 18 , wherein the method further comprises: - Setting a software simulation of the technical-physical system in order to obtain the ground truths for the hidden system state for the further training data pairs. Computer-implementiertes Verfahren nach einem der Ansprüche 17 bis 19, wobei die ein oder mehreren weiteren Positionen im Vektorraum (71) so gewählt werden, dass nach einer Neubestimmung der Vielzahl von Bereichen unter Berücksichtigung der Trainingsdatenpaare und der weiteren Trainingsdatenpaare eine Gesamtgröße der ersten Bereiche maximal zunimmt.Computer-implemented method according to one of the Claims 17 until 19 , wherein the one or more further positions in the vector space (71) are chosen 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. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 20, wobei zumindest einige der Vielzahl von Bereichen zwischen Positionen der Eingabevektoren im entsprechenden Vektorraum (71) angeordnet sind.Computer-implemented method according to one of the Claims 16 until 20 , wherein at least some of the plurality of regions are arranged between positions of the input vectors in the corresponding vector space (71). Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 21, wobei zumindest einige Bereiche der Vielzahl von Bereichen als unsicher erkannte Positionen eines Eingabevektors im entsprechenden Vektorraum umgeben.Computer-implemented method according to one of the Claims 16 until 21 , wherein at least some areas of the plurality of areas surround positions of an input vector in the corresponding vector space that are recognized as uncertain. Computer-implementiertes Verfahren nach Anspruch 22, wobei das Verfahren weiterhin umfasst: - Erkennen der unsichereren Positionen basierend auf einem Verlauf von Klassengrenzen.Computer-implemented method Claim 22 , the method further comprising: - Detecting the more uncertain positions based on a gradient of class boundaries. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 23, wobei das Verfahren weiterhin umfasst: - basierend auf einer vorgegebenen Bewertungsmetrik, Bestimmen einer Partitionierung der Vielzahl von Bereichen in erste Bereiche und zweite Bereiche, wobei die ersten Bereiche in Bezug auf die Bewertungsmetrik mit einer geringen Unsicherheit für die Schätzung des verborgenen Systemzustands assoziiert sind, wobei die zweiten Bereiche der Vielzahl von Bereichen in Bezug auf die Bewertungsmetrik mit einer großen Unsicherheit für die Schätzung des verborgenen Systemzustands assoziiert sind, wobei die Kontextdaten indikativ für die Partitionierung der Bereiche sind.Computer-implemented method according to one of the Claims 16 until 23 , wherein the method further comprises: - based on a predetermined evaluation metric, determining a partitioning of the plurality of areas into first areas and second areas, the first areas being associated with a low uncertainty with respect to the evaluation metric for the estimation of the hidden system state, wherein the second areas of the plurality of areas are associated with a large uncertainty with respect to the evaluation metric for estimating the hidden system state, the context data being indicative of the partitioning of the areas. Computer-implementiertes Verfahren nach Anspruch 24, wobei die Bewertungsmetrik eine Komponente umfasst, die die Vielzahl von Bereichen basierend auf einer Kantenlänge von Kanten der Bereiche der Vielzahl von Bereichen partitioniert.Computer-implemented method Claim 24 , wherein the evaluation metric includes a component that partitions the plurality of regions based on an edge length of edges of the regions of the plurality of regions. Computer-implementiertes Verfahren nach Anspruch 24 oder 25, wobei die Bewertungsmetrik eine Komponente umfasst, die die Bereiche basierend auf einer lokalen Variation der Grundwahrheiten für den verborgenen Systemzustand partitioniert.Computer-implemented method Claim 24 or 25 , where the evaluation metric includes a component that partitions the regions based on a local variation of the ground truths for the hidden system state. Computer-implementiertes Verfahren nach einem der Ansprüche 24 bis 26, wobei die Bewertungsmetrik eine Komponente umfasst, die die Bereiche basierend auf einem Abstand (679) zu einer als unsicher erkannten Position (663) im Vektorraum der Eingabevektoren beurteilt.Computer-implemented method according to one of the Claims 24 until 26 , wherein the evaluation metric includes a component that evaluates the areas based on a distance (679) to a position (663) recognized as unsafe in the vector space of the input vectors. Computer-implementiertes Verfahren nach Anspruch 27, das weiterhin umfasst: - Erkennen von unsicheren Positionen im Vektorraum der Eingabevektoren basierend auf einem Verlauf von Klassengrenzen.Computer-implemented method Claim 27 , which further includes: - Detecting uncertain positions in the vector space of the input vectors based on a gradient of class boundaries. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 28, wobei die Bereiche durch Flächen begrenzt werden, die sich im Vektorraum zwischen den Positionen benachbarter Eingangsvektoren erstrecken.Computer-implemented method according to one of the Claims 16 until 28 , where the regions are bounded by areas that extend in vector space between the positions of adjacent input vectors. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 29, wobei das Verfahren weiterhin umfasst: - Bestimmen der Bereiche (72, 571, 572, 573, 574, 771-776) der Vielzahl von Bereichen (72, 571, 572, 573, 574, 771-776) basierend auf Dreiecksflächen eines Dreiecksnetzes, dessen Knoten durch die Eingabevektoren (85, 511, 512, 513, 521, 522, 523, 550) gebildet werden.Computer-implemented method according to one of the Claims 16 until 29 , the method further comprising: - determining the areas (72, 571, 572, 573, 574, 771-776) of the plurality of areas (72, 571, 572, 573, 574, 771-776) based on triangular areas of a triangular network , whose nodes are formed by the input vectors (85, 511, 512, 513, 521, 522, 523, 550). Computer-implementiertes Verfahren nach Anspruch 30, wobei das Dreiecksnetz durch eine Delaunay-Triangulierung oder eine Min-Max-Triangulierung gebildet wird.Computer-implemented method Claim 30 , where the triangular network is formed by a Delaunay triangulation or a min-max triangulation. Computer-implementiertes Verfahren einem der Ansprüche 24 bis 28, sowie nach Anspruch 30 oder 31, wobei die ein oder mehreren ersten Bereiche nur durch Dreiecksflächen begrenzt werden, die keine Seitenkante aufweisen, die länger als ein durch die Bewertungsmetrik vorgegebener Schwellenwert ist.Computer-implemented method one of the Claims 24 until 28 , as well as after Claim 30 or 31 , wherein the one or more first areas are limited only by triangular areas that do not have a side edge that is longer than a threshold value predetermined by the evaluation metric. Computer-implementiertes Verfahren nach Anspruch 32, wobei zumindest einer der ein oder mehreren zweiten Bereiche jeweils durch mindestens eine Dreiecksfläche begrenzt wird, die mindestens eine Seitenkante aufweist, die länger als der vorgegebener Schwellenwert ist.Computer-implemented method Claim 32 , wherein at least one of the one or more second areas is each delimited by at least one triangular area which has at least one side edge that is longer than the predetermined threshold value. Computer-implementiertes Verfahren nach Anspruch 32 oder 33, wobei das Verfahren weiterhin umfasst: - Parametrieren der Bewertungsmetrik, wobei das Parametrieren der Bewertungsmetrik umfasst: Bestimmen des vorgegebenen Schwellenwerts basierend auf mindestens einem Kriterium.Computer-implemented method Claim 32 or 33 , wherein the method further comprises: - parameterizing the evaluation metric, wherein parameterizing the evaluation metric includes: determining the predetermined threshold based on at least one criterion. Computer-implementiertes Verfahren nach Anspruch 34, wobei das mindestens eine Kriterium einen minimalen Abstand zwischen zwei unterschiedlichen Eingabevektoren des Trainingsdatensatzes, die mit verschiedenen verborgenen Systemzuständen assoziiert sind, umfasst.Computer-implemented method Claim 34 , wherein the at least one criterion comprises a minimum distance between two different input vectors of the training data set that are associated with different hidden system states. Computer-implementiertes Verfahren nach Anspruch 35, wobei das Verfahren weiterhin umfasst: - Plausibilisieren des minimalen Abstands auf Grundlage von ein oder mehreren weiteren Trainingsdatenpaaren, die Eingabevektoren an Positionen aufweisen, die einen Abstand zu einer Position eines Eingabevektors der Trainingsdatenpaare aufweisen, der kleiner als der minimale Abstand ist.Computer-implemented method Claim 35 , wherein the method further comprises: - Checking the plausibility of the minimum distance based on one or more further training data pairs that have input vectors at positions that have a distance to a position of an input vector of the training data pairs that is smaller than the minimum distance. Computer-implementiertes Verfahren nach einem der Ansprüche 34 bis 36, wobei das mindestens eine Kriterium eine Designvorgabe eines Entwicklungsprozesses des technisch-physikalischen Systems umfasst.Computer-implemented method according to one of the Claims 34 until 36 , wherein the at least one criterion includes a design specification of a development process of the technical-physical system. Computer-implementiertes Verfahren nach einem der Ansprüche 34 bis 37, wobei das mindestens eine Kriterium eine Vorgabe für ein Betriebssicherheitslevel des technisch-physikalischen Systems umfasst.Computer-implemented method according to one of the Claims 34 until 37 , wherein the at least one criterion includes a specification for an operational safety level of the technical-physical system. Computer-implementiertes Verfahren nach einem der Ansprüche 34 bis 38, wobei das mindestens eine Kriterium Domänenwissen umfasst.Computer-implemented method according to one of the Claims 34 until 38 , whereby the at least one criterion includes domain knowledge. Computer-implementiertes Verfahren nach einem der Ansprüche 24 bis 39, wobei die Kontextdaten so erzeugt werden, dass diese zumindest für einige Bereiche der Vielzahl von Bereichen indikativ für erlaubte Ergebnisse des verborgenen Systemzustands sind, wobei das Verfahren weiterhin umfasst: - für jeden der zumindest einigen Bereiche: Bestimmen (3516) der erlaubten Ergebnisse des verborgenen Systemzustands basierend auf den Grundwahrheiten für den verborgenen Systemzustand, die mit den Knoten der den jeweiligen Bereich begrenzenden Dreiecksflächen des Dreiecksnetzes assoziiert sind.Computer-implemented method according to one of the Claims 24 until 39 , wherein the context data is generated such that it is indicative of allowed results of the hidden system state for at least some areas of the plurality of areas, the method further comprising: - for each of the at least some areas: determining (3516) the allowed results of the hidden System state based on the ground truths for the hidden system state that are associated with the nodes of the triangular surfaces of the triangular network delimiting the respective area. Computer-implementiertes Verfahren zum Schätzen eines verborgenen Systemzustands eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus, wobei das Verfahren umfasst: - in Abhängigkeit von mindestens einem vorbestimmten Kriterium, wahlweise Erlauben oder Blockieren einer Schätzung des maschinengelernten Algorithmus für den verborgenen Systemzustand für einen Eingabevektor, wobei das mindestens eine vorbestimmte Kriterium eine Position des Eingabevektors im entsprechenden Eingabevektorraum berücksichtigt.Computer-implemented method for estimating a hidden system state of a technical-physical system using a machine-learned algorithm, wherein the method includes: - depending on at least one predetermined criterion, optionally allowing or blocking an estimate of the machine-learned algorithm for the hidden system state for an input vector, wherein the at least one predetermined criterion takes into account a position of the input vector in the corresponding input vector space. Computer-implementiertes Verfahren nach Anspruch 41, wobei die Vorhersage blockiert wird, 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.Computer-implemented method Claim 41 , whereby the prediction is 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 contained in a training data set for the machine-learned algorithm. Computer-implementiertes Verfahren nach Anspruch 41 oder 42, wobei die Vorhersage blockiert wird, wenn die Position des Eingabevektors einer Interpolation des maschinengelernten Algorithmus zwischen zwei oder mehr Zustandsdaten des technisch-physikalischen Systems, die in einem Trainingsdatensatz für den maschinengelernten Algorithmus beinhaltet sind, entspricht und wenn ein Abstand zwischen den zwei oder mehr Zustandsdaten entsprechenden Positionen im Eingabevektorraum größer als ein vorbestimmter Schwellenwert ist.Computer-implemented method Claim 41 or 42 , whereby the prediction is blocked if the position of the input vector of an interpolation of the machine-learned algorithm between two or more state data of the technical-physical system contained in a training data set for the machine-learned algorithm corresponds and if a distance between the positions in the input vector space corresponding to two or more state data is greater than a predetermined threshold value. Computer-implementiertes Verfahren nach einem der Ansprüche 41 bis 43, wobei die Vorhersage erlaubt wird, wenn die Position des Eingabevektors einer Interpolation des maschinengelernten Algorithmus zwischen zwei oder mehr Zustandsdaten des technisch-physikalischen Systems, die in einem Trainingsdatensatz für den maschinengelernten Algorithmus beinhaltet sind, entspricht und wenn ein Abstand zwischen den zwei oder mehr Zustandsdaten entsprechenden Positionen im Eingabevektorraum kleiner als ein vorbestimmter Schwellenwert ist.Computer-implemented method according to one of the Claims 41 until 43 , wherein the prediction is permitted if the position of the input vector corresponds to an interpolation of the machine-learned algorithm between two or more state data of the technical-physical system included in a training data set for the machine-learned algorithm and if a distance between the two or more state data corresponding positions in the input vector space is smaller than a predetermined threshold value. Computer-implementiertes Verfahren nach einem der Ansprüche 41 bis 44, wobei die Vorhersage blockiert wird, wenn die Position des Eingabevektors einen Mindestabstand (679) zu Positionen (663) im Eingabevektorraum, die als unsicher gelabelt sind, unterschreitet.Computer-implemented method according to one of the Claims 41 until 44 , whereby the prediction is blocked if the position of the input vector falls below a minimum distance (679) to positions (663) in the input vector space that are labeled as uncertain. Computer-implementiertes Verfahren nach einem der Ansprüche 41 bis 45, wobei das mindestens eine Kriterium mehrere Kriterien umfasst, wobei das Verfahren weiterhin umfasst: - sequentielles Prüfen der mehreren Kriterien.Computer-implemented method according to one of the Claims 41 until 45 , wherein the at least one criterion comprises a plurality of criteria, the method further comprising: - sequentially checking the plurality of criteria. Vorrichtung, umfassend mindestens einen Prozessor und einen Speicher, wobei der mindestens eine Prozessor eingerichtet ist, um Programmcode aus dem Speicher zu laden und auszuführen, wobei der mindestens eine Prozessor eingerichtet ist, um basierend auf dem Programmcode ein Computer-implementiertes Verfahren nach einem der Ansprüche 1 bis 46 auszuführen.Device comprising at least one processor and a memory, wherein the at least one processor is configured to load and execute program code from the memory, wherein the at least one processor is configured to execute, based on the program code, a computer-implemented method according to one of Claims 1 until 46 to carry out. Computerprogramm, umfassend Programmcode, der von mindestens einem Prozessor geladen und ausgeführt werden kann, wobei der mindestens eine Prozessor basierend auf dem Ausführen des Programmcodes ein Computer-implementiertes Verfahren nach einem der Ansprüche 1 bis 46 ausführt.Computer program comprising program code that can be loaded and executed by at least one processor, wherein the at least one processor implements a computer-implemented method according to one of the Claims 1 until 46 executes.
DE102022209903.6A 2022-09-20 2022-09-20 SAFE CONTROL OF TECHNICAL-PHYSICAL SYSTEMS Pending DE102022209903A1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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