DE102022209898A1 - Sichere steuerung von technisch-physikalischen systemen - Google Patents

Sichere steuerung von technisch-physikalischen systemen Download PDF

Info

Publication number
DE102022209898A1
DE102022209898A1 DE102022209898.6A DE102022209898A DE102022209898A1 DE 102022209898 A1 DE102022209898 A1 DE 102022209898A1 DE 102022209898 A DE102022209898 A DE 102022209898A DE 102022209898 A1 DE102022209898 A1 DE 102022209898A1
Authority
DE
Germany
Prior art keywords
areas
computer
machine
implemented method
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
DE102022209898.6A
Other languages
English (en)
Inventor
Thomas Waschulzik
Thomas Schnapka
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 DE102022209898.6A priority Critical patent/DE102022209898A1/de
Priority to PCT/EP2023/074296 priority patent/WO2024061618A1/de
Publication of DE102022209898A1 publication Critical patent/DE102022209898A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

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).

Description

  • TECHNISCHES GEBIET
  • 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.
  • HINTERGRUND
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • Deshalb ist es notwendig, ein möglichst gutes Training des maschinengelernten Algorithmus durchzuführen, so dass Fehlfunktionen vermieden werden.
  • 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.
  • 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.
  • ZUSAMMENFASSUNG
  • 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.
  • Diese Aufgabe wird gelöst von den Merkmalen der unabhängigen Patentansprüche. Die abhängigen Patentansprüche definieren Ausführungsformen.
  • 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.
  • Der maschinengelernte Algorithmus kann diskrete Systemzustände (Klassen) vorhersagen, also einen Klassifikator implementieren.
  • In manchen Beispielen könnte auch eine Regression vom maschinengelernten Algorithmus durchgeführt werden.
  • 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) .
  • 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.
  • In den verschiedenen hierin beschriebenen Beispielen kann der Informationsgehalt der Kontextdaten variieren.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Ein Computer-implementiertes Verfahren zum Schätzen eines verborgenen Systemzustand eines technisch-physikalischen Systems mittels eines maschinengelernten Algorithmus wird offenbart. 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • KURZE BESCHREIBUNG DER FIGUREN
    • 1 illustriert schematisch ein System umfassend eine Datenverarbeitungsanlage und ein technisch-physikalische System gemäß verschiedenen Beispielen.
    • 2 illustriert schematisch eine Datenverarbeitungspipeline mit einem maschinengelernten Algorithmus und assoziierten Kontextdaten gemäß verschiedenen Beispielen.
    • 3 illustriert Details in Bezug auf die Kontextdaten, die mehrere Bereiche in einem Vektorraum von Eingabevektoren für den maschinengelernten Algorithmus indizieren.
    • 4 ist ein Flussdiagramm eines beispielhaften Verfahrens.
    • 5A ist ein Flussdiagramm eines beispielhaften Verfahrens.
    • 5B zeigt Aspekte im Zusammenhang mit einer Delaunay-Triangulierung.
    • 5C zeigt Aspekte im Zusammenhang mit einer Delaunay-Triangulierung.
    • 5D zeigt Aspekte im Zusammenhang mit einer Min-Max-Triangulierung.
    • 5E zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.
    • 5F zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.
    • 5G zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.
    • 5H zeigt Aspekte in Bezug auf Regionen im Eingabevektorraum, die mit unterschiedlichen Klassen assoziiert sind.
    • 51 zeigt Aspekte im Zusammenhang mit der Plausibilisierung von Kontextdaten.
    • 6 illustriert Eingabevektoren eines Trainingsdatensatzes in einem entsprechenden Vektorraum.
    • 7 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus 6 trainiert wurde, gemäß verschiedenen Beispielen.
    • 8 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus 6 trainiert wurde, gemäß verschiedenen Beispielen.
    • 9 illustriert ein Klassifikationsergebnis eines maschinengelernten Algorithmus, der basierend auf dem Trainingsdatensatz aus 6 trainiert wurde, gemäß verschiedenen Beispielen.
    • 10A illustriert mehrere Bereiche, die im Vektorraum der Eingabevektoren aus 6 gemäß verschiedenen Beispielen bestimmt werden.
    • 10B illustriert Details zu einem der Bereiche aus 10A.
    • 10C illustriert einen Eingabevektorraum gemäß verschiedenen Beispielen.
    • 10D illustriert einen Bereich, der im Eingabevektorraum gemäß 10C bestimmt wird.
    • 10E illustriert einen weiteren Bereich, der im Eingabevektorraum gemäß 10C bestimmt wird.
    • 11 ist ein Flussdiagramm eines beispielhaften Verfahrens.
    • 12 illustriert Kontextdaten gemäß verschiedenen Beispielen.
    • 13 illustriert Kontextdaten gemäß verschiedenen Beispielen.
  • DETALLIERTE BESCHREIBUNG
  • 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.
  • 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.
  • Nachfolgend werden Techniken beschrieben, um einen verborgenen Systemzustand eines technisch-physikalischen Systems mittels eines maschinengelernten (ML) Algorithmus zu schätzen.
  • 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.
  • 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.
  • 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.
  • 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).
  • Es werden Techniken beschrieben, die es ermöglichen, Zusatzinformationen im Zusammenhang mit der Vorhersage des maschinengelernten Algorithmus zu erhalten, sog. Kontextdaten.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • Während in 1 nur ein Prozessor 92 gezeigt ist, kann die Datenverarbeitungsanlage 91 allgemein mehrere Prozessoren aufweisen.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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) .
  • 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) .
  • 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.
  • Die Bereiche können mit unterschiedlichen Sicherheitsstufen gem. TAB. 1 assoziiert sein.
  • 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.
  • 4 ist ein Flussdiagramm eines beispielhaften Verfahrens. 4 illustriert verschiedene Phasen der Verwendung eines maschinengelernten Algorithmus wie beispielsweise des maschinengelernten Algorithmus 89.
  • In Box 3001 erfolgt eine Parametrierung.
  • 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.
  • 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).
  • 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.
  • 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).
  • 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.
  • In Box 3002 findet die Inferenz statt. Diese Inferenz berücksichtigt sowohl den vorher trainierten maschinengelernten Algorithmus 89, um gegebenenfalls einen verborgenen Systemzustand des technisch-physikalischen Systems zu schätzen; wie auch die Kontextdaten 50, um zu bestimmen, ob eine Ausgabe des maschinengelernten Algorithmus sicher oder unsicher ist. Im Rahmen der Inferenz in Box 3002 ist keine Grundwahrheit verfügbar. Das heißt, der maschinengelernte Algorithmus 89 gibt einen Ausgangsvektor 86 aus, der nicht mit einer Grundwahrheit verglichen werden kann.
  • Nachfolgend werden zunächst Aspekte im Zusammenhang mit Box 3001 beschrieben. Anschließend werden Aspekte im Zusammenhang mit Box 3002 beschrieben.
  • 5A ist ein Flussdiagramm eines beispielhaften Verfahrens. 5A illustriert Aspekte im Zusammenhang mit dem Parametrisieren eines maschinengelernten Algorithmus gemäß Box 3001 aus 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.
  • 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.
  • 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.
  • Anschließend werden in Box 3515 basierend auf den Eingabevektoren des Trainingsdatensatzes mehrere Bereiche bestimmt.
  • 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.
  • 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.
  • 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.
  • 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 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.
  • 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.
  • 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).
  • Grundsätzlich gibt es unterschiedliche Optionen, um die Bewertungsmetrik zu implementieren.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 .
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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) .
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • Die Kontextdaten 50 zeigen die Bereiche an. Das kann bei der Inferenz (vgl. 4: Box 3002) ausgenutzt werden. Dies wird nachfolgend erläutert.
  • 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.
  • 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.
  • In Box 3010 wird der maschinengelernte Algorithmus geladen. Ein entsprechender Programmcode kann aus dem Speicher geladen werden.
  • 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.
  • 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.
  • 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.
  • 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.
  • In manchen Beispielen können die Kontextdaten auch noch weitere Information anzeigen, über die Bereiche hinaus.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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“).
  • 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 also od von den durch die Kontextdaten 50 angezeigten erlaubten Ergebnisse entfernt sind. Das kann insbesondere für Regressionsaufgaben hilfreich sein
  • 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.
  • Box 3040 und Box 3045 entsprechen also einem zweistufigen Ansatz. Zuerst werden in Box 3040 Ergebnis Kandidat mittels des maschinengelernten Algorithmus bestimmt; die dann gegebenenfalls in Box 3045 korrigiert werden können, basierend auf den Kontextdaten.
  • In Box 3050 kann anschließend das Steuern des technisch-physikalischen Systems basierend auf dem Fehlerindikator (aus Box 3035 oder gegebenenfalls aus Box 3045) und/oder dem geschätzten verborgenen Systemzustand aus Box 3040 erfolgen.
  • Beispielsweise könnten entsprechende Steuerdaten an das technisch-physikalische System gesendet werden.
  • 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.
  • 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.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • 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.
  • Zitierte Patentliteratur
    • DE 102021207613 [0102]

Claims (44)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. Computer-implementiertes Verfahren nach einem der Ansprüche 4 bis 8, wobei die Bewertungsmetrik mehrere Komponenten umfasst, die hierarchisch geordnet sind.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. Computer-implementiertes Verfahren nach Anspruch 16, wobei zumindest einige der Vielzahl von Bereichen zwischen Positionen der Eingabevektoren im entsprechenden Vektorraum (71) angeordnet sind.
  18. Computer-implementiertes Verfahren nach Anspruch 16 oder 17, wobei zumindest einige Bereiche der Vielzahl von Bereichen als unsicher erkannte Positionen eines Eingabevektors im entsprechenden Vektorraum umgeben.
  19. Computer-implementiertes Verfahren nach Anspruch 18, wobei das Verfahren weiterhin umfasst: - Erkennen der unsichereren Positionen basierend auf einem Verlauf von Klassengrenzen.
  20. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 18, 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.
  21. Computer-implementiertes Verfahren nach Anspruch 20, 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.
  22. Computer-implementiertes Verfahren nach Anspruch 20 oder 21, wobei die Bewertungsmetrik eine Komponente umfasst, die die Bereiche basierend auf einer lokalen Variation der Grundwahrheiten für den verborgenen Systemzustand partitioniert.
  23. Computer-implementiertes Verfahren nach einem der Ansprüche 20 bis 22, 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.
  24. Computer-implementiertes Verfahren nach Anspruch 23, das weiterhin umfasst: - Erkennen von unsicheren Positionen im Vektorraum der Eingabevektoren basierend auf einem Verlauf von Klassengrenzen.
  25. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 24, wobei die Bereiche durch Flächen begrenzt werden, die sich im Vektorraum zwischen den Positionen benachbarter Eingangsvektoren erstrecken.
  26. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 25, 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.
  27. Computer-implementiertes Verfahren nach Anspruch 26, wobei das Dreiecksnetz durch eine Delaunay-Triangulierung oder eine Min-Max-Triangulierung gebildet wird.
  28. Computer-implementiertes Verfahren einem der Ansprüche 20 bis 24, sowie nach Anspruch 26 oder 27, 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.
  29. Computer-implementiertes Verfahren nach Anspruch 28, 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.
  30. Computer-implementiertes Verfahren nach Anspruch 28 oder 29, wobei das Verfahren weiterhin umfasst: - Parametrieren der Bewertungsmetrik, wobei das Parametrieren der Bewertungsmetrik umfasst: Bestimmen des vorgegebenen Schwellenwerts basierend auf mindestens einem Kriterium.
  31. Computer-implementiertes Verfahren nach Anspruch 30, wobei das mindestens eine Kriterium einen minimalen Abstand zwischen zwei unterschiedlichen Eingabevektoren des Trainingsdatensatzes, die mit verschiedenen verborgenen Systemzuständen assoziiert sind, umfasst.
  32. Computer-implementiertes Verfahren nach Anspruch 31, 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.
  33. Computer-implementiertes Verfahren nach einem der Ansprüche 30 bis 32, wobei das mindestens eine Kriterium eine Designvorgabe eines Entwicklungsprozesses des technisch-physikalischen Systems umfasst.
  34. Computer-implementiertes Verfahren nach einem der Ansprüche 30 bis 33, wobei das mindestens eine Kriterium eine Vorgabe für ein Betriebssicherheitslevel des technisch-physikalischen Systems umfasst.
  35. Computer-implementiertes Verfahren nach einem der Ansprüche 30 bis 34, wobei das mindestens eine Kriterium Domänenwissen umfasst.
  36. Computer-implementiertes Verfahren nach einem der Ansprüche 20 bis 35, 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.
  37. 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.
  38. Computer-implementiertes Verfahren nach Anspruch 37, 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.
  39. Computer-implementiertes Verfahren nach Anspruch 37 oder 38, 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.
  40. Computer-implementiertes Verfahren nach einem der Ansprüche 37 bis 38, 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.
  41. Computer-implementiertes Verfahren nach einem der Ansprüche 37 bis 40, wobei die Vorhersage blockiert wird, wenn die Position des Eingabevektors einen Mindestabstand (679) zu Positionen (663) im Eingabevektorraum, die als unsicher gelabelt sind, unterschreitet.
  42. Computer-implementiertes Verfahren nach einem der Ansprüche 37 bis 41, wobei das mindestens eine Kriterium mehrere Kriterien umfasst, wobei das Verfahren weiterhin umfasst: - sequentielles Prüfen der mehreren Kriterien.
  43. 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 42 auszuführen.
  44. 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 42 ausführt.
DE102022209898.6A 2022-09-20 2022-09-20 Sichere steuerung von technisch-physikalischen systemen Pending DE102022209898A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022209898.6A DE102022209898A1 (de) 2022-09-20 2022-09-20 Sichere steuerung von technisch-physikalischen systemen
PCT/EP2023/074296 WO2024061618A1 (de) 2022-09-20 2023-09-05 Sichere steuerung von technisch-physikalischen systemen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022209898.6A DE102022209898A1 (de) 2022-09-20 2022-09-20 Sichere steuerung von technisch-physikalischen systemen

Publications (1)

Publication Number Publication Date
DE102022209898A1 true DE102022209898A1 (de) 2024-03-21

Family

ID=88016609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022209898.6A Pending DE102022209898A1 (de) 2022-09-20 2022-09-20 Sichere steuerung von technisch-physikalischen systemen

Country Status (2)

Country Link
DE (1) DE102022209898A1 (de)
WO (1) WO2024061618A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021207613A1 (de) 2021-05-26 2022-12-01 Siemens Mobility GmbH Verfahren zur Qualitätssicherung eines Systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087303B2 (en) * 2012-02-19 2015-07-21 International Business Machines Corporation Classification reliability prediction
DE102016201559A1 (de) * 2016-02-02 2017-08-03 Robert Bosch Gmbh Verfahren und Vorrichtung zum Vermessen eines zu testenden Systems
DE102021200889A1 (de) * 2021-02-01 2022-08-04 Volkswagen Aktiengesellschaft Verfahren zum Schätzen eines Fahrzeugparameters für den Betrieb eines Fahrzeugs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021207613A1 (de) 2021-05-26 2022-12-01 Siemens Mobility GmbH Verfahren zur Qualitätssicherung eines Systems

Also Published As

Publication number Publication date
WO2024061618A1 (de) 2024-03-28

Similar Documents

Publication Publication Date Title
DE112017000787T5 (de) Verfahren zum Steuern der Bewegung eines Fahrzeugs und Fahrzeugsteuersystem
DE102018128289B4 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
DE102019131385A1 (de) Sicherheits- und leistungsstabilität von automatisierung durch unsicherheitsgetriebenes lernen und steuern
EP4193135A1 (de) Computerimplementiertes verfahren zum bereitstellen eines test-verlaufs zu testender verkehrsszenarien
EP3961511A1 (de) Ml-basierte automatische erkennung von neuen und relevanten datensätzen
EP4212980A1 (de) Fahrassistenzeinrichtung und verfahren zum durchführen einer wenigstens teilautomatischen fahrzeugfunktion in abhängigkeit von einer zu bewertenden fahrstrecke
DE102021207613A1 (de) Verfahren zur Qualitätssicherung eines Systems
DE112018005794T5 (de) System und Verfahren zum Steuern eines Kraftfahrzeugs zum autonomen Fahren
DE102022209898A1 (de) Sichere steuerung von technisch-physikalischen systemen
DE102022209903A1 (de) Sichere steuerung von technisch-physikalischen systemen
EP3968213A1 (de) Verfahren und vorrichtung zum ermitteln eines gleisgebundenen schienenpfades in einer gleisanlage
DE102019209463A1 (de) Verfahren zur Bestimmung eines Vertrauenswertes eines Objektes einer Klasse
WO2021239795A1 (de) Verfahren zum generieren eines trainierten neuronalen faltungs-netzwerks mit invarianter integrationsschicht zum klassifizieren von objekten
DE112021005868T5 (de) Föderales lernen für ein multi-label-klassifizierungsmodell zur ölpumpenverwaltung
DE102020127051A1 (de) Verfahren zur Bestimmung von sicherheitskritischen Ausgabewerten mittels einer Datenanalyseeinrichtung für eine technische Entität
DE102013206274A1 (de) Verfahren und Vorrichtung zum Anpassen eines nicht parametrischen Funktionsmodells
DE102020104267A1 (de) Computerimplementiertes Regelungs- oder Folgeregelungsverfahren oder Optimierungsverfahren zur Absicherung von Steuerungsalgorithmen einer Regelung und/oder Regelungsalgorithmen
DE102016206627A1 (de) Verfahren und Vorrichtung zum Vermessen eines zu testenden Systems
EP4060440B1 (de) System mit mindestens einem anlagesystem mit mindestens mehreren anlageteilen
WO2024008453A1 (de) Verfahren zur prädiktion eines einflusses eines verkehrsteilnehmers auf zumindest einen anderen verkehrsteilnehmer und verfahren zum betrieb eines fahrzeugs
DE102021100765A1 (de) Verfahren, System und Computerprogrammprodukt zur Bestimmung von sicherheitskritischen Ausgabewerten einer technischen Entität
EP4208760A1 (de) Verfahren und konfigurationssystem zum konfigurieren einer steuereinrichtung für ein technisches system
DE102022213065A1 (de) Stilles Testen neuronaler Netze von Fahrzeugen auf Identifikation unbekannter Objekte
DE102023212367A1 (de) System und Verfahren mit Sequenzmodellierung von Sensordaten für die Fertigung
DE102019119739A1 (de) Verfahren und System zur Erzeugung von sicherheitskritischen Ausgabewerten einer Entität