DE102021210392A1 - System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung - Google Patents

System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung Download PDF

Info

Publication number
DE102021210392A1
DE102021210392A1 DE102021210392.8A DE102021210392A DE102021210392A1 DE 102021210392 A1 DE102021210392 A1 DE 102021210392A1 DE 102021210392 A DE102021210392 A DE 102021210392A DE 102021210392 A1 DE102021210392 A1 DE 102021210392A1
Authority
DE
Germany
Prior art keywords
machine learning
computer
noisy
input data
learning network
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
DE102021210392.8A
Other languages
English (en)
Inventor
Wan-Yi Lin
Manash PRATIM
Filipe Cabrita Condessa
Karren Yang
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 DE102021210392A1 publication Critical patent/DE102021210392A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

Ein computerimplementiertes Verfahren zum Trainieren eines Maschinenlernnetzes. Das Verfahren kann umfassen: Empfangen von Eingabedaten, Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten, Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen, Einspeisen der gestörten Abtastung in das Maschinenlernnetz, Aktualisieren des Störobjekts in Reaktion darauf, dass die Funktion die gestörte Abtastung verarbeitet, und Ausgeben des Störobjekts in Reaktion auf das Überschreiten einer Konvergenzschwelle.

Description

  • Technisches gebiet
  • Die vorliegende Offenbarung betrifft die Augmentierung und Bildverarbeitung eines Bildes unter Verwendung von maschinellem Lernen, wie zum Beispiel der Verwendung eines Auto-Codierers.
  • Hintergrund
  • Das Generieren physischer Störobjekte - entweder ein plakatähnlicher Patch oder ein Gitternetz, das die Form eines 3D-Objekts darstellt - verringert die Wahrscheinlichkeit des Detektierens oder Klassifizierens von Objekten unter Verwendung einer einmodalen Eingabe. Das Problem, wie das Generieren eines Objekts, wenn es an dem interessierenden Objekt (Object-Of-Interest, OOI) angebracht ist, die Wahrscheinlichkeit erhöht, dass das OOI korrekt detektiert oder klassifiziert wird, unabhängig davon, wie viele Modalitäten als Eingabe für den Objektdetektor verwendet werden, wurde in der Literatur noch nie behandelt.
  • Kurzdarstellung
  • Gemäß einer Ausführungsform wird ein computerimplementiertes Verfahren zum Trainieren eines Maschinenlernnetzes offenbart. Das Verfahren kann umfassen: Empfangen von Eingabedaten, Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten, Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen, Einspeisen der gestörten Abtastung in das Maschinenlernnetz, Aktualisieren des Störobjekts in Reaktion auf die Ableitung der Verlustfunktion des Maschinenlernnetzes in Bezug auf die Eingabedaten in Reaktion auf das Einspeisen der gestörten Abtastung, und Ausgeben des Störobjekts in Reaktion auf das Überschreiten einer Konvergenzschwelle.
  • Gemäß einer zweiten Ausführungsform enthält ein System, das ein Maschinenlernnetz enthält, eine Eingabeschnittstelle, die dafür konfiguriert ist, Eingabedaten zu empfangen, und einen Prozessor in Kommunikation mit der Eingabeschnittstelle. Der Prozessor ist programmiert zum: Empfangen von Eingabedaten, Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten, Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen, Einspeisen der gestörten Abtastung in das Maschinenlernnetz, Aktualisieren des Störobjekts in Reaktion auf die Ableitung der Verlustfunktion des Maschinenlernnetzes in Bezug auf die Eingabedaten in Reaktion auf das Einspeisen der gestörten Abtastung, und Ausgeben des Störobjekts in Reaktion auf das Überschreiten einer Konvergenzschwelle. Gemäß einer dritten Ausführungsform wird ein Computerprogrammprodukt offenbart, das Instruktionen speichert. Die Instruktionen, wenn sie durch einen Computer ausgeführt werden, veranlassen den Computer zu Folgendem: Empfangen von Eingabedaten, Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten, Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen, Einspeisen der gestörten Abtastung in das Maschinenlernnetz unter Verwendung einer Funktion, Trainieren des Maschinenlernnetzes unter Verwendung der Funktion in Reaktion auf das Einspeisen der gestörten Abtastung, und Ausgeben eines trainierten Maschinenlernnetzes.
  • 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 Datenkommentierungssystem 300 zum Implementieren eines Systems zum Kommentieren von Daten.
    • 4A ist ein Beispiel eines Maschinenlernsystems, das ein Störobjekt auf der Grundlage von Trainingsdaten drucken kann.
    • 4B ist ein Beispiel eines Maschinenlernsystems, das ein Störobjekt zum Trainieren von Eingabedaten verwenden kann.
    • 5 zeigt ein Schaubild einer Interaktion zwischen einer computergesteuerten Maschine 10 und einem Steuerungssystem 12.
    • 6 zeigt ein Schaubild des Steuerungssystems von 1, das zum Steuern eines Fahrzeugs, das ein teilautonomes Fahrzeug sein kann, oder eines teilautonomen Roboters konfiguriert ist.
    • 7 zeigt ein Schaubild des Steuerungssystems von 1, das dafür konfiguriert ist, eine Fertigungsmaschine, wie zum Beispiel eine Stanzvorrichtung, eine Schneidvorrichtung oder einen Pistolenbohrer, eines Fertigungssystems, wie zum Beispiel eines Teils einer Produktionslinie, zu steuern.
    • 8 zeigt ein Schaubild des Steuerungssystems von 1, das dafür konfiguriert ist, ein Elektrowerkzeug, wie zum Beispiel eine Bohrmaschine oder einen Bohrschrauber, zu steuern, das einen mindestens teilweise autonomen Modus hat.
    • 9 zeigt ein Schaubild des Steuerungssystems von 1, das zum Steuern eines automatisierten persönlichen Assistenten konfiguriert ist.
    • 10 zeigt ein Schaubild des Kontrollsystems von 1, das zum Steuern eines Überwachungssystems, wie zum Beispiel eines Zugangskontrollsystems oder eines Sicherheitsüberwachungssystems, konfiguriert ist.
    • 11 zeigt ein Schaubild des Steuerungssystems von 1, das zum Steuern eines Bildgabesystems, zum Beispiel einer MRT-Vorrichtung, einer Röntgenbildgabevorrichtung oder einer Ultraschallvorrichtung, konfiguriert ist.
  • Detaillierte Beschreibung
  • Im vorliegenden Text werden Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und dass andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale könnten vergrößert oder minimiert sein, um Details bestimmter Komponenten zu zeigen. Darum sind bestimmte strukturelle und funktionelle Details, die im vorliegenden Text offenbart werden, nicht als einschränkend zu interpretieren, sondern sind lediglich als eine repräsentative Grundlage für die Unterweisung eines Fachmanns anzusehen, wie die vorliegende Erfindung auf verschiedene Art und Weise anzuwenden ist. Der Durchschnittsfachmann versteht, dass verschiedene Merkmale, die mit Bezug auf eine der Figuren veranschaulicht und beschrieben werden, mit Merkmalen kombiniert werden können, die in einer oder mehreren anderen Figuren veranschaulicht sind, um Ausführungsformen zu erhalten, die nicht ausdrücklich veranschaulicht oder beschrieben sind. Die Kombinationen veranschaulichter Merkmale stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifizierungen der Merkmale gemäß den Lehren dieser Offenbarung könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
  • Diese Offenbarung nutzt die gleichen oder ähnlichen grundlegenden Techniken des Generierens von Störobjekten für einmodale Objektdetektionssysteme. Sie kann jedoch ein Störobjekt generieren, das an dem interessierenden Objekt („OOI“) angebracht wird, und ein solches Objekt maximiert stattdessen die Wahrscheinlichkeit, dass das OOI durch existierende Objektdetektoren detektiert oder durch Klassifikatoren mit einmodaler Eingabe korrekt klassifiziert wird, und maximiert die Wahrscheinlichkeit, dass das OOI durch existierende Objektdetektoren/Klassifikatoren mit mehrmodaler Eingabe detektiert wird, einschließlich Szenarien, bei denen, wenn einige Eingabemodalitäten (zum Beispiel verschiedene Sensor-, Kamera-, Mikrofon- oder andere Eingaben) nicht beobachtet werden, die Wahrscheinlichkeit maximiert wird, dass das OOI durch mehrmodale oder einmodale Objektdetektoren/Klassifikatoren detektiert wird, die dafür ausgelegt und trainiert sind, das OOI mit einem solchen Objekt zu detektieren.
  • Im Zuge der fortschreitenden Verbreitung von Maschinenlernsystemen im Wahrnehmungsstapel kann ein beträchtlicher Aufwand zur Verbesserung der Leistung solcher Systeme bei Vorliegen unvorhergesehener Szenarien betrieben werden. Diese Offenbarung und die im Folgenden beschriebenen Ausführungsformen betreffen Systeme und Verfahren zum Anleiten der Entwicklung von OOI durch kleine Modifizierungen ihres Aspekts, ihrer Farbe, ihrer Textur, ihrer Form oder anderer physischer Eigenschaften, die die Sensorerfassung und damit verbundene Maschinenlernsysteme beeinflussen, um zu gewährleisten, dass vordefinierte OOI immer detektiert werden. Die Offenbarung bezieht sich sowohl auf Einmodalitäts- als auch auf Mehrmodalitätsszenarien sowie auf die Robustheit in subidealen Situationen, in denen nicht die ganze Bandbreite an Modalitäten verfügbar ist. Diese Offenbarung bezieht sich auch auf die Situation, wo das OOI Ziel mehrerer Maschinenlernsysteme ist.
  • Der folgende Abschnitt entspricht einem nicht-einschränkenden Beispiel des Anwendens der Offenbarung auf das Ko-Design eines Störeffekts, um zu gewährleisten, dass ein Objekt (zum Beispiel ein Fahrzeug) immer durch einen einzelnen Objektdetektor, mehrere Objektdetektoren oder Klassifikatoren in einer Einzel- oder Mehrmodalitätsumgebung detektiert wird. Zum Beispiel kann ein Unternehmen einen Objektdetektor oder Klassifikator haben, der in der realen Welt eingesetzt wird. Um zu gewährleisten, dass der Objektdetektor oder Klassifikator kein Fahrzeug übersieht, kann das Unternehmen ein Störobjekt entwerfen, das ein Verbraucher, Zulieferer oder Automobilhersteller an seinem Fahrzeug anbringen kann, zum Beispiel einen gezielten universellen Patch oder ein gezieltes universelles Gitternetz (das auf eine Fahrzeugklasse abgestellt ist), dergestalt, dass das Fahrzeug niemals übersehen wird oder das Übersehen eines solchen Fahrzeugs verringert wird. In der realen Welt kann der Objektdetektor oder Klassifikator jedoch nicht garantieren, dass das Störobjekt immer sichtbar ist (es könnte sein, dass ein anderes System den Patch nicht erfasst). Andererseits könnte ein System mehrmodal sein (N Modalitäten haben), oder es könnte in der Lage sein, in einer einzigen Modalität zu arbeiten. Um zu vermeiden, dass ein Fahrzeug durch das System falsch klassifiziert oder falsch detektiert wird, kann ein mehrmodales gezieltes Störobjekt dafür konfiguriert werden, die Wahrscheinlichkeit zu maximieren, dass das Fahrzeug als ein Pkw klassifiziert wird, selbst wenn die Störung nur in einer einzigen Modalität (zum Beispiel über einen einzigen Sensor) erfasst wird. Ein solcher Störeffekt kann unter Berücksichtigung nur des Systems von Alice oder mehrerer verschiedener maschineller Lernsysteme, die durch verschiedene Agenten verwendet werden, entworfen werden.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingabeschnittstelle für den Zugriff auf Trainingsdaten 192 für das neuronale Netz umfassen. Zum Beispiel, wie in 1 veranschaulicht, kann die Eingabeschnittstelle durch eine Datenspeicherschnittstelle 180 gebildet werden, die auf die Trainingsdaten 192 aus einem Datenspeicher 190 zugreifen kann. Zum Beispiel kann die Datenspeicherschnittstelle 180 eine Speicherschnittstelle oder eine Schnittstelle für persistenten Speicher sein, zum Beispiel eine Festplatte oder eine SSD-Schnittstelle, aber auch eine Personal, Local oder Wide Area Network-Schnittstelle, wie zum Beispiel eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Faseroptik-Schnittstelle. Der Datenspeicher 190 kann ein interner Datenspeicher des Systems 100 sein, wie zum Beispiel eine Festplatte oder eine SSD, aber auch ein externer Datenspeicher, wie zum Beispiel ein über das Netzwerk zugänglicher Datenspeicher.
  • In einigen Ausführungsformen kann der Datenspeicher 190 des Weiteren eine Datendarstellung 194 einer untrainierten Version des neuronalen Netzes umfassen, auf die das System 100 aus dem Datenspeicher 190 zugreifen kann. Es versteht sich jedoch, dass auf die Trainingsdaten 192 und die Datendarstellung 194 des untrainierten neuronalen Netzes jeweils auch aus einem anderen Datenspeicher zugegriffen werden kann, zum Beispiel über ein anderes Teilsystem der Datenspeicherschnittstelle 180. Jedes Teilsystem kann von einem Typ sein, wie er oben für die Datenspeicherschnittstelle 180 beschrieben wurde. In anderen Ausführungsformen kann die Datendarstellung 194 des untrainierten neuronalen Netzes intern durch das System 100 auf der Grundlage von Designparametern für das neuronale Netz generiert werden und braucht daher nicht explizit in dem Datenspeicher 190 gespeichert zu werden. Das System 100 kann des Weiteren ein Prozessor-Subsystem 160 umfassen, das dafür konfiguriert sein kann, während des Betriebs des Systems 100 eine iterative Funktion als einen Ersatz für einen Stapel aus Schichten des zu trainierenden neuronalen Netzes bereitzustellen. Hier können jeweilige Schichten des ersetzten Schichtstapels gemeinsam genutzte Gewichte haben und können - als Eingabe - eine Ausgabe einer vorherigen Schicht oder - für eine erste Schicht des Schichtstapels - eine Anfangsaktivierung und einen Teil der Eingabe des Schichtstapels empfangen. Das Prozessor-Subsystem 160 kann des Weiteren dafür konfiguriert sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Hier kann eine Iteration des Trainings durch das Prozessor-Subsystem 160 einen Vorwärtspropagationsteil und einen Rückwärtspropagationsteil umfassen. Das Prozessor-Subsystem 160 kann dafür konfiguriert sein, den Vorwärtspropagationsteil auszuführen, indem es - neben anderen Operationen, die den Vorwärtspropagationsteil definieren und die ausgeführt werden können - einen Gleichgewichtspunkt der iterativen Funktion bestimmt, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunktes das Verwenden eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion abzüglich ihrer Eingabe zu finden, und indem es den Gleichgewichtspunkt als einen Ersatz für eine Ausgabe des Schichtstapels in dem neuronalen Netz bereitstellt. Das System 100 kann des Weiteren eine Ausgabeschnittstelle zum Ausgeben einer Datendarstellung 196 des trainierten neuronalen Netzes umfassen; diese Daten können auch als trainierte Modelldaten 196 bezeichnet werden. Zum Beispiel, wie ebenfalls in 1 veranschaulicht, kann die Ausgabeschnittstelle durch die Datenspeicherschnittstelle 180 gebildet werden, wobei diese Schnittstelle in diesen Ausführungsformen eine Eingabe/Ausgabe (Input/Output, „IO“)-Schnittstelle ist, über die die trainierten Modelldaten 196 in dem Datenspeicher 190 gespeichert werden können. Zum Beispiel kann die Datendarstellung 194, die das „untrainierte“ neuronale Netz definiert, während oder nach dem Training mindestens teilweise durch die Datendarstellung 196 des trainierten neuronalen Netzes ersetzt werden, indem die Parameter des neuronalen Netzes, wie zum Beispiel Gewichte, Hyperparameter und andere Arten von Parametern neuronaler Netze, angepasst werden können, um das Training an den Trainingsdaten 192 widerzuspiegeln. Dies wird in 1 auch durch die Bezugszahlen 194, 196 veranschaulicht, die sich auf denselben Datensatz in dem Datenspeicher 190 beziehen. In anderen Ausführungsformen kann die Datendarstellung 196 getrennt von der Datendarstellung 194 gespeichert werden, die das „untrainierte“ neuronale Netz definiert. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherschnittstelle 180 getrennt sein, kann aber im Allgemeinen von einer Art sein, wie sie oben für die Datenspeicherschnittstelle 180 beschrieben wurde.
  • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes. Das Verfahren 200 kann einer Operation des Systems 100 von 1 entsprechen, muss es aber nicht - insofern, als es auch einer Operation einer anderen Art von System, Vorrichtung oder Gerät entsprechen kann oder einem Computerprogramm entsprechen kann. Das Verfahren 200 ist so gezeigt, dass es in einem Schritt mit der Bezeichnung „BEREITSTELLEN DER DATENREPRÄSENTATION DES NEURALEN NETZES“ das Bereitstellen 210 eines neuronalen Netzes umfasst, wobei das Bereitstellen des neuronalen Netzes das Bereitstellen einer iterativen Funktion als einen Ersatz für einen Stapel aus Schichten des neuronalen Netzes umfasst, wobei jeweilige Schichten des Schichtstapels, die ersetzt werden, gemeinsam genutzte Gewichte haben und als Eingabe eine Ausgabe einer vorherigen Schicht oder - für eine erste Schicht des Schichtstapels - eine Anfangsaktivierung und einen Teil der Eingabe des Schichtstapels empfangen. Das Verfahren 200 ist des Weiteren so gezeigt, dass es in einem Schritt mit der Bezeichnung „ZUGREIFEN AUF TRAININGSDATEN“ das Zugreifen auf 220 Trainingsdaten für das neuronale Netz umfasst. Das Verfahren 200 ist des Weiteren so gezeigt, dass es in einem Schritt mit der Bezeichnung „ITERATIVES TRAINIEREN DES NEURALEN NETZES UNTER VERWENDUNG DER TRAININGSDATEN“ ein iteratives Training 230 des neuronalen Netzes unter Verwendung der Trainingsdaten umfasst, wobei das 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 der Bezeichnung „BESTIMMEN DES GLEICHGEWICHTSPUNKTES UNTER VERWENDUNG EINES WURZELFINDUNGSALGORITHMUS“ das Bestimmen 240 eines Gleichgewichtspunktes der iterativen Funktion umfassen, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunktes das Verwenden eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion abzüglich ihrer Eingabe zu finden, und kann in einem Schritt mit der Bezeichnung „BEREITSTELLEN EINES GLEICHGEWICHTSPUNKTES ALS ERSATZ FÜR DIE AUSGABE DES SCHICHTSTAPELS“ das Bereitstellen eines Gleichgewichtspunktes als Ersatz für eine Ausgabe des Schichtstapels in dem neuronalen Netz umfassen. Das Verfahren 200 kann des Weiteren nach dem Training und in einem Schritt mit der Bezeichnung „AUSGEBEN DES TRAINIERTEN NEURALEN NETZES“ das Ausgeben 260 eines trainierten neuronalen Netzes umfassen. Die folgenden Beispiele beschreiben das neuronale Netz, einschließlich seines Trainings, wobei ein Schichtstapel durch eine iterative Funktion ersetzt wird und wobei ein Wurzelfindungsalgorithmus verwendet wird, um einen Gleichgewichtspunkt zu bestimmen, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunktes das Verwenden eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion abzüglich ihrer Eingabe zu finden, wobei in einem Schritt mit dem Titel „BEREITSTELLEN EINES GLEICHGEWICHTSPUNKTES ALS EINEN ERSATZ FÜR DIE AUSGABE DES SCHICHTSTAPELS“ das Bereitstellen 250 des Gleichgewichtspunktes als einen Ersatz für eine Ausgabe des Schichtstapels in dem neuronalen Netz ausgeführt wird. Das Verfahren 200 kann des Weiteren nach dem Training und in einem Schritt mit der Bezeichnung „AUSGEBEN DES TRAINIERTEN NEURALEN NETZES“ das Ausgeben 260 eines trainierten neuronalen Netzes umfassen. Das neuronale Netz kann in der Patentanmeldung mit dem Titel „DEEP NEURAL NETWORK WITH EQUILIBRIUM SOLVER“ mit der Anmeldenummer 16/985,582 vom 05.08.2020, die hiermit durch Bezugnahme in vollem Umfang in den vorliegenden Text aufgenommen wird, näher beschrieben sein.
  • 3 zeigt ein Datenkommentierungssystem 300 zum Implementieren eines Systems zum Kommentieren von Daten. Das Datenkommentierungssystem 300 kann mindestens ein Computersystem 302 enthalten. Das Computersystem 302 kann mindestens einen Prozessor 304 enthalten, der mit einer Speichereinheit 308 wirkverbunden ist. Der Prozessor 304 kann einen oder mehrere integrierte Schaltkreise enthalten, die die Funktionalität einer zentralen Verarbeitungseinheit (CPU) 306 implementieren. Die CPU 306 kann eine handelsübliche Verarbeitungseinheit sein, die einen Befehlssatz, wie zum Beispiel eine der Befehlssatzfamilien x86, ARM, Power oder MIPS, implementiert. Während des Betriebes kann die CPU 306 gespeicherte Programminstruktionen ausführen, die aus der Speichereinheit 308 abgerufen werden. Die gespeicherten Programminstruktionen können Software enthalten, die den Betrieb der CPU 306 steuert, um den im vorliegenden Text beschriebenen Operationen durchzuführen. In einigen Beispielen kann der Prozessor 304 ein System auf einem Chip (System on Chip, SoC) sein, das die Funktionalität der CPU 306, der Speichereinheit 308, einer Netzwerkschnittstelle und der Eingabe-/Ausgabe-Schnittstellen in einer einzigen integrierten Vorrichtung integriert. Das Computersystem 302 kann ein Betriebssystem zum Managen verschiedener Aspekte des Betriebes implementieren.
  • Die Speichereinheit 308 kann flüchtigen und nicht-flüchtigen Speicher zum Speichern von Instruktionen und Daten enthalten. Der nicht-flüchtige Speicher kann Festkörperspeicher, wie zum Beispiel NAND-Flash-Speicher, magnetische und optische Speichermedien oder jede andere geeignete Datenspeichervorrichtung umfassen, die ihre Daten behält, wenn das Computersystem 302 deaktiviert wird oder die Stromzufuhr ausfällt. Der flüchtige Speicher kann statischen und dynamischen Direktzugriffsspeicher (Random-Access Memory, RAM) umfassen, der Programminstruktionen und Daten speichert. Zum Beispiel kann die Speichereinheit 308 ein Maschinenlernmodell 310 oder einen Algorithmus, einen Trainingsdatensatz 312 für das Maschinenlernmodell 310 oder einen roher Quellendatensatz 315 speichern.
  • Das Computersystem 302 kann eine Netzwerkschnittstellenvorrichtung 322 enthalten, die dafür konfiguriert ist, eine Kommunikation mit externen Systemen und Vorrichtungen zu ermöglichen. Zum Beispiel kann die Netzwerkschnittstelle 322 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle gemäß Definition durch die 802.11-Standards-Familie des Institute of Electrical and Electronics Engineers (IEEE) umfassen. Die Netzwerkschnittstellenvorrichtung 322 kann eine Mobilfunkschnittstelle für die Kommunikation mit einem Mobilfunknetz (zum Beispiel 3G, 4G, 5G) enthalten. Die Netzwerkschnittstellenvorrichtung 322 kann des Weiteren dafür konfiguriert sein, eine Kommunikationsschnittstelle zu einem externen Netz 324 oder einer Cloud bereitzustellen.
  • Das externe Netz 324 kann als das World Wide Web oder das Internet bezeichnet werden. Das externe Netz 324 kann ein Standard-Kommunikationsprotokoll zwischen Computervorrichtungen aufbauen. Das externe Netz 324 kann den einfachen Austausch von Informationen und Daten zwischen Computervorrichtungen und Netzen ermöglichen. Ein oder mehrere Server 330 können mit dem externen Netz 324 kommunizieren.
  • Das Computersystem 302 kann eine Ein-/Ausgabe (E/A)-Schnittstelle 320 enthalten, die dafür konfiguriert sein kann, digitale und/oder analoge Eingänge und Ausgänge bereitzustellen. Die E/A-Schnittstelle 320 kann zusätzliche serielle Schnittstellen für die Kommunikation mit externen Vorrichtungen (zum Beispiel eine Universal Serial Bus (USB)-Schnittstelle) enthalten.
  • Das Computersystem 302 kann eine Mensch-Maschine-Schnittstellen (Human-Machine Interface, HMI)-Vorrichtung 318 enthalten, die jede Vorrichtung umfassen kann, das es dem System 300 ermöglicht, Steuerungseingaben zu empfangen. Zu Beispielen für Eingabevorrichtungen können Mensch-Schnittstellen-Eingabevorrichtungen wie zum Beispiel Tastaturen, Mäuse, Touchscreens, Spracheingabevorrichtungen und andere ähnliche Vorrichtungen gehören. Das Computersystem 302 kann eine Display-Vorrichtung 332 enthalten. Das Computersystem 302 kann Hardware und Software zum Ausgeben von Grafik und Textinformationen an die Display-Vorrichtung 332 enthalten. Die Display-Vorrichtung 332 kann einen elektronischen Display-Schirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener umfassen. Das Computersystem 302 kann des Weiteren dafür konfiguriert sein, eine Interaktion mit räumlich abgesetzten HMI- und räumlich abgesetzten Display-Vorrichtungen über die Netzwerkschnittstelle 322 zu ermöglichen.
  • Das System 300 kann unter Verwendung eines oder mehrerer Computersysteme implementiert werden. Obgleich das Beispiel ein einzelnes Computersystem 302 zeigt, das alle beschriebenen Merkmale implementiert, ist es beabsichtigt, dass verschiedene Merkmale und Funktionen auch getrennt und durch mehrere miteinander kommunizierende Computereinheiten implementiert werden können. Die konkret ausgewählte Systemarchitektur kann von einer Vielzahl verschiedener Faktoren abhängen.
  • Das System 300 kann einen Maschinenlernalgorithmus 310 implementieren, der dafür konfiguriert ist, den rohen Quellendatensatz 315 zu analysieren. Der rohe Quellendatensatz 315 kann rohe oder unverarbeitete Sensordaten enthalten, die für einen Eingabedatensatz für ein Maschinenlernsystem repräsentativ sein können. Der rohe Quellendatensatz 315 kann Video, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (zum Beispiel Radarkarten von Objekten) enthalten. In einigen Beispielen kann der Maschinenlernalgorithmus 310 ein Neuronennetzalgorithmus sein, der so konzipiert ist, dass er eine zuvor festgelegte Funktion ausführt. Zum Beispiel kann der Neuronennetzalgorithmus in Automobilanwendungen dafür konfiguriert sein, Fußgänger in Videobildern zu identifizieren.
  • Das Computersystem 300 kann einen Trainingsdatensatz 312 für den Maschinenlernalgorithmus 310 speichern. Der Trainingsdatensatz 312 kann einen Satz zuvor erstellter Daten zum Trainieren des Maschinenlernalgorithmus 310 darstellen. Der Trainingsdatensatz 312 kann durch den Maschinenlernalgorithmus 310 verwendet werden, um Gewichtungsfaktoren zu erlernen, die mit einem Neuronennetzalgorithmus verknüpft sind. Der Trainingsdatensatz 312 kann einen Satz von Quellendaten enthalten, der entsprechende Ergebnisse oder Resultate hat, die der Maschinenlernalgorithmus 310 durch den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 312 Quellenvideos mit und ohne Fußgänger und entsprechende Präsenz- und Standortinformationen enthalten. Die Quellenvideos können verschiedene Szenarien enthalten, in denen Fußgänger identifiziert werden.
  • Der Maschinenlernalgorithmus 310 kann in einem Lernmodus unter Verwendung des Trainingsdatensatzes 312 als Eingabe betrieben werden. Der Maschinenlernalgorithmus 310 kann über eine Mehrzahl von Iterationen unter Verwendung der Daten aus dem Trainingsdatensatz 312 ausgeführt werden. Bei jeder Iteration kann der Maschinenlernalgorithmus 310 interne Gewichtungsfaktoren auf der Grundlage der erzielten Ergebnisse aktualisieren. Zum Beispiel kann der Maschinenlernalgorithmus 310 Ausgabe-Ergebnisse (zum Beispiel Kommentare) mit denen vergleichen, die in dem Trainingsdatensatz 312 enthalten sind. Da der Trainingsdatensatz 312 die erwarteten Ergebnisse enthält, kann der Maschinenlernalgorithmus 310 bestimmen, wann die Leistung akzeptabel ist. Nachdem der Maschinenlernalgorithmus 310 ein zuvor festgelegtes Leistungsniveau erreicht hat (zum Beispiel 100 %-ige Übereinstimmung mit den Ergebnissen, die mit dem Trainingsdatensatz 312 verknüpft sind), kann der Maschinenlernalgorithmus 310 unter Verwendung von Daten ausgeführt werden, die nicht in dem Trainingsdatensatz 312 enthalten sind. Der trainierte Maschinenlernalgorithmus 310 kann auf neue Datensätze angewendet werden, um kommentierte Daten zu generieren.
  • Der Maschinenlernalgorithmus 310 kann dafür konfiguriert sein, ein bestimmtes Merkmal in den rohen Quellendaten 315 zu identifizieren. Die rohen Quellendaten 315 können mehrere Instanzen oder Eingabedatensätze enthalten, für die Kommentierungsergebnisse gewünscht werden. Zum Beispiel kann der Maschinenlernalgorithmus 310 dafür konfiguriert sein, die Präsenz eines Fußgängers in Videobildern zu identifizieren und das Erscheinen zu kommentieren. Der Maschinenlernalgorithmus 310 kann so programmiert werden, dass er die rohen Quellendaten 315 verarbeitet, um das Vorliegen der bestimmten Merkmale zu identifizieren. Der Maschinenlernalgorithmus 310 kann dafür konfiguriert sein, ein Merkmal in den rohen Quellendaten 315 als ein zuvor festgelegtes Merkmal (zum Beispiel Fußgänger) zu identifizieren. Die rohen Quellendaten 315 können aus einer Vielzahl verschiedener Quellen stammen. Zum Beispiel können die rohen Quellendaten 315 echte Eingabedaten sein, die durch ein Maschinenlernsystem erfasst werden. Die rohen Quellendaten 315 können maschinell generiert werden, um das System zu testen. Die rohen Quellendaten 315 können zum Beispiel rohe Videobilder von einer Kamera enthalten.
  • In diesem Beispiel kann der Maschinenlernalgorithmus 310 die rohen Quellendaten 315 verarbeiten und einen Hinweis auf eine Darstellung eines Bildes ausgeben. Die Ausgabe kann auch eine augmentierte Darstellung des Bildes enthalten. Ein Maschinenlernalgorithmus 310 kann einen Konfidenzgrad oder -faktor für jede generierte Ausgabe generieren. Zum Beispiel kann ein Konfidenzwert, der eine zuvor festgelegte Hochkonfidenzschwelle übersteigt, angeben, dass der Maschinenlernalgorithmus 310 überzeugt ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Konfidenzwert, der unterhalb einer Niedrigkonfidenzschwelle liegt, kann angeben, dass der Maschinenlernalgorithmus 310 nicht ganz sicher ist, dass das bestimmte Merkmal vorhanden ist.
  • Das System (zum Beispiel das Maschinenlernmodell) kann ein neuronales Netz mit Maschinenlernmodellen verwenden. In dem Maschinenlernverfahren ƒθ, das durch den Parametersatz θ gekennzeichnet ist, wird eine N-Modalitätseingabe x ∈ {Rm1 ,..,RmN }, wobei mi die Dimensionalität der i-ten Modalität bezeichnet, auf die Ausgabe y ∈ Rq abgebildet. Die Modalitätseingabe kann von einer Vielzahl von Sensoren stammen, wie zum Beispiel einer Kamera, einem LIDAR-Sensor, einem Radarsensor, einem Videorekorder, einem Mikrofon usw. Das Maschinenlernmodell kann eine Verlustfunktion l(ƒθ(x),y) enthalten, die die Leistung des Maschinenlernverfahrens an einer Abtastung x messen kann, wenn die korrekte Vorhersage y gegeben ist. Somit kann die Verlustfunktion versuchen, einen Konvergenzzustand zu erreichen. Das System kann eine Ziel-Ausgabeklasse y* haben. Das System kann einen Trainingssatz mit zugehöriger Kennzeichnung {,Y} enthalten, wobei X einen Satz mehrmodaler Daten und Y die entsprechenden Kennzeichnungen bezeichnen kann.
  • Das System kann eine Beobachten-Funktion o und einen zugehörigen Verteilungssatz O enthalten, der die beobachteten Modalitäten widerspiegelt. Eine Anwenden-Funktion α wendet einen Störeffekt δ auf ein OOI in einer Sensormessung x an, wobei in einer nicht-einschränkenden Weise, wenn x einem Bild entspricht, dann ^ einem Patch entsprechen könnte, das die Messungen von x an den Stellen, wo es angebracht ist, überschreiben würde. Das System kann eine Transformieren-Funktion t, die Transformationen zu einem physischen Objekt widerspiegelt, die während einer Signalerfassung stattfinden, und eine zugehörige Verteilung von Transformieren-Funktionen T enthalten, dergestalt, dass Transformieren-Funktionen t, die aus T gezogen werden, Rotation, Skalierung und Luminanzänderung für Bild- und 3D-Objekte, akustische Kanäle für akustische Signale, Streuung für LIDAR oder RADAR oder andere Modalitäten enthalten. Die Verteilung T entspricht einer Gesamtheit aller möglichen Prozesse der Änderung von Erfassungssignalen x durch physische Prozesse.
  • Der Störeffekt δ kann somit entworfen werden als δ * = arg min δ , θ E x , y ( X , Y | y = y * } , t T , o O , [ l ( f g ( o ( a ( x , t ( δ ) ) ) ) , y * ]
    Figure DE102021210392A1_0001
  • Ohne Verlust der Allgemeingültigkeit kann das System o (a(x, t(δ))) als die mehrmodalen Sensormessungen von Trainingsbeispielen x ansehen, die die interessierende Klasse y* enthalten, wobei der Störeffekt δ durch die Transformieren-Funktion t transformiert wird, durch die Anwenden-Funktion a auf das OOI angewendet wird, und durch die Beobachten-Funktion o beobachtet wird.
  • In einer nicht-einschränkenden Weise können der Satz von Funktionen (t, a, o) und die zugehörigen Verteilungen eine rechnerische Simulationsumgebung definieren, die deterministisch oder stochastisch sein kann. Diese rechnerische Simulationsumgebung kann auch durch ein generatives Deep-Learning-System erhalten werden, bei dem gemeinsame Verteilungen solcher Funktionen und Transformationen aus mehrmodalen / Mehransichts-Datensätzen erlernt und angewendet werden können.
  • Der Prozess des Ko-Designens des Maschinenlernsystems fθ und des Störobjekts δ* kann erhalten werden als: θ * , δ * = arg min δ , θ E x , y ( X , Y | y = y * } , t T , o O , [ l ( f θ ( o ( a ( x , t ( δ ) ) ) ) , y * ] + λ E x , y { X , Y } , [ l ( f θ ( x , y ) ]
    Figure DE102021210392A1_0002
  • Wobei λ einen skalaren Parameter bezeichnet, der die relative Bedeutung des Ko-Designens des Maschinenlernsystems und des Störeffekts im Vergleich zur Bedeutung des Nur-Lernens des Maschinenlernsystems fθ bezeichnet.
  • Die Ausführungsformen der vorliegenden Offenbarung können zwei Ansätze haben. In dem ersten Ansatz können ein N-modaler Klassifikator/Objektdetektor ƒθ und entsprechende Trainingsdaten {X,Y} (zum Beispiel Eingabe und Position) gegeben sein, und es kann ein physisches Störobjekt entworfen werden, das die Wahrscheinlichkeit maximiert, dass das interessierende Objekt (OOI) unter einigen oder allen Modalitätsbeobachtungen korrekt klassifiziert/detektiert wird.
  • 4A ist ein Beispiel eines Maschinenlernsystems, das ein Störobjekt auf der Grundlage von Trainingsdaten drucken kann. In Schritt 401 kann das System Trainingsdaten {X,Y} von einem oder mehreren Sensoren erhalten. Zum Beispiel können die Trainingsdaten sowohl von einem Lidar-Sensor als auch von einer Kamera abgeleitet werden. Somit können die Lidar-Sensoren zum Identifizieren einer Form verwendet werden, und die Kamera kann zum Identifizieren eines mit der Eingabe verknüpften Bildes verwendet werden. In Schritt 403 kann das System die Form, die Abmessung, den Aspekt des Objekts, wie zum Beispiel einen kreisförmigen/quadratischen/rechteckigen Bild-Patch, oder ein kugelförmiges Gitternetz mit Farbüberlagerung für ein 3D-Objekt mit maximaler Lautsprecherlautstärke, oder andere physische Eigenschaften des Objekts definieren. Das System kann den Bereich der Transformation, der auf die reale Signalerfassung anwendbar ist, sowie die Ziel-Objektklasse y*, die Anwenden-Funktion des Objekts, und den Satz von Beobachtungsfunktionen des Signals definieren.
  • In Schritt 405 kann das System das Störobjekt trainieren. Das System kann einen Stapel von B Abtastungen {Xb, Yb } aus {X,Y} auswählen. Für jede Abtastung (x, y) ⊂ {Xb, Yb} wenn y = y*, kann das System das zufällig transformierte Störobjekt δ darauf anwenden, dann die gestörte Abtastung in eine zufällig ausgewählte Beobachtungsfunktion einspeisen, und dann diese Abtastung in Schritt 407 in ƒθ einspeisen. Das System kann das Störobjekt δ in Schritt 409 mit f θ δ
    Figure DE102021210392A1_0003
    aktualisieren. Zum Beispiel kann das Störobjekt verwendet werden, um zu Trainingszwecken in das ML-Modell eingespeist zu werden. Anpassungen der Art und Weise des Designs des Störobjekts können sich durch jede Iteration hindurch ändern, um unter Verwendung des Objekts ein maximiertes Training zu erreichen und den Verlust zu minimieren. Sobald die Funktion konvergiert, können das System und das Netz über ein endgültiges Störobjekt oder Modell verfügen. Eine solche Aktualisierung kann mit einer festen Schrittgröße oder mit einem üblicherweise verwendeten Optimierer ausgeführt werden. Nun wird der nächste Stapel abgetastet, und die Schritte 1-3 werden wiederholt, bis die Verlustfunktion von ƒθ konvergiert. In der Entscheidung 411 kann das System somit feststellen, ob das Modell die Konvergenz erreicht hat oder sich ihr nähert. In Schritt 413 kann das System dann einen (2D- oder 3D-) Gegenstand aus dem Objekt ^ ausgeben oder ausdrucken. Dieses δ kann nun auf einem beliebigen Objekt der Zielklasse y* platziert werden. So kann in einem Beispiel das Objekt δ ein Patch oder ein Strichcode (zum Beispiel ein zweidimensionales Objekt) sein, der auf einem Fahrzeug platziert werden kann. Das zweidimensionale Objekt kann daher für ein System nützlich sein, das eine Kamera als eine Modalität zur Klassifizierung verwendet. Das Objekt ^ kann auch in das Zielobjekt integriert werden oder kann als eine Nachrüstkomponente angebracht werden. In einem anderen Beispiel kann das Objekt δ ein dreidimensionales Objekt sein.
  • 4B ist ein Beispiel eines Maschinenlernsystems, das ein Störobjekt zum Trainieren von Eingabedaten verwenden kann. Ein anderer Ansatz der Offenbarung kann darin bestehen, den N-modalen Klassifikator/Objektdetektor fθ mit dem Störobjekt ^ zu ko-designen. In Schritt 451 kann das System die Trainingsdaten aus Erfassungsdaten von einem oder mehreren Sensoren empfangen.
  • In Schritt 453 kann das System das Attribut des Objekts definieren. Das System kann die Form, die Abmessung, den Aspekt des Objekts, wie zum Beispiel einen kreisförmigen, quadratischen oder rechteckigen Bild-Patch, oder ein kugelförmiges Gitternetz mit Farbüberlagerung für ein 3D-Objekt mit maximaler Lautsprecherlautstärke, oder andere physische Eigenschaften des Objekts definieren. Das System kann den Bereich der Transformation, der auf die reale Signalerfassung anwendbar ist, sowie die Ziel-Objektklasse y*, die Anwenden-Funktion des Objekts, und den Satz von Beobachtungsfunktionen des Signals definieren.
  • In Schritt 455 kann das System dann das Störobjekt trainieren. Das System kann einen Stapel von B Abtastungen (X b, Yb) aus {X,Y} auswählen. Für jede Abtastung {x, y} ∈ {Xb, Yb}, wenn y = y*, kann das System das zufällig transformierte Störobjekt δ darauf anwenden, dann die gestörte Abtastung in eine zufällig ausgewählte Beobachtungsfunktion einspeisen, und dann diese Abtastung in Schritt 457 in ƒθ einspeisen. Das System kann δmit f θ δ
    Figure DE102021210392A1_0004
    aktualisieren. So kann das System das Störobjekt auf der Grundlage des Maschinenlernmodells/des Maschinenlernverfahrens aktualisieren. Während die Daten das ML mit den verschiedenen Störobjekten durchlaufen, kann das ML-Modell Anpassungen vornehmen. Zum Beispiel wird das Störobjekt verwendet, um zu Trainingszwecken in das ML-Modell eingespeist zu werden. Anpassungen der Art und Weise des Designs des Störobjekts können sich durch jede Iteration hindurch ändern, um unter Verwendung des Objekts ein maximiertes Training zu erreichen und den Verlust zu minimieren. Sobald die Funktion konvergiert, können das System und das Netz über ein endgültiges Störobjekt oder Modell verfügen. Eine solche Aktualisierung kann mit einer festen Schrittgröße oder mit einem üblicherweise verwendeten Optimierer ausgeführt werden. Die Aktualisierung von θ wird mit f θ δ
    Figure DE102021210392A1_0005
    ausgeführt. Eine solche Aktualisierung kann mit einer festen Schrittgröße oder mit einem üblicherweise verwendeten Optimierer ausgeführt werden. Nun wird der nächste Stapel abgetastet, und die Schritte 1-3 werden wiederholt, bis die Verlustfunktion von fθ konvergiert. Nun wird das Objekt δ in 2D oder 3D ausgedruckt. Dieses δ kann nun auf einem beliebigen Objekt der Zielklasse y* platziert werden. Das System kann ƒθ zur Objektklassifizierung/-detektion verwenden. Bei Entscheidung 459 kann das System feststellen, ob sich das Netz der Konvergenz nähert oder diese erreicht hat. In Schritt 461 kann das System ein trainiertes Netz ausgeben. Das trainierte Netz kann ausgegeben und als ein trainiertes Netz verwendet werden, wenn das Netz Konvergenz erreicht und jeglichen Verlust minimiert oder abmildert. Dies kann an einem bestimmten Punkt oder auf der Grundlage einer definierten Schwelle als der Betrag der Konvergenz auf der Grundlage des Faktors der korrekten Vorhersage erfolgen.
  • Die obigen beiden Verfahren, die in 4A und 4B gezeigt sind und die verwendet werden, können so verallgemeinert werden, dass O, A und T ein beliebiger Berechnungsprozess sind, und können unter Verwendung von Maschinenlernmodellen anhand von Daten erlernt werden.
  • 5 zeigt ein Schaubild einer Interaktion zwischen einer computergesteuerten Maschine 10 und einem Steuerungssystem 12. Die computergesteuerte Maschine 10 kann ein neuronales Netz enthalten, wie es in den 1-4 beschrieben ist. Die computergesteuerte Maschine 10 enthält einen Aktuator 14 und einen Sensor 16. Der Aktuator 14 kann einen oder mehrere Aktuatoren enthalten, und der Sensor 16 kann einen oder mehrere Sensoren enthalten. Der Sensor 16 ist dafür konfiguriert, einen Zustand der computergesteuerten Maschine 10 abzufühlen. Der Sensor 16 kann dafür konfiguriert sein, den abgefühlten Zustand in Sensorsignale 18 zu codieren und Sensorsignale 18 an das Steuerungssystem 12 zu senden. Nicht-einschränkende Beispiele für Sensoren 16 sind Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einer Ausführungsform ist der Sensor 16 ein optischer Sensor, der dafür konfiguriert ist, optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 10 aufzunehmen.
  • Das Steuerungssystem 12 ist dafür konfiguriert, Sensorsignale 18 von der computergesteuerten Maschine 10 zu empfangen. Wie unten dargelegt, kann das Steuerungssystem 12 des Weiteren dafür konfiguriert sein, in Abhängigkeit von den Sensorsignalen Aktuatorsteuerbefehle 20 zu berechnen und Aktuatorsteuerbefehle 20 an den Aktuator 14 der computergesteuerten Maschine 10 zu senden. Wie in 5 gezeigt, enthält das Steuerungssystem 12 eine Empfangseinheit 22. Die Empfangseinheit 22 kann dafür konfiguriert sein, Sensorsignale 18 von dem Sensor 16 zu empfangen und Sensorsignale 18 in Eingangssignale x umzuwandeln. In einer alternativen Ausführungsform werden Sensorsignale 18 direkt als Eingangssignale x ohne die Empfangseinheit 22 empfangen. Jedes Eingangssignal x kann ein Abschnitt jedes Sensorsignals 18 sein. Die Empfangseinheit 22 kann dafür konfiguriert sein, jedes Sensorsignal 18 zu verarbeiten, um jedes Eingangssignal x zu erzeugen. Das Eingangssignal x kann Daten enthalten, die einem durch den Sensor 16 aufgezeichneten Bild entsprechen.
  • Das Steuerungssystem 12 enthält einen Klassifizierer 24. Der Klassifizierer 24 kann dafür konfiguriert sein, Eingangssignale x unter Verwendung eines Maschinenlern (ML)-Algorithmus, zum Beispiel eines oben beschriebenen neuronalen Netzes, in eine oder mehrere Kennzeichnungen zu klassifizieren. Der Klassifizierer 24 ist dafür konfiguriert, durch Parameter wie zum Beispiel die oben beschriebenen (zum Beispiel Parameter θ), parametrisiert zu werden. Die Parameter θ können in einem nicht-flüchtigen Datenlager 26 gespeichert und durch dieses bereitgestellt werden. Der Klassifizierer 24 ist dafür konfiguriert, anhand der Eingangssignale x Ausgangssignale y zu bestimmen. Jedes Ausgangssignal y enthält Informationen, die jedem Eingangssignal x eine oder mehrere Kennzeichnungen zuweisen. Der Klassifizierer 24 kann Ausgangssignale y zu der Konvertierungseinheit 28 senden. Die Konvertierungseinheit 28 ist dafür konfiguriert, Ausgangssignale y in Aktuatorsteuerbefehle 20 umzuwandeln. Das Steuerungssystem 12 ist dafür konfiguriert, Aktuatorsteuerbefehle 20 an den Aktuator 14 zu senden, der dafür konfiguriert ist, die computergesteuerte Maschine 10 in Reaktion auf die Aktuatorsteuerbefehle 20 zu betätigen. In einer anderen Ausführungsform ist der Aktuator 14 dafür konfiguriert, die computergesteuerte Maschine 10 direkt auf der Grundlage von Ausgangssignalen y zu betätigen.
  • Der Aktuator 14 ist dafür konfiguriert, wenn er Aktuatorsteuerbefehle 20 empfängt, eine Aktion auszuführen, die dem zugehörigen Aktuatorsteuerbefehl 20 entspricht. Der Aktuator 14 kann eine Steuerlogik enthalten, die dafür konfiguriert ist, Aktuatorsteuerbefehle 20 in einen zweiten Aktuatorsteuerbefehl umzuwandeln, der zum Steuern des Aktuators 14 verwendet wird. In einer oder mehreren Ausführungsformen können die Aktuatorsteuerbefehle 20 zum Steuern eines Displays anstelle von, oder zusätzlich zu, einem Aktuator verwendet werden.
    In einer anderen Ausführungsform enthält das Steuerungssystem 12 einen Sensor 16 anstelle oder zusätzlich zu der computergesteuerten Maschine 10, die den Sensor 16 enthält. Das Steuerungssystem 12 kann auch einen Aktuator 14 anstelle oder zusätzlich zu der computergesteuerten Maschine 10, die den Aktuator 14 enthält, enthalten.
  • Wie in 5 gezeigt, enthält das Steuerungssystem 12 außerdem einen Prozessor 30 und einen Speicher 32. Der Prozessor 30 kann einen oder mehrere Prozessoren enthalten. Der Speicher 32 kann eine oder mehrere Speichervorrichtungen enthalten. Der Klassifizierer 24 (zum Beispiel ML-Algorithmen) einer oder mehrerer Ausführungsformen kann durch das Steuerungssystem 12 implementiert werden, das ein nicht-flüchtiges Datenlager 26, den Prozessor 30 und den Speicher 32 enthält.
  • Das nicht-flüchtige Datenlager 26 kann eine oder mehrere persistente Datenspeichervorrichtungen enthalten, wie zum Beispiel eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nicht-flüchtige Festkörpervorrichtung, einen Cloud-Speicher oder jede andere Vorrichtung, die in Lage ist, Informationen persistent zu speichern. Der Prozessor 30 kann eine oder mehrere Vorrichtungen enthalten, die aus Hochleistungscomputersystemen (HPC-Systemen) ausgewählt werden, einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, zentralen Verarbeitungseinheiten, feldprogrammierbaren Gate-Arrays, programmierbaren Logikvorrichtungen, Zustandsautomaten, Logikschaltkreisen, analogen Schaltkreisen, digitalen Schaltkreisen oder anderen Vorrichtungen, die Signale (analog oder digital) auf der Grundlage von Computer-ausführbaren Instruktionen in dem Speicher 32 bearbeiten. Der Speicher 32 kann eine einzelne Speichervorrichtung oder eine Anzahl von Speichervorrichtungen enthalten, einschließlich beispielsweise Direktzugriffsspeicher (RAM), flüchtiger Speicher, nicht-flüchtiger Speicher, statischer Direktzugriffsspeicher (SRAM), dynamischer Direktzugriffsspeicher (DRAM), Flash-Speicher, Cache-Speicher oder jede andere Vorrichtung, die Informationen speichern kann.
  • Der Prozessor 30 kann dafür konfiguriert sein, computerausführbare Instruktionen, die sich in dem nicht-flüchtigen Datenlager 26 befinden und einen oder mehrere ML-Algorithmen und/oder -Methodologien einer oder mehrerer Ausführungsformen verkörpern, in den Speicher 32 einzulesen und auszuführen. Das nicht-flüchtige Datenlager 26 kann ein oder mehrere Betriebssysteme und Anwendungen enthalten. Das nicht-flüchtige Datenlager 26 kann aus Computerprogrammen kompiliert und/oder interpretiert werden, die unter Verwendung einer Vielzahl verschiedener Programmiersprachen und/oder -technologien erstellt wurden, einschließlich beispielsweise, und entweder allein oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
  • Bei Ausführung durch den Prozessor 30 können die computerausführbaren Instruktionen des nicht-flüchtigen Speichers 26 das Steuerungssystem 12 veranlassen, einen oder mehrere der hier offenbarten ML-Algorithmen und/oder - Methodologien zu implementieren. Das nicht-flüchtige Datenlager 26 kann auch ML-Daten (einschließlich Datenparameter) enthalten, die die Funktionen, Merkmale und Prozesse einer oder mehrerer hier beschriebener Ausführungsformen unterstützen.
  • Der Programmcode, der die im vorliegenden Text beschriebenen Algorithmen und/oder Methodiken verkörpert, kann individuell oder zusammen als ein Programmprodukt in einer Vielzahl verschiedener Formen verteilt werden. Der Programmcode kann unter Verwendung eines Computer-lesbaren Speichermediums verteilt werden, auf dem sich Computer-lesbare Programminstruktionen befinden, um einen Prozessor zu veranlassen, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Zu Computer-lesbaren Speichermedien, die von sich aus nicht-transitorisch sind, können flüchtige und nicht-flüchtige sowie greifbare wechsel- oder nicht-wechselfähige Medien, die in beliebigen Verfahren oder Technologien implementiert sind, zum Speichern von Informationen, wie zum Beispiel Computer-lesbaren Instruktionen, Datenstrukturen, Programmmodulen oder anderen Daten gehören. Zu den Computer-lesbaren Speichermedien können des Weiteren RAM, ROM, löschbarer programmierbarer Nurlesespeicher (EPROM), elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM), Flash-Speicher oder eine andere Festkörperspeichertechnologie, portabler Compact Disk-Nurlesespeicher (CD-ROM) oder anderer optischer Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium gehören, das zur Speicherung der gewünschten Informationen verwendet werden kann und das durch einen Computer gelesen werden kann. Computer-lesbare Programminstruktionen können von einem Computer-lesbaren Speichermedium zu einem Computer, einer anderen Art von programmierbarer Datenverarbeitungsvorrichtung oder einer sonstigen Vorrichtung oder über ein Netzwerk zu einem externen Computer oder einer externen Speichervorrichtung heruntergeladen werden.
  • Computer-lesbare Programminstruktionen, die auf einem Computer-lesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Arten von programmierbaren Datenverarbeitungsvorrichtungen oder sonstige Vorrichtungen anzuweisen, in einer bestimmten Weise zu funktionieren, dergestalt, dass die auf dem Computer-lesbaren Medium gespeicherten Instruktionen ein Erzeugnis hervorbringen, das Instruktionen enthält, die die in den Flussdiagrammen oder Schaubildern angegebenen Funktionen, Aktionen und/oder Operationen implementieren. In bestimmten alternativen Ausführungsformen können die in den Flussdiagrammen und Schaubildern spezifizierten Funktionen, Aktionen und/oder Operationen gemäß einer oder mehreren Ausführungsformen umgeordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Darüber hinaus kann jedes der Flussdiagramme und/oder Schaubilder mehr oder weniger Knoten oder Blöcke enthalten als diejenigen, die gemäß einer oder mehreren Ausführungsformen gezeigt sind.
  • Die Prozesse, Verfahren oder Algorithmen können ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten wie zum Beispiel anwendungsspezifischer integrierter Schaltkreise (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsautomaten, Controller oder anderer Hardwarekomponenten oder -vorrichtungen oder einer Kombination aus Hardware-, Software- und Firmwarekomponenten verkörpert werden.
  • 6 zeigt ein Schaubild des Steuerungssystems 12, das zum Steuern eines Fahrzeugs 50 konfiguriert ist, das ein mindestens teilweise autonomes Fahrzeug oder ein mindestens teilweise autonomer Roboter sein kann. Wie in 5 veranschaulicht, enthält das Fahrzeug 50 einen Aktuator 14 und einen Sensor 16. Der Sensor 16 kann einen oder mehrere Videosensoren, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (zum Beispiel GPS) enthalten. Einer oder mehrere des einen oder der mehreren spezifischen Sensoren können in das Fahrzeug 50 integriert werden. Alternativ oder zusätzlich zu einem oder mehreren der oben genannten spezifischen Sensoren kann der Sensor 16 ein Softwaremodul enthalten, das dafür konfiguriert ist, bei Ausführung einen Zustand des Aktuators 14 zu bestimmen. Ein nicht-einschränkendes Beispiel eines Softwaremoduls enthält ein Wetterinformations-Softwaremodul, das dafür konfiguriert ist, einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Nähe des Fahrzeugs 50 oder an einem anderen Ort zu bestimmen.
  • Der Klassifizierer 24 des Steuerungssystems 12 des Fahrzeugs 50 kann dafür konfiguriert sein, Objekte in der Nähe des Fahrzeugs 50 in Abhängigkeit von Eingangssignalen x zu detektieren. In einem Beispiel kann ein Störobjekt in das Fahrzeug eingebettet (zum Beispiel auf das Fahrzeug gemalt oder bei der Herstellung hinzugefügt) oder später hinzugefügt werden, um dem Klassifizierer 24 zu helfen, das Fahrzeug unter suboptimalen Bedingungen zu identifizieren. In einer solchen Ausführungsform kann das Ausgangssignal y Informationen enthalten, die die Nähe von Objekten zu dem Fahrzeug 50 charakterisieren. Der Aktuatorsteuerbefehl 20 kann gemäß diesen Informationen bestimmt werden. Der Aktuatorsteuerbefehl 20 kann verwendet werden, um Kollisionen mit den detektierten Objekten zu vermeiden.
  • In Ausführungsformen, in denen das Fahrzeug 50 ein mindestens teilweise autonomes Fahrzeug ist, kann der Aktuator 14 in einer Bremse, einem Antriebssystem, einem Verbrennungsmotor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 50 verkörpert sein. Aktuatorsteuerbefehle 20 können so bestimmt werden, dass der Aktuator 14 so gesteuert wird, dass das Fahrzeug 50 Zusammenstöße mit detektierten Objekten vermeidet. Detektierte Objekte können auch danach klassifiziert werden, als was der Klassifizierer 24 sie als am wahrscheinlichsten ansieht, wie zum Beispiel Fußgänger oder Bäume. Darüber hinaus kann der Klassifizierer 24 solche Störobjekte verwenden, um beim Identifizieren von Objekten (zum Beispiel anderen Fahrzeugen) zu helfen. Die Aktuatorsteuerbefehle 20 können in Abhängigkeit von der Klassifizierung festgelegt werden. In einem Szenario, in dem es zu einem feindlichen Angriff kommen kann, kann das oben beschriebene System weiter trainiert werden, um Objekte besser zu detektieren oder eine Änderung der Lichtverhältnisse oder eines Winkels für einen Sensor oder eine Kamera am Fahrzeug 50 zu identifizieren.
  • In anderen Ausführungsformen, in denen das Fahrzeug 50 ein mindestens teilweise autonomer Roboter ist, kann das Fahrzeug 50 ein mobiler Roboter sein, der dafür konfiguriert ist, eine oder mehrere Funktionen wie zum Beispiel Fliegen, Schwimmen, Tauchen und Schreiten auszuführen. Der mobile Roboter kann ein mindestens teilweise autonomer Rasenmäher oder ein mindestens teilweise autonomer Reinigungsroboter sein. In solchen Ausführungsformen kann der Aktuatorsteuerbefehl 20 so bestimmt werden, dass eine Antriebseinheit, eine Lenkeinheit und/oder eine Bremseinheit des mobilen Roboters so gesteuert werden kann, dass der mobile Roboter Zusammenstöße mit identifizierten Objekten vermeiden kann.
  • In einer anderen Ausführungsform ist das Fahrzeug 50 ein mindestens teilweise autonomer Roboter in Form eines Gartenroboters. In einer solchen Ausführungsform kann das Fahrzeug 50 einen optischen Sensor als Sensor 16 verwenden, um einen Zustand der Pflanzen in der Umgebung nahe dem Fahrzeug 50 zu bestimmen. Der Aktuator 14 kann eine Düse sein, die zum Versprühen von Chemikalien konfiguriert ist. In Abhängigkeit von einer identifizierten Spezies und/oder einem identifizierten Zustand der Pflanzen kann der Aktuatorsteuerbefehl 20 so bestimmt werden, dass er den Aktuator 14 veranlasst, die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien zu besprühen.
  • Das Fahrzeug 50 kann ein mindestens teilweise autonomer Roboter in Form eines Haushaltsgerätes sein. Nicht-einschränkende Beispiele von Haushaltsgeräten sind eine Waschmaschine, ein Herd, ein Ofen, eine Mikrowelle oder ein Geschirrspüler. In einem solchen Fahrzeug 50 kann der Sensor 16 ein optischer Sensor sein, der dafür konfiguriert ist, den Zustand eines Objekts zu detektieren, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Handelt es sich bei dem Haushaltsgerät zum Beispiel um eine Waschmaschine, so kann der Sensor 16 einen Zustand der Wäsche im Inneren der Waschmaschine detektieren. Der Aktuatorsteuerbefehl 20 kann auf der Grundlage des detektierten Zustands der Wäsche bestimmt werden.
  • 7 zeigt ein Schaubild des Steuerungssystems 12, das dafür konfiguriert ist, das System 100 (zum Beispiel eine Fertigungsmaschine), wie zum Beispiel eine Stanzvorrichtung, eine Schneidvorrichtung oder einen Pistolenbohrer, eines Fertigungssystems 102, wie zum Beispiel eines Teils einer Produktionslinie, zu steuern. Das Steuerungssystem 12 kann dafür konfiguriert sein, den Aktuator 14 zu steuern, der dafür konfiguriert ist, das System 100 (zum Beispiel die Fertigungsmaschine) zu steuern.
  • Der Sensor 16 des Systems 100 (zum Beispiel der Fertigungsmaschine) kann ein optischer Sensor sein, der dafür konfiguriert ist, eine oder mehrere Eigenschaften des hergestellten Produkts 104 zu erfassen. Der Klassifizierer 24 kann dafür konfiguriert sein, einen Zustand des hergestellten Produkts 104 anhand einer oder mehrerer der erfassten Eigenschaften zu bestimmen. Das hergestellte Produkt 104 kann ein darin integriertes oder nachträglich hinzugefügtes Störobjekt enthalten, das hilft, die Art des Produkts oder den Zustand des hergestellten Produkts zu identifizieren. Der Aktuator 14 kann dafür konfiguriert sein, das System 100 (zum Beispiel die Fertigungsmaschine) in Abhängigkeit von dem bestimmten Zustand des hergestellten Produkts 104 für einen anschließenden Fertigungsschritt des hergestellten Produkts 104 zu steuern. Der Aktuator 14 kann dafür konfiguriert sein, Funktionen des Systems 100 (zum Beispiel der Fertigungsmaschine) für das anschließend hergestellte Produkt 106 des Systems 100 (zum Beispiel der Fertigungsmaschine) in Abhängigkeit von dem bestimmten Zustand des hergestellten Produkts 104 zu steuern.
  • 8 zeigt ein Schaubild des Steuerungssystems 12, das dafür konfiguriert ist, das Elektrowerkzeug 150, zum Beispiel eine Bohrmaschine oder einen Bohrschrauber, zu steuern, das einen mindestens teilweise autonomen Modus hat. Das Steuerungssystem 12 kann dafür konfiguriert sein, den Aktuator 14 zu steuern, der dafür konfiguriert ist, das Elektrowerkzeug 150 zu steuern.
  • Der Sensor 16 des Elektrowerkzeugs 150 kann ein optischer Sensor sein, der dafür konfiguriert ist, eine oder mehrere Eigenschaften der Arbeitsfläche 152 und/oder des Befestigungsmittels 154, das in die Arbeitsfläche 152 eingearbeitet wird, zu erfassen. Der Klassifizierer 24 kann dafür konfiguriert sein, anhand einer oder mehreren der erfassten Eigenschaften einen Zustand der Arbeitsfläche 152 und/oder des Befestigungsmittels 154 relativ zu der Arbeitsfläche 152 zu bestimmen. Ein Störobjekt kann auf der Arbeitsfläche 152 platziert werden, um zu helfen, einen Zustand der Arbeitsfläche oder die Art der verwendeten Arbeitsfläche zu identifizieren. Der Zustand kann darin bestehen, dass das Befestigungsmittel 154 mit der Arbeitsfläche 152 bündig abschließt. Der Zustand kann alternativ die Härte der Arbeitsfläche 152 sein. Der Aktuator 14 kann dafür konfiguriert sein, das Elektrowerkzeug 150 so zu steuern, dass die Antriebsfunktion des Elektrowerkzeugs 150 in Abhängigkeit von dem bestimmten Zustand des Befestigungsmittels 154 relativ zu der Arbeitsfläche 152 oder einer oder mehreren erfassten Eigenschaften der Arbeitsfläche 152 angepasst wird. Zum Beispiel kann der Aktuator 14 die Antriebsfunktion unterbrechen, wenn der Zustand des Befestigungsmittels 154 relativ zu der Arbeitsfläche 152 bündig ist. Als ein weiteres nicht-einschränkendes Beispiel kann der Aktuator 14 ein zusätzliches oder geringeres Drehmoment in Abhängigkeit von der Härte der Arbeitsfläche 152 anlegen. 9 zeigt ein Schaubild des Steuerungssystems 12, das zum Steuern des automatisierten persönlichen Assistenten 900 konfiguriert ist. Das Steuerungssystem 12 kann dafür konfiguriert sein, den Aktuator 14 zu steuern, der dafür konfiguriert ist, den automatisierten persönlichen Assistenten 900 zu steuern. Der automatisierte persönliche Assistent 900 kann dafür konfiguriert sein, ein Haushaltsgerät wie zum Beispiel eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler zu steuern.
  • Der Sensor 16 kann ein optischer Sensor und/oder ein akustischer Sensor sein. Der optische Sensor kann dafür konfiguriert sein, Videobilder von Gesten 904 des Benutzers 902 zu empfangen. Der akustische Sensor kann dafür konfiguriert sein, einen Sprachbefehl des Benutzers 902 zu empfangen.
  • Das Steuerungssystem 12 des automatisierten persönlichen Assistenten 900 kann dafür konfiguriert sein, Aktuatorsteuerbefehle 20 zu bestimmen, die dafür konfiguriert sind Steuerungssystem 12. Das Steuerungssystem 12 kann dafür konfiguriert sein, Aktuatorsteuerbefehle 20 gemäß den Sensorsignalen 18 des Sensors 16 zu bestimmen. Der automatisierte persönliche Assistent 900 ist dafür konfiguriert, die Sensorsignale 18 an das Steuerungssystem 12 zu senden. Der Klassifizierer 24 des Steuerungssystems 12 kann dafür konfiguriert sein, einen Gestenerkennungsalgorithmus auszuführen, um eine Geste 904 des Benutzers 902 zu identifizieren, die Aktuatorsteuerbefehle 20 zu bestimmen und die Aktuatorsteuerbefehle 20 an den Aktuator 14 zu senden. Ein Störobjekt kann verwendet werden, um bestimmte Arten von Gesten 904 oder die Art des Benutzers 902 auf der Grundlage eines auf dem Benutzer platzierten Störobjekts zu identifizieren. Der Klassifizierer 24 kann dafür konfiguriert sein, in Reaktion auf die Geste 904 (oder zusätzlich das Störobjekt) Informationen aus einem nicht-flüchtigen Datenlager abzurufen und die abgerufenen Informationen in einer für den Empfang durch den Benutzer 902 geeigneten Form auszugeben.
  • 10 zeigt ein Schaubild des Steuerungssystems 12, das zum Steuern des Überwachungssystems 250 konfiguriert ist. Das Überwachungssystem 250 kann dafür konfiguriert sein, den Zugang durch die Tür 252 physisch zu kontrollieren. Der Sensor 16 kann dafür konfiguriert sein, eine Szene zu detektieren, die für die Entscheidung, ob der Zugang gewährt wird, relevant ist. Der Sensor 16 kann ein optischer Sensor sein, der dafür konfiguriert ist, Bild- und/oder Videodaten zu generieren und zu senden. Solche Daten können durch das Steuerungssystem 12 verwendet werden, um das Gesicht einer Person zu detektieren.
  • Der Klassifizierer 24 des Steuerungssystems 12 des Überwachungssystems 250 kann dafür konfiguriert sein, die Bild- und/oder Videodaten durch Abgleichen der in dem nicht-flüchtigen Datenlager 26 gespeicherten Identitäten bekannter Personen zu interpretieren und dadurch die Identität einer Person zu bestimmen. Der Klassifizierer 24 kann dafür konfiguriert sein, in Reaktion auf die Interpretation der Bild- und/oder Videodaten einen Steuerbefehl 20 für den Aktuator zu generieren. Das Steuerungssystem 12 ist dafür konfiguriert, den Steuerbefehl 20 an der Aktuator 14 zu senden. In dieser Ausführungsform kann der Aktuator 14 dafür konfiguriert sein, die Tür 252 in Reaktion auf den Aktuatorsteuerbefehl 20 zu verriegeln oder zu entriegeln. In anderen Ausführungsformen ist auch eine nichtphysische, logische Zugangskontrolle möglich.
  • Das Überwachungssystem 250 kann auch ein Sicherheitsüberwachungssystem sein. In einer solchen Ausführungsform kann der Sensor 16 ein optischer Sensor sein, der dafür konfiguriert ist, eine unter Sicherheitsüberwachung stehende Szene zu detektieren, und das Steuerungssystem 12 ist dafür konfiguriert, das Display 254 zu steuern. Der Klassifizierer 24 ist dafür konfiguriert, eine Klassifizierung einer Szene zu bestimmen, zum Beispiel, ob die durch den Sensor 16 detektierte Szene verdächtig ist. Ein Störobjekt kann zum Detektieren bestimmter Arten von Objekten verwendet werden, damit das System solche Objekte unter suboptimalen Bedingungen (zum Beispiel bei Nacht, Nebel, Regen usw.) detektieren kann. Das Steuerungssystem 12 ist dafür konfiguriert, in Reaktion auf die Klassifizierung einen Aktuatorsteuerbefehl 20 an das Display 254 zu senden. Das Display 254 kann dafür konfiguriert sein, den angezeigten Inhalt in Reaktion auf den Aktuatorsteuerbefehl 20 anzupassen. Zum Beispiel kann das Display 254 ein Objekt hervorheben, das durch das Klassifizierer 24 als verdächtig eingestuft wird.
  • 11 zeigt ein Schaubild des Steuerungssystems 12, das zum Steuern des Bildgabesystems 1100, zum Beispiel einer MRT-Vorrichtung, einer Röntgenbildgabevorrichtung oder einer Ultraschallvorrichtung, konfiguriert ist. Der Sensor 16 kann zum Beispiel ein Bildgabesensor sein. Der Klassifizierer 24 kann dafür konfiguriert sein, eine Klassifizierung des gesamten oder eines Teils des erfassten Bildes zu bestimmen. Der Klassifizierer 24 kann dafür konfiguriert sein, in Reaktion auf die durch das trainierte neuronale Netz erhaltene Klassifizierung einen Aktuatorsteuerbefehl 20 zu bestimmen oder auszuwählen. Zum Beispiel kann der Klassifizierer 24 eine Region eines erfassten Bildes als potenziell anomal interpretieren. Ein Störobjekt kann verwendet werden, um bestimmte Objekte zu identifizieren, die in dem Bildgabesystem verwendet werden, wie zum Beispiel ein medizinisches Gerät oder eine medizinische Ausrüstung. In diesem Fall kann der Aktuatorsteuerbefehl 20 so bestimmt oder ausgewählt werden, dass das Display 302 veranlasst wird, die Bildgabe anzuzeigen und die potenziell anomale Region hervorzuheben.
  • Die hier offenbarten Prozesse, Verfahren oder Algorithmen können an eine Verarbeitungsvorrichtung, einen Controller oder einen Computer - was jede vorhandene programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit umfassen kann - übermittelt oder durch eine solche Verarbeitungsvorrichtung, einen solchen Controller oder einen solchen Computer implementiert werden. Ebenso können die Prozesse, Verfahren oder Algorithmen als Daten und Instruktionen gespeichert werden, die durch einen Controller oder Computer in vielen Formen ausgeführt werden können, einschließlich beispielsweise Informationen, die dauerhaft auf nicht-beschreibbaren Speichermedien wie zum Beispiel ROM-Vorrichtungen gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speichermedien wie zum Beispiel Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem durch Software ausführbaren Objekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten wie zum Beispiel anwendungsspezifischer integrierter Schaltkreise (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsautomaten, Controller oder anderer Hardwarekomponenten oder -vorrichtungen oder einer Kombination aus Hardware-, Software- und Firmwarekomponenten verkörpert werden.
  • Die hier offenbarten Prozesse, Verfahren oder Algorithmen können an eine Verarbeitungsvorrichtung, einen Controller oder einen Computer - was jede vorhandene programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit umfassen kann - übermittelt oder durch eine solche Verarbeitungsvorrichtung, einen solchen Controller oder einen solchen Computer implementiert werden. Ebenso können die Prozesse, Verfahren oder Algorithmen als Daten und Instruktionen gespeichert werden, die durch einen Controller oder Computer in vielen Formen ausgeführt werden können, einschließlich beispielsweise Informationen, die dauerhaft auf nicht-beschreibbaren Speichermedien wie zum Beispiel ROM-Vorrichtungen gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speichermedien wie zum Beispiel Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem durch Software ausführbaren Objekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten wie zum Beispiel anwendungsspezifischer integrierter Schaltkreise (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsautomaten, Controller oder anderer Hardwarekomponenten oder -vorrichtungen oder einer Kombination aus Hardware-, Software- und Firmwarekomponenten verkörpert werden.
  • Obgleich oben beispielhafte Ausführungsformen beschrieben wurden, ist es nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die in den Ansprüchen enthalten sind. Die in der Spezifikation verwendeten Wörter sind Wörter der Beschreibung und nicht der Einschränkung, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Wesen und Schutzumfang der Offenlegung abzuweichen. Wie zuvor beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die nicht unbedingt ausdrücklich beschrieben oder veranschaulicht sein müssen. Obgleich verschiedene Ausführungsformen hätten so beschrieben werden können, dass sie im Vergleich zu anderen Ausführungsformen oder Implementierungen des Standes der Technik im Hinblick auf eine oder mehrere erwünschte Eigenschaften Vorteile erbringen oder bevorzugt sind, erkennt der Durchschnittsfachmann, dass bei einem oder mehreren Merkmalen oder einer oder mehreren Eigenschaften Kompromisse eingegangen werden können, um gewünschte Gesamtsystemattribute zu erreichen, die von der konkreten Anwendung und Ausführung abhängig sind. Zu diesen Attributen können unter anderem Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Gebrauchstauglichkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. gehören. Insoweit Ausführungsformen in Bezug auf eine oder mehrere Eigenschaften als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Standes der Technik beschrieben werden, liegen diese Ausführungsformen nicht außerhalb des Geltungsbereichs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.

Claims (20)

  1. Computerimplementiertes Verfahren zum Trainieren eines Maschinenlernnetzes, wobei das Verfahren umfasst: Empfangen von Eingabedaten von einem oder mehreren Sensoren, wobei die Eingabedaten Informationen enthalten, die Bildinformationen oder Toninformationen angeben, wobei der eine oder die mehreren Sensoren eine Kamera, ein Radar, ein Sonar oder ein Mikrofon enthalten; Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten; Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen; Einspeisen der gestörten Abtastung in eine Funktion, die mit dem Maschinenlernnetz verknüpft ist, um die gestörte Abtastung zu detektieren oder zu klassifizieren; Aktualisieren des Störobjekts in Reaktion darauf, dass die Funktion die gestörte Abtastung verarbeitet; und Ausgeben des Störobjekts in Reaktion auf das Überschreiten einer Konvergenzschwelle.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Störobjekt ein zweidimensionales Bild ist.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Störobjekt ein dreidimensionales Objekt ist.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Ausgeben des Störobjekts das Drucken des Störobjekts enthält.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Funktion einen mehrmodalen Klassifizierer enthält.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Funktion einen Objektdetektor enthält.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Eingabedaten Positionsinformationen enthalten, die mit einem detektierten Objekt verknüpft sind.
  8. System, das ein Maschinenlernnetz enthält, wobei das System umfasst: eine Eingabeschnittstelle, die zum Empfangen von Eingabedaten konfiguriert ist, wobei die Eingabeschnittstelle mit einem oder mehreren Sensoren verknüpft ist, wobei der eine oder die mehreren Sensoren eine Kamera, ein Radar, ein Sonar oder ein Mikrofon enthalten; und einen Prozessor, der mit der Eingabeschnittstelle kommuniziert, wobei der Prozessor programmiert ist zum: Empfangen der Eingabedaten, die Informationen enthalten, die Bild- oder Toninformationen angeben; Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten; Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen; Einspeisen der gestörten Abtastung in das Maschinenlernnetz, um die gestörte Abtastung zu detektieren oder zu klassifizieren; und Aktualisieren des Störobjekts in Reaktion darauf, dass das Maschinenlernnetz die gestörte Abtastung verarbeitet; und Ausgeben des Störobjekts in Reaktion auf das Überschreiten einer Konvergenzschwelle, wobei das Störobjekt durch das Maschinenlernnetz detektiert werden kann.
  9. System nach Anspruch 8, wobei das Störobjekt ein zweidimensionales Bild ist.
  10. System nach Anspruch 8, wobei das Störobjekt ein dreidimensionales Objekt ist.
  11. System nach Anspruch 8, wobei das Ausgeben des Störobjekts das Drucken des Störobjekts enthält.
  12. System nach Anspruch 8, wobei das Maschinenlernnetz eine Funktion enthält, die einen Objektdetektor enthält.
  13. System nach Anspruch 8, wobei die Eingabedaten Positionsinformationen enthalten, die mit einem detektierten Objekt verknüpft sind.
  14. Computerprogrammprodukt, das Instruktionen speichert, die, wenn sie durch einen Computer ausgeführt werden, den Computer zu Folgendem veranlassen: Empfangen von Eingabedaten; Auswählen einer oder mehrerer Stapelabtastungen aus den Eingabedaten; Anwenden eines Störobjekts auf die eine oder die mehreren Stapelabtastungen, um eine gestörte Abtastung zu erzeugen; Einspeisen der gestörten Abtastung in ein Maschinenlernnetz unter Verwendung einer Funktion, wobei die Funktion dafür konfiguriert ist, die gestörte Abtastung zu detektieren oder zu klassifizieren; Trainieren des Maschinenlernnetzes unter Verwendung der Funktion und in Reaktion auf das Verarbeiten der gestörten Abtastung; und Ausgeben eines trainierten Maschinenlernnetzes.
  15. Computerprogrammprodukt nach Anspruch 14, wobei die Eingabedaten ein Bild enthalten, das von einer Kamera kommend empfangen wird, die mit dem Computer kommuniziert.
  16. Computerprogrammprodukt nach Anspruch 14, wobei das Ausgeben des trainierten Maschinenlernnetzes in Reaktion darauf erfolgt, dass die gestörte Abtastung eine Mehrzahl von Iterationen durchläuft.
  17. Computerprogrammprodukt nach Anspruch 14, wobei das Ausgeben des trainierten Maschinenlernnetzes in Reaktion auf das Überschreiten einer Konvergenzschwelle erfolgt.
  18. Computerprogrammprodukt nach Anspruch 14, wobei das Störobjekt ein zweidimensionales Objekt ist.
  19. Computerprogrammprodukt nach Anspruch 14, wobei das Störobjekt ein dreidimensionales Objekt ist.
  20. Computerprogrammprodukt nach Anspruch 14, wobei die Eingabedaten von einem oder mehreren Sensoren kommend empfangen werden und die Sensoren ein Radar, eine Kamera oder ein Mikrofon enthalten.
DE102021210392.8A 2020-09-20 2021-09-20 System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung Pending DE102021210392A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/026,258 US20220092466A1 (en) 2020-09-20 2020-09-20 System and method for utilizing perturbation in a multimodal environment
US17/026,258 2020-09-20

Publications (1)

Publication Number Publication Date
DE102021210392A1 true DE102021210392A1 (de) 2022-04-14

Family

ID=80740610

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021210392.8A Pending DE102021210392A1 (de) 2020-09-20 2021-09-20 System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung

Country Status (3)

Country Link
US (1) US20220092466A1 (de)
CN (1) CN114254732A (de)
DE (1) DE102021210392A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633282B2 (en) * 2015-07-30 2017-04-25 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
US10542034B1 (en) * 2017-08-14 2020-01-21 Symantec Corporation Providing adversarial perturbations to media
JP2022540371A (ja) * 2019-07-03 2022-09-15 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 対象を追跡するための計算デバイスおよび方法
US10997470B2 (en) * 2019-08-30 2021-05-04 Accenture Global Solutions Limited Adversarial patches including pixel blocks for machine learning
US11836249B2 (en) * 2019-11-21 2023-12-05 Paypal, Inc. System and method for counteracting adversarial attacks
US10839268B1 (en) * 2020-06-22 2020-11-17 Calypso Ai Corp Artificial intelligence adversarial vulnerability audit tool

Also Published As

Publication number Publication date
CN114254732A (zh) 2022-03-29
US20220092466A1 (en) 2022-03-24

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
DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
DE102022206060A1 (de) Verteidigung von multimodalen fusionsmodellen gegen angreifer mit nur einer quelle
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102020200499A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, unter Verwendung ungelabelter, partitionierter Stichproben
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
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
DE102023212504A1 (de) Systeme und Verfahren zum Training eines Videoobjekt-Detektionsmaschinen-Lernmodells mit einem Rahmen von Lehrer und Schüler
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102020214853A1 (de) Reziprozierende generative modelle
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
DE102020127051A1 (de) Verfahren zur Bestimmung von sicherheitskritischen Ausgabewerten mittels einer Datenanalyseeinrichtung für eine technische Entität
DE102023202402A1 (de) System und Verfahren zum Verbessern der Robustheit von vortrainierten Systemen in tiefen neuronalen Netzwerken unter Verwendung von Randomisierung und Sample-Abweisung
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe
DE102023203691A1 (de) Verfahren und System zur Erkennung von Anomalien auf Graphenebene
DE102021210392A1 (de) System und verfahren zum verwenden von störeffekten in einer mehrmodalen umgebung
US20230100765A1 (en) Systems and methods for estimating input certainty for a neural network using generative modeling
DE102021200568A1 (de) Computerimplementiertes verfahren zur analyse der relevanz visueller parameter zum trainieren eines computer-vision -modells
DE102021204943A1 (de) Meta-gelehrte evolutionsstrategie-blackbox-optimierungsklassifizierer

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000