DE102023207534A1 - System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen - Google Patents

System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen Download PDF

Info

Publication number
DE102023207534A1
DE102023207534A1 DE102023207534.2A DE102023207534A DE102023207534A1 DE 102023207534 A1 DE102023207534 A1 DE 102023207534A1 DE 102023207534 A DE102023207534 A DE 102023207534A DE 102023207534 A1 DE102023207534 A1 DE 102023207534A1
Authority
DE
Germany
Prior art keywords
input data
data set
noise
computer
training data
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
DE102023207534.2A
Other languages
English (en)
Inventor
Chaithanya Kumar Mummadi
Ivan BATALOV
Jingyang Zhang
Wan-Yi Lin
Jeremy Zieg Kolter
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 DE102023207534A1 publication Critical patent/DE102023207534A1/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
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

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

Abstract

Computerprogrammprodukt, das Anweisungen speichert, die beim Ausführen durch einen Computer den Computer veranlassen, Eingabedaten aus einem Sensor zu empfangen, einen Trainingsdatensatz unter Verwendung der Eingabedaten zu erzeugen, wobei der Trainingsdatensatz durch Erzeugen einer oder mehrerer Kopien der Eingabedaten und Hinzufügen von Rauschen zu der einen oder den mehreren Kopien erzeugt wird, den Trainingsdatensatz an ein Diffusionsmodell zu senden, wobei das Diffusionsmodell dazu ausgelegt ist, den Trainingsdatensatz durch Entfernen von den Eingangsdaten anhaftendem Rauschen und durch Rekonstruieren der einen oder mehreren Kopien des Trainingsdatensatzes zu rekonstruieren und zu bereinigen, um einen geänderten Eingangsdatensatz zu erzeugen, den geänderten Eingangsdatensatz an einen festen Klassifikator zu senden und eine den Eingangsdaten zugeordnete Klassifizierung als Reaktion auf ein Mehrheitsvotum der Klassifizierung auszugeben, die durch den festen Klassifikator des geänderten Eingangsdatensatzes erhalten wurde.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft die Erweiterung und Verarbeitung eines Bildes (oder anderer Eingaben) unter Verwendung von maschinellem Lernen.
  • ERKLÄRUNG ZUR STAATLICH GEFÖRDERTEN FORSCHUNG
  • Diese Erfindung wurde mit staatlicher Unterstützung unter der Förderungsnummer 1190060-430433 entwickelt, die durch die National Science Foundation vergeben wurde. Die Regierung kann bestimmte Rechte an dieser Erfindung haben.
  • Hintergrund
  • Es hat sich gezeigt, dass Klassifikatoren des maschinellen Lernens zum Testzeitpunkt anfällig für Verfälschungen und Störungen sind. Solche Störungen/Verfälschungen können auf natürliche Weise auftreten (gewöhnliche Verfälschung) oder im schlimmsten Fall durch adversarielle Störung, bei der eine kleine Änderung im Eingabebereich eine falsche Vorhersage verursachen kann. Natürliche Verfälschungen verändern in der Regel alle Pixel des Bildes, und derartige Verfälschungen sind für die menschliche Wahrnehmung sichtbar. Andererseits gibt es zwei Hauptarten von adversariellen Störungen: normgebundene und patchbasierte Störungen. Normgebundene Störungen verändern ebenfalls alle Pixel des Bildes mit begrenzter (durch die Ip-Norm begrenzter) Stärke, während patchbasierte Störungen nur Pixel innerhalb eines Teilbereichs des Bildes verändern, aber die Werte dieser Pixel auf jeden beliebigen Wert innerhalb des Pixelbereichs des Bildes ändern können.
  • Aufgrund dieser sehr unterschiedlichen Natur der drei Arten von Störungen wurden zwar Verfahren vorgeschlagen, um robuste Modelle gegen eine oder zwei Arten von Störungen zu trainieren, die in der Fachwelt bekannt sind, wie z. B. Diffusionsmodelle für adversarielle Bereinigung, adversarielle Robustheit und robuste Bildwandler. Möglicherweise gibt es jedoch keine Verfahren, die das Modell bei allen drei Arten von Störungen robust macht. In dieser Erfindung wird ein Rahmen vorgeschlagen, der sowohl vortrainierte als auch fein abgestimmte Klassifikatoren robust gegen gewöhnliche Verfälschungen und adversarielle Störungen macht.
  • Kurzdarstellung
  • Eine erste Ausführungsform offenbart ein computerimplementiertes Verfahren zum Trainieren eines maschinellen Lernnetzwerks. Ein computerimplementiertes Verfahren zum Trainieren eines maschinellen Lernnetzwerks umfasst das Empfangen von Eingabedaten aus einem Sensor, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen angeben, das Erzeugen eines Trainingsdatensatzes unter Verwendung der Eingabedaten, wobei der Trainingsdatensatz durch Erzeugen einer oder mehrerer Kopien der Eingabedaten und Hinzufügen von Rauschen mit demselben Mittelwert und derselben Varianz zu jeder der einen oder mehreren Kopien erzeugt wird, das Senden des Trainingsdatensatzes an ein Diffusionsmodell, wobei das Diffusionsmodell dazu ausgelegt ist, den Trainingsdatensatz durch das Diffusionsmodell zu rekonstruieren und zu bereinigen, indem es den Eingabedaten anhaftendes Rauschen entfernt und die eine oder mehreren Kopien des Trainingsdatensatzes rekonstruiert, um einen geänderten Eingabedatensatz zu erzeugen, den geänderten Eingabedatensatz an einen festen Klassifikator sendet und eine den Eingabedaten zugeordnete Klassifizierung als Reaktion auf ein Mehrheitsvotum der durch den festen Klassifikator des geänderten Eingabedatensatzes erhaltenen Klassifizierung ausgibt.
  • Eine zweite Ausführungsform offenbart ein System mit einem maschinellen Lernnetzwerk. Das System umfasst eine Eingabeschnittstelle, die dazu ausgelegt ist, Eingabedaten aus einem Sensor zu empfangen, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon enthält. Das System enthält außerdem einen Prozessor in Kommunikation mit der Eingabeschnittstelle, wobei der Prozessor dazu programmiert ist, Eingabedaten aus einem Sensor zu empfangen, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen angeben, einen Trainingsdatensatz unter Verwendung der Eingabedaten zu erzeugen, wobei der Trainingsdatensatz eine Anzahl von Kopien von Daten mit Rauschen aufweist, den Trainingsdatensatz durch Entfernen des den Eingabedaten anhaftenden Rauschens zu rekonstruieren und zu bereinigen und die Anzahl von Kopien des Trainingsdatensatzes zu rekonstruieren, um einen geänderten Eingabedatensatz zu erzeugen, und als Reaktion auf ein Mehrheitsvotum von Klassifizierungen, die aus dem geänderten Eingabedatensatz erhalten wurden, eine den Eingabedaten zugeordnete endgültige Klassifikation auszugeben.
  • Eine dritte Ausführungsform offenbart ein Computerprogrammprodukt, das Anweisungen speichert, die beim Ausführen durch einen Computer den Computer veranlassen, Eingabedaten aus einem Sensor zu empfangen, einen Trainingsdatensatz unter Verwendung der Eingabedaten zu erzeugen, wobei der Trainingsdatensatz durch Erzeugen einer oder mehrerer Kopien der Eingabedaten und Hinzufügen von Rauschen zu der einen oder den mehreren Kopien erzeugt wird, den Trainingsdatensatz an ein Diffusionsmodell zu senden, wobei das Diffusionsmodell dazu ausgelegt ist, den Trainingsdatensatz durch Entfernen von den Eingabedaten anhaftendem Rauschen und durch Rekonstruieren der einen oder mehreren Kopien des Trainingsdatensatzes zu rekonstruieren und zu bereinigen, um einen geänderten Eingabedatensatz zu erzeugen, den geänderten Eingabedatensatz an einen festen Klassifikator zu senden und als Reaktion auf ein Mehrheitsvotum der Klassifizierung, die durch den festen Klassifikator des geänderten Eingabedatensatzes erhalten wurde, eine den Eingabedaten zugeordnete Klassifizierung auszugeben.
  • Kurzbeschreibung der Zeichnungen
    • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 zeigt ein Datenkommentierungssystem 200 zum Implementieren eines Systems zur Datenkommentierung.
    • 3 veranschaulicht eine Ausführungsform eines Klassifikators.
    • 4 ist ein beispielhaftes Flussdiagramm 400 eines Systems eines neuronalen Netzes zum Lernen von Rausch- oder Störungsdatensätzen unter Verwendung eines Diffusionsmodells.
    • 5 zeigt ein schematisches Diagramm des Zusammenspiels zwischen der computergesteuerten Maschine 10 und dem Steuerungssystem 12.
    • 6 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das zum Steuern eines Fahrzeugs ausgelegt ist, das ein teilautonomes Fahrzeug oder ein teilautonomer Roboter sein kann.
    • 7 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das zum Steuern einer Fertigungsmaschine, wie z. B. einer Stanzmaschine, einer Fräsmaschine oder einer Bohrmaschine eines Fertigungssystems, wie z. B. eines Bestandteils einer Fertigungsstraße, ausgelegt ist.
    • 8 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das zum Steuern eines Elektrowerkzeugs, wie z. B. einer Bohrmaschine oder eines Bohrschraubers, ausgelegt ist, das eine mindestens teilautonome Betriebsart aufweist.
    • 9 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das zum Steuern eines automatisierten persönlichen Assistenten ausgelegt ist.
    • 10 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das dazu ausgelegt ist, ein Kontrollsystem, wie z. B. ein Zugangskontrollsystem oder ein Überwachungssystem, zu steuern.
    • 11 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das zum Steuern eines Bildgebungssystems, z. B. einer MRT-Vorrichtung, einer Röntgenbildgebungsvorrichtung oder einer Ultraschallvorrichtung, ausgelegt ist.
  • Detaillierte Beschreibung
  • Hier werden Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale könnten überzeichnet oder minimiert sein, um Details bestimmter Komponenten zu zeigen. Daher sind bestimmte konstruktive und funktionelle Details, die hier offenbart werden, nicht als einschränkend zu interpretieren, sondern lediglich als eine repräsentative Grundlage für das Unterweisen eines Fachmanns in den unterschiedlichen Anwendungsmöglichkeiten der Ausführungsformen. Wie der Fachmann erkennen wird, können verschiedene Merkmale, die mit Bezug auf eine der Figuren dargestellt und beschrieben werden, mit Merkmalen, die in einer oder mehreren anderen Figuren dargestellt sind, kombiniert werden, um Ausführungsformen hervorzubringen, die nicht explizit dargestellt oder beschrieben sind. Die abgebildeten Kombinationen von Merkmalen liefern repräsentative Ausführungsformen für typische Anwendungen. Verschiedene Kombinationen und Modifikationen der Merkmale, die den Unterweisungen dieser Offenbarung entsprechen, könnten jedoch für bestimmte Anwendungen oder Umsetzungen erwünscht sein.
  • Frühere Arbeiten konzentrieren sich möglicherweise auf eine Teilmenge der drei Arten von Störungen (entweder auf patchbasierte Worst-Case-Störungen oder gewöhnliche Verfälschung mit normgebundenen Worst-Case-Störungen) und nicht auf alle von ihnen. Die in dieser Erfindung vorgeschlagenen robusten Verfahren sind universell für alle Störungsarten sowie für Klassifikatoren mit unterschiedlicher Architektur oder unterschiedlichen Parametern geeignet.
  • Es hat sich gezeigt, dass es aus mehreren Gründen schwierig ist, die Robustheit eines Modells gegenüber Verfälschungen/Störungen zum Testzeitpunkt zu verbessern: Erstens können die Verfälschungen und Störungen während des Trainierens unbemerkt bleiben, während Modelle des maschinellen Lernens trotz ihrer großen Kapazität zum Annähern an fast alle Funktionen darauf angewiesen sind, die beste Darstellung für eine bestimmte Datenverteilung zu erlernen, und in der Regel bei einer unbekannten Datenverteilung keine gute Leistung erbringen; zweitens ist es selbst dann, wenn man die Art und den Schweregrad der Verfälschungen/Störungen zum Testzeitpunkt abschätzen und den Trainingsdaten simulierte Proben hinzufügen kann, schwierig, eine Darstellung zu erlernen, die gegenüber allen Verfälschungen/Störungen robust ist, da manche Verfälschungen/Störungen sehr unterschiedlicher Natur sind.
  • Zur Behebung dieses Problem kann eine nachstehend beschriebene Ausführungsform die entrauschten Diffusionsmodelle (z. B. https://arxiv.org/abs/2006.11239) als universelles Bereinigungsmittel für gewöhnliche Verfälschungen und Worst-Case-Störungen verwenden. Das entrauschte Diffusionsmodell kann lernen, ein Bild unter Gaußschem Rauschen mit bekannter Varianz und Null-Mittelwert zu rekonstruieren. Es kann auch zur Bilderzeugung aus einem Bild mit zufälligem Rauschen verwendet werden, bei dem jeder Pixelwert zufällig aus einer Gaußschen Verteilung gezogen wird. Da zufälliges Rauschen die stärkste Gaußsche Rauschverfälschung eines Bildes ist, zeigt dies, dass das entrauschte Diffusionsmodell ein Bild auch bei starker Gaußscher Rauschverfälschung rekonstruieren kann. Das System kann dann vorschlagen, das Testbild mit hinzugefügtem Gaußschen Rauschen weiter zu „verfälschen“ und dann entrauschte Diffusionsmodelle zu verwenden, um das unveränderte Bild zu rekonstruieren. Die Idee ist, dass das hinzugefügte Gaußsche Rauschen die Verfälschungen oder Störungen verfälscht, und da das entrauschte Diffusionsmodell aus der Verteilung der Trainingsdaten ohne Verfälschungen oder Störungen lernt, sollte das rekonstruierte Bild auch in dieser Verteilung liegen und somit dem unveränderten Bild nahe kommen. Solange das entrauschte Diffusionsmodell und der Bildklassifikator basierend auf derselben Datenverteilung trainiert wurden, sollte der Klassifikator daher in der Lage sein, eine korrekte Klassifizierung auf dem rekonstruierten Bild durchzuführen.
  • Das System kann ferner die stochastische Natur des entrauschten Diffusionsmodells nutzen, um die Bereinigungsleistung zu verbessern. Da zwei verschiedene Ausführungen des Modells mit demselben Eingabebild zu unterschiedlichen Rekonstruktionen führen, können das System und die Verfahren das oben beschriebene Rausch- und Entrauschverfahren mehrfach ausführen, um mehrere rekonstruierte Bilder zu erhalten. Anschließend kann das Mehrheitsvotum der Klassifikatorvorhersage dieser Bilder als endgültige Vorhersageklasse verwendet werden.
  • Das System und das Verfahren können davon ausgehen, dass eine Trainingsdatenverteilung Dtr aus einem Satz von Bildern mit entsprechenden Klassenkennzeichnungen besteht, die zum Trainieren sowohl des Bildklassifikators f: ℝh×w ↦ ℝC als auch des entrauschten Diffusionsmodells h: Rh×w ↦ Rh×w mit umgekehrtem Rauschvarianzschema αt verwendet wurden.
  • In Bezug auf ein entrauschtes Diffusionsmodell erzeugt das entrauschte Diffusionsmodell h ein Bild durch einen Diffusionsprozess. Es lernt, den Rauschprozess x t 1 β t x t 1 + β t n t , n t N ( 0, I ) ,
    Figure DE102023207534A1_0001
    0 < t ≤ T umzukehren, wobei x0 das Originalbild ist, das aus der Trainingsdatenverteilung abgetastet wurde, und βt die geplante (feste oder gelernte) Rauschvarianz ist. Der Rauschprozess transformiert die Daten aus der Trainingsdatenverteilung in ein reines Zufallsrauschbild über die Zeit (t = 1 ,...,T). Der umgekehrte (entrauschte) Prozess generiert dann ein Bild aus der Verteilung der Trainingsdaten aus einem zufälligen Gaußschen Rauschbild durch Entrauschen des Rauschens zurück über die Zeit (t = T,...,1). Um ein Diffusionsmodell h zu trainieren, wird bei einem unveränderten Bild x ∈ ℝh×w aus den Trainingsdaten, einem zufällig abgetasteten Schritt t, , t ∈ ℕ+, 0< t ≤ T, und ein Rauschvarianzschema αt ein verrauschtes Bild abgetastet x t = α t x + 1 α t n t , n t N ( 0, I )
    Figure DE102023207534A1_0002
    und die Differenz zwischen x und h(xt, t) minimiert.
  • Unter der Annahme für gewöhnliche und Worst-Case-Verfälschungen, dass x~Dtr ein unverfälschtes Bild aus der Trainingsdatenverteilung ist, wandelt die Funktion für gewöhnliche Verfälschungen ε: ℝh×w×s ↦ ℝh×w bei einem Schweregrad s x in das verfälschte Bild um, verf a ¨ lschtes x = ε ( x , s )
    Figure DE102023207534A1_0003
    wobei ε Gaußsches Rauschen, Schrotrauschen, Bewegungsunschärfe, Zoomunschärfe, Kompression, Helligkeitsänderung usw. sein kann. Diese Arten von Verfälschungen sind klassifikatorunabhängig, d. h., das verfälschte Bild ε(x, s) ist unabhängig von dem Klassifikator oder den maschinellen Lernmodellen, die das verfälschte Bild verwenden werden.
  • Andererseits sind Worst-Case-Störungen abhängig vom Klassifikator f und dessen Trainingsverlustfunktion L. Bei einem unveränderten Bild x ist das gestörte Bild im ungünstigsten Fall A ( x , δ ,s ) = \ a r g m i n δ L ( f ( A ( x , δ , s ) ) )  unter den Randbedingungen C ( δ , s )
    Figure DE102023207534A1_0004
  • Bei normgebundenen Störungen ist die Anwendungsfunktion A eine Addition und Beschneidung auf den Pixelwertbereich, und die Randbedingung C(.) ist eine Norm-Randbedingung, d. h., ∥δ∥p ≤ s; bei patchbasierten Störungen ist die Anwendungsfunktion A eine Überlagerung (Ersetzen von Pixelwerten) und die Randbedingung C(.) eine Größen- und Formbeschränkung, d. h. die Anzahl der Pixel von δ ≤ sund δ ist rechteckig.
  • Bei einem Bild x ∈ ℝh×w, möglicherweise mit gewöhnlicher Verfälschung, normgebundener Worst-Case-Störung und patchbasierter Worst-Case-Störung, aber mit unbekanntem Schweregrad und unbekannter Art der Verfälschung können ein System und ein Verfahren die Störung bereinigen oder x zu x' innerhalb der Trainingsdatenverteilung rekonstruieren durch x' = h ( x + ρ , t ) ,  wobei  ρ N ( 0, σ I ) , σ 2 = 1 α t α t
    Figure DE102023207534A1_0005
  • Hier ist t eine vorher festgelegte Ganzzahl, die von der Schwere der Verfälschungen/Störungen abhängt.
  • Das System kann dann (Gleichung 2) verwenden, um x' K-mal zu schätzen, sodass sich x'= {x'1, x'2,..., x'K} ergibt; und die endgültige vorhergesagte Klasse für die Eingabe x ist y' = Mehrheit ( f ( x ) ) x { x 1 ' , , x k ' }
    Figure DE102023207534A1_0006
  • Kombiniert man (Gleichung 4) und (Gleichung 5) für ein gegebenes unverändertes Bild x, kann das System als Vorhersage der K-Kopien-Bereinigung y' erhalten. Schließlich kann das System die Genauigkeit der K-Kopien-Bereinigung mit Schritt t von Bild x mit Kennzeichnung y unter Verwendung des Diffusionsmodells h und des Klassifikators f definieren als: 1 ( y = y' ) ,
    Figure DE102023207534A1_0007
    wobei y' = Mehrheit  ( f ( x ) ) )   x { x 1 ' , , x k ' } , x i ' = h ( x + ρ , t ) , ρ N ( 0, σ I ) , σ 2 = 1 α t α t
    Figure DE102023207534A1_0008
  • Man beachte, dass eine Ausführungsform auch für 1-D-Signale wie Audio funktionieren kann. Das System und das Verfahren dürfen auch keine Annahmen bezüglich des Bildklassifikators f treffen, was bedeutet, dass diese Erfindung klassifikatorunabhängig ist und auf jede Architektur und jeden Parameter des Bildklassifikators angewendet werden kann, solange der Klassifikator und das Diffusionsmodell auf derselben Datenverteilung trainiert wurden. Ferner kann die Genauigkeit des Klassifikators durch eine Feinabstimmung von f auf x' weiter erhöht 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. Wie in 1 dargestellt, kann die Eingabeschnittstelle beispielsweise durch eine Datenspeicherschnittstelle 180 gebildet werden, die auf die Trainingsdaten 192 aus einem Datenspeicher 190 zugreifen kann. Die Datenspeicherschnittstelle 180 kann beispielsweise um eine Speicherschnittstelle oder eine Schnittstelle für einen dauerhaften Speicher, z. B. eine Festplatten- oder SSD-Schnittstelle, aber auch eine persönliche, lokale oder Weitverkehrsnetzwerkschnittstelle wie eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Glasfaserschnittstelle sein. Der Datenspeicher 190 kann ein interner Datenspeicher des Systems 100, wie z. B. eine Festplatte oder SSD, aber auch ein externer Datenspeicher, z. B. ein über ein Netzwerk erreichbarer Datenspeicher sein.
  • In einigen Ausführungsformen kann der Datenspeicher 190 ferner eine Datendarstellung 194 einer untrainierten Version des neuronalen Netzes umfassen, auf die durch das System 100 aus dem Datenspeicher 190 zugegriffen werden kann. Es versteht sich jedoch, dass die Trainingsdaten 192 und die Datendarstellung 194 des untrainierten neuronalen Netzes auch jeweils aus einem anderen Datenspeicher, z. B. über ein anderes Teilsystem der Datenspeicherschnittstelle 180, abgerufen werden können. Jedes Teilsystem kann von einer Art sein, wie sie 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 basierend auf Entwurfsparametern für das neuronale Netz erzeugt werden und braucht daher nicht explizit auf dem Datenspeicher 190 gespeichert zu sein. Das System 100 kann ferner ein Prozessorteilsystem 160 umfassen, das dazu ausgelegt sein kann, während des Betriebs des Systems 100 eine iterative Funktion als Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes vorzusehen. In einer Ausführungsform können die jeweiligen Schichten des zu ersetzenden Schichtenstapels gemeinsame Gewichte haben und als Eingabe eine Ausgabe einer vorherigen Schicht oder für eine erste Schicht des Schichtenstapels eine Anfangsaktivierung und einen Teil der Eingabe des Schichtenstapels erhalten. Das System kann auch mehrere Schichten umfassen. Das Prozessorteilsystem 160 kann ferner dazu ausgelegt sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Hier kann eine Iteration des Trainings durch das Prozessorteilsystem 160 einen Vorwärtspropagationsteil und einen Rückwärtspropagationsteil umfassen. Das Prozessorteilsystem 160 kann dazu ausgelegt sein, den Vorwärtspropagationsteil durchzuführen, indem es neben anderen Operationen, die den Vorwärtspropagationsteil definieren und durchgeführt werden können, einen Gleichgewichtspunkt der iterativen Funktion bestimmt, bei dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts die Verwendung eines numerischen Nullstellenfindungsalgorithmus umfasst, um eine Nullstellenlösung für die iterative Funktion abzüglich ihrer Eingabe zu finden, und indem es den Gleichgewichtspunkt als Ersatz für eine Ausgabe des Schichtenstapels in dem neuronalen Netz vorsieht. Das System 100 kann ferner eine Ausgabeschnittstelle zur Ausgabe einer Datendarstellung 196 des trainierten neuronalen Netzes umfassen, wobei diese Daten auch als trainierte Modelldaten 196 bezeichnet werden können. Die Ausgabeschnittstelle kann beispielsweise, wie auch in 1 dargestellt, durch die Datenspeicherschnittstelle 180 gebildet werden, wobei diese Schnittstelle in diesen Ausführungsformen eine Ein-/Ausgabeschnittstelle („EA“) ist, über die die trainierten Modelldaten 196 im Datenspeicher 190 gespeichert werden können. Beispielsweise kann die Datendarstellung 194, die das „untrainierte“ neuronale Netz definiert, während oder nach dem Trainieren mindestens teilweise durch die Datendarstellung 196 des trainierten neuronalen Netzes ersetzt werden, indem die Parameter des neuronalen Netzes, wie Gewichte, Hyperparameter und andere Arten von Parametern neuronaler Netze, angepasst werden, um das Trainieren an den Trainingsdaten 192 widerzuspiegeln. Dies wird in 1 auch durch die Referenznummern 194, 196 verdeutlicht, die sich auf denselben Datensatz im 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 der Art sein, wie oben für die Datenspeicherschnittstelle 180 beschrieben.
  • 2 zeigt ein Datenkommentierungssystem 200 zum Implementieren eines Systems zur Datenkommentierung. Das Datenkommentierungssystem 200 kann mindestens ein Rechensystem 202 enthalten. Das Rechensystem 202 kann mindestens einen Prozessor 204 enthalten, der mit einer Speichereinheit 208 wirkverbunden ist. Der Prozessor 204 kann einen oder mehrere integrierte Schaltungen enthalten, die die Funktionalität einer Zentraleinheit (CPU) 206 implementieren. Die CPU 206 kann eine handelsübliche Verarbeitungseinheit sein, die einen Befehlssatz wie eine der Befehlssatzfamilien x86, ARM, Power oder MIPS implementiert. Während des Betriebs kann die CPU 206 gespeicherte Programmanweisungen ausführen, die aus der Speichereinheit 208 abgerufen werden. Die gespeicherten Programmanweisungen können Software enthalten, die den Betrieb der CPU 206 steuert, um den hier beschriebenen Vorgang durchzuführen. In einigen Beispielen kann der Prozessor 204 ein System auf einem Chip (SoC) sein, das die Funktionalität der CPU 206, der Speichereinheit 208, einer Netzwerkschnittstelle und der Ein-/Ausgabeschnittstellen auf einem einzigen integrierten Baustein integriert. Das Rechensystem 202 kann ein Betriebssystem zur Verwaltung verschiedener Aspekte des Betriebs implementieren.
  • Die Speichereinheit 208 kann einen flüchtigen und einen nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten enthalten. Der nichtflüchtige Speicher kann Festkörperspeicher, wie z. B. NAND-Flashspeicher, magnetische und optische Speichermedien oder jede andere geeignete Datenspeichervorrichtung umfassen, die Daten aufrechterhält, wenn das Rechensystem 202 deaktiviert wird oder die Stromversorgung verliert. Der flüchtige Speicher kann einen statischen und dynamischen Speicher mit wahlfreiem Zugriff (RAM) umfassen, in dem Programmanweisungen und Daten gespeichert werden. Beispielsweise kann die Speichereinheit 208 ein maschinelles Lernmodell 210 oder einen Algorithmus, einen Trainingsdatensatz 212 für das maschinelle Lernmodell 210 und einen Rohdatensatz 215 speichern.
  • Das Rechensystem 202 kann eine Netzwerkschnittstelle 222 enthalten, die für die Kommunikation mit externen Systemen und Vorrichtungen ausgelegt ist. Die Netzwerkschnittstelle 222 kann beispielsweise eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle gemäß den Standards der IEEE 802.11-Familie (Institute of Electrical and Electronics Engineers) umfassen. Die Netzwerkschnittstellenvorrichtung 222 kann eine Mobilfunkschnittstelle für die Kommunikation mit einem Mobilfunknetzwerk (z. B. 3G, 4G, 5G) enthalten. Die Netzwerkschnittstelle 222 kann ferner dazu ausgelegt sein, eine Kommunikationsschnittstelle zu einem externen Netzwerk 224 oder einer Cloud bereitzustellen.
  • Das externe Netzwerk 224 kann als das World Wide Web oder das Internet bezeichnet werden. Das externe Netzwerk 224 kann ein Standard-Kommunikationsprotokoll zwischen Computervorrichtungen einrichten. Das externe Netzwerk 224 kann den einfachen Austausch von Informationen und Daten zwischen Rechenvorrichtungen und Netzwerken ermöglichen. Ein oder mehrere Server 230 können mit dem externen Netzwerk 224 in Verbindung stehen.
  • Das Rechensystem 202 kann eine Ein-/Ausgabeschnittstelle (E/A) 220 enthalten, die dazu ausgelegt sein kann, digitale und/oder analoge Eingaben und Ausgaben bereitzustellen. Die E/A-Schnittstelle 220 kann zusätzliche serielle Schnittstellen für die Kommunikation mit externen Vorrichtungen (z. B. Universal Serial Bus(USB)-Schnittstelle) enthalten.
  • Das Rechensystem 202 kann eine Mensch-Maschine-Schnittstellen(HMI)-Vorrichtung 218 enthalten, das jede Vorrichtung umfassen kann, die es dem System 200 ermöglicht, Steuerungseingaben zu empfangen. Beispiele für Eingabevorrichtungen können menschliche Schnittstellen wie Tastaturen, Mäuse, Touchscreens, Spracheingabevorrichtungen und andere ähnliche Vorrichtungen sein. Das Rechensystem 202 kann eine Anzeigevorrichtung 232 enthalten. Das Rechensystem 202 kann Hardware und Software zur Ausgabe von Grafiken und Textinformationen an die Anzeigevorrichtung 232 enthalten. Die Anzeigevorrichtung 232 kann ein elektronischer Anzeigebildschirm, ein Projektor, ein Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener sein. Das Rechensystem 202 kann ferner dazu ausgelegt sein, die Interaktion mit entfernten HMI- und entfernten Anzeigevorrichtungen über die Netzwerkschnittstelle 222 zu ermöglichen.
  • Das System 200 kann mit einem oder mehreren Rechensystemen implementiert sein. Obwohl das Beispiel ein einzelnes Rechensystem 202 zeigt, das alle beschriebenen Merkmale implementiert, können verschiedene Merkmale und Funktionen getrennt und durch mehrere miteinander kommunizierende Recheneinheiten implementiert werden. Welche Systemarchitektur gewählt wird, kann von vielfältigen Faktoren abhängen.
  • Das System 200 kann einen maschinellen Lernalgorithmus (210) implementieren, der dazu ausgelegt ist, den Rohdatensatz 215 zu analysieren. Der rohe Quelldatensatz 215 kann rohe oder unbearbeitete Sensordaten enthalten, die repräsentativ für einen Eingabedatensatz für ein maschinelles Lernsystem sein können. Der rohe Quelldatensatz 215 kann Videos, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise bearbeitete Sensordaten (z. B. Radarkarten von Objekten) enthalten. In einigen Beispielen kann der maschinelle Lernalgorithmus 210 ein neuronaler Netzalgorithmus sein, der für die Ausführung einer vorgegebenen Funktion ausgelegt ist. Der neuronale Netzalgorithmus kann zum Beispiel für Anwendungen im Automobilbereich ausgelegt sein, um Fußgänger in Videobildern zu identifizieren.
  • Das Computersystem 200 kann einen Trainingsdatensatz 212 für den maschinellen Lernalgorithmus 210 speichern. Der Trainingsdatensatz 212 kann einen Satz von zuvor erstellten Daten zum Trainieren des maschinellen Lernalgorithmus 210 darstellen. Der Trainingsdatensatz 212 kann durch den maschinellen Lernalgorithmus 210 dazu verwendet werden, Gewichtungsfaktoren zu lernen, die einem neuronalen Netzalgorithmus zugeordnet sind. Der Trainingsdatensatz 212 kann einen Satz von Quelldaten mit entsprechenden Ergebnissen enthalten, die der maschinelle Lernalgorithmus 210 durch den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 212 Quellvideos mit und ohne Fußgänger und entsprechende Anwesenheits- und Positionsinformationen enthalten. Die Ausgabevideos können verschiedene Szenarien enthalten, in denen Fußgänger identifiziert werden.
  • Der maschinelle Lernalgorithmus 210 kann in einem Lernmodus betrieben werden, der den Trainingsdatensatz 212 als Eingabe verwendet. Der maschinelle Lernalgorithmus 210 kann über eine Anzahl von Iterationen mit den Daten aus dem Trainingsdatensatz 212 ausgeführt werden. Bei jeder Iteration kann der maschinelle Lernalgorithmus (210) die internen Gewichtungsfaktoren basierend auf den erzielten Ergebnissen aktualisieren. Zum Beispiel kann der maschinelle Lernalgorithmus 210 die Ausgabeergebnisse (z. B. Kommentierungen) mit denen im Trainingsdatensatz 212 vergleichen. Da der Trainingsdatensatz 212 die erwarteten Ergebnisse enthält, kann der maschinelle Lernalgorithmus 210 bestimmen, wann die Leistung akzeptabel ist. Nachdem der maschinelle Lernalgorithmus 210 ein vorbestimmtes Leistungsniveau (z. B. 100%ige Übereinstimmung mit den Ergebnissen, die dem Trainingsdatensatz 212 zugeordnet sind) erreicht hat, kann der maschinelle Lernalgorithmus 210 unter Verwendung von Daten ausgeführt werden, die nicht im Trainingsdatensatz 212 enthalten sind. Der trainierte maschinelle Lernalgorithmus 210 kann auf neue Datensätze angewendet werden, um kommentierte Daten zu erzeugen.
  • Der maschinelle Lernalgorithmus 210 kann dazu ausgelegt sein, ein bestimmtes Merkmal in den Rohdaten 215 zu identifizieren. Die rohen Quelldaten 215 können eine Mehrzahl von Instanzen oder Eingabedatensätzen enthalten, für die Kommentierungsergebnisse gewünscht sind. Der maschinelle Lernalgorithmus 210 kann beispielsweise dazu ausgelegt sein, das Vorhandensein eines Fußgängers in Videobildern zu erkennen und die Vorkommnisse zu kommentieren. Der maschinelle Lernalgorithmus 210 kann dazu programmiert sein, die rohen Quelldaten 215 zu verarbeiten, um das Vorhandensein bestimmter Merkmale zu erkennen. Der maschinelle Lernalgorithmus 210 kann dazu ausgelegt sein, ein Merkmal in den Rohdaten 215 als vorbestimmtes Merkmal (z. B. Fußgänger) zu identifizieren. Die Rohdaten 215 können aus vielfältigen Quellen stammen. Die Rohdaten 215 können zum Beispiel tatsächliche Eingabedaten sein, die durch ein maschinelles Lernsystem erfasst wurden. Die Ausgaberohdaten 215 können maschinell erzeugt sein, um das System zu testen. Die rohen Quelldaten 215 können beispielsweise rohe Videobilder aus einer Kamera enthalten.
  • In diesem Beispiel kann der maschinelle Lernalgorithmus 210 die Rohdaten 215 verarbeiten und einen Hinweis auf eine Darstellung eines Bildes ausgeben. Die Ausgabe kann auch eine vergrößerte Darstellung des Bildes enthalten. Ein maschineller Lernalgorithmus (210) kann für jede erzeugte Ausgabe einen Konfidenzgrad oder -faktor erzeugen. Beispielsweise kann ein Konfidenzwert, der einen vorgegebenen Schwellenwert für hohe Konfidenz überschreitet, darauf hinweisen, dass der maschinelle Lernalgorithmus 210 davon überzeugt ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Konfidenzwert, der unter einem Schwellenwert für niedrige Konfidenz liegt, kann darauf hindeuten, dass der maschinelle Lernalgorithmus 210 sich nicht sicher ist, ob das betreffende Merkmal vorhanden ist.
  • 3 veranschaulicht verschiedene Ausführungsformen eines Klassifikators 30. Der Klassifikator kann einen Einbettungsteil 31 und einen Klassifizierungsteil 32 umfassen. Der Einbettungsteil 31 kann dazu ausgelegt sein, das Eingabesignal (x) zu empfangen und eine Einbettung zu bestimmen. Der Klassifizierungsteil 32 kann eine Einbettung empfangen und als Ausgabesignal eine Klassifizierung bestimmen.
  • In einigen Ausführungsformen kann der Klassifizierungsteil 32 ein linearer Klassifikator sein. In einigen Ausführungsformen kann der Klassifikator 30 beispielsweise aus einem neuronalen Netz bestehen, und der Klassifizierungsteil 32 kann z. B. durch eine vollständig verbundene Schicht gefolgt von einer Argmax-Schicht gegeben sein. In einigen Ausführungsformen kann der Klassifikator 30 aus einem faltenden neuronalen Netz bestehen, und der Einbettungsteil 31 kann mehrere Faltungsschichten umfassen. Der Klassifikator 30 kann ein fester Klassifikator oder in einer anderen Ausführungsform ein vortrainierter Klassifikator sein.
  • 4 ist ein beispielhaftes Flussdiagramm 400 eines Systems eines neuronalen Netzes zum Lernen von Rausch- oder Störungsdatensätzen unter Verwendung eines Diffusionsmodells. Die Eingabe kann einen vortrainierten Klassifikator f und ein entrauschtes Diffusionsmodell h umfassen, die auf der gleichen Datenverteilung trainiert wurden. Ferner können ein maximaler Diffusionsschritt T und das Rauschvarianzschema α_t von h angegeben werden. Die Eingabe kann auch Trainingsdaten Dtr enthalten, die für f und h verwendet wurden. Eine Menge S möglicher gewöhnlicher Verfälschungen und Worst-Case-Störungen und entsprechender Schweregrad s. Anzahl der Kopien der bereinigten/rekonstruierten Eingabe für das Mehrheitsvotum K in (Gleichung 5). Kriterien für den Bereinigungsschritt Cr(t) können, abhängig von der Anwendung, z. B. die absolute Differenz zwischen mittlerer unveränderter Genauigkeit und robuster Genauigkeit oder die robuste Genauigkeit sein.
  • Das System kann ein Suchschema für t als R definieren. Bei einer linearen Suche mit dem Intervall d ist beispielsweise R = [1, 1+d, 1+2d,..., T-mod(T,d)]. R kann auch rekursiv sein, indem bei der ersten Iteration ein größeres d verwendet, das beste Intervall ermittelt und dann d für das Intervall reduziert wird. Für jedes t' in R kann das System die mittlere Genauigkeitsdifferenz AD berechnen. Die mittlere Genauigkeitsdifferenz AD kann für jedes (x,y) in Dtr berechnet werden, und anschließend berechnet das System die unveränderte Genauigkeit und die robuste Genauigkeit. Zur Berechnung der unveränderten Genauigkeit kann das System die Formel aus Gleichung 6 verwenden, nämlich: wobei y' = Mehrheit  ( f ( x ) ) )   x { x 1 ' , , x k ' } , x i ' = h ( x + ρ , t ) ,   ρ N ( 0, σ I ) , σ 2 = 1 α t α t
    Figure DE102023207534A1_0009
  • Um die robuste Genauigkeit zu berechnen, kann das System für jede Störung und jeden Schweregrad in S ein verfälschtes/gestörtes Bild unter Verwendung von (Gleichung 2) und (Gleichung 3) erzeugen und dann die Genauigkeit unter Verwendung von (Gleichung 6) berechnen, wobei x in (Gleichung 6) das erzeugte verfälschte Bild ist. Anschließend kann das System die Genauigkeit über alle Verfälschungen/Störungen und den Schweregrad in S mitteln.
  • Berechnen der mittleren unveränderten Genauigkeit und der robusten Genauigkeit über alle Proben in Dtr, anschließend Berechnen der Bereinigungskriterien Cr(t') basierend auf der mittleren unveränderten und robusten Genauigkeit t* = a r g m i n t ( C r ( t ' ) ) t ' R
    Figure DE102023207534A1_0010
  • Nach Empfangen der Eingabe x zum Testzeitpunkt kann das System unter Verwendung von (Gleichung 4) mit t = t* { x 1 ' , , x k ' }
    Figure DE102023207534A1_0011
    erzeugen und anschließend die vorhergesagte Klasse unter Verwendung von (Gleichung 5) ausgeben.
  • In Schritt 401 kann das System Eingabedaten aus einem oder mehreren Sensoren empfangen. Die Sensoren können eine Kamera, ein Radar, ein Röntgengerät, ein Sonar, ein Scanner, ein Mikrofon oder ein ähnlicher Sensor sein. Die Eingabedaten können Bilder, Ton oder andere Informationen enthalten. Wie bereits erwähnt, kann die Eingabe verwendet werden, um verschiedene Kopien zu erstellen, die Rauschen enthalten.
  • In Schritt 403 kann das System einen Trainingsdatensatz erzeugen. Der Datensatz kann einen Originaldatensatz und eine gestörte Version des Datensatzes enthalten, die Rauschen enthält. Das System kann den Trainingsdatensatz unter Verwendung eines Diffusions-Varianz-Schemas erstellen, wobei die Diffusionsschritte eine Anzahl von Kopien ergeben. Der Satz kann bei jedem Kopiervorgang durch Anfertigen von K Kopien der Eingaben erstellt werden. Dies wird oben ausführlich erläutert.
  • In Schritt 405 kann der Trainingsdatensatz in das Diffusionsmodell h eingespeist werden. Das Diffusionsmodell kann wie oben erläutert zum Bereinigen des Bildes verwendet werden. Das Diffusionsmodell kann das rekonstruierte Bild reproduzieren, indem es, wie oben erläutert, Rauschen und/oder Störungen entfernt.
  • In Schritt 407 kann das System eine vorhergesagte Klasse ermitteln. Der Klassifikator kann die vorhergesagte Klasse basierend auf den rekonstruierten bereinigten Kopien identifizieren, die aus dem Diffusionsmodell geliefert werden. In Schritt 409 kann das System die Klassifizierung ausgeben. Die Klassifizierung kann basierend auf einem Mehrheitsvotum ausgegeben werden. Das System kann ferner die stochastische Natur des entrauschten Diffusionsmodells nutzen, um die Bereinigungsleistung zu verbessern. Da zwei verschiedene Ausführungen des Modells mit demselben Eingabebild möglicherweise zu unterschiedlichen Rekonstruktionen führen, können das System und die Verfahren das oben beschriebene Rausch- und Entrauschverfahren mehrfach ausführen, um mehrere rekonstruierte Bilder zu erhalten. Die Anzahl der Ausführungen kann zufällig oder festgelegt sein. Anschließend kann das Mehrheitsvotum der Klassifikatorvorhersage dieser Bilder als endgültige Vorhersageklasse verwendet werden.
  • 5 zeigt ein schematisches Diagramm des Zusammenspiels zwischen der computergesteuerten Maschine 10 und dem Steuerungssystem 12. Die computergesteuerte Maschine 10 kann wie in 1-4 beschrieben ein neuronales Netz enthalten. Die computergesteuerte Maschine 10 enthält einen Aktuator 14 und einen Sensor 16. Der Aktuator 14 kann einen oder mehrere Aktuatoren und der Sensor 16 einen oder mehrere Sensoren umfassen. Der Sensor 16 ist dazu ausgelegt, einen Zustand der computergesteuerten Maschine 10 zu erfassen. Der Sensor 16 kann dazu ausgelegt sein, den erfassten Zustand in Sensorsignale 18 zu codieren und die Sensorsignale 18 an das Steuerungssystem 12 zu übertragen. Nichteinschränkende Beispiele für den Sensor 16 umfassen Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einer Ausführungsform ist der Sensor 16 ein optischer Sensor, der dazu ausgelegt ist, optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 10 zu erfassen.
  • Das Steuerungssystem 12 ist dazu ausgelegt, Sensorsignale 18 aus der computergesteuerten Maschine 10 zu empfangen. Wie weiter unten dargelegt, kann das Steuerungssystem 12 ferner dazu ausgelegt sein, in Abhängigkeit von den Sensorsignalen Aktuatorsteuerbefehle 20 zu berechnen und die Aktuatorsteuerbefehle 20 an den Aktuator 14 der computergesteuerten Maschine 10 zu übertragen.
  • Wie in 5 gezeigt, enthält das Steuerungssystem 12 eine Empfangseinheit 22. Die Empfangseinheit 22 kann dazu ausgelegt sein, Sensorsignale 18 aus dem Sensor 16 zu empfangen und die Sensorsignale 18 in Eingabesignale x umzuwandeln. In einer alternativen Ausführungsform werden die Sensorsignale 18 direkt als Eingabesignale x ohne Empfangseinheit 22 empfangen. Jedes Eingabesignal x kann ein Teil jedes Sensorsignals 18 sein. Die Empfangseinheit 22 kann dazu ausgelegt sein, jedes Sensorsignal 18 zu verarbeiten, um jedes Eingabesignal x zu erzeugen. Das Eingabesignal x kann Daten enthalten, die einem durch den Sensor 16 aufgezeichneten Bild entsprechen.
  • Das Steuerungssystem 12 enthält den Klassifikator 24. Der Klassifikator 24 kann dazu ausgelegt sein, Eingabesignale x unter Verwendung eines maschinellen Lernalgorithmus (ML), z. B. eines oben beschriebenen neuronalen Netzes, in eine oder mehrere Kennzeichnungen zu klassifizieren. Der Klassifikator 24 ist dazu ausgelegt, durch Parameter wie oben beschrieben (z. B. Parameter θ) parametrisiert zu werden. Die Parameter θ können in einem nichtflüchtigen Speicher 26 gespeichert und durch diesen bereitgestellt werden. Der Klassifikator 24 ist dazu ausgelegt, aus den Eingabesignalen x die Ausgabesignale y zu ermitteln. Jedes Ausgabesignal y enthält Informationen, die jedem Eingabesignal x eine oder mehrere Kennzeichnungen zuweisen. Der Klassifikator 24 kann die Ausgabesignale y an die Umwandlungseinheit 28 übertragen. Die Umwandlungseinheit 28 ist dazu ausgelegt, die Ausgabesignale y in Steuerbefehle für die Aktuatoren 20 umzuwandeln. Das Steuerungssystem 12 ist dazu ausgelegt, Aktuatorsteuerbefehle 20 an den Aktuator 14 zu übertragen, der dazu ausgelegt ist, die computergesteuerte Maschine 10 als Reaktion auf die Aktuatorsteuerbefehle 20 zu betätigen. In einer anderen Ausführungsform ist der Aktuator 14 dazu ausgelegt, die computergesteuerte Maschine 10 basierend auf den Ausgabesignalen y direkt zu betätigen.
  • Beim Empfang von Aktuatorsteuerbefehlen 20 durch den Aktuator 14 ist der Aktuator 14 dazu ausgelegt, eine Handlung auszuführen, die dem entsprechenden Aktuatorsteuerbefehl 20 entspricht. Der Aktuator 14 kann eine Steuerlogik enthalten, die dazu ausgelegt 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 Steuerbefehle 20 des Aktuators dazu verwendet werden, eine Anzeigevorrichtung anstelle oder zusätzlich zu einem Aktuator zu steuern.
  • In einer anderen Ausführungsform umfasst das Steuerungssystem 12 den Sensor 16 anstelle oder zusätzlich zu der computergesteuerten Maschine 10 mit dem Sensor 16. Das Steuerungssystem 12 kann den Aktuator 14 auch anstelle oder zusätzlich zu der computergesteuerten Maschine 10 mit dem Aktuator 14 enthalten.
  • Wie in 5 gezeigt, enthält das Steuerungssystem 12 einen Prozessor 30 und einen Speicher 32. Der Prozessor 30 kann einen oder mehrere Prozessoren umfassen. Der Speicher 32 kann einen oder mehrere Speicherbausteine umfassen. Der Klassifikator 24 (z. B. ML-Algorithmen) einer oder mehrerer Ausführungsformen kann durch das Steuerungssystem 12 implementiert sein, das einen nichtflüchtigen Speicher 26, einen Prozessor 30 und einen Speicher 32 enthält.
  • Der nichtflüchtige Speicher 26 kann ein oder mehrere dauerhafte Datenspeichervorrichtungen umfassen, wie z. B. eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Festkörperspeichervorrichtung, einen Cloud-Speicher oder eine andere Vorrichtung, die Informationen dauerhaft speichern kann. Der Prozessor 30 kann ein oder mehrere Vorrichtungen umfassen, die aus Hochleistungsrechnersystemen (HPC) ausgewählt sind, einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, Zentraleinheiten, feldprogrammierbaren Gate-Array, programmierbaren Logikbausteinen, Zustandsmaschinen, Logikschaltungen, analogen Schaltungen, digitalen Schaltungen oder anderen Vorrichtungen, die (analoge oder digitale) Signale basierend auf computerausführbaren Anweisungen im Speicher 32 verarbeiten. Der Speicher 32 kann ein einzelnes Speichermedium oder eine Anzahl von Speichermedien umfassen, einschließlich unter anderem Direktzugriffsspeichern (RAM), flüchtigen Speichern, nichtflüchtigen Speichern, statischen Direktzugriffsspeichern (SRAM), dynamischen Direktzugriffsspeichern (DRAM), Flashspeichern, Cachespeichern oder jedem anderen Speichermedium, das Informationen speichern kann.
  • Der Prozessor 30 kann dazu ausgelegt sein, computerausführbare Anweisungen in den Speicher 32 einzulesen und auszuführen, die sich im nichtflüchtigen Speicher 26 befinden und einen oder mehrere ML-Algorithmen und/oder Verfahren einer oder mehrerer Ausführungsformen verkörpern. Der nichtflüchtige Speicher 26 kann ein oder mehrere Betriebssysteme und Anwendungen enthalten. Der nichtflüchtige Speicher 26 kann kompilierte und/oder interpretierte Computerprogramme speichern, die mittels einer Vielfalt von Programmiersprachen und/oder -technologien erstellt wurden, darunter, ohne Einschränkung und entweder allein oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
  • Bei Ausführung durch den Prozessor 30 können die computerausführbaren Anweisungen des nichtflüchtigen Speichers 26 das Steuerungssystem 12 veranlassen, einen oder mehrere der hier offenbarten ML-Algorithmen und/oder -Verfahren zu implementieren. Der nichtflüchtige Speicher 26 kann auch ML-Daten (einschließlich Datenparameter) enthalten, die die Funktionen, Merkmale und Prozesse der hier beschriebenen Ausführungsformen unterstützen.
  • Der Programmcode, der die hier beschriebenen Algorithmen und/oder Verfahren verkörpert, kann einzeln oder gemeinsam als Programmprodukt in einer Vielfalt unterschiedlicher Formen verbreitet werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums verbreitet werden, das computerlesbare Programmanweisungen enthält, um einen Prozessor zu veranlassen, Aspekte einer oder mehrerer Ausführungsformen auszuführen. Zu den computerlesbaren Speichermedien, die von Natur aus nichttemporär sind, können flüchtige und nicht flüchtige sowie entfernbare und nicht entfernbare materielle Medien gehören, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie z. B. computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, eingesetzt werden. Zu den computerlesbaren Speichermedien können ferner RAM, ROM, löschbare programmierbare Festwertspeicher (EPROM), elektrisch löschbare programmierbare Festwertspeicher (EEPROM), Flashspeicher oder andere Festkörperspeichertechnologien, tragbare Compact-Disc-Festwertspeicher (CD-ROM) oder andere optische Speichermedien, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium gehören, das zum Speichern der gewünschten Informationen verwendet und durch einen Computer gelesen werden kann. Computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf einen Computer, eine andere Art von programmierbarem Datenverarbeitungsgerät oder eine andere Vorrichtung oder über ein Netzwerk auf einen externen Computer oder eine externe Speichervorrichtung heruntergeladen werden.
  • Computerlesbare Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können dazu verwendet werden, einen Computer, andere Arten von programmierbaren Datenverarbeitungsvorrichtungen oder andere Vorrichtungen anzuweisen, in einer bestimmten Weise zu funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Artikel erzeugen, der Anweisungen enthält, die die in den Flussdiagrammen oder Schaubildern angegebenen Funktionen, Handlungen und/oder Vorgänge implementieren. In bestimmten alternativen Ausführungsformen können die in den Flussdiagrammen und Schaubildern angegebenen Funktionen, Handlungen und/oder Vorgänge in Übereinstimmung mit einer oder mehreren Ausführungsformen neu geordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Darüber hinaus kann jedes der Flussdiagramme und/oder Schaubilder mehr oder weniger Knoten oder Blöcke als die enthalten, die in Übereinstimmung mit einer oder mehreren Ausführungsformen dargestellt sind. Die Prozesse, Verfahren oder Algorithmen können ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten wie anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsautomaten, Steuervorrichtungen oder anderer Hardwarekomponenten oder - vorrichtungen oder einer Kombination aus Hardware-, Software- und Firmwarekomponenten realisiert werden.
  • 6 zeigt ein schematisches Diagramm des Steuerungssystems 12, das zum Steuern des Fahrzeugs 50 ausgelegt ist, das ein mindestens teilautonomes Fahrzeug oder ein mindestens teilautonomer Roboter sein kann. Wie in 5 dargestellt, umfasst das Fahrzeug 50 den Aktuator 14 und den Sensor 16. Der Sensor 16 kann einen oder mehrere Videosensoren, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (z. B. GPS) umfassen. Einer oder mehrere der spezifischen Sensoren können in das Fahrzeug 50 integriert sein. Alternativ oder zusätzlich zu einem oder mehreren der oben genannten spezifischen Sensoren kann der Sensor 16 ein Softwaremodul enthalten, das dazu ausgelegt ist, bei der Ausführung einen Zustand des Aktuators 14 zu bestimmen. Ein nichteinschränkendes Beispiel für ein Softwaremodul ist ein Wetterinformations-Softwaremodul, das dazu ausgelegt ist, einen gegenwärtigen oder zukünftigen Zustand des Wetters in der Nähe des Fahrzeugs 50 oder einer anderen Position zu bestimmen.
  • Der Klassifikator 24 des Steuerungssystems 12 des Fahrzeugs 50 kann dazu ausgelegt sein, Objekte in der Umgebung des Fahrzeugs 50 in Abhängigkeit von Eingabesignalen x zu erfassen. In einer solchen Ausführungsform kann das Ausgabesignal y Informationen enthalten, die die Nähe von Objekten zum Fahrzeug 50 charakterisieren. Anhand dieser Informationen kann der Steuerbefehl 20 für den Aktuator bestimmt werden. Der Steuerbefehl 20 für den Aktuator kann dazu verwendet werden, Kollisionen mit den erfassten Objekten zu vermeiden.
  • In Ausführungsformen, in denen das Fahrzeug 50 ein mindestens teilautonomes Fahrzeug ist, kann der Aktuator 14 in einer Bremse, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 50 verkörpert sein. Die Steuerbefehle 20 für den Aktuator können derart bestimmt werden, dass der Aktuator 14 so gesteuert wird, dass das Fahrzeug 50 Kollisionen mit erfassten Objekten vermeidet. Erfasste Objekte können auch danach klassifiziert werden, was sie nach Ansicht des Klassifikators 24 am wahrscheinlichsten sind, z. B. Fußgänger oder Bäume. Die Aktuatorsteuerbefehle 20 können in Abhängigkeit von der Klassifizierung bestimmt werden. Das Steuerungssystem 12 kann den Robustifizierer zum Trainieren des Netzes auf ungünstige Bedingungen, z. B. schlechte Lichtverhältnisse oder schlechte Wetterbedingungen in der Fahrzeugumgebung sowie auf einen Angriff, verwenden.
  • In anderen Ausführungsformen, in denen das Fahrzeug 50 ein mindestens teilautonomer Roboter ist, kann das Fahrzeug 50 ein mobiler Roboter sein, der dazu ausgelegt ist, eine oder mehrere Funktionen, z. B. Fliegen, Schwimmen, Tauchen und Laufen, auszuführen. Der mobile Roboter kann ein mindestens teilautonomer Rasenmäher oder ein mindestens teilautonomer 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 wird, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • In einer anderen Ausführungsform ist das Fahrzeug 50 ein mindestens teilautonomer Roboter in Form eines Gartenroboters. In dieser Ausführungsform kann das Fahrzeug 50 einen optischen Sensor als Sensor 16 verwenden, um den Zustand der Pflanzen in der Umgebung des Fahrzeugs 50 zu bestimmen. Der Aktuator 14 kann eine Düse sein, die zum Versprühen von Chemikalien ausgelegt ist. Je nach der identifizierten Art und/oder dem identifiziertem Zustand der Pflanzen kann der Steuerbefehl 20 für den Aktuator 14 so bestimmt werden, dass dieser die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.
  • Das Fahrzeug 50 kann ein mindestens teilautonomer Roboter in Form eines Haushaltsgeräts sein. Nichteinschränkende Beispiele für Haushaltsgeräte umfassen eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder eine Geschirrspülmaschine. In einem solchen Gerät 50 kann der Sensor 16 ein optischer Sensor sein, der dazu ausgelegt ist, den Zustand eines Objekts zu erfassen, das durch das Haushaltsgerät verarbeitet werden soll. Ist das Haushaltsgerät beispielsweise eine Waschmaschine, kann der Sensor 16 den Zustand der Wäsche in der Waschmaschine erfassen. Der Steuerbefehl 20 für den Aktuator kann basierend auf dem festgestellten Zustand der Wäsche bestimmt werden.
  • 7 zeigt ein schematisches Diagramm des Steuerungssystems 12, das dazu ausgelegt ist, das System 100 (z. B. eine Fertigungsmaschine), wie z. B. eine Stanzmaschine, eine Fräsmaschine oder eine Bohrmaschine, des Fertigungssystems 102, z. B. als Teil einer Fertigungsstraße, zu steuern. Das Steuerungssystem 12 kann dazu ausgelegt sein, den Aktuator 14 zu steuern, der zum Steuern des Systems 100 (z. B. der Fertigungsmaschine) ausgelegt ist.
  • Der Sensor 16 des Systems 100 (z. B. der Fertigungsmaschine) kann ein optischer Sensor sein, der dazu ausgelegt ist, eine oder mehrere Eigenschaften des hergestellten Produkts 104 zu erfassen. Der Klassifikator 24 kann dazu ausgelegt sein, aus einer oder mehreren der erfassten Eigenschaften einen Zustand des hergestellten Produkts 104 zu bestimmen. Der Aktuator 14 kann dazu ausgelegt sein, das Steuerungssystem 100 (z. B. die Fertigungsmaschine) in Abhängigkeit von dem ermittelten Zustand des hergestellten Produkts 104 für einen nachfolgenden Fertigungsschritt des hergestellten Produkts 104 zu steuern. Der Aktuator 14 kann dazu ausgelegt sein, Funktionen des Systems 100 (z. B. der Fertigungsmaschine) am nachfolgenden hergestellten Produkt 106 des Systems 100 (z. B. der Fertigungsmaschine) in Abhängigkeit von dem ermittelten Zustand des hergestellten Produkts 104 zu steuern. Das Steuerungssystem 12 kann den Robustifikator nutzen, um das maschinelle Lernnetzwerk auf ungünstige Bedingungen, z. B. schlechte Lichtverhältnisse oder Arbeitsbedingungen, die für die Sensoren schwer zu erkennen sind, wie z. B. viel Staub, zu trainieren.
  • 8 zeigt ein schematisches Diagramm des Steuerungssystems 12, das zum Steuern des Elektrowerkzeugs 150, z. B. einer Bohrmaschine oder eines Bohrschraubers, ausgelegt ist und eine mindestens teilautonome Betriebsart aufweist. Das Steuerungssystem 12 kann dazu ausgelegt sein, den Aktuator 14 zu steuern, der zum Steuern des Elektrowerkzeugs 150 ausgelegt ist.
  • Der Sensor 16 des Elektrowerkzeugs 150 kann ein optischer Sensor sein, der dazu ausgelegt ist, eine oder mehrere Eigenschaften der Arbeitsfläche 152 und/oder des Befestigungselements 154, das in die Arbeitsfläche 152 eingebracht wird, zu erfassen. Der Klassifikator 24 kann dazu ausgelegt sein, einen Zustand der Arbeitsfläche 152 und/oder des Befestigungselements 154 relativ zur Arbeitsfläche 152 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Zustand kann darin bestehen, dass das Befestigungselement 154 mit der Arbeitsfläche 152 bündig ist. Der Zustand kann alternativ die Härte der Arbeitsfläche 152 sein. Der Aktuator 14 kann dazu ausgelegt sein, das Elektrowerkzeug 150 so zu steuern, dass die Antriebsfunktion des Elektrowerkzeugs 150 in Abhängigkeit vom ermittelten Zustand des Befestigungselements 154 relativ zur Arbeitsfläche 152 oder einer oder mehrerer erfasster Eigenschaften der Arbeitsfläche 152 angepasst wird. Beispielsweise kann der Aktuator 14 die Antriebsfunktion unterbrechen, wenn der Zustand des Befestigungselements 154 relativ zur Arbeitsfläche 152 bündig ist. Als weiteres nichteinschränkendes Beispiel kann der Aktuator 14 je nach Härte der Arbeitsfläche 152 mehr oder weniger Drehmoment aufbringen. Das Steuerungssystem 12 kann den Robustifizierer zum Trainieren des maschinellen Lernnetzwerks auf ungünstige Bedingungen, z. B. schlechte Lichtverhältnisse oder schlechte Wetterbedingungen, verwenden. So kann das Steuerungssystem 12 die Umgebungsbedingungen des Elektrowerkzeugs 150 erkennen.
  • 9 zeigt ein schematisches Diagramm des Steuerungssystems 12, das zum Steuern des automatisierten persönlichen Assistenten 900 ausgelegt ist. Das Steuerungssystem 12 kann dazu ausgelegt sein, den Aktuator 14 zu steuern, der zum Steuern des automatisierten persönlichen Assistenten 900 ausgelegt ist. Der automatisierte persönliche Assistent 900 kann dazu ausgelegt sein, ein Haushaltsgerät, wie z. B. eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder eine Geschirrspülmaschine, zu steuern.
  • Der Sensor 16 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann dazu ausgelegt sein, Videobilder von Gesten 904 des Benutzers 902 zu empfangen. Der Audiosensor kann dazu ausgelegt sein, einen Sprachbefehl des Benutzers 902 zu empfangen.
  • Das Steuerungssystem 12 des automatisierten persönlichen Assistenten 900 kann dazu ausgelegt sein, die Steuerbefehle 20 für die Aktuatoren zu bestimmen, die das System 12 steuern. Das Steuerungssystem 12 kann dazu ausgelegt sein, in Abhängigkeit von den Sensorsignalen 18 des Sensors 16 Steuerbefehle 20 für den Aktuator zu bestimmen. Der automatisierte persönliche Assistent 900 ist dazu ausgelegt, Sensorsignale 18 an das Steuerungssystem 12 zu übertragen. Der Klassifikator 24 des Steuerungssystems 12 kann dazu ausgelegt sein, einen Gestenerkennungsalgorithmus auszuführen, um die durch den Benutzer 902 ausgeführten Gesten 904 zu identifizieren, die Steuerbefehle 20 für den Aktor zu bestimmen und die Steuerbefehle 20 für den Aktor an den Aktuator 14 zu übertragen. Der Klassifikator 24 kann dazu ausgelegt sein, als Reaktion auf die Gesten 904 Informationen aus einem nichtflüchtigen Speicher abzurufen und die abgerufenen Informationen in einer für den Empfang durch den Benutzer 902 geeigneten Form auszugeben. Das Steuerungssystem 12 kann den Robustifizierer zum Trainieren des maschinellen Lernnetzwerks auf ungünstige Bedingungen, z. B. schlechte Lichtverhältnisse oder schlechte Wetterbedingungen, verwenden. So kann das Steuerungssystem 12 in der Lage sein, Gesten unter solchen Bedingungen zu erkennen.
  • 10 zeigt ein schematisches Diagramm des Steuerungssystems 12, das zum Steuern des Überwachungssystems 250 ausgelegt ist. Das Überwachungssystem 250 kann dazu ausgelegt sein, den Zugang durch eine Tür 252 physisch zu kontrollieren. Der Sensor 16 kann dazu ausgelegt sein, eine Szene zu erkennen, die für die Entscheidung über die Gewährung des Zugangs relevant ist. Der Sensor 16 kann ein optischer Sensor sein, der zum Erzeugen und Übertragen von Bild- und/oder Videodaten ausgelegt ist. Diese Daten können durch das Steuerungssystem 12 verwendet werden, um das Gesicht einer Person zu erkennen. Das Steuerungssystem 12 kann den Robustifizierer nutzen, um das maschinelle Lernnetzwerk auf adversarielle Bedingungen bei schlechten Lichtverhältnissen oder im Falle eines Eindringlings in die Umgebung des Kontrollüberwachungssystems 250 zu trainieren.
  • Der Klassifikator 24 des Steuerungssystems 12 des Überwachungssystems 250 kann dazu ausgelegt sein, die Bild- und/oder Videodaten durch Abgleichen mit den im nichtflüchtigen Speicher 26 gespeicherten Identitäten bekannter Personen zu interpretierten und so die Identität einer Person zu bestimmen. Der Klassifikator 24 kann dazu ausgelegt sein, als Reaktion auf die Interpretation der Bild- und/oder Videodaten einen Steuerbefehl für den Aktuator 20 zu erzeugen. Das Steuerungssystem 12 ist dazu ausgelegt, den Steuerbefehl 20 an den Aktuator 14 zu übertragen. In dieser Ausführungsform kann der Aktuator 14 dazu ausgelegt sein, die Tür 252 als Reaktion auf den Aktuatorsteuerbefehl 20 zu verriegeln oder zu entriegeln. In anderen Ausführungsformen ist auch eine nicht-physische, 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 dazu ausgelegt ist, eine zu überwachende Szene zu erfassen, und das Steuerungssystem 12 ist dazu ausgelegt, die Anzeigevorrichtung 254 zu steuern. Der Klassifikator 24 ist dazu ausgelegt, eine Klassifizierung einer Szene zu bestimmen, z. B. ob die durch den Sensor 16 erfasste Szene verdächtig ist. Das Steuerungssystem 12 ist dazu ausgelegt, als Reaktion auf die Klassifizierung einen Steuerbefehl 20 für den Aktuator an die Anzeigevorrichtung 254 zu übertragen. Die Anzeigevorrichtung 254 kann dazu ausgelegt sein, den angezeigten Inhalt als Reaktion auf den Steuerbefehl 20 des Aktuators anzupassen. Beispielsweise kann die Anzeigevorrichtung 254 ein Objekt hervorheben, das durch den Klassifikator 24 als verdächtig eingestuft wird.
  • 11 zeigt ein schematisches Diagramm des Steuerungssystems 12, das zum Steuern des Bildgebungssystems 1100, z. B. einer MRT-Vorrichtung, einer Röntgenbildgebungsvorrichtung oder einer Ultraschallvorrichtung, ausgelegt ist. Der Sensor 16 kann z. B. ein Bildsensor sein. Der Klassifikator 24 kann dazu ausgelegt sein, eine Klassifizierung des gesamten oder eines Teils des erfassten Bildes vorzunehmen. Der Klassifikator 24 kann dazu ausgelegt sein, einen Steuerbefehl für den Aktuator 20 als Reaktion auf die durch das trainierte neuronale Netz erhaltene Klassifizierung zu bestimmen oder auszuwählen. So kann der Klassifikator 24 beispielsweise einen Bereich eines erfassten Bildes als potenziell anomal interpretieren. In diesem Fall kann der Steuerbefehl 20 für den Aktuator so bestimmt oder ausgewählt werden, dass die Anzeigevorrichtung 302 das Bild anzeigt und den potenziell anomalen Bereich hervorhebt. Das Steuerungssystem 12 kann das Diffusionsmodell dazu nutzen, das maschinelle Lernnetzwerk auf ungünstige Bedingungen während einer Röntgenaufnahme, z. B. ungünstige Beleuchtung, zu trainieren.
  • Die hier offenbarten Prozesse, Verfahren oder Algorithmen sind an eine Verarbeitungsvorrichtung, eine Steuervorrichtung oder einen Computer lieferbar bzw. durch diese implementierbar, wozu jedes vorhandene programmierbare elektronische Steuergerät oder dediziertes elektronisches Steuergerät gehören kann. Auf ähnliche Weise können die Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen gespeichert sein, die durch eine Steuervorrichtung oder einen Computer in vielen Formen ausführbar sind, einschließlich unter anderem Informationen, die dauerhaft auf nicht beschreibbaren Speichermedien wie ROM-Vorrichtungen gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speichermedien wie Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Software-Objekt implementiert sein. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise durch geeignete Hardwarekomponenten realisiert sein, wie z. B. durch anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), Zustandsautomaten, Steuervorrichtungen oder andere Hardwarekomponenten oder - vorrichtungen oder durch eine Kombination von Hardware-, Software- und Firmwarekomponenten.
  • Obwohl oben beispielhafte Ausführungsformen beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die durch die Ansprüche umfasst werden. Die in der Spezifikation verwendeten Worte sind eher beschreibende als einschränkende Worte, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Schutzbereich 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 abgebildet sind. Obwohl verschiedene Ausführungsformen hinsichtlich eines oder mehrerer gewünschter Merkmale möglicherweise als vorteilhaft oder bevorzugt gegenüber anderen Ausführungsformen oder Implementierungen nach dem Stand der Technik beschrieben sein können, wird der Fachmann erkennen, dass ein oder mehrere Merkmale oder Eigenschaften einen Kompromiss eingehen können, um gewünschte Eigenschaften des Gesamtsystems zu erreichen, die von der konkreten Anwendung und Implementierung abhängen. Diese Eigenschaften können unter anderem Kosten, Festigkeit, Haltbarkeit, Lebensdauerkosten, Marktfähigkeit, Aussehen, Verpackung, Größe, Wartungsfreundlichkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. umfassen. Soweit Ausführungsformen in Bezug auf ein oder mehrere Merkmale als weniger wünschenswert als andere Ausführungsformen oder Ausführungsformen nach dem Stand der Technik beschrieben sind, fallen diese Ausführungsformen nicht aus dem Schutzbereich der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.

Claims (20)

  1. Computerimplementiertes Verfahren zum Trainieren eines maschinellen Lernnetzwerks, umfassend: Empfangen von Eingabedaten aus einem Sensor, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen darstellen; Erzeugen eines Trainingsdatensatzes unter Verwendung der Eingabedaten, wobei das Erzeugen das Erzeugen einer oder mehrerer Kopien der Eingabedaten und das Hinzufügen von Rauschen mit demselben Mittelwert und derselben Varianz zu jeder der einen oder mehreren Kopien umfasst; Rekonstruieren und Bereinigen des Trainingsdatensatzes unter Verwendung eines Diffusionsmodells durch Entfernen des den Eingabedaten anhaftenden Rauschens und Rekonstruieren der einen oder mehreren Kopien des Trainingsdatensatzes, um einen geänderten Eingabedatensatz zu erzeugen; und Ausgeben einer den Eingabedaten zugeordneten Klassifizierung unter Verwendung eines festen Klassifikators als Reaktion auf ein Mehrheitsvotum der durch den festen Klassifikator erhaltenen Klassifizierung des geänderten Eingabedatensatzes.
  2. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei sowohl das Diffusionsmodell als auch der feste Klassifikator vortrainiert sind.
  3. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei das Verfahren für jeden Trainingsdatensatz das Berechnen eines unverfälschten Bildes unter Verwendung des Diffusionsmodells und des festen Klassifikators umfasst.
  4. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei das Rauschen Gaußsches Rauschen, Schrotrauschen, Bewegungsunschärfe, Zoomunschärfe, Kompression oder Helligkeitsänderungen umfasst.
  5. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei der feste Klassifikator und das Diffusionsmodell auf derselben Datenverteilung trainiert werden.
  6. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei das Diffusionsmodell dazu ausgelegt ist, das dem Trainingsdatensatz anhaftende Rauschen durch Entrauschen des Rauschens über der Zeit umzukehren.
  7. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei das Diffusionsmodell entrauscht wird.
  8. Computerimplementiertes Verfahren gemäß Anspruch 1, wobei der Sensor eine Kamera ist und die Eingabedaten aus der Kamera erhaltene Videoinformationen enthalten.
  9. System mit einem maschinellen Lernnetzwerk, umfassend: eine Eingabeschnittstelle, die dazu ausgelegt ist, Eingabedaten aus einem Sensor zu empfangen, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon umfasst; und einen Prozessor, der mit der Eingabeschnittstelle kommuniziert, wobei der Prozessor dazu programmiert ist: Eingabedaten aus der Eingabeschnittstelle zu empfangen, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen angeben; einen Trainingsdatensatz unter Verwendung der Eingabedaten zu erzeugen, wobei der Trainingsdatensatz eine Anzahl von Kopien der Eingabedaten zusammen mit Rauschen enthält; den Trainingsdatensatz zu rekonstruieren und zu bereinigen, indem das den Eingabedaten anhaftende Rauschen entfernt und die Anzahl der Kopien rekonstruiert wird, um einen geänderten Eingabedatensatz zu erzeugen; und eine den Eingabedaten zugeordnete endgültige Klassifizierung als Reaktion auf ein Mehrheitsvotum der Klassifizierungen auszugeben, die aus dem geänderten Eingabedatensatz erhalten wurden.
  10. System gemäß Anspruch 9, wobei das Rauschen Gaußsches Rauschen, Schrotrauschen, Bewegungsunschärfe, Zoomunschärfe, Kompression oder Helligkeitsänderungen umfasst.
  11. System gemäß Anspruch 9, wobei die Eingabedaten ein Bild darstellen und der Trainingsdatensatz durch Auswählen jedes dem Bild zugeordneten Pixels gemäß dem Zufallsprinzip aus einer Gaußschen Verteilung erzeugt wird.
  12. System gemäß Anspruch 9, wobei das System ein Diffusionsmodell enthält, das ein entrauschtes Diffusionsmodell ist, das dazu ausgelegt ist, Bilder durch einen Diffusionsprozess zu erzeugen.
  13. System gemäß Anspruch 12, wobei das Diffusionsmodell dazu verwendet wird, den Trainingsdatensatz zu rekonstruieren und zu bereinigen.
  14. System gemäß Anspruch 9, wobei die endgültige Klassifizierung unter Verwendung eines Klassifikators ausgegeben wird.
  15. Computerprogrammprodukt, umfassend Anweisungen, die beim Ausführen durch einen Computer den Computer veranlassen: Eingabedaten aus einem Sensor zu empfangen; einen Trainingsdatensatz unter Verwendung der Eingabedaten zu erzeugen, wobei der Trainingsdatensatz durch Erzeugen einer oder mehrerer Kopien der Eingabedaten und Hinzufügen von Rauschen zu der einen oder den mehreren Kopien erzeugt wird; den Trainingsdatensatz an ein Diffusionsmodell zu senden, wobei das Diffusionsmodell dazu ausgelegt ist, den Trainingsdatensatz zu rekonstruieren und zu bereinigen, indem es den Eingabedaten anhaftendes Rauschen entfernt und die eine oder mehreren Kopien des Trainingsdatensatzes rekonstruiert, um einen geänderten Eingabedatensatz zu erzeugen; und eine den Eingabedaten zugeordnete Klassifizierung unter Verwendung eines festen Klassifikators als Reaktion auf ein Mehrheitsvotum der durch den festen Klassifikator erhaltenen Klassifizierung und den geänderten Eingabedatensatz auszugeben.
  16. Computerprogrammprodukt gemäß Anspruch 15, wobei die Eingabedaten Bild-, Radar-, Sonar- oder Schallinformationen enthalten.
  17. Computerprogrammprodukt gemäß Anspruch 15, wobei das Hinzufügen von Rauschen das Hinzufügen von Rauschen mit demselben Mittelwert und derselben Varianz zu jeder der einen oder mehreren Kopien beinhaltet.
  18. Computerprogrammprodukt gemäß Anspruch 15, wobei das Hinzufügen von Rauschen das Hinzufügen von Rauschen mit demselben Mittelwert beinhaltet.
  19. Computerprogrammprodukt gemäß Anspruch 15, wobei das Hinzufügen von Rauschen das Hinzufügen von Rauschen mit derselben Varianz beinhaltet.
  20. Computerprogrammprodukt gemäß Anspruch 15, wobei die Eingabedaten Schallinformationen enthalten, die aus einem Mikrofon erhalten wurden.
DE102023207534.2A 2022-08-31 2023-08-04 System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen Pending DE102023207534A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/900,343 US20240070451A1 (en) 2022-08-31 2022-08-31 System and method for universal purification of input perturbation with denoised diffiusion models
US17/900343 2022-08-31

Publications (1)

Publication Number Publication Date
DE102023207534A1 true DE102023207534A1 (de) 2024-02-29

Family

ID=89844680

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023207534.2A Pending DE102023207534A1 (de) 2022-08-31 2023-08-04 System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen

Country Status (4)

Country Link
US (1) US20240070451A1 (de)
JP (1) JP2024035192A (de)
CN (1) CN117633608A (de)
DE (1) DE102023207534A1 (de)

Also Published As

Publication number Publication date
US20240070451A1 (en) 2024-02-29
JP2024035192A (ja) 2024-03-13
CN117633608A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112019007762T5 (de) Verfahren zum Trainieren eines generativen kontradiktorischen Netzes, modifiziertes Bildgenerierungsmodul und System zum Detektieren von Merkmalen in einem Bild
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102023102316A1 (de) System und verfahren zur robusten erzeugung von pseudo-labels für die halb-überwachte objekterkennung
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE112020003343T5 (de) System und verfahren mit einem robusten tiefen generativen modell
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE102020213076A1 (de) Verfahren und vorrichtung für eine fortschrittliche faltung an verschlüsselten daten
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102020209853A1 (de) Vorrichtung und system für das lernen unüberwachter geordneter darstellung mit einem residual-variational-autoencoder
DE102020200499A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, unter Verwendung ungelabelter, partitionierter Stichproben
DE102023203691A1 (de) Verfahren und System zur Erkennung von Anomalien auf Graphenebene
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE102018220608A1 (de) Maschinelles Lernsystem, sowie ein Verfahren, ein Computerprogramm und eine Vorrichtung zum Erstellen des maschinellen Lernsystems
DE102022206060A1 (de) Verteidigung von multimodalen fusionsmodellen gegen angreifer mit nur einer quelle
DE102022210129A1 (de) Bildverarbeitung über isotonische faltungs-neuronalnetze
DE102018218834A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Ansteuersignals
DE102021204943A1 (de) Meta-gelehrte evolutionsstrategie-blackbox-optimierungsklassifizierer
DE102021204040A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung von Trainingsdaten im Fahrzeug
DE102021200568A1 (de) Computerimplementiertes verfahren zur analyse der relevanz visueller parameter zum trainieren eines computer-vision -modells
DE102021107247A1 (de) Domänenübersetzungsnetzwerk zur durchführung einer bildübersetzung
DE102020215191A1 (de) Detektion anomaler bewegungsabläufe repetitiver menschlicher aktivitäten
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe

Legal Events

Date Code Title Description
R012 Request for examination validly filed