DE102022122657A1 - Validierungssystem für neuronale Netze - Google Patents

Validierungssystem für neuronale Netze Download PDF

Info

Publication number
DE102022122657A1
DE102022122657A1 DE102022122657.3A DE102022122657A DE102022122657A1 DE 102022122657 A1 DE102022122657 A1 DE 102022122657A1 DE 102022122657 A DE102022122657 A DE 102022122657A DE 102022122657 A1 DE102022122657 A1 DE 102022122657A1
Authority
DE
Germany
Prior art keywords
neural network
vehicle
output
computer
sensor data
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
DE102022122657.3A
Other languages
English (en)
Inventor
Wei Tong
Shige Wang
Ramesh S
Jeffrey D. Scheu
Prashanth Radhakrishnan
Upali P. Mudalige
Ryan Ahmed
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102022122657A1 publication Critical patent/DE102022122657A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Neurology (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein System umfasst einen Computer, der einen Prozessor und einen Speicher enthält. Der Speicher enthält Anweisungen, so dass der Prozessor programmiert ist, um: an einem ersten neuronalen Netz nicht etikettierte Sensordaten zu empfangen, wobei das erste neuronale Netz basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, an einem zweiten neuronalen Netz die nicht etikettierten Sensordaten zu empfangen, wobei das zweite neuronale Netz während einer Validierungsbetriebsart basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, wobei sich das zweite neuronale Netz von dem ersten neuronalen Netz unterscheidet, die durch das erste neuronale Netz erzeugte Ausgabe mit der durch das zweite neuronale Netz erzeugten Ausgabe zu vergleichen und einen Alarm zu erzeugen, wenn ein Unterschied zwischen der durch das erste neuronale Netz erzeugten Ausgabe und der durch das zweite neuronale Netz erzeugten Ausgabe größer als ein vorgegebener Vergleichsschwellenwert ist.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich auf das Validieren, z. B. die Gegenprüfung, der Ausgabe neuronaler Netze mit der Ausgabe aus mehreren anderen Modellen neuronaler Netze.
  • Tiefe neuronale Netze (DNNs) können verwendet werden, um viele Bildverständnisaufgaben, einschließlich Klassifikation, Segmentierung und Betiteln, auszuführen. Normalerweise benötigen DNNs große Mengen an Trainingsbildern (Zehntausende bis Millionen). Zusätzlich müssen diese Trainingsbilder für die Zwecke des Trainings und der Vorhersage typischerweise kommentiert, d. h., etikettiert werden.
  • ZUSAMMENFASSUNG
  • Ein System umfasst einen Computer, der einen Prozessor und einen Speicher enthält. Der Speicher enthält Anweisungen, so dass der Prozessor programmiert ist, um: an einem ersten neuronalen Netz nicht etikettierte Sensordaten zu empfangen, wobei das erste neuronale Netz basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, an einem zweiten neuronalen Netz die nicht etikettierten Sensordaten zu empfangen, wobei das zweite neuronale Netz während einer Validierungsbetriebsart basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, wobei sich das zweite neuronale Netz von dem ersten neuronalen Netz unterscheidet, die durch das erste neuronale Netz erzeugte Ausgabe mit der durch das zweite neuronale Netz erzeugten Ausgabe zu vergleichen und einen Alarm zu erzeugen, wenn ein Unterschied zwischen der durch das erste neuronale Netz erzeugten Ausgabe und der durch das zweite neuronale Netz erzeugten Ausgabe größer als ein vorgegebener Vergleichsschwellenwert ist.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, um eine Auswahl zu empfangen, um zwischen der Validierungsbetriebsart und einer Merkmalsbetriebsart überzugehen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, wenigstens einen Fahrzeugaktuator basierend auf der durch das erste neuronale Netz erzeugten Ausgabe während der Merkmalsbetriebsart zu betreiben.
  • Gemäß anderen Merkmalen wird die Auswahl von einem Server übertragen.
  • Gemäß anderen Merkmalen wird die Auswahl von einer elektronischen Controller-Einheit eines Fahrzeugs übertragen.
  • Gemäß anderen Merkmalen wird das erste neuronale Netz unter Verwendung eines ersten Datensatzes trainiert und wird das zweite neuronale Netz unter Verwendung eines zweiten Datensatzes trainiert, wobei sich der zweite Datensatz vom ersten Datensatz unterscheidet.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, zu verhindern, dass die durch das erste neuronale Netz erzeugte Ausgabe während der Validierungsbetriebsart verwendet wird, um ein Fahrzeug zu betreiben.
  • Gemäß anderen Merkmalen umfassen die nicht etikettierten Sensordaten durch eine Fahrzeugflotte gesammelte Sensordaten.
  • Ein Fahrzeug enthält ein System. Das System umfasst einen Computer, der einen Prozessor und einen Speicher enthält. Der Speicher enthält Anweisungen, so dass der Prozessor programmiert ist, um: an einem ersten neuronalen Netz nicht etikettierte Sensordaten zu empfangen, wobei das erste neuronale Netz basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, an einem zweiten neuronalen Netz die nicht etikettierten Sensordaten zu empfangen, wobei das zweite neuronale Netz während einer Validierungsbetriebsart basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, wobei sich das zweite neuronale Netz von dem ersten neuronalen Netz unterscheidet, die durch das erste neuronale Netz erzeugte Ausgabe mit der durch das zweite neuronale Netz erzeugten Ausgabe zu vergleichen und einen Alarm zu erzeugen, wenn ein Unterschied zwischen der durch das erste neuronale Netz erzeugten Ausgabe und der durch das zweite neuronale Netz erzeugten Ausgabe größer als ein vorgegebener Vergleichsschwellenwert ist.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, um eine Auswahl zu empfangen, um zwischen der Validierungsbetriebsart und einer Merkmalsbetriebsart überzugehen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, wenigstens einen Fahrzeugaktuator des Fahrzeugs basierend auf der durch das erste neuronale Netz erzeugten Ausgabe während der Merkmalsbetriebsart zu betreiben.
  • Gemäß anderen Merkmalen wird die Auswahl von einem Server übertragen.
  • Gemäß anderen Merkmalen wird die Auswahl von einer elektronischen Controller-Einheit eines Fahrzeugs übertragen.
  • Gemäß anderen Merkmalen wird das erste neuronale Netz unter Verwendung eines ersten Datensatzes trainiert und wird das zweite neuronale Netz unter
  • Verwendung eines zweiten Datensatzes trainiert, wobei sich der zweite Datensatz vom ersten Datensatz unterscheidet.
  • Gemäß anderen Merkmalen ist der Prozessor ferner programmiert, zu verhindern, dass die durch das erste neuronale Netz erzeugte Ausgabe während der Validierungsbetriebsart verwendet wird, um ein Fahrzeug zu betreiben.
  • Gemäß anderen Merkmalen umfassen die nicht etikettierten Sensordaten durch eine Fahrzeugflotte gesammelte Sensordaten.
  • Ein Verfahren enthält das Empfangen nicht etikettierter Sensordaten an einem ersten neuronalen Netz, wobei das erste neuronale Netz basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, das Empfangen der nicht etikettierten Sensordaten an einem zweiten neuronalen Netz, wobei das zweite neuronale Netz während einer Validierungsbetriebsart basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, wobei sich das zweite neuronale Netz von dem ersten neuronalen Netz unterscheidet, das Vergleichen der durch das erste neuronale Netz erzeugten Ausgabe mit der durch das zweite neuronale Netz erzeugten Ausgabe, und das Erzeugen eines Alarms, wenn ein Unterschied zwischen der durch das erste neuronale Netz erzeugten Ausgabe und der durch das zweite neuronale Netz erzeugten Ausgabe größer als ein vorgegebener Vergleichsschwellenwert ist.
  • Gemäß anderen Merkmalen enthält das Verfahren das Empfangen einer Auswahl, um zwischen der Validierungsbetriebsart und einer Merkmalsbetriebsart überzugehen.
  • Gemäß anderen Merkmalen enthält das Verfahren das Betreiben wenigstens eines Fahrzeugaktuators basierend auf der durch das erste neuronale Netz erzeugten Ausgabe während der Merkmalsbetriebsart.
  • Gemäß anderen Merkmalen wird die Auswahl von einem Server übertragen.
  • Weitere Anwendungsbereiche werden aus der hier bereitgestellten Beschreibung offensichtlich. Es soll erkannt werden, dass die Beschreibung und die spezifischen Beispiele nur der Veranschaulichung dienen und den Schutzumfang der vorliegenden Offenbarung nicht einschränken sollen.
  • Figurenliste
  • Die hier beschriebenen Zeichnungen dienen nur der Veranschaulichung und sollen den Schutzumfang der vorliegenden Offenbarung in keiner Weise einschränken; es zeigen:
    • 1 einen Blockschaltplan eines Fahrzeugsystems, das ein Validierungsnetz zum Vergleichen einer durch ein erstes neuronales Netz erzeugten Ausgabe mit durch mehrere neuronale Netze erzeugten Ausgaben enthält;
    • 2 einen Blockschaltplan eines beispielhaften Servers innerhalb des Systems;
    • 3 eine graphische Darstellung eines beispielhaften neuronalen Netzes;
    • 4 einen Blockschaltplan eines beispielhaften Validierungsnetzes; und
    • 5 einen Ablaufplan, der einen beispielhaften Prozess zum Validieren einer durch ein neuronales Netz erzeugten Ausgabe veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung ist lediglich beispielhaft und soll die vorliegende Offenbarung, Anwendung oder Verwendungen nicht einschränken.
  • Typischerweise werden standardmäßige tiefe neuronale Netze (DNNs) mit etikettierten Trainingsdatensätzen vortrainiert. Diese DNNs können während des Testens durch Vergleichen der Ausgabe des Modells mit einer Grundwahrheit validiert werden. In Testszenarien der echten Welt kann es jedoch schwierig sein, Grundwahrheitsdaten zu erhalten. Zusätzlich kann sich beim Testen der DNNs zeigen, dass eine weitere Analyse erforderlich ist, um eine Grundursache einer falschen DNN-Ausgabe zu identifizieren.
  • Die vorliegende Offenbarung offenbart ein Validierungssystem für neuronale Netze, bei dem die durch ein neuronales Netz erzeugte Ausgabe mit einer durch neuronale Validierungsnetze erzeugten Ausgabe verglichen wird. Die neuronalen Validierungsnetze können an verschiedenen Datensätzen trainiert werden, die Teilbeobachtungen mit unterschiedlichen Verzerrungen von der zugrundeliegenden Verteilung der echten Welt sein können. Die neuronalen Validierungsnetze können z. B. eine andere Architektur bezüglich der Architektur des interessierenden neuronalen Netzes umfassen.
  • 1 ist ein Blockschaltplan eines beispielhaften Fahrzeugsystems 100. Das System 100 enthält ein Fahrzeug 105, das ein Landfahrzeug, wie z. B. ein Personenkraftwagen, ein Lastkraftwagen usw., ist. Das Fahrzeug 105 enthält einen Computer 110, die Fahrzeugsensoren 115, die Aktuatoren 120, um verschiedene Fahrzeugkomponenten 125 zu betätigen, und ein Fahrzeugkommunikationsmodul 130. Über ein Netz 135 ermöglicht das Kommunikationsmodul 130 dem Computer 110, mit einem Server 145 zu kommunizieren.
  • Der Computer 110 enthält einen Prozessor und einen Speicher. Der Speicher enthält eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Computer 110 ausführbar sind, um verschiedene Operationen einschließlich der hier offenbarten auszuführen.
  • Der Computer 110 kann ein Fahrzeug 105 in einer autonomen, einer halbautonomen Betriebsart oder einer nichtautonomen (manuellen) Betriebsart betreiben. Für die Zwecke dieser Offenbarung ist eine autonome Betriebsart als eine Betriebsart definiert, in der jedes des Antriebs, des Bremsens und des Lenkens des Fahrzeugs 105 durch den Computer 110 gesteuert ist; wobei in einer halbautonomen Betriebsart der Computer 110 eines oder zwei des Antriebs, des Bremsens und des Lenkens der Fahrzeuge 105 steuert; während in einer nichtautonomen Betriebsart eine menschliche Bedienungsperson jedes des Antriebs, des Bremsens und des Lenkens des Fahrzeugs 105 steuert.
  • Der Computer 110 kann eine Programmierung enthalten, um sowohl eines oder mehreres der Bremsen, des Antriebs (z. B. die Steuerung der Beschleunigung des Fahrzeugs durch Steuern eines oder mehrerer einer Brennkraftmaschine, eines Elektromotors, einer Hybrid-Kraftmaschine usw.), der Lenkung, der Klimatisierung, der Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs 105 zu steuern als auch zu bestimmen, ob und wann der Computer 110 im Gegensatz zu einer menschlichen Bedienungsperson derartige Operationen steuern soll. Zusätzlich kann der Computer 110 programmiert sein, zu bestimmen, ob und wann eine menschliche Bedienungsperson derartige Operationen steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor enthalten oder mit diesen, z. B. über das Kommunikationsmodul 130 des Fahrzeugs 105, wie im Folgenden weiter beschrieben wird, kommunikationstechnisch gekoppelt sein, wobei sie z. B. in elektronischen Controller-Einheiten (ECUs) oder dergleichen enthalten sind, die in dem Fahrzeug 105 enthalten sind, um verschiedene Fahrzeugkomponenten 125, z. B. einen Antriebsstrang-Controller, einen Brems-Controller, einen Lenkungs-Controller usw., zu überwachen und/oder zu steuern. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, das das Globale Positionierungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 z. B. Ortsdaten des Fahrzeugs 105 anfordern und empfangen. Die Ortsdaten können sich in einer bekannten Form, z. B. Geokoordinaten (Breiten- und Längenkoordinaten), befinden.
  • Der Computer 110 ist im Allgemeinen für die Kommunikation mit dem Kommunikationsmodul 130 des Fahrzeugs 105 und außerdem mit einem internen drahtgebundenen und/oder drahtlosen Netz des Fahrzeugs 105, z. B. einem Bus oder dergleichen im Fahrzeug 105, wie z. B. einem Controller-Bereichsnetz (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen ausgelegt.
  • Der Computer 110 kann über das Kommunikationsnetz des Fahrzeugs 105 Nachrichten an verschiedene Vorrichtungen im Fahrzeug 105 senden und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. den Fahrzeugsensoren 115, den Aktuatoren 120, den Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (HMI) usw., empfangen. Alternativ oder zusätzlich kann in den Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Kommunikationsnetz des Fahrzeugs 105 für die Kommunikation zwischen den in dieser Offenbarung als der Computer 110 dargestellten Vorrichtungen verwendet werden. Ferner können, wie im Folgenden erwähnt wird, verschiedene Controller und/oder Fahrzeugsensoren 115 Daten dem Computer 110 bereitstellen. Das Kommunikationsnetz des Fahrzeugs 105 kann ein oder mehrere Gateway-Module enthalten, die die Zusammenarbeitsfähigkeit zwischen verschiedenen Netzen und Vorrichtungen innerhalb des Fahrzeugs 105, wie z. B. Protokollübersetzer, Impedanzanpasser, Ratenumsetzer und dergleichen, bereitstellen.
  • Die Fahrzeugsensoren 115 können verschiedene Vorrichtungen enthalten, wie sie z. B. bekannt sind, um dem Computer 110 Daten bereitzustellen. Die Fahrzeugsensoren 115 können z. B. einen Lichtdetektions- und -ortungssensor(en) (Lidar-Sensor(en)) 115 usw. enthalten, der (die) auf der Oberseite des Fahrzeugs 105, hinter einer Front-Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind, die relative Positionen, Größen und Formen von Objekten und/oder Bedingungen, die das Fahrzeug 105 umgeben, bereitstellen. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an den Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. bezüglich des Orts des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner Kamerasensor(en) 115 enthalten, z. B. Frontansicht, Seitenansicht, Rückansicht usw., die Bilder aus einem Sehfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellen.
  • Die Aktuatoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Motoren oder andere elektronische und/oder mechanische Komponenten implementiert, die verschiedene Fahrzeug-Teilsysteme gemäß geeigneten Steuersignalen betätigen können, wie bekannt ist. Die Aktuatoren 120 können verwendet werden, um die Komponenten 125, einschließlich des Bremsens, des Beschleunigens und des Lenkens eines Fahrzeugs 105, zu steuern.
  • Im Kontext der vorliegenden Offenbarung ist eine Fahrzeugkomponente 125 eine oder mehrere Hardware-Komponenten, die dafür ausgelegt sind, eine mechanische oder elektromechanische Funktion oder Operation auszuführen, - wie z. B. das Bewegen des Fahrzeugs 105, das Abbremsen oder Stoppen des Fahrzeugs 105, das Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele der Komponenten 125 enthalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. enthält), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehreres eines Lenkrads, einer Lenkzahnstange usw. enthalten kann), eine Bremskomponente (wie im Folgenden beschrieben wird), eine Einparkhilfekomponente, eine Komponente einer adaptiven Geschwindigkeitsregelung, eine Komponente einer adaptiven Lenkung, einen beweglichen Sitz usw.
  • Zusätzlich kann der Computer 110 konfiguriert sein, über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder eine Fahrzeug-zu-Fahrzeug-Kommunikationsschnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. über eine drahtlose Fahrzeug-zu-Fahrzeug- (V2V-) oder Fahrzeug-zu-Infrastruktur- (V2X-) Kommunikation mit einem weiteren Fahrzeug, (typischerweise über das Netz 135) mit einem entfernten Server 145 zu kommunizieren. Das Modul 130 könnte einen oder mehrere Mechanismen, durch die der Computer 110 kommunizieren kann, einschließlich irgendeiner gewünschten Kombination von drahtlosen (z. B. Zellen-, drahtlosen, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen verwendet werden) enthalten. Beispielhafte Kommunikationen, die über das Modul 130 bereitgestellt werden, enthalten Zellen-, Bluetooth®-, IEEE 802.11-, dedizierte Kurzstreckenkommunikation (DSRC) und/oder Weitbereichsnetze (WAN) einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Das Netz 135 kann einer oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, einschließlich irgendeiner gewünschten Kombination von drahtgebundenen (z. B. Kabel und Glasfaser) und/oder drahtlosen (z. B. Zellen-, drahtlosen, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationsnetze enthalten drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie z. B. dedizierte Nahbereichskommunikation (DSRC) usw.), lokale Netze (LAN) und/oder Weitbereichsnetze (WAN) einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Ein Computer 110 kann Daten von Sensoren 115 im Wesentlichen kontinuierlich, periodisch und/oder nach Anweisung durch einen Server 145 usw. empfangen und analysieren. Ferner können in einem Computer 110 z. B. basierend auf Daten des Lidar-Sensors 115, des Kamera-Sensors 115 usw. Objektklassifikations- oder -identifikationstechniken verwendet werden, um sowohl einen Typ des Objekts, z. B. Fahrzeug, Person, Stein, Schlagloch, Fahrrad, Motorrad usw., als auch physikalische Merkmale von Objekten zu identifizieren.
  • 2 ist ein Blockschaltplan eines beispielhaften Servers 145. Der Server 145 enthält einen Computer 235 und ein Kommunikationsmodul 240. Der Computer 235 enthält einen Prozessor und einen Speicher. Der Speicher enthält eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Computer 235 ausführbar sind, um verschiedene Operationen einschließlich der hier offenbarten auszuführen. Das Kommunikationsmodul 240 ermöglicht es dem Computer 235, mit anderen Vorrichtungen, wie z. B. dem Fahrzeug 105, zu kommunizieren.
  • 3 ist eine graphische Darstellung eines beispielhaften tiefen neuronalen Netzes (DNN) 300, das hier verwendet werden kann. Das DNN 300 enthält mehrere Knoten 305, wobei die Knoten 305 so angeordnet sind, dass das DNN 300 eine Eingangsschicht, eine oder mehrere verborgene Schichten und eine Ausgangsschicht enthält. Jede Schicht des DNN 300 kann mehrere Knoten 305 enthalten. Während 3 drei (3) verborgene Schichten veranschaulicht, wird erkannt, dass das DNN 300 zusätzliche oder weniger verborgene Schichten enthalten kann. Die Eingangs- und die Ausgangsschicht können außerdem mehr als einen (1) Knoten 305 enthalten.
  • Die Knoten 305 werden manchmal als künstliche Neuronen 305 bezeichnet, weil sie so entworfen sind, dass sie biologische, z. B. menschliche, Neuronen emulieren. Ein Satz von Eingaben (dargestellt durch die Pfeile) in jedes Neuron 305 wird jeweils mit entsprechenden Gewichten multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um, möglicherweise durch eine Verzerrung eingestellt, eine Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann einer Aktivierungsfunktion bereitgestellt werden, die wiederum ein verbundenes Neuron 305 an einem Ausgang bereitstellt. Die Aktivierungsfunktion kann verschiedene geeignete Funktionen sein, die typischerweise basierend auf einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 3 veranschaulicht ist, können die Ausgaben des Neurons 305 dann zur Aufnahme in einen Satz von Eingaben in ein oder mehrere Neuronen 305 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 300 kann trainiert werden, um Daten als Eingabe zu akzeptieren und basierend auf der Eingabe eine Ausgabe zu erzeugen. In einem Beispiel kann das DNN 300 mit Grundwahrheitsdaten, d. h., mit Daten über eine Bedingung oder einen Zustand in der echten Welt trainiert werden. Das DNN 300 kann durch einen Prozessor z. B. mit Grundwahrheitsdaten trainiert oder mit zusätzlichen Daten aktualisiert werden. Die Gewichte können z. B. unter Verwendung einer Gaußschen Verteilung initialisiert werden, wobei eine Verzerrung für jeden Knoten 305 auf null gesetzt werden kann. Das Training des DNN 300 kann das Aktualisieren der Gewichte und der Verzerrungen über geeignete Techniken, wie z. B. Rückausbreitung mit Optimierungen, enthalten. Die Grundwahrheitsdaten können Daten, die Objekte innerhalb eines Bildes spezifizieren, oder Daten, die einen physikalischen Parameter, z. B. einen Winkel, eine Geschwindigkeit, eine Entfernung, eine Farbe, einen Farbton oder einen Winkel eines Objekts bezüglich eines weiteren Objekts, spezifizieren, enthalten, sind aber nicht darauf eingeschränkt. Die Grundwahrheitsdaten können z. B. Daten sein, die Objekte und Objektetiketten darstellen.
  • Dienste des maschinellen Lernens, wie z. B. jene, die auf rekurrenten neuronalen Netzen (RNNs), neuronalen Faltungsnetzen (CNNs), neuronalen Netzen mit langem Kurzzeitgedächtnis (LSTM) oder torgesteuerten rekurrenten Einheiten (GRUs) basieren, können unter Verwendung der in dieser Offenbarung beschriebenen DNNs 300 implementiert werden. In einem Beispiel kann der dienstbezogene Inhalt oder andere Informationen, wie z. B. Wörter, Sätze, Bilder, Videos oder andere derartige Inhalte/Informationen, in eine Vektordarstellung übersetzt werden.
  • 4 ist eine graphische Darstellung eines beispielhaften Validierungsnetzes 400 zum Vergleichen einer durch ein neuronales Netz 405, z. B. ein erstes neuronales Netz, erzeugten Ausgabe mit Ausgaben, die durch ein oder mehrere neuronale Validierungsnetze 410, z. B. mehrere zweite neuronale Netze, erzeugt werden. Das Validierungsnetz 400 vergleicht z. B. während einer Validierungsbetriebsart die durch das neuronale Netz 405 erzeugte Ausgabe mit der Ausgabe durch die neuronalen Validierungsnetze 410 unter Verwendung derselben Eingabedaten. Die Eingabedaten können nicht etikettierte Trainingsdaten umfassen. In diesem Beispiel können die neuronalen Validierungsnetze 410 unter Verwendung von Trainingsdaten trainiert werden, die nicht verwendet worden sind, um das neuronale Netz 405 zu trainieren.
  • Es wird erkannt, dass das neuronale Netz 405 und die neuronalen Validierungsnetze 410 irgendein geeignetes tiefes neuronales Netz 300 umfassen können. Wie gezeigt ist, enthält das Validierungsnetz 400 das neuronale Netz 405, die neuronalen Validierungsnetze 410, ein Vergleichsmodul 413 und ein Selektormodul 415. Das Validierungsnetz 400 kann ein Software-Programm sein, das z. B. in den Speicher geladen und durch einen Prozessor im Computer 110 und/oder im Server 145 ausgeführt werden kann.
  • Das Selektormodul 415 kann das Validierungsnetz 400 veranlassen, in der Merkmalsbetriebsart oder in der Validierungsbetriebsart zu arbeiten. In der Merkmalsbetriebsart empfängt das neuronale Netz 405 Sensordaten von einem oder mehreren Sensoren 115 über den Datenweg 420, wobei es eine Ausgabe basierend auf den empfangenen Sensordaten über den Datenweg 425 erzeugt. Das neuronale Netz 405 kann z. B. ein CNN umfassen, das durch einen oder mehrere Bildsensoren 115 aufgenommene Bilder über den Datenweg 420 empfängt und basierend auf den Bildern eine Objektklassifikation ausführt. Die Ausgabe, die die Objektklassifikation angibt, kann über den Datenweg 425 einem oder mehreren anderen Software-Modulen bereitgestellt werden, wobei die Software-Module Steueranweisungen für den Betrieb des Fahrzeugs 105 erzeugen können. Die Software-module können z. B. basierend auf der Objektklassifikation Steueranweisungen erzeugen, die einem oder mehreren Aktuatoren 120 bereitgestellt werden, um den Betrieb des Fahrzeugs 105 zu steuern.
  • In der Validierungsbetriebsart sendet das Selektormodul 415 Steueranweisungen über den Steuerweg 430, so dass die neuronalen Validierungsnetze 410 die Sensordaten über den Datenweg 435 empfangen. Das Selektormodul 415 sendet außerdem Steueranweisungen über den Datenweg 430, so dass die durch das neuronale Netz 405 erzeugte Ausgabe über den Datenweg 440 durch das Vergleichsmodul 413 empfangen wird. Folglich können die neuronalen Validierungsnetze 410 basierend auf denselben Sensordaten, die durch das neuronale Netz 405 empfangen werden, d. h., auf derselben Eingabe eine Ausgabe erzeugen.
  • Das Vergleichsmodul 413 vergleicht die durch die neuronalen Validierungsnetze 410 erzeugte Ausgabe mit der durch das neuronale Netz 405 erzeugten Ausgabe. Basierend auf dem Vergleich erzeugt das Vergleichsmodul 413 eine Vergleichsausgabe, die den Unterschied zwischen der Ausgabe des neuronalen Netzes 405 und der (den) Ausgabe(n) der neuronalen Validierungsnetze 410 über den Datenweg 445 angibt. Das Vergleichsmodul 413 vergleicht die Vergleichsausgabe mit einem vorgegebenen Vergleichsschwellenwert, um zu bestimmen, ob die Vergleichsausgabe größer als der vorgegebene Vergleichsschwellenwert ist. Der vorgegebene Vergleichsschwellenwert kann basierend auf einer empirischen Analyse ausgewählt werden.
  • Falls die Vergleichsausgabe größer als der vorgegebene Vergleichsschwellenwert ist, erzeugt das Vergleichsmodul 413 einen Alarm, wobei es den Alarm und die Ausgabe des neuronalen Netzes 405 zu dem Server 145 überträgt. Das Vergleichsmodul 413 kann z. B. den Alarm erzeugen, um für weitere Überprüfungszwecke anzugeben, dass die Vergleichsausgabe größer als der vorgegebene Vergleichsschwellenwert ist. In verschiedenen Implementierungen kann das neuronale Netz 405 parallel zu den neuronalen Validierungsnetzen 410 arbeiten.
  • Falls die Vergleichsausgabe kleiner als der oder gleich dem vorgegebenen Vergleichsschwellenwert ist, überträgt das Vergleichsmodul 413 die Vergleichsausgabe zu dem Server 145. Der Server 145 kann eine Aktualisierung für ein oder mehrere neuronale Netze 405 basierend auf der Vergleichsausgabe einleiten, wie z. B. das neuronale Netz 405 veranlassen, entsprechende Gewichte und Verzerrungen unter Verwendung einer Verlustfunktion zu aktualisieren, die die Vergleichsausgabe einbezieht.
  • In der Validierungsbetriebsart empfängt das neuronale Netz 405 nicht etikettierte Trainingsdaten. Die nicht etikettierten Trainingsdaten können z. B. durch eine Fahrzeugflotte gesammelte Sensordaten umfassen, die zu dem Server 145 hochgeladen worden sind. In diesen Implementierungen sind die Grundwahrheitsdaten für die durch das neuronale Netz 405 erzeugte Ausgabe die durch die neuronalen Validierungsnetze 410 basierend auf denselben empfangenen Sensordaten erzeugte Ausgabe. Als solche darf die Ausgabe des neuronalen Netzes 405 den Software-Modulen für das Treffen von Fahrzeugentscheidungen während der Validierungsbetriebsart nicht bereitgestellt werden.
  • Wie oben erörtert worden ist, können die neuronalen Validierungsnetze 410 neuronale Netze umfassen, die bezüglich des neuronalen Netzes 405 eine andere Architektur aufweisen. Die neuronalen Validierungsnetze 410 können z. B. mit Datensätzen trainiert werden, die sich bezüglich der Datensätze unterscheiden, die verwendet worden sind, um das neuronale Netz 405 zu trainieren.
  • In einigen Implementierungen kann das Selektormodul 415 basierend auf der über den Datenweg 450 empfangenen Eingabe bestimmen, ob das Fahrzeug in der Merkmalsbetriebsart oder in der Validierungsbetriebsart zu betreiben ist. Der Server 145 kann z. B. Steueranweisungen zu dem Selektormodul 415 übertragen, um das Selektormodul 415 zu veranlassen, zwischen der Merkmalsbetriebsart und der Validierungsbetriebsart überzugehen. In anderen Beispielen kann der Prozessor des Computers 110 Steueranweisungen an das Selektormodul 415 senden, um das Selektormodul 415 zu veranlassen, zwischen der Merkmalsbetriebsart und der Validierungsbetriebsart überzugehen.
  • In verschiedenen Implementierungen kann das Validierungsnetz 400 als ein Mikrodienst eingesetzt werden. Der Computer 110 kann die neuronalen Validierungsnetze 410 im Speicher speichern und die neuronalen Validierungsnetze 410 laden, wenn sie durch das Selektormodul 415 aufgerufen werden.
  • 5 ist ein Ablaufplan eines beispielhaften Prozesses 500 zum Validieren der Ausgabe des neuronalen Netzes 405 während der Validierungsbetriebsart. Die Blöcke des Prozesses 500 können durch den Computer 110 ausgeführt werden. Der Prozess 500 beginnt im Block 505, in dem eine Bestimmung ausgeführt wird, ob die Validierungsbetriebsart freigegeben worden ist. Die Validierungsbetriebsart wird z. B. basierend auf einer Eingabe, die durch das Selektormodul 415 empfangen wird, freigegeben. Die Eingabe kann durch den Server 145 oder eine weitere ECU bereitgestellt werden.
  • Falls die Validierungsbetriebsart nicht freigegeben ist, wird das neuronale Netz 405 im Block 510 geladen, um in der Merkmalsbetriebsart zu arbeiten. In der Merkmalsbetriebsart kann das neuronale Netz 405 basierend auf Sensordaten eine Ausgabe erzeugen. Diese Ausgabe kann durch ein oder mehrere Software-Module verwendet werden, um das Fahrzeug 105 wenigstens teilweise zu betreiben, d. h., um die Lenkung, die Beschleunigung, das Bremsen usw. zu steuern.
  • Im Block 515 leitet der Computer 110 ein oder mehrere Kommunikationsprotokolle für den Betrieb in der Merkmalsbetriebsart ein. Der Computer 110 kann z. B. ein oder mehrere Gateway-Module für Zusammenarbeitsfähigkeitszwecke einleiten. Die Gateway-Module können ermöglichen, dass die Daten zwischen den verschiedenen Kommunikationsnetzen innerhalb des Fahrzeugs 105 fließen, wie z. B. ein Sensor-Gateway und/oder ein Aktuator-Gateway.
  • Im Block 520 betreibt der Computer 110 das neuronale Netz 405 in der Merkmalsbetriebsart. Das neuronale Netz 405 empfängt z. B. Sensordaten von den Sensoren 115 und erzeugt eine Ausgabe basierend auf den Sensordaten. Wie oben erörtert worden ist, kann das neuronale Netz 405 in einer Implementierung für die Objektklassifikation trainiert werden, wobei das neuronale Netz 405 Objektklassifikationsdaten basierend auf der Sensoreingabe ausgibt. Unter Verwendung der Objektklassifikationsdaten können ein oder mehrere Software-Module, die durch den Computer 110 eingesetzt werden, den Fahrzeugbetrieb unterstützen. Im Block 525 wird das Fahrzeug 105 basierend auf der Ausgabe des neuronalen Netzes 405 betrieben. Es können z. B. ein oder mehrere Software-Module Steueranweisungen erzeugen, die an die Aktuatoren 120 gesendet werden, um eine oder mehrere Komponenten 125 des Fahrzeugs 105 basierend auf der Ausgabe des neuronalen Netzes 405 zu betreiben. Der Prozess 500 geht dann zurück zum Block 505 über.
  • Falls die Validierungsbetriebsart aktiviert ist, werden ein oder mehrere Aktuatoren 120 des Fahrzeugs 105 im Block 530 vom neuronalen Netz 405 getrennt. Falls z. B. das Selektormodul 415 eine Eingabe empfängt, um die Validierungsbetriebsart auszuwählen, können die Software-Module und/oder entsprechende Gateway-Module deaktiviert werden, um zu verhindern, dass die Ausgabe aus dem neuronalen Netz 405 das Fahrzeug 105 betreibt.
  • Im Block 535 lädt der Computer 110 die neuronalen Validierungsnetze 410. Der Computer 110 kann z. B. zu Validierungszwecken auf die neuronalen Netze 410 zugreifen und sie in den Speicher laden. Im Block 540 rekonfiguriert der Computer 110 die Sensordaten, die einem oder mehreren neuronalen Netzen 405, 410 bereitgestellt werden. Abhängig vom Typ der für Validierungszwecke empfangenen nicht etikettierten Sensordaten kann es sein, dass eine oder mehrere Konfigurationen des neuronalen Netzes modifiziert werden müssen. Der Computer 110 kann die Konfiguration des neuronalen Netzes basierend auf einer durch den Server 145 bereitgestellten Konfigurationsdatei und/oder einer im Speicher gespeicherten Konfigurationsdatei modifizieren.
  • Im Block 545 veranlasst der Computer 110 das Validierungsnetz 400, die durch das neuronale Netz 405 erzeugte Ausgabe mit der durch ein oder mehrere neuronale Validierungsnetze 410 erzeugten Ausgabe zu vergleichen. Es wird erkannt, dass mehrere neuronale Validierungsnetze 410 verwendet werden können, in denen die Ausgabe des neuronalen Netzes 405 mit den entsprechenden Ausgaben von jedem neuronalen Validierungsnetz 410 verglichen wird. Im Block 550 vergleicht das Vergleichsmodul 413 die Ausgabe von dem neuronalen Netz 405 mit der Ausgabe von den neuronalen Validierungsnetzen 410. Im Block 555 bestimmt das Vergleichsmodul, ob die Vergleichsausgabe größer als der vorgegebene Vergleichsschwellenwert ist. Wenn die Vergleichsausgabe größer als der vorgegebene Vergleichsschwellenwert ist, erzeugt das Vergleichsmodul 413 im Block 560 den Alarm, wobei es den Alarm und die Vergleichsdaten erzeugt und zu dem Server 145 überträgt. Der Prozess 500 geht dann zurück zum Block 505 über. Falls die Vergleichsausgabe nicht größer als der vorgegebene Vergleichsschwellenwert ist, überträgt das Vergleichsmodul 413 im Block 565 die Vergleichsausgabe zu dem Server 145. Der Prozess 500 geht dann zurück zum Block 505 über.
  • Die Beschreibung der vorliegenden Offenbarung ist lediglich beispielhafter Art, wobei vorgesehen ist, dass sich Variationen, die nicht vom Hauptpunkt der vorliegenden Offenbarung abweichen, innerhalb des Schutzumfangs der vorliegenden Offenbarung befinden. Derartige Variationen sind nicht als Abweichung vom Erfindungsgedanken und Schutzumfang der vorliegenden Offenbarung zu betrachten.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen irgendeine Anzahl von Computerbetriebssystemen, einschließlich, aber keineswegs eingeschränkt auf, Versionen und/oder Varianten des Microsoft Automotive®-Betriebssystems, des Microsoft Windows®-Betriebssystems, des Unix-Betriebssystems (z. B. des Betriebssystems Solaris®, das von der Oracle Corporation in Redwood Shores, Kalifornien, vertrieben wird), des UNIX-Betriebssystems AIX, das von International Business Machines in Armonk, New York, vertrieben wird, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, die von Apple Inc. in Cupertino, Kalifornien, vertrieben werden, des Betriebssystems BlackBerry OS, das von Blackberry, Ltd., in Waterloo, Kanada, vertrieben wird, des Betriebssystems Android, das von Google, Inc. und der Open Handset Alliance entwickelt wurde, oder der QNX® CAR Platform für Infotainment, die von QNX Software Systems angeboten wird, verwenden. Beispiele der Rechenvorrichtungen enthalten ohne Einschränkung einen Bordcomputer des Fahrzeugs, einen Computer-Arbeitsplatzrechner, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder irgendein anderes Rechensystem und/oder irgendeine andere Vorrichtung.
  • Die Computer und Rechenvorrichtungen enthalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen, wie z. B. jene, die oben aufgeführt sind, ausgeführt werden können. Die computerausführbaren Anweisungen können aus Computerprogrammen, die unter Verwendung verschiedener Programmiersprachen und/oder -techniken erzeugt worden sind, einschließlich, ohne Einschränkung und entweder allein oder in Kombination, Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML, usw., kompiliert oder interpretiert werden. Einige dieser Anwendungen können auf einer virtuellen Maschine, wie z. B. der Java Virtual Machine, der virtuellen Dalvik-Maschine oder dergleichen, kompiliert und ausgeführt werden. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse einschließlich eines oder mehrerer der hier beschriebenen Prozesse ausgeführt werden. Derartige Anweisungen und andere Daten können unter Verwendung verschiedener computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die in einem computerlesbaren Medium, wie z. B. einem Speichermedium, einem Schreib-Lese-Speicher usw., gespeichert sind.
  • Der Speicher kann ein computerlesbares Medium (das außerdem als ein prozessorlesbares Medium bezeichnet wird) enthalten, das irgendein nicht transitorisches (z. B. greifbares) Medium umfasst, das am Bereitstellen von Daten (z. B. Anweisungen) teilnimmt, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein derartiges Medium kann viele Formen annehmen, wie z. B., aber nicht eingeschränkt auf, nichtflüchtige Medien und flüchtige Medien. Nichtflüchtige Medien können z. B. optische oder magnetische Festplatten und anderen permanenten Speicher enthalten. Flüchtige Medien können z. B. einen dynamischen Schreib-Lese-Speicher (DRAM) enthalten, der typischerweise einen Hauptspeicher bildet. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien, einschließlich Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die einen an einen Prozessor einer ECU gekoppelten Systembus umfassen, übertragen werden. Übliche Formen der computerlesbaren Medien enthalten z. B. eine Diskette, eine flexible Platte, eine Festplatte, ein Magnetband, irgendein anderes magnetisches Medium, einen CD-ROM, eine DVD, irgendein anderes optisches Medium, Lochkarten, ein Papierband, irgendein anderes physikalisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, irgendeinen anderen Speicherchip oder irgendeine andere Speicherkassette oder irgendein anderes Medium, von dem ein Computer lesen kann.
  • Die Datenbanken, Datendepots oder andere hier beschriebene Datenspeicher können verschiedene Arten von Mechanismen zum Speichern, Zugreifen und Wiedergewinnen verschiedener Arten von Daten einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem proprietären Format, eines relationalen Datenbankmanagementsystems (RDBMS) usw. enthalten. Jeder derartige Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem, wie z. B. eines von jenen, die oben erwähnt worden sind, verwendet, wobei auf sie über ein Netz in irgendeiner oder mehreren verschiedenen Arten zugegriffen wird. Ein Dateisystem kann von einem Computerbetriebssystem zugänglich sein und kann Dateien enthalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS verwendet zusätzlich zu einer Sprache zum Erzeugen, Speichern, Bearbeiten und Ausführen gespeicherter Prozeduren, wie z. B. der obenerwähnten PL/SQL-Sprache, im Allgemeinen die strukturierte Abfragesprache (SQL).
  • In einigen Beispielen können die Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personalcomputern usw.) implementiert sein, die in den ihnen zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige Anweisungen umfassen, die in computerlesbaren Medien gespeichert sind, um die hier beschriebenen Funktionen auszuführen.
  • In dieser Anmeldung einschließlich der folgenden Definitionen kann der Begriff „Modul“ oder der Begriff „Controller“ durch den Begriff „Schaltung“ ersetzt werden. Der Begriff „Modul“ kann sich beziehen auf, Teil sein von oder enthalten: eine anwendungsspezifische integrierte Schaltung (ASIC); eine digitale, analoge oder gemischt analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; eine feldprogrammierbare Gatteranordnung (FPGA); eine Prozessorschaltung (gemeinsam benutzt, dediziert oder Gruppe), die Code ausführt; eine Speicherschaltung (gemeinsam benutzt, dediziert oder Gruppe), die den durch die Prozessorschaltung ausgeführten Code speichert; andere geeignete Hardware-Komponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination aus einigen oder allen der Obigen, wie z. B. in einem System-auf-einem-Chip.
  • Das Modul kann eine oder mehrere Schnittstellenschaltungen enthalten. In einigen Beispielen können die Schnittstellenschaltungen drahtgebundene oder drahtlose Schnittstellen enthalten, die mit einem lokalen Netz (LAN), dem Internet, einem Weitverkehrsnetz (WAN) oder Kombinationen davon verbunden sind. Die Funktionalität irgendeines gegebenen Moduls der vorliegenden Offenbarung kann zwischen mehreren Modulen verteilt sein, die über Schnittstellenschaltungen verbunden sind. Mehrere Module können z. B. einen Lastausgleich ermöglichen. In einem weiteren Beispiel kann ein Server-Modul (das außerdem als Fern- oder Cloud-Modul bekannt ist) etwas der Funktionalität im Auftrag eines Client-Moduls ausführen.
  • Hinsichtlich der hier beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. sollte erkannt werden, dass, obwohl die Schritte derartiger Prozesse usw. als gemäß einer bestimmten geordneten Reihenfolge stattfindend beschrieben worden sind, derartige Prozesse mit den beschriebenen Schritten praktiziert werden können, die in einer anderen als der hier beschriebenen Reihenfolge ausgeführt werden. Es sollte ferner erkannt werden, dass bestimmte Schritte gleichzeitig ausgeführt werden können, dass andere Schritte hinzugefügt werden können oder dass bestimmte hier beschriebene Schritte weggelassen werden können. Mit anderen Worten, die Beschreibungen der Prozesse hier sind zum Veranschaulichen bestimmter Ausführungsformen vorgesehen und sollten keineswegs ausgelegt werden, um die Ansprüche einzuschränken.
  • Dementsprechend soll erkannt werden, dass die obige Beschreibung veranschaulichend und nicht einschränkend vorgesehen ist. Viele Ausführungsformen und Anwendungen mit Ausnahme der bereitgestellten Beispiele würden für die Fachleute auf dem Gebiet beim Lesen der obigen Beschreibung offensichtlich sein. Der Schutzumfang der Erfindung sollte nicht in Bezug auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen in Bezug auf die beigefügten Ansprüche, zusammen mit dem vollen Schutzumfang der Äquivalente, zu denen derartige Ansprüche berechtigt sind, bestimmt werden. Es wird erwartet und ist beabsichtigt, dass zukünftige Entwicklungen in den hier erörterten Techniken stattfinden werden und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Zusammenfassend sollte erkannt werden, dass die Erfindung modifizierbar und variierbar ist und nur durch die folgenden Ansprüche eingeschränkt ist.
  • Es ist vorgesehen, dass allen in den Ansprüchen verwendeten Begriffe ihre einfachen und gewöhnlichen Bedeutungen gegeben werden, wie sie durch die Fachleute auf dem Gebiet verstanden werden, wenn nicht hier explizit das Gegenteil angegeben ist. Insbesondere sollte die Verwendung der Artikel in der Einzahl, wie z. B. „ein/eine“, „der/die/das“, „besagter“ usw., so gelesen werden, dass sie eines oder mehrere der angegebenen Elemente darstellen, es sei denn, ein Anspruch stellt eine explizite Einschränkung auf das Gegenteil dar.

Claims (8)

  1. System, das einen Computer umfasst, der einen Prozessor und einen Speicher enthält, wobei der Speicher Anweisungen enthält, so dass der Prozessor programmiert ist, um: an einem ersten neuronalen Netz nicht etikettierte Sensordaten zu empfangen, wobei das erste neuronale Netz basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt; an einem zweiten neuronalen Netz die nicht etikettierten Sensordaten zu empfangen, wobei das zweite neuronale Netz während einer Validierungsbetriebsart basierend auf den nicht etikettierten Sensordaten eine Ausgabe erzeugt, wobei sich das zweite neuronale Netz von dem ersten neuronalen Netz unterscheidet; die durch das erste neuronale Netz erzeugte Ausgabe mit der durch das zweite neuronale Netz erzeugten Ausgabe zu vergleichen; und einen Alarm zu erzeugen, wenn ein Unterschied zwischen der durch das erste neuronale Netz erzeugten Ausgabe und der durch das zweite neuronale Netz erzeugten Ausgabe größer als ein vorgegebener Vergleichsschwellenwert ist.
  2. System nach Anspruch 1, wobei der Prozessor ferner programmiert ist, um eine Auswahl zu empfangen, um zwischen der Validierungsbetriebsart und einer Merkmalsbetriebsart überzugehen.
  3. System nach Anspruch 2, wobei der Prozessor ferner programmiert ist, um während der Merkmalsbetriebsart wenigstens einen Fahrzeugaktuator basierend auf der durch das erste neuronale Netz erzeugten Ausgabe zu betreiben.
  4. System nach Anspruch 2, wobei die Auswahl von einem Server übertragen wird.
  5. System nach Anspruch 2, wobei die Auswahl von einer elektronischen Controller-Einheit eines Fahrzeugs übertragen wird.
  6. System nach Anspruch 1, wobei das erste neuronale Netz unter Verwendung eines ersten Datensatzes trainiert wird und das zweite neuronale Netz unter Verwendung eines zweiten Datensatzes trainiert wird, wobei sich der zweite Datensatz von dem ersten Datensatz unterscheidet.
  7. System nach Anspruch 1, wobei der Prozessor ferner programmiert ist, um zu verhindern, dass die durch das erste neuronale Netz erzeugte Ausgabe während der Validierungsbetriebsart verwendet wird, um ein Fahrzeug zu betreiben.
  8. System nach Anspruch 1, wobei die nicht etikettierten Sensordaten durch eine Fahrzeugflotte gesammelte Sensordaten umfassen.
DE102022122657.3A 2021-11-02 2022-09-07 Validierungssystem für neuronale Netze Pending DE102022122657A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/517,260 2021-11-02
US17/517,260 US20230139521A1 (en) 2021-11-02 2021-11-02 Neural network validation system

Publications (1)

Publication Number Publication Date
DE102022122657A1 true DE102022122657A1 (de) 2023-05-04

Family

ID=85983871

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022122657.3A Pending DE102022122657A1 (de) 2021-11-02 2022-09-07 Validierungssystem für neuronale Netze

Country Status (3)

Country Link
US (1) US20230139521A1 (de)
CN (1) CN116090501A (de)
DE (1) DE102022122657A1 (de)

Also Published As

Publication number Publication date
CN116090501A (zh) 2023-05-09
US20230139521A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
DE102018121595B4 (de) Unbeaufsichtigtes anlernen von agenten für autonome fahranwendungen
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102022123257A1 (de) Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102023120330A1 (de) Neuronales strahlungsfeld für ein fahrzeug
DE102022132111A1 (de) Systeme und verfahren zum erfassen einer inferenzqualität eines tiefen neuronalen netzes unter verwendung von bild-/datenmanipulation ohne ground-truth-informationen
DE102022125908A1 (de) Zielschlupfschätzung
DE102022124848A1 (de) System und prozess unter verwendung homomorpher verschlüsselung, um parameter neuronaler netze für ein kraftfahrzeug zu sichern
DE102020127253A1 (de) Quantifizieren von fotorealismus in simulierten daten mit gan
US20220188621A1 (en) Generative domain adaptation in a neural network
DE102022122657A1 (de) Validierungssystem für neuronale Netze
DE102021134645A1 (de) Erneutes trainieren von neuronalem netzwerk in echtzeit
DE102021104738A1 (de) Verfahren zum Betrieb eines Kraftfahrzeugs
DE102021107247A1 (de) Domänenübersetzungsnetzwerk zur durchführung einer bildübersetzung
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
DE102023100599A1 (de) Rechnerisch effizientes unüberwachtes dnn-vortraining

Legal Events

Date Code Title Description
R012 Request for examination validly filed