DE102022207776A1 - Überwachen eines Modells und Anomalieerkennung - Google Patents

Überwachen eines Modells und Anomalieerkennung Download PDF

Info

Publication number
DE102022207776A1
DE102022207776A1 DE102022207776.8A DE102022207776A DE102022207776A1 DE 102022207776 A1 DE102022207776 A1 DE 102022207776A1 DE 102022207776 A DE102022207776 A DE 102022207776A DE 102022207776 A1 DE102022207776 A1 DE 102022207776A1
Authority
DE
Germany
Prior art keywords
model
computer
controlled machine
monitoring
function
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
DE102022207776.8A
Other languages
English (en)
Inventor
Harald Walter
K B Mohan KISHOR
Bjoern Scholz
David Kulicke
Holger Kahle
Peter Fruehberger
Marcio Jose de Menezes Junior
Hoang Trinh
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022207776.8A priority Critical patent/DE102022207776A1/de
Priority to FR2307844A priority patent/FR3138535A1/fr
Priority to US18/360,090 priority patent/US20240037933A1/en
Priority to CN202310943808.2A priority patent/CN117475287A/zh
Publication of DE102022207776A1 publication Critical patent/DE102022207776A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

System und computerimplementiertes Verfahren zum Überwachen eines Funktions-Modells (100) zum Bereitstellen von Daten für wenigstens eine Funktion einer computergesteuerten Maschine (10), insbesondere eines Bilderkennungs-Algorithmus.

Description

  • Stand der Technik
  • Modelle des maschinellen Lernens werden durch den weit verbreiteten Einsatz von Computer-Vision-Algorithmen beispielsweise in Fahrzeugen zunehmend eingesetzt. Eine zunehmende Anzahl von Kameras innerhalb und außerhalb des Fahrzeugs beobachtet die innere und äußere Fahrzeugumgebung zu jeder Zeit.
  • Modelle für maschinelles Lernen werden beispielsweise auf leistungsstarken System-on-Chips, SoCs, eingesetzt, die in der Regel verschiedene Arten von Hardware-Beschleunigern verwenden, um die CPU-Kerne zu entlasten.
  • Grundsätzlich muss sichergestellt sein, dass sowohl das Modell des maschinellen Lernens als auch die Hardware, die es ausführt, wie erwartet funktionieren. Anforderungen an die Sicherheit der vorgesehenen Funktionalität werden beispielsweise in der Norm ISO 21448 behandelt. Darüber hinaus sind Anforderungen an die funktionale Sicherheit gemäß der Norm ISO 26262 zu stellen. Dies ist beispielsweise dann von Bedeutung, wenn im Sinne der Norm ISO 26262 nicht sichere Betriebssysteme oder nicht sichere Hardwarebeschleuniger verwendet werden. Es ist im Allgemeinen selten der Fall, dass ein komplexes System bestehend aus SoC und weiteren technischen Bausteinen, wie beispielsweise Arbeitsspeicher, Spannungsversorgung, etc., im Gesamten aus nach ISO26262 entwickelten Bausteinen besteht. Daher wird für solche Systeme häufig explizit ein kritischer Pfad definiert, der besonders abgesichert wird.
  • Die Offenbarung beschreibt ein Verfahren zum Überwachen eines Modells.
  • Offenbarung der Erfindung
  • Eine Ausführungsform betrifft ein computerimplementiertes Verfahren zum Überwachen eines Funktions-Modells zum Bereitstellen von Daten für wenigstens eine Funktion einer computergesteuerten Maschine, insbesondere eines Bilderkennungs-Algorithmus, wobei das Funktions-Modell basierend auf Eingabedaten in wenigstens einem ersten Bearbeitungsschritt wenigstens ein Zwischenergebnis bestimmt, und wobei das Funktions-Modell basierend auf dem Zwischenergebnis in wenigstens einem weiteren Bearbeitungsschritt eine Ausgabe des Funktions-Modells bestimmt, und wobei das Zwischenergebnis und die Ausgabe des Funktions-Modells einem Überwachungsmodell zur Anomalieerkennung bereitgestellt wird, und basierend auf dem Zwischenergebnis und der Ausgabe des Funktions-Modells ein Anomalieerkennung durchgeführt wird, und wobei wenigstens ein Schritt zum Validieren einer Funktionalität des Funktions-Modells und/oder einer Funktionalität des Überwachsungsmodells durchgeführt wird. Die Zwischenergebnisse des wenigstens einen ersten Bearbeitungsschrittes und die Ausgabe des Funktionsmodells sind hierbei verschränkt, in dem Sinne, dass im Fehlerfall, also Vorliegenn einer Anomalie, der Fehlerfall durch die Exekutionskette hindurch propagiert wird.
  • Unter einem Funktions-Modell wird im Rahmen der vorliegenden Offenbarung ein Modell, insbesondere ein Algorithmus, verstanden, das dazu geeignet ist, Daten für wenigstens eine Funktion einer computergesteuerten Maschine bereitzustellen.
  • Ein Beispiel für ein solches Modell ist ein Hardware- und/oder Softwaregestützter Bilderkennungsalgorithmus, der dazu ausgebildet ist, basierend auf Eingabedaten, in diesem Fall insbesondere digitale Bilddaten, Ausgabedaten zu bestimmen. Ein solcher Algorithmus ist beispielsweise ein Klassifizierungsalgorithmus. Es kann sich aber im Zusammenhang mit der Anomalieerkennung als vorteilhaft erweisen, dass das Modell ein Regressionsalgorithmus ist. Dies schließt aber nicht aus, dass das Modell oder eine dem Modell nachgeschaltete Anwendung eine endgültige Klassifizierung vornimmt.
  • Es ist vorgesehen, dass das Funktions-Modell basierend auf Eingabedaten in wenigstens einem ersten Bearbeitungsschritt, beispielsweise basierend auf Inferenz, wenigstens ein Zwischenergebnis bestimmt. In wenigstens einem weiteren Bearbeitungsschritt, beispielsweise einem Nachbearbeitungsschritt, auch Post-Processing, bestimmt das Funktions-Modell basierend auf dem Zwischenergebnis die Ausgabe des Funktions-Modells.
  • Sowohl das Zwischenergebnis als auch die Ausgabe werden mit einem Überwachungsmodell einer Anomalieerkennung unterzogen. Bei der Anomalieerkennung werden die Ergebnisse des überwachten Funktions-Modells auf Anomalien, beispielsweise sogenannte Ausreißer, überprüft. Eine Herausforderung der Anomalieerkennung besteht darin, zwischen echten „Ausreißern“, die auf einer fehlerhaften Ausführung einer Sollfunktion beruhen, und falschen „Ausreißern“, bei denen seltene Ereignisse mit abrupten Änderungen der Eingaben zu eben solchen Ausreißern führen, zu unterscheiden. Nicht jeder Ausreißer bedeutet eine fehlerhafte Ausführung einer Sollfunktion. Daher ist die Erkennung von Ausreißern allein oft nicht ausreichend, um allein darauf basierend auf eine fehlerhafte Ausführung einer Sollfunktion des Funktions-Modells zu schließen. Ganz im Gegenteil, Ausreißer sind im Allgemeinen keine Indikation darauf, dass ein zu erkennendes Fehlerereignis, tatsächlich eingetreten ist.
  • Erfindungsgemäß wird daher vorgeschlagen, die Anomalieerkennung durch wenigstens einen Schritt zum Validieren einer Funktionalität des Funktions-Modells und/oder einer Funktionalität des Überwachsungsmodells zu ergänzen.
  • Um die Funktionalität des Funktions-Modells zu validieren, wird beispielsweise das Durchführen eines sogenannten „eingebauten“ Selbsttest, built-in self-test, BIST, vorgeschlagen.
  • Es ist beispielweise vorgesehen, dass das Verfahren umfasst: Bestimmen einer Referenzausgabe basierend auf einer Referenzeingabe mittels des Funktions-Modells, und Prüfen der Referenzausgabe, insbesondere Vergleichen der Referenzausgabe mit Ground-Truth-Daten, mittels des Überwachungsmodells. Eine Referenzeingabe ist beispielsweise in einer entsprechenden Speichereinrichtung hinterlegt und wird an das Funktions-Modell bereitgestellt.
  • Unter der Bezeichnung Ground-Truth-Daten wird hier verstanden, dass diese Daten eine Referenz darstellen, die eine Wirklichkeit der Referenzdaten für den jeweiligen Zweck ausreichend genau beschreiben. Mit anderen Worten sind Ground-Truth-Daten beobachtete oder gemessene Daten, die objektiv analysiert wurden.
  • Durch das Prüfen der Referenzausgabe mittels des Überwachungsmodells kann anhand von bekannten Referenzdaten geprüft werden, ob das Funktions-Modell funktionsfähig ist. Für den Fall, dass das Funktions-Modell einen Klassifizierungsalgorithmus umfasst, ist es vorteilhaft, wenn die Referenzeingaben verschiedene Klassen, insbesondere alle Klasse abdecken.
  • Es kann vorgesehen sein, dass das Bestimmen einer Referenzausgabe basierend auf einer Referenzeingabe mittels des Funktions-Modells, und Vergleichen der Referenzausgabe mit Ground-Truth-Daten mittels des Überwachungsmodells periodisch ausgeführt wird. Das Ausführen kann beispielsweise durch das Bereitstellen wenigstens einer Referenzeingabe getriggert werden.
  • Es kann vorgesehen sein, dass das Bestimmen der Referenzausgabe basierend auf der Referenzeingabe mittels des Funktions-Modells während eines Normalbetriebs, also eines bestimmungsgemäßen Betriebs, des Funktions-Modells durchgeführt wird. Es kann aber auch sein, dass das Funktions-Modell in einen Testbetrieb umschaltet. Dies ist beispielsweise vorteilhaft, wenn das Funktions-Modell einen Algorithmus umfasst, dessen Funktionsweise während eines laufenden Normalbetriebs durch die Verwendung von Referenzdaten beeinflusst werden würde. Beispiele hierfür sind rekurrente neuronale Netze, RNNs, die einen internen Zustand implementieren. Eine Referenzeingabe würde den internen Zustand und damit auch die nachfolgenden Vorhersagen beeinflussen.
  • Ergänzend oder alternativ können weitere Schritte vorgesehen sein, um die Funktionalität des Funktions-Modells zu validieren. Das Verfahren umfasst beispielsweise die folgenden Schritte: Bereitstellen eines Hashwerts mittels des Überwachungsmodells, Signieren des Hashwerts mittels des Funktions-Modells, Bereitstellen des signierten Hashwerts an das Überwachungsmodell und Prüfen des signierten Hashwerts, insbesondere Vergleichen des Hashwerts mit dem signierten Hashwert, mittels des Überwachungsmodells.
  • Das Überwachungsmodell erzeugt beispielsweise eine Zufallszahl und generiert darüber einen Hashwert. Der Hashwert wird anschließend dem Funktions-Modell bereitgestellt. Der Hashwert ist eine nicht mathematisch invertierbare Funktion, um sicherzustellen, dass das Funktions-Modell den ursprünglichen Wert nicht selbst wiederherstellen kann.
  • Das Signieren des Hashwerts durch das Funktions-Modell umfasst beispielsweise das Anwenden einer umkehrbaren Funktion auf den Hashwert. Das Überwachungsmodell prüft den signierten Hashwert durch Anwenden der Inversen und Vergleichen des Hashwerts mit dem ursprünglich erzeugten Hashwert.
  • Gemäß einer Ausführungsform ist vorgesehen, dass das Signieren des Hashwerts umfasst: Hinzufügen einer Signatur zu dem Hashwert in dem ersten Bearbeitungsschritt des Funktions-Modells und Hinzufügen einer weiteren Signatur in wenigstens einen weiteren Bearbeitungsschritt des Funktions-Modells. Für den Fall, dass das Funktions-Modell weitere Bearbeitungsschritte umfasst, ist vorgesehen, dass in den weiteren Bearbeitungsschritten ebenfalls Signaturen hinzugefügt werden. Nachfolgende Bearbeitungsschritte des Funktions-Modells wenden also ihre Signaturen, d.h. umkehrbare Funktion auf den signierten Hashwert des jeweiligen vorhergehenden Bearbeitungsschritt an, um so letztendlich einen endgültig signierten Hashwert zu erzeugen, der dann dem Überwachungsmodell bereitgestellt wird.
  • Es ist vorteilhafterweise vorgesehen, dass mit dem Funktions-Modell in dem ersten Bearbeitungsschritt das Zwischenergebnis bestimmt und eine Signatur für den Hashwert erzeugt wird. Das Zwischenergebnis und der signierte Hashwert werden an wenigstens einen weiteren Bearbeitungsschritt übertragen. In dem weiteren Bearbeitungsschritt bestimmt das Funktions-Modell basierend auf dem Zwischenergebnis die Ausgabe des Funktions-Modells und ebenfalls eine Signatur für den signierten Hashwert des vorherigen Schrittes. Es ist also vorgesehen, dass jeder Bearbeitungsschritt ein erzeugtes Zwischenergebnis sowie den signierten Hashwert an den nächsten Bearbeitungsschritt überträgt.
  • Der endgültig signierte Hashwert wird schließlich zusammen mit der Ausgabe an das Überwachungsmodell übertragen.
  • Gemäß einer Ausführungsform ist vorgesehen, dass das Verfahren weiter umfasst: Überwachen einer Kommunikation zwischen einer ersten Instanz auf der das Funktions-Modell ausgeführt und einer weiteren Instanz, auf der das Überwachungsmodell ausgeführt wird. Mit der Überwachung können beispielsweise Verzögerungen in der Kommunikation detektiert werden. Überschreiten bestimmte Verzögerungen einen bestimmten Grenzwert, ist nicht sichergestellt, dass die Überwachung noch korrekt funktioniert.
  • Gemäß einer Ausführungsform ist vorgesehen, dass in Abhängigkeit eines Ergebnisses der Anomalieerkennung und/oder in Abhängigkeit eines Ergebnisses des Überwachens der Kommunikation, wenigstens einer der folgenden Schritte ausgeführt wird: a) Prüfen des Ergebnisses des Vergleichs der Referenzausgabe mit Ground-Truth-Daten mittels des Überwachungsmodells, b) Prüfen des Ergebnisses des Vergleichs des Hashwerts mit dem signierten Hashwerts mittels des Überwachungsmodells, c) Bereitstellen eines Steuersignals zum Ansteuern der computergesteuerten Maschine, insbesondere wenigstens eines Teils der computergesteuerten Maschine, und/oder einer Funktion der computergesteuerten Maschine, d) Überführen der computergesteuerten Maschine, insbesondere wenigstens eines Teils der computergesteuerten Maschine, und/oder einer Funktion der computergesteuerten Maschine in einen definierten Zustand, e) Überführen der computergesteuerten Maschine, insbesondere wenigstens des Teils der computergesteuerten Maschine, und/oder der Funktion der computergesteuerten Maschine in den definierten Zustand in Abhängigkeit eines Ergebnisses aus a) und/oder b).
  • Ein definierter Zustand ist beispielsweise ein sicherer Zustand. Unter einem sicheren Zustand wird verstanden, dass die computergesteuerte Maschine, und/oder die Funktion der computergesteuerten Maschine in einen Zustand überführt wird, in dem ein Ausführen der Funktion nicht auf dem Funktions-Modell basiert, beispielsweise durch Abschalten oder Unterbrechen der Funktion. Zusätzlich ist vorteilhaft vorgesehen, dass das Abschalten oder Unterbrechen der Funktion, insbesondere der Komponente, die diese Funtion ausführt, und/oder der computergesteurten Machine, einem übrigen System, beispielsweise beispielsweise ein E/E-System eines Kraftfahrzeugs und/oder einem Benutzer des Systems bekannt gemacht wird. Ein Beispiel für einen sicheren Zustand ist für bestimmte Funktionen und/oder computergesteuerte Maschinen in einem Kraftfahrzeug, eine visuelle Anzeige auf einem Bildschirm, beispielsweise auch in Form eines schwarzen Bildschirms, eine Signalleuchte und/oder eine akustische Warnung.
  • Weitere Ausführungsformen betreffen ein System zum Überwachen eines Funktions-Modells zum Bereitstellen von Daten für wenigstens eine Funktion einer computergesteuerten Maschine, insbesondere ein Bilderkennungs-Algorithmus, wobei das System dazu ausgebildet ist, mittels eines Überwachungsmodells Schritte eines Verfahrens gemäß den beschriebenen Ausführungsformen durchzuführen, wobei wenigstens Schritte des Verfahrens, die mittels des Überwachungsmodells ausgeführt werden, auf wenigstens einer ersten Instanz des Systems ausgeführt werden, und das Funktions-Modell zum Bereitstellen von Daten für wenigstens eine Funktion der computergesteuerten Maschine, insbesondere der Bilderkennungs-Algorithmus, auf wenigstens einer zweiten Instanz des Systems ausgeführt wird.
  • Um Sicherheitsanforderungen gemäß der Norm ISO 26262 zu erfüllen, kann beispielsweise vorgesehen sein, dass das Funktions-Modell auf einem gemäß der Norm ISO 26262 sicheren Anwendungsprozessor mit einem sicheren Betriebssystem ausgeführt und sich das Überwachsungsmodell auf demselben System befindet. In einem solchen Szenario sind das Funktions-Modell und das umgebende System aus Sicht der funktionalen Sicherheit bereits sicher, da es gemäß ISO 26262 implementiert ist. Eine solche Implementierung kann jedoch beispielsweise aus Kostengründen nicht immer vorgesehen werden.
  • Es kann vorteilhafterweise vorgesehen sein, dass wenigstens die erste Instanz einem Sicherheits-Integritätslevel, beispielsweise Automotive Safety Integrity Level, ASIL-Level, gemäß ISO-Standard 26262 genügt.
  • Es kann vorteilhafterweise vorgesehen sein, dass die erste und die zweite Instanz jeweils als eine Instanz eines gemeinsamen System-on-Chip, SoC ausgebildet sind, wobei ein Betriebssystem, das der ersten Instanz zugeordnet ist, auf einem separaten Rechenkern des System-on-Chip ausführbar ist. Auf diese Weise kann Rückwirkungsfreiheit, engl. Freedom of Interference, erreicht werden.
  • Es kann vorteilhafterweise vorgesehen sein, dass die erste und die zweite Instanz auf einem verteilten System realisiert sind. Es kann auch vorgesehen sein, dass die erste Instanz durch einen ersten Prozessor und die zweite Instanz durch einen zweiten separaten CO-Prozessor bereitgstellt wird. Die Kommunikation zwischen diesen Instanzen muss über eine entsprechende Absicherung verfügen, welche die Integrität der Nachrichten, sowie die Authentizität der Nachrichten, sowie die Vollständigkeit aller übertragenen Nachrichten sicherstellt.
  • Es kann vorteilhafterweise vorgesehen sein, dass ein entsprechend zertifizierter Hypervisor eine Hardware-Ebene virtualisiert, und die erste Instanz eine erste, durch den Hypervisor bereitgestellte, Domäne ist, und die zweite Instanz eine weitere, durch den Hypervisor bereitgestellte, Domäne ist.
  • Weitere Ausführungsformen betreffen die Verwendung des Verfahrens gemäß den Ausführungsformen und/oder des Systems gemäß den Ausführungsformen, in einer computergesteuerte Maschine, beispielsweise ein E/E-System eines Kraftfahrzeugs, insbesondere zum Bereitstellen von Funktionen des autonomen Fahrens, des teilautonomen Fahrens und/oder von Fahrassistenzfunktionen, ein Roboter, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, eine Vorrichtung zur automatischen optischen Inspektion oder ein Zutrittssystem, wobei ein Funktions-Modell in der computergesteuerten Maschine basierend auf Eingabedaten, insbesondere digitale Bilddaten eines Bildsensors, insbesondere eines Video-, Radar-, LiDAR-, Ultraschall-, Bewegungs- oder Wärmebildsensors, Daten für wenigstens eine Funktion der computergesteuerten Maschine bereitstellt, und wobei basierend auf den Daten wenigstens ein Steuersignal zum Ausführen der Funktion der computergesteuerten Maschine bereitstellt wird, und wobei das Funktionsmodell gemäß dem Verfahren überwacht und/oder wobei die computergesteuerten Maschine, insbesondere wenigstens ein Teil der computergesteuerten Maschine, und/oder einer Funktion der computergesteuerten Maschine in einen definierten Zustand überführt wird.
  • Weitere Vorteile ergeben sich aus der Beschreibung und den beigefügten Zeichnungen. Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden in der nachfolgenden Beschreibung näher erläutert. Dabei bezeichnen gleiche Bezugszeichen in verschiedenen Figuren jeweils gleiche oder zumindest ihrer Funktion nach vergleichbare Elemente. Bei der Beschreibung einzelner Figuren wird gegebenenfalls auch auf Elemente aus anderen Figuren Bezug genommen. Es zeigen jeweils in schematischer Form:
    • 1 eine schematische Übersicht von Schritten eines Verfahrens zum Überwachen eines Funktions-Modells mittels eines Überwachungsmodells gemäß einer ersten Ausführungsform;
    • 2 eine schematische Übersicht von Schritten eines Verfahrens zum Überwachen eines Funktions-Modells mittels eines Überwachungsmodells gemäß einer weiteren Ausführungsform;
    • 3 eine schematische Übersicht von Schritten eines Verfahrens zum Überwachen eines Funktions-Modells mittels eines Überwachungsmodells gemäß einer weiteren Ausführungsform;
    • 4 eine schematische Übersicht eines Systems zum Überwachen eines Funktions-Modells mittels eines Überwachungsmodells gemäß einer ersten Ausführungsform, und
    • 5 eine schematische Übersicht eines Systems zum Überwachen eines Funktions-Modells mittels eines Überwachungsmodells gemäß einer ersten Ausführungsform.
  • In 1 ist schematisch ein Funktions-Modell 100 dargestellt. Das Funktions-Modell 100 ist beispielsweise ein Modell des maschinellen Lernens, insbesondere ein Algorithmus, das dazu geeignet ist, Daten für wenigstens eine Funktion F einer computergesteuerten Maschine 10 bereitzustellen.
  • Ein Beispiel für ein solches Modell ist ein Bilderkennungsalgorithmus, der dazu ausgebildet ist, basierend auf Eingabedaten, in diesem Fall, insbesondere digitale Bilddaten, Ausgabedaten zu bestimmen. Ein solcher Algorithmus ist beispielsweise ein Klassifizierungsalgorithmus. Es kann sich aber im Zusammenhang mit einer Anomalieerkennung als vorteilhaft erweisen, dass das Modell ein Regressionsalgorithmus ist. Dies schließt aber nicht aus, dass das Modell oder eine dem Modell nachgeschaltete Anwendung eine endgültige Klassifizierung vornimmt.
  • Modelle des maschinellen Lernens werden in unterschiedlichen Bereichen eingesetzt, beispielsweise im Kraftfahrzeugbereich, beispielsweise im Bereich des autonomen oder teilautonomen Fahrens oder im Bereich Fahrerassistenzfunktionen, in denen hohe Sicherheitsanforderungen zu erfüllen sind. Im Kraftfahrzeugbereich sind sowohl Anforderungen an eine funktionale Sicherheit gemäß Norm ISO 26262 und Anforderungen an die Sicherheit der Sollfunktion, englisch Safety Of The Intended Functionality, SOTIF gemäß Norm ISO 21448 zu erfüllen.
  • Unter der funktionalen Sicherheit gemäß ISO 26262 wird eine intrinsische Sicherheit gegen Fehlfunktionen verstanden, d.h. Absicherungen gegen selbstverursachte Fehlfunktionen. Darunter fallen beispielsweise Hardwarespezifische Aspekte und Aspekte der Softwareimplementierung. SOTIF gemäß ISO 21448 kann allgemein definiert werden, als das Nichtvorhandensein eines unangemessenen Risikos aufgrund einer Gefahr, die durch eine Unzulänglichkeit in der Spezifikation oder Leistungseinschränkungen in der Implementierung verursacht wird. Darunter fällt beispielswiese die Funktionalität der Softwareimplementierung.
  • In Bezug auf die 1 bis 3 wird zunächst ein Verfahren zum Überwachen des Funktions-Modells beschrieben, mit dem sowohl Anforderungen an die funktionale Sicherheit gemäß Norm ISO 26262 also auch SOTIF-Anforderungen gemäß Norm ISO 21448 erfüllt werden.
  • In Bezug auf die 1 bis 3 wird davon ausgegangen, dass zumindest ein Überwachungsmodell, eine Art Supervisor, zum Überwachen des Funktions-Modells 100, in einer sicheren Umgebung, insbesondere Hardware, ausgeführt wird, um die hardwarespezifischen Aspekte gemäß ISO 26262 und ISO 21448 zu erfüllen.
  • Das Funktions-Modell 100 bestimmt basierend auf Eingabedaten E, beispielsweise Bilddaten, in wenigstens einem ersten Bearbeitungsschritt 110 wenigstens ein Zwischenergebnis Z_E1.
  • Gemäß dem Beispiel umfasst das Funktions-Modell 100 einen zweiten Bearbeitungsschritt 120 und einen dritten Bearbeitungsschritt 130. In dem zweiten Bearbeitungsschritt 120 bestimmt das Funktions-Modell 100 basierend auf dem ersten Zwischenergebnis Z_E1 ein zweites Zwischenergebnis Z_E2. In dem dritten Bearbeitungsschritt 130 bestimmt das Funktions-Modell 100 basierend auf dem zweiten Zwischenergebnis Z_E2 eine Ausgabe A. Die Ausgabe A wird beispielsweise als Daten für wenigstens eine Funktion F einer computergesteuerten Maschine 10, beispielsweise eine Funktion eines E/E-Systems eines Kraftfahrzeugs bereitgestellt.
  • Gemäß dem Beispiel ist vorgesehen, dass sowohl die Zwischenergebnisse Z_E1, Z_E2 und die Ausgabe A des Funktions-Modells 100 einem Überwachungsmodell 1000 zur Anomalieerkennung bereitgestellt wird.
  • Das Überwachungsmodell 1000 führt basierend auf den Zwischenergebnissen Z_E1, Z_E2 und die Ausgabe A des Funktions-Modells 100 eine Anomalieerkennung durch. Bei der Anomalieerkennung werden sowohl die Zwischenergebnisse des überwachten Funktions-Modells 100 auf Anomalien, beispielsweise sogenannte Ausreißer, überprüft. Eine Herausforderung der Anomalieerkennung besteht darin, zwischen echten „Ausreißern“, die auf einer fehlerhaften Ausführung einer Sollfunktion beruhen, und falschen „Ausreißern“, bei denen seltene Ereignisse mit abrupten Änderungen der Eingaben zu eben solchen Ausreißern führen, zu unterscheiden. Folglich deutet nicht jeder Ausreißer auf ein Problem hin. Daher ist die Erkennung von Ausreißern allein oft nicht ausreichend, um allein darauf basierend auf eine fehlerhafte Ausführung einer Sollfunktion des Funktions-Modells zu schließen.
  • Es ist daher vorgesehen, dass ergänzend zur Anomalieerkennung wenigstens ein Schritt zum Validieren einer Funktionalität des Funktions-Modells 100 und/oder einer Funktionalität des Überwachsungsmodells 1000 durchgeführt wird.
  • Um die Funktionalität des Funktions-Modells 100 zu validieren, wird beispielsweise das Durchführen eines sogenannten „eingebauten“ Selbsttests, built-in self-test, BIST, ausgeführt. Dies wird im Zusammenhang mit 2 erläutert.
  • Es ist beispielweise vorgesehen, dass das Verfahren umfasst: Bestimmen einer Referenzausgabe R_A basierend auf einer Referenzeingabe R_E mittels des Funktions-Modells 100, und Prüfen der Referenzausgabe R_A, insbesondere Vergleichen der Referenzausgabe R_A mit Ground-Truth-Daten, mittels des Überwachungsmodells 1000. Eine Referenzeingabe R_E ist beispielsweise in einer entsprechenden Speichereinrichtung hinterlegt und wird an das Funktions-Modell 100 bereitgestellt. Durch das Prüfen der Referenzausgabe R_A mittels des Überwachungsmodells 1000 kann anhand von bekannten Referenzdaten geprüft werden, ob das Funktions-Modell 100 funktionsfähig ist. Für den Fall, dass das Funktions-Modell 100 einen Klassifizierungsalgorithmus umfasst, ist es vorteilhaft, wenn die Referenzeingaben R_E verschiedene Klassen, insbesondere alle Klasse abdecken.
  • Es kann vorgesehen sein, dass das Bestimmen einer Referenzausgabe R_A basierend auf einer Referenzeingabe R_E mittels des Funktions-Modells 100, und Vergleichen der Referenzausgabe R_A mit Ground-Truth-Daten mittels des Überwachungsmodells 1000 periodisch ausgeführt wird. Das Ausführen kann beispielsweise durch das Bereitstellen der Referenzeingabe R_E getriggert werden.
  • Wie in 1 dargestellt und in Bezug darauf beschrieben, umfasst das Funktions-Modell, dass die Eingabe E zu Ausgabe A verarbeitet, mehrere Bearbeitungsschritte, auch Stufen genannt. Die Bearbeitungsschritte können beispielsweise linear nacheinander abgearbeitet werden, beispielsweise im Sinne einer linearen Prozess-Pipeline. In anderen nicht dargestellten Anwendungsfällen können die Bearbeitungsschritte auch in Form eines gerichteten azyklischen Graphen miteinander verbunden sein.
  • Im Folgenden werden Schritte beschrieben, die ausgeführt werden können, um die Funktionalität des Funktions-Modells zu validieren. Es werden Schritte vorgeschlagen, um zu prüfen, ob ein jeweiliger Bearbeitungsschritt ausgeführt wird, und somit zur Ausgabe A beiträgt. Diese Schritte können auch als Pipeline-Validierung zusammengefasst werden.
  • Beispielsweise sind die folgenden Schritte vorgesehen:
    • Das Überwachungsmodell 1000 stellt einen Hashwert h bereit. Dies erfolgt beispielsweise durch Erzeugen einer Zufallszahl z und Generieren eines Hashwert h(z). Der Hashwert h(z) wird anschließend an das Funktions-Modell 100 bereitgestellt. Der Hashwert h(z) ist eine nicht mathematisch invertierbare Funktion, um sicherzustellen, dass das Funktions-Modell 100 den ursprünglichen Wert nicht selbst wiederherstellen kann. Da eine Fehlübertragung in das Funktions-Modell oder zwischen den Schritten innerhalb des Funktions-Modells nicht ausgeschlossen werden kann, ist nicht gesichert, dass der bereitgestellte Hashwert h(z) dem empfangenen Wert im Funktions-Modell entspricht, weshalb im Funktions-Modell die Notation h'(z), bzw. h' verwendet wird, welche nur im Gutfall identisch zu h(z), bzw. h sind.
  • Im ersten Bearbeitungsschritt 110 des Funktions-Modells 100 wird basierend auf der Eingabe E das Zwischenergebnis Z_E1 erzeugt. Anschließend wird der Hashwert h'(z) signiert, beispielsweise durch Anwenden einer umkehrbaren Funktion s1, beispielsweise h'◦s1(z).
  • Das in dem ersten Bearbeitungsschritt erzeugte Zwischenergebnis Z_E1 wird zusammen mit dem signierten Hashwert h'(z)∘s1 an den zweiten Bearbeitungsschritt 120 bereitgestellt.
  • In dem zweiten Bearbeitungsschritt 120 bestimmt das Funktions-Modell 100 basierend auf dem ersten Zwischenergebnis Z_E1 ein zweites Zwischenergebnis Z_E2. Anschließend wird der signierte Hashwert h'(z)∘s1 abermals signiert, beispielsweise durch Anwenden einer umkehrbaren Funktion s2, beispielsweise h'(z)∘s1∘s2.
  • Das in dem zweiten Bearbeitungsschritt 120 erzeugte Zwischenergebnis Z_E2 wird zusammen mit dem signierten Hashwert h'(z)∘s1 ∘s2 an den dritten Bearbeitungsschritt 130 bereitgestellt.
  • In dem dritten Bearbeitungsschritt 130 bestimmt das Funktions-Modell 100 basierend auf dem zweiten Zwischenergebnis Z_E2 eine Ausgabe A. Anschließend wird der signierte Hashwert h'(z)∘s1∘s2 abermals signiert, beispielsweise durch Anwenden einer umkehrbaren Funktion s3, beispielsweise h'(z)∘s1∘s2∘s3. Im letzten Bearbeitungsschritt wird sozusagen die endgültige Signatur erzeugt S(z) =h'(z)∘s1∘s2∘s3∘....
  • Die endgültige Signatur S(h'(z)) wird zusammen mit der Ausgabe A dem Überwachsungsmodell 1000 bereitgestellt. Das Überwachsungsmodell 1000 prüft die endgültige Signatur S(h`(z)). Das Überwachsungsmodell 1000 wendet beispielsweise die Inversen der umkehrbaren Signaturen s'n...s'1 nacheinander an, beispielsweise S(h'(z))◦s'n....◦s'1 = h''(z). Der so bestimmte Hashwert h''(z) wird dann mit dem ursprünglich erzeugten Hashwert h(z) verglichen. Bei der initialen Übertragung könnte eine fehlerhafte Übermittlung von h(z) zugrunde liegen, weshalb das Funktions-Modell mit einem von h(z) unterschiedlichen h'(z) rechnet. Des Weiteren können bei fehlerhaften Schritten die Signaturen nicht korrekt angewendet werden, weshalb nach Rückrechnung im Überwachungsmodell ein dritter h''(z) berechnet wird, welcher weder h(z) noch h'(z) entspricht. Im Gutfall ist h=h'=h''.
  • Mit dieser Erweiterung gehen wir sicher, dass die initiale Übermittlung des Hashwerts h(z) ebenfalls Berücksichtigung findet.
  • Das Überwachsungsmodell 1000 testet also den bestimmten Hash h''(z) auf Gleichheit mit dem ursprünglichen h(z), wobei z nur dem Überwachsungsmodell 1000 bekannt war. Wenn beide Hashwerte übereinstimmen, ist validiert, dass jeder Bearbeitungsschritt des Funktions-Modells 100 funktioniert hat.
  • Es kann sich als vorteilhaft erweisen, dass die beschriebene Pipeline-Validierung in jeder Iteration, also für jedes Durchlaufen des Funktions-Modells basierend auf einer Eingabe E durchgeführt wird.
  • Es kann vorteilhaft sein, dass in jeder Iteration ein neuer Wert für die Zufallszahl z erzeugt wird. Dadurch kann sichergestellt werden, dass die einzelnen Bearbeitungsschritte in jeder Iteration neu herausgefordert werden, und es können keine konstanten Signaturen verwendet werden. Eine einfache, aber dennoch schwierige umkehrbare Funktion ist beispielsweise eine einfache binäre XOR-Operation bezeichnet mit dem Operator ⊗, da sie eine selbstinverse Funktion ist: ( s s ) ( h ) = s ( s ( h ) ) = h und h s s = h .
    Figure DE102022207776A1_0001
  • Um zu vermeiden, dass die umkehrbaren Funktionen jedes Bearbeitungsschrittes fest in das Überwachungsmodell kodiert wird, kann vorgesehen sein, dass ein jeweiliger Bearbeitungsschritt die Signatur sn auf der Grundlage des ursprünglichen h(z) und des jeweiligen Bearbeitungsschritts erzeugt, beispielswiese sn(z) = h(z) + h(n). In diesem Fall muss das Überwachungsmodell lediglich die Anzahl der Pipelinestufen n für die Umkehrung von sn kennen.
  • Es kann sich als vorteilhaft erweisen, wenn die Pipeline-Validierung während einer laufenden BISTs aktiv bleibt, also eine BIST und die Pipeline-Validierung zusammen ausgeführt werden. So kann sichergestellt werden, dass auch bei einem BIST jeder Bearbeitungsschritt des Funktionsmodells 100 tatsächlich ausgeführt wird.
  • Im Folgenden wird unter Bezugnahme auf 3 ein beispielhafter Ablauf eines Verfahrens 300 zum Überwachen des Funktionsmodells 100 beschrieben.
  • Basierend auf einem Input I, beispielsweise umfassend Eingaben E und Hashwerte h, führt das Funktionsmodell 100 die Bearbeitungsschritte 110, 120, 130, und erzeugt gegebenenfalls wie vorstehend beschrieben die entsprechenden Signaturen für die Hashwerte. Dies ist beispielhaft in dem Schritt 310 zusammengefasst.
  • Im Beispiel ist ein periodischer Trigger T dargestellt, der das Ausführen des BIST triggert. Das Ausführen des BIST ist beispielhaft im Schritt 320 zusammengefasst.
  • Das Überwachungsmodell 1000 führt eine Anomalieerkennung durch. Dies ist beispielhaft im Schritt 330 zusammengefasst.
  • Wenn eine Anomalie erkannt wird, führt das Überwachungsmodell 1000 weitere Schritt durch um zwischen echten „Ausreißern“, die auf einer fehlerhaften Ausführung einer Sollfunktion beruhen, und falschen „Ausreißern“, bei denen seltene Ereignisse mit abrupten Änderungen der Eingaben zu eben solchen Ausreißern führen, zu unterscheiden. Nicht jeder Ausreißer bedeutet eine fehlerhafte Ausführung einer Sollfunktion des Funktions-Modells.
  • Wenn eine Anomalie erkannt wird, überprüft das Überwachungsmodell 1000 im Schritt 340 im Beispiel das Ergebnis des BIST.
  • Wenn ein BIST-Fehler erkannt wird, wird darauf geschlossen, dass eine fehlerhafte Ausführung des Funktions-Modells 100 vorliegt. Es kann vorgesehen sein, dass dann direkt ein sicherer Zustand safe_state hergestellt wird. Dies wird noch erläutert.
  • Wenn kein BIST-Fehler BIST_error erkannt wird, überprüft das Überwachungsmodell 1000 im Schritt 350 im Beispiel das Ergebnis der Pipeline-Validierung.
  • Wen ein Pipeline-Validierung-Fehler PV_error erkannt wird, wird darauf geschlossen, dass eine fehlerhafte Ausführung des Funktions-Modells 100 vorliegt. Es kann vorgesehen sein, dass direkt ein sicherer Zustand safe_state hergestellt wird.
  • Wenn kein Pipeline-Validierung-Fehler erkannt wird, wird darauf geschlossen, dass es sich um einen sogenannten falschen Ausreißer handelt, und keine fehlerhafte Ausführung des Funktions-Modells 100 vorliegt.
  • Gemäß einer Ausführungsform ist vorgesehen, dass das Verfahren weiter umfasst: Überwachen einer Kommunikation zwischen einer ersten Instanz auf der das Funktions-Modell 100 ausgeführt und einer weiteren Instanz, auf der das Überwachungsmodell 1000 ausgeführt wird. Mit der Überwachung können beispielsweise Verzögerungen in der Kommunikation detektiert werden. Überschreiten bestimmte Verzögerungen einen bestimmten Grenzwert, ist nicht sichergestellt, dass die Überwachung noch korrekt funktioniert. Auch dann kann beispielsweise ein sicherer Zustand ausgelöst werden.
  • Unter einem sicheren Zustand wird verstanden, dass die computergesteuerte Maschine 10, und/oder die Funktion F der computergesteuerten Maschine 10 in einen Zustand überführt wird, in dem ein Ausführen der Funktion F nicht auf dem Funktions-Modell 100 basiert, beispielsweise durch Abschalten oder Unterbrechen der Funktion F. Zusätzlich ist vorteilhaft vorgesehen, dass das Abschalten oder Unterbrechen der Funktion F, insbesondere der Komponente, die diese Funtion ausführt, und/oder der computergesteurten Machine, einem übrigen System, beispielsweise beispielsweise ein E/E-System eines Kraftfahrzeugs und/oder einem Benutzer des Systems bekannt gemacht wird.
  • Die beschriebenen Überwachungsfunktionen des Supervisors erfüllen sowohl die Anforderungen der ISO 26262 als auch die Anforderungen der SOTIF-Norm ISO 21448:
    • Die Anomalieerkennung prüft, ob das Funktions-Modell 100 bei einer realen Eingabe E wie erwartet funktioniert und fällt daher unter die SOTIF-Norm.
  • Der BIST basiert auf einer Referenzeingabe R_E und kann daher keinen SOTIF-Aspekt prüfen. Der BIST wird verwendet, um zu prüfen, ob das Funktions-Modell noch aktiv und funktionsfähig ist. BIST fällt daher unter die Norm ISO 26262 für Funktionssicherheit.
  • Die Pipeline-Validierung erfolgt in Kombination mit den realen Eingaben E. Die Pipeline-Validierung prüft aber auch, ob das Funktions-Modell noch aktiv und funktionsfähig ist. Daher erfüllt die Pipeline-Validierung sowohl die SOTIF-Norm als auch die ISO 26262.
  • Die Überwachung der Kommunikation auf Verzögerungen erfolgt auf realen Eingaben E. Es wird jedoch auch geprüft, ob das Funktions-Modell noch aktiv und funktionsfähig ist. Daher erfüllt die Überwachung der Kommunikation auf Verzögerungen sowohl die SOTIF-Norm als auch die ISO 26262.
  • Anhand der 4 und 5 werden verschiedene Hardware-Konfigurationen für verschiedene Anwendungen erörtert.
  • 4 zeigt ein System 400, das dazu ausgebildet ist, mittels eines Überwachungsmodells 1000 Schritte des beschriebenen Verfahrens durchzuführen. Es ist vorgesehen, dass Schritte des Verfahrens, die mittels des Überwachungsmodells 1000 ausgeführt werden, auf wenigstens einer ersten Instanz 410 des Systems 400 ausgeführt werden, und das Funktions-Modell 100 zum Bereitstellen von Daten für wenigstens eine Funktion F der computergesteuerten Maschine 10, insbesondere der Bilderkennungs-Algorithmus, auf wenigstens einer zweiten Instanz 420 des Systems 400 ausgeführt wird.
  • Die zweite Instanz 420 ist beispielsweise eine Instanz, die als nicht sicher im Sinne der Norm für funktionale Sicherheit ISO 26262 gilt, beispielsweise durch die Verwendung eines nicht sicheren Betriebssystems oder eines nicht sicheren Hardwarebeschleunigers. Beispielsweise ist das Funktions-Modell 100 auf einem Linux-Betriebssystem implementiert. Allerdings fehlt dem Linux-Kernel eine Sicherheitszertifizierung nach ISO 26262. Aus Sicherheitsgründen und aus anderen Gründen wie Startzeiten oder CAN-Unterstützung wird die Linux-Domäne oft zusammen mit einer anderen Domäne eingesetzt, die oft auf einem separaten Co-Prozessor oder einem Gastsystem einer Hypervisor-basierten Lösung eingesetzt wird. Diese Domäne integriert in der Regel ein kleines Echtzeitbetriebssystem (RTOS) mit schnellen Startzeiten, das auf dem Fahrzeugkonnektivitätsbus, wie CAN, Ethernet und anderen, sendet und empfängt. Aufgrund ihrer Einfachheit kann diese Domäne auch für sicherheitsrelevante Anwendungsfälle zertifiziert werden. Die erste Instanz ist beispielsweise der sicheren Domäne zuzuordnen. Es ist daher vorgesehen, dass wenigstens die erste Instanz einem Automotive Safety Integrity Level, ASIL-Level, gemäß ISO-Standard 26262 genügt.
  • Die erste und zweite Instanz 410, 420 können auf separaten Chips ausgebildet sein. Es kann aber auch vorgesehen sein, dass die erste und die zweite Instanz 410, 420 jeweils als eine Instanz eines gemeinsamen System-on-Chip, SoC ausgebildet sind, wobei ein Betriebssystem, das der ersten Instanz zugeordnet ist, auf einem separaten Rechenkern des System-on-Chip ausführbar ist, und so die Sicherheit gewährleitest wird.
  • Es kann auch vorgesehen sein, dass die erste und die zweite Instanz 410, 420 auf einem verteilten System realisiert sind. Es kann auch vorgesehen sein, dass die erste Instanz 410 durch einen ersten Prozessor und die zweite Instanz 420 durch einen zweiten separaten CO-Prozessor bereitgstellt wird. Die Kommunikation zwischen diesen Instanzen muss über eine entsprechende Absicherung verfügen, welche die Integrität der Nachrichten, sowie die Authentizität der Nachrichten, sowie die Vollständigkeit aller übertragenen Nachrichten sicherstellt
  • Es kann auch vorgesehen sein, dass das System 400 ein virtualisiertes System 500 ist, vgl. beispielsweise 5.
  • Gemäß der dargestellten Ausführungsform umfasst das System 500 zwei Hardware-Plattformen 502a, 502b, die eine Hardware-Ebene 502 bilden.
  • Die Hardwareplattformen 502a, 502b umfassen beispielsweise Hardware-Einheiten wie beispielsweise um Mikrocontroller, sichere Hardwareressourcen, Hardware-Routing-Chips.
  • Das System 500 umfasst einen Hypervisor 506. Der Hypervisor 506 virtualisiert die Hardware-Plattformen 502a, 502b. Die erste Instanz 410 ist beispielsweise eine erste, durch den Hypervisor bereitgestellte, Domäne 508a ist, und die zweite Instanz 420 ist beispielsweise eine weitere, durch den Hypervisor 506bereitgestellte, Domäne 508b.
  • Eine jeweilige Domäne bezeichnet einen bestimmten Bereich einer Gesamtfunktionalität, die durch das System 500 bereitgestellt wird.

Claims (12)

  1. Computerimplementiertes Verfahren zum Überwachen eines Funktions-Modells (100) zum Bereitstellen von Daten für wenigstens eine Funktion einer computergesteuerten Maschine (10), insbesondere eines Bilderkennungs-Algorithmus, wobei das Funktions-Modell (100) basierend auf Eingabedaten (E) in wenigstens einem ersten Bearbeitungsschritt (110, 120) wenigstens ein Zwischenergebnis (Z_E1, Z_E2) bestimmt, und wobei das Funktions-Modell basierend auf dem Zwischenergebnis (E_Z1, E_Z2) in wenigstens einem weiteren Bearbeitungsschritt (120) eine Ausgabe (A) des Funktions-Modells (100) bestimmt, und wobei das Zwischenergebnis (Z_E1, Z_E2) und die Ausgabe (A) des Funktions-Modells (100) einem Überwachungsmodell (1000) zur Anomalieerkennung bereitgestellt wird, und basierend auf dem Zwischenergebnis (Z_E1, Z_E2) und der Ausgabe (A) des Funktions-Modells (100) eine Anomalieerkennung durchgeführt wird, und wobei wenigstens ein Schritt zum Validieren einer Funktionalität des Funktions-Modells (100) und/oder einer Funktionalität des Überwachsungsmodells (1000) durchgeführt wird.
  2. Verfahren nach Anspruch 1, wobei das Verfahren umfasst: Bestimmen einer Referenzausgabe (R_A) basierend auf einer Referenzeingabe (R_E) mittels des Funktions-Modells (100), und Prüfen der Referenzausgabe (R_A), insbesondere Vergleichen der Referenzausgabe (R_A) mit Ground-Truth-Daten, mittels des Überwachungsmodells (1000).
  3. Verfahren nach Anspruch 2, wobei das Bestimmen einer Referenzausgabe (R_A) basierend auf einer Referenzeingabe (R_E) mittels des Funktions-Modells (100), und Vergleichen der Referenzausgabe (R_A) mit Ground-Truth-Daten mittels des Überwachungsmodells (1000) periodisch ausgeführt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren umfasst: Bereitstellen eines Hashwerts (h) mittels des Überwachungsmodells (1000), Signieren des Hashwerts mittels des Funktions-Modells (100), Bereitstellen des signierten Hashwerts (h'◦s) an das Überwachungsmodell (1000) und Prüfen des signierten Hashwerts (h'◦s), insbesondere Vergleichen des Hashwerts (h) mit dem aus dem signierten Hashwert (h'◦s) berechneten Hashwert (h`) mittels des Überwachungsmodells (1000).
  5. Verfahren nach Anspruch 4, wobei das Signieren des Hashwerts (h) umfasst: Hinzufügen einer Signatur (s) zu dem Hashwert in dem ersten Bearbeitungsschritt (110) des Funktions-Modells (100) und Hinzufügen einer weiteren Signatur (s) in dem wenigstens einen weiteren Bearbeitungsschritt (120, 130) des Funktions-Modells (100).
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren umfasst: Überwachen einer Kommunikation zwischen einer ersten Instanz auf der das Funktions-Modell (100) ausgeführt und einer weiteren Instanz auf der das Überwachungsmodell (1000) ausgeführt wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei in Abhängigkeit eines Ergebnisses der Anomalieerkennung und/oder in Abhängigkeit eines Ergebnisses des Überwachens der Kommunikation, wenigstens einer der folgenden Schritte ausgeführt wird: a) Prüfen des Ergebnisses des Vergleichs der Referenzausgabe (R_A) mit Ground-Truth-Daten mittels des Überwachungsmodells (1000), b) Prüfen des Ergebnisses des Vergleichs des Hashwerts (h) mit dem aus dem signierten Hashwert (h'◦s) berechneten Hashwert (h`) mittels des Überwachungsmodells (1000), c) Bereitstellen eines Steuersignals zum Ansteuern der computergesteuerten Maschine, insbesondere wenigstens eines Teils der computergesteuerten Maschine, und/oder einer Funktion der computergesteuerten Maschine, d) Überführen der computergesteuerten Maschine, insbesondere wenigstens eines Teils der computergesteuerten Maschine, und/oder einer Funktion der computergesteuerten Maschine in einen definierten Zustand, e) Überführen der computergesteuerten Maschine, insbesondere wenigstens des Teils der computergesteuerten Maschine, und/oder der Funktion der computergesteuerten Maschine in den definierten Zustand in Abhängigkeit eines Ergebnisses aus a) und/oder b).
  8. System (400) zum Überwachen eines Funktions-Modells (100) zum Bereitstellen von Daten für wenigstens eine Funktion (F) einer computergesteuerten Maschine (10), insbesondere ein Bilderkennungs-Algorithmus, wobei das System (400) dazu ausgebildet ist, mittels eines Überwachungsmodells (1000) Schritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wobei wenigstens Schritte des Verfahrens, die mittels des Überwachungsmodells (1000) ausgeführt werden, auf wenigstens einer ersten Instanz (410) des Systems ausgeführt werden, und das Funktions-Modell (100) zum Bereitstellen von Daten für wenigstens eine Funktion der computergesteuerten Maschine, insbesondere der Bilderkennungs-Algorithmus, auf wenigstens einer zweiten Instanz (420) des Systems ausgeführt wird.
  9. System (400) nach Anspruch 8, wobei wenigstens die erste Instanz (410) einem Sicherheits-Integritätslevel, beispielsweise Automotive Safety Integrity Level, ASIL-Level, gemäß ISO-Standard 26262, genügt.
  10. System (400) nach einem der Ansprüche 8 der 9, wobei die erste und die zweite Instanz (410, 420) jeweils als eine Instanz eines gemeinsamen System-on-Chip, SoC ausgebildet sind, wobei ein Betriebssystem, das der ersten Instanz (410) zugeordnet ist, auf einem separaten Rechenkern des System-on-Chip ausführbar ist.
  11. System (400, 500) nach einem der vorhergehenden Ansprüche 8 bis 10, wobei ein Hypervisor eine Hardware-Ebene virtualisiert, und die erste Instanz eine erste, durch den Hypervisor bereitgestellte, Domäne ist, und die zweite Instanz eine weitere, durch den Hypervisor bereitgestellte, Domäne ist.
  12. Verwendung des Verfahrens gemäß den Ausführungsformen und/oder des Systems gemäß den Ausführungsformen, in einer computergesteuerten Maschine, beispielsweise ein E/E-System eines Kraftfahrzeugs, insbesondere zum Bereitstellen von Funktionen des autonomen Fahrens, des teilautonomen Fahrens und/oder von Fahrassistenzfunktionen, ein Roboter, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, eine Vorrichtung zur automatischen optischen Inspektion oder ein Zutrittssystem, wobei ein Funktions-Modell in der computergesteuerten Maschine basierend auf Eingabedaten, insbesondere digitale Bilddaten eines Bildsensors, insbesondere eines Video-, Radar-, LiDAR-, Ultraschall-, Bewegungs- oder Wärmebildsensors, Daten für wenigstens eine Funktion der computergesteuerten Maschine bereitstellt, und wobei basierend auf den Daten wenigstens ein Steuersignal zum Ausführen der Funktion der computergesteuerten Maschine bereitgestellt wird, und wobei das Funktionsmodell gemäß dem Verfahren überwacht und/oder wobei die computergesteuerte Maschine, insbesondere wenigstens ein Teil der computergesteuerten Maschine, und/oder einer Funktion der computergesteuerten Maschine in einen definierten Zustand überführt wird.
DE102022207776.8A 2022-07-28 2022-07-28 Überwachen eines Modells und Anomalieerkennung Pending DE102022207776A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102022207776.8A DE102022207776A1 (de) 2022-07-28 2022-07-28 Überwachen eines Modells und Anomalieerkennung
FR2307844A FR3138535A1 (fr) 2022-07-28 2023-07-21 « Procédé et système de surveillance d’un modèle fonctionnel »
US18/360,090 US20240037933A1 (en) 2022-07-28 2023-07-27 Monitoring of a model and anomaly detection
CN202310943808.2A CN117475287A (zh) 2022-07-28 2023-07-28 模型监控和异常识别

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022207776.8A DE102022207776A1 (de) 2022-07-28 2022-07-28 Überwachen eines Modells und Anomalieerkennung

Publications (1)

Publication Number Publication Date
DE102022207776A1 true DE102022207776A1 (de) 2024-02-08

Family

ID=89575528

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022207776.8A Pending DE102022207776A1 (de) 2022-07-28 2022-07-28 Überwachen eines Modells und Anomalieerkennung

Country Status (4)

Country Link
US (1) US20240037933A1 (de)
CN (1) CN117475287A (de)
DE (1) DE102022207776A1 (de)
FR (1) FR3138535A1 (de)

Also Published As

Publication number Publication date
CN117475287A (zh) 2024-01-30
FR3138535A1 (fr) 2024-02-02
US20240037933A1 (en) 2024-02-01

Similar Documents

Publication Publication Date Title
EP3709166B1 (de) Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten
EP2693278B1 (de) Verfahren zur effizienten Absicherung sicherheitskritischer Funktionen eines Steuergeräts und Steuergerät
DE102020205539A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
DE112016004678T5 (de) Verfahren zum Ausführen von Programmen in einem elektronischen System für Anwendungen mit funktionaler Sicherheit umfassend mehrere Prozessoren, entsprechendes System und Computerprogrammprodukt
EP4187417A1 (de) Erkennen einer abweichung eines sicherheitszustandes einer recheneinrichtung von einem sollsicherheitszustand
DE102015220884A1 (de) Bildverarbeitungsvorrichtung
DE102012207215A1 (de) Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems, vorzugsweise eines Motorsteuersystems eines Kraftfahrzeuges
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
EP1860565A1 (de) Verfahren zur Funktionsprüfung eines Steuergeräts für ein Kraftfahrzeug
DE102008043374A1 (de) Vorrichtung und Verfahren zur Generierung redundanter, aber unterschiedlicher Maschinencodes aus einem Quellcode zur Verifizierung für ein sicherheitskritisches System
DE102022207776A1 (de) Überwachen eines Modells und Anomalieerkennung
EP3770766A1 (de) Verfahren zum testen eines systems
DE112013006981T5 (de) Steuersystem Prüfmittel
AT515341B1 (de) Verfahren zur Überprüfung der Abarbeitung von Software
DE102020206321A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
EP3173928B1 (de) Verfahren und vorrichtung zum überprüfen eines komponentenfehlerbaums
EP3933593A1 (de) Verfahren und computerprogramm zum testen eines technischen systems
DE102009028871A1 (de) Verfahren zum Überprüfen eines Speichers
DE102015211458A1 (de) Verfahren und Vorrichtung zum Absichern einer Programmzählerstruktur eines Prozessorsystems und zum Überwachen der Behandlung einer Unterbrechungsanfrage
DE102022208087A1 (de) Verfahren zum Überprüfen einer Verarbeitung von Nutzdaten
DE102008018680A1 (de) Verfahren zum Unterstützen eines sicherheitsgerichteten Systems
DE102021206133A1 (de) Steuerungssystem für mindestens ein empfangendes Gerät in sicherheitskritischen Anwendungen
DE102022205918A1 (de) Verfahren zum Durchführen einer Datenverarbeitung
DE102022207612A1 (de) Computer-implementiertes Verfahren zur Verifikation einer Softwarekomponente einer automatisierten Fahrfunktion