DE102021207269A1 - Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen - Google Patents

Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen Download PDF

Info

Publication number
DE102021207269A1
DE102021207269A1 DE102021207269.0A DE102021207269A DE102021207269A1 DE 102021207269 A1 DE102021207269 A1 DE 102021207269A1 DE 102021207269 A DE102021207269 A DE 102021207269A DE 102021207269 A1 DE102021207269 A1 DE 102021207269A1
Authority
DE
Germany
Prior art keywords
input data
perturbed
computer
data
latent
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
DE102021207269.0A
Other languages
English (en)
Inventor
Jeremy Zieg Kolter
Wan-Yi Lin
Eric Wong
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 DE102021207269A1 publication Critical patent/DE102021207269A1/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
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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
    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

Computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzes, umfassend: Empfangen von Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten als Reaktion auf einen dimensionalen latenten Vektor und die Eingangsdaten; Trainieren eines VAE (Schwankungs-Autocodierers) unter Verwendung der perturbierten Version der Eingangsdaten, wobei der VAE unter Verwendung eines Codierers als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten einen latenten Vektor ausgibt; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; und Ausgeben einer gelernten perturbierten Menge, die ein oder mehrere perturbierte Beispiele benutzt, und bei Konvergenz auf eine erste Schwelle.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Ergänzungs- und Bildverarbeitung eines Bildes unter Verwendung von Maschinenlernen, wie etwa Benutzung eines Autocodierers.
  • HINTERGRUND
  • Das robuste Tieflernmodell auf Modellbasis benutzt ein Modell für natürliche Schwankungen aus Daten, die ungepaarte Bilddomänen in Trainingsdaten erfordern, wobei zwei Bilder in den zwei Domänen dieselbe Szene unter verschiedenen Bedingungen sind. Eine solche Anforderung ist für die meisten Datenmengen schwer zu erfüllen. Während sie eine Übersicht über die Verwendung von tiefen generativen Modellen, die diese Bilddomänen nicht erfordern, gewährleistet, kann sie existierende unbeaufsichtigte multimodale Übersetzung von Bild zu Bild verwenden, die keine mehreren Perturbationen auf verschiedenen Komplexitäten und Maßstäben erzeugen kann.
  • In anderen Modellen anzutreffende Ansätze können eine Perturbationsmenge mit entwirrten latenten Merkmalen definieren, aber eine solche Perturbationsmenge hat möglicherweise keine explizite Bedeutung. Außerdem können solche Modelle Mischung von latenten Vektoren und stochastischer Approximation aufgrund intensiver Berechnung erfordern.
  • KURZFASSUNG
  • Gemäß einer Ausführungsform ein computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzes, umfassend: Empfangen von Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten als Reaktion auf einen dimensionalen latenten Vektor und die Eingangsdaten; Trainieren eines VAE (Schwankungs-Autocodierers) unter Verwendung der perturbierten Version der Eingangsdaten, wobei der VAE unter Verwendung eines Codierers als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten einen latenten Vektor ausgibt; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; und Ausgeben einer gelernten perturbierten Menge, die ein oder mehrere perturbierte Beispiele benutzt, und bei Konvergenz auf eine erste Schwelle.
  • Gemäß einer anderen Ausführungsform umfasst ein System, das ein neuronales Netz umfasst, eine Eingangsschnittstelle, ausgelegt zum Empfangen von Eingangsdaten; einen Prozessor in Kommunikation mit der Eingangsschnittstelle. Der Prozessor ist programmiert zum Empfangen von Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten als Reaktion auf einen dimensionalen latenten Vektor und die Eingangsdaten; Ausgeben eines latenten Vektors, der der perturbierten Version der Eingangsdaten zugeordnet ist, wobei der latente Vektor unter Verwendung eines Codierers eines VAE (Schwankungs-Autocodierers) und als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten ausgegeben wird; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; Ausgeben einer gelernten perturbierten Menge, die ein oder mehrere perturbierte Beispiele benutzt, und bei Konvergenz auf eine erste Schwelle; und Trainieren eines oder mehrerer Klassifizierer des neuronalen Netzes unter Benutzung der gelernten perturbierten Menge.
  • Gemäß einer letzten Ausführungsform speichert ein Computerprogrammprodukt Anweisungen, die, wenn sie durch einen Computer ausgeführt werden, den Computer veranlassen zum Empfangen von Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten unter Verwendung eines dimensionalen latenten Vektors und der Eingangsdaten; Trainieren eines VAE (Schwankungs-Autocodierers) unter Verwendung der perturbierten Version der Eingangsdaten, wobei der VAE unter Verwendung eines Codierers als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten einen latenten Vektor ausgibt; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; und Ausgeben einer gelernten perturbierten Menge, wenn der VAE unter Benutzung des einen oder der mehreren perturbierten Beispiele Konvergenz erreicht.
  • 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 zum Annotieren von Daten.
    • 4 ist ein beispielhaftes Flussdiagramm eines Systems, das ein neuronales Netz trainiert, um Perturbationsdatenmengen zu lernen.
    • 5 zeigt eine schematische Darstellung einer Wechselwirkung zwischen einer computergesteuerten Maschine 10 und einem Steuersystem 12.
    • 6 zeigt eine schematische Darstellung des Steuersystems von 1, das dafür ausgelegt ist, ein Fahrzeug zu steuern, das ein teilweise autonomes Fahrzeug oder ein teilweise autonomer Roboter sein kann.
    • 7 zeigt eine schematische Darstellung des Steuersystems von 1, das dafür ausgelegt ist, eine Produktionsmaschine zu steuern, wie etwa ein Stanzwerkzeug, ein Schneidwerkzeug oder einen Pistolenbohrer eines Produktionssystems, zum Beispiel als Teil einer Produktionsstraße.
    • 8 zeigt eine schematische Darstellung des Steuersystems von 1, das dafür ausgelegt ist, ein Elektrowerkzeug zu steuern, wie etwa eine Bohrmaschine oder einen Schrauber mit einem mindestens teilweise autonomen Modus.
    • 9 zeigt eine schematische Darstellung des Steuersystems von 1, das dafür ausgelegt ist, einen automatisierten persönlichen Assistenten zu steuern.
    • 10 zeigt eine schematische Darstellung des Steuersystems von 1, das dafür ausgelegt ist, ein Überwachungssystem zu steuern, wie etwa ein Zugangskontrollsystem oder ein Beobachtungssystem.
    • 11 zeigt eine schematische Darstellung des Steuersystems von 1, das dafür ausgelegt ist, ein Bildgebungssystem zu steuern, zum Beispiel eine MRI-Vorrichtung, eine Röntgenbildgebungsvorrichtung oder eine Ultraschallvorrichtung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Offenbarung werden hier 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 notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder minimiert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Hier offenbarte spezielle strukturelle und funktionale Einzelheiten sind daher nicht als beschränkend aufzufassen, sondern lediglich als eine repräsentative Basis, um Fachleute zu lehren, die Ausführungsformen verschiedentlich einzusetzen. Durchschnittsfachleute werden verstehen, dass verschiedene unter Bezugnahme auf irgendeine der Figuren veranschaulichte und beschriebene Merkmale mit in einer oder mehreren anderen Figuren veranschaulichten Merkmalen kombiniert werden können, um Ausführungsformen hervorzubringen, die nicht explizit veranschaulicht oder beschrieben sind. Die Kombinationen veranschaulichter Merkmale stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der mit den Lehren dieser Offenbarung konsistenten Merkmale könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
  • Systeme können eine Lücke bei der Robustheit zwischen Realweltperturbationen und schmäler definierten Mengen aufweisen, die in gegnerischen Defensiven benutzt werden. Ein Maschinenlernmodell muss somit möglicherweise die Lücke durch Lernen von Perturbationsmengen aus Daten überbrücken, um Realwelteffekte für robustes Trainieren und Evaluieren zu charakterisieren. In einem Aspekt der Offenbarung kann ein konditionaler Generator benutzt werden, um eine Perturbationsmenge über eine eingeschränkte Region des latenten Raums zu definieren. Das System kann wünschenswerte Eigenschaften formulieren, die die Qualität einer gelernten Perturbationsmenge messen, und beweisen, dass ein CVAE (konditionaler Schwankungs-Autocodierer) diese Kriterien naturgemäß erfüllen kann. Der CVAE kann in der Lage sein, unter Benutzung mit einem spezifischen Attribut oder einer Bedingung Daten zu erzeugen. Unter Verwendung eines solchen Rahmens kann der Ansatz vielfältige Perturbationen mit verschiedenen Komplexitäten und Maßstäben erzeugen, im Bereich von Grundlinien-Ziffertransformationen über übliche Bildverfälschung bis hin zu Beleuchtungsschwankungen. Das System kann die Qualität gelernter Perturbationsmengen sowohl quantitativ als auch qualitativ messen und finden, dass die vorliegenden Modelle in der Lage sind, eine diverse Menge sinnvoller Perturbationen über die begrenzte während des Trainings gesehene Datenmenge hinaus zu produzieren. Schließlich kann das System wie wohldefinierte Beschaffenheit einer Perturbationsmenge wirksam nutzen, um Modelle zu lernen, die empirisch und zertifierbar gegenüber gegnerischen Bildverfälschungen und gegnerischen Beleuchtungsschwankungen mit verbesserter Verallgemeinerungsleistungsfähigkeit robust sind.
  • Die vorliegende Offenbarung kann einen CVAE (konditionalen Schwankungs-Autocodierer) verwenden, um vielfältige Perturbationen mit verschiedenen Komplexitäten und Maßstäben zu erzeugen, die von Grundlinien-Ziffertransformationen über gewöhnliche Bildverfälschungen bis hin zu Beleuchtungsschwankungen reichen. Es wird eine schnelle, einfache und wohl definierte Perturbationsmenge im latenten Raum verwendet und keine intensive Berechnung erfordert.
  • Gegnerische Attacken haben sich weit über das ursprüngliche Umfeld nicht wahrnehmbaren Rauschens bis hin zu allgemeineren Prinzipien der Robustheit erweitert und können allgemein als Mengen von Perturbationen erfassend beschrieben werden, gegenüber denen Menschen naturgemäß invariant sind. Die erfolgreichsten und prinzipiellsten Verfahren zum Lernen robuster Modelle sind jedoch auf menschliche Invarianten beschränkt, die unter Verwendung mathematisch definierter Perturbationsmengen charakterisiert werden können, und diese Anforderung erschwert das Lernen von Modellen, die gegenüber menschlichen Invarianten über diese mathematischen Mengen hinaus robust sind, wobei Realweltattacken und allgemeine Begriffe der Robustheit oft unmöglich als formale Menge von Gleichungen niedergeschrieben werden können. Die vorliegende Offenbarung konzentriert sich auf lernende Maschinenlernmodelle, die gegenüber Perturbationen aus der Trainingsdatenmenge selbst ohne explizite mathematische Definitionen robust sind.
  • 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 eine persistente Speicherungsschnittstelle sein, z. B. eine Festplatte oder eine SSD-Schnittstelle, oder auch eine Schnittstelle eines persönlichen, lokalen oder großflächigen Netzwerks, wie etwa eine Bluetooth-, Zigbee- oder WiFi-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 netzwerkzugängliche Datenspeicherung.
  • Bei einigen Ausführungsformen kann die Datenspeicherung 190 ferner eine Datenrepräsentation 194 einer untrainierten Version des neuronalen Netzes umfassen, auf die durch das System 100 aus der Datenspeicherung 190 zugegriffen werden kann. Es versteht sich jedoch, dass auch aus einer anderen Datenspeicherung, z. B. über ein anderes Subsystem der Datenspeicherungsschnittstelle 180, auf die Trainingsdaten 192 und die Datenrepräsentation 194 des untrainierten neuronalen Netzes zugegriffen werden kann. Jedes Subsystem kann von einer Art wie oben für die Datenspeicherungsschnittstelle 180 beschrieben sein. Bei anderen Ausführungsformen kann die Datenrepräsentation 194 des untrainierten neuronalen Netzes auf der Basis von Entwurfsparametern für das neuronale Netz intern durch das System 100 erzeugt werden und kann deshalb nicht explizit in der Datenspeicherung 190 gespeichert sein. Das System 100 kann ferner ein Prozessorsubsystem 160 umfassen, das dafür ausgelegt sein kann, während des Betriebs des Systems 100 eine iterative Funktion als Ersatz für einen Stapel von Schichten des neuronalen Netzes, das zu trainieren ist, bereitzustellen. Hier 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 für eine erste Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels der Schichten empfangen. Das Prozessorsubsystem 160 kann ferner dafür ausgelegt sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ 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 dafür ausgelegt sein, den Vorwärtspropagationsteil, neben anderen Operationen, die den Vorwärtspropagationsteil definieren, die ausgeführt werden können, durch Bestimmen eines Gleichgewichtspunkts der iterativen Funktion auszuführen, an dem die iterative Funktion auf einen Punkt konvergiert, wobei Bestimmung des Gleichgewichtspunkts Verwendung eines numerischen Wurzelfinderalgorithmus 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 Ausgangsschnittstelle zum Ausgeben einer Datenrepräsentation 196 des trainierten neuronalen Netzes umfassen, und diese Daten können auch als Daten des trainierten Modells 196 bezeichnet werden. Zum Beispiel kann, wie auch in 1 dargestellt ist, die Ausgangsschnittstelle durch die Datenspeicherungsschnittstelle 180 gebildet werden, wobei diese Schnittstelle bei diesen Ausführungsformen eine Eingabe-/Ausgabe- bzw. „EA“-Schnittstelle ist, über die die Daten des trainierten Modells 196 in der Datenspeicherung 190 gespeichert werden können. Die das „untrainierte“ neuronale Netz definierende Datenrepräsentation 194 kann zum Beispiel während des Trainings oder danach 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 mit den Bezugszahlen 194, 196 dargestellt, die sich auf denselben Datensatz auf 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 Ausgangsschnittstelle von der Datenspeicherungsschnittstelle 180 getrennt sein, kann im Allgemeinen aber von einem Typ wie oben für die Datenspeicherungsschnittstelle 180 beschrieben sein.
  • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes. Das Verfahren 200 kann einem Betrieb des Systems 100 von 1 entsprechen, was aber insofern nicht der Fall sein muss, als es auch einem Betrieb einer anderen Art von System, Vorrichtung oder Einrichtung entsprechen kann oder es einem Computerprogramm entsprechen kann. Wie gezeigt umfasst das Verfahren 200 in einem Schritt mit dem Titel „DATENREPRÄSENTATION DES NEURONALEN NETZES BEREITSTELLEN“ Bereitstellung 210 eines neuronalen Netzes, 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 für eine erste Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten empfangen. Wie gezeigt umfasst das Verfahren 200 ferner in einem Schritt mit dem Titel „AUF TRAININGSDATEN ZUGREIFEN“ Zugreifen 220 auf Trainingsdaten für das neuronale Netz. Wie gezeigt umfasst das Verfahren 200 ferner in einem Schritt mit dem Titel „ITERATIVES TRAINIEREN DES NEURONALEN NETZES UNTER VERWENDUNG VON TRAININGSDATEN“ iteratives Training 230 des neuronalen Netzes unter Verwendung der Trainingsdaten, wobei dieses Training 230 einen Vorwärtspropagationsteil und einen Rückwärtspropagationsteil umfassen kann. Das Ausführen des Vorwärtspropagationsteils durch das Verfahren 200 kann in einem Schritt mit dem Titel „GLEICHGEWICHTSPUNKT UNTER VERWENDUNG VON WURZELFINDUNGSALGORITHMUS BESTIMMEN“ Bestimmung 240 eines Gleichgewichtspunkts der iterativen Funktion umfassen, an dem die iterative Funktion auf einen festen Punkt konvergiert, wobei Bestimmen des Gleichgewichtspunkts Verwendung eines numerischen Wurzelfindungsalgorithmus zum Finden einer Wurzellösung für die iterative Funktion minus ihrer Eingabe umfasst, und in einem Schritt mit dem Titel „BEREITSTELLEN DES GLEICHGEWICHTSPUNKTS ALS ERSATZ FÜR AUSGABE VON STAPEL VON SCHICHTEN“ Bereitstellen 250 des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz. 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 neuronale Netz mit tiefem Gleichgewicht (DEQ) kann ferner in der Patentanmeldung mit dem Titel „DEEP NEURAL NETWORK WITH EQUILIBRIUM SOLVER“ und der Anmeldungsnummer X,XXX,XXX beschrieben sein, die 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 kommerziell erhältliche Verarbeitungseinheit sein, die einen Anweisungssatz wie eine der Anweisungssatzfamilien 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 umfassen, die den Betrieb der CPU 306 steuert, um die hier beschriebenen Operationen auszuführen. In einigen Beispielen kann der Prozessor 306 ein SoC (System auf einem Chip) sein, das Funktionalität der CPU 306, der Speichereinheit 308, einer Netzwerkschnittstelle und von Eingangs-/Ausgangsschnittstellen zu einer einzigen integrierten Schaltung 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 umfassen. Der nichtflüchtige Speicher kann Halbleiterspeicher, wie etwa NAND-Flash-Speicher, magnetische und optische Speicherungsmedien oder eine beliebige andere geeignete Datenspeicherungsvorrichtung umfassen, die Daten behält, wenn das Datenverarbeitungssystem 302 deaktiviert wird oder die elektrische Stromversorgung verliert. Der flüchtige Speicher kann statischen und dynamischen RAM (Direktzugriffsspeicher) umfassen, der Programmanweisungen und Daten speichert. Zum Beispiel kann die Speichereinheit 308 ein Maschinenlernmodell 310 oder einen Algorithmus, eine Trainingsdatenmenge 312 für das Maschinenlernmodell 310, unverarbeitete Quellendatenmenge 315 speichern.
  • Das Datenverarbeitungssystem 302 kann eine Netzwerkschnittstellenvorrichtung 322 umfassen, die dafür ausgelegt ist, Kommunikation mit externen Systemen und Vorrichtungen bereitzustellen. Zum Beispiel kann die Netzwerkschnittstellenvorrichtung 322 eine drahtgebundene und/oder drahtlose Ethernetschnittstelle umfassen, sowie sie von der Standardfamilie IEEE 802.11 (Institute of Electrical and Electronics Engineers) definiert wird. Die Netzwerkschnittstellenvorrichtung 322 kann eine Mobilfunk-Kommunikationsschnittstelle zum Kommunizieren mit einem Mobilfunknetz (z. B. 3G, 4G, 5G) umfassen. Die Netzwerkschnittstellenvorrichtung 322 kann ferner dafür ausgelegt sein, eine Kommunikationsschnittstelle zu einem externen Netzwerk 324 oder einer Cloud bereitzustellen.
  • Das externe Netzwerk 324 kann als das World-Wide Web oder das Internet bezeichnet werden. Das externe Netzwerk 324 kann ein Standard-Kommunikationsprotokoll zwischen Datenverarbeitungsvorrichtungen einrichten. Das externe Netzwerk 324 kann leichten Austausch von Informationen und Daten zwischen Datenverarbeitungsvorrichtungen und Netzwerken erlauben. Mit dem externen Netzwerk 324 können sich ein oder mehrere Server 330 in Kommunikation befinden.
  • Das Datenverarbeitungssystem 302 kann eine Eingangs-/Ausgangs- bzw. E/A-Schnittstelle 320 umfassen, die dafür 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 Vorrichtungen (z. B. eine USB-Schnittstelle (Universal Serial Bus)) umfassen.
  • Das Datenverarbeitungssystem 302 kann eine Mensch-Maschinen-Schnittstellen- bzw. HMI-Vorrichtung 318 umfassen, die eine beliebige Vorrichtung umfassen kann, die es dem System 300 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabevorrichtungen wären Menschen-Schnittstelleneingänge wie Tastaturen, Mäuse, Touchscreens, Spracheingabevorrichtungen und andere ähnliche Vorrichtungen. Das Datenverarbeitungssystem 302 kann eine Anzeigevorrichtung 332 umfassen. Das Datenverarbeitungssystem 302 kann Hardware und Software zum Ausgeben von Grafik- und Textinformationen an die Anzeigevorrichtung 332 umfassen. Die Anzeigevorrichtung 332 kann einen elektronischen Anzeigebildschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener umfassen. Das Datenverarbeitungssystem 302 kann ferner dafür ausgelegt sein, Interaktion mit Fern-HMI- und Fern-Anzeigevorrichtungen über die Netzwerkschnittstellenvorrichtung 322 zu erlauben.
  • Das System 300 kann unter Verwendung eines oder mehrerer Datenverarbeitungssysteme implementiert werden. Während das Beispiel ein einziges Datenverarbeitungssystem 302 abbildet, das alle beschriebenen Merkmale implementiert, ist beabsichtigt, dass verschiedene Merkmale und Funktionen getrennt und durch mehrere sich miteinander in Kommunikation befindende Datenverarbeitungseinheiten implementiert werden können. Die konkrete Systemarchitektur, die ausgewählt wird, kann von vielfältigen Faktoren abhängen.
  • Das System 300 kann einen Maschinenlernalgorithmus 310 implementieren, der dafür ausgelegt ist, die unverarbeitete Quellendatenmenge 315 zu analysieren. Die unverarbeitete Quellendatenmenge 315 kann Roh- oder unverarbeitete Sensordaten umfassen, die eine Eingangsdatenmenge für ein Maschinenlernsystem repräsentieren können. Die unverarbeitete Quellendatenmenge 315 kann Video, Videosegmente, Bilder, auf Text basierende Informationen und unverarbeitete oder teilweise verarbeitete Sensordaten (z. B. Radarkarte von Objekten) umfassen. In einigen Beispielen kann der Maschinenlernalgorithmus 310 ein Neuronalnetzalgorithmus sein, der dafür ausgelegt ist, eine vorbestimmte Funktion auszuführen. Zum Beispiel kann der Neuronalnetzalgorithmus in Kraftfahrzeuganwendungen dafür ausgelegt sein, Fußgänger in Videobildern zu identifizieren.
  • Das Computersystem 300 kann eine Trainingsdatenmenge 312 für den Maschinenlernalgorithmus 310 speichern. Die Trainingsdatenmenge 312 kann eine Menge von zuvor konstruierten Daten zum Trainieren des Maschinenlernalgorithmus 310 repräsentieren. Die Trainingsdatenmenge 312 kann von dem Maschinenlernalgorithmus 310 zum Lernen von Gewichtungsfaktoren verwendet werden, die einem Neuronalnetzalgorithmus zugeordnet sind. Die Trainingsdatenmenge 312 kann eine Menge von Quellendaten umfassen, die entsprechende Ergebnisse oder Resultate aufweisen, die der Maschinenlernalgorithmus 310 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann die Trainingsdatenmenge 312 Quellenvideos mit und ohne Fußgänger und entsprechende Präsenz- und Ortsinformationen umfassen. Die Quellenvideos können verschiedene Szenarien umfassen, in denen Fußgänger identifiziert werden.
  • Der Maschinenlernalgorithmus 310 kann in einem Lernmodus unter Verwendung der Trainingsdatenmenge 312 als Eingabe betrieben werden. Der Maschinenlernalgorithmus 310 kann über eine Anzahl von Iterationen unter Verwendung der Daten aus der Trainingsdatenmenge 312 ausgeführt werden. Bei jeder Iteration kann der Maschinenlernalgorithmus 310 interne Gewichtungsfaktoren auf der Basis der erzielten Ergebnisse aktualisieren. Zum Beispiel kann der Maschinenlernalgorithmus 310 Ausgangsergebnisse (z. B. Annotationen) mit den in der Trainingsdatenmenge 312 enthaltenen vergleichen. Da die Trainingsdatenmenge 312 die erwarteten Ergebnisse umfasst, kann der Maschinenlernalgorithmus 310 bestimmen, wann die Leistungsfähigkeit akzeptabel ist. Nachdem der Maschinenlernalgorithmus 310 einen vorbestimmten Leistungsfähigkeitsgrad (z. B. 100% Übereinstimmung mit den der Trainingsdatenmenge 312 zugeordneten Resultaten) erzielt, kann der Maschinenlernalgorithmus 310 unter Verwendung von Daten ausgeführt werden, die sich nicht in der Trainingsdatenmenge 312 befinden. Der trainierte Maschinenlernalgorithmus 310 kann auf neue Datenmengen angewandt werden, um annotierte Daten zu erzeugen.
  • Der Maschinenlernalgorithmus 310 kann dafür ausgelegt sein, ein bestimmtes Merkmal in den unverarbeiteten Quellendaten 315 zu identifizieren. Die unverarbeiteten Quellendaten 315 können mehrere Instanzen oder Eingangsdatenmenge umfassen, wofür Annotationsergebnisse erwünscht sind. Zum Beispiel kann der Maschinenlernalgorithmus 310 dafür ausgelegt sein, die Anwesenheit eines Fußgängers in Videobildern zu identifizieren und die Vorfälle zu annotieren. Der Maschinenlernalgorithmus 310 kann dafür programmiert werden, die unverarbeiteten Quellendaten 315 zu verarbeiten, um die Anwesenheit der bestimmten Merkmale zu identifizieren. Der Maschinenlernalgorithmus 310 kann dafür ausgelegt werden, ein Merkmal in den unverarbeiteten Quellendaten 315 als ein vorbestimmtes Merkmal (z. B. einen Fußgänger) zu identifizieren. Die unverarbeiteten Quellendaten 315 können aus vielfältigen Quellen abgeleitet werden. Zum Beispiel können die unverarbeiteten Quellendaten 315 tatsächliche durch ein Maschinenlernsystem gesammelte Eingangsdaten sein. Die unverarbeiteten Quellendaten 315 können zum Testen des Systems maschinengeneriert werden. Als ein Beispiel können die unverarbeiteten Quellendaten 315 unverarbeitete Videobilder von einer Kamera umfassen.
  • In dem Beispiel kann der Maschinenlernalgorithmus 310 die unverarbeiteten Quellendaten 315 verarbeiten und eine Angabe einer Repräsentation eines Bildes ausgeben. Die Ausgabe kann auch ergänzte Repräsentation des Bildes umfassen. Ein Maschinenlernalgorithmus 310 kann einen Konfidenzgrad oder Faktor für jede erzeugte Ausgabe erzeugen. Zum Beispiel kann ein Konfidenzwert, der eine vorbestimmte Hochkonfidenzschwelle überschreitet, angeben, dass der Maschinenlernalgorithmus 310 zuversichtlich ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Konfidenzwert, der kleiner als eine Niedrigkonfidenzschwelle ist, kann angeben, dass der Maschinenlernalgorithmus 310 eine gewisse Ungewissheit hat, dass das bestimmte Merkmal anwesend ist.
  • 4 zeigt ein beispielhaftes Flussdiagramm eines Modells, das gegenüber Perturbationen robust sein kann. In Schritt 401 kann das Netz Eingangsdaten von einer oder mehreren Schnittstellen, wie etwa einer Kamera, einem Sensor usw. empfangen. In Schritt 403 kann das System eine perturbierte Version der Eingangsdaten definieren. Für ein Beispiel x E ℝm kann eine Perturbationsmenge S(x) ⊆ℝm informell als die Menge von Beispielen definiert werden, die als äquivalent zu und Eingabe x betrachtet werden und daher als „Perturbationen“ von x angesehen werden können. Diese Menge kann beim Finden eines gegnerischen Beispiels verwendet werden, was typischerweise zu einem Optimierungsproblem gebildet wird, um die Verluste eines Modells über die Perturbationsmenge zu maximieren, um das Modell zu brechen. Zum Beispiel kann für einen Klassifizierer h, eine Verlustfunktion ℓ und eine Kennzeichnung y, eine gegnerische Attacke versuchen, Folgendes zu lösen: M a x i m i e r e l ( h ( x ' ) , y ) x ' S ( x )
    Figure DE102021207269A1_0001
  • Eine übliche Wahl für S(x) kann eine ℓp-Kugel um das unperturbierte Beispiel herum sein, definiert als S(x) = {S(x) + δ : ||δ||p ≤∈} für eine gewisse Norm p und einen Radius ∈. Eine solche Art von Perturbation kann unstrukturiertes Zufallsrauschen erfassen und kann typischerweise mit Bezug auf ℓp-Normen für p ∈ {0, 1, 2, oo} genommen werden, obwohl auch allgemeinere Distanzmetriken verwendet werden können.
  • Obwohl das Definieren der Perturbationsmenge für die Entwicklung von Gegner-Verteidigung kritisch sein kann, kann in einigen Szenarien die wahre Perturbationsmenge mathematisch schwierig zu beschreiben sein. In diesen Rahmen kann es immer noch möglich sein, Beobachtungen von (nicht-Gegner-) Perturbationen, z. B. von Paaren von Beispielen (x, x̃), wobei x̃ die perturbierten Daten sind, zu sammeln. Anders ausgedrückt kann x̃ eine reale perturbierte Version von x sein, aus der man eine Approximation der wahren Perturbationsmenge erfahren kann. Obwohl es zahlreiche mögliche Ansätze dafür geben kann, S(x) aus den Beispielen (x,x̃) zu lernen, kann dieses System die generative Modellierungsperspektive benutzen, wobei Beispiele über einen zugrundeliegenden latenten Raum perturbiert werden. Speziell sei g: ℝk × ℝm → ℝm ein Generator, der einen k-dimensionalen latenten Vektor und eine Eingabe nimmt und eine perturbierte Version der Eingabe ausgibt. Somit kann man eine gelernte Perturbationsmenge folgenermaßen definieren: S ( x ) = { g ( z , x ) : z }
    Figure DE102021207269A1_0002
  • Anders ausgedrückt, kann das System eine wohldefinierte Perturbationsmenge im latenten Raum (in diesem Fall einer normbeschränkten Kugel) benutzen, abgebildet auf eine Menge von Perturbationen mit einem Generator g, wodurch x über einen latenten Code z auf x̃ perturbiert wird. Das System kann auch eine Perturbationsmenge von einer probabilistischen grafischen Modulierungsperspektive aus definieren und eine Verteilung über den latenten Raum zur Parametrisierung einer Verteilung über Beispiele verwenden. Speziell ist S(x) eine Zufallsvariable, die durch eine Wahrscheinlichkeitsverteilung p(z) über den latenten Raum folgendermaßen definiert ist: S ( x ) p θ , s o d a s s θ = g ( z , x ) , z ~ p i s t
    Figure DE102021207269A1_0003

    wobei p den Träger {z : ||z|| ≤ ε} hat und pθ eine durch θ = g(z,x) parametrisierte Verteilung ist.
  • Eine Perturbationsmenge kann durch ein generatives Modell definiert werden, das aus Daten gelernt wird, denen die mathematische Strenge vorheriger Mengen fehlt, so dass Sorgfalt walten gelassen werden muss, um ordnungsgemäß auszuwerten, wie gut das Modell reale Perturbationen erfasst. In diesem Abschnitt sollen zwei Eigenschaften in Bezug auf eine Perturbationsmenge für Daten definiert werden, die natürliche Eigenschaften einer Perturbationsmenge erfassen, die für Gegner-Robustheit und Datenergänzung nützlich sind. Es sei angemerkt, dass alle in dieser Arbeit besprochenen Größen sowohl an den Trainings- als auch den Testmengen berechnet werden können, wodurch man konkret messen kann, wie gut die Perturbationsmenge sich auf ungesehene Datenpunkte verallgemeinert. Für diesen Abschnitt sei ℝm × ℝm →ℝ eine Distanzmetrik (z. B. mittlerer quadratischer Fehler) und es sei x, x̃ ∈ ℝm ein perturbiertes Paar, wobei x̃ eine perturbierte Version von x ist.
  • Damit es ein vernünftiges Gefahrenmodell für Gegner-Beispiele ist, besteht eine wünschenswerte Erwartung darin, dass eine Perturbationsmenge mindestens enge Annäherungen an die perturbierten Daten enthalten sollte. Anders ausgedrückt, sollten perturbierte Daten (ungefähr) eine notwendige Teilmenge der perturbierten Menge sein. Dieser Begriff der Eingrenzung kann folgendermaßen beschrieben werden:
  • Eine Perturbationsmenge S(x) erfüllt die notwendige-Teilmenge-Eigenschaft bei einem Approximationsfehler von höchstens δ für ein perturbiertes Paar (x,x̃), wenn es ein x' ∈ S(x) dergestalt gibt, dass d(x',x̃) ≤ δ ist.
  • Für eine durch das generative Modell aus S(x) = {g(z,x) : ||z|| ≤∈} definierte Perturbationsmenge läuft dies darauf hinaus, einen latenten Vektor z zu finden, der das perturbierte Beispiel x̃ am besten approximiert, indem das folgende Problem gelöst wird: m i n d ( g ( z , x ) , x ˜ ) z
    Figure DE102021207269A1_0004
  • Dieser Approximationsfehler kann nach oben hin durch Punktschätzungen beschränkt werden (z. B. durch Verwendung einer codierten Repräsentation von x̃, projiziert auf die ∈-Kugel) oder kann genauer durch Verwendung des standardmäßigen projizierten Gradientenabstiegs gelöst werden. Man beachte, dass mathematisch definierte Perturbationsmengen, wie etwa ℓp-Kugeln um saubere Datenpunkte herum, naturgemäß einen Approximationsfehler von Null aufweisen können (sie enthalten alle möglichen Beobachtungen).
  • Eine zweite wünschenswerte Eigenschaft ist spezifisch für den probabilistischen Rahmen aus S(x)~pθ dergestalt, dass θ = g(z,x), z~p ist, wobei das System erwarten würde, dass perturbierte Daten eine hohe Wahrscheinlichkeit aufweisen, unter einer probabilistischen Perturbationsmenge aufzutreten. Anders ausgedrückt, sollte eine Perturbationsmenge perturbierten Daten eine ausreichende Likelihood zuweisen, was formaler in der folgenden Definition beschrieben wird:
  • Eine probabilistische Perturbationsmenge S(x) kann die Ausreichende-Likelihood-Eigenschaft bei einer Likelihood von mindestens δ für ein perturbiertes Paar (x,x̃) erfüllen, wenn E p ( z ) [ p θ ( x ˜ ) ] δ
    Figure DE102021207269A1_0005
    ist, wobei θ = g(z, x) ist.
  • Ein Modell, das perturbierten Beobachtungen hohe Likelihood zuweist, erzeugt wahrscheinlich sinnvolle Stichproben, die dann als Form von Datenergänzung in Rahmen verwendet werden können, die sich mehr um Robustheit im Durchschnittsfall als im ungünstigsten Fall kümmern. Um diese Eigenschaft zu messen, kann die Likelihood mit einer standardmäßigen Monte-Carlo-Schätzung durch Nehmen von Stichproben aus dem vorherigen p approximiert werden.
  • In Schritt 405 kann das System eine perturbierte Version der Eingabe unter Verwendung eines VAE (Schwankungs-Autocodierer) codieren und decodieren. Ein VAE kann zum Lernen von Perturbationsmengen verwendet werden. Speziell kann das System die Rahmenbedingungen des CVAE (Konditional-Schwankungs-Autocodierers) benutzen, wobei die System- und/oder Netzbedingung an dem Beispiel perturbiert wird. Die nachfolgende Notation kann umgebildet werden, um mit der normalen CVAE-Literatur vereinbar zu sein, und einen Standard-CVAE betrachten, der dafür trainiert ist, x ∈ ℝm aus einem latenten Raum z ∈ ℝk unter der Bedingung eines gewissen y vorherzusagen, wobei in dem vorliegenden Kontext x eine perturbierte Version vony ist. Die Posterior-Verteilung q(z|x,y), die Prior-Verteilung p(z|y) und die Likelihood-Funktion p(x1|z,y) können die folgenden Mehrvariablen-Normalverteilungen mit Diagonal-Varianz sein: q ( z | x , y ) N ( μ ( x , y ) , σ 2 ( x , y ) ) ,
    Figure DE102021207269A1_0006
    p ( z | y ) N ( μ ( y ) , σ 2 ( y ) ) ,
    Figure DE102021207269A1_0007
    p ( x | z , y ) N ( g ( z , y ) , I )
    Figure DE102021207269A1_0008

    wobei µ(x,y),σ2(x,y), µ(y),σ(y) und g(z,y) beliebige Funktionen sind, die die jeweiligen Codierer-, Prior- und Decodierernetze repräsentieren. Die CVAE können durch Maximierung einer unteren Likelihood-Schranke trainiert werden: l o g p ( x | y ) E q ( z | x , y ) [ l o g p ( x | z , y ) ] K L ( q ( z | x , y ) ) p ( z | y )
    Figure DE102021207269A1_0009
  • Dies kann auch als der SGVB-Schätzer (Stochastic Gradient Variational Bayes) bekannt sein, wobei KL(·|| ·) die K L-Divergenz ist. Der CVAE-Rahmen führt zu einer natürlichen und offensichtlichen (probabilistischen) Perturbationsmenge durch einfaches Beschränken des latenten Raums auf eine ℓ2-Kugel, die durch das Prior-Netz skaliert und verschoben wird. Der Zweckmäßigkeit halber kann das System die Perturbationsmenge im latenten Raum vor dem Umparametrisierungstrick definieren, so dass die latente Perturbationsmenge für alle Beispiele eine Standard-ℓ2-Kugel {u: ||u||2 ≤ ε} ist, wobei z = u· σ(y) + µ(y) ist. Ähnlich kann eine probabilistische Perturbationsmenge definiert werden, indem einfach die Prior-Verteilung beim Radius ∈ abgeschnitten wird (geschieht auch vor dem Umparametrisierungstrick). Somit kann das System bestimmen, ob Konvergenz erfüllt ist (Schritt 407). Wenn Konvergenz nicht erfüllt ist, kann das System eine weitere Iteration unter Verwendung der Eingangsdaten und Definition einer anderen perturbierten Version der Eingabe laufen lassen. Das System kann auf der Basis einer Schwelle oder eines anderen Attributs bestimmen, dass Konvergenz erfüllt ist. Die für Konvergenz benutzte Schwelle kann zum Beispiel durch eine definierte Anzahl von Iterationen, eine Menge an Fehlerverlust, die Menge an Fehlerklassifikation oder andere Attribute erfüllt werden. Wenn Konvergenz erfüllt ist, kann das System die Perturbationsdatenmenge ausgeben (Schritt 409). Die Perturbationsdaten können als Eingabe für ein neuronales Netz benutzt und zum Trainieren dieses neuronalen Netzes benutzt werden (Schritt 411). Somit kann das neuronale Netz dafür trainiert werden, eine Klassifikation von Perturbationsdaten zu identifizieren. Realwelt-Perturbationen (sowie die simulierten) können sich auf beliebige Gegner-Daten für das Netz beziehen, wie etwa unterschiedliche Beleuchtungsbedingungen für ein Bild oder ein verschiedener Winkel eines Bildes, das aufgenommen wird, oder beliebige andere Gegner-Eingaben.
  • Der CVAE kann ein sinnvoller Rahmen für das Lernen von Perturbationsmengen sein, in dem bewiesen wird, dass Optimierung des CVAE-Ziels zu beiden oben skizzierten Eigenschaften führt. Man beachte, dass, obwohl solche Ergebnisse nicht unmittelbar offensichtlich sein können, da die Likelihood des CVAE-Ziels über dem vollen Posterior genommen wird, während die Perturbationsmenge über einen durch das Prior bestimmten beschränkten latenten Unterraum definiert wird. Die Beweise können sich sehr auf die Mehrvariablen-Normalparametrisierungen verlassen, mit mehreren Unterstützungsergebnissen, die verschiedene Größen in Bezug auf die Posterior- und Prior-Verteilungen beschränken. Die Ergebnisse können auf der Annahme basieren, dass das CVAE-Ziel wie nachfolgend beschrieben auf gewisse Schwellen trainiert wurde. Es kann angenommen werden, dass das CVAE-Ziel folgendermaßen auf bestimmte Schwellen R, Ki trainiert wurde: E q ( z | x , y ) [ l o g p ( x | z , y ) ] R , K L ( q ( z | x , y ) p ( z | y ) ) 1 2 i = 1 k K i
    Figure DE102021207269A1_0010

    wobei jedes Ki die KL-Divergenz der i-ten Dimension beschränkt. KL-Divergenz kann auch als Kullback-Leibler-Divergenz bezeichnet werden.
  • Ein erstes Theorem sagt aus, dass der Approximationsfehler eines perturbierten Beispiels durch die Komponenten des CVAE-Ziels beschränkt wird. Die Implikation ist hier, dass mit genug Repräsentationsfähigkeit zur Optimierung des Ziels man die notwendige Teilmengeneigenschaft durch Trainieren eines CVAE erfüllen kann, wodurch effektiv perturbierte Daten mit niedrigem Approximationsfehler in der resultierenden Perturbationsmenge erfasst werden.
  • Für das erste Theorem sei r die Mahalanobis-Distanz, die 1 - α der Wahrscheinlichkeitsmasse für eine k-dimensionale Standard-Mehrvariablennormale für ein gewisses 0 < α < 1 erfasst. Dann gibt es ein z dergestalt, dass z μ ( y ) σ ( y ) 2
    Figure DE102021207269A1_0011
    und g ( z , y ) x 2 2 δ
    Figure DE102021207269A1_0012
    ist für = B r + i K i , δ = 1 1 α ( 2 R + m l o g ( 2 π ) )
    Figure DE102021207269A1_0013

    wobei B eine von Ki abhängige Konstante ist. Außerdem gilt mit K 1 2 m l o g ( 2 π )
    Figure DE102021207269A1_0014
    und Ki →0 (die theoretischen Grenzen dieser Schranken) dann ∈ →r und δ → 0.
  • Für ein zweites Theorem kann der erwartete Approximationsfehler über das abgeschnittene Prior auch durch Komponenten des CVAE-Ziels beschränkt werden. Da der Generator g eine Mehrvariablen-Normale mit Identitätskovarianz parametrisiert, folgt aus einer oberen Schranke am erwarteten Rekonstruktionsfehler eine untere Schranke an der Likelihood. Daraus folgt, dass man auch die Ausreichende-Likelihood-Eigenschaft durch Trainieren eines CVAE erfüllen kann, wodurch effektiv eine probabilistische Perturbationsmenge gelernt wird, die perturbierten Daten hohe Likelihood zuweist.
  • Im zweiten Theorem sei r die Mahalanobis-Distanz, die 1 - α der Wahrscheinlichkeitsmasse für eine k-dimensionale Standard-Mehrvariablennormale für ein gewisses 0 < α < 1 erfasst. Dann kann der abgeschnittene erwartete Approximationsfehler beschränkt werden mit E p r ( u ) [ g ( u σ ( y ) + μ ( y ) , y ) x 2 2 ] 1 1 α ( 2 R + m l o g ( 2 π ) ) H
    Figure DE102021207269A1_0015

    wobei pr (u) eine Mehrvariablen-Normale ist, die auf den Radius r abgeschnitten wurde, und H eine Konstante ist, die exponentiell von Ki und r abhängt.
  • Somit versteht sich aus dem ersten und zweiten Theorem, dass Optimierung des CVAE-Ziels naturgemäß zu einer gelernten Perturbationsmenge führt, die die Notwendige-Teilmenge- und die Ausreichende-Likelihood-Eigenschaft erfüllt. Die gelernte Perturbationsmenge ist folglich für Gegner-Robustheit nützlich, da aus der Notwendige-Teilmenge-Eigenschaft folgt, dass die Perturbationsmenge perturbierte Daten nicht „verpasst“. Sie ist auch für Datenergänzung nützlich, da die Ausreichende-Likelihood-Eigenschaft sicherstellt, dass perturbierte Daten mit hoher Wahrscheinlichkeit auftreten.
  • Wenn alle Stichprobendaten x in Trainingsmenge und eine Perturbation gegeben sind, die entweder mathematisch definierte Perturbation, Stichprobenverfälschung, Luminanzänderungen, andere natürliche Datentransformation sein kann, Paare von (x, x̃ ) erzeugen, wobei x' die transformierte Version von x ist. Das System kann einen VAE (z. B. einen CVAE) bei gegebenem x' von x trainieren. Der VAE kann den Eingangsraum auf einen latenten Raum reduzierter Dimension abbilden und dann wieder zurück in den Originalraum, unter der Bedingung y = x', der perturbierten Version von x. Der Decodiererteil des VAE, der zurück auf den Originalraum abbildet, kann dann verwendet werden, um perturbierte Stichproben für robuste Maschinenlernaufgaben downstream, wie etwa Gegner-Training und randomisierte Glättung, zu erzeugen.
  • 5 zeigt eine schematische Darstellung einer Interaktion zwischen der computergesteuerten Maschine 10 und dem 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 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 ausgelegt zum Empfangen von Sensorsignalen 18 von der computergesteuerten Maschine 10. 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 ausgelegt sein zum Empfangen von Sensorsignalen 18 von dem Sensor 16 und zum Transformieren der Sensorsignale 18 in Eingangssignale x. 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 ausgelegt sein zum Verarbeiten jedes Sensorsignals 18 zum Produzieren jedes Eingangssignals x. Das Eingangssignal x kann einem durch den Sensor 16 aufgezeichneten Bild entsprechende Daten umfassen.
  • Das Steuersystem 12 umfasst einen Klassifizierer 24. Der Klassifizierer 24 kann dafür ausgelegt sein, Eingangssignale x unter Verwendung eines Maschinenlern- bzw. ML-Algorithmus, wie etwa eines neuronalen Netzes wie oben beschrieben, in eine oder mehrere Kennzeichnungen zu klassifizieren. Der Klassifizierer 24 ist dafür ausgelegt, durch Parameter, wie etwa die oben beschriebenen (z. B. Parameter 0) parametrisiert zu werden. Die Parameter θ können in nichtflüchtiger Speicherung 26 gespeichert und durch diese bereitgestellt werden. Der Klassifizierer 24 ist ausgelegt zum Bestimmen von Ausgangssignalen y aus Eingangssignalen x. Jedes Ausgangssignal y umfasst Informationen, die jedem Eingangssignal x eine oder mehrere Kennzeichnungen zuweisen. Der Klassifizierer 24 kann die Ausgangssignale y zu der Umsetzungseinheit 28 senden. Die Umsetzungseinheit 28 ist ausgelegt zum Umsetzen der Ausgangssignale y in Aktorsteuerbefehle 20. Das Steuersystem 12 ist ausgelegt zum Senden der Aktorsteuerbefehle 20 zu dem Aktor 14, der dafür ausgelegt ist, die computergesteuerte Maschine 10 als Reaktion auf die Aktorsteuerbefehle 20 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 diesbezüglichen Aktorsteuerbefehl 20 entsprechenden Aktion. Der Aktor 14 kann eine Steuerlogik umfassen, die dafür ausgelegt ist, die Aktorsteuerbefehle 20 in einen zweiten Aktorsteuerbefehl zu transformieren, der zum Steuern des Aktors 14 benutzt wird. Bei einer oder mehreren Ausführungsformen können die Aktorsteuerbefehle 20 zum Steuern einer Anzeige anstelle von oder zusätzlich zu einem Aktor benutzt werden.
  • Bei einer anderen Ausführungsform umfasst das Steuersystem 12 den Sensor 16 anstelle von oder zusätzlich zu der computergesteuerten Maschine 10, die den Sensor 16 umfasst. Das Steuersystem 12 kann auch den Aktor 14 anstelle von oder zusätzlich zu der computergesteuerten Maschine 10, die den Aktor 14 umfasst, umfassen.
  • Wie in 5 gezeigt, umfasst das Steuersystem 12 außerdem 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 den 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 300 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 anderer 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. In einem Szenario, in dem eine gegnerische Attacke erfolgen kann, kann das oben beschriebene System ferner dazu trainiert sein, Objekte besser zu detektieren, oder eine Änderung der Beleuchtungsbedingungen oder eines Winkels eines Sensors oder einer Kamera des Fahrzeugs 50 zu identifizieren.
  • Bei anderen Ausführungsformen, bei denen das Fahrzeug 50 ein mindestens teilweiser 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. Produktionsmaschine) kann ein optischer Sensor sein, der dafür ausgelegt ist, eine oder mehrere Eigenschaften des hergestellten Produkts 104 zu erfassen. Der Klassifizierer 24 kann dafür ausgelegt sein, einen Zustand des hergestellten Produkts 104 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Aktor 14 kann dafür ausgelegt sein, das System 100 (z. B. Produktionsmaschine) abhängig von dem bestimmten Zustand des hergestellten Produkts 104 für einen nachfolgenden Produktionsschritt des hergestellten Produkts 104 zu steuern. Der Aktor 14 kann dafür ausgelegt sein, Funktionen des Systems 100 (z. B. Produktionsmaschine) am nachfolgenden hergestellten Produkt 106 des Systems 100 (z. B. Produktionsmaschine) abhängig von dem bestimmten Zustand des hergestellten Produkts 104 zu steuern.
  • 8 zeigt eine schematische Darstellung des Steuersystems 12, das dafür ausgelegt ist, ein Elektrowerkzeug 150 zu steuern, wie etwa eine Bohrmaschine oder einen Antrieb mit einem mindestens teilweise autonomen Modus. Das Steuersystem 12 kann dafür ausgelegt sein, einen 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 154 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 154 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.
  • 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 200 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.
  • 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.
  • 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 andere 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.
  • 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. Computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzes, umfassend: Empfangen von Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten als Reaktion auf einen dimensionalen latenten Vektor und die Eingangsdaten; Trainieren eines VAE (Schwankungs-Autocodierers) unter Verwendung der perturbierten Version der Eingangsdaten, wobei der VAE unter Verwendung eines Codierers als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten einen latenten Vektor ausgibt; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; und Ausgeben einer gelernten perturbierten Menge, die ein oder mehrere perturbierte Beispiele benutzt, und bei Konvergenz auf eine erste Schwelle.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das neuronale Netz unter Benutzung mindestens der gelernten perturbierten Menge einen oder mehrere Klassifizierer trainiert.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Schwankungs-Autocodierer ein herkömmlicher variabler Autocodierer ist.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Decodieren der perturbierten Version der Eingangsdaten ferner als Reaktion auf eine Bedingung erfolgt, dass die Eingangsdaten die perturbierte Version sind.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei die erste Schwelle eine Menge an Verlust der Eingangsdaten umfasst.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei der latente Vektor auf einem latenten Raum einer ℓ2- Kugel beschränkt ist.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Eingangsdaten von einer Kamera erhaltene Videoinformationen umfassen.
  8. System, das ein neuronales Netz umfasst, umfassend: eine Eingangsschnittstelle, ausgelegt zum Empfangen von Eingangsdaten; einen Prozessor in Kommunikation mit der Eingangsschnittstelle, wobei der Prozessor programmiert ist zum Empfangen von Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten als Reaktion auf einen dimensionalen latenten Vektor und die Eingangsdaten; Ausgeben eines latenten Vektors mit der perturbierten Version der Eingangsdaten, wobei der latente Vektor unter Verwendung eines Codierers eines VAE (Schwankungs-Autocodierers) und als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten ausgegeben wird; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; Ausgeben einer gelernten perturbierten Menge, die ein oder mehrere perturbierte Beispiele benutzt, und bei Konvergenz auf eine erste Schwelle; und Trainieren eines oder mehrerer Klassifizierer des neuronalen Netzes unter Benutzung der gelernten perturbierten Menge.
  9. System nach Anspruch 8, wobei die erste Schwelle einer Fehlerrate der Klassifikation zugeordnet ist.
  10. System nach Anspruch 8, wobei die erste Schwelle einer Anzahl von Iterationen zugeordnet ist.
  11. System nach Anspruch 8, wobei der latente Vektor auf einen latenten Raum einer ℓ2 -Kugel beschränkt ist.
  12. System nach Anspruch 8, wobei die Eingangsschnittstelle eine Kamera ist, die dafür ausgelegt ist, ein oder mehrere Bilder zu empfangen.
  13. System nach Anspruch 8, wobei der Klassifizierer Beleuchtungsbedingungen der Eingangsdaten zugeordnet ist.
  14. Computerprogrammprodukt, das Anweisungen speichert, die, wenn sie durch einen Computer ausgeführt werden, den Computer veranlassen zum: Empfangen der Eingangsdaten; Definieren einer perturbierten Version der Eingangsdaten als Reaktion auf einen dimensionalen latenten Vektor und die Eingangsdaten; Ausgeben eines latenten Vektors, der der perturbierten Version der Eingangsdaten zugeordnet ist, wobei der latente Vektor unter Verwendung eines Codierers eines VAE (Schwankungs-Autocodierers) und als Reaktion auf die Eingangsdaten und die perturbierte Version der Eingangsdaten ausgegeben wird; Decodieren des latenten Vektors unter Verwendung eines Decodierers des VAE zurück in einen latenten Eingangsraum zur Ausgabe eines perturbierten Beispiels; und Ausgeben einer gelernten perturbierten Menge, die ein oder mehrere perturbierte Beispiele benutzt, und bei Konvergenz auf eine erste Schwelle.
  15. Computerprogrammprodukt nach Anspruch 14, wobei die Eingabe ein von einer Kamera in Kommunikation mit dem Computer empfangenes Bild umfasst.
  16. Computerprogrammprodukt nach Anspruch 14, wobei der latente Vektor eine reduzierte Dimension umfasst.
  17. Computerprogrammprodukt nach Anspruch 14, wobei der VAE ein konditionaler variabler Autocodierer ist.
  18. Computerprogrammprodukt nach Anspruch 14, wobei der VAE ein konditionaler VAE ist, der als Reaktion auf eine Bedingung, dass die Eingangsdaten die perturbierte Version der Eingangsdaten sind, eine oder mehrere perturbierte Stichproben ausgibt.
  19. Computerprogrammprodukt nach Anspruch 14, wobei die Anweisungen ferner bewirken, dass der Computer einen oder mehrere Klassifizierer eines neuronalen Netzes unter Benutzung der gelernten perturbierten Menge trainiert.
  20. Computerprogrammprodukt nach Anspruch 14, wobei die erste Schwelle eine vordefinierte Menge an Iterationen umfasst.
DE102021207269.0A 2020-07-15 2021-07-09 Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen Pending DE102021207269A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/930,017 2020-07-15
US16/930,017 US20220019900A1 (en) 2020-07-15 2020-07-15 Method and system for learning perturbation sets in machine learning

Publications (1)

Publication Number Publication Date
DE102021207269A1 true DE102021207269A1 (de) 2022-01-20

Family

ID=79021324

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021207269.0A Pending DE102021207269A1 (de) 2020-07-15 2021-07-09 Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen

Country Status (3)

Country Link
US (1) US20220019900A1 (de)
CN (1) CN113962399A (de)
DE (1) DE102021207269A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599773B2 (en) 2018-12-27 2023-03-07 Micron Technology, Inc. Neural networks and systems for decoding encoded data
US11912301B1 (en) * 2020-12-10 2024-02-27 Zoox, Inc. Top-down scenario exposure modeling
US11973513B2 (en) 2021-04-27 2024-04-30 Micron Technology, Inc. Decoders and systems for decoding encoded data using neural networks
US11563449B2 (en) 2021-04-27 2023-01-24 Micron Technology, Inc. Systems for error reduction of encoded data using neural networks
US11755408B2 (en) * 2021-10-07 2023-09-12 Micron Technology, Inc. Systems for estimating bit error rate (BER) of encoded data using neural networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157772B2 (en) * 2019-10-28 2021-10-26 Element Ai Inc. System and method for generating adversarial examples

Also Published As

Publication number Publication date
US20220019900A1 (en) 2022-01-20
CN113962399A (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112021004261T5 (de) Dualmodale beziehungsnetzwerke zur audiovisuellen ereignislokalisierung
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
EP3557487B1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
DE112017000669T5 (de) Semantische Segmentierung auf der Grundlage einer globalen Optimierung
DE102022107186A1 (de) Generatorausnutzung zur deepfake-detektion
DE112021004652T5 (de) Hintertürerkennung gegnerischer Interpolation
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE102022210129A1 (de) Bildverarbeitung über isotonische faltungs-neuronalnetze
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE112020003343T5 (de) System und verfahren mit einem robusten tiefen generativen modell
DE102022206060A1 (de) Verteidigung von multimodalen fusionsmodellen gegen angreifer mit nur einer quelle
DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
DE112021006507T5 (de) Räumlich-zeitliches tiefes lernen für die verhaltensbiometrie
DE102020213076A1 (de) Verfahren und vorrichtung für eine fortschrittliche faltung an verschlüsselten daten
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
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
DE102020215191A1 (de) Detektion anomaler bewegungsabläufe repetitiver menschlicher aktivitäten
DE102023202402A1 (de) System und Verfahren zum Verbessern der Robustheit von vortrainierten Systemen in tiefen neuronalen Netzwerken unter Verwendung von Randomisierung und Sample-Abweisung
DE102023206752A1 (de) Verfahren und System auf Crown-Basis für gegnerische Angriffe
DE102023202739A1 (de) Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird

Legal Events

Date Code Title Description
R012 Request for examination validly filed