DE102023202739A1 - Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird - Google Patents

Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird Download PDF

Info

Publication number
DE102023202739A1
DE102023202739A1 DE102023202739.9A DE102023202739A DE102023202739A1 DE 102023202739 A1 DE102023202739 A1 DE 102023202739A1 DE 102023202739 A DE102023202739 A DE 102023202739A DE 102023202739 A1 DE102023202739 A1 DE 102023202739A1
Authority
DE
Germany
Prior art keywords
complex
valued
output
computer
input image
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
DE102023202739.9A
Other languages
English (en)
Inventor
Sindy Lowe
Max Welling
Maja RUDOLPH
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 DE102023202739A1 publication Critical patent/DE102023202739A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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/048Activation functions

Landscapes

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

Abstract

Ein computer-implementiertes Verfahren für ein System des maschinellen Lernens umfasst: Empfangen eines Eingabebildes, Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem System assoziiert sind, und Aktualisieren und Ausgeben der Modellparameter, die mit dem System assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft eine Erweiterung und Verarbeitung eines Bildes (oder anderer Eingaben) unter Verwendung von maschinellem Lernen.
  • Hintergrund
  • Objektzentrierte Repräsentationen bilden die Grundlage der menschlichen Wahrnehmung und ermöglichen es uns, über neue Situationen nachzudenken und diese systematisch zu verallgemeinern. Derzeit konzentrieren sich die meisten Arbeiten des maschinellen Lernens zur Objektentdeckung auf Slot-basierte Ansätze, die die latenten Repräsentationen einzelner Objekte trennen. Obwohl das Ergebnis leicht interpretierbar sein kann, erfordert es normalerweise das Design der beteiligten Architekturen. Im Gegensatz dazu schlagen wir einen verteilten Ansatz für objektzentrische Repräsentationen vor.
  • Kurzdarstellung
  • Gemäß einer ersten Ausführungsform umfasst ein computer-implementiertes Verfahren für ein System des maschinellen Lernens (ML-System): Empfangen eines Eingabebildes, Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem System des maschinellen Lernens assoziiert sind, und Aktualisieren und Ausgeben der Modellparameter, die mit dem System des maschinellen Lernens assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird.
  • Gemäß einer zweiten Ausführungsform umfasst ein computer-implementiertes Verfahren für ein System des maschinellen Lernens: Empfangen eines Eingabebildes, Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem System des maschinellen Lernens assoziiert sind, und Aktualisieren und Ausgeben der Modellparameter, die mit dem System des maschinellen Lernens assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird, und als Antwort darauf, dass der Konvergenzschwellenwert erreicht wird, Gruppieren von Ausgangsphasenwerten, die mit der komplexwertigen Ausgabe assoziiert sind.
  • Gemäß einer dritten Ausführungsform umfasst ein System, das ein Netz des maschinellen Lernens aufweist: eine Eingabeschnittstelle, die dazu eingerichtet ist, Eingabedaten von einem Sensor zu empfangen, wobei der Sensor eine Kamera, ein Radar, ein Sonar, oder ein Mikrofon umfasst. Das System umfasst einen Prozessor in Kommunikation mit der Eingabeschnittstelle. Der Prozessor ist zum Folgenden eingerichtet: Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem ML-System assoziiert sind, und Aktualisieren und Ausgeben der Modellparameter, die mit dem ML-System assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird.
  • Kurze Beschreibung der Zeichnungen
    • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 zeigt ein computer-implementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes.
    • 3 zeigt ein Ablaufdiagramm einer hybriden unüberwachten semantischen Segmentierung.
    • 4 zeigt ein Ablaufdiagramm zum Trainieren eines Netzes, das die hybride unüberwachte semantische Segmentierung nutzt.
    • 5 zeigt ein schematisches Diagramm einer Interaktion zwischen einer computergesteuerten Maschine 10 und einem Steuerungssystem 12.
    • 6 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das dazu eingerichtet ist, ein Fahrzeug zu steuern, das ein teilweise autonomes Fahrzeug oder ein teilweise autonomer Roboter sein kann.
    • 7 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das dazu eingerichtet ist, eine Fertigungsmaschine, wie z. B. einen Stanzschneider, einen Schneider oder einen Kanonenbohrer, eines Fertigungssystems, wie z. B. einen Teil einer Produktionslinie, zu steuern.
    • 8 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das dazu eingerichtet ist, ein Elektrowerkzeug, wie z. B. eine Bohrmaschine oder ein Schraubendreher, das einen zumindest teilweise autonomen Modus aufweist, zu steuern.
    • 9 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das zum Steuern eines automatisierten persönlichen Assistenten eingerichtet ist.
    • 10 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das dazu eingerichtet ist, ein Überwachungssystem, wie z. B. ein Zugangskontrollsystem oder ein Bewachungssystem, zu steuern.
    • 11 zeigt ein schematisches Diagramm des Steuerungssystems von 1, das dazu eingerichtet ist, ein Bildgebungssystem, zum Beispiel eine MRI-Vorrichtung, eine Röntgenbildvorrichtung, oder eine Ultraschallvorrichtung, zu steuern.
  • Ausführliche Beschreibung
  • Es werden hier Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten vergrößert oder verkleinert sein, um Einzelheiten bestimmter Komponenten darzustellen. Die hier offenbarten konkreten strukturellen und funktionellen Einzelheiten sind daher nicht als Beschränkung auszulegen, sondern lediglich als eine repräsentative Grundlage, um einen Fachmann zu lehren, die Ausführungsformen auf verschiedene Weisen einzusetzen. Wie ein Durchschnittsfachmann verstehen wird, können verschiedene Merkmale, die unter Bezugnahme auf eine beliebige der Figuren dargestellt und beschrieben werden, mit Merkmalen, die in einer oder mehreren anderen Figuren dargestellt sind, kombiniert werden, um Ausführungsformen zu erzeugen, die nicht explizit dargestellt oder beschrieben sind. Die dargestellten Kombinationen von Merkmalen stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung übereinstimmen, könnten jedoch für bestimmte Anwendungen oder Implementierungen erwünscht sein.
  • Die neurowissenschaftliche Theorie der zeitlichen Codierung setzt voraus, dass biologische Neuronen zwei Mechanismen (Feuerrate und Synchronität) verwenden, um Informationen zu codieren. Ein komplexer Auto-Encoder (CAE) kann komplexwertige Aktivierungen verwenden, die zwei Botschaften repräsentieren: Ihre Beträge drücken die Anwesenheit eines Merkmals aus, während die relativen Phasenunterschiede zwischen Neuronen ausdrücken, welche Merkmale miteinander verbunden werden sollten, um gemeinsame Objektrepräsentationen zu erzeugen. Ein solches System kann eine bessere Rekonstruktionsleistung als ein äquivalenter reellwertiger Autoencoder auf Datensätzen mit mehreren Objekten erzielen. Außerdem kann das System zeigen, dass es eine vergleichbare Leistung bei unüberwachter Objektentdeckung wie ein Slot-Attention-Modell auf zwei Datensätzen erreicht, und es schafft, Objekte in einem dritten Datensatz zu entwirren, wo das Slot-Attention fehlschlägt - und das alles, während es schneller (z. B. 40- bis 80-mal schneller) zu trainieren ist.
  • Das System kann den CAE als ein Modell für die Objektentdeckung vorschlagen, das Mechanismen nutzt, die durch zeitliche Codierung inspiriert sind, um verteilte objektzentrierte Repräsentationen zu erzeugen. Das System kann damit beginnen, komplexwertige Aktivierungen in eine standardmäßige Autocodierungsarchitektur einzufügen. Ein solches Modell kann den zusätzlichen Freiheitsgrad, der durch die komplexen Zahlen bereitgestellt wird, am effizientesten nutzen - und dass dies unter den richtigen Bedingungen zu einem objektzentrierten Codierungsschema führt. Schließlich möchte das System möglicherweise, dass die komplexwertigen Aktivierungen des CAE zwei Botschaften gleichzeitig übermitteln: Seine Beträge sollten repräsentieren, ob ein Merkmal vorhanden ist, und seine Phasenwerte sollten repräsentieren, welche Merkmale miteinander verbunden werden sollten. Unter Verwendung der beschriebenen Mechanismen repräsentieren die Ausgangsphasenwerte des CAE, nach einem unüberwachten Training an einem Datensatz mit mehreren Objekten, verschiedene Objekte in der Szene.
  • Um es einem Autoencoder zu ermöglichen, objektzentrische Repräsentationen zu entwickeln, können in ein System und ein Verfahren komplexwertige Aktivierungen eingefügt werden. Das System kann zwischen den reellwertigen Eingaben und Ausgaben, die zum Trainieren des Modells verwendet werden, und den komplexwertigen Aktivierungen, die zum Repräsentieren von objektzentrischen Merkmalen verwendet werden, übersetzen.
  • Der komplexe Autoencoder (z. B. in 3 gezeigt) kann ein positives, reellwertiges Eingabebild x ∈ R+ nehmen, und ordnet jedem Pixel eine Anfangsphase φ = 0 ∈ R zu, um die komplexwertige Eingabe x' für das Modell zu erzeugen: x' = x · exp ∈ ℂ.
  • Der CAE wendet einen Faltungsencoder fenc und -decoder fdec mit reellwertigen Parametern θ ∈ R auf diese komplexwertige Eingabe an und erzeugt eine komplexwertige Rekonstruktion ẑ: z ^ = ƒ d e c ( ƒ e n c ( x ' ) )
    Figure DE102023202739A1_0001
  • Um vorhandene Frameworks des tiefen Lernens zu verwenden, wenden das System und das Verfahren Schichten möglicherweise nicht direkt auf ihre komplexwertigen Eingaben an. Stattdessen kann jede Schicht reellwertige Komponenten (den Real- oder Imaginärteil oder der Betrag) aus der Eingabe extrahieren und verarbeitet sie separat, bevor die Ergebnisse zu einer komplexwertigen Ausgabe kombiniert werden.
  • Auf der Grundlage der komplexwertigen Ausgabe ẑ: des Decoders kann das System die reellwertige Rekonstruktion x̂ erzeugen, indem eine 1 × 1-Faltungsschicht mit einer Sigmoid-Aktivierungsfunktion fout auf den Betrag der komplexen Ausgabe des Modells angewendet wird x̂ = fout (|ẑ|) ∈ ℝ+. Dies ermöglicht es dem Modell, eine geeignete Skalierung und Verschiebung der Beträge zu lernen, um besser zu den Eingabewerten zu passen. Das Modell kann trainiert werden, indem diese Rekonstruktion unter Verwendung einer Verlustfunktion des mittleren quadratischen Fehlers L = M S E ( x , x ^ ) +
    Figure DE102023202739A1_0002
    mit der ursprünglichen Eingabe verglichen wird und indem die sich ergebenden Gradienten verwendet werden, um die Modellparameter zu aktualisieren.
  • Schließlich kann das System die Phasenwerte φ = arg(ẑ) ∈ (0, 2π) der komplexwertigen Rekonstruktion verwenden, um eine Objektzuordnung für jedes Pixel zu erlangen. In einem Beispiel beschreibt arg(ẑ) die Winkel zwischen der positiven reellen Achse und den Linien, die den Ursprung und jedes Element in ̂z verbinden. Im nächsten Abschnitt werden die Mechanismen beschrieben, die das Modell dazu anregen, Phasenwerte zu lernen, die eine Objektidentität repräsentieren.
  • Damit der CAE eine gute Objektentdeckungsleistung erreichen kann, sollten die Phasen von Aktivierungen desselben Objekts synchronisiert sein, während Aktivierungen, die durch verschiedene Objekte induziert werden, desynchronisiert sein sollten. Um dies zu erreichen, muss dem Netzwerk ermöglicht werden, Phasen zu synchronisieren und desynchronisieren (d. h. einigen Aktivierungen dieselben Phasen und anderen unterschiedliche Phasen zuzuweisen) und Phasenverschiebungen im gesamten Netzwerk präzise zu steuern. Dies wird erreicht, indem drei Schritte für jede Netzwerkschicht fθ ∈ {fenc,fdec}, die durch θ ∈ ℝ parametrisiert und auf die Eingabe dieser Schicht z ∈ ℂ angewendet werden, befolgt werden:
  • Das System muss möglicherweise das Netzwerk dazu anregen, Phasenwerte für Merkmale zu synchronisieren, die miteinander gebunden werden sollten. Diese Eigenschaft wird auf natürliche Weise durch die Verwendung komplexer Zahlen erreicht: Wenn zwei komplexe Zahlen gegensätzlicher Phasen addiert werden, unterdrücken sie sich gegenseitig oder heben sich sogar auf (auch bekannt als destruktive Interferenz). Um Merkmale zu bewahren, muss das Netzwerk daher ihre Phasenwerte ausrichten (auch als konstruktive Interferenz bekannt).
  • Als Nächstes kann das System einen Mechanismus benötigen, der die Phasenwerte desynchronisieren kann. Auch dies wird auf natürliche Weise durch die Verwendung komplexer Zahlen erreicht: Wenn zum Beispiel zwei komplexe Zahlen mit einer Phasendifferenz von 90° addiert werden, liegt das Ergebnis zwischen diesen beiden Zahlen und ist daher um 45° verschoben, d. h. desynchronisiert. Zusätzlich zu diesem inhärenten Mechanismus wird ein zweiter Mechanismus hinzugefügt, der dem Netzwerk mehr Kontrolle über die genauen Phasenverschiebungen verleiht. Insbesondere kann das System jede Schicht separat auf die realen und imaginären Komponenten ihrer Eingabe anwenden, während die Parameter θ gemeinsam genutzt werden, um eine Zwischenrepräsentation ζ zu erzeugen: ζ= ƒ θ ( R e ( z ) + ƒ θ ( I m ( z ) i ε
    Figure DE102023202739A1_0003
  • Zum Beispiel würde ein Anwenden von Gewichtungen w ∈ θ und Biases b ∈ θ auf eine komplexwertige Eingabe x + yi in einer vollständig verbundenen Schicht zu ζ = wx + b + wyi + bi führen. Folglich erlaubt diese Formulierung dem Bias b, die imaginäre Komponente zu beeinflussen. Dies ermöglicht es dem Modell, explizite Phasenverschiebungen im gesamten Netzwerk zu lernen und die durch die Initialisierung mit gleicher Phase (Gleichung (1)) erzeugte Symmetrie zu brechen.
  • Das System kann einen Mechanismus umfassen, der es dem Modell ermöglicht, inhibitorische Eingaben mit ausgerichteten Phasen von exzitatorischen Eingaben mit entgegengesetzten Phasen zu unterscheiden. Bei gegebenen Gewichtungen w und Aktivierungen a gilt in der obigen Netzwerkformulierung, dass (-w) · a =w · (-a). Im vorliegenden Fall sind sie jedoch möglicherweise nicht wünschenswert. Damit ermöglicht wird, dass das Modell sinnvolle Phasenverschiebungen lernt, muss es in der Lage sein, ein negatives Gewicht von einer negativen Aktivierung zu unterscheiden, da das eine eine ausgerichtete Phase aufweist und das andere nicht. Das System kann dies erreichen, indem der Absolutwert der Aktivierungen (-w) · |a| ≠ w · |(-a)| genommen wird. Daher wird jede Schicht zusätzlich auf den Betrag ihrer Eingabe angewendet: x = ƒ θ ( | z | )
    Figure DE102023202739A1_0004
    und das Ergebnis zum Betrag von ζ addiert, um die Ausgangsphase und den Betrag der Schicht zu erzeugen: φ z = arg ( ζ )
    Figure DE102023202739A1_0005
    m z = 0,5 | ξ | + 0,5 χ
    Figure DE102023202739A1_0006
  • Dieses Hinzufügen des χ-Terms wurde ursprünglich vorgeschlagen, um die biologische Plausibilität eines komplexwertigen Modells zu verbessern, da er zu einer ähnlichen Ausgangsratenmodulation durch unterschiedliche Phasenversätze führt.
  • Das System kann eine neue Aktivierungsfunktion für komplexwertige Aktivierungen vorschlagen, um weiter eine maximale Steuerung des Netzwerks über alle Phasenverschiebungen sicherzustellen. Um die endgültige Ausgabe einer Schicht z' zu erstellen, kann das System eine Nichtlinearität auf die Größen mz anwenden, aber die Phasen φz unverändert lassen: m ' z = R e L U ( B a t c h N o r m ( m z ) )
    Figure DE102023202739A1_0007
    z ' = m ' z e x p i φ z
    Figure DE102023202739A1_0008
  • Bei dieser Konfiguration muss Einiges beachtet werden. Zuerst kann mz als Folge der Summation mit potentiell negativen Werten χ negativ sein. Nichtsdestotrotz weist es aufgrund der Verwendung von Absolutwerten in jeder Schicht insgesamt eine Tendenz zu positiven Werten auf. Zweitens kann das System durch Anwenden von Batch-Normalisierung sicherstellen, dass diese Werte - zumindest anfänglich - nullzentriert sind und daher den nichtlinearen Teil der ReLU-Aktivierungsfunktion verwenden. Gleichzeitig stellt die Batch-Normalisierung die Flexibilität zum Lernen bereit, diese Werte gegebenenfalls zu verschieben und zu skalieren. Schließlich stellt die ReLU-Nichtlinearität sicher, dass alle Werte in m'z positiv sind, und verhindert auf diese Weise Phasenkippungen in der Ausgabe z'.
  • Um den CAE für die Objektentdeckung zu verwenden, kann das System pixelweise Segmentierungsmasken erzeugen, indem es alle Ausgangsphasenwerte durch eine Clustering-Prozedur kennzeichnet. Daher kann das System k Clusterzuweisungen für alle Phasenwerte erzeugen, wobei k der Anzahl von Objekten in der Eingabe plus eins für den Hintergrund entspricht. Um dies zu erreichen, kann das System zunächst die Tatsache berücksichtigen, dass die Phasenwerte komplexer Zahlen bei kleinen Beträgen zunehmend zufällig werden. Das System kann dies bewerkstelligen, indem es die Phasenwerte komplexer Zahlen, deren Betrag m < 0,1 ist, durch einen Einstellwert von 0 ersetzt. Um den periodischen Charakter der Phasenwerte zu berücksichtigen, können sie auf einen Einheitskreis abgebildet werden. Dadurch wird verhindert, dass Werte nahe 0 und 2π unterschiedlichen Clustern zugeordnet werden, obwohl sie ähnliche Winkel repräsentieren. Schließlich kann das System k-Means anwenden und die resultierenden Clusterzuweisungen für jeden Phasenwert als das vorhergesagte Label des zugrunde liegenden Pixels interpretieren.
  • Es ist zu beachten, dass, obwohl dieser Ansatz erfordert, dass k im Voraus festgelegt wird, CAE selbst lernt, die entsprechende Menge an Objekten autonom zu entwirren. Wenn die Anzahl von Objekten daher unbekannt ist, könnte das System potenziell ein anderes Clustering-Schema aufstellen, indem stattdessen die relativen Phasenunterschiede zwischen Objekten ausgewertet werden.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingabeschnittstelle zum Zugreifen auf Trainingsdaten 192 für das neuronale Netz umfassen. Zum Beispiel kann, wie in 1 dargestellt, die Eingabeschnittstelle durch eine Datenspeicherschnittstelle 180 gebildet sein, die auf die Trainingsdaten 192 aus einem Datenspeicher 190 zugreifen kann. Zum Beispiel kann die Datenspeicherschnittstelle 180 eine Speicherschnittstelle oder eine persistente Speicherschnittstelle, z. B. eine Festplatten- oder eine SSD-Schnittstelle, aber auch eine persönliche, lokale oder Weitverkehrsnetzschnittstelle, wie z. B. eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Glasfaserschnittstelle, sein. Der Datenspeicher 190 kann ein interner Datenspeicher des Systems 100 sein, wie z. B. eine Festplatte oder eine SSD, aber auch ein externer Datenspeicher, z. B. ein Datenspeicher, auf den über ein Netzwerk zugegriffen werden kann.
  • In einigen Ausführungsformen kann der Datenspeicher 190 ferner eine Datenrepräsentation 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 auf die Trainingsdaten 192 und die Datenrepräsentation 194 des untrainierten neuronalen Netzes auch von einem anderen Datenspeicher zugegriffen werden kann, z. B. über ein anderes Subsystem der Datenspeicherschnittstelle 180. Jedes Subsystem kann von einem Typ sein, wie vorstehend für die Datenspeicherschnittstelle 180 beschrieben. In anderen Ausführungsformen kann die Datenrepräsentation 194 des untrainierten neuronalen Netzes intern durch das System 100 auf der Grundlage von Designparametern für das neuronale Netz generiert werden, und ist daher möglicherweise nicht explizit im Datenspeicher 190 gespeichert. Das System 100 kann ferner ein Prozessorsubsystem 160 umfassen, das derart eingerichtet sein kann, dass es während des Betriebs des Systems 100 eine iterative Funktion als ein Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes bereitstellt. Hierbei können jeweilige Schichten des Schichtenstapels, die ersetzt werden, gegenseitig genutzte Gewichtungen aufweisen und können als Eingabe eine Ausgabe einer vorherigen Schicht, oder für eine erste Schicht des Schichtenstapels eine anfängliche Aktivierung, und einen Teil der Eingabe des Schichtenstapels empfangen. Das Prozessorsubsystem 160 kann ferner dazu eingerichtet sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Hierbei kann eine Iteration des Trainings durch das Prozessorsubsystem 160 einen Vorwärtsausbreitungsteil und einen Rückwärtsausbreitungsteil umfassen. Das Prozessorsubsystem 160 kann dazu eingerichtet sein, den Vorwärtsausbreitungsteil, neben anderen Operationen, durch Folgendes durchzuführen: Definieren des Vorwärtsausbreitungsteils, der durchgeführt werden kann, Bestimmen eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion gegen einen festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts ein Verwenden eines numerischen Wurzelfindungsalgorithmus zum Finden einer Wurzellösung für die iterative Funktion abzüglich ihrer Eingabe umfasst, und Bereitstellen des Gleichgewichtspunkts als einen Ersatz für eine Ausgabe des Schichtenstapels im neuronalen Netz. Das System 100 kann ferner eine Ausgabeschnittstelle zum Ausgeben einer Datenrepräsentation 196 des trainierten neuronalen Netzes umfassen, diese Daten können auch als trainierte Modelldaten 196 bezeichnet werden. Zum Beispiel kann, wie ebenfalls in 1 dargestellt, die Ausgabeschnittstelle durch die Datenspeicherschnittstelle 180 gebildet sein, wobei die Schnittstelle in diesen Ausführungsformen eine Eingabe-/Ausgabeschnittstelle („IO“-Schnittstelle) ist, über die die trainierten Modelldaten 196 im Datenspeicher 190 gespeichert werden können. Zum Beispiel kann die Datenrepräsentation 194, die das „untrainierte“ neuronale Netz definiert, während oder nach dem Training zumindest teilweise durch die Datenrepräsentation 196 des trainierten neuronalen Netzes ersetzt werden, indem die Parameter des neuronalen Netzes, wie z. B. Gewichtungen, Hyperparameter und andere Arten von Parametern neuronaler Netze, angepasst werden können, um das Training an den Trainingsdaten 192 widerzuspiegeln. Dies ist auch in 1 durch die Bezugszeichen 194, 196 dargestellt, die auf die gleiche Datenaufzeichnung im Datenspeicher 190 verweisen. In anderen Ausführungsformen kann die Datenrepräsentation 196 separat von der Datenrepräsentation 194, die das „untrainierte“ neuronale Netz definiert, gespeichert werden. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherschnittstelle 180 getrennt sein, aber kann im Allgemeinen von einem Typ sein, wie vorstehend für die Datenspeicherschnittstelle 180 beschrieben.
  • 2 zeigt ein Datenannotationssystem 200 zum Implementieren eines Systems zum Annotieren von Daten. Das Datenannotationssystem 200 kann mindestens ein Rechensystem 202 umfassen. Das Rechensystem 202 kann mindestens einen Prozessor 204 umfassen, der mit einer Speichereinheit 208 betriebsfähig verbunden ist. Der Prozessor 204 kann eine oder mehrere integrierte Schaltungen umfassen, die die Funktionalität einer zentralen Verarbeitungseinheit (CPU) 206 implementieren. Die CPU 206 kann eine im Handel erhältliche Verarbeitungseinheit sein, die einen Befehlssatz implementiert, wie z. B. eine der x86-, ARM-, Power- oder MIPS-Befehlssatzfamilien. In Betrieb kann die CPU 206 gespeicherte Programmbefehle ausführen, die aus der Speichereinheit 208 abgerufen werden. Die gespeicherten Programmbefehle können eine Software umfassen, die den Betrieb der CPU 206 steuert, um die hier beschriebene Operation durchzuführen. In einigen Beispielen kann der Prozessor 204 ein System auf einem Chip (SoC) sein, das eine Funktionalität der CPU 206, der Speichereinheit 208, einer Netzwerkschnittstelle, und Eingabe-/Ausgabeschnittstellen in einer einzigen integrierten Vorrichtung integriert. Das Rechensystem 202 kann ein Betriebssystem zum Verwalten verschiedener Aspekte der Operation implementieren.
  • Die Speichereinheit 208 kann einen flüchtigen Speicher und einen nichtflüchtigen Speicher zum Speichern von Befehlen und Daten umfassen. Der nichtflüchtige Speicher kann Festkörperspeicher, wie z. B. einen NAND-Flash-Speicher, magnetische und optische Speichermedien, oder eine beliebige andere geeignete Datenspeichervorrichtung umfassen, die Daten behält, wenn das Rechensystem 202 deaktiviert ist oder Strom verliert. Der flüchtige Speicher kann einen statischen und dynamischen Direktzugriffsspeicher (RAM) umfassen, der Programmbefehle und Daten speichert. Zum Beispiel kann die Speichereinheit 208 ein Modell 210 oder einen Algorithmus des maschinellen Lernens, einen Trainingsdatensatz 212 für das Modell 210 des maschinellen Lernens, einen rohen Quelldatensatz 215 speichern.
  • Das Rechensystem 202 kann eine Netzwerkschnittstellenvorrichtung 222 umfassen, die dazu eingerichtet ist, eine Kommunikation mit externen Systemen und Vorrichtungen bereitzustellen. Zum Beispiel kann die Netzwerkschnittstellenvorrichtung 222 eine verdrahtete und/oder drahtlose Ethernet-Schnittstelle umfassen, wie sie durch die Normenfamilie 802.11 des Institute of Electrical and Electronics Engineers (IEEE) definiert ist. Die Netzwerkschnittstellenvorrichtung 222 kann eine zellulare Kommunikationsschnittstelle zum Kommunizieren mit einem zellularen Netzwerk (z. B. 3G, 4G, 5G) umfassen. Die Netzwerkschnittstellenvorrichtung 222 kann ferner dazu eingerichtet 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 Rechenvorrichtungen einrichten. Das externe Netzwerk 224 kann es ermöglichen, dass Informationen und Daten leicht zwischen Rechenvorrichtungen und Netzwerken ausgetauscht werden. Ein oder mehrere Server 330 können mit dem externen Netzwerk 224 in Kommunikation stehen.
  • Das Rechensystem 202 kann eine Eingabe-/Ausgabeschnittstelle (I/O-Schnittstelle) 220 umfassen, die dazu eingerichtet sein kann, digitale und/oder analoge Eingaben und Ausgaben bereitzustellen. Die I/O-Schnittstelle 220 kann zusätzliche serielle Schnittstellen zum Kommunizieren mit externen Vorrichtungen (z. B. USB-Schnittstelle (Universal Serial Bus)) umfassen.
  • Das Rechensystem 202 kann eine Mensch-Maschine-Schnittstellenvorrichtung (HMI-Vorrichtung) 218 umfassen, die eine beliebige Vorrichtung umfassen kann, die es dem System 200 ermöglicht, Steuereingaben zu empfangen. Beispiele von Eingabevorrichtungen können Schnittstellen für menschliche Eingaben, wie z. B. Tastaturen, Mäuse, Berührungsbildschirme, Spracheingabevorrichtungen, und andere ähnliche Vorrichtungen, umfassen. Das Rechensystem 202 kann außerdem eine Anzeigevorrichtung 232 umfassen. Das Rechensystem 202 kann eine Hardware und eine Software zum Ausgeben von Grafik- und Textinformationen an die Anzeigevorrichtung 232 umfassen. Die Anzeigevorrichtung 232 kann einen elektronischen Anzeigebildschirm, einen Projektor, einen Drucker oder eine andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder eine Bedienperson umfassen. Das Rechensystem 202 kann ferner dazu eingerichtet sein, um eine Interaktion mit entfernten HMI- und entfernten Anzeigevorrichtungen über die Netzwerkschnittstellenvorrichtung 222 zu ermöglichen.
  • Das System 200 kann unter Verwendung eines oder mehrerer Rechensysteme implementiert werden. Obwohl das Beispiel ein einzelnes Rechensystem 202 zeigt, das alle der beschriebenen Merkmale implementiert, ist es beabsichtigt, dass verschiedene Merkmale und Funktionen durch mehrere miteinander kommunizierende Recheneinheiten getrennt und implementiert werden können. Die konkrete gewählte Systemarchitektur kann von einer Vielfalt von Faktoren abhängen.
  • Das System 200 kann einen Algorithmus 210 des maschinellen Lernens implementieren, der dazu eingerichtet ist, den rohen Quellendatensatz 215 zu analysieren. Der rohe Quellendatensatz 215 kann rohe oder unverarbeitete Sensordaten umfassen, die einen Eingabedatensatz für ein System des maschinellen Lernens repräsentieren können. Der rohe Quelldatensatz 215 kann Video, Videosegmente, Bilder, textbasierte Informationen und rohe oder teilweise verarbeitete Sensordaten (z. B. eine Radarkarte von Objekten) umfassen. In einigen Beispielen kann der Algorithmus 210 des maschinellen Lernens ein neuronaler Netzwerkalgorithmus sein, der ausgelegt ist, um eine vorbestimmte Funktion durchzuführen. Zum Beispiel kann der neuronale Netzwerkalgorithmus in Kraftfahrzeuganwendungen eingerichtet sein, um Fußgänger in Videobildern zu identifizieren.
  • Das Rechensystem 200 kann einen Trainingsdatensatz 212 für den Algorithmus des maschinellen Lernens speichern. Der Trainingsdatensatz 212 kann einen Satz von zuvor erstellten Daten zum Trainieren des Algorithmus 210 des maschinellen Lernens repräsentieren. Der Trainingsdatensatz 212 kann durch den Algorithmus 210 des maschinellen Lernens verwendet werden, um Gewichtungsfaktoren zu lernen, die mit einem neuronalen Netzwerkalgorithmus assoziiert sind. Der Trainingsdatensatz 212 kann einen Satz von Quelldaten umfassen, der entsprechende Resultate oder Ergebnisse aufweist, die der Algorithmus 210 des maschinellen Lernens über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann der Trainingsdatensatz 212 Quellvideos mit und ohne Fußgänger und entsprechende Anwesenheits- und Standortinformationen umfassen. Die Quellvideos können verschiedene Szenarien umfassen, in denen Fußgänger identifiziert werden.
  • Der Algorithmus 210 des maschinellen Lernens kann in einem Lernmodus, der den Trainingsdatensatz 212 als Eingabe verwendet, betrieben werden. Der Algorithmus 210 des maschinellen Lernens kann über eine Anzahl von Iterationen unter Verwendung der Daten aus dem Trainingsdatensatz 212 ausgeführt werden. Bei jeder Iteration kann der Algorithmus 210 des maschinellen Lernens interne Gewichtungsfaktoren auf der Grundlage der erzielten Ergebnisse aktualisieren. Zum Beispiel kann der Algorithmus 210 des maschinellen Lernens Ausgangsergebnisse (z. B. Annotationen) mit jenen vergleichen, die im Trainingsdatensatz 212 aufgenommen sind. Da der Trainingsdatensatz 212 die erwarteten Ergebnisse umfasst, kann der Algorithmus 210 des maschinellen Lernens bestimmen, wann die Leistung akzeptabel ist. Nachdem der Algorithmus 210 des maschinellen Lernens ein vorgegebenes Leistungsniveau (z. B. eine 100-%-Übereinstimmung mit den Resultaten, die mit dem Trainingsdatensatz 212 assoziiert sind) erreicht, kann der Algorithmus 210 des maschinellen Lernens unter Verwendung von Daten, die nicht im Trainingsdatensatz 212 vorhanden sind, ausgeführt werden. Der trainierte Algorithmus 210 des maschinellen Lernens kann auf neue Datensätze angewendet werden, um annotierte Daten zu generieren.
  • Der Algorithmus 210 des maschinellen Lernens kann dazu eingerichtet sein, ein bestimmtes Merkmal in den rohen Quelldaten 215 zu identifizieren. Die rohen Quelldaten 215 können eine Mehrzahl von Instanzen oder einen Eingabedatensatz umfassen, für die/den Annotationsergebnisse erwünscht sind. Zum Beispiel kann der Algorithmus 210 des maschinellen Lernens dazu eingerichtet sein, die Anwesenheit eines Fußgängers in Videobildern zu identifizieren und die Vorkommnisse zu annotieren. Der Algorithmus 210 des maschinellen Lernens kann programmiert sein, um die rohen Quelldaten 215 zu verarbeiten, um die Anwesenheit der bestimmten Merkmale zu identifizieren. Der Algorithmus 210 des maschinellen Lernens kann dazu eingerichtet sein, ein Merkmal in den rohen Quelldaten 215 als ein vorgegebenes Merkmal (z. B. einen Fußgänger) zu identifizieren. Die rohen Quelldaten 215 können aus einer Vielfalt von Quellen abgeleitet werden. Zum Beispiel können die rohen Quelldaten 215 tatsächliche Eingangsdaten sein, die durch ein System des maschinellen Lernens gesammelt wurden. Die rohen Quelldaten 215 können zum Testen des Systems maschinell erzeugt werden. Als ein Beispiel können die rohen Quelldaten 215 rohe Videodaten von einer Kamera umfassen.
  • Im Beispiel kann der Algorithmus 210 des maschinellen Lernens die rohen Quelldaten 215 verarbeiten und eine Anzeige einer Repräsentation eines Bildes ausgeben. Die Ausgabe kann außerdem eine erweiterte Repräsentation des Bildes umfassen. Ein Algorithmus 210 des maschinellen Lernens kann ein Konfidenzniveau oder einen Konfidenzfaktor für jede generierte Ausgabe generieren. Zum Beispiel kann ein Konfidenzwert, der einen vorbestimmten Schwellenwert für hohe Konfidenz übersteigt, angeben, dass der Algorithmus 210 des maschinellen Lernens zuversichtlich ist, dass das identifizierte Merkmal dem bestimmten Merkmal entspricht. Ein Konfidenzwert, der kleiner ist als ein Schwellenwert für niedrige Konfidenz, kann angeben, dass der Algorithmus 210 des maschinellen Lernens eine gewisse Unsicherheit darüber aufweist, dass das bestimmte Merkmal vorhanden ist.
  • 3 zeigt eine Ausführungsform eines Ablaufdiagramms im Zusammenhang mit einer Robustifizierung vortrainierter Klassifizierer. Block 301 repräsentiert ein komplexwertiges Bild. In einem solchen Beispiel kann dies die Zahl 3 umfassen, die von einem Quadrat überlagert wird. Bei Block 303 kann das System einen Phasenwert als Eingabe empfangen. Das System kann das reellwertige Eingabebild x ∈ R+ nutzen und ordnet jedem Pixel eine Anfangsphase φ = 0 ∈ R zu, um die komplexwertige Eingabe x' für das Modell zu erzeugen: x ' = x e x p i φ .
    Figure DE102023202739A1_0009
  • Block 305 kann einen Encoder und Decoder repräsentieren, die den Komplexwert-Autoencoder (CAE) bilden. Der CAE kann einen Faltungsencoder fenc und -decoder fdec mit reellwertigen Parametern θ ∈ R auf diese komplexwertige Eingabe anwenden und erzeugt eine komplexwertige Rekonstruktion ẑ: z ^ = ƒ d e c ( ƒ e n c ( x ' ) )
    Figure DE102023202739A1_0010
  • Bei Block 307 kann das rekonstruierte Eingabebild vom CAE ausgegeben werden. Bei Block 309 kann die Ausgabe des Phasenclusters jeder der Phasen ausgegeben werden. Jede Schicht kann reellwertige Komponenten (den Real- oder Imaginärteil oder den Betrag) aus der Eingabe extrahieren und verarbeitet sie separat, bevor sie die Ergebnisse zu einer komplexwertigen Ausgabe kombiniert.
  • In alternativen Ausführungsformen könnte das System die Phasen mit verschiedenen Werten initialisieren. Zum Beispiel einer pixelpositionalen Einbettung, um eine Trennung ähnlicher Objekte an verschiedenen Orten zu verbessern. Das System kann außerdem einen anderen Rekonstruktionsverlust nutzen, wie z. B. einen binären Kreuzentropieverlust oder andere Arten von Verlust. Das System kann außerdem die Berechnung für ζ ändern, indem die Gewichtungen wie vorstehend beschrieben angewendet werden, sie können jedoch Biases separat auf die resultierenden Betrags- und Phasenwerte anwenden. Eine solche Ausführungsform würde es dem Modell ermöglichen, explizite Phasenverschiebungen durch den neuen Bias-Term zu lernen.
  • 4 zeigt eine Ausführungsform eines Ablaufdiagramms des CAE-Systems gemäß einer Ausführungsform. Bei Schritt 401 kann das System Eingabebilder (reellwertig) empfangen. Die Eingabebilder können digitale Bilder, Audio-, Video-, Radar-, LiDAR-, Ultraschall-, Bewegungs-, Wärmebilder usw. sein. Bei Schritt 403 kann das System jedem Pixel eine Anfangsphase (0) hinzufügen (jeder Eingabewert (d. h. Pixel) ist nun eine komplexe Zahl). Bei Schritt 405 kann das System eine komplexe Eingabe durch einen Encoder verarbeiten, um eine komplexwertige latente Repräsentation zu erhalten. Bei Schritt 407 kann das System die komplexwertige latente Repräsentation durch einen Decoder verarbeiten, um eine komplexwertige Ausgabe zu erlangen. Bei Schritt 409 kann das System die komplexwertige Ausgabe in einen Realteil (der während des Trainings benötigt wird) und in eine Phase (die für eine Objektentdeckung benötigt wird) zerlegen. Bei Schritt 411 kann das System das Modell trainieren, indem der Rekonstruktionsfehler zwischen der realen Eingabe und der realen Ausgabe berechnet wird. Das System kann solche Informationen als Trainingssignal verwenden, um Modellparameter zu aktualisieren (Wiederholen von Schritten 403 bis 407), bis sich der Validierungsfehler nicht mehr verbessert. Daher kann es anhalten, bis es sich einem Konvergenzschwellenwert nähert, der mit dem Netzwerk des maschinellen Lernens assoziiert ist. Das System kann Ausgangsphasenwerte (z. B. mit K-Means) bei Schritt 413 gruppieren. Es wird bestimmt, dass Pixel, deren Phasen demselben Cluster zugeordnet sind, zu demselben Objekt gehören.
  • 5 zeigt ein schematisches Diagramm einer Interaktion zwischen einer computergesteuerten Maschine 500 und einem Steuerungssystem 502. Die computergesteuerte Maschine 500 umfasst einen Aktuator 504 und einen Sensor 506. Der Aktuator 504 kann einen oder mehrere Aktuatoren umfassen und der Sensor 506 kann einen oder mehrere Sensoren umfassen. Der Sensor 506 ist dazu eingerichtet, einen Zustand der computergesteuerten Maschine 500 abzutasten. Der Sensor 506 kann dazu eingerichtet sein, den abgetasteten Zustand in Sensorsignale 508 zu codieren und die Sensorsignale 508 an das Steuerungssystem 502 zu senden. Nicht beschränkende Beispiele des Sensors 506 umfassen Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einer Ausführungsform ist der Sensor 506 ein optischer Sensor, der dazu eingerichtet ist, optische Bilder einer Umgebung in der Nähe der computergesteuerten Maschine 500 abzutasten.
  • Das Steuerungssystem 502 ist dazu eingerichtet, Sensorsignale 508 von der computergesteuerten Maschine 500 zu empfangen. Wie nachstehend dargelegt, kann das Steuerungssystem 502 ferner dazu eingerichtet sein, Aktuatorsteuerbefehle 510 in Abhängigkeit von den Sensorsignalen zu berechnen und die Aktuatorsteuerbefehle 510 an den Aktuator 504 der computergesteuerten Maschine 500 zu senden.
  • Wie in 5 dargestellt, umfasst das Steuerungssystem 502 eine Empfangseinheit 512. Die Empfangseinheit 512 kann dazu eingerichtet sein, Sensorsignale 508 vom Sensor 506 zu empfangen und die Sensorsignale 508 in Eingangssignale x zu transformieren. In einer alternativen Ausführungsform werden die Sensorsignale 508 direkt als Eingangssignale x ohne die Empfangseinheit 512 empfangen. Jedes Eingangssignal x kann ein Abschnitt jedes Sensorsignals 508 sein. Die Empfangseinheit 512 kann dazu eingerichtet sein, jedes Sensorsignal 508 zu verarbeiten, um jedes Eingangssignal x zu erzeugen. Das Eingangssignal x kann Daten umfassen, die einem durch den Sensor 506 aufgezeichneten Bild entsprechen.
  • Das Steuerungssystem 502 umfasst einen Klassifizierer 514. Der Klassifizierer 514 kann dazu eingerichtet sein, Eingangssignale x in ein oder mehrere Labels unter Verwendung eines Algorithmus des maschinellen Lernens (ML-Algorithmus), wie z. B. eines vorstehend beschriebenen neuronalen Netzes, zu klassifizieren. Der Klassifizierer 514 ist dazu eingerichtet, durch Parameter parametrisiert zu werden, wie z. B. jene, die vorstehend beschrieben wurden (z. B. Parameter θ). Parameter θ können in einem nichtflüchtigen Speicher 516 gespeichert und durch diesen bereitgestellt werden. Der Klassifizierer 514 ist dazu eingerichtet, Ausgangssignale y aus Eingangssignalen x zu bestimmen. Jedes Ausgangssignal y umfasst Informationen, die ein oder mehrere Labels jedem Eingangssignal x zuordnen. Der Klassifizierer 514 kann Ausgangssignale y an eine Umwandlungseinheit 518 senden. Die Umwandlungseinheit 518 ist dazu eingerichtet, Ausgangssignale y in Aktuatorsteuerbefehle 510 umzuwandeln. Das Steuerungssystem 502 ist dazu eingerichtet, die Aktuatorsteuerbefehle 510 an den Aktuator 504 zu senden, der dazu eingerichtet ist, die computergesteuerte Maschine 500 als Antwort auf die Aktuatorsteuerbefehle 510 zu betätigen. In einer anderen Ausführungsform ist der Aktuator 504 dazu eingerichtet, die computergesteuerte Maschine 500 direkt auf der Grundlage von Ausgangssignalen y zu betätigen.
  • Nach dem Empfang von Aktuatorsteuerbefehlen 510 durch den Aktuator 504 ist der Aktuator 504 dazu eingerichtet, eine Aktion, die dem zugehörigen Aktuatorsteuerbefehl 510 entspricht, auszuführen. Der Aktuator 504 kann eine Steuerlogik umfassen, die dazu eingerichtet ist, Aktuatorsteuerbefehle 510 in einen zweiten Aktuatorsteuerbefehl zu transformieren, der zum Steuern des Aktuators 504 genutzt wird. In einer oder mehreren Ausführungsformen können die Aktuatorsteuerbefehle 510 zum Steuern einer Anzeige anstelle von oder zusätzlich zu einem Aktuator verwendet werden.
  • In einer anderen Ausführungsform umfasst das Steuerungssystem 502 den Sensor 506 anstelle von oder zusätzlich zu der computergesteuerten Maschine 500, die den Sensor 506 umfasst. Das Steuerungssystem 502 kann außerdem den Aktuator 504 anstelle von oder zusätzlich zu der computergesteuerten Maschine 500 umfassen, die den Aktuator 504 umfasst.
  • Wie in 5 dargestellt, umfasst das Steuerungssystem 502 außerdem einen Prozessor 520 und einen Speicher 522. Der Prozessor 520 kann einen oder mehrere Prozessoren umfassen. Der Speicher 522 kann eine oder mehrere Speichervorrichtungen umfassen. Der Klassifizierer 514 (z. B. ML-Algorithmen) einer oder mehrerer Ausführungsformen kann durch das Steuerungssystem 502 implementiert werden, das einen nichtflüchtigen Speicher 516, einen Prozessor 520 und einen Speicher 522 umfasst.
  • Der nichtflüchtige Speicher 516 kann eine oder mehrere dauerhafte Datenspeichervorrichtungen, wie z. B. eine Festplatte, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Festkörperzustandsvorrichtung (solid-state device), einen Cloud-Speicher oder eine beliebige andere Vorrichtung, die in der Lage ist, Informationen dauerhaft zu speichern, umfassen. Der Prozessor 520 kann eine oder mehrere Vorrichtungen umfassen, die aus Folgenden ausgewählt sind: Hochleistungsrechensysteme (HPC-Systeme), einschließlich von Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, digitalen Signalprozessoren, Mikrocomputern, zentralen Verarbeitungseinheiten, Field Programmable Gate Arrays, programmierbaren Logikvorrichtungen, Zustandsmaschinen, logischen Schaltungen, analogen Schaltungen, digitalen Schaltungen oder beliebigen anderen Vorrichtungen, die (analoge oder digitale) Signale auf der Grundlage von computerausführbaren Anweisungen, die sich im Speicher 522 befinden, manipulieren. Der Speicher 522 kann eine einzelne Speichervorrichtung oder eine Anzahl von Speichervorrichtungen umfassen, die einen Direktzugriffsspeicher (RAM), einen flüchtigen Speicher, einen nichtflüchtigen Speicher, einen statischen Direktzugriffsspeicher (SRAM), einen dynamischen Direktzugriffsspeicher (DRAM), einen Flash-Speicher, einen Cache-Speicher, oder eine beliebige andere Vorrichtung, die in der Lage ist, Informationen zu speichern, umfassen, aber nicht darauf beschränkt sind.
  • Der Prozessor 520 kann dazu eingerichtet sein, im Speicher 522 zu lesen und computerausführbare Befehle, die sich im nichtflüchtigen Speicher 516 befinden und einen oder mehrere ML-Algorithmen und/oder Methodologien einer oder mehrerer Ausführungsformen verkörpern, auszuführen. Der nichtflüchtige Speicher 516 kann ein oder mehrere Betriebssysteme und Anwendungen umfassen. Der nichtflüchtige Speicher 516 kann kompilierte und/oder interpretierte Computerprogramme speichern, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erzeugt wurden, einschließlich von, ohne Beschränkung und entweder einzeln oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL.
  • Bei der Ausführung durch den Prozessor 520 können die computerausführbaren Befehle des nichtflüchtigen Speichers 516 das Steuerungssystem 502 dazu veranlassen, einen oder mehrere der ML-Algorithmen und/oder - Methodologien zu implementieren, wie hier offenbart. Der nichtflüchtige Speicher 516 kann außerdem ML-Daten (die Datenparameter umfassen) umfassen, die die Funktionen, Merkmale und Prozesse der einen oder der mehreren hier beschriebenen Ausführungsformen unterstützen.
  • Der Programmcode, der die Algorithmen und/oder Methodologien, die hier beschrieben wurden, verkörpert, kann als ein Programmprodukt in einer Vielfalt unterschiedlicher Formen einzeln oder gemeinsam vertrieben werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums, das darauf computerlesbare Programmbefehle zum Veranlassen eines Prozessors zum Ausführen von Aspekten einer oder mehrerer Ausführungsformen aufweist, vertrieben werden. Computerlesbare Speichermedien, die inhärent nichtflüchtig sind, können flüchtige und nichtflüchtige, und entfernbare und nicht entfernbare materielle Medien umfassen, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen implementiert sind, wie z. B. computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten. Computerlesbare Speichermedien können außerdem umfassen: einen RAM, ein ROM, einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM), einen Flash-Speicher oder eine andere Festkörperzustand-Speichertechnologie, eine CD-ROM (portable compact disc read-only memory), oder einen anderen optischen Speicher, Magnetkassetten, ein Magnetband, einen Magnetplattenspeicher oder andere magnetische Speichervorrichtungen, oder ein beliebiges anderes Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und das durch einen Computer gelesen werden kann. Computerlesbare Programmierbefehle können von einem computerlesbaren Speichermedium auf einen Computer, eine andere Art von programmierbarer Datenverarbeitungsvorrichtung, oder eine andere Vorrichtung, oder auf einen externen Computer oder eine externe Speichervorrichtung über ein Netzwerk heruntergeladen werden.
  • Computerlesbare Programmbefehle, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Typen von programmierbaren Datenverarbeitungsvorrichtungen, oder andere Vorrichtungen anzuweisen, auf eine bestimmte Weise zu funktionieren, so dass die im computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand erzeugen, der Befehle umfasst, die die Funktionen, Vorgänge und/oder Operationen, die in den Ablaufdiagrammen oder Diagrammen spezifiziert sind, implementieren. In bestimmten alternativen Ausführungsformen können die Funktionen, Vorgänge und/oder Operationen, die in den Ablaufdiagrammen und Diagrammen spezifiziert sind, in Übereinstimmung mit einer oder mehreren Ausführungsformen umgeordnet, seriell verarbeitet, und/oder gleichzeitig verarbeitet werden. Des Weiteren kann ein beliebiges der Ablaufdiagramme und/oder Diagramme mehr oder weniger Knoten oder Blöcke als jene umfassen, die in Übereinstimmung mit einer oder mehreren Ausführungsformen dargestellt sind.
  • Die Prozesse, Verfahren oder Algorithmen können gänzlich oder teilweise unter Verwendung geeigneter Hardware-Komponenten, wie z. B. anwendungsspezifischer integrierter Schaltungen (ASICs), Field Programmable Gate Arrays (FPGAs), Zustandsautomaten, Steuerungen oder anderer Hardware-Komponenten oder Vorrichtungen, oder einer Kombination von Hardware-, Software- und Firmware-Komponenten, verkörpert werden.
  • 6 zeigt ein schematisches Diagramm des Steuerungssystems 502, das dazu eingerichtet ist, ein Fahrzeug 600 zu steuern, das ein zumindest teilweise autonomes Fahrzeug oder ein zumindest teilweise autonomer Roboter sein kann. Das Fahrzeug 600 umfasst einen Aktuator 504 und einen Sensor 506. Der Sensor 506 kann einen oder mehrere Videosensoren, Kameras, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren, und/oder Positionssensoren (z. B. GPS) umfassen. Ein oder mehrere des einen oder der mehreren spezifischen Sensoren können in das Fahrzeug 600 integriert sein. Alternativ oder zusätzlich zu dem einen oder den mehreren spezifischen Sensoren, die vorstehend identifiziert wurden, kann der Sensor 506 ein Software-Modul umfassen, das dazu eingerichtet ist, beim Ausführen einen Zustand des Aktuators 504 zu bestimmen. Ein nicht beschränkendes Beispiel eines Software-Moduls umfasst ein Wetterinformations-Softwaremodul, das dazu eingerichtet ist, einen derzeitigen oder zukünftigen Zustand des Wetters in der Nähe des Fahrzeugs 600 oder einer anderen Position zu bestimmen.
  • Der Klassifizierer 514 des Steuerungssystems 502 des Fahrzeugs 600 kann dazu eingerichtet sein, in Abhängigkeit von Eingangssignalen x Objekte in der Nähe des Fahrzeugs 600 zu detektieren. In einer solchen Ausführungsform kann ein Ausgangssignal y Informationen umfassen, die die Nähe von Objekten zum Fahrzeug 600 charakterisieren. Ein Aktuatorsteuerbefehl 510 kann gemäß diesen Informationen bestimmt werden. Der Aktuatorsteuerbefehl 510 kann verwendet werden, um Kollisionen mit den detektierten Objekten zu vermeiden.
  • In Ausführungsformen, in denen das Fahrzeug 600 ein zumindest teilweise autonomes Fahrzeug ist, kann der Aktuator 504 in einer Bremse, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 600 verkörpert sein. Die Aktuatorsteuerbefehle 510 können derart bestimmt sein, dass der Aktuator 504 gesteuert wird, so dass das Fahrzeug 600 Kollisionen mit detektierten Objekten vermeidet. Detektierte Objekte können außerdem danach klassifiziert werden, was der Klassifizierer 514 für am wahrscheinlichsten hält, dass sie sind, wie zum Beispiel Fußgänger oder Bäume. Die Aktuatorsteuerbefehle 510 können in Abhängigkeit von der Klassifizierung bestimmt werden. In einem Szenario, in dem ein gegnerischer Angriff auftreten kann, kann das vorstehend beschriebene System ferner trainiert werden, um Objekte besser zu detektieren oder eine Änderung von Lichtverhältnissen oder einen Winkel für einen Sensor oder eine Kamera am Fahrzeug 600 zu identifizieren.
  • In anderen Ausführungsformen, in denen das Fahrzeug 600 ein zumindest teilweise autonomer Roboter ist, kann das Fahrzeug 600 ein mobiler Roboter sein, der dazu eingerichtet ist, eine oder mehrere Funktionen, wie z. B. Fliegen, Schwimmen, Tauschen und Treten, auszuführen. Der mobile Roboter kann ein zumindest teilweise autonomer Rasenmäher oder ein zumindest teilweise autonomer Reinigungsroboter sein. In solchen Ausführungsformen kann der Aktuatorsteuerbefehl 510 bestimmt werden, so dass eine Antriebseinheit, eine Lenkeinheit und/oder eine Bremseinheit des mobilen Roboters derart gesteuert werden kann, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • In einer anderen Ausführungsform ist das Fahrzeug 600 ein zumindest teilweise autonomer Roboter in Form eines Gartenroboters. In einer solchen Ausführungsform kann das Fahrzeug 600 einen optischen Sensor als Sensor 506 verwenden, um einen Zustand von Pflanzen in einer Umgebung in der Nähe des Fahrzeugs 600 zu bestimmen. Der Aktuator 504 kann eine Düse sein, die zum Sprühen von Chemikalien eingerichtet ist. In Abhängigkeit von einer identifizierten Spezies und/oder einem identifizierten Zustand der Pflanzen kann der Aktuatorsteuerbefehl 510 bestimmt werden, um zu veranlassen, dass der Aktuator 504 die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.
  • Das Fahrzeug 600 kann ein zumindest teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nicht beschränkende Beispiele von Haushaltsgeräten umfassen eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder eine Geschirrspülmaschine. In einem solchen Fahrzeug 600 kann der Sensor 506 ein optischer Sensor sein, der dazu eingerichtet ist, einen Zustand eines Objektes zu detektieren, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Zum Beispiel kann im Fall, in dem das Haushaltsgerät eine Waschmaschine ist, der Sensor 506 einen Zustand der Wäsche in der Waschmaschine detektieren. Ein Aktuatorsteuerbefehl 510 kann auf der Grundlage des detektierten Zustands der Wäsche bestimmt werden.
  • 7 zeigt ein schematisches Diagramm des Steuerungssystems 502, das dazu eingerichtet ist, ein System 700 (z. B. eine Fertigungsmaschine), wie z. B. einen Stanzschneider, einen Schneider oder einen Kanonenbohrer, eines Fertigungssystems 702, wie z. B. einen Teil einer Produktionslinie, zu steuern. Das Steuerungssystem 502 kann dazu eingerichtet sein, den Aktuator 504 zu steuern, der eingerichtet ist, um das System 700 (z. B. die Fertigungsmaschine) zu steuern.
  • Der Sensor 506 des Systems 700 (z. B. die Fertigungsmaschine) kann ein optischer Sensor sein, der dazu eingerichtet ist, eine oder mehrere Eigenschaften eines hergestellten Produktes 704 zu erfassen. Der Klassifizierer 514 kann dazu eingerichtet sein, einen Zustand des hergestellten Produktes 704 aus einer oder mehreren der erfassten Eigenschaften zu bestimmten. Der Aktuator 504 kann dazu eingerichtet sein, das System 700 (z. B. die Fertigungsmaschine) in Abhängigkeit vom bestimmten Zustand eines hergestellten Produktes 704 für einen anschließenden Fertigungsschritt des hergestellten Produktes 704 zu steuern. Der Aktuator 504 kann dazu eingerichtet sein, Funktionen des Systems 700 (z. B. der Fertigungsmaschine) an einem anschließenden hergestellten Produkt 106 des Systems 700 (z. B. der Fertigungsmaschine) in Abhängigkeit vom bestimmten Zustand des hergestellten Produkts 704 zu steuern.
  • 8 zeigt ein schematisches Diagramm des Steuerungssystems 502, das dazu eingerichtet ist, ein Elektrowerkzeug 800, wie z. B. eine Bohrmaschine oder ein Schraubendreher, das einen zumindest teilweise autonomen Modus aufweist, zu steuern. Das Steuerungssystem 502 kann dazu eingerichtet sein, den Aktuator 504 zu steuern, der zum Steuern des Elektrowerkzeugs 800 eingerichtet ist.
  • Der Sensor 506 des Elektrowerkzeugs 800 kann ein optischer Sensor sein, der dazu eingerichtet ist, eine oder mehrere Eigenschaften einer Arbeitsfläche 802 und/oder einer in die Arbeitsfläche 802 getriebenen Befestigungseinrichtung 804 zu erfassen. Der Klassifizierer 514 kann dazu eingerichtet sein, einen Zustand der Arbeitsfläche 802 und/oder der Befestigungseinrichtung 804 in Bezug auf die Arbeitsfläche 802 aus einer oder mehreren der erfassten Eigenschaften zu bestimmten. Der Zustand kann sein, dass die Befestigungseinrichtung 804 bündig mit der Arbeitsfläche 802 ist. Der Zustand kann alternativ eine Härte der Arbeitsfläche 802 sein. Der Aktuator 504 kann dazu eingerichtet sein, das Elektrowerkzeug 800 zu steuern, so dass die Antriebsfunktion des Elektrowerkzeugs 800 in Abhängigkeit vom bestimmten Zustand der Befestigungseinrichtung 804 in Bezug auf die Arbeitsfläche 802 oder einer oder mehreren erfassten Eigenschaften der Arbeitsfläche 802 eingestellt wird. Zum Beispiel kann der Aktuator 504 die Antriebsfunktion unterbrechen, wenn der Zustand der Befestigungseinrichtung 804 in Bezug auf die Arbeitsfläche 802 bündig ist. Als ein anderes nicht beschränkendes Beispiel kann der Aktuator 504 in Abhängigkeit von der Härte der Arbeitsfläche 802 ein zusätzliches oder geringeres Drehmoment anwenden.
  • 9 zeigt ein schematisches Diagramm des Steuerungssystems 502, das zum Steuern eines automatisierten persönlichen Assistenten 900 eingerichtet ist. Das Steuerungssystem 502 kann dazu eingerichtet sein, den Aktuator 504 zu steuern, der zum Steuern des automatisierten persönlichen Assistenten 900 eingerichtet ist. Der automatisierte persönliche Assistent 900 kann dazu eingerichtet sein, ein Haushaltsgerät, wie z. B. eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder eine Geschirrspülmaschine, zu steuern.
  • Der Sensor 506 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann dazu eingerichtet sein, Videobilder von Gesten 904 eines Benutzers 902 zu empfangen. Der Audiosensor kann dazu eingerichtet sein, einen Sprachbefehl des Benutzers 902 zu empfangen.
  • Das Steuerungssystem 502 des automatisierten persönlichen Assistenten 900 kann dazu eingerichtet sein, Aktuatorsteuerbefehle 510, die zum Steuern des Systems 502 eingerichtet sind, zu bestimmen. Das Steuerungssystem 502 kann dazu eingerichtet sein, Aktuatorsteuerbefehle 510 gemäß Sensorsignalen 508 des Sensors 506 zu bestimmen. Der automatisierte persönliche Assistent 900 ist dazu eingerichtet, Sensorsignale 508 an das Steuerungssystem 502 zu senden. Der Klassifizierer 514 des Steuerungssystems 502 kann dazu eingerichtet sein, einen Gestenerkennungsalgorithmus auszuführen, um eine durch den Benutzer 902 ausgeführte Geste 904 zu identifizieren, um Aktuatorsteuerbefehle 510 zu bestimmen, und die Aktuatorsteuerbefehle 510 an den Aktuator 504 zu senden. Der Klassifizierer 514 kann dazu eingerichtet sein, als Antwort auf die Geste 904 Informationen aus einem nichtflüchtigen Speicher abzurufen und die abgerufenen Informationen in einer für einen Empfang durch den Benutzer 902 geeigneten Form auszugeben.
  • 10 zeigt ein schematisches Diagramm des Steuerungssystems 502, das zum Steuern eines Überwachungssystems 1000 eingerichtet ist. Das Überwachungssystem 1000 kann dazu eingerichtet sein, einen Zugang durch eine Tür 1002 physisch zu steuern. Der Sensor 506 kann dazu eingerichtet sein, eine Szene zu detektieren, die beim Entscheiden, ob Zugang gewährt wird, relevant ist. Der Sensor 506 kann ein optischer Sensor sein, der dazu eingerichtet ist, Bild- und/oder Videodaten zu generieren und zu senden. Solche Daten können durch das Steuerungssystem 502 zum Detektieren eines Gesichts einer Person verwendet werden.
  • Der Klassifizierer 514 des Steuerungssystems 502 des Überwachungssystems 1000 kann dazu eingerichtet sein, die Bild- und/oder Videodaten zu interpretieren, indem Identitäten bekannter Personen, die im nichtflüchtigen Speicher 516 gespeichert sind, abgeglichen werden, wodurch eine Identität einer Person bestimmt wird. Der Klassifizierer 514 kann dazu eingerichtet sein, einen Aktuatorsteuerbefehl 510 als Antwort auf die Interpretation der Bild- und/oder Videodaten zu generieren. Das Steuerungssystem 502 ist dazu eingerichtet, den Aktuatorsteuerbefehl 510 an den Aktuator 504 zu senden. In dieser Ausführungsform kann der Aktuator 504 dazu eingerichtet sein, die Tür 1002 als Antwort auf den Aktuatorsteuerbefehl 510 zu verriegeln oder zu entriegeln. In anderen Ausführungsformen ist auch eine nicht physische, logische Zugangskontrolle möglich.
  • Das Überwachungssystem 1000 kann außerdem ein Bewachungssystem sein. In einer solchen Ausführungsform kann der Sensor 506 ein optischer Sensor sein, der dazu eingerichtet ist, eine Szene zu detektieren, die überwacht wird, und das Steuerungssystem 502 ist zum Steuern einer Anzeige 1004 eingerichtet. Der Klassifizierer 514 ist dazu eingerichtet, eine Klassifizierung einer Szene zu bestimmen, z. B. ob die durch den Sensor 506 detektierte Szene verdächtig ist. Das Steuerungssystem 502 ist dazu eingerichtet, einen Aktuatorsteuerbefehl 510 an die Anzeige 1004 als Antwort auf die Klassifizierung zu senden. Die Anzeige 1004 kann dazu eingerichtet sein, den angezeigten Inhalt als Antwort auf den Aktuatorsteuerbefehl 510 einzustellen. Zum Beispiel kann die Anzeige 1004 ein Objekt hervorheben, das durch den Klassifizierer 514 als verdächtig erachtet wird. Unter Verwendung einer Ausführungsform des offenbarten Systems kann das Bewachungssystem gegnerische Störungen oder zufällige Störungen (z. B. schlechte Schatten oder Beleuchtung) im Video der Umgebung identifizieren.
  • 11 zeigt ein schematisches Diagramm des Steuerungssystems 502, das dazu eingerichtet ist, ein Bildgebungssystem 1100, zum Beispiel eine MRI-Vorrichtung, eine Röntgenbildvorrichtung, oder eine Ultraschallvorrichtung, zu steuern. Der Sensor 506 kann zum Beispiel ein Bildgebungssensor sein. Der Klassifizierer 514 kann dazu eingerichtet sein, eine Klassifizierung der Gesamtheit oder eines Teil des abgetasteten Bildes zu bestimmen. Der Klassifizierer 514 kann dazu eingerichtet sein, einen Aktuatorsteuerbefehl 510 als Antwort auf die durch das trainierte neuronale Netz erlangte Klassifizierung zu bestimmen oder zu wählen. Zum Beispiel kann der Klassifizierer 514 einen Bereich eines abgetasteten Bildes als potentiell anomal interpretieren. In diesem Fall kann der Aktuatorsteuerbefehl 510 bestimmt oder gewählt werden, um zu veranlassen, dass die Anzeige 302 das Bild anzeigt und den potentiell anomalen Bereich hervorhebt.
  • Obwohl vorstehend Ausführungsbeispiele beschrieben wurden, ist es nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die von den Ansprüchen umfasst sind. Die in der Beschreibung verwendeten Worte sind beschreibende und nicht beschränkende Worte, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Erfindungsgedanken und Umfang der Offenbarung abzuweichen. Wie vorstehend 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 dargestellt sind. Obwohl verschiedene Ausführungsformen derart beschrieben worden sein könnten, dass sie in Bezug auf eine oder mehrere gewünschte Charakteristiken Vorteile bieten oder gegenüber anderen Ausführungsformen oder Implementierungen des Stands der Technik bevorzugt sind, erkennt ein Durchschnittsfachmann, dass ein oder mehrere Merkmale oder Charakteristiken beeinträchtigt werden können, um gewünschte Eigenschaften des Gesamtsystems zu erzielen, die von der konkreten Anwendung und Implementierung abhängen. Diese Eigenschaften können Kosten, Beanspruchbarkeit, Dauerhaftigkeit, Lebenszykluskosten, Marktfähigkeit, Erscheinung, Verpackung, Größe, Wartungsfreundlichkeit, Gewicht, Herstellbarkeit, Einfachheit des Zusammenbaus usw., umfassen, sie sind jedoch nicht darauf beschränkt. Soweit Ausführungsformen als weniger wünschenswert als andere Ausführungsformen oder Implementierungen des Stands der Technik in Bezug auf eine oder mehrere Charakteristiken beschrieben sind, liegen diese Ausführungsformen von daher nicht außerhalb des Umfangs der Offenbarung und können für bestimmte Anwendungen wünschenswert sein.

Claims (20)

  1. Computer-implementiertes Verfahren für ein System des maschinellen Lernens (ML-System), umfassend: Empfangen eines Eingabebildes, Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem ML-System assoziiert sind, und Aktualisieren und Ausgeben der Modellparameter, die mit dem ML-System assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Verfahren den Schritt umfasst: separates Anwenden jeder Schicht auf reale und imaginäre Komponenten, die mit der Eingabe assoziiert sind, während die Modellparameter gemeinsam genutzt werden, um eine Zwischenrepräsentation zu erzeugen.
  3. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Verfahren den Schritt des Unterscheidens von inhibitorischen Eingaben mit ausgerichteten Phasen von exzitatorischen Eingaben mit entgegengesetzten Phasen umfasst.
  4. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Eingabebild ein positives reellwertiges Eingabebild ist.
  5. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Verfahren ein Initialisieren der assoziierten Phasen mit verschiedenen Werten umfasst.
  6. Computer-implementiertes Verfahren nach Anspruch 1, wobei der Encoder dazu eingerichtet ist, ferner eine komplexwertige latente Repräsentation auszugeben.
  7. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Eingabebild Bilddaten von einer Kamera, einem Radar, einem Sonar oder einem Mikrofon umfasst.
  8. Computer-implementiertes Verfahren für ein System des maschinellen Lernens (ML-System), umfassend: Empfangen eines Eingabebildes, Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem ML-System assoziiert sind, Aktualisieren und Ausgeben der Modellparameter, die mit dem ML-System assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird, und als Antwort darauf, dass der Konvergenzschwellenwert erreicht wird, Gruppieren von Ausgangsphasenwerten, die mit der komplexwertigen Ausgabe assoziiert sind.
  9. Computer-implementiertes Verfahren nach Anspruch 8, wobei das Eingabebild ein positives reellwertiges Eingabebild ist.
  10. Computer-implementiertes Verfahren nach Anspruch 8, wobei das Verfahren ein Initialisieren der assoziierten Phasen mit verschiedenen Werten umfasst.
  11. Computer-implementiertes Verfahren nach Anspruch 8, wobei das Verfahren den Schritt umfasst: separates Anwenden jeder Schicht auf reale und imaginäre Komponenten, die mit der Eingabe assoziiert sind, während die Modellparameter gemeinsam genutzt werden, um eine Zwischenrepräsentation zu erzeugen.
  12. Computer-implementiertes Verfahren nach Anspruch 8, wobei das Verfahren umfasst: Bestimmen auf der Grundlage von Pixeln, deren Phasen einem selben Cluster zugeordnet sind, dass die Clusterphasenwerte zu einem gleichen Objekt gehören.
  13. Computer-implementiertes Verfahren nach Anspruch 8, wobei das Eingabebild Bilddaten von einer Kamera, einem Radar, einem Sonar oder einem Mikrofon umfasst.
  14. System, das ein Netzwerk des maschinellen Lernens aufweist, umfassend: eine Eingabeschnittstelle, die dazu eingerichtet ist, Eingabedaten von einem Sensor zu empfangen, wobei der Sensor eine Kamera, ein Radar, ein Sonar oder ein Mikrofon umfasst, einen Prozessor in Kommunikation mit der Eingabeschnittstelle, wobei der Prozessor zum Folgenden programmiert ist: Hinzufügen einer Anfangsphase zu jedem Pixel, das mit dem Eingabebild assoziiert ist, um eine komplexe Zahl zu erzeugen, Senden der komplexen Zahl an einen Encoder, wobei der Encoder dazu eingerichtet ist, eine komplexwertige latente Repräsentation an einen Decoder auszugeben, unter Verwendung des Decoders, Zerlegen der komplexwertigen latenten Repräsentation in eine komplexwertige Ausgabe, die sowohl einen Realteil als auch eine assoziierte Phase umfasst, Berechnen eines Rekonstruktionsfehlers zwischen dem Eingabebild und dem Realteil der komplexwertigen Ausgabe, wobei der Rekonstruktionsfehler mit Modellparametern assoziiert ist, die mit dem ML-System assoziiert sind, und Aktualisieren und Ausgeben der Modellparameter, die mit dem ML-System assoziiert sind, bis ein Konvergenzschwellenwert erreicht wird.
  15. System nach Anspruch 14, wobei der Prozessor ferner dazu programmiert ist, als Antwort darauf, dass der Konvergenzschwellenwert erreicht wird, Ausgangsphasenwerte zu gruppieren.
  16. System nach Anspruch 15, wobei der Prozessor ferner dazu programmiert ist, auf der Grundlage von Pixeln, deren Phasen einem selben Cluster zugeordnet sind, zu bestimmen, dass die Clusterphasenwerte zu einem gleichen Objekt gehören.
  17. System nach Anspruch 14, wobei die Eingabedaten ein positives reellwertiges Eingabebild sind.
  18. System nach Anspruch 14, wobei der Prozessor dazu programmiert ist, eine oder mehrere Schichten separat auf reale und imaginäre Komponenten, die mit den Eingabedaten assoziiert sind, anzuwenden, während die Modellparameter gemeinsam genutzt werden, um eine Zwischenrepräsentation zu erzeugen.
  19. System nach Anspruch 14, wobei der Prozessor dazu programmiert ist, auf der Grundlage von Pixeln, deren Phasen einem selben Cluster zugeordnet sind, zu bestimmen, dass die Clusterphasenwerte zu einem gleichen Objekt gehören.
  20. System nach Anspruch 8, wobei der Prozessor ferner dazu programmiert ist, Biases separat auf resultierende Betrags- und Ausgangsphasenwerte anzuwenden.
DE102023202739.9A 2022-04-04 2023-03-27 Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird Pending DE102023202739A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/712,860 2022-04-04
US17/712,860 US20230316067A1 (en) 2022-04-04 2022-04-04 Method and system for a complex autoencoder utilized for object discovery

Publications (1)

Publication Number Publication Date
DE102023202739A1 true DE102023202739A1 (de) 2023-10-05

Family

ID=88019055

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023202739.9A Pending DE102023202739A1 (de) 2022-04-04 2023-03-27 Verfahren und System für einen komplexen Autoencoder, der zur Objektentdeckung verwendet wird

Country Status (4)

Country Link
US (1) US20230316067A1 (de)
JP (1) JP2023153100A (de)
CN (1) CN116894458A (de)
DE (1) DE102023202739A1 (de)

Also Published As

Publication number Publication date
US20230316067A1 (en) 2023-10-05
JP2023153100A (ja) 2023-10-17
CN116894458A (zh) 2023-10-17

Similar Documents

Publication Publication Date Title
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
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
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
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
DE102018206108A1 (de) Generieren von Validierungsdaten mit generativen kontradiktorischen Netzwerken
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
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE102020209853A1 (de) Vorrichtung und system für das lernen unüberwachter geordneter darstellung mit einem residual-variational-autoencoder
DE102023212504A1 (de) Systeme und Verfahren zum Training eines Videoobjekt-Detektionsmaschinen-Lernmodells mit einem Rahmen von Lehrer und Schüler
DE112021006507T5 (de) Räumlich-zeitliches tiefes lernen für die verhaltensbiometrie
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
DE102023202402A1 (de) System und Verfahren zum Verbessern der Robustheit von vortrainierten Systemen in tiefen neuronalen Netzwerken unter Verwendung von Randomisierung und Sample-Abweisung
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
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
US20240096067A1 (en) Systems and methods for multi-teacher group-distillation for long-tail classification

Legal Events

Date Code Title Description
R012 Request for examination validly filed