DE102022206063A1 - System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe - Google Patents

System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe Download PDF

Info

Publication number
DE102022206063A1
DE102022206063A1 DE102022206063.6A DE102022206063A DE102022206063A1 DE 102022206063 A1 DE102022206063 A1 DE 102022206063A1 DE 102022206063 A DE102022206063 A DE 102022206063A DE 102022206063 A1 DE102022206063 A1 DE 102022206063A1
Authority
DE
Germany
Prior art keywords
input data
data set
robustifier
computer
machine learning
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
DE102022206063.6A
Other languages
English (en)
Inventor
Wan-Yi Lin
Leonid Boytsov
Arash Norouzzadeh
Jeremy KOLTER
Filipe J. Cabrita Condessa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102022206063A1 publication Critical patent/DE102022206063A1/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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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/047Probabilistic or stochastic 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/0475Generative networks
    • 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
    • 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/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Computerimplementiertes Verfahren zum Trainieren eines maschinellen Lernnetzwerks. Das Verfahren umfasst das Empfangen von Eingabedaten von einem Sensor, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen anzeigen, das Erzeugen eines Eingabedatensatzes unter Verwendung der Eingabedaten, wobei der Eingabedatensatz gestörte Daten enthält, das Senden des Eingabedatensatzes an einen Robustifizierer, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz bereinigt, indem er Störungen, die mit dem Eingabedatensatz verbunden sind, entfernt, um einen modifizierten Eingabedatensatz zu erzeugen, das Senden des modifizierten Eingangsdatensatzes an eine vortrainierte maschinelle Lernaufgabe, das Trainieren des Robustifizierers, um einen trainierten Robustifizierer unter Verwendung des modifizierten Eingabedatensatzes zu erhalten, und, in Reaktion auf eine Konvergenz des trainierten Robustifikators auf einem ersten Schwellwert, Ausgaben des trainierten Robustifizierers.

Description

  • STAATLICHE RECHTE
  • Mindestens ein oder mehrere Teile dieser Erfindung können möglicherweise mit staatlicher Unterstützung im Rahmen des von der Defense Advanced Research Projects Agency (DARPA) vergebenen US-Regierungsvertrags Nr. 1190060-430433 gemacht worden sein. Die U.S.-Regierung kann daher bestimmte Rechte an dieser Erfindung haben.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf die Erweiterung und Verarbeitung eines Bilds (oder anderer Eingaben) unter Verwendung von maschinellem Lernen.
  • HINTERGRUND DER ERFINDUNG
  • Während tiefe neuronale Netze in Bereichen wie dem Computerbild und der Verarbeitung natürlicher Sprache nach wie vor unglaubliche Leistungen erbringen, hat sich zunehmend gezeigt, dass es diesen tiefen neuronalen Netzen an Robustheit mangelt.
  • Wenn ein KI-System so ausgestattet wird, dass es gegenüber Störungen der erwarteten Eingaben (z. B. gegnerische bzw. feindliche Störungen, natürliche Störungen bzw. Perturbationen) robust ist, hat dies den Preis einer geringeren Leistung bei den erwarteten Eingaben (saubere Leistung). Das System kann die erwartete Eingabe als die Menge und/oder Verteilung der Eingaben definieren, auf denen der Klassifizierer arbeiten soll (z. B. ein KI-System, das darauf trainiert ist, bei Tageslicht auf einer Autobahn zu arbeiten) - das System kann die gemessene Leistung der KI bei dieser Aufgabe als saubere Leistung bezeichnen. Störungen der erwarteten Eingaben können aus mehreren Quellen stammen, von denen das System die nachteiligen (z. B. Störungen der Eingaben, die von einer nachteiligen Quelle stammen, die möglicherweise vollen Zugang zu den Informationen über die Architektur und die internen Parameter des Klassifizierers hat) und die natürlichen (z. B. Störungen der Eingaben, die von einer natürlichen Quelle stammen, die während des Entwurfs- und Trainingsprozesses des KI-Systems nicht berücksichtigt wurde, wie z. B. Sonneneinstrahlung, Schnee, Nebel oder andere natürlich auftretende Bedingungen, die die Verteilung der Eingaben beeinflussen würden) hervorheben kann. Der Satz von Störungen, der für das Training und/oder die Auswertung berücksichtigt wird, wird als Störungssatz oder Bedrohungsmodell bezeichnet.
  • Ein KI-System kann auf zwei verschiedene Arten so ausgestattet werden, dass es gegenüber Störungen robust ist (dadurch robustifiziert ist): 1) robustes Training des KI-Systems / empirische Robustheit - wobei das KI-System auf eine Mischung aus ursprünglichen (ungestörten/erwarteten) Eingaben und gestörten Eingaben (durch eine Vielzahl von Arten von gestörten Eingaben) trainiert wird; 2) zertifizierte Robustheit - wobei das Verhalten des KI-Systems so begrenzt ist, dass es bei allen möglichen Eingabe-Variationen innerhalb des Störungssatzes die gleichen Ausgaben liefert. Wenn ein vortrainiertes KI-System vorhanden ist, kann die Robustheit außerdem erreicht werden durch: 1) erneutes Training des gesamten Systems auf Robustheit (durch empirische oder zertifizierbare Robustheit); oder 2) erneutes Training bestehender Teile (anstelle der Gesamtheit) des KI-Systems oder durch Training und/oder Hinzufügen zusätzlicher Komponenten, die die Eingabe und/oder die Ausgabe bereinigen.
  • Viele Systeme sind auf zertifizierte Robustheit ausgerichtet. Eine der Methoden, die ein vorab trainiertes Modell robust machen, besteht darin, mehrere Kopien der Eingabedaten zu erstellen, jeder Kopie der Daten zufälliges Rauschen hinzuzufügen, jede Kopie durch einen Denoiser (Rauschentferner) und dann das Modell laufen zu lassen, und schließlich die Mehrheit der Ausgabe als robuste Ausgabe zu verwenden. Die Robustheit kann jedoch theoretisch begrenzt sein, und die Architektur der vorangestellten robusten Schichten kann auf eine Bildentrauschung und das Hinzufügen von Zufallsrauschen beschränkt sein. Dies kann die empirische Robustheit des Systems einschränken. Darüber hinaus kann es erforderlich sein, mehrere Vorhersagen für eine Eingabe zu treffen, was es zur Testzeit langsam macht. Aufgrund des Mechanismus der Mehrheitsabstimmung ist dieses Verfahren möglicherweise nur für die Klassifizierung geeignet. Darüber hinaus kann eine solche Methode nur zur Abwehr digitaler Angriffe verwendet werden, insbesondere von Angriffen, die an die L2-Norm gebunden sind, und kann bei physikalisch realisierbaren Angriffen sowie bei anderen normgebundenen Angriffen mit stark verminderter Leistung völlig versagen.
  • ZUSAMMENFASSUNG
  • Eine erste Ausführungsform offenbart ein computerimplementiertes Verfahren zum Trainieren eines maschinenlernenden Netzwerks. Das Verfahren umfasst ein Empfangen von Eingabedaten von einem Sensor, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen anzeigen, ein Erzeugen eines Eingabedatensatzes unter Verwendung der Eingabedaten, wobei der Eingabedatensatz gestörte Daten enthält, ein Senden des Eingabedatensatzes an einen Robustifizierer, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz durch Entfernen von mit dem Eingabedatensatz verbundenen Störungen bereinigt, um einen modifizierten Eingabedatensatz zu erzeugen, ein Senden des modifizierten Eingabedatensatzes an eine vortrainierte maschinelle Lernaufgabe (Task), ein Trainieren des Robustifizierers, um einen trainierten Robustifizierer unter Verwendung des modifizierten Eingabedatensatzes zu erhalten, und, im Ansprechen auf eine Konvergenz des trainierten Robustifizierers auf einen ersten Schwellwert, ein Ausgeben des trainierten Robustifizierers.
  • Eine zweite Ausführungsform offenbart ein Computerprogrammprodukt, das Befehle speichert, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, Eingabedaten von einem Sensor zu empfangen, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon umfasst, einen Eingabedatensatz unter Verwendung des Eingabedatensatzes zu erzeugen, wobei der Eingabedatensatz gestörte Daten umfasst, den Eingabedatensatz an einen Robustifizierer zu senden, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz bereinigt, indem er Störungen entfernt, die mit dem Eingabedatensatz verbunden sind, um einen modifizierten Eingabedatensatz zu erzeugen, den modifizierten Eingabedatensatz an eine vortrainierte maschinelle Lernaufgabe zu senden, den Robustifizierer unter Verwendung des modifizierten Eingabedatensatzes zu trainieren, und einen trainierten Robustifizierer bei Konvergenz auf einen ersten Schwellenwert auszugeben.
  • Eine dritte Ausführungsform offenbart ein System, das ein Netzwerk für maschinelles Lernen umfasst. Das System umfasst eine Eingabeschnittstelle, die so konfiguriert ist, dass sie Eingabedaten von einem Sensor empfängt, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon umfasst. Das System enthält einen Prozessor, der mit der Eingabeschnittstelle in Verbindung steht, wobei der Prozessor so programmiert ist, dass er die Eingabedaten empfängt, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen anzeigen, einen Eingabedatensatz unter Verwendung der Eingabedaten erzeugt, wobei der Eingabedatensatz gestörte Daten enthält, den Eingabedatensatz an einen Robustifizierer sendet, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz durch Entfernen von mit dem Eingabedatensatz verbundenen Störungen bereinigt, um einen modifizierten Eingabedatensatz zu erzeugen, den modifizierten Eingabedatensatz an eine maschinelle Lernaufgabe sendet, den Robustifizierer unter Verwendung des modifizierten Eingabedatensatzes trainiert, um einen trainierten Robustifizierer zu erhalten, und den trainierten Robustifizierer und die maschinelle Lernaufgabe als Reaktion auf die Konvergenz auf einen ersten Schwellenwert ausgibt.
  • Figurenliste
    • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes.
    • 3 zeigt ein Datenannotationssystem 300 zur Implementierung eines Systems zur Datenannotation.
    • 4 ist ein beispielhaftes Flussdiagramm eines Systems, das ein neuronales Netz trainiert, um Störungsdatensätze zu lernen und einen Generator und einen Klassifizierer gemeinsam zu trainieren.
    • 5 zeigt ein schematisches Diagramm der Interaktion zwischen der computergesteuerten Maschine 10 und dem Steuersystem 12.
    • 6 zeigt ein schematisches Diagramm des Steuersystems von 1, das zur Steuerung eines Fahrzeugs konfiguriert ist, das ein teilautonomes Fahrzeug oder ein teilautonomer Roboter sein kann.
    • 7 zeigt ein schematisches Diagramm des Steuersystems von 1, das so konfiguriert ist, dass es eine Fertigungsmaschine, wie z.B. einen Stanzschneider, eine Schneidevorrichtung oder einen Pistolenbohrer, eines Fertigungssystems, wie z.B. eines Teils einer Produktionslinie, steuert.
    • 8 zeigt ein schematisches Diagramm des Steuersystems von 1, das so konfiguriert ist, dass es ein Elektrowerkzeug, wie z.B. eine Bohrmaschine oder einen Bohrschrauber, steuert, das einen zumindest teilweise autonomen Modus aufweist.
    • 9 zeigt ein schematisches Diagramm des Steuersystems von 1, das zur Steuerung eines automatischen persönlichen Assistenten konfiguriert ist.
    • 10 zeigt ein schematisches Diagramm des Steuersystems von 1, das zur Steuerung eines Überwachungssystems, wie z.B. eines Zugangskontrollsystems oder eines Überwachungssystems, konfiguriert ist.
    • 11 zeigt ein schematisches Diagramm des Steuersystems von 1, das zur Steuerung eines Bildgebungssystems, z. B. eines MRT-Geräts, eines Röntgenbildgebungsgeräts oder eines Ultraschallgeräts, konfiguriert ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachstehend werden Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch von selbst, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder verkleinert sein, um Details bestimmter Komponenten zu zeigen. Daher sind spezifische strukturelle und funktionelle Details, die hier offenbart werden, nicht als einschränkend zu verstehen, sondern lediglich als repräsentative Grundlage, um dem Fachmann zu zeigen, wie er die Ausführungsformen in unterschiedlicher Weise einsetzen kann. Wie Fachleute wissen, können verschiedene Merkmale, die unter Bezugnahme auf eine der Figuren dargestellt und beschrieben sind, mit Merkmalen kombiniert werden, die in einer oder mehreren anderen Figuren dargestellt sind, um Ausführungsformen zu erzeugen, die nicht ausdrücklich dargestellt oder beschrieben sind. Die abgebildeten Merkmalskombinationen stellen repräsentative Ausführungsformen für typische Anwendungen dar. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung übereinstimmen, könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
  • Die meisten vortrainierten Klassifiziereren, auch wenn sie in dem Bereich, in dem sie trainiert wurden, sehr gut funktionieren, sind nicht auf robuste Weise trainiert und daher anfällig für feindliche oder gegnerische Angriffe. Eine neuere Technik, das Denoised-Smoothing (rauschentferntes Glätten), hat gezeigt, dass es möglich ist, nachweislich robuste Klassifiziereren aus einem zuvor trainierten Klassifizierer (ohne irgendein erneutes Training) zu erstellen, indem ein Denoising-Netzwerk vorangestellt und die gesamte Pipeline in ein randomisiertes Smoothing (Glätten) verpackt wird. Dies ist jedoch ein kostspieliges Verfahren, das aufgrund des randomisierten Glättungselements mehrere Abfragen erfordert und letztlich sehr stark von der Qualität des Denoisers (Rauschentferners) abhängt. Die nachstehenden Ausführungsformen zeigen, dass ein konventionellerer gegnerischer Trainingsansatz auch bei der Anwendung auf einen Robustifizierungsprozess funktioniert. Insbesondere durch das Training eines Bild-zu-Bild-Übersetzungsmodells, das einem vortrainierten Klassifizierer vorangestellt wird, mit Verlusten, die sowohl für die Genauigkeit der Bildrekonstruktion als auch für die gegnerische Leistung des End-to-End-Systems optimiert sind, kann das System vortrainierte Klassifiziereren mit einem höheren empirischen Genauigkeitsgrad als die entrauschte Glättung (Denoised Smoothing) robustifizieren, während es zum Zeitpunkt der Inferenz effizienter ist. Darüber hinaus sind diese Robustifizierer bis zu einem gewissen Grad über mehrere Klassifiziereren und sogar einige Architekturen hinweg übertragbar, was zeigt, dass sie in gewissem Sinne die „gegnerische Vielfalt“ aus den Eingabedaten entfernen, eine Aufgabe, die für „konventionelle“ Vorverarbeitungsmethoden traditionell sehr schwierig war.
  • Daher wird in den nachstehenden Ausführungsformen eine „empirische Robustheit“ analog zu diesen Methoden für die Robustifizierung von vortrainierten Modellen vorgeschlagen, die ein effizientes und dennoch leistungsfähiges Verfahren zur Robustheit eines vortrainierten Klassifizierers gegenüber gegnerischen Angriffen ohne erneute Optimierung seiner Parameter demonstriert. Das System kann dem vortrainierten Modell ein Bild-zu-Bild-Übersetzungsmodell (z. B. Robustifizierer) voranstellen. Im Gegensatz zu anderen Modellen kann das System den Robustifizierer so trainieren, dass die Angriffsleistung der gesamten End-to-End-Pipeline (z. B. die Kombination aus dem Robustifizierer und dem vorab trainierten Modell) optimiert wird, indem nur die Parameter des Robustifizierer selbst verändert werden und die Parameter des vorab trainierten Modells unverändert bleiben. Zusätzlich kann das System (1) den nachteiligen Verlust des End-to-End-Systems (z. B., um sicherzustellen, dass der Robustifizierer den Bildinhalt nicht zerstört); (2) die Differenz zwischen Eingabe und Ausgabe des Robustifizierer (um sicherzustellen, dass der Robustifizierer den Bildinhalt nicht zerstört); und (3) die Differenz der Aktivierungen zwischen Original- und gegnerischen Bildern im vortrainierten Klassifizierer (dies kann erzwingen, dass das nach-robustifizierte Bild für den Klassifizierer so weit wie möglich wie das nicht-gegnerische Bild „aussehen“ sollte) bestrafen.
  • Eine solche Ausführungsform kann den Bedarf an mehreren Abfragen pro Sample eliminieren, aber auch bessere Ergebnisse als die entrauschte Glättung (Denoised Smoothing) liefern. Theoretisch kann der Ansatz auch auf jede Umgebung angewendet werden, in der ein adversarisches Training verwendet werden kann, und nicht nur auf Klassifizierungsumgebungen. Er kann auf verschiedene Modelle und sogar verschiedene Architekturen übertragen werden. Die Ergebnisse der Übertragbarkeit zeigen, dass ein Vorprozessormodell bis zu einem gewissen Ausmaß lernen kann, die „gegnerische Vielfalt“ („adversarische Vielfalt“) von den Eingabedaten zu trennen, was für „konventionelle“ Vorverarbeitungsmethoden eine große Herausforderung darstellt.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingabeschnittstelle für den Zugriff auf Trainingsdaten 192 für das neuronale Netz umfassen. Wie in 1 dargestellt, kann die Eingabeschnittstelle beispielsweise durch eine Datenspeicherschnittstelle 180 gebildet werden, die auf die Trainingsdaten 192 aus einem Datenspeicher 190 zugreifen kann. Die Datenspeicherschnittstelle 180 kann beispielsweise eine Speicherschnittstelle oder eine Schnittstelle für einen dauerhaften Speicher sein, z. B. eine Festplatte oder eine SSD-Schnittstelle, aber auch eine persönliche, lokale oder Weitverkehrsnetzschnittstelle wie eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Glasfaserschnittstelle. Der Datenspeicher 190 kann ein interner Datenspeicher des Systems 100 sein, z. B. eine Festplatte oder SSD, aber auch ein externer Datenspeicher, z. B. ein über das Netzwerk zugänglicher Datenspeicher.
  • In einigen Ausführungsformen kann der Datenspeicher 190 ferner eine Datendarstellung 194 einer untrainierten Version des neuronalen Netzes umfassen, auf die das System 100 vom Datenspeicher 190 aus zugreifen kann. Es wird jedoch darauf hingewiesen, dass auf die Trainingsdaten 192 und die Datendarstellung 194 des untrainierten neuronalen Netzes auch jeweils von einem anderen Datenspeicher aus zugegriffen werden kann, z. B. über ein anderes Teilsystem der Datenspeicherschnittstelle 180. Jedes Teilsystem kann von einem Typ sein, wie er voranstehend für die Datenspeicherschnittstelle 180 beschrieben wurde. In anderen Ausführungsformen kann die Datendarstellung 194 des untrainierten neuronalen Netzes intern von dem System 100 auf der Grundlage von Entwurfsparametern für das neuronale Netz erzeugt werden und muss daher nicht explizit auf dem Datenspeicher 190 gespeichert werden. Das System 100 kann ferner ein Prozessor-Subsystem 160 umfassen, das so konfiguriert sein kann, dass es während des Betriebs des Systems 100 eine iterative Funktion als Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes bereitstellt. In einer Ausführungsform können die jeweiligen Schichten des Stapels von Schichten, die ersetzt werden, gegenseitig geteilte Gewichte haben und als Eingabe eine Ausgabe einer vorherigen Schicht oder für eine erste Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten empfangen. Das System kann auch mehrere Schichten umfassen. Das Prozessor-Subsystem 160 kann ferner so konfiguriert sein, dass es das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ trainiert. Dabei kann eine Iteration des Trainings durch das Prozessor-Subsystem 160 einen Vorwärtsausbreitungsteil und einen Rückwärtsausbreitungsteil umfassen. Das Prozessor-Subsystem 160 kann so konfiguriert sein, dass es den Vorwärtsausbreitungsteil durchführt, indem es neben anderen Operationen, die den Vorwärtsausbreitungsteil definieren, der durchgeführt werden kann, einen Gleichgewichtspunkt der iterativen Funktion bestimmt, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei die Bestimmung des Gleichgewichtspunkts die Verwendung eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion abzüglich ihrer Eingabe zu finden, und indem es den Gleichgewichtspunkt als Ersatz für eine Ausgabe des Schichtenstapels im neuronalen Netz bereitstellt. Das System 100 kann ferner eine Ausgabeschnittstelle zur Ausgabe einer Datendarstellung 196 des trainierten neuronalen Netzes umfassen, wobei diese Daten auch als trainierte Modelldaten 196 bezeichnet werden können. Die Ausgabeschnittstelle kann beispielsweise, wie auch in 1 dargestellt, durch die Datenspeicherschnittstelle 180 gebildet werden, wobei es sich bei dieser Schnittstelle in diesen Ausführungsformen um eine Eingabe-/Ausgabeschnittstelle („IO“) handelt, über die die trainierten Modelldaten 196 in dem Datenspeicher 190 gespeichert werden können. Beispielsweise kann die Datendarstellung 194, die das „untrainierte“ neuronale Netz definiert, während oder nach dem Training zumindest teilweise durch die Datendarstellung 196 des trainierten neuronalen Netzes ersetzt werden, indem die Parameter des neuronalen Netzes, wie Gewichte, Hyperparameter und andere Arten von Parametern neuronaler Netze, angepasst werden, um das Training an den Trainingsdaten 192 widerzuspiegeln. Dies wird auch in 1 durch die Bezugszeichen 194, 196 veranschaulicht, die sich auf denselben Datensatz auf dem Datenspeicher 190 beziehen. In anderen Ausführungsformen kann die Datendarstellung 196 getrennt von der Datendarstellung 194 gespeichert werden, die das „untrainierte“ neuronale Netz definiert. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherschnittstelle 180 getrennt sein, kann aber im Allgemeinen von einer Art sein, wie voranstehend für die Datenspeicherschnittstelle 180 beschrieben.
  • 2 ist ein Diagramm eines maschinellen Lernnetzwerks, das einen Robustifizierer und einen Klassifizierer 205 umfasst. Das System kann eine Eingabe 201 erhalten, die in einen Robustifizierer 203 eingespeist wird. Der Robustifizierer 203 kann ein vortrainierter Robustifizierer g sein, dem die Eingabe x zugeführt wird. Bei der Eingabe 201 kann es sich um ein Bild, einen Ton, ein Video oder eine andere Art von Bildern handeln. Der Robustifizierer 203 kann die modifizierten Daten auch an einen Klassifizierer 205 senden. Der Klassifizierer 205 ist nur ein Beispiel für eine maschinelle Lernaufgabe („machine learning task“), es kann jedoch jede Art von maschineller Lernaufgabe verwendet werden. Dazu können Objekterkennung, Spracherkennung, semantische Segmentierung usw. gehören. Die Ausgabe (y) 207 kann mit dem Klassifizierer 205 oder der anderen Art von maschineller Lernaufgabe korreliert werden. So kann die Ausgabe (y) 207 eine Klassifizierung der Eingabe, eine Erkennung des Objekts, die erkannte Sprache usw. sein.
  • Gemäß 2 können sowohl reine als auch gestörte Versionen jedes Stapels in das Robustifizierer-Modell und damit in den Klassifizierer eingespeist werden, bei dem es sich um einen vortrainierten Klassifizierer handeln kann. Die Verlustfunktion („loss function“) kann den Kreuzentropieverlust, den mittleren quadratischen Fehler (MSE) zwischen den Eingabebildern und der Ausgabe des Robustifizierers für die gestörten Bilder („perturbed images“) und den MSE-Verlust zwischen den Aktivierungswerten auf verschiedenen ausgewählten Schichten des vortrainierten Klassifizierers für die Ausgaben des Robustifizierers umfassen. Der Verlustwert kann ebenfalls berechnet werden.
  • 2 zeigt auf einer hohen Ebene die Details der Verwendung des Robustifizierers innerhalb eines maschinellen Lernsystems, das eine Klassifizierungsaufgabe durchführt. In diesem Szenario werden die Eingabedaten x in einen vortrainierten Robustifizierer g eingespeist. Dieser Robustifizierer erhält als Eingabe x und gibt eine modifizierte Version der Eingabe aus, bei der die Störung („perturbation“) entfernt wurde x'<- g(x). Diese modifizierte Version der Eingabe wird dann in den Klassifizierer eingespeist, was zu einer robusten Klassifizierung y führt. Der vorangestellte Robustifizierer kann ein vortrainiertes maschinelles Lernmodell robust gegen gegnerische (feindliche) Angriffe von außen machen. Das vorgeschlagene Verfahren erfordert nur einen Vorwärtsdurchlauf und kann direkt auf Aufgaben („tasks“) angewendet werden, die über die Klassifizierung hinausgehen, z. B. Objekterkennung, semantische Segmentierung oder Spracherkennung. Jede beliebige Bild-zu-Bild-Architektur kann als Robustifizierer verwendet werden, z. B. ein Variational Autoenecoder (VAE), Bild-Denoiser (Rauschentferner) oder semantische Segmentierungsnetze (z. B. eine Architektur im Stil eines U-Netzes).
  • 3 zeigt ein Datenannotationssystem 300 zur Implementierung eines Systems zur Datenannotation. Das Datenannotationssystem 300 kann mindestens ein Rechensystem 302 umfassen. Das Rechensystem 302 kann mindestens einen Prozessor 304 enthalten, der mit einer Speichereinheit 308 verbunden ist. Der Prozessor 304 kann einen oder mehrere integrierte Schaltkreise enthalten, die die Funktionalität einer zentralen Verarbeitungseinheit (CPU) 306 implementieren. Bei der CPU 306 kann es sich um eine handelsübliche Verarbeitungseinheit handeln, die einen Befehlssatz wie eine der Befehlssatzfamilien x86, ARM, Power oder MIPS implementiert. Während des Betriebs kann die CPU 306 gespeicherte Programmanweisungen ausführen, die aus der Speichereinheit 308 abgerufen werden. Die gespeicherten Programmanweisungen können Software enthalten, die den Betrieb der CPU 306 steuert, um den hier beschriebenen Vorgang durchzuführen. In einigen Beispielen kann der Prozessor 304 ein System auf einem Chip (SoC) sein, das die Funktionalität der CPU 306, der Speichereinheit 308, einer Netzwerkschnittstelle und der Eingabe-/Ausgabeschnittstellen in einem einzigen integrierten Gerät integriert. Das Rechnersystem 302 kann ein Betriebssystem zur Verwaltung verschiedener Aspekte des Betriebs implementieren.
  • Die Speichereinheit 308 kann einen flüchtigen Speicher und einen nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten enthalten. Der nichtflüchtige Speicher kann Festkörperspeicher, wie z. B. NAND-Flash-Speicher, magnetische und optische Speichermedien oder jede andere geeignete Datenspeichervorrichtung umfassen, die Daten beibehält, wenn das Computersystem 302 deaktiviert wird oder die elektrische Energie verliert. Der flüchtige Speicher kann einen statischen und dynamischen Direktzugriffsspeicher (RAM) umfassen, der Programmanweisungen und Daten speichert. Zum Beispiel kann die Speichereinheit 308 ein maschinelles Lernmodell 310 oder einen Algorithmus, einen Trainingsdatensatz 312 für das maschinelle Lernmodell 310 und einen Rohquellendatensatz 315 speichern.
  • Das Computersystem 302 kann ein Netzwerkschnittstellengerät 322 enthalten, das so konfiguriert ist, dass es die Kommunikation mit externen Systemen und Geräten ermöglicht. Die Netzwerkschnittstellenvorrichtung 322 kann beispielsweise eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle gemäß den Standards der IEEE 802.11-Familie (Institute of Electrical and Electronics Engineers) umfassen. Die Netzwerkschnittstellenvorrichtung 322 kann eine Mobilfunkschnittstelle für die Kommunikation mit einem Mobilfunknetz (z. B. 3G, 4G, 5G) enthalten. Die Netzwerkschnittstellenvorrichtung 322 kann ferner so konfiguriert sein, dass sie eine Kommunikationsschnittstelle zu einem externen Netzwerk 324 oder einer Cloud bereitstellt.
  • Das externe Netz 324 kann als das World Wide Web oder das Internet bezeichnet werden. Das externe Netz 324 kann ein Standard-Kommunikationsprotokoll zwischen Datenverarbeitungsgeräten einrichten. Das externe Netz 324 kann den einfachen Austausch von Informationen und Daten zwischen Datenverarbeitungsgeräten und Netzen ermöglichen. Ein oder mehrere Server 330 können mit dem externen Netz 324 in Verbindung stehen.
  • Das Computersystem 302 kann eine Ein-/Ausgabeschnittstelle (I/O) 320 enthalten, die so konfiguriert sein kann, dass sie digitale und/oder analoge Ein- und Ausgänge bereitstellt. Die E/A-Schnittstelle 320 kann zusätzliche serielle Schnittstellen für die Kommunikation mit externen Geräten enthalten (z. B. Universal Serial Bus (USB)-Schnittstelle).
  • Das Computersystem 302 kann eine Mensch-Maschine-Schnittstelle (HMI) 318 enthalten, die jedes Gerät umfassen kann, das es dem System 300 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabegeräte können Eingaben über menschliche Schnittstellen wie Tastaturen, Mäuse, Touchscreens, Spracheingabegeräte und andere ähnliche Geräte sein. Das Computersystem 302 kann eine Anzeigevorrichtung 332 enthalten. Das Computersystem 302 kann Hardware und Software zur Ausgabe von Grafik- und Textinformationen an die Anzeigevorrichtung 332 enthalten. Die Anzeigevorrichtung 332 kann einen elektronischen Bildschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zur Anzeige von Informationen für einen Benutzer oder Bediener umfassen. Das Computersystem 302 kann ferner so konfiguriert sein, dass es die Interaktion mit entfernten HMI- und entfernten Anzeigegeräten über die Netzwerkschnittstelle 322 ermöglicht.
  • Das System 300 kann mit einem oder mehreren Rechnersystemen implementiert werden. Obwohl das Beispiel ein einziges Computersystem 302 zeigt, das alle beschriebenen Merkmale implementiert, können verschiedene Merkmale und Funktionen getrennt und von mehreren miteinander kommunizierenden Recheneinheiten implementiert werden. Die gewählte Systemarchitektur kann von einer Vielzahl von Faktoren abhängen.
  • Das System 300 kann einen Algorithmus 310 für maschinelles Lernen implementieren, der so konfiguriert ist, dass er den Rohquellendatensatz 315 analysiert. Der Rohquellendatensatz 315 kann rohe oder unverarbeitete Sensordaten enthalten, die repräsentativ für einen Eingabedatensatz für ein Machine-Learning-System (maschinelles Lernsystem) sein können. Der Rohquellendatensatz 315 kann Videos, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (z. B. Radarkarten von Objekten) enthalten. In einigen Beispielen kann der maschinelle Lernalgorithmus 310 ein neuronaler Netzwerkalgorithmus sein, der so konzipiert ist, dass er eine vorbestimmte Funktion ausführt. Zum Beispiel kann der neuronale Netzwerkalgorithmus in Automobilanwendungen so konfiguriert sein, dass er Fußgänger in Videobildern identifiziert.
  • Das Computersystem 300 kann einen Trainingsdatensatz 312 für den Machine-Learning-Algorithmus 310 speichern. Der Trainingsdatensatz 312 kann einen Satz zuvor erstellter Daten zum Trainieren des maschinellen Lernalgorithmus 310 darstellen. Der Trainingsdatensatz 312 kann von dem Machine-Learning-Algorithmus 310 verwendet werden, um Gewichtungsfaktoren zu lernen, die mit einem neuronalen Netzwerkalgorithmus verbunden sind. Der Trainingsdatensatz 312 kann einen Satz von Quellendaten mit entsprechenden Ergebnissen enthalten, die der Machine-Learning-Algorithmus 310 durch den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 312 Quellenvideos mit und ohne Fußgänger und entsprechende Präsenz- und Standortinformationen enthalten. Die Quellenvideos können verschiedene Szenarien enthalten, in denen Fußgänger identifiziert werden.
  • Der Machine-Learning-Algorithmus 310 kann in einem Lernmodus betrieben werden, der den Trainingsdatensatz 312 als Eingabe verwendet. Der maschinelle Lernalgorithmus 310 kann über eine Anzahl von Iterationen unter Verwendung der Daten aus dem Trainingsdatensatz 312 ausgeführt werden. Bei jeder Iteration kann der Machine-Learning-Algorithmus 310 die internen Gewichtungsfaktoren auf der Grundlage der erzielten Ergebnisse aktualisieren. Zum Beispiel kann der Machine-Learning-Algorithmus 310 die Ausgabeergebnisse (z.B. Anmerkungen bzw. Annotations) mit denen aus dem Trainingsdatensatz 312 vergleichen. Da der Trainingsdatensatz 312 die erwarteten Ergebnisse enthält, kann der Algorithmus für maschinelles Lernen 310 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Algorithmus für maschinelles Lernen 310 ein vorbestimmtes Leistungsniveau erreicht hat (z.B. 100%ige Übereinstimmung mit den Ergebnissen, die mit dem Trainingsdatensatz 312 verbunden sind), kann der Algorithmus für maschinelles Lernen 310 unter Verwendung von Daten ausgeführt werden, die nicht im Trainingsdatensatz 312 enthalten sind. Der trainierte Machine-Learning-Algorithmus 310 kann auf neue Datensätze angewendet werden, um kommentierte d. h. annotatierte Daten zu erzeugen.
  • Der Machine-Learning-Algorithmus 310 kann so konfiguriert sein, dass er ein bestimmtes Merkmal in den Rohquellendaten 315 identifiziert. Die Rohquellendatendaten 315 können eine Vielzahl von Instanzen oder Eingabedatensätzen enthalten, für die Annotationsergebnisse gewünscht sind. Beispielsweise kann der Algorithmus 310 für maschinelles Lernen so konfiguriert sein, dass er das Vorhandensein eines Fußgängers in Videobildern identifiziert und die Vorkommnisse mit Anmerkungen versieht. Der Machine-Learning-Algorithmus 310 kann so programmiert sein, dass er die Rohquellendaten 315 verarbeitet, um das Vorhandensein bestimmter Merkmale zu erkennen. Der Machine-Learning-Algorithmus 310 kann so konfiguriert sein, dass er ein Merkmal in den Rohquellendaten 315 als ein vorbestimmtes Merkmal (z. B. Fußgänger) identifiziert. Die Rohquellendaten 315 können aus einer Vielzahl von Quellen stammen. Beispielsweise können die Rohquellendaten 315 tatsächliche Eingabedaten sein, die von einem maschinellen Lernsystem erfasst werden. Die Rohquellendaten 315 können maschinell erzeugt werden, um das System zu testen. Die Rohquellendaten 315 können zum Beispiel Rohvideobilder von einer Kamera enthalten.
  • In diesem Beispiel kann der Algorithmus 310 für maschinelles Lernen die Rohquellendaten 315 verarbeiten und einen Hinweis auf eine Darstellung eines Bildes ausgeben. Die Ausgabe kann auch eine erweiterte Darstellung („augmented representation“) des Bilds enthalten. Ein Algorithmus 310 für maschinelles Lernen kann einen Konfidenzwert oder -faktor für jede erzeugte Ausgabe erzeugen. Zum Beispiel kann ein Konfidenzwert, der einen vorbestimmten Schwellenwert für hohe Konfidenz übersteigt, anzeigen, dass der maschinelle Lernalgorithmus 310 davon überzeugt ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Konfidenzwert, der unter einem Schwellenwert für niedrige Konfidenz („confidence“) liegt, kann anzeigen, dass der maschinelle Lernalgorithmus 310 eine gewisse Unsicherheit hat, dass das bestimmte Merkmal vorhanden ist.
  • 4 ist ein Flussdiagramm, das das Training eines Robustifizierers gemäß einer der folgenden Ausführungsformen veranschaulicht. In Schritt 401 kann das System Eingangsdaten von einem oder mehreren Sensoren empfangen. Bei den Sensoren kann es sich um eine Kamera, ein Radar, ein Röntgengerät, ein Sonar, einen Scanner, ein Mikrofon oder einen ähnlichen Sensor handeln. Die Eingabedaten können Bilder, Audio oder andere Informationen enthalten.
  • In Schritt 403 kann das System einen Datensatz erzeugen. Der Datensatz kann einen ursprünglichen Datensatz und eine gestörte Version („perturbated version“) des Datensatzes enthalten. Das System kann ein kontradiktorisches Training (adversarial Training) mittels projiziertem Gradientenabstieg (Projected Gradient Decent, PGD) auf ein zusammengesetztes System aus einem Robustifizierer und dem Klassifizierer anwenden, um den Robustifizierer zu trainieren. Das System kann eine Ministichprobe (x, y) von dem Datensatz entnehmen, dann den Ministapel duplizieren und dann eine der Kopien mit PGD adversarisch stören (Perturbation), um x̃ (z. B. eine gestörte Version der Eingabe) zu erhalten.
  • In Schritt 405 kann das System dann den Datensatz mit Hilfe des Robustifizierers reinigen. Bei einem festen vortrainierten Klassifizierer h : X → Y (hier wird h nicht mehr als abhängig von den Parametern θ geschrieben, das System kann h als durchweg fest behandeln), kann das System ein Bild-zu-Bild-Übersetzungssystem vorschalten, das als Robustifizierer bezeichnet wird. Ein Robustifizierer kann ein Netzwerk rθ :: X → X sein, parametrisiert durch Parameter θ so dass eine endgültige Vorhersage durch die Zusammensetzung von Klassifizierer und Robustifizierer h(rθ(x)) gegeben werden kann. Generell kann jede beliebige Bild-zu-Bild-Architektur als Robustifizierer verwendet werden, z. B. Variational Autoencoders (VAEs), Bild-Denoiser oder semantische Segmentierungsnetzwerke (letztendlich wird eine Architektur im Stil eines U-Netzes für diese Aufgabe (Task) verwendet).
  • Das System kann den Datensatz bereinigen, um alle mit der Eingabe verbundenen Störungen (Perturbationen) zu entfernen. Das System kann den Robustifizierer zur Bereinigung des Datensatzes verwenden. Das System kann sowohl die Eingabedaten als auch die gestörten (perturbed) Daten, x und x̃, in den Robustifizierer einspeisen und jeweils die Ausgaben des Robustifizierers, rθ(x) und rθ(x̃), in den vortrainierten Klassifizierer h einspeisen. Das System kann rθ(x) und rθ(x̃), die endgültige Ausgabe des vortrainierten Klassifizierers für das gestörte Bild, h (rθ(x̃)), sowie Aktivierungen ausgewählter Zwischenschichten während des Vorwärtspfads, hα(x) und hα(rθ(x̃)), speichern. Schließlich kann das System die Verluste entsprechend berechnen und den Fehler zurückverfolgen (Backpropagation oder Rückwärts-Ausbreitung).
  • In Schritt 407 kann das System die bereinigten Daten an die maschinelle Lernaufgabe (Machine Learning Task) senden. Beispielsweise kann der Robustifizierer die modifizierten Daten an einen Klassifizierer senden. Der Klassifizierer ist nur ein Beispiel für eine maschinelle Lernaufgabe, aber jede Art von maschineller Lernaufgabe kann verwendet werden. Dazu können Objekterkennung, Spracherkennung, semantische Segmentierung usw. gehören.
  • In Schritt 409 kann das System den Robustifizierer trainieren. Um den Robustifizierer zu trainieren, kann das System ein kontradiktorisches Training (Adversarial Training) mittels projiziertem Gradientenabstieg (Projected Gradient Descent, PGD) auf das zusammengesetzte System aus Robustifizierer und Klassifizierer anwenden. Das heißt, es wird ein kontradiktorisches Training für das folgende Ziel durchgeführt:
    min θ E x , y D [ max δ Δ l ( h ( r θ ( x + δ ) ) , y ) ] .
    Figure DE102022206063A1_0001
  • wobei ℓ der Querentropieverlust ist und Δ das Störungsmodell (Perturbations-Modell) ist. Ein Unterschied zwischen diesem Verfahren und dem kontradiktorischen Training besteht darin, dass die Gewichte des Klassifizierers selbst fest sein können und das System nur die Parameter des Robustifizierers verwenden kann.
  • Wenn das System jedoch den Robustifizierer mit diesem Ziel, ohne irgendwelche Randbedingungen für die Ausgabe des Bild-zu-Bild-Netzwerks, trainiert, können die ausgegebenen Bilder zu weit von den Originalbildern abweichen. Da der Robustifizierer lernen kann, jedes beliebige Bild in den Klassifizierer einzugeben, kann er effektiv jede niedrigdimensionale Vielfalt der gewünschten Ausgabe selbst identifizieren und einfach Bilder in dieser reduzierten Vielfalt ausgeben. Dies könnte die Möglichkeit eröffnen, dass der Robustifizierer einfach den Aufwand eines typischen robusten Klassifizierers „dupliziert“, anstatt tatsächlich alle Aspekte der gegnerischen Störung auf eine generische Art und Weise „wegzufiltern“.
  • Um dieses Phänomen zu vermeiden, muss das System möglicherweise zusätzlich ein gewisses Maß an Genauigkeit gegenüber dem Originalbild gewährleisten. Das System kann dies tun, indem es eine Form des Rekonstruktionsverlustes in das Trainingsziel einbezieht, wie z. B. den Verlust des mittleren quadratischen Fehlers (Mean Square Error, MSE). Das System kann x̃ die adverarische Perturbation von x gemäß der obigen Maximierung bezeichnen. Der MSE-Verlust kann wie folgt geschrieben werden:
    l m s e ( x , x ˜ ) = x r θ ( x ˜ ) 2 2
    Figure DE102022206063A1_0002
  • Zur weiteren Verbesserung in dieser Hinsicht kann es vorteilhaft sein, einen MSE-Verlust zwischen Zwischenschichtaktivierungen des vorab trainierten Klassifizierers, der auf das Originalbild angewendet wird, und diesen Zwischenschichtaktivierungen zu bestrafen (penalize), wenn auf die Ausgabe des Robustifizierers (der auf das adversarische Beispiel angewendet wird) angewendet. Das heißt, das System möchte möglicherweise, dass die Ausgabe des Robustifizierers, wenn sie auf ein adversarisches Bild angewandt wird, ein Bild erzeugt, das „nahe“ am Originalbild ist, sowohl in Bezug auf den MSE des Originalbildes als auch in Bezug auf die Aktivierungen, die durch den vortrainierten Klassifizierer erzeugt werden. Wenn man mit hα die Aktivierungen des Klassifizierers h auf ausgewählte Zwischenschichten L bezeichnet, so entspricht dies dem Verlust
    l a c t ( x , x ˜ ) = x h a ( r θ ( x ˜ ) ) 2 2
    Figure DE102022206063A1_0003
  • Insgesamt ist unser Trainingsziel das folgende:
    a l ( h ( r θ ( x ˜ ) ) , y ) + β l m s e ( x , x ˜ ) + γ l a c t ( x , x ˜ )
    Figure DE102022206063A1_0004
  • wobei die Koeffizienten α, β and γ das Ausmaß und die relative Bedeutung der Verlustterme anpassen. Es ist wichtig zu betonen, dass das System zwar alle drei Verlustterme in das Training des Robustifizierers einbeziehen kann, der gegnerische Angriff (Adversarial Attack) selbst aber nicht direkt versucht, diesen kombinierten Verlust zu maximieren, sondern nur den ursprünglichen robusten Verlust maximiert. Dies kann wichtig sein, da der „stärkste“ Gegner (Strongest Adversary) (und eine letztendliche Bewertungsmetrik) sich ausschließlich mit der Maximierung des gegnerischen (adversarischen) Verlusts befasst; die anderen beiden Komponenten sind effektiv Regulierungsterme, die verhindern, dass sich das Robustifizierer-Modell zu stark an das Min-Max-Ziel anpasst.
  • Für ein Modell generierte adversarische Beispiele können auch bei einem anderen Modell, das mit einer anderen Initialisierung trainiert wurde, oder sogar bei Modellen mit anderen Architekturen wirksam sein. Dies wird gemeinhin als Übertragbarkeit von adversarischen d. h. negativen Beispielen (adversarial examples) bezeichnet. Negative Beispiele lassen sich gut auf allgemein verwendete Bildklassifizierer-Architekturen wie ResNet, DenseNet, VGG und Inception übertragen. Die Übertragbarkeit von Negativbeispielen deutet darauf hin, dass die adversarische Vielfalt verschiedener Modellarchitekturen eng miteinander verwandt ist. Wenn das System also das adversarische Rauschen eines Modells mithilfe eines Robustifizierers entfernen kann, ist es wahrscheinlich auch bei Modellen, die mit einer anderen Initialisierung trainiert wurden, sowie bei anderen ähnlichen Modellarchitekturen wirksam.
  • In Schritt 411 kann das System feststellen, ob die Konvergenz erreicht ist oder sich ihr nähert. Das System kann so lange wiederholen, bis der Verlust von f' konvergiert oder eine vordefinierte Abbruchbedingung erreicht wird. Auf diese Weise kann das Netz einen Schwellwert für die vordefinierte Abbruchbedingung festlegen, der auf einem bestimmten Wert basiert, bei dem davon ausgegangen wird, dass die Konvergenz erreicht ist und somit ein trainiertes System vorliegt. Als Schwellwert kann zum Beispiel ein Prozentsatz oder eine andere Bewertung (Score) verwendet werden. Wird das System jedoch nicht trainiert, kann das System jedoch weiterhin versuchen, den Datensatz 405 zu bereinigen.
  • In Schritt 413 kann das System den trainierten Robustifizierer ausgeben. Nach dem Training arbeitet das resultierende Modell g (als Robustifizierer bezeichnet) als datengesteuertes Filter, das Störungen (Perturbationen) aus der Eingabe entfernt. Der Robustifizierer kann also als Filtersystem eingesetzt werden, das dem maschinellen Lernmodell vorangestellt wird. Wenn das System keine Konvergenz erreicht oder sich ihr nähert, kann es den Robustifizierer weiter trainieren, um die Störungen aus der Eingabe zu entfernen. Um die Übertragbarkeit des Robustifizierers zu verbessern, kann das System den Robustifizierer mit einem Ensemble von M Klassifizierern trainieren (z. B. 20 ResNet-18-Modellen, die mit unterschiedlichen Initialisierungen trainiert wurden, oder einigen wenigen Klassifizierern mit unterschiedlichen Modellarchitekturen). Um die Kosten für die Vorwärts- und Rückwärtspropagation auf M Basis-Klassifizierern zu vermeiden, kann das System jedes Mal nur einen Basis-Klassifizierer zufällig auswählen, anstatt die Vorhersage aller M Klassifizierer zu addieren, gemäß einer Ausführungsform. Dies kann es dem System ermöglichen, den Robustifizierer mit einem Ensemble von Basis-Klassifizierern zu trainieren, wobei die Trainingskosten ähnlich hoch sind wie bei einem Training mit 1 Basismodell.
  • Es sei darauf hingewiesen, dass 4 ein repräsentatives Flussdiagramm der Robustifizierung eines maschinellen Lernnetzes zeigt. Bei der vorgeschlagenen Methode handelt es sich um eine empirische, datengesteuerte Methode. Die vorgeschlagene Methode kann das Problem der Robustheit eines Kl-Systems/eines maschinellen Lernmodells f angesichts einer Verlustfunktion L und einer Reihe von zulässigen Störungen (Perturbationen) Δ lösen. Das Problem der Robustifizierung eines maschinellen Lernmodells besteht darin, dass bei einer additiven Störung δ ∈ Δ die Ausgabe des maschinellen Lernsystems auf die gestörte Eingabe f(x + δ) nicht von der Ausgabe des maschinellen Lernsystems bei der ursprünglichen Eingabe abweicht f(x). Umgekehrt wird die Störung δ ∈ Δ so ausgelegt, dass δ = argmax δ ' Δ L ( ƒ ; x + δ ' )
    Figure DE102022206063A1_0005
    (d.h. Formel (1) ist, d.h. die Störung ist so ausgelegt, dass sie ihre Wirkung (negative Wirkung - durch Maximierung der Verlustfunktion) auf das maschinelle Lernsystem f maximiert, indem eine Lösung (oder eine Näherungslösung) für das in Formel (1) beschriebene Optimierungsproblem gefunden wird.
  • Das Problem der Robustheit oder der Verteidigung des maschinellen Lernmodells f gegenüber nachteiligen d.h. adversarischen Störungen besteht darin, dass das Modell (oder Teile davon oder zusätzliche Komponenten) so parametrisiert oder reparametrisiert wird, dass seine Leistung für den Satz von Störungen (oder der mit Formel (1) gefundenen schlimmsten Störungen) optimiert wird, wobei der Klassifizierer f, Störungsraum Δ, Verlustfunktion L und Eingabe x berücksichtigt werden. Zur Verteidigung des maschinellen Lernmodells f wie voranstehend beschrieben, besteht die vorgeschlagene Methode darin, ein dichtes Vorhersagemodell g gekennzeichnet durch den Parametersatz θ vor f hinzuzufügen, was das neue Modell sein kann:
    f' = ƒ ( g ( θ , x ) ) ,
    Figure DE102022206063A1_0006
  • Das Modell g (das die Eingabe in eine Zwischeneingabe mit denselben Dimensionen wie die ursprüngliche Eingabe abbildet, die in das Modell f eingespeist wird) kann ein beliebiges dichtes Vorhersagenetz sein, wie z. B. semantische Segmentierungsnetze (FCN, Unet, DAnet, Deeplab), Bildentrauschung (dncnn) und Variations-Autoencoder.
  • Die folgenden Schritte können verwendet werden, um g mit einem Satz von ungestörten Trainingsdaten t {x|x ∈ X}und einem Satz zulässiger Störungen Δ zu trainieren:
  • Bei einer Charge von Eingaben t {x|x ∈ X}, Erzeugen einer Störung δ für jede Eingabe in der Charge auf der Grundlage von Formel (1) für das zusammengesetzte Modell f' = f(g)
  • Aktualisieren der Parameter von g, indem die Verlustfunktion des zusammengesetzten Modells mit VL(f(g(x+5))) minimiert wird, wobei diese Aktualisierung mit vorhandenen Optimierern wie SGD, adam usw. durchgeführt werden kann.
  • Das System kann so lange wiederholt werden, bis der Verlust von f' konvergiert oder eine vordefinierte Abbruchbedingung erreicht ist. So kann das Netz einen Schwellwert für die vordefinierte Abbruchbedingung auf der Grundlage eines bestimmten Wertes festlegen, der als Konvergenz und somit als trainiertes System gilt. Als Schwellwert kann zum Beispiel ein Prozentsatz oder ein anderer Wert verwendet werden.
  • Nach dem Training arbeitet das resultierende Modell g (als Robustifizierer bezeichnet) als datengesteuertes Filter, das Störungen aus der Eingabe entfernt. Somit kann der Robustifizierer als Filtersystem eingesetzt werden, das dem maschinellen Lernmodell vorangestellt wird. Darüber hinaus kann die Methode auf verschiedene Sätze zulässiger Störungen angewandt werden, so dass unterschiedliche Robustifizierer entstehen. Verschiedene Robustifizierer (die gegenüber verschiedenen Störungsmodellen robust sind) können dann kombiniert oder ausgetauscht werden (entweder manuell durch einen Bediener oder automatisch durch ein Steuersignal, das von einem sekundären Algorithmus bereitgestellt wird, der das Bedrohungsmodell erkennen kann), wodurch ein höheres Maß an Robustheit und Modellverteidigung gegenüber mehreren oder unbekannten Bedrohungsmodellen ohne signifikante Leistungseinbußen erreicht wird. Darüber hinaus können zusätzliche Komponenten der Verlustfunktion hinzugefügt werden, um weitere Beschränkungen für das Training des Robustifizierers aufzuerlegen (z. B. Minimierung der Wahrnehmungsverzerrung zwischen Input und Output des Robustifizierers).
  • 5 zeigt ein schematisches Diagramm der Interaktion zwischen der computergesteuerten Maschine 10 und dem Steuersystem 12. Die computergesteuerte Maschine 10 kann ein neuronales Netz enthalten, wie in den 1-4 beschrieben. Die computergesteuerte Maschine 10 umfasst einen Aktuator 14 und einen Sensor 16. Der Aktuator 14 kann einen oder mehrere Aktuatoren umfassen und der Sensor 16 kann einen oder mehrere Sensoren umfassen. Der Sensor 16 ist so konfiguriert, dass er einen Zustand der computergesteuerten Maschine 10 erfasst. Der Sensor 16 kann so konfiguriert sein, dass er den erfassten Zustand in Sensorsignale 18 kodiert und die Sensorsignale 18 an das Steuersystem 12 übermittelt. Nicht einschränkende Beispiele für Sensoren 16 sind Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einer Ausführungsform ist der Sensor 16 ein optischer Sensor, der so konfiguriert ist, dass er optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 10 erfasst.
  • Das Steuersystem 12 ist so konfiguriert, dass es Sensorsignale 18 von der computergesteuerten Maschine 10 empfängt. Wie nachstehend dargelegt, kann das Steuersystem 12 ferner so konfiguriert sein, dass es in Abhängigkeit von den Sensorsignalen Aktuator-Steuerbefehle 20 berechnet und Aktuator-Steuerbefehle 20 an den Aktuator 14 der computergesteuerten Maschine 10 übermittelt.
  • Wie in 5 dargestellt, umfasst das Steuersystem 12 eine Empfangseinheit 22. Die Empfangseinheit 22 kann so konfiguriert sein, dass sie Sensorsignale 18 vom Sensor 16 empfängt und die Sensorsignale 18 in Eingangssignale x umwandelt. In einer alternativen Ausführungsform werden die Sensorsignale 18 direkt als Eingangssignale x ohne Empfangseinheit 22 empfangen. Jedes Eingangssignal x kann ein Teil eines jeden Sensorsignals 18 sein. Die Empfangseinheit 22 kann so konfiguriert sein, dass sie jedes Sensorsignal 18 verarbeitet, um jedes Eingangssignal x zu erzeugen. Das Eingangssignal x kann Daten enthalten, die einem vom Sensor 16 aufgenommenen Bild entsprechen.
  • Das Steuersystem 12 umfasst einen Klassifizierer 24. Der Klassifizierer 24 kann so konfiguriert sein, dass er Eingangssignale x mit Hilfe eines Algorithmus des maschinellen Lernens (ML), z. B. eines oben beschriebenen neuronalen Netzes, in ein oder mehrere Labels klassifiziert. Der Klassifizierer 24 ist so konfiguriert, dass er durch Parameter, wie die oben beschriebenen, parametrisiert wird (z. B. Parameter θ). Die Parameter θ können in einem nichtflüchtigen Speicher 26 gespeichert und von diesem bereitgestellt werden. Der Klassifizierer 24 ist so konfiguriert, dass er aus den Eingangssignalen x die Ausgangssignale y bestimmt. Jedes Ausgangssignal y enthält Informationen, die jedem Eingangssignal x ein oder mehrere Labels (Kennzeichnungen) zuweisen. Der Klassifizierer 24 kann die Ausgangssignale y an die Konvertierungseinheit 28 übertragen. Die Konvertierungseinheit 28 ist so konfiguriert, dass sie die Ausgangssignale y in Steuerbefehle für die Aktoren 20 umwandelt. Das Steuersystem 12 ist so konfiguriert, dass es Aktuator-Steuerbefehle 20 an den Aktuator 14 überträgt, der so konfiguriert ist, dass er die computergesteuerte Maschine 10 als Reaktion auf die Aktuator-Steuerbefehle 20 aktiviert. In einer anderen Ausführungsform ist der Aktuator 14 so konfiguriert, dass er die computergesteuerte Maschine 10 direkt auf der Grundlage der Ausgangssignale y betätigt.
  • Beim Empfang von Aktuator-Steuerbefehlen 20 durch den Aktuator 14 ist der Aktuator 14 so konfiguriert, dass er eine Aktion ausführt, die dem entsprechenden Aktuator-Steuerbefehl 20 entspricht. Der Aktuator 14 kann eine Steuerlogik enthalten, die so konfiguriert ist, dass sie Aktuator-Steuerbefehle 20 in einen zweiten Aktuator-Steuerbefehl umwandelt, der zur Steuerung des Aktuators 14 verwendet wird. In einer oder mehreren Ausführungsformen können die Aktuator-Steuerbefehle 20 zur Steuerung einer Anzeige anstelle oder zusätzlich zu einem Aktuator verwendet werden.
  • In einer anderen Ausführungsform umfasst das Steuersystem 12 einen Sensor 16 anstelle oder zusätzlich zu der computergesteuerten Maschine 10 mit dem Sensor 16. Das Steuersystem 12 kann auch einen Aktuator 14 anstelle oder zusätzlich zu der computergesteuerten Maschine 10 mit dem Aktuator 14 umfassen.
  • Wie in 5 dargestellt, umfasst das Steuersystem 12 auch einen Prozessor 30 und einen Speicher 32. Der Prozessor 30 kann einen oder mehrere Prozessoren umfassen. Der Speicher 32 kann eine oder mehrere Speichervorrichtungen umfassen. Der Klassifizierer 24 (z. B. ML-Algorithmen) einer oder mehrerer Ausführungsformen kann vom Steuersystem 12 implementiert werden, das einen nichtflüchtigen Speicher 26, den Prozessor 30 und den Speicher 32 umfasst.
  • Der nichtflüchtige Speicher 26 kann ein oder mehrere dauerhafte Datenspeichergeräte umfassen, wie z. B. eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, ein nichtflüchtiges Solid-State-Gerät, einen Cloud-Speicher oder ein anderes Gerät, das Informationen dauerhaft speichern kann. Der Prozessor 30 kann eine oder mehrere Vorrichtungen umfassen, die aus Hochleistungscomputersystemen (HPC) ausgewählt sind, einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, Zentraleinheiten, feldprogrammierbaren Gatteranordnungen, programmierbaren Logikvorrichtungen, Zustandsmaschinen, Logikschaltungen, analogen Schaltungen, digitalen Schaltungen oder anderen Vorrichtungen, die (analoge oder digitale) Signale auf der Grundlage von computerausführbaren Anweisungen, die sich im Speicher 32 befinden, manipulieren. Der Speicher 32 kann ein einzelnes Speichergerät oder eine Reihe von Speichergeräten umfassen, einschließlich, aber nicht beschränkt auf, Direktzugriffsspeicher (RAM), flüchtigen Speicher, nichtflüchtigen Speicher, statischen Direktzugriffsspeicher (SRAM), dynamischen Direktzugriffsspeicher (DRAM), Flash-Speicher, Cache-Speicher oder jedes andere Gerät, das Informationen speichern kann.
  • Der Prozessor 30 kann so konfiguriert sein, dass er in den Speicher 32 einliest und computerausführbare Anweisungen ausführt, die sich im nichtflüchtigen Speicher 26 befinden und einen oder mehrere ML-Algorithmen und/oder -Methoden einer oder mehrerer Ausführungsformen verkörpern. Der nichtflüchtige Speicher 26 kann ein oder mehrere Betriebssysteme und Anwendungen enthalten. Im nichtflüchtigen Speicher 26 können kompilierte und/oder interpretierte Computerprogramme gespeichert werden, die mit einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich, ohne Einschränkung und entweder allein oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
  • Bei Ausführung durch den Prozessor 30 können die computerausführbaren Befehle des nichtflüchtigen Speichers 26 das Steuersystem 12 veranlassen, einen oder mehrere der hier offenbarten ML-Algorithmen und/oder - Methoden zu implementieren. Der nichtflüchtige Speicher 26 kann auch ML-Daten (einschließlich Datenparameter) enthalten, die die Funktionen, Merkmale und Prozesse einer oder mehrerer hier beschriebener Ausführungsformen unterstützen.
  • Der Programmcode, der die hier beschriebenen Algorithmen und/oder Methoden verkörpert, kann einzeln oder gemeinsam als Programmprodukt in einer Vielzahl verschiedener Formen verbreitet werden. Der Programmcode kann mit Hilfe eines computerlesbaren Speichermediums verteilt werden, auf dem sich computerlesbare Programmanweisungen befinden, die einen Prozessor veranlassen, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Zu den computerlesbaren Speichermedien, die von Natur aus nicht flüchtig sind, können flüchtige und nicht flüchtige sowie entfernbare und nicht entfernbare materielle Medien gehören, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten, implementiert sind. Zu den computerlesbaren Speichermedien können ferner RAM, ROM, löschbarer programmierbarer Festwertspeicher (EPROM), elektrisch löschbarer programmierbarer Festwertspeicher (EEPROM), Flash-Speicher oder andere Festkörperspeichertechnologien, tragbare Compact-Disc-Festwertspeicher (CD-ROM) oder andere optische Speichermedien, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium gehören, die zur Speicherung der gewünschten Informationen verwendet und von einem Computer gelesen werden können. Computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf einen Computer, eine andere Art von programmierbarem Datenverarbeitungsgerät oder ein anderes Gerät oder über ein Netz auf einen externen Computer oder ein externes Speichergerät heruntergeladen werden.
  • Computerlesbare Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Arten von programmierbaren Datenverarbeitungsgeräten oder andere Vorrichtungen anzuweisen, in einer bestimmten Weise zu arbeiten, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel erzeugen, der Anweisungen enthält, die die in den Flussdiagrammen oder Diagrammen angegebenen Funktionen, Handlungen und/oder Operationen implementieren. In bestimmten alternativen Ausführungsformen können die in den Flussdiagrammen und Diagrammen angegebenen Funktionen, Handlungen und/oder Operationen in Übereinstimmung mit einer oder mehreren Ausführungsformen neu geordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Darüber hinaus kann jedes der Flussdiagramme und/oder Diagramme mehr oder weniger Knoten oder Blöcke enthalten, als in einer oder mehreren Ausführungsformen dargestellt sind. Die Prozesse, Methoden (Verfahren) oder Algorithmen können ganz oder teilweise durch geeignete Hardwarekomponenten wie anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), Zustandsautomaten, Steuerungen oder andere Hardwarekomponenten oder -geräte oder eine Kombination aus Hardware-, Software- und Firmwarekomponenten realisiert werden.
  • 6 zeigt ein schematisches Diagramm des Steuersystems 12, das zur Steuerung eines Fahrzeugs 50 konfiguriert ist, das ein zumindest teilweise autonomes Fahrzeug oder ein zumindest teilweise autonomer Roboter sein kann. Wie in 5 dargestellt, umfasst das Fahrzeug 50 einen Aktuator 14 und einen Sensor 16. Der Sensor 16 kann einen oder mehrere Videosensoren, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (z. B. GPS) umfassen. Einer oder mehrere der spezifischen Sensoren können in das Fahrzeug 50 integriert werden. Alternativ oder zusätzlich zu einem oder mehreren der oben genannten spezifischen Sensoren kann der Sensor 16 ein Softwaremodul enthalten, das so konfiguriert ist, dass es bei der Ausführung einen Zustand des Aktuators 14 bestimmt. Ein nicht einschränkendes Beispiel für ein Softwaremodul ist ein Wetterinformations-Softwaremodul, das so konfiguriert ist, dass es einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Nähe des Fahrzeugs 50 oder an einem anderen Ort bestimmt.
  • Der Klassifizierer 24 des Steuersystems 12 des Fahrzeugs 50 kann so konfiguriert sein, dass er Objekte in der Nähe des Fahrzeugs 50 in Abhängigkeit von Eingangssignalen x erkennt. In einer solchen Ausführungsform kann das Ausgangssignal y Informationen enthalten, die die Nähe der Objekte zum Fahrzeug 50 charakterisieren. Der Aktuator-Steuerbefehl 20 kann in Übereinstimmung mit dieser Information bestimmt werden. Der Aktuator-Steuerbefehl 20 kann verwendet werden, um Kollisionen mit den erkannten Objekten zu vermeiden.
  • In Ausführungsformen, bei denen das Fahrzeug 50 ein zumindest teilweise autonomes Fahrzeug ist, kann der Aktuator 14 in einer Bremse, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 50 untergebracht sein. Aktuator-Steuerbefehle 20 können so bestimmt werden, dass der Aktuator 14 so gesteuert wird, dass das Fahrzeug 50 Kollisionen mit erkannten Objekten vermeidet. Erkannte Objekte können auch danach klassifiziert werden, was der Klassifizierer 24 als am wahrscheinlichsten ansieht, z. B. Fußgänger oder Bäume. Die Steuerbefehle für die Aktoren 20 können in Abhängigkeit von der Klassifizierung festgelegt werden. Das Steuersystem 12 kann den Robustifizierer nutzen, um das Netzwerk für ungünstige d. h. adversarische Bedingungen zu trainieren, z. B. bei schlechten Lichtverhältnissen oder schlechten Wetterbedingungen in der Fahrzeugumgebung sowie bei einem Angriff.
  • In anderen Ausführungsformen, in denen das Fahrzeug 50 ein zumindest teilweise autonomer Roboter ist, kann das Fahrzeug 50 ein mobiler Roboter sein, der so konfiguriert ist, dass er eine oder mehrere Funktionen wie Fliegen, Schwimmen, Tauchen und Treten ausführt. Bei dem mobilen Roboter kann es sich um einen zumindest teilweise autonomen Rasenmäher oder einen zumindest teilweise autonomen Reinigungsroboter handeln. In solchen Ausführungsformen kann der Aktor-Steuerbefehl 20 so bestimmt werden, dass eine Antriebseinheit, eine Lenkeinheit und/oder eine Bremseinheit des mobilen Roboters so gesteuert werden kann, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • In einer anderen Ausführungsform ist das Fahrzeug 50 ein zumindest teilweise autonomer Roboter in Form eines Gartenroboters. In einer solchen Ausführungsform kann das Fahrzeug 50 einen optischen Sensor als Sensor 16 verwenden, um den Zustand der Pflanzen in der Umgebung des Fahrzeugs 50 zu bestimmen. Der Aktuator 14 kann eine Düse sein, die zum Versprühen von Chemikalien konfiguriert ist. Abhängig von einer identifizierten Art und/oder einem identifizierten Zustand der Pflanzen kann der Steuerbefehl 20 für den Aktuator 14 so bestimmt werden, dass er die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.
  • Das Fahrzeug 50 kann ein zumindest teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nicht einschränkende Beispiele für Haushaltsgeräte sind eine Waschmaschine, ein Herd, ein Ofen, eine Mikrowelle oder ein Geschirrspüler. In einem solchen Fahrzeug 50 kann der Sensor 16 ein optischer Sensor sein, der so konfiguriert ist, dass er einen Zustand eines Objekts erkennt, das von dem Haushaltsgerät verarbeitet werden soll. Handelt es sich bei dem Haushaltsgerät beispielsweise um eine Waschmaschine, kann der Sensor 16 einen Zustand der Wäsche in der Waschmaschine erfassen. Der Steuerbefehl 20 für den Aktuator kann auf der Grundlage des erfassten Zustands der Wäsche bestimmt werden.
  • 7 zeigt ein schematisches Diagramm des Steuersystems 12, das so konfiguriert ist, dass es das System 100 (z. B. eine Fertigungsmaschine), wie z. B. einen Stanzschneider, eine Schneidevorrichtung oder einen Pistolenbohrer, des Fertigungssystems 102, z. B. als Teil einer Fertigungsstraße, steuert. Das Steuersystem 12 kann so konfiguriert sein, dass es den Aktuator 14 steuert, der so konfiguriert ist, dass er das System 100 (z. B. die Fertigungsmaschine) steuert.
  • Der Sensor 16 des Systems 100 (z. B. die Fertigungsmaschine) kann ein optischer Sensor sein, der so konfiguriert ist, dass er eine oder mehrere Eigenschaften des hergestellten Produkts 104 erfasst. Der Klassifizierer 24 kann so konfiguriert sein, dass er einen Zustand des hergestellten Produkts 104 aus einer oder mehreren der erfassten Eigenschaften bestimmt. Der Aktuator 14 kann so konfiguriert sein, dass er das System 100 (z. B. die Fertigungsmaschine) in Abhängigkeit von dem ermittelten Zustand des hergestellten Produkts 104 für einen nachfolgenden Fertigungsschritt des hergestellten Produkts 104 steuert. Der Aktuator 14 kann so konfiguriert sein, dass er Funktionen des Systems 100 (z.B. der Fertigungsmaschine) für ein nachfolgendes Fertigungsprodukt 106 des Systems 100 (z.B. der Fertigungsmaschine) in Abhängigkeit von dem ermittelten Zustand des hergestellten Produkts 104 steuert. Das Steuerungssystem 12 kann den Robustifizierer nutzen, um das maschinelle Lernnetzwerk für ungünstige Bedingungen zu trainieren, wie z. B. bei schlechten Lichtverhältnissen oder Arbeitsbedingungen, die für die Sensoren schwer zu erkennen sind, wie z. B. viel Staub.
  • 8 zeigt ein schematisches Diagramm eines Steuersystems 12, das so konfiguriert ist, dass es ein Elektrowerkzeug 150, z. B. eine Bohrmaschine oder einen Bohrschrauber, steuert, das einen zumindest teilweise autonomen Modus hat. Das Steuersystem 12 kann so konfiguriert sein, dass es den Aktuator 14 steuert, der für die Steuerung des Elektrowerkzeugs 150 konfiguriert ist.
  • Der Sensor 16 des Elektrowerkzeugs 150 kann ein optischer Sensor sein, der so konfiguriert ist, dass er eine oder mehrere Eigenschaften der Arbeitsfläche 152 und/oder des Befestigungselements 154, das in die Arbeitsfläche 152 getrieben wird, erfasst. Der Klassifizierer 24 kann so konfiguriert sein, dass er aus einer oder mehreren der erfassten Eigenschaften einen Zustand der Arbeitsfläche 152 und/oder des Befestigungselements 154 relativ zur Arbeitsfläche 152 bestimmt. Der Zustand kann sein, dass das Befestigungselement 154 bündig mit der Arbeitsfläche 152 ist. Der Zustand kann alternativ die Härte der Arbeitsfläche 152 sein. Der Aktuator 14 kann so konfiguriert sein, dass er das Elektrowerkzeug 150 so steuert, dass die Antriebsfunktion des Elektrowerkzeugs 150 in Abhängigkeit von dem ermittelten Zustand des Befestigungselements 154 relativ zur Arbeitsfläche 152 oder einer oder mehrerer erfasster Eigenschaften der Arbeitsfläche 152 angepasst wird. Zum Beispiel kann der Aktuator 14 die Antriebsfunktion unterbrechen, wenn der Zustand des Befestigungselements 154 relativ zur Arbeitsfläche 152 bündig ist. Als weiteres, nicht einschränkendes Beispiel kann der Aktuator 14 ein zusätzliches oder geringeres Drehmoment in Abhängigkeit von der Härte der Arbeitsfläche 152 anwenden. Das Steuersystem 12 kann den Robustifizierer nutzen, um das maschinelle Lernnetzwerk für ungünstige Bedingungen zu trainieren, z. B. bei schlechten Lichtverhältnissen oder schlechten Wetterbedingungen. Auf diese Weise kann das Steuersystem 12 in der Lage sein, die Umgebungsbedingungen des Elektrowerkzeugs 150 zu erkennen.
  • 9 zeigt ein schematisches Diagramm des Steuersystems 12, das zur Steuerung eines automatisierten persönlichen Assistenten 900 konfiguriert ist. Das Steuersystem 12 kann so konfiguriert sein, dass es den Aktuator 14 steuert, der so konfiguriert ist, dass er den automatisierten persönlichen Assistenten 900 steuert. Der automatisierte persönliche Assistent 900 kann so konfiguriert sein, dass er ein Haushaltsgerät steuert, wie z. B. eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler.
  • Der Sensor 16 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann so konfiguriert sein, dass er Videobilder von Gesten 904 des Benutzers 902 empfängt. Der Audiosensor kann so konfiguriert sein, dass er einen Sprachbefehl des Benutzers 902 empfängt.
  • Das Steuersystem 12 des automatisierten persönlichen Assistenten 900 kann so konfiguriert sein, dass es Aktuator-Steuerbefehle 20 bestimmt, die für die Steuerung des Systems 12 konfiguriert sind. Das Steuersystem 12 kann so konfiguriert sein, dass es Aktuator-Steuerbefehle 20 in Übereinstimmung mit den Sensorsignalen 18 des Sensors 16 bestimmt. Der automatisierte persönliche Assistent 900 ist so konfiguriert, dass er die Sensorsignale 18 an das Steuersystem 12 übermittelt. Der Klassifizierer 24 des Steuersystems 12 kann so konfiguriert sein, dass er einen Gestenerkennungsalgorithmus ausführt, um die Geste 904 des Benutzers 902 zu identifizieren, die Steuerbefehle 20 des Aktuators zu bestimmen und die Steuerbefehle 20 des Aktuators an den Aktuator 14 zu übertragen. Der Klassifizierer 24 kann so konfiguriert sein, dass er als Reaktion auf die Geste 904 Informationen aus einem nichtflüchtigen Speicher abruft und die abgerufenen Informationen in einer für den Empfang durch den Benutzer 902 geeigneten Form ausgibt. Das Steuersystem 12 kann den Robustifizierer nutzen, um das maschinelle Lernnetzwerk für ungünstige d.h. adversarische Bedingungen zu trainieren, z. B. bei schlechten Lichtverhältnissen oder schlechten Wetterbedingungen. So kann das Steuersystem 12 in der Lage sein, Gesten unter solchen Bedingungen zu erkennen.
  • 10 zeigt ein schematisches Diagramm des Steuersystems 12, das zur Steuerung eines Überwachungssystems 250 konfiguriert ist. Das Überwachungssystem 250 kann so konfiguriert sein, dass es den Zugang durch die Tür 252 physikalisch steuert. Der Sensor 16 kann so konfiguriert sein, dass er eine Szene erkennt, die für die Entscheidung, ob Zugang gewährt wird, relevant ist. Der Sensor 16 kann ein optischer Sensor sein, der so konfiguriert ist, dass er Bild- und/oder Videodaten erzeugt und überträgt. Solche Daten können vom Steuersystem 12 verwendet werden, um das Gesicht einer Person zu erkennen. Das Steuersystem 12 kann den Robustifizierer verwenden, um das maschinelle Lernnetzwerk für ungünstige Bedingungen bei schlechten Lichtverhältnissen oder im Falle eines Eindringlings in die Umgebung des Kontrollüberwachungssystems 250 zu trainieren.
  • Der Klassifizierer 24 des Steuersystems 12 des Überwachungssystems 250 kann so konfiguriert sein, dass er die Bild- und/oder Videodaten durch Abgleich mit den im nichtflüchtigen Speicher 26 gespeicherten Identitäten bekannter Personen interpretiert und dadurch die Identität einer Person bestimmt. Der Klassifizierer 24 kann so konfiguriert sein, dass er als Reaktion auf die Interpretation der Bild- und/oder Videodaten einen Steuerbefehl 20 für den Aktuator erzeugt. Das Steuersystem 12 ist so konfiguriert, dass es den Steuerbefehl 20 an den Aktuator 14 übermittelt. In dieser Ausführungsform kann der Aktuator 14 so konfiguriert sein, dass es die Tür 252 als Reaktion auf den Aktuator-Steuerbefehl 20 verriegelt oder entriegelt. In anderen Ausführungsformen ist auch eine nicht-physikalische, logische Zugangskontrolle möglich.
  • Das Überwachungssystem 250 kann auch ein Surveillance-System sein. In einer solchen Ausführungsform kann der Sensor 16 ein optischer Sensor sein, der so konfiguriert ist, dass er eine zu überwachende Szene erkennt, und das Steuersystem 12 ist so konfiguriert, dass es die Anzeige 254 steuert. Der Klassifizierer 24 ist so konfiguriert, dass er eine Klassifizierung einer Szene bestimmt, z. B. ob die von Sensor 16 erfasste Szene verdächtig ist. Das Steuersystem 12 ist so konfiguriert, dass es als Reaktion auf die Klassifizierung einen Aktuator-Steuerbefehl 20 an die Anzeige 254 übermittelt. Die Anzeige 254 kann so konfiguriert sein, dass sie den angezeigten Inhalt in Reaktion auf den Aktor-Steuerbefehl 20 anpasst. Beispielsweise kann die Anzeige 254 ein Objekt hervorheben, das vom Klassifizierer 24 als verdächtig eingestuft wurde.
  • 11 zeigt ein schematisches Diagramm eines Steuersystems 12, das zur Steuerung des Bildgebungssystems 1100 konfiguriert ist, z. B. eines MRI-Geräts, eines Röntgenbildgebungsgeräts oder eines Ultraschallgeräts. Der Sensor 16 kann z. B. ein Bildgebungssensor sein. Der Klassifizierer 24 kann so konfiguriert sein, dass er eine Klassifizierung des gesamten oder eines Teils des erfassten Bildes bestimmt. Der Klassifizierer 24 kann so konfiguriert sein, dass er als Reaktion auf die von dem trainierten neuronalen Netz erhaltene Klassifizierung einen Aktuator-Steuerbefehl 20 bestimmt oder auswählt. So kann der Klassifizierer 24 beispielsweise einen Bereich eines erfassten Bildes als potenziell anomal interpretieren. In diesem Fall kann der Aktor-Steuerbefehl 20 bestimmt oder ausgewählt werden, um die Anzeige 302 zu veranlassen, das Bild anzuzeigen und den potenziell anomalen Bereich hervorzuheben. Das Steuersystem 12 kann den Robustifizierer nutzen, um das maschinelle Lernnetzwerk für ungünstige Bedingungen während einer Röntgenaufnahme zu trainieren, wie z. B. schlechte Beleuchtung.
  • Die hierin offenbarten Prozesse, Verfahren und Methoden oder Algorithmen können an eine Verarbeitungseinrichtung, einen Controller oder einen Computer geliefert bzw. von diesem ausgeführt werden, was jede vorhandene programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit umfassen kann. Ebenso können die Prozesse, Verfahren und Methoden oder Algorithmen als Daten und Anweisungen gespeichert werden, die von einem Steuergerät (Controller) oder Computer in vielen Formen ausgeführt werden können, einschließlich, aber nicht beschränkt auf Informationen, die dauerhaft auf nicht beschreibbaren Speichermedien wie ROM-Geräten gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speichermedien wie Disketten, Magnetbändern, CDs, RAM-Geräten und anderen magnetischen und optischen Medien gespeichert sind. Die Prozesse, Verfahren und Methoden oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Alternativ können die Prozesse, Verfahren und Methoden oder Algorithmen ganz oder teilweise durch geeignete Hardware-Komponenten wie anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), Zustandsautomaten, Controller und Steuerungen oder andere Hardware-Komponenten oder -Geräte oder eine Kombination aus Hardware-, Software- und Firmware-Komponenten verkörpert werden.
  • Obwohl voranstehend beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die von den Ansprüchen umfasst sind. Die in der Beschreibung verwendeten Worte sind eher beschreibend als einschränkend, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Grundgedanken und Umfang der Offenbarung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die möglicherweise nicht ausdrücklich beschrieben oder abgebildet sind. Während verschiedene Ausführungsformen als vorteilhaft oder bevorzugt gegenüber anderen Ausführungsformen oder Implementierungen des Standes der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften beschrieben werden könnten, erkennen Fachleute, dass ein oder mehrere Merkmale oder Eigenschaften beeinträchtigt werden können, um gewünschte Gesamtsystemeigenschaften zu erreichen, die von der spezifischen Anwendung und Implementierung abhängen. Diese Eigenschaften können u. a. Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Wartungsfreundlichkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. umfassen, sind aber nicht darauf beschränkt. Soweit Ausführungsformen in Bezug auf ein oder mehrere Merkmale als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Standes der Technik beschrieben werden, liegen diese Ausführungsformen nicht außerhalb des Anwendungsbereichs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.

Claims (20)

  1. Computerimplementiertes Verfahren zum Trainieren eines maschinellen Lernnetzwerks, umfassend: Empfangen von Eingabedaten von einem Sensor, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen darstellen; Erzeugen eines Eingabedatensatzes unter Verwendung der Eingabedaten, wobei der Eingabedatensatz gestörte Daten enthält; Senden des Eingangsdatensatzes an einen Robustifizierer, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz bereinigt, indem er mit dem Eingabedatensatz verbundene Störungen entfernt, um einen modifizierten Eingabedatensatz zu erzeugen; Senden des modifizierten Eingabedatensatzes an eine vortrainierte maschinelle Lernaufgabe; Trainieren des Robustifizierers, um einen trainierten Robustifizierer zu erhalten, der den modifizierten Eingabedatensatz verwendet; und als Reaktion auf die Konvergenz des trainierten Robustifizierers auf einen ersten Schwellwert, Ausgeben des trainierten Robustifizierers.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei die maschinelle Lernaufgabe einen Klassifizierer, einen Objektdetektor, eine semantische Segmentierung oder eine Spracherkennung umfasst.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Optimierer einen stochastischen Gradientenabstiegsoptimierer, Adam-Optimierer, Gradientenabstiegsoptimierer oder einen adaptiven Optimierer umfasst.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei die gepaarten bereinigten-gestörten Daten parallel an den Robustifizierer parallel gesendet werden.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei der erste Schwellwert eine Verlustbetrag der Eingabedaten umfasst.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei die gestörten Daten unter Verwendung eines Projekt-Gradientenabstiegs-Angriffs erzeugt werden.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Eingabedaten von der Kamera erhaltene Videoinformationen enthalten.
  8. System mit einem maschinellen Lernnetzwerk, umfassend: eine Eingabeschnittstelle, die so konfiguriert ist, dass sie Eingabedaten von einem Sensor empfängt, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon umfasst; einen Prozessor, der mit der Eingabeschnittstelle in Verbindung steht, wobei der Prozessor programmiert ist zum: Empfangen der Eingabedaten, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen darstellen; Erzeugen eines Eingabedatensatzes unter Verwendung der Eingabedaten, wobei der Eingabedatensatz gestörte Daten enthält; Senden des Eingabedatensatzes an einen Robustifizierer, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz bereinigt, indem er mit dem Eingabedatensatz verbundene Störungen entfernt, um einen modifizierten Eingabedatensatz zu erzeugen; Senden des geänderten Eingabedatensatzes an eine maschinelle Lernaufgabe; Trainieren des Robustifizierers unter Verwendung des modifizierten Eingabedatensatzes, um einen trainierten Robustifizierer zu erhalten; und Ausgabe des trainierten Robustifizierers und der maschinellen Lernaufgabe als Reaktion auf die Konvergenz auf einen ersten Schwellwert.
  9. System nach Anspruch 8, wobei der Prozessor ferner so programmiert ist, dass er bei jeder Iteration einen Basis-Klassifizierer zufällig abtastet.
  10. System nach Anspruch 8, wobei der Eingabedatensatz gestörte Daten enthält, wobei die gestörten Daten unter Verwendung eines Projekt-Gradientenabstiegs-Angriffs erzeugt werden.
  11. System nach Anspruch 8, wobei der gestörte Datensatz computergenerierte Daten sind, die einem reinen Datensatz entsprechen.
  12. System nach Anspruch 8, wobei die maschinelle Lernaufgabe ein tiefes neuronales Netz ist.
  13. System nach Anspruch 8, wobei die maschinelle Lernaufgabe einen Klassifizierer, einen Objektdetektor, eine semantische Segmentierung oder eine Spracherkennung umfasst.
  14. Computerprogrammprodukt, das Befehle speichert, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen zum Empfangen von Eingabedaten von einem Sensor, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon umfasst; Erzeugen eines Eingabedatensatzes unter Verwendung des Eingabedatensatzes, wobei der Eingabedatensatz gestörte Daten enthält; Senden des Eingabedatensatzes an einen Robustifizierer, wobei der Robustifizierer so konfiguriert ist, dass er den Eingabedatensatz bereinigt, indem er mit dem Eingabedatensatz verbundene Störungen entfernt, um einen modifizierten Eingabedatensatz zu erzeugen; Senden des geänderten Eingabedatensatzes an eine vortrainierte maschinelle Lernaufgabe; Trainieren des Robustifizierers unter Verwendung des modifizierten Eingabedatensatzes; und bei Konvergenz auf einen ersten Schwellwert, Ausgeben eines trainierten Robustifizierer.
  15. Computerprogrammprodukt nach Anspruch 14, wobei die Eingabedaten ein Bild enthalten, das von einer Kamera in Kommunikation mit dem Computer empfangen wird.
  16. Computerprogrammprodukt nach Anspruch 14, wobei der Computer Befehle enthält, die den Computer veranlassen, den trainierten Robustifizierer in Reaktion auf einen einzelnen Vorwärtsdurchlauf auszugeben.
  17. Das Computerprogrammprodukt nach Anspruch 14, wobei die maschinelle Lernaufgabe einen Klassifizierer, einen Objektdetektor, eine semantische Segmentierung oder eine Spracherkennung umfasst.
  18. Computerprogrammprodukt nach Anspruch 14, wobei der Eingabedatensatz gestörte Daten enthält, wobei die gestörten Daten unter Verwendung eines Projekt-Gradientenabstiegs-Angriffs erzeugt werden.
  19. Computerprogrammprodukt nach Anspruch 14, wobei ein Gewicht verbunden mit der maschinellen Lernaufgabe fest ist, aber Parameter des Robustifizierers geändert werden.
  20. Computerprogrammprodukt nach Anspruch 14, wobei die Eingabedaten Schallinformationen enthalten, die von dem Mikrofon erhalten werden.
DE102022206063.6A 2021-06-16 2022-06-15 System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe Pending DE102022206063A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/349,645 US20220405648A1 (en) 2021-06-16 2021-06-16 System and method for prepending robustifier for pre-trained models against adversarial attacks
US17/349,645 2021-06-16

Publications (1)

Publication Number Publication Date
DE102022206063A1 true DE102022206063A1 (de) 2022-12-22

Family

ID=84283618

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206063.6A Pending DE102022206063A1 (de) 2021-06-16 2022-06-15 System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe

Country Status (3)

Country Link
US (1) US20220405648A1 (de)
CN (1) CN115482428A (de)
DE (1) DE102022206063A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12026621B2 (en) * 2020-11-30 2024-07-02 Robert Bosch Gmbh Method and system for low-query black-box universal attacks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949951B2 (en) * 2018-08-23 2021-03-16 General Electric Company Patient-specific deep learning image denoising methods and systems
US11259770B2 (en) * 2019-11-14 2022-03-01 GE Precision Healthcare LLC Methods and systems for noise reduction in x-ray imaging

Also Published As

Publication number Publication date
US20220405648A1 (en) 2022-12-22
CN115482428A (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102022206060A1 (de) Verteidigung von multimodalen fusionsmodellen gegen angreifer mit nur einer quelle
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE102023102316A1 (de) System und verfahren zur robusten erzeugung von pseudo-labels für die halb-überwachte objekterkennung
DE102023202402A1 (de) System und Verfahren zum Verbessern der Robustheit von vortrainierten Systemen in tiefen neuronalen Netzwerken unter Verwendung von Randomisierung und Sample-Abweisung
DE112020003343T5 (de) System und verfahren mit einem robusten tiefen generativen modell
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe
DE102023212504A1 (de) Systeme und Verfahren zum Training eines Videoobjekt-Detektionsmaschinen-Lernmodells mit einem Rahmen von Lehrer und Schüler
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102023210854A1 (de) Merkmalsextraktor für ein neuronales Netzwerk für Actor-Critic-Reinforcement-Learning-Modelle
DE102020210376A1 (de) Vorrichtung und Verfahren zum Steuern eines Hardware-Agenten in einer Steuersituation mit mehreren Hardware-Agenten
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
DE112022003696T5 (de) Verfahren und systeme zur erzeugung von modellen für die bildanalyse pipeline prediction
DE102023207515A1 (de) Systeme und Verfahren für expertengeführte Semiüberwachung mit Label-Propagation für maschinelle Lernmodelle
DE102021210392A1 (de) System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung
DE102023202739A1 (de) Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird