DE102021210415A1 - Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings - Google Patents

Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings Download PDF

Info

Publication number
DE102021210415A1
DE102021210415A1 DE102021210415.0A DE102021210415A DE102021210415A1 DE 102021210415 A1 DE102021210415 A1 DE 102021210415A1 DE 102021210415 A DE102021210415 A DE 102021210415A DE 102021210415 A1 DE102021210415 A1 DE 102021210415A1
Authority
DE
Germany
Prior art keywords
input data
generator
data
training
perturbed
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
DE102021210415.0A
Other languages
English (en)
Inventor
Jeremy Zieg Kolter
Wan-Yi Lin
Leslie RICE
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 DE102021210415A1 publication Critical patent/DE102021210415A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

Computer-implementiertes Verfahren zum Trainieren eines Maschinenlernnetzes. Das Maschinenlernnetz-Verfahren umfasst Empfangen von Eingangsdaten von einem Sensor, wobei die Eingangsdaten gepaarte sauber perturbierte Daten umfassen, wobei die Eingangsdaten Bild-, Radar-, Sonar- oder Toninformationen angeben; Erzeugen einer perturbierten Version der Eingangsdaten unter Verwendung eines Generators als Reaktion auf die Eingangsdaten; Erzeugen einer gepaarten Trainingsdatenmenge unter Verwendung von Daten der Eingangsdaten und eines perturbierten Bildes unter Verwendung der perturbierten Version der Eingangsdaten; gemeinsames Trainieren des Generators und eines Klassifizierers als Reaktion auf die gepaarte Trainingsdatenmenge; Bestimmen eines zum Erzeugen von Pertubation benutzten latenten Vektors, ausgelegt zum Maximieren von Klassifikationsverlust eines Klassifizierers und Minimieren von Erzeugungsverlust des Generators; und Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Konvergenzschwelle.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Ergänzungs- und Bildverarbeitung eines Bildes unter Verwendung von Maschinenlernen.
  • HINTERGRUND
  • Obwohl tiefe neuronale Netze in Bereichen wie Computer-Vision und Verarbeitung natürlicher Sprache weiter unglaubliche Leistungsfähigkeit zeigen, hat sich bei tiefen neuronalen Netzen zunehmend fehlende Robustheit gezeigt.
  • KURZFASSUNG
  • Gemäß einer Ausführungsform ein computer-implementiertes Verfahren zum Trainieren eines Maschinenlernnetzes. Das Maschinenlernnetz-Verfahren umfasst Empfangen von Eingangsdaten von einem Sensor, wobei die Eingangsdatenmenge gepaarte sauber perturbierte Daten umfasst, wobei die Eingangsdaten Bild-, Radar-, Sonar- oder Toninformationen angeben; Erzeugen perturbierter Versionen der Eingangsdaten unter Verwendung eines Generators als Reaktion auf Eingangsdaten; Erzeugen einer Trainingsdatenmenge unter Verwendung von Daten der Eingangsdaten und eines perturbierten Bildes unter Verwendung der perturbierten Version der Eingangsdaten; gemeinsames Trainieren des Generators und eines Klassifizierers als Reaktion auf die gepaarte Trainingsdatenmenge; Bestimmen eines zum Erzeugen von Pertubation benutzten latenten Vektors, ausgelegt zum Maximieren von Klassifikationsverlust eines Klassifizierers und Minimieren von Erzeugungsverlust des Generators; und Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Konvergenzschwelle.
  • Gemäß einer anderen Ausführungsform ein System, das ein Maschinenlernnetz umfasst. Das Netz umfasst eine Eingangsschnittstelle, ausgelegt zum Empfangen von Eingangsdaten von einem Sensor, wobei der Sensor eine Kamera, einen Radar, einen Sonar oder ein Mikrofon umfasst, einen Prozessor in Kommunikation mit der Eingangsschnittstelle. Der Prozessor ist programmiert zum Empfangen der Eingangsdaten, wobei die Eingangsdaten gepaarte sauber perturbierte Daten umfassen, wobei die Eingangsdaten Bild-, Radar-, Sonar- oder Toninformationen angeben; Erzeugen von perturbierten Versionen der Eingangsdaten unter Verwendung eines Generators als Reaktion auf Eingangsdaten; Erzeugen einer Trainingsdatenmenge unter Verwendung von Daten der Eingangsdaten und perturbierter Daten unter Verwendung der perturbierten Version der Eingangsdaten; gemeinsames Trainieren des Generators und eines Klassifizierers als Reaktion auf die gepaarte Trainingsdatenmenge; Bestimmen eines zum Erzeugen von Pertubation benutzten latenten Vektors, ausgelegt zum Maximieren von Klassifikationsverlust eines Klassifizierers; und Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Konvergenzschwelle.
  • Gemäß einer dritten Ausführungsform speichert ein Computerprogrammprodukt Anweisungen, die, wenn sie durch einen Computer ausgeführt werden, den Computer veranlassen zum Empfangen von Eingangsdaten, wobei die Eingangsdaten eine Datenmenge umfassen, die gepaarte saubere Daten und perturbierte Daten umfasst; Erzeugen perturbierter Versionen der Eingangsdaten als Reaktion auf die Eingangsdaten unter Verwendung eines Generators; Erzeugen einer Trainingsdatenmenge unter Verwendung der Eingangsdaten und eines perturbierten Bildes; Trainieren des Generators und eines Klassifizierers als Reaktion auf die Trainingsdatenmenge Eingangsdaten und der perturbierten Version der Eingangsdaten; und Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Schwelle.
  • Figurenliste
    • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 zeigt ein computer-implementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes.
    • 3 zeigt ein Datenannotationssystem 300 zur Implementierung eines Systems zum Annotieren von Daten.
    • 4 ist ein beispielhaftes Flussdiagramm eines Systemtrainings eines neuronalen Netzes zum Lernen von Pertubationsdatenmengen und gemeinsamen Trainieren eines Generators und Klassifizierers.
    • 5 zeigt eine schematische Darstellung einer Interaktion zwischen einer Computer-gesteuerten Maschine 10 und einem Steuersystem 12.
    • 6 zeigt eine schematische Darstellung des Steuersystems von 1, ausgelegt zum Steuern eines Fahrzeugs, das ein teilweise autonomes Fahrzeug oder ein teilweise autonomer Roboter sein kann.
    • 7 zeigt eine schematische Darstellung des Steuersystems von 1, ausgelegt zum Steuern einer Fertigungsmaschine, wie etwa einer Stanzmaschine, einer Schneidmaschine oder eines Pistolenbohrers des Fertigungssystems, wie etwa Teil einer Fertigungsstraße.
    • 8 zeigt eine schematische Darstellung des Steuersystems von 1, ausgelegt zum Steuern eines Elektrowerkzeugs, wie etwa einer Bohrmaschine oder eines Bohrschraubers mit einem mindestens teilweise autonomen Modus.
    • 9 zeigt eine schematische Darstellung des Steuersystems von 1, ausgelegt zum Steuern eines automatisierten persönlichen Assistenten.
    • 10 zeigt eine schematische Darstellung des Steuersystems von 1, ausgelegt zum Steuern eines Überwachungssystems, wie etwa eines Zugangskontrollsystems oder Beaufsichtigungssystems.
    • 11 zeigt eine schematische Darstellung des Steuersystems von 1, ausgelegt zum Steuern eines Bildgebungssystems, zum Beispiel einer MRI-Vorrichtung, einer Röntgen-Bildgebungsvorrichtung oder Ultraschallvorrichtung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden hier Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale können übertrieben oder minimiert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Hier offenbarte spezifische Struktur- und Funktionsdetails sind deshalb nicht als Beschränkung aufzufassen, sondern lediglich als repräsentative Grundlage, um es Fachleuten zu lehren, die Ausführungsformen verschiedenartig einzusetzen. Wie für Durchschnittsfachleute erkennbar ist, können verschiedene mit Bezug auf eine beliebige der Figuren dargestellte und beschriebene Merkmale mit Merkmalen kombiniert werden, die in einer oder mehreren anderen Figuren dargestellt sind, um Ausführungsformen zu produzieren, die nicht ausdrücklich dargestellt oder beschrieben werden. Die Kombinationen von Merkmalen, die dargestellt werden, geben repräsentative Ausführungsformen für typische Anwendungen. Für bestimmte Anwendungen oder Implementierungen könnten jedoch vereinbar mit den Lehren der vorliegenden Offenbarung verschiedene Kombinationen und Modifikationen der Merkmale erwünscht sein.
  • Vorbekannte Ansätze benutzen konditionale Variations-Autocodierer zum Pertubationsmengen-Lernen aus ungepaarten Daten. Solche Ansätze haben gezeigt, dass die gelernte Basis-Pertubationsmenge beim adversarischen Training und randomisierten Glätten verwendet werden kann, um gegenüber natürlichen Pertubationen robuste Modelle zu lernen. In der nachfolgenden Offenbarung kann das System versuchen, Pertubationsmengen aus gepaarten Daten zu lernen, statt jedoch einen CVAE zu verwenden, um die Qualitätsbedingungen für eine Pertubationsmenge zu erfüllen, kann das System einen konditionalen Generator und einen Klassifizierer gemeinsam trainieren. Somit optimiert das System die latenten Variablen direkt, so dass die kombinierten Verlustterme die Bedingungen durchsetzen.
  • Vorbekannte Ansätze haben gelernte Pertubationsmenge aus Daten benutzt. Obwohl die gelernte Pertubationsmenge zum adversarischen Training verwendet werden kann, kann die Trennung des Pertubationsmengenlernens von dem Training eines robusten Modells die Prozedur ineffizient machen. Die nachfolgende Offenbarung beschreibt ein System, das gemeinsam die unbekannte Pertubationsmenge und das robuste Modell aus gepaarten Daten lernt. Das System kann sowohl Rekonstruktionsverlust als auch Klassifikationsverlust zusammen in das Training des konditionalen Generators, der latente Repräsentation unbekannter Pertubation lernt, und des Klassifizierers integrieren.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingangsschnittstelle zum Zugreifen auf Trainingsdaten 192 für das neuronale Netz umfassen. Zum Beispiel kann, wie in 1 dargestellt, die Eingangsschnittstelle durch eine Datenspeicherungsschnittstelle 180 gebildet werden, die aus einer Datenspeicherung 190 auf die Trainingsdaten 192 zugreifen kann. Die Datenspeicherungsschnittstelle 180 kann zum Beispiel eine Speicherschnittstelle oder persistente Speicherungsschnitte sein, z. B. eine Festplatten- oder eine SSD-Schnittstelle, aber auch eine persönliche, lokale oder großflächige Netzwerkschnittstelle, wie etwa eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder faseroptische Schnittstelle. Die Datenspeicherung 190 kann eine interne Datenspeicherung des Systems 100 sein, wie etwa eine Festplatte oder ein SSD, kann aber auch eine externe Datenspeicherung sein, z. B. eine Netzwerk-zugängliche Datenspeicherung.
  • Bei einigen Ausführungsformen kann die Datenspeicherung 190 ferner eine Datenrepräsentation 194 einer untrainierten Version des neuronalen Netzes umfassen, auf die das System 100 aus der Datenspeicherung 190 zugreifen kann. Es versteht sich jedoch, dass auf die Trainingsdaten 192 und die Datenrepräsentation 194 des untrainierten neuronalen Netzes auch z. B. über ein anderes Subsystem der Datenspeicherungsschnittstelle 180 aus einer anderen Datenspeicherung zugegriffen werden kann. Jedes Subsystem kann von einer Art sein, die oben für die Datenspeicherungsschnittstelle 180 beschrieben wird. Bei anderen Ausführungsformen kann die Datenrepräsentation 194 des untrainierten neuronalen Netzes auf der Basis der Entwurfsparameter für das neuronale Netz intern durch das System 100 erzeugt werden und kann deshalb nicht ausdrücklich in der Datenspeicherung 190 gespeichert sein. Das System 100 kann ferner ein Prozessorsubsystem 160 umfassen, das während des Betriebs des Systems 100 ausgelegt sein kann zum Bereitstellen einer interaktiven Funktion als Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes. Bei einer Ausführungsform können jeweilige Schichten des Stapels von Schichten, die ersetzt werden, gegenseitig geteilte Gewichte aufweisen und können als Eingabe eine Ausgabe einer vorherigen Schicht oder bei einer ersten 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 Prozessorsubsystem 160 kann ferner dafür ausgelegt sein, das neuronale Netz iterativ unter Verwendung der Trainingsdaten 192 zu trainieren. Eine Iteration des Trainings durch das Prozessorsubsystem 160 kann hier einen Vorwärtspropagationsteil und einen Rückwärtspropagationsteil umfassen. Das Prozessorsubsystem 160 kann ausgelegt sein zum Ausführen des Vorwärtspropagationsteils durch, neben anderen Operationen, Definieren des Vorwärtspropagationsteils, der ausgeführt werden kann, Bestimmen eines Gleichgewichtspunkts der iterativen Funktion, bei der die iterative Funktion auf einen festen Punkt konvergiert, wobei Bestimmen des Gleichgewichtspunkts Verwenden eines numerischen Wurzelfindealgorithmus zum Finden einer Wurzellösung für die iterative Funktion minus ihrer Eingabe umfasst, und durch Bereitstellen des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz. Das System 100 kann ferner eine Ausgabeschnittstelle zum Ausgeben einer Datenrepräsentation 196 des trainierten neuronalen Netzes umfassen, wobei diese Daten auch als trainierte Modelldaten 196 bezeichnet werden können. Zum Beispiel kann, wie auch in 1 dargestellt ist, die Ausgabeschnittstelle durch die Datenspeicherungsschnittstelle 180 gebildet werden, wobei diese Schnittstelle bei diesen Ausführungsformen eine Schnittstelle für Eingabe/Ausgabe („IO“) ist, über die die Trainiertes-Modell-Daten 196 in der Datenspeicherung 190 gespeichert werden können. Zum Beispiel kann die Datenrepräsentation 194, die das „untrainierte“ neuronale Netz definiert, während oder nach dem Training mindestens teilweise durch die Datenrepräsentation 196 des trainierten neuronalen Netzes insofern ersetzt werden, als die Parameter des neuronalen Netzes, wie etwa Gewichte, Hyperparameter und andere Arten von Parametern neuronaler Netze, angepasst werden können, um das Training an den Trainingsdaten 192 widerzuspiegeln. Dies ist auch in 1 durch die Bezugszahlen 194, 196 dargestellt, die sich auf denselben Datensatz in der Datenspeicherung 190 beziehen. Bei anderen Ausführungsformen kann die Datenrepräsentation 196 getrennt von der das „untrainierte“ neuronale Netz definierenden Datenrepräsentation 194 gespeichert werden. Bei einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherungsschnittstelle 180 getrennt sein, kann aber im Allgemeinen von einer Art sein, so wie sie oben für die Datenspeicherungsschnittstelle 180 beschrieben wird.
  • 2 zeigt ein Computer-implementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes. Das Verfahren 200 kann einem Betrieb des Systems 100 von 1 entsprechen, muss es aber nicht, da es auch einem Betrieb einer anderen Art von System, Vorrichtung oder Einrichtung entsprechen kann oder es einem Computerprogramm entsprechen kann.
  • Es ist gezeigt, dass das Verfahren 200 in einem Schritt mit dem Titel „DATENREPRÄSENTATION DES NEURONALEN NETZES BEREITSTELLEN“ Bereitstellen 210 eines neuronalen Netzes umfasst, wobei das Bereitstellen des neuronalen Netzes Bereitstellen einer iterativen Funktion als Ersatz für einen Stapel von Schichten des neuronalen Netzes umfasst, wobei jeweilige Schichten des Stapels von Schichten, die ersetzt werden, gegenseitig geteilte Gewichte aufweisen und als Eingabe eine Ausgabe einer vorherigen Schicht oder bei einer ersten Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten empfangen. Es ist ferner gezeigt, dass das Verfahren 200 in einem Schritt mit dem Titel „AUF TRAININGSDATEN ZUGREIFEN“ Zugreifen 220 auf Trainingsdaten für das neuronale Netz umfasst. Es ist ferner gezeigt, dass das Verfahren 200 in einem Schritt mit dem Titel „NEURONALES NETZ UNTER VERWENDUNG DER TRAININGSDATEN ITERATIV TRAINIEREN“ iteratives Trainieren 230 des neuronalen Netzes unter Verwendung der Trainingsdaten umfasst, wobei das Training 230 einen Vorwärtspropagationsteil und einen Rückwärtspropagationsteil umfassen kann. Ausführen des Vorwärtspropagationsteils durch das Verfahren 200 kann in einem Schritt mit dem Titel „GLEICHGEWICHTSPUNKT UNTER VERWENDUNG VON WURZELFINDEALGORITHMUS BESTIMMEN“ Bestimmen 240 eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion auf einen festen Punkt konvergiert, umfassen, wobei Bestimmen des Gleichgewichtspunkts Verwendung eines numerischen Wurzelfindealgorithmus zum Finden einer Wurzellösung für die iterative Funktion minus ihrer Eingabe umfasst, und in einem Schritt mit dem Titel „GLEICHGEWICHTSPUNKT ALS ERSATZ FÜR AUSGABE VON STAPEL VON SCHICHTEN BEREITSTELLEN“ Bereitstellen 250 des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz umfasst. Das Verfahren 200 kann ferner nach dem Training und in einem Schritt mit dem Titel „TRAINIERTES NEURONALES NETZ AUSGEBEN“ Ausgeben 260 eines trainierten neuronalen Netzes umfassen. Das DEQ-Neuronalnetz (Deep Equilibrium) kann ferner in der Patentanmeldung mit dem Titel „DEEP NEURAL NETWORK WITH EQUILIBRIUM SOLVER“ und der Anmeldenummer 16/985/582, eingereicht am 5.8.2020, beschrieben sein, das hiermit durch Bezugnahme vollständig aufgenommen wird.
  • 3 zeigt ein Datenannotationssystem 300 zur Implementierung eines Systems zum Annotieren von Daten. Das Datenannotationssystem 300 kann mindestens ein Datenverarbeitungssystem 302 umfassen. Das Datenverarbeitungssystem 302 kann mindestens einen Prozessor 304 umfassen, der wirksam mit einer Speichereinheit 308 verbunden ist. Der Prozessor 304 kann eine oder mehrere integrierte Schaltungen umfassen, die die Funktionalität einer CPU (Zentralverarbeitungseinheit) 306 implementieren. Die CPU 306 kann eine im Handel erhältliche Verarbeitungseinheit sein, die einen Anweisungssatz implementiert, wie etwa eine der Anweisungssatzfamilien x86, ARM, Power oder MIPS. 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 umfassen, die den Betrieb der CPU 306 steuert, um die hier beschriebene Operation auszuführen. Bei einigen Beispielen kann der Prozessor 304 ein SoC (System auf einem Chip) sein, das Funktionalität der CPU 306, der Speichereinheit 308, einer Netzwerkschnittstelle und von Eingabe-/Ausgabeschnittstellen in eine einzige integrierte Vorrichtung integriert. Das Datenverarbeitungssystem 302 kann ein Betriebssystem zur Verwaltung verschiedener Aspekte des Betriebs implementieren.
  • Die Speichereinheit 308 kann flüchtigen Speicher und nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten beinhalten. Der nichtflüchtige Speicher kann Festkörperspeicher, wie zum Beispiel NAND-Flash-Speicher, magnetische und optische Speicherungsmedien, oder jegliches andere geeignete Datenspeicherungsgerät beinhalten, das Daten bewahrt, wenn das Computing-System 302 deaktiviert wird oder elektrische Energie verliert. Der flüchtige Speicher kann statischen und dynamischen Random-Access-Memory(RAM) beinhalten, der Programmanweisungen und Daten speichert. Zum Beispiel kann die Speichereinheit 308 ein Modell zum maschinellen Lernen 310 oder Algorithmus, Trainingsdatensatz 312 für das Modell zum maschinellen Lernen 310, Rohquelldatensatz 315, speichern.
  • Das Computersystem 302 kann ein Netzwerkschnittstellengerät 322 beinhalten, das dazu ausgelegt ist, Kommunikation mit externen Systemen und Geräten bereitzustellen. Zum Beispiel kann das Netzwerkschnittstellengerät 322 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle beinhalten, wie durch die 802.11-Standardfamilie des Institute of Electrical and Electronics Engineers (IEEE) definiert. Das Netzwerkschnittstellengerät 322 kann eine Mobilfunk-Kommunikationsschnittstelle zum Kommunizieren mit einem Mobilfunknetzwerk (zum Beispiel 3G, 4G, 5G) beinhalten. Das Netzwerkschnittstellengerät 322 kann ferner dazu ausgelegt sein, eine Kommunikationsschnittstelle zu einem externen Netzwerk 324 oder zu einer Cloud bereitzustellen.
  • Das externe Netzwerk 324 kann als das World-Wide-Web oder das Internet bezeichnet werden. Das externe Netzwerk 324 kann ein Standardkommunikationsprotokoll zwischen Computing-Geräten einrichten. Das externe Netzwerk 324 kann einfachen Austausch von Informationen und Daten zwischen Computing-Geräten und Netzwerken ermöglichen. Ein oder mehrere Server 330 können mit dem externen Netzwerk 324 in Kommunikation sein.
  • Das Datenverarbeitungssystem 302 kann Eingabe/Ausgabe (E/A) - Schnittstelle 320 beinhalten, die dazu ausgelegt sein kann, digitale und/oder analoge Eingaben und Ausgaben bereitzustellen. Die E/A-Schnittstelle 320 kann zusätzliche serielle Schnittstellen zur Kommunikation mit externen Geräten (zum Beispiel Universal-Serial-Bus (USB)) beinhalten.
  • Das Datenverarbeitungssystem 102 kann Human-Machine-Interface (HMI) -Gerät 318 beinhalten, das jegliches Gerät beinhalten kann, das es dem System 300 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabegeräte können menschliche Schnittstelleneingaben, wie zum Beispiel Tastaturen, Mäuse, Touchscreens, Spracheingabegeräte und andere ähnliche Geräte, beinhalten. Das Datenverarbeitungssystem 302 kann ein Anzeigegerät 332 beinhalten. Das Datenverarbeitungssystem 302 kann Hardware und Software zum Ausgeben von Grafiken und Textinformationen an das Anzeigegerät 332 beinhalten. Das Anzeigegerät 332 kann einen elektronischen Anzeigebildschirm, Projektor, Drucker oder ein anderes geeignetes Gerät zum Anzeigen von Informationen für einen Benutzer oder Bediener beinhalten. Das Datenverarbeitungssystem 302 kann ferner dazu ausgelegt sein, Interaktion mit einem entfernten HMI und entfernten Anzeigegeräten über das Netzwerkschnittstellengerät 322 zu ermöglichen.
  • Das System 300 kann durch Verwenden eines oder mehrerer Datenverarbeitungssysteme implementiert werden. Während das Beispiel ein einzelnes Datenverarbeitungssystem 302 darstellt, das alle der beschriebenen Merkmale implementiert, ist es beabsichtigt, dass verschiedene Merkmale und Funktionen durch mehrere miteinander kommunizierende Computing-Einheiten getrennt und implementiert werden können. Die bestimmte ausgewählte Systemarchitektur kann von einer Vielzahl von Faktoren abhängen.
  • Das System 300 kann einen Algorithmus zum maschinellen Lernen 310 implementieren, der dazu ausgelegt ist, den Rohquelldatensatz 315 zu analysieren. Der Rohquelldatensatz 315 kann rohe oder unverarbeitete Sensordaten beinhalten, die für einen Eingabedatensatz für ein System zum maschinellen Lernen repräsentativ sein können. Der Rohquelldatensatz 315 kann Video, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (zum Beispiel Radarkarte von Objekten) beinhalten. In einigen Beispielen kann der Algorithmus zum maschinellen Lernen 310 ein neuronaler Netzwerkalgorithmus sein, der dazu entworfen ist, eine vorgegebene Funktion auszuführen. Zum Beispiel kann der neuronale Netzwerkalgorithmus in Automobilanwendungen dazu ausgelegt sein, Fußgänger in Videobildern zu identifizieren.
  • Das Computersystem 300 kann einen Trainingsdatensatz 312 für den Algorithmus zum maschinellen Lernen 310 speichern. Der Trainingsdatensatz 312 kann einen Satz zuvor konstruierter Daten zum Trainieren des Algorithmus zum maschinellen Lernen 310 darstellen. Der Trainingsdatensatz 312 kann durch den Algorithmus zum maschinellen Lernen 310 dazu verwendet werden, Gewichtungsfaktoren zu lernen, die mit einem neuronalen Netzwerkalgorithmus verbunden sind. Der Trainingsdatensatz 312 kann einen Satz von Quelldaten beinhalten, die entsprechende Resultate oder Ergebnisse haben, die der Algorithmus zum maschinellen Lernen 310 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 312 Quellvideos mit und ohne Fußgänger und entsprechende Anwesenheits- und Standortinformationen beinhalten. Die Quellvideos können verschiedene Szenarien beinhalten, in denen Fußgänger identifiziert werden.
  • Der Algorithmus zum maschinellen Lernen 310 kann in einem Lernmodus durch Verwenden des Trainingsdatensatzes 312 als Eingabe betrieben werden. Der Algorithmus zum maschinellen Lernen 310 kann über eine Anzahl von Iterationen durch Verwenden der Daten von dem Trainingsdatensatz 312 ausgeführt werden. Mit jeder Iteration kann der Algorithmus zum maschinellen Lernen 310 interne Gewichtungsfaktoren basierend auf den erreichten Ergebnissen aktualisieren. Zum Beispiel kann der Algorithmus zum maschinellen Lernen 310 Ausgabeergebnisse (zum Beispiel Kommentare) mit denen vergleichen, die in dem Trainingsdatensatz 312 enthalten sind. Da der Trainingsdatensatz 312 die erwarteten Ergebnisse beinhaltet, kann der Algorithmus zum maschinellen Lernen 310 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Algorithmus zum maschinellen Lernen 310 ein vorgegebenes Leistungsniveau erreicht hat (zum Beispiel 100% Übereinstimmung mit den dem Trainingsdatensatz 112 zugeordneten Ergebnissen), kann der Algorithmus zum maschinellen Lernen 310 durch Verwenden von Daten ausgeführt werden, die nicht in dem Trainingsdatensatz 312 enthalten sind. Der trainierte Algorithmus zum maschinellen Lernen 310 kann auf neue Datensätze angewendet werden, um kommentierte Daten zu erzeugen.
  • Der Algorithmus zum maschinellen Lernen 310 kann dazu ausgelegt sein, ein bestimmtes Merkmal in den Rohquelldaten 315 zu identifizieren. Die Rohquelldaten 315 können mehrere Instanzen oder Eingabedatensätze beinhalten, für die Kommentierungsergebnisse erwünscht sind. Zum Beispiel kann der Algorithmus zum maschinellen Lernen 310 dazu ausgelegt sein, das Vorhandensein eines Fußgängers in Videobildern zu identifizieren und die Ereignisse zu kommentieren. Der Algorithmus zum maschinellen Lernen 310 kann dazu programmiert sein, die Rohquelldaten 315 zu verarbeiten, um das Vorhandensein der besonderen Merkmale zu identifizieren. Der Algorithmus zum maschinellen Lernen 310 kann dazu ausgelegt sein, ein Merkmal in den Rohquelldaten 315 als ein vorgegebenes Merkmal (z. B. Fußgänger) zu identifizieren. Die Rohquelldaten 315 können von einer Vielzahl von Quellen abgeleitet werden. Zum Beispiel können die Rohquelldaten 315 tatsächliche durch ein System zum maschinellen Lernen gesammelte Eingabedaten sein. Die Rohquelldaten 315 können zum Testen des Systems Maschinen-erzeugt sein. Beispielsweise können die Rohquelldaten 315 Roh-Videobilder von einer Kamera umfassen.
  • In dem Beispiel kann der Algorithmus zum maschinellen Lernen 310 Rohquelldaten 315 verarbeiten und eine Ausgabe erzeugen, die eine Repräsentation eines Bildes angibt. Die Ausgabe kann auch ergänzte Repräsentation des Bildes umfassen. Ein Algorithmus zum maschinellen Lernen 310 kann ein Vertrauensniveau oder einen Vertrauensfaktor für jede erzeugte Ausgabe erzeugen. Zum Beispiel kann ein Vertrauenswert, der einen vorgegebenen Hochvertrauens-Schwellenwert übersteigt, anzeigen, dass der Algorithmus zum maschinellen Lernen 310 überzeugt ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Vertrauenswert, der kleiner als ein Niedrigvertrauens-Schwellenwert ist, kann anzeigen, dass der Algorithmus zum maschinellen Lernen 310 einige Unsicherheit hat, dass das bestimmte Merkmal vorhanden ist.
  • 4 zeigt ein repräsentatives Flussdiagramm eines perturbierten Datenmengenmodells. In Schritt 401 kann das System, das ein neuronales Netz umfassen kann, Eingangsdaten von einem oder mehreren Sensoren empfangen. Die Eingangsdaten können sich auf Bilder, Ton, Aufzeichnungen oder andere Daten beziehen, die von einem oder mehreren Sensoren abgerufen werden. Die Sensoren können ein Mikrofon, Radar, Sonar, Kamera usw. umfassen. Die Eingangsdaten können gepaart sein, aber erzeugte Daten nicht, weil Klassifizierer nicht benötigt, gepaarte Daten zu sein. Nur ein Generator benötigt sie. Und der Generator kann verwendet werden, um viele Versionen perturbierter Daten mit Generator zu erzeugen und kann die perturbierten Daten (z. B. ., x̃0; x̃1) für jede Iteration unter Verwendung einer anderen latenten Variablen erzeugen.
  • In Schritt 403 kann das System eine gepaarte Datenmenge {x ⊆ ℝm, x̃ ⊆ ℝm, y ∈ ℤ} definieren, wobei jedes x̃i eine gewisse (unbekannte) Perturbationsversion der Originalstichprobe xi ist. Zum Beispiel kann x̃ eine natürliche Verzerrung sein, wie etwa Schnee in einem Bild oder Objekt. Die gepaarte Datenmenge kann ein Beispiel für ein „normales“ oder „sauberes“ Bild sein, während die perturbierte Version ein Bild sein kann, das eine gewisse Verzerrung oder Problematik aufweist, wie etwa dasselbe Bild, das an einem regnerischen, verschneiten oder nebligen Tag aufgenommen wird. In einem solchen Beispiel stammen die Ergebnisse jedoch aus der realen Welt, und Manipulation eines Bildes (z. B. eines sauberen Bildes) kann geschehen, um gewisse Perturbation im Bild zu verursachen. Die perturbierte Version kann somit eine Computer-erzeugte Version der sauberen Version sein.
  • Der Generator kann versuchen, für ein gegebenes x ein x^ zu erzeugen (z. B. perturbierte Erzeugung der Eingabe), das x̃ so nahe wie möglich sein kann. Wenn der Generator trainiert (z. B. ordnungsgemäß trainiert) ist, kann das System bei einem beliebigen gegebenen sauberen Bild in der Lage sein, eine perturbierte Version (z. B. verschneite Version oder eine gewisse andere Verzerrung oder Perturbation) des sauberen Bildes zu erzeugen und sie zum Trainieren des Klassifizierers zu verwenden. In Schritt 405 kann das System gemeinsam einen konditionalen Generator g, der eine latente Variable zi, die bezüglich der Originalstichprobe xi konditioniert ist, auf die entsprechende perturbierte Stichprobe x̃i abbildet, und einen Klassifizierer h, der x als Eingabe nimmt, trainieren. Die Prozedur des Trainings besteht darin, Folgendes zu lösen:
  • min min θ 1 n Σ I N [ min Z I 2 1 l r ( g 0 ( x i , z i ) , x i j ) + β max Z I 2 1 l c ( h ( g θ ( x i , z i ) ) , y i ) ]
    Figure DE102021210415A1_0001
  • In Entscheidung 407 kann das System bestimmen, ob das Maschinenlernnetz auf Konvergenz erreicht. Das System kann für eine solche Bestimmung eine Verlustfunktion benutzen. Somit kann eine Verlustfunktion Rekonstruktionsfehler messen, da ℓr : ℝm × ℝm → ℝ+ eine Verlustfunktion ist, die Rekonstruktionsfehler von g(x,z) auf x̃ misst, wie etwa die quadrierte ℓ2-Norm ihrer Differenz: l 2 ( g ( x , z ) ) , x ˜ = g ( x , z ) x ˜ 2 2 ;
    Figure DE102021210415A1_0002
    und lc: ℝk × ℤ+ → ℝ+ eine Klassifikations-Verlustfunktion, zum Beispiel der Kreuzentropieverlust, ist. Somit ist lc der dem Klassifizierer entsprechende Verlust. β kann den Kompromissterm repräsentieren, der die zwei Verlustfunktionen ausgleicht. Konvergenz kann auf der Basis einer Konvergenzschwelle oder anderen Messungen bestimmt werden. Somit kann das System eine Schwellenanforderung zur Herstellung von Konvergenz aufweisen, und bei Erreichung der oder Annäherung an die Schwelle kann das System identifizieren, dass das Netz nun trainiert ist. Bei der beschriebenen Ausführungsform kann das System solche Konvergenz als Reaktion sowohl auf eine Minimierung des Verlusts zwischen sowohl dem Generator g als auch dem Klassifizierer h identifizieren.
  • Bei einer gegebenen Datenmenge {x ⊆ ℝm, x̃ ⊆ ℝm,y ∈ ℤ}, wobei jedes x̃i eine gewisse zufällig perturbierte Version des Originalbildes xi ist, kann das System somit gemeinsam sowohl einen konditionalen Generator g: ℝm × Z → ℝm, parametrisiert durch θ, als auch einen Klassifizierer h: X → ℝk, parametrisiert durch Ø, gemeinsam trainieren.
  • Die resultierende Perturbationsmenge kann als S(x) = {g(x,z) : ||z||2 ≤ 1} definiert werden. Somit kann der Generator einer gewissen Eingabe, abgebildet auf eine latente Variable, mit ||z||2 ≤ 1 korrelieren.
  • Jedes der inneren Optimierungsprobleme über z kann ungefähr unter Verwendung von ℓ2-PGD (projizierter Gradientenabstieg) gelöst werden.
  • Zur Lösung der obigen min-min-Gleichung kann, aber ohne Beschränkung darauf, durch projizierten Gradientenabstieg gelöst werden, wie der nachfolgende Algorithmus beschreibt:
    Figure DE102021210415A1_0003
    Figure DE102021210415A1_0004
  • Das System kann eine Perturbationsmenge erlernen, indem ihm Stichproben aus dieser Menge bereitgestellt werden, und dann ein Modell trainieren, das gegenüber adversarischen Beispielen in der Menge robust sein kann. Das System kann Paare von Trainingsbeispielen bereitgestellt bekommen, darunter das Originalbeispiel und eine zufällige Perturbation des Beispiels aus einer undefinierten Pertubationsmenge. Die undefinierte Perturbationsmenge muss somit nicht durch das Netz gelaufen sein, um beliebiges der Eingabe zu identifizieren, zu detektieren oder zu klassifizieren. Die Perturbationsmenge kann ausgewählte Transformationen von Rotationen, Translation, Skalierung (RTS) umfassen. Um adversarische Beispiele aus der undefinierten Perturbationsmenge zu erzeugen, kann das System einen konditionalen Generator trainieren, um adversarische Perturbationen des Bildes zu erzeugen, konditioniert bezüglich der Basis eines Bildklassifizierers, der gemeinsam an den erzeugten perturbierten Bildern trainiert wird. Für jedes der Paare von Original- und perturbierten Bildern in der Trainingsdatenmenge kann das System einen latenten Vektor lernen. Der latente Vektor kann zu dem bezüglich des Originalbildes konditionierten Generator geleitet werden, was zu Minimierung des Rekonstruktionsverlusts zwischen dem erzeugten Bild und der Perturbation führen kann. Gleichzeitig für jedes Paar kann das System den latenten Vektor lernen, der zu einer erzeugten Perturbation führt, die den Klassifikationsverlust des Bildklassifizierers maximiert.
  • Durch gemeinsames Training auf solche Weise kann das System ein Modell produzieren, das gegenüber echten adversarischen Beispielen aus der Perturbationsmenge robust ist. Die Trainingsdatenmenge kann gepaarte Bilder umfassen, wobei das perturbierte Bild eine zufällig gedrehte, verschobene und skalierte Version des Originalbildes ist. Da die Perturbationsmenge mathematisch definiert sein kann, kann das System Robustheit eines Klassifizierers durch Ausführen einer feinkörnigen Gittersuche über die zulässigen Transformationsparameter zum Finden eines adversarischen Beispiels testen. Training eines Bildklassifizierers an einem durch einen gemeinsam trainierten konditionalen Generator erzeugten adversarischen Beispiel kann tatsächlich zu verbesserter Genauigkeit gegen eine Gittersuche führen, während ein mit Datenergänzung von zufälligen RTS-transformierten Bildern trainierter Klassifizierer in derselben Evaluierung eine niedrigere Genauigkeit erzielen kann
  • Das System kann in Schritt 409 ein trainiertes Netz und einen trainierten Klassifizierer ausgeben. Das trainierte Netz und der trainierte Klassifizierer können bei Erreichung von Konvergenz ausgegeben werden, was über eine Schwelle erfolgen kann. Somit kann das System eine Schwellenanforderung zur Herstellung von Konvergenz aufweisen, und bei Erreichung der oder Annäherung an die Schwelle kann das System identifizieren, dass das Netz nun trainiert ist. Bei der obigen Ausführungsform kann das System eine solche Konvergenz sowohl als Reaktion auf eine Minimierung des Verlusts zwischen sowohl dem Generator g als auch dem Klassifizierer h identifizieren.
  • 5 zeigt eine schematische Darstellung einer Interaktion zwischen einer computergesteuerten Maschine 10 und einem Steuersystem 12. Die computergesteuerte Maschine 10 kann ein neuronales Netz wie in 1-4 beschrieben umfassen. Die computergesteuerte Maschine 10 umfasst einen Aktor 14 und einen Sensor 16. Der Aktor 14 kann einen oder mehrere Aktoren umfassen, und der Sensor 16 kann einen oder mehrere Sensoren umfassen. Der Sensor 16 ist ausgelegt zur Erfassung eines Zustands der computergesteuerten Maschine 10. Der Sensor 16 kann ausgelegt sein zum Codieren des erfassten Zustands zu Sensorsignalen 18 und Senden von Sensorsignalen 18 zu dem Steuersystem 12. Nichteinschränkende Beispiele für den Sensor 16 wären Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. Bei einer Ausführungsform ist der Sensor 16 ein optischer Sensor, der dafür ausgelegt ist, optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 10 zu erfassen.
  • Das Steuersystem 12 ist dafür ausgelegt, Sensorsignale 18 von der computergesteuerten Maschine 10 zu empfangen. Wie nachfolgend dargelegt wird, kann das Steuersystem 12 ferner dafür ausgelegt sein, abhängig von den Sensorsignalen Aktorsteuerbefehle 20 zu berechnen und die Aktorsteuerbefehle 20 zu dem Aktor 14 der computergesteuerten Maschine 10 zu senden.
  • Wie in 5 gezeigt, umfasst das Steuersystem 12 eine Empfangseinheit 22. Die Empfangseinheit 22 kann dafür ausgelegt sein, Sensorsignale 18 von dem Sensor 16 zu empfangen und die Sensorsignale 18 in Eingangssignale x zu transformieren. Bei einer alternativen Ausführungsform werden die Sensorsignale 18 direkt als Eingangssignale x ohne die Empfangseinheit 22 empfangen. Jedes Eingangssignal x kann ein Teil jedes Sensorsignals 18 sein. Die Empfangseinheit 22 kann dafür ausgelegt sein, jedes Sensorsignal 18 zu verarbeiten und jedes Eingangssignal x zu produzieren. Das Eingangssignal x kann Daten umfassen, die einem durch den Sensor 16 aufgezeichneten Bild entsprechen.
  • Das Steuersystem 12 umfasst einen Klassifizierer 24. Der Klassifizierer 24 kann ausgelegt sein zum Klassifizieren von Eingangssignalen x zu einem oder mehreren Kennzeichnungen unter Verwendung eines Maschinenlern- bzw. ML-Algorithmus, wie etwa eines oben beschriebenen neuronalen Netzes. Der Klassifizierer 24 ist dafür ausgelegt, durch Parameter, wie etwa die oben beschriebenen (z. B. Parameter 0) parametrisiert zu sein. Die Parameter θ können in der nichtflüchtigen Speicherung 26 gespeichert und durch diese bereitgestellt werden. Der Klassifizierer 24 ist dafür ausgelegt, aus den Eingangssignalen x Ausgangssignale y zu bestimmen. Jedes Ausgangssignal y umfasst Informationen, die jedem Eingangssignal x eine oder mehrere Kennzeichnungen zuweisen. Der Klassifizierer 24 kann die Ausgangssignale y zu der Umwandlungseinheit 28 senden. Die Umwandlungseinheit 28 ist ausgelegt zum Umwandeln von Ausgangssignalen y in Aktorsteuerbefehle 20. Das Steuersystem 12 ist ausgelegt zum Senden der Aktorsteuerbefehle 20 zu dem Aktor 14, der dafür ausgelegt ist, als Reaktion auf die Aktorsteuerbefehle 20 die computergesteuerte Maschine 10 zu betätigen. Bei einer anderen Ausführungsform ist der Aktor 14 ausgelegt zum Betätigen der computergesteuerten Maschine 10 direkt auf der Basis der Ausgangssignale y.
  • Bei Empfang der Aktorsteuerbefehle 20 durch den Aktor 14 ist der Aktor 14 ausgelegt zum Ausführen einer dem betreffenden Aktorsteuerbefehl 20 entsprechenden Aktion. Der Aktor 14 kann Steuerlogik umfassen, die dafür ausgelegt ist, die Aktorsteuerbefehle 20 in einen zweiten Aktorsteuerbefehl zu transformieren, der zur Steuerung des Aktors 14 benutzt wird. Bei einer oder mehreren Ausführungsformen können die Aktorsteuerbefehle 20 benutzt werden, um eine Anzeige, anstelle eines Aktors oder zusätzlich dazu, zu steuern.
  • Bei einer anderen Ausführungsform umfasst das Steuersystem 12 den Sensor 16, statt dass die computergesteuerte Maschine 10 den Sensor 16 umfasst oder zusätzlich dazu. Das Steuersystem 12 kann auch den Aktor 14 umfassen, statt dass die computergesteuerte Maschine 10 den Aktor 14 umfasst, oder zusätzlich dazu.
  • Wie in 5 gezeigt, umfasst das Steuersystem 12 auch einen Prozessor 30 und 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 durch das Steuersystem 12 implementiert werden, das nichtflüchtige Speicherung 26, den Prozessor 30 und Speicher 32 umfasst.
  • Die nichtflüchtige Speicherung 26 kann eine oder mehrere persistente Datenspeicherungsvorrichtungen umfassen, wie etwa eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Halbleitervorrichtung, Cloud-Speicherung oder eine beliebige andere Vorrichtung mit der Fähigkeit zum persistenten Speichern von Informationen. Der Prozessor 30 kann eine oder mehrere Vorrichtungen umfassen, ausgewählt aus HPC-Systemen (Hochleistungs-Datenverarbeitung), darunter Hochleistungskerne, Mikroprozessoren, Mikrocontroller, digitale Signalprozessoren, Mikrocomputer, Zentralverarbeitungseinheiten, Field Programmable Gate Arrays, programmierbare Logikvorrichtungen, Automaten, Logikschaltungen, Analogschaltungen, digitale Schaltungen oder beliebige andere Vorrichtungen, die Signale (analog oder digital) auf der Basis von in dem Speicher 32 residierenden computerausführbaren Anweisungen manipulieren. Der Speicher 32 kann eine einzelne Speichervorrichtung oder eine Anzahl von Speichervorrichtungen umfassen, darunter, aber ohne Beschränkung, RAM (Direktzugriffsspeicher), flüchtiger Speicher, nichtflüchtiger Speicher, SRAM (statischer Direktzugriffsspeicher), DRAM (dynamischer Direktzugriffsspeicher), Flash-Speicher, Cache-Speicher oder eine beliebige andere zur Speicherung von Informationen fähige Vorrichtung.
  • Der Prozessor 30 kann dafür ausgelegt sein, computerausführbare Anweisungen, die in der nichtflüchtigen Speicherung 26 residieren und einen oder mehrere ML-Algorithmen und/oder Methodologien einer oder mehrerer Ausführungsformen realisieren, in den Speicher 32 einzulesen und auszuführen. Die nichtflüchtige Speicherung 26 kann ein oder mehrere Betriebssysteme und Anwendungen umfassen. Die nichtflüchtige Speicherung 26 kann kompilierte und/oder interpretierte Computerprogramme speichern, die unter Verwendung vielfältiger Programmiersprachen und/oder Technologien erstellt werden, darunter, ohne Beschränkung und entweder alleine 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 Anweisungen der nichtflüchtigen Speicherung 26 bewirken, dass das Steuersystem 12 einen oder mehrere der ML-Algorithmen und/oder Methodologien, die hier offenbart werden, implementiert. Die nichtflüchtige Speicherung 26 kann auch ML-Daten (einschließlich Datenparameter) umfassen, die die Funktionen, Merkmale und Prozesse der einen oder mehreren hier beschriebenen Ausführungsformen unterstützen.
  • Der die hier beschriebenen Algorithmen und/oder Methodologien realisierende Programmcode kann einzeln oder kollektiv als ein Programmprodukt in vielfältigen verschiedenen Formen verteilt werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speicherungsmediums verteilt werden, das computerlesbare Programmanweisungen darauf aufweist, um zu bewirken, dass ein Prozessor Aspekte einer oder mehrerer Ausführungsformen ausführt. Computerlesbare Speicherungsmedien, die naturgemäß nicht transitorisch sind, können flüchtige und nichtflüchtige und wechselbare und nichtwechselbare greifbare Medien umfassen, die in einer beliebigen Methode oder Technologie zur Speicherung von Informationen implementiert sind, wie etwa computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Computerlesbare Speicherungsmedien können ferner Folgendes umfassen: RAM, ROM, EPROM (löschbaren programmierbaren Festwertspeicher), EEPROM (elektrisch löschbaren programmierbaren Festwertspeicher), Flash-Speicher oder eine andere Halbleiter-Speichertechnologie, tragbare CD-ROM (Compact Disc Read-Only Memory) oder andere optische Speicherung, magnetische Kassetten, Magnetband, magnetische Datenträgerspeicherung oder andere magnetische Speicherungsvorrichtungen oder ein beliebiges anderes Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und durch einen Computer gelesen werden kann. Computerlesbare Programmanweisungen können in einen Computer, eine andere Art von programmierbarer Datenverarbeitungsvorrichtung oder eine andere Vorrichtung von einem computerlesbaren Speicherungsmedium aus oder auf einen externen Computer oder eine externe Speicherungsvorrichtung über ein Netzwerk heruntergeladen werden.
  • Computerlesbare Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Arten von programmierbarer Datenverarbeitungsvorrichtung oder andere Vorrichtungen anzuleiten, auf bestimmte Weise zu funktionieren, dergestalt, dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel produzieren, der Anweisungen umfasst, die die Funktionen, Schritte und/oder Operationen, die in den Flussdiagrammen oder -darstellungen spezifiziert sind, implementieren. Bei bestimmten alternativen Ausführungsformen können vereinbar mit einer oder mehreren Ausführungsformen die in den Flussdiagrammen und -darstellungen spezifizierten Funktionen, Schritte und/oder Operationen umgeordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Außerdem können vereinbar mit einer oder mehreren Ausführungsformen beliebige der Flussdiagramme und/oder -darstellungen mehr oder weniger Knoten oder Blöcke als die dargestellten umfassen. Die Prozesse, Verfahren oder Algorithmen können ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten realisiert werden, wie etwa ASIC (anwendungsspezifische integrierte Schaltungen), FPGA (Field-Programmable Gate Arrays), Automaten, Steuerungen oder andere Hardwarekomponenten oder -vorrichtungen oder einer Kombination von Hardware-, Software- und Firmwarekomponenten.
  • 6 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, ein Fahrzeug 50 zu steuern, das ein mindestens teilweise autonomes Fahrzeug oder ein mindestens teilweise autonomer Roboter sein kann. Wie in 5 gezeigt, umfasst das Fahrzeug 50 einen Aktor 14 und einen Sensor 16. Der Sensor 16 kann einen oder mehrere Videosensoren, Radarsensoren, Ultraschallsensoren, LidDAR-Sensoren und/oder Positionssensoren (z. B. GPS) umfassen. Ein oder mehrere des einen oder der mehreren spezifischen Sensoren können in das Fahrzeug 50 integriert sein. Als Alternative oder zusätzlich zu einem oder mehreren oben identifizierten spezifischen Sensoren kann der Sensor 16 ein Softwaremodul umfassen, das dafür ausgelegt ist, bei Ausführung einen Zustand des Aktors 14 zu bestimmen. Ein nichteinschränkendes Beispiel für ein Softwaremodul wäre ein Wetterinformations-Softwaremodul, das dafür ausgelegt ist, einen derzeitigen oder zukünftigen Zustand des Wetters in der Nähe des Fahrzeugs 50 oder an einem anderen Ort zu bestimmen.
  • Der Klassifizierer 24 des Steuersystems 12 des Fahrzeugs 50 kann dafür ausgelegt sein, abhängig von den Eingangssignalen x Objekte in der Umgebung des Fahrzeugs 50 zu detektieren. Bei einer solchen Ausführungsform kann das Ausgangssignal y Informationen umfassen, die die Umgebung von Objekten zum Fahrzeug 50 charakterisieren. Der Aktorsteuerbefehl 20 kann gemäß diesen Informationen bestimmt werden. Der Aktorsteuerbefehl 20 kann verwendet werden, um Kollisionen mit den detektierten Objekten zu vermeiden.
  • Bei Ausführungsformen, bei denen das Fahrzeug 50 ein mindestens teilweise autonomes Fahrzeug ist, kann der Aktor 14 in einer Bremse, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 50 realisiert sein. Aktorsteuerbefehle 20 können so bestimmt werden, dass der Aktor 14 so gesteuert wird, dass das Fahrzeug 50 Kollisionen mit detektierten Objekten vermeidet. Detektierte Objekte können auch abhängig davon klassifiziert werden, als was der Klassifizierer 24 sie am wahrscheinlichsten ansieht, wie etwa Fußgänger oder Bäume. Die Aktorsteuerbefehle 20 können abhängig von der Klassifikation bestimmt werden. Das Steuersystem 12 kann gemeinsames adversarisches Training benutzen, um dabei zu helfen, den Klassifizierer und Generator für adversarische Bedingungen zu trainieren, wie etwa bei schlechten Beleuchtungsbedingungen oder schlechten Wetterbedingungen der Fahrzeugumgebung.
  • Bei anderen Ausführungsformen, bei denen das Fahrzeug 50 ein mindestens teilweise autonomer Roboter ist, kann das Fahrzeug 50 ein mobiler Roboter sein, der dafür ausgelegt ist, eine oder mehrere Funktionen auszuführen, wie etwa Fliegen, Schwimmen, Tauchen oder Schreiten. Der mobile Roboter kann ein mindestens teilweise autonomer Rasenmäher sein oder ein mindestens teilweise autonomer Reinigungsroboter. Bei solchen Ausführungsformen kann der Aktorsteuerbefehl 20 so bestimmt werden, dass eine Antriebseinheit, eine Lenkeinheit und/oder eine Bremseneinheit des mobilen Roboters so gesteuert werden kann, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • Bei einer anderen Ausführungsform ist das Fahrzeug 50 ein mindestens teilweise autonomer Roboter in Form eines Gartenroboters. In einer solchen Umgebung kann das Fahrzeug 50 einen optischen Sensor, wie etwa den Sensor 16, verwenden, um einen Zustand von Pflanzen in einer Umgebung in der Nähe des Fahrzeugs 50 zu bestimmen. Der Aktor 14 kann eine Düse sein, die dafür ausgelegt ist, Chemikalien zu sprühen. Abhängig von der identifizierten Spezies und/oder einem identifizierten Zustand der Pflanzen kann der Aktorsteuerbefehl 20 so bestimmt werden, dass er bewirkt, dass der Aktor 14 die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.
  • Das Fahrzeug 50 kann ein mindestens teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nichteinschränkende Beispiele für Haushaltsgeräte wären eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder ein Geschirrspüler. In einem solchen Fahrzeug 50 kann der Sensor 16 ein optischer Sensor sein, der dafür ausgelegt ist, einen Zustand eines Objekts zu detektieren, das Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Falls zum Beispiel das Haushaltsgerät eine Waschmaschine ist, kann der Sensor 16 einen Zustand der Wäsche in der Waschmaschine detektieren. Der Aktorsteuerbefehl 20 kann auf der Basis des detektierten Zustands der Wäsche bestimmt werden.
  • 7 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, ein System 100 (z. B. eine Produktionsmaschine) zu steuern, wie etwa eine Stanzmaschine, einen Cutter oder einen Pistolenbohrer, eines Fertigungssystems 102, zum Beispiel als Teil einer Produktionslinie. Das Steuersystem 12 kann dafür ausgelegt sein, den Aktor 14 zu steuern, der dafür ausgelegt ist, das System 100 (z. B. die Produktionsmaschine) zu steuern.
  • Der Sensor 16 des Systems 100 (z. B. Fertigungsmaschine) kann ein optischer Sensor sein, der dafür ausgelegt ist, eine oder mehrere Eigenschaften eines gefertigten Produkts 104 zu erfassen. Der Klassifizierer 24 kann dafür ausgelegt sein, einen Zustand des gefertigten Produkts 104 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Aktor 14 kann dafür ausgelegt sein, das System 100 (z. B. Fertigungsmaschine) abhängig von dem bestimmten Zustand des gefertigten Produkts 104 für einen nachfolgenden Fertigungsschritt des gefertigten Produkts 104 zu steuern. Der Aktor 14 kann dafür ausgelegt sein, Funktionen des Systems 100 (z. B. Fertigungsmaschine) an dem nachfolgenden gefertigten Produkt 106 des Systems 100 (z. B. Fertigungsmaschine) abhängig von dem bestimmten Zustand des gefertigten Produkts 104 zu steuern. Das Steuersystem 12 kann gemeinsames adversarisches Training benutzen, um dabei zu helfen, den Klassifizierer und Generator bezüglich adversarischer Bedingungen, wie etwa schlechte Beleuchtungsbedingungen oder Arbeitsbedingungen, die für die Sensoren schwierig sind, um Bedingungen zu identifizieren, wie etwa viel Staub, zu trainieren.
  • 8 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, das Elektrowerkzeug 150 zu steuern, wie etwa eine Bohrmaschine oder einen Bohrschrauber mit einem mindestens teilweise autonomen Modus. Das Steuersystem 12 kann dafür ausgelegt sein, den Aktor 14 zu steuern, der dafür ausgelegt ist, das Elektrowerkzeug 150 zu steuern.
  • Der Sensor 16 des Elektrowerkzeugs 150 kann ein optischer Sensor sein, der dafür ausgelegt ist, eine oder mehrere Eigenschaften der Arbeitsoberfläche 152 und/oder Befestigungsvorrichtung 154, die in die Arbeitsoberfläche 152 getrieben wird, zu erfassen. Der Klassifizierer 24 kann dafür ausgelegt sein, aus einer oder mehreren der erfassten Eigenschaften einen Zustand der Arbeitsoberfläche 152 und/oder der Befestigungsvorrichtung 154 relativ zu der Arbeitsoberfläche 152 zu bestimmen. Der Zustand kann sein, dass die Befestigungsvorrichtung 154 mit der Arbeitsoberfläche 152 bündig ist. Der Zustand kann als Alternative die Härte der Arbeitsoberfläche 152 sein. Der Aktor 14 kann dafür ausgelegt sein, das Elektrowerkzeug 150 so zu steuern, dass die Antriebsfunktion des Elektrowerkzeugs 150 abhängig von dem bestimmten Zustand der Befestigungsvorrichtung 154 relativ zu der Arbeitsoberfläche 152 oder einer oder mehreren erfassten Eigenschaften der Arbeitsoberfläche 152 justiert wird. Zum Beispiel kann der Aktor 14 die Antriebsfunktion beenden, wenn der Zustand der Befestigungsvorrichtung 154 relativ zu der Arbeitsoberfläche 152 bündig ist. Als ein anderes nichteinschränkendes Beispiel kann der Aktor 14 abhängig von der Härte der Arbeitsoberfläche 152 mehr oder weniger Drehmoment anwenden. Das Steuersystem 12 kann gemeinsames adversarisches Training benutzen, um dabei zu helfen, den Klassifizierer und Generator bezüglich adversarischer Bedingungen, wie etwa während schlechter Beleuchtungsbedingungen und schlechten Wetterbedingungen, zu trainieren. Somit kann das Steuersystem 12 in der Lage sein, Umgebungsbedingungen des Elektrowerkzeugs 150 zu identifizieren.
  • 9 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, einen automatisierten persönlichen Assistenten 900 zu steuern. Das Steuersystem 12 kann dafür ausgelegt sein, den Aktor 14 zu steuern, der dafür ausgelegt ist, den automatisierten persönlichen Assistenten 900 zu steuern. Der automatisierte persönliche Assistent 900 kann dafür ausgelegt sein, ein Haushaltsgerät, wie etwa eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler, zu steuern.
  • Der Sensor 16 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann dafür ausgelegt sein, Videobilder von Gesten 904 des Benutzers 902 zu empfangen. Der Audiosensor kann dafür ausgelegt sein, einen Sprachbefehl des Benutzers 902 zu empfangen.
  • Das Steuersystem 12 des automatisierten persönlichen Assistenten 900 kann dafür ausgelegt sein, für das Steuersystem 12 konfigurierte Aktorsteuerbefehle 20 zu bestimmen. Das Steuersystem 12 kann dafür ausgelegt sein, Aktorsteuerbefehle 20 gemäß Sensorsignalen 18 des Sensors 16 zu bestimmen. Der automatisierte persönliche Assistent 900 ist dafür ausgelegt, Sensorsignale 18 zu dem Steuersystem 12 zu senden. Der Klassifizierer 24 des Steuersystems 12 kann dafür ausgelegt sein, einen Gestenerkennungsalgorithmus auszuführen, um die vom Benutzer 902 durchgeführte Geste 904 zu identifizieren, um die Aktorsteuerbefehle 20 zu bestimmen, und die Aktorsteuerbefehle 20 zu dem Aktor 14 zu senden. Der Klassifizierer 24 kann dafür ausgelegt sein, Informationen aus der nichtflüchtigen Speicherung als Reaktion auf die Geste 904 abzurufen und die abgerufenen Informationen in einer für Empfang durch den Benutzer 902 geeigneten Form auszugeben. Das Steuersystem 12 kann gemeinsames adversarisches Training benutzen, um dabei zu helfen, den Klassifizierer und Generator bezüglich adversarischer Bedingungen, wie etwa während schlechter Beleuchtungsbedingungen oder schlechter Wetterbedingungen, zu trainieren. Somit kann das Steuersystem 12 in der Lage sein, während solcher Bedingungen Gesten zu identifizieren.
  • 10 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, ein Überwachungssystem 250 zu steuern. Das Überwachungssystem 250 kann dafür ausgelegt sein, physisch den Zugang durch die Tür 252 zu kontrollieren. Der Sensor 16 kann dafür ausgelegt sein, eine Szene, die beim Entscheiden, ob Zugang zu gewähren ist, relevant ist, zu detektieren. Der Sensor 16 kann ein optischer Sensor sein, der dafür ausgelegt ist, Bild- und/oder Videodaten zu erzeugen und zu senden. Solche Daten können von dem Steuersystem 12 zur Detektion des Gesichts einer Person verwendet werden. Das Steuersystem 12 kann gemeinsames adversarisches Training benutzen, um dabei zu helfen, den Klassifizierer und Generator bezüglich adversarischer Bedingungen während schlechter Beleuchtungsbedingungen, oder im Fall eines Eindringlings in eine Umgebung des Steuerüberwachungssystems 250, zu trainieren.
  • Der Klassifizierer 24 des Steuersystems 12 des Überwachungssystems 250 kann dafür ausgelegt sein, die Bild- und/oder Videodaten durch Vergleichen von Identitäten bekannter Personen, die in der nichtflüchtigen Speicherung 26 gespeichert sind, zu interpretieren, um dadurch eine Identität einer Person zu bestimmen. Der Klassifizierer 24 kann dafür ausgelegt sein, als Reaktion auf die Interpretation der Bild- und/oder Videodaten einen Aktorsteuerbefehl 20 zu erzeugen. Das Steuersystem 12 ist dafür ausgelegt, den Aktorsteuerbefehl 20 zu dem Aktor 14 zu senden. Bei dieser Ausführungsform kann der Aktor 14 dafür ausgelegt sein, als Reaktion auf den Aktorsteuerbefehl 20 die Tür 252 zu verriegeln oder zu entriegeln. Bei anderen Ausführungsformen ist auch eine nichtphysische, logische Zugangskontrolle möglich.
  • Das Überwachungssystem 250 kann auch ein Beobachtungssystem sein. Bei einer solchen Ausführungsform kann der Sensor 16 ein optischer Sensor sein, der dafür ausgelegt ist, eine Szene zu detektieren, die beobachtet wird, und das Steuersystem 12 ist dafür ausgelegt, die Anzeige 254 zu steuern. Der Klassifizierer 24 ist dafür ausgelegt, eine Klassifikation einer Szene zu bestimmen, z. B. ob die durch den Sensor 16 detektierte Szene verdächtig ist. Das Steuersystem 12 ist dafür ausgelegt, als Reaktion auf die Klassifikation einen Aktorsteuerbefehl 20 zu der Anzeige 254 zu senden. Die Anzeige 254 kann dafür ausgelegt sein, als Reaktion auf den Aktorsteuerbefehl 20 den angezeigten Inhalt zu justieren. Zum Beispiel kann die Anzeige 254 ein Objekt, das von dem Klassifizierer 24 als verdächtig angesehen wird, hervorheben.
  • 11 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, ein Bildgebungssystem 1100 zu steuern, zum Beispiel eine MRI-Vorrichtung, eine Röntgenbildgebungsvorrichtung oder Ultraschallvorrichtung. Der Sensor 16 kann zum Beispiel ein Bildgebungssensor sein. Der Klassifizierer 24 kann dafür ausgelegt sein, eine Klassifikation von allem oder einem Teil des erfassten Bildes zu bestimmen. Der Klassifizierer 24 kann dafür ausgelegt sein, als Reaktion auf die vom trainierten neuronalen Netz erhaltene Klassifikation einen Aktorsteuerbefehl 20 zu bestimmen oder auszuwählen. Zum Beispiel kann der Klassifizierer 24 eine Region eines erfassten Bildes als potentiell anormal interpretieren. In diesem Fall kann der Aktorsteuerbefehl 20 so bestimmt oder ausgewählt werden, dass bewirkt wird, dass die Anzeige 302 die Bildgebung anzeigt und die potentiell anormale Region hervorhebt. Das Steuersystem 12 kann gemeinsames adversarisches Training benutzen, um dabei zu helfen, den Klassifizierer und Generator bezüglich adversarischer Bedingungen während des Röntgens, wie etwa schlechter Beleuchtung, zu trainieren.
  • Die hier offenbarten Prozesse, Verfahren oder Algorithmen können lieferbar sein an/implementiert werden durch eine Verarbeitungsvorrichtung, einen Controller oder einen Computer, die/der eine beliebige existierende programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit beinhalten kann. Gleichermaßen können die Prozesse, Verfahren oder Algorithmen als Daten und durch einen Controller oder einen Computer ausführbare Anweisungen in vielen Formen gespeichert werden, darunter unter anderem Informationen, die auf nichtbeschreibbaren Speicherungsmedien wie etwa ROM-Vorrichtungen permanent gespeichert sind, und Informationen, die auf beschreibbaren Speicherungsmedien wie etwa Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien, änderbar gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen in Gänze oder teilweise unter Verwendung geeigneter Hardwarekomponenten umgesetzt werden, wie etwa anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsmaschinen, Controller oder anderer Hardwarekomponenten oder -vorrichtungen oder einer Kombination von Hardware-, Software- und Firmwarekomponenten.
  • Obgleich oben beispielhafte Ausführungsformen beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen durch die Ansprüche eingeschlossenen Formen beschreiben. Die in der Beschreibung verwendeten Ausdrücke sind Ausdrücke der Beschreibung und nicht der Beschränkung, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne von der Idee und dem Schutzumfang 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 explizit beschrieben oder veranschaulicht sind. Obgleich verschiedene Ausführungsformen als Vorteile ergebend oder gegenüber anderen Ausführungsformen oder Implementierungen im Stand der Technik bezüglich einer oder mehrerer erwünschter Charakteristiken bevorzugt beschrieben worden sein können, erkennen Durchschnittsfachleute auf dem Gebiet, dass ein(e) oder mehrere Merkmale oder Charakteristiken beeinträchtigt werden können, um erwünschte Gesamtsystemattribute zu erzielen, die von der speziellen Anwendung und Implementierung abhängen. Diese Attribute können unter anderem Kosten, Stärke, Haltbarkeit, Lebenszykluskosten, Vermarktungsfähigkeit, Erscheinungsbild, Aufmachung, Größe, Wartbarkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. beinhalten. Von daher liegen jegliche in dem Maße als weniger wünschenswert als andere Ausführungsformen oder Implementierungen im Stand der Technik bezüglich einer oder mehreren Charakteristiken beschriebene Ausführungsformen nicht außerhalb des Schutzumfangs der Offenbarung und können für gewisse Anwendungen wünschenswert sein.

Claims (20)

  1. Computer-implementiertes Verfahren zum Trainieren eines Maschinenlernnetzes, umfassend: Empfangen von Eingangsdaten von einem Sensor, wobei die Eingangsdaten gepaarte sauber perturbierte Daten umfassen, wobei die Eingangsdaten Bild- , Radar-, Sonar- oder Toninformationen angeben; Erzeugen einer perturbierten Version der Eingangsdaten unter Verwendung eines Generators; Erzeugen einer gepaarten Trainingsdatenmenge unter Verwendung der Eingangsdaten und eines perturbierten Bildes unter Verwendung der perturbierten Version der Eingangsdaten; gemeinsames Trainieren des Generators und eines Klassifizierers unter Verwendung der gepaarten Trainingsdatenmenge; Bestimmen eines zum Erzeugen von Pertubation benutzten latenten Vektors, ausgelegt zum Maximieren von Klassifikationsverlust eines Klassifizierers und Minimieren von Erzeugungsverlust des Generators; und Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Konvergenzschwelle.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei Ausgeben des trainierten Generators und des trainierten Klassifizierers als Reaktion auf Ausführung von zwei oder mehr Iterationen des Trainings des Generators unter Verwendung mehrerer perturbierter Versionen der Eingangsdaten erfolgt.
  3. Computer-implementiertes Verfahren nach Anspruch 1, wobei der Generator ausgelegt ist zum Erzeugen der perturbierten Version der Eingangsdaten ferner unter Verwendung einer latenten Variablen.
  4. Computer-implementiertes Verfahren nach Anspruch 1, wobei der Generator ein konditionaler Generator ist, der dafür ausgelegt ist, eine an der Originalstichprobe konditionierte latente Variable abzubilden.
  5. Computer-implementiertes Verfahren nach Anspruch 1, wobei die erste Schwelle eine Menge an Verlust der Eingangsdaten umfasst.
  6. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Verfahren Identifizieren eines latenten Vektors unter Verwendung der Trainingsdatenmenge umfasst.
  7. Computer-implementiertes Verfahren nach Anspruch 1, wobei die Eingangsdaten von einer Kamera erhaltene Videoinformationen umfassen.
  8. System, das ein Maschinenlernnetz umfasst, umfassend: eine Eingangsschnittstelle, ausgelegt zum Empfangen von Eingangsdaten von einem Sensor, wobei der Sensor eine Kamera, einen Radar, einen Sonar oder ein Mikrofon umfasst; einen Prozessor in Kommunikation mit der Eingangsschnittstelle, wobei der Prozessor programmiert ist zum Empfangen der Eingangsdaten, wobei die Eingangsdaten gepaarte sauber perturbierte Daten umfassen, wobei die Eingangsdaten Bild-, Radar-, Sonar- oder Toninformationen angeben; Erzeugen einer perturbierten Version der Eingangsdaten unter Verwendung eines Generators und der Eingangsdaten; Erzeugen einer gepaarten Trainingsdatenmenge unter Verwendung von Daten der Eingangsdaten und eines perturbierten Bildes unter Verwendung der perturbierten Version der Eingangsdaten; gemeinsames Trainieren des Generators und eines Klassifizierers unter Verwendung der gepaarten Trainingsdatenmenge; und Bestimmen eines zum Erzeugen einer oder mehrerer Pertubationen benutzten latenten Vektors, ausgelegt zum Maximieren von Klassifikationsverlust eines Klassifizierers; Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Konvergenzschwelle.
  9. System nach Anspruch 8, wobei der Prozessor ferner programmiert ist zum Bestimmen des latenten Vektors als Reaktion auf Minimierung von Erzeugungsverlust des Generators.
  10. System nach Anspruch 8, wobei die gepaarten sauber perturbierten Daten Eingangsdaten sowohl aus einer sauberen Datenmenge als auch einer entsprechenden perturbierten Datenmenge umfassen.
  11. System nach Anspruch 10, wobei es sich bei der perturbierten Datenmenge um computer-erzeugte Daten handelt, die der sauberen Datenmenge entsprechen.
  12. System nach Anspruch 8, wobei der Generator ein konditionaler Generator ist.
  13. System nach Anspruch 12, wobei der konditionale Generator unter Verwendung sowohl von Rekonstruktionsverlusten als auch Klassifikationsverlusten trainiert wird.
  14. Computerprogrammprodukt, das Anweisungen speichert, die, wenn sie durch einen Computer ausgeführt werden, den Computer veranlassen zum Empfangen von Eingangsdaten, wobei die Eingangsdaten eine Datenmenge umfassen, die gepaarte saubere Daten und perturbierte Daten umfasst; Erzeugen einer perturbierten Version der Eingangsdaten unter Verwendung eines Generators; Erzeugen einer Trainingsdatenmenge unter Verwendung der Eingangsdaten und eines perturbierten Bildes; Trainieren des Generators und eines Klassifizierers unter Verwendung der Trainingsdaten und der perturbierten Version der Eingangsdaten; und Ausgeben eines trainierten Generators und eines trainierten Klassifizierers bei Konvergenz auf eine erste Schwelle.
  15. Computerprogrammprodukt nach Anspruch 14, wobei die Eingangsdaten ein Bild umfassen, das von einer Kamera in Kommunikation mit dem Computer empfangen wird.
  16. Computerprogrammprodukt nach Anspruch 14, wobei Training des Generators und des Klassifizierers gemeinsames Training des Generators und des Klassifizierers umfasst.
  17. Computerprogrammprodukt nach Anspruch 14, wobei die Trainingsdatenmenge eine gepaarte Trainingsdatenmenge ist.
  18. Computerprogrammprodukt nach Anspruch 14, wobei der Computer Anweisungen umfasst, verursacht zum Bestimmen eines zum Erzeugen von Pertubation benutzten latenten Vektors, ausgelegt zum Maximieren von Klassifikationsverlust eines Klassifizierers und Minimieren von Erzeugungsverlust des Generators.
  19. Computerprogrammprodukt nach Anspruch 18, wobei der Generator ausgelegt ist zum Erzeugen der perturbierten Version der Eingangsdaten ferner unter Verwendung einer latenten Variablen.
  20. Computerprogrammprodukt nach Anspruch 14, wobei die Eingangsdaten von einem Mikrofon erhaltene Toninformationen umfassen.
DE102021210415.0A 2020-09-25 2021-09-20 Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings Pending DE102021210415A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/032,841 US20220101143A1 (en) 2020-09-25 2020-09-25 Method and system for learning joint latent adversarial training
US17/032,841 2020-09-25

Publications (1)

Publication Number Publication Date
DE102021210415A1 true DE102021210415A1 (de) 2022-04-28

Family

ID=80822717

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021210415.0A Pending DE102021210415A1 (de) 2020-09-25 2021-09-20 Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings

Country Status (3)

Country Link
US (1) US20220101143A1 (de)
CN (1) CN114332551A (de)
DE (1) DE102021210415A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230105547A1 (en) * 2021-09-10 2023-04-06 Zestfinance, Inc. Machine learning model fairness and explainability

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020234476A1 (en) * 2019-05-23 2020-11-26 Deepmind Technologies Limited Large scale generative neural network model with inference for representation learning using adversial training

Also Published As

Publication number Publication date
CN114332551A (zh) 2022-04-12
US20220101143A1 (en) 2022-03-31

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
DE102022210129A1 (de) Bildverarbeitung über isotonische faltungs-neuronalnetze
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102022206060A1 (de) Verteidigung von multimodalen fusionsmodellen gegen angreifer mit nur einer quelle
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
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
DE102023102316A1 (de) System und verfahren zur robusten erzeugung von pseudo-labels für die halb-überwachte objekterkennung
DE102020213076A1 (de) Verfahren und vorrichtung für eine fortschrittliche faltung an verschlüsselten daten
DE102023202402A1 (de) System und Verfahren zum Verbessern der Robustheit von vortrainierten Systemen in tiefen neuronalen Netzwerken unter Verwendung von Randomisierung und Sample-Abweisung
DE102020200503A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, mittels Verbesserung initialer Label
DE102021204943A1 (de) Meta-gelehrte evolutionsstrategie-blackbox-optimierungsklassifizierer
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE102023212504A1 (de) Systeme und Verfahren zum Training eines Videoobjekt-Detektionsmaschinen-Lernmodells mit einem Rahmen von Lehrer und Schüler
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102020215191A1 (de) Detektion anomaler bewegungsabläufe repetitiver menschlicher aktivitäten
DE102023210092A1 (de) System und Verfahren für einen Rahmen der visuellen Analytik für Maschinenlernmodelle auf Slice-Basis
DE102023210093A1 (de) System und Verfahren zum effizienten Analysieren und Vergleichen von Maschinenlernmodellen auf Slice-Basis
DE102020215928A1 (de) System und verfahren zum verbessern neuronaler satzklassifizierung
JP2024045070A (ja) ロングテール分類用のマルチ教師グループ蒸留のためのシステム及び方法
DE102020209189A1 (de) Domain-übergreifendes metric-lernsystem und -verfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed