DE102022123257A1 - Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze - Google Patents

Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze Download PDF

Info

Publication number
DE102022123257A1
DE102022123257A1 DE102022123257.3A DE102022123257A DE102022123257A1 DE 102022123257 A1 DE102022123257 A1 DE 102022123257A1 DE 102022123257 A DE102022123257 A DE 102022123257A DE 102022123257 A1 DE102022123257 A1 DE 102022123257A1
Authority
DE
Germany
Prior art keywords
neural network
processor
vehicle
image features
computer
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
DE102022123257.3A
Other languages
English (en)
Inventor
Siddhartha Gupta
Jacob Alan BOND
Wei Tong
Upali P. Mudalige
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 DE102022123257A1 publication Critical patent/DE102022123257A1/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/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (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: in einer selektiven Ausscheidungsschicht eines neuronalen Netzes mehrere gegnerische Bildmerkmale und mehrere natürliche Bildmerkmale zu empfangen, einen oder mehrere zu deaktivierende Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf einem Vergleich der mehreren gegnerischen Bildmerkmale mit den mehreren natürlichen Bildmerkmalen auszuwählen und den einen oder die mehreren ausgewählten Knoten zu deaktivieren.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich auf das selektive Ausscheiden eines oder mehrerer Neuronen innerhalb eines neuronalen Netzes, um die Robustheit gegen generische Angriffe zu erhöhen.
  • 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.
  • Zusätzlich können herkömmliche DNNs anfällig für gegnerische Angriffe sein. Es können z. B. herkömmliche DNNs anfällig für gegnerische Angriffe sein, bei denen eine verrauschte Eingabe verursacht, dass sich die DNNs anomal verhalten, wie z. B. das Erzeugen ungenauer Vorhersagen und/oder Klassifikationen.
  • 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: in einer selektiven Ausscheidungsschicht eines neuronalen Netzes mehrere gegnerische Bildmerkmale und mehrere natürliche Bildmerkmale zu empfangen, einen oder mehrere zu deaktivierende Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf einem Vergleich der mehreren gegnerischen Bildmerkmale mit den mehreren natürlichen Bildmerkmalen auszuwählen, und den einen oder die mehreren ausgewählten Knoten zu deaktivieren.
  • Gemäß weiteren Merkmalen ist der Prozessor ferner programmiert, einen Empfindlichkeitsschwellenwert zu empfangen.
  • Gemäß weiteren Merkmalen ist der Prozessor ferner programmiert, den einen oder die mehreren zu deaktivierenden Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf dem Vergleich und dem Empfindlichkeitsschwellenwert auszuwählen.
  • Gemäß weiteren Merkmalen ist der Prozessor ferner programmiert, eine Verlustfunktion zu berechnen, nachdem der eine oder die mehreren ausgewählten Knoten deaktiviert worden sind.
  • Gemäß weiteren Merkmalen ist der Prozessor ferner programmiert, ein oder mehrere Gewichte innerhalb des neuronalen Netzes basierend auf der Verlustfunktion zu aktualisieren.
  • Gemäß weiteren Merkmalen ist der Prozessor ferner programmiert, das eine oder die mehreren Gewichte innerhalb des neuronalen Netzes basierend auf der Verlustfunktion mittels Rückausbreitung zu aktualisieren.
  • Gemäß weiteren Merkmalen ist der Prozessor ferner programmiert, die mehreren gegnerischen Bildmerkmale mittels eines vortrainierten neuronalen Netzes basierend auf mehreren gegnerischen Bildern, die dem vortrainierten neuronalen Netz bereitgestellt werden, zu erzeugen.
  • Gemäß weiteren Merkmalen umfasst das vortrainierte neuronale Netz ein vortrainiertes neuronales Faltungsnetz.
  • Gemäß weiteren Merkmalen umfasst das vortrainierte neuronale Faltungsnetz ein neuronales Netz der Bildgeometriegruppe (VGG) 19.
  • Gemäß weiteren Merkmalen erzeugt das neuronale Netz die mehreren natürlichen Merkmale basierend auf mehreren natürlichen Bildern.
  • Ein Verfahren enthält das Empfangen mehrerer gegnerischer Bildmerkmale und mehrerer natürlicher Bildmerkmale in einer selektiven Ausscheidungsschicht eines neuronalen Netzes, das Auswählen eines oder mehrerer zu deaktivierender Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf einem Vergleich der mehreren gegnerischen Bildmerkmale mit dem mehreren natürlichen Bildmerkmalen, und das Deaktivieren des einen oder der mehreren ausgewählten Knoten.
  • Gemäß weiteren Merkmalen enthält das Verfahren das Empfangen eines Empfindlichkeitsschwellenwerts.
  • Gemäß weiteren Merkmalen enthält das Verfahren das Auswählen des einen oder der mehreren zu deaktivierenden Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf dem Vergleich und dem Empfindlichkeitsschwellenwert.
  • Gemäß weiteren Merkmalen enthält das Verfahren das Berechnen einer Verlustfunktion, nachdem der eine oder die mehreren ausgewählten Knoten deaktiviert worden sind.
  • Gemäß weiteren Merkmalen enthält das Verfahren das Aktualisieren eines oder mehrerer Gewichte innerhalb des neuronalen Netzes basierend auf der Verlustfunktion.
  • Gemäß weiteren Merkmalen enthält das Verfahren das Aktualisieren des einen oder der mehreren Gewichte innerhalb des neuronalen Netzes basierend auf der Verlustfunktion mittels Rückausbreitung.
  • Gemäß weiteren Merkmalen enthält das Verfahren das Erzeugen der mehreren gegnerischen Bildmerkmale mittels eines vortrainierten neuronalen Netzes basierend auf mehreren gegnerischen Bildern, die dem vortrainierten neuronalen Netz bereitgestellt werden.
  • Gemäß weiteren Merkmalen umfasst das vortrainierte neuronale Netz ein vortrainiertes neuronales Faltungsnetz.
  • Gemäß weiteren Merkmalen umfasst das vortrainierte neuronale Faltungsnetz ein neuronales Netz der Bildgeometriegruppe (VGG) 19.
  • Gemäß weiteren Merkmalen erzeugt das neuronale Netz die mehreren natürlichen Merkmale basierend auf mehreren natürlichen Bildern.
  • 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 beispielhaften Systems, das ein Fahrzeug enthält;
    • 2 einen Blockschaltplan eines beispielhaften Servers innerhalb des Systems;
    • 3 einen Blockschaltplan einer beispielhaften Rechenvorrichtung;
    • 4 eine graphische Darstellung eines beispielhaften neuronalen Netzes;
    • 5 eine graphische Darstellung eines beispielhaften neuronalen Netzes, in dem mehrere Knoten innerhalb einer selektiven Ausscheidungsschicht deaktiviert worden sind;
    • 6A bis 6C Blockschaltpläne, die einen beispielhaften Prozess zum Trainieren eines oder mehrerer neuronaler Netze veranschaulichen; und
    • 7 einen Ablaufplan, der einen beispielhaften Prozess zum Trainieren eines neuronalen Netzes veranschaulicht, um einen oder mehrere Knoten innerhalb einer selektiven Ausscheidungsschicht selektiv auszuscheiden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung ist lediglich beispielhaft und soll die vorliegende Offenbarung, Anwendung oder Verwendungen nicht einschränken.
  • Die vorliegende Offenbarung offenbart eine oder mehrere Implementierungen, die ein neuronales Netz mit verbesserter Robustheit gegen gegnerische Angriffe durch selektives Ausscheiden eines oder mehrerer Knoten innerhalb einer selektiven Ausscheidungsschicht erzeugen. Die selektive Ausscheidungsschicht kann eine oder mehrere verborgene Schichten innerhalb des neuronalen Netzes umfassen. Die selektive Ausscheidungsschicht kann basierend auf einer empirischen Analyse ausgewählt werden, die auf der gewünschten Verwendung des neuronalen Netzes, z. B. der Objektklassifikation, Objektidentifikation usw., basiert.
  • 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 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, die 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 einer 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 physische Merkmale von Objekten zu identifizieren.
  • 2 veranschaulicht einen beispielhaften Server 145, der ein Trainingssystem 205 der selektiven Ausscheidung für neuronale Netze enthält. Wie gezeigt ist, kann das Trainingssystem 205 der selektiven Ausscheidung für neuronale Netze ein Modul 210 neuronaler Netze, ein Modul 215 für selektives Ausscheiden und ein Speichermodul 220 enthalten.
  • Wie gerade erwähnt worden ist, kann das Trainingssystem 205 der selektiven Ausscheidung für neuronale Netze ein Modul 210 neuronaler Netze enthalten. Insbesondere kann das Modul 210 neuronaler Netze ein oder mehrere neuronale Netze managen, aufrechterhalten, trainieren, implementieren, verwenden oder mit ihnen kommunizieren. Das Modul 210 neuronaler Netze kann z. B. mit dem Speichermodul 220 kommunizieren, um auf ein neuronales Netz, z. B. das neuronale Netz 400, zuzugreifen, das in der Datenbank 225 gespeichert ist. Zusätzlich kann das Trainingssystem 205 der selektiven Ausscheidung für neuronale Netze mit dem Modul 215 für selektives Ausscheiden kommunizieren, um ein neuronales Netz zu trainieren und zu implementieren, um digitale Bilder zu klassifizieren oder Vorhersagen für andere mögliche Bereiche zu erzeugen.
  • Das Modul 215 für selektives Ausscheiden kann ein neuronales Netz basierend auf einer Routine des selektiven Ausscheidens trainieren und implementieren, wie hier beschrieben wird. Das Modul 215 für selektives Ausscheiden kann z. B. mit dem Modul 210 neuronaler Netze und dem Speichermodul 220 kommunizieren, um auf ein innerhalb der Datenbank 225 gespeichertes neuronales Netz zuzugreifen. Zusätzlich kann das Modul 215 für selektives Ausscheiden Gradientenverluste bestimmen, die den Klassifikationsetiketten für eine Anzahl von Neuronen innerhalb des neuronalen Netzes zugeordnet sind.
  • 3 veranschaulicht eine beispielhafte Rechenvorrichtung 300, d. h., einen Computer 110 und/oder einen (die) Server 145, die konfiguriert sein können, einen oder mehrere der hier beschriebenen Prozesse auszuführen. Wie gezeigt ist, kann die Rechenvorrichtung einen Prozessor 305, einen Speicher 310, eine Speichervorrichtung 315, eine E/A-Schnittstelle 320 und eine Kommunikationsschnittstelle 325 umfassen. Weiterhin kann die Rechenvorrichtung 300 eine Eingabevorrichtung, wie z. B. einen Berührungsschirm, eine Maus, eine Tastatur usw., enthalten. In bestimmten Implementierungen kann die Rechenvorrichtung 300 weniger oder mehr Komponenten als jene enthalten, die in 3 gezeigt sind.
  • In speziellen Implementierungen enthält der Prozessor (enthalten die Prozessoren) 305 Hardware zum Ausführen von Anweisungen, wie z. B. jener, die ein Computerprogramm bilden. Als ein Beispiel und nicht zur Einschränkung kann der Prozessor (können die Prozessoren) 305, um Anweisungen auszuführen, die Anweisungen aus einem internen Register, einem internen Cache, einem Speicher 310 oder einer Speichervorrichtung 315 wiedergewinnen (oder holen) und sie decodieren und ausführen.
  • Die Rechenvorrichtung 300 enthält einen Speicher 310, der an den (die) Prozessor(en) 305 gekoppelt ist. Der Speicher 310 kann verwendet werden, um Daten, Metadaten und Programme zur Ausführung durch den (die) Prozessor(en) zu speichern. Der Speicher 310 kann einen oder mehrere flüchtige und nicht flüchtige Speicher, wie z. B. Schreib-Lese-Speicher („RAM“), Festwertspeicher („ROM“), eine Festkörperplatte („SSD“), Flash, Phasenwechsel-Speicher („PCM“) oder andere Typen von Datenspeicher, enthalten. Der Speicher 310 kann ein interner oder ein verteilter Speicher sein.
  • Die Rechenvorrichtung 300 enthält eine Speichervorrichtung 315, die einen Speicher zum Speichern von Daten oder Anweisungen enthält. Als ein Beispiel und nicht zur Einschränkung kann die Speichervorrichtung 315 ein oben beschriebenes nicht transitorisches Speichermedium umfassen. Die Speichervorrichtung 315 kann ein Festplattenlaufwerk (HDD), einen Flash-Speicher, ein Laufwerk des universellen seriellen Busses (USB-Laufwerk) oder eine Kombination aus diesen oder anderen Speichervorrichtungen enthalten.
  • Die Rechenvorrichtung 300 enthält außerdem eine oder mehrere Eingabe- oder Ausgabe-Vorrichtungen/Schnittstellen („E/A“-Vorrichtungen/Schnittstellen) 320, die vorgesehen sind, es einem Anwender zu ermöglichen, eine Eingabe (wie z. B. Anwenderanschläge) in die Rechenvorrichtung 300 bereitzustellen, eine Ausgabe von der Rechenvorrichtung 300 zu erhalten und anderweitig Daten zu und von der Rechenvorrichtung 300 zu übertragen. Diese E/A-Vorrichtungen/Schnittstellen 320 können eine Maus, ein Tastenfeld oder eine Tastatur, einen Berührungsschirm, eine Kamera, einen optischen Scanner, eine Netzschnittstelle, ein Modem, andere bekannte E/A-Vorrichtungen oder eine Kombination derartiger E/A-Vorrichtungen/Schnittstellen 320 enthalten. Der Berührungsschirm kann mit einer Schreibvorrichtung oder einem Finger aktiviert werden.
  • Die E/A-Vorrichtungen/Schnittstellen 320 können eine oder mehrere Vorrichtungen zum Darstellen einer Ausgabe für einen Anwender, einschließlich einer Graphikmaschine, einer Anzeige (z. B. eines Anzeigeschirms), eines oder mehrerer Ausgabetreiber (z. B. Anzeigetreiber), eines oder mehrerer Lautsprecher und eines oder mehrerer Audiotreiber, aber nicht darauf eingeschränkt, enthalten. In bestimmten Implementierungen sind die Vorrichtungen/Schnittstellen 320 konfiguriert, graphische Daten einer Anzeige zur Präsentation für einen Anwender bereitzustellen. Die graphischen Daten können eine oder mehrere graphische Anwenderschnittstellen und/oder irgendwelchen anderen graphischen Inhalt repräsentieren, die/der einer speziellen Implementierung dienen können/kann.
  • Die Rechenvorrichtung 300 kann ferner eine Kommunikationsschnittstelle 325 enthalten. Die Kommunikationsschnittstelle 325 kann Hardware, Software oder beides enthalten. Die Kommunikationsschnittstelle 325 kann eine oder mehrere Schnittstellen für die Kommunikation (wie z. B. eine paketbasierte Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen 300 oder einem oder mehreren Netzen bereitstellen. Als ein Beispiel und nicht zur Einschränkung kann die Kommunikationsschnittstelle 325 einen Netzschnittstellen-Controller (NIC) oder einen Netzadapter zum Kommunizieren mit einem Ethernet- oder einem anderen drahtgebundenen Netz oder einen drahtlosen NIC (WNIC) oder einen drahtlosen Adapter zum Kommunizieren mit einem drahtlosen Netz, wie z. B. WI-FI, enthalten. Die Rechenvorrichtung 300 kann ferner einen Bus 330 enthalten. Der Bus 330 kann Hardware, Software oder beides umfassen, die die Komponenten der Rechenvorrichtung 300 aneinanderkoppelt.
  • 4 ist eine graphische Darstellung eines beispielhaften tiefen neuronalen Netzes (DNN) 400, das hier verwendet werden kann. Das DNN 400 enthält mehrere Knoten 405, wobei die Knoten 405 so angeordnet sind, dass das DNN 400 eine Eingangsschicht 410, eine oder mehrere verborgene Schichten 415 und eine Ausgangsschicht 420 enthält. Jede Schicht des DNN 400 kann mehrere Knoten 405 enthalten. Während 4 drei (3) verborgene Schichten 415 veranschaulicht, wird erkannt, dass das DNN 400 zusätzliche oder weniger verborgene Schichten enthalten kann. Die Eingangs- und die Ausgangsschicht 410, 420 können außerdem mehr als einen (1) Knoten 405 enthalten. Wie gezeigt ist, umfasst eine der verborgenen Schichten 415 eine selektive Ausscheidungsschicht 425. Die selektive Ausscheidungsschicht 425 umfasst eine verborgene Schicht, in der ein oder mehrere Knoten 405 deaktiviert sind. Wie im Folgenden ausführlicher beschrieben wird, werden der eine oder die mehreren Knoten 405 basierend auf gegnerischen Bildmerkmalen deaktiviert, die den einen oder die mehreren Knoten 405 mehr als ein vorgegebener Störungsschwellenwert stören. Der vorgegebene Störungsschwellenwert kann durch empirische Analyse gemäß der Verwendung des DNN 400, d. h. Objektklassifikation, Objektidentifikation usw., bestimmt werden.
  • Die Knoten 405 werden manchmal als künstliche Neuronen bezeichnet, weil sie entworfen sind, biologische, z. B. menschliche, Neuronen zu emulieren. Ein Satz von Eingaben (die durch die Pfeile dargestellt sind) in jeden Knoten 405 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 einen verbundenen Knoten 405 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 4 veranschaulicht ist, können die Ausgaben des Knotens 405 dann zur Einbeziehung in einen Satz von Eingaben in ein oder mehrere Neuronen 305 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 400 kann trainiert werden, um Daten als eine Eingabe zu akzeptieren und basierend auf der Eingabe eine Ausgabe zu erzeugen. In einem Beispiel kann das DNN 400 mit Grundwahrheitsdaten, d. h., mit Daten über eine Bedingung oder einen Zustand in der echten Welt trainiert werden. Das DNN 400 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 405 auf null gesetzt werden kann. Das Training des DNN 400 kann das Aktualisieren der Gewichte und der Verzerrungen mittels geeigneter 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 400 implementiert werden. In einem Beispiel kann der dienstbezogene Inhalt oder andere Informationen, wie z. B. Wörter, Sätze, Bilder, Videos oder anderer derartiger Inhalt/andere derartige Informationen, in eine Vektordarstellung übersetzt werden.
  • 5 veranschaulicht ein beispielhaftes DNN 400, bei dem mehrere Knoten 405 aufgrund gegnerischer Bildmerkmale, die die Knoten 405 mehr als ein vorgegebener Störungsschwellenwert stören, selektiv deaktiviert oder ausgeschieden worden sind.
  • 6A bis 6C veranschaulichen einen beispielhaften Prozess zum selektiven Ausscheiden eines oder mehrerer Knoten 405 innerhalb des DNN 400 gemäß einer oder mehreren Implementierungen der vorliegenden Offenbarung. Wie in 6A gezeigt ist, empfängt ein vortrainiertes DNN 400-1 einen Satz von gegnerischen Bildern 605, wobei es die gegnerischen Bildmerkmale 610 erzeugt. Die gegnerischen Bilder 605 können z. B. ein digitales Bild eines Verkehrszeichens und eine Rauscheingabe, d. h., eine Störung, umfassen, die typische neuronale Netze veranlasst, das innerhalb des Bildes dargestellte Objekt falsch zu klassifizieren. Das vortrainierte DNN 400-1 wird trainiert, um die gegnerischen Bildmerkmale 610 zu erzeugen, die latente oder verborgene Merkmale umfassen, die durch ein neuronales Netz verwendet werden, um eine Vorhersage zu erzeugen. Das vortrainierte DNN 400-1 kann die gegnerischen Bildmerkmale 610 mittels Vorwärtsausbreitung erzeugen. In verschiedenen Implementierungen kann das vortrainierte DNN 400-1 ein vortrainiertes neuronales Faltungsnetz umfassen, wie z. B. ein neuronales Netz der Bildgeometriegruppe (VGG) 19 oder dergleichen.
  • In 6B empfängt das DNN 400-2 während einer Trainingsphase eines DNN 400-2 eine Menge natürlicher Bilder 615, wobei es die natürlichen Bildmerkmale 620 erzeugt. Wie gezeigt ist, enthält das DNN 400-2 die selektive Ausscheidungsschicht 425. Die natürlichen Bilder 615 können digitale Bilder von Objekten umfassen, die nicht gestört sind. Mit anderen Worten, die natürlichen Bilder umfassen Bilder, die aus einer Verteilung in der echten Welt bezogen werden. Die natürlichen Bildmerkmale 620 können latente oder verborgene Merkmale umfassen, die durch ein neuronales Netz verwendet werden, um eine Vorhersage zu erzeugen.
  • In 6C werden die gegnerischen Bildmerkmale 610, die natürlichen Bildmerkmale 620, ein Empfindlichkeitsschwellenwert 625 und eine Ausscheidungs-Wahrscheinlichkeit 630 der selektiven Ausscheidungsschicht 425 bereitgestellt. Der Empfindlichkeitsschwellenwert 625 und die Ausscheidungs-Wahrscheinlichkeit 630 können positive reelle Zahlen kleiner als eins (1) umfassen. Der Empfindlichkeitsschwellenwert 625 und die Ausscheidungs-Wahrscheinlichkeit 630 können durch empirische Analyse gemäß der gewünschten Verwendung des DNN 400-2 bestimmt werden.
  • Es wird erkannt, dass die resultierenden Merkmale 610, 620 d-dimensionale Vektoren umfassen, wobei d eine reelle Zahl größer als eins (1) ist. In verschiedenen Implementierungen kann das Modul 215 für selektives Ausscheiden die gegnerischen Bildmerkmale 610 und die natürlichen Bildmerkmale 620 punktweise vergleichen, um einen d-dimensionalen Vergleichsvektor zu erhalten, wobei d eine reelle Zahl größer als eins (1) ist. Jedes Element des d-dimensionalen Vektors umfasst eine reelle Zahl zwischen null (0) und eins (1).
  • Das Modul 215 für selektives Ausscheiden kann eine Ausgabe aus der selektiven Ausscheidungsschicht 425 basierend auf den Merkmalen 610, 620 vergleichen. Das Modul 215 für selektives Ausscheiden bestimmt z. B. einen Verlust basierend auf einer vorhergesagten Ausgabe, die durch die selektive Ausscheidungsschicht 425 mit der Grundwahrheit erzeugt wird.
  • Das Modul 215 für selektives Ausscheiden kann außerdem die Merkmale 610, 620 durch eine absolute Differenz, ein äußeres Produkt, eine normierte Korrelation oder dergleichen vergleichen. Das Modul 215 für selektives Ausscheiden bestimmt dann einen oder mehrere Knoten 405, um sie selektiv auszuscheiden, z. B. zu deaktivieren, durch Vergleichen des resultierenden Werts jedes Elements des d-dimensionalen Vektors mit dem Empfindlichkeitsschwellenwert 625. Der Knoten 405, der einem zum Ausscheiden gewählten Element entspricht, wird z. B. auf null (0) gesetzt. Das Modul 215 für selektives Ausscheiden kann die Knoten 405 gemäß der Ausscheidungs-Wahrscheinlichkeit selektiv ausscheiden. Der resultierende Vektor, d. h., der Vektor, nachdem die Elemente auf null (0) gesetzt worden sind, kann neu skaliert werden, um den erwarteten Wert des Vektors einzustellen. Das Modul 215 für selektives Ausscheiden schickt dann den eingestellten Merkmalsvektor zurück. Der eingestellte Merkmalsvektor wird dann durch die nachfolgenden Schichten, d. h., die Schichten nach der selektiven Ausscheidungsschicht 425, des DNN 400-2 vorwärts ausgebreitet. Das Modul 215 für selektives Ausscheiden kann dann eine Verlustfunktion berechnen. Ein oder mehrere Gewichte des DNN 400-2 können dann durch Techniken, wie z. B. Rückausbreitung mit Optimierungen basierend auf der berechneten Verlustfunktion, aktualisiert werden.
  • Der beschriebene Prozess kann mehrmals stattfinden. Der Prozess kann z. B. weitergehen, bis eine Sollgenauigkeit oder eine Soll-Verlustkonvergenz erreicht ist. Das resultierende trainierte DNN 400-2 kann durch Deaktivieren der Knoten 405, die anfälliger für gegnerische Merkmale sein können, zu einem neuronalen Netz führen, das robuster gegen gegnerische Angriffe ist.
  • Sobald das DNN 400-2 trainiert ist, kann es dem Fahrzeug 105 bereitgestellt werden. Der Computer 110 kann das DNN 400-2 verwenden, um eine Objektklassifikation und/oder Objektidentifikation unter Verwendung von Bildern auszuführen, die durch die Sensoren 115 aufgenommen worden sind. Basierend auf der Objektklassifikation und/oder Objektidentifikation kann der Computer 110 das Fahrzeug basierend auf einem oder mehreren Fahrzeugbetriebsprotokollen betreiben, d. h., von einer autonomen Betriebsart zu einer halbautonomen Betriebsart übergehen, eine Fahrzeuggeschwindigkeit und/oder eine Fahrzeugrichtung modifizieren usw.
  • 7 ist ein Ablaufplan eines beispielhaften Prozesses 700 zum Trainieren eines DNN 400, wie z. B. des DNN 400-2, gemäß den hier beschriebenen Techniken. Die Blöcke des Prozesses 700 können durch den Server 145 ausgeführt werden. Der Prozess 700 beginnt im Block 705, in dem die gegnerischen Bildmerkmale 610 erzeugt werden. Wie oben erörtert worden ist, erzeugt das vortrainierte DNN 400-1 ein oder mehrere gegnerische Bildmerkmale 610 basierend auf einem oder mehreren gegnerischen Bildern 605, wie z. B. einem Stapel gegnerischer Bilder, die dem DNN 400-1 bereitgestellt werden.
  • Im Block 710 werden durch das DNN 400-2 die natürlichen Bildmerkmale 620 erzeugt. Das DNN 400-2 erzeugt z. B. ein oder mehrere natürliche Bildmerkmale 620 basierend auf einem oder mehreren natürlichen Bildern 615, wie z. B. einem Stapel natürlicher Bilder, die dem DNN 400-2 bereitgestellt werden. Im Block 715 werden ein oder mehrere Knoten 405 des DNN 400-2 basierend auf einem Vergleich der gegnerischen Bildmerkmale 610 und der natürlichen Bildmerkmale 620 selektiv deaktiviert, wie oben bezüglich 6C erörtert worden ist. Im Block 720 werden ein oder mehrere Gewichte des DNN 400-2 aktualisiert, nachdem die Knoten 405 deaktiviert worden sind. Das eine oder die mehrere Gewichte des DNN 400-2 können z. B. basierend auf einer berechneten Verlustfunktion bestimmt werden, die mehrere Klassifikationsetiketten im Vergleich zur Grundwahrheit berücksichtigt.
  • Im Block 725 wird bestimmt, ob ein Genauigkeitsschwellenwert oder eine Verlustkonvergenz erreicht worden ist. Falls weder der Genauigkeitsschwellenwert noch die Verlustkonvergenz erreicht worden ist, kehrt der Prozess 700 zum Block 705 zurück. Andernfalls endet der Prozess 700.
  • 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 irgendeines einer 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 Platten 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 physisches 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 verschiedener 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 Weitbereichsnetz (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 Implementierungen 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 Implementierungen 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 Implementierungen 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 Begriffen 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 (10)

  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: in einer selektiven Ausscheidungsschicht eines neuronalen Netzes mehrere gegnerische Bildmerkmale und mehrere natürliche Bildmerkmale zu empfangen; einen oder mehrere zu deaktivierende Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf einem Vergleich der mehreren gegnerischen Bildmerkmale mit den mehreren natürlichen Bildmerkmalen auszuwählen; und den einen oder die mehreren ausgewählten Knoten zu deaktivieren.
  2. System nach Anspruch 1, wobei der Prozessor ferner programmiert ist, einen Empfindlichkeitsschwellenwert zu empfangen.
  3. System nach Anspruch 2, wobei der Prozessor ferner programmiert ist, den einen oder die mehreren zu deaktivierenden Knoten innerhalb der selektiven Ausscheidungsschicht basierend auf dem Vergleich und dem Empfindlichkeitsschwellen auszuwählen.
  4. System nach Anspruch 1, wobei der Prozessor ferner programmiert ist, eine Verlustfunktion zu berechnen, nachdem der eine oder die mehreren ausgewählten Knoten deaktiviert worden sind.
  5. System nach Anspruch 4, wobei der Prozessor ferner programmiert ist, ein oder mehrere Gewichte innerhalb des neuronalen Netzes basierend auf der Verlustfunktion zu aktualisieren.
  6. System nach Anspruch 5, wobei der Prozessor ferner programmiert ist, das eine oder die mehreren Gewichte innerhalb des neuronalen Netzes basierend auf der Verlustfunktion mittels Rückausbreitung zu aktualisieren.
  7. System nach Anspruch 1, wobei der Prozessor ferner programmiert ist, mittels eines vortrainierten neuronalen Netzes basierend auf mehreren gegnerischen Bildern, die dem vortrainierten neuronalen Netz bereitgestellt worden sind, die mehreren gegnerischen Bildmerkmale zu erzeugen.
  8. System nach Anspruch 7, wobei das vortrainierte neuronale Netz ein vortrainiertes neuronales Faltungsnetz umfasst.
  9. System nach Anspruch 8, wobei das vortrainierte neuronale Faltungsnetz ein neuronales Netz der Bildgeometriegruppe (VGG) 19 umfasst.
  10. System nach Anspruch 1, wobei das neuronale Netz die mehreren natürlichen Merkmale basierend auf mehreren natürlichen Bildern erzeugt.
DE102022123257.3A 2021-11-24 2022-09-13 Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze Pending DE102022123257A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/535,129 US20230162039A1 (en) 2021-11-24 2021-11-24 Selective dropout of features for adversarial robustness of neural network
US17/535,129 2021-11-24

Publications (1)

Publication Number Publication Date
DE102022123257A1 true DE102022123257A1 (de) 2023-05-25

Family

ID=86227204

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022123257.3A Pending DE102022123257A1 (de) 2021-11-24 2022-09-13 Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze

Country Status (3)

Country Link
US (1) US20230162039A1 (de)
CN (1) CN116168210A (de)
DE (1) DE102022123257A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11891195B2 (en) * 2020-07-29 2024-02-06 The Boeing Company Mitigating damage to multi-layer networks

Also Published As

Publication number Publication date
US20230162039A1 (en) 2023-05-25
CN116168210A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
DE102020122357A1 (de) Fahrerbewusstseinserfassungssystem
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102022123257A1 (de) Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102022125908A1 (de) Zielschlupfschätzung
DE102022124848A1 (de) System und prozess unter verwendung homomorpher verschlüsselung, um parameter neuronaler netze für ein kraftfahrzeug zu sichern
US20220188621A1 (en) Generative domain adaptation in a neural network
US11620475B2 (en) Domain translation network for performing image translation
US10977783B1 (en) Quantifying photorealism in simulated data with GANs
DE102022100545A1 (de) Verbesserte objekterkennung
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
DE102022122657A1 (de) Validierungssystem für neuronale Netze
US20230316728A1 (en) Robust neural network learning system
US11321587B2 (en) Domain generation via learned partial domain translations
DE102023100599A1 (de) Rechnerisch effizientes unüberwachtes dnn-vortraining
US11068749B1 (en) RCCC to RGB domain translation with deep neural networks
DE102022127647A1 (de) Kalibrieren von parametern innerhalb einer virtuellen umgebung unter verwendung verstärkenden lernens
DE102023100515A1 (de) Kalibrierung holografischer displays durch maschinelles lernen
DE102020134530A1 (de) Rückaufprallwarnsystem mit temporärem cnn

Legal Events

Date Code Title Description
R012 Request for examination validly filed