DE102021205722A1 - System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht - Google Patents

System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht Download PDF

Info

Publication number
DE102021205722A1
DE102021205722A1 DE102021205722.5A DE102021205722A DE102021205722A1 DE 102021205722 A1 DE102021205722 A1 DE 102021205722A1 DE 102021205722 A DE102021205722 A DE 102021205722A DE 102021205722 A1 DE102021205722 A1 DE 102021205722A1
Authority
DE
Germany
Prior art keywords
resolution
computer
implemented method
input
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021205722.5A
Other languages
English (en)
Inventor
Jeremy Zieg Kolter
Devin Willmott
Vladlen Koltun
Shaojie BAI
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 DE102021205722A1 publication Critical patent/DE102021205722A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4069Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution by subpixel displacements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • 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
    • 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/776Validation; Performance evaluation

Landscapes

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

Abstract

Ein computerimplementiertes Verfahren für eine Klassifizierung und zum Trainieren eines neuronalen Netzes enthält das Empfangen einer Eingabe in dem neuronalen Netz, wobei die Eingabe mehrere Auflösungseingaben mit variierenden Auflösungen enthält, Ausgeben mehrerer Merkmalstensoren für jede entsprechende Auflösung aus den mehreren Auflösungseingaben, Vereinigen der mehreren Merkmalstentoren unter Verwendung von Aufwärtsabtastung oder Abwärtsabtastung für die variierenden Auflösungen, Verwenden eines Gleichgewichtsauflösers zum Identifizieren eines oder mehrerer Vorhersagevektoren aus den mehreren Merkmalstensoren und Ausgeben eines Verlusts in Reaktion auf den einen oder die mehreren Vorhersagevektoren.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf Computersysteme, die die Fähigkeit für künstliche Intelligenz aufweisen, die neuronale Netze enthalten.
  • HINTERGRUND
  • Ein DEQ-Modell (Modell mit tiefem Gleichgewicht) kann eine Vorwärtsfunktion ƒ definieren, so dass der Vorwärtsdurchlauf des Netzes durch zuerst Lösen für einen Gleichgewichtspunkt z* = f(z*, x; θ) gegeben ist. Der Rückwärtsdurchlauf kann weitgehend dem Multiplizieren mit der Jacobi-Determinante z * θ ,
    Figure DE102021205722A1_0001
    die in ihrer exakten Form die Lösung eines linearen Systems erfordert, entsprechen. Es sind drei primäre Probleme bei der Entwicklung eines DEQ-Modells vorhanden. Eines kann das Definieren von ƒ sein, so dass der feste Punkt z* existiert und idealerweise eindeutig ist. Das zweite kann das Definieren einer Wurzelfindungsprozedur, die den festen Punkt z* in dem Vorwärtsdurchlauf finden kann, sein. Das dritte kann das Definieren eines Rückwärtsdurchlaufs, um die Multiplikation mit der Jacobi-Determinante z * θ
    Figure DE102021205722A1_0002
    zu lösen, sein.
  • Frühere Verfahren für tiefes Lernen für Aufgaben mit Computersehen erfüllen die erste Eigenschaft dadurch, dass sie Schichten aufweisen, die Merkmale mit speziellen Auflösungen kombinieren und das Bild allmählich abwärtsabtasten, jedoch sind diese Schichten explizit definiert, so dass Speicheranforderungen mit der Anzahl der Schichten ansteigen. Andererseits können DEQ-Modelle größere Netze mit einem kleineren Speicherfußabdruck simulieren, lernen jedoch nicht auf hierarchische Weise. Die DEQ-Modelle können in dem Vorwärts- & Rückwärtsdurchlauf durchgehend die gleiche Auflösung beibehalten und definieren nicht mehrere Schichten explizit, und somit können die DEQ-Modelle Schwierigkeiten haben, an Zwischenpunkten in dem Netz abwärtsabzutasten.
  • ZUSAMMENFASSUNG
  • Gemäß einer Ausführungsform enthält ein computerimplementiertes Verfahren für eine Klassifizierung und zum Trainieren eines neuronalen Netzes das Empfangen von Eingabe in dem neuronalen Netz, wobei die Eingabe mehrere Auflösungseingaben mit variierenden Auflösungen enthält, Ausgeben mehrerer Merkmalstensoren für jede entsprechende Auflösung aus den mehreren Auflösungseingaben, Vereinigen der mehreren Merkmalstentoren unter Verwendung von Aufwärtsabtastung oder Abwärtsabtastung für die variierenden Auflösungen, Verwenden eines Gleichgewichtsauflösers zum Identifizieren eines oder mehrerer Vorhersagevektoren aus den mehreren Merkmalstensoren und Ausgaben eines Verlusts in Reaktion auf den einen oder die mehreren Vorhersagevektoren.
  • Gemäß einer zweiten Ausführungsform enthält ein computerimplementiertes Verfahren für eine Klassifizierung von Eingabe in ein neuronales Netz das Empfangen der Eingabe in dem neuronalen Netz, wobei die Eingabe mehrere Auflösungseingaben enthält, Identifizieren von Merkmalstensoren für jede entsprechende Auflösung der mehrere Auflösungseingaben, Eingeben der Merkmalstensoren für jede entsprechende Auflösung in einen entsprechenden Residuumblock und Verwenden eines Gleichgewichtsauflösers, um einen oder mehrere Vorhersagevektoren aus den mehreren Merkmalstensoren zu identifizieren, um eine Klassifizierung der Eingabe auszugeben.
  • Gemäß einer dritten Ausführungsform enthält ein System zum Trainieren eines neuronalen Netzes eine Eingabeschnittstelle zum Zugreifen auf Eingabedaten für das neuronale Netz und einen Prozessor in Kommunikation mit der Eingabeschnittstelle. Der Prozessor ist programmiert, die Eingabedaten in dem neuronalen Netz zu empfangen, wobei die Eingabe mehrere Auflösungseingaben mit variierenden Auflösungen enthält, Ausgeben mehrerer Merkmalstensoren für jede entsprechende Auflösung der mehreren Auflösungseingaben, Vereinigen der mehreren Merkmalstensoren unter Verwendung von Aufwärtsabtastung oder Abwärtsabtastung für die variierenden Auflösungen, Verwenden eines Gleichgewichtsauflösers, um einen Vorhersagevektor in Reaktion auf die mehreren Merkmalstensoren zu identifizieren, wobei der Vorhersagevektor Merkmale, die jedem der mehreren Merkmalstensoren zugeordnet sind, enthält, und Ausgeben des Vorhersagevektors als eine Klassifizierung der Eingabedaten.
  • Figurenliste
    • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes.
    • 3 stellt die allgemeine Struktur eines MDEQ-Modells dar.
    • 4 bildet eine interne Struktur des Systems 400, die einen Residuumblock enthält, ab.
    • 5 bildet ein schematisches Diagramm einer Interaktion zwischen der computergesteuerten Maschine 10 und dem Steuersystem 12 ab.
    • 6 bildet ein schematisches Diagramm des Steuersystems von 1 ab, das konfiguriert ist, ein Fahrzeug, das ein teilweise autonomes Fahrzeug oder ein teilweise autonomer Roboter sein kann, zu steuern.
    • 7 bildet ein schematisches Diagramm des Steuersystems von 1 ab, das konfiguriert ist, eine Produktionsmaschine wie z. B. ein Stanzwerkzeug, ein Schneidewerkzeug oder einen Tieflochbohrer, des Produktionssystems, wie z. B. den Teil einer Fertigungsanlage, zu steuern.
    • 8 bildet ein schematisches Diagramm des Steuersystems von 1 ab, das konfiguriert ist, ein Elektrowerkzeug, wie z. B. eine Bohrmaschine oder einen Antrieb, der eine wenigstens teilweise autonome Betriebsart aufweist, zu steuern.
    • 9 bildet ein schematisches Diagramm des Steuersystems von 1 ab, das konfiguriert ist, einen automatischen persönlichen Assistenten zu steuern.
    • 10 bildet ein schematisches Diagramm des Steuersystems von 1 ab, das konfiguriert ist, ein Überwachungssystem wie z. B. ein Zugangssteuerungssystem oder ein Beobachtungssystem zu steuern.
    • 11 bildet ein schematisches Diagramm des Steuersystems von 1 ab, das konfiguriert ist, ein Bildaufnahmesystem, beispielsweise eine MRI-Einrichtung, Röntgen-Bildaufnahmeeinrichtung oder Ultraschalleinrichtung, zu steuern.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Offenbarung sind hier beschrieben. Es ist jedoch zu verstehen, 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ßstabsgerecht; einige Merkmale könnten übertrieben oder minimiert sein, um Einzelheiten der speziellen Komponenten zu zeigen. Deshalb sind die spezifischen strukturellen und funktionalen Einzelheiten, die hier offenbart sind, nicht als einschränkend, sondern lediglich als eine repräsentative Basis zum Lehren eines Fachmanns, die Ausführungsformen auf verschiedene Weise einzusetzen, zu interpretieren. Wie normale Fachleute verstehen werden, können verschiedene Merkmale, die mit Bezug auf irgendeine der Figuren dargestellt und beschrieben sind, mit Merkmalen, die in einer oder mehreren anderen Figuren dargestellt sind, kombiniert werden, um Ausführungsformen, die nicht ausdrücklich dargestellt oder beschrieben sind, zu produzieren. Die Kombinationen von dargestellten Merkmalen stellen repräsentative Ausführungsformen für typische Anwendungen bereit. Verschiedene Kombinationen und Modifikationen der Merkmale, die mit den Lehren dieser Offenbarung konsistent sind, könnten jedoch für spezielle Anwendungen oder Implementierungen erwünscht sein.
  • In den früheren DEQ-Modellen kann das Definieren einer Funktion mit einem festen Punkt heuristisch unter Verwendung von Netzstrukturen, die stabile feste Punkte empirisch zu produzieren scheinen, vorgenommen werden. Das kann das Verwenden existierender Architekturen im Transformerstil oder existierender Faltungsarchitekturen enthalten, mit geeigneter Schichtnormalisierung, um das Bereitstellen eines stabilen Systems zu versuchen. Solche Schichten kommen jedoch ohne formale Garantien für die Existenz eines festen Punkts. Für die Wurzelfindungsprozedur kann das DEQ ein nichtlineares Broyden-Verfahren verwenden, bei dem auch nicht garantiert ist, dass es eine Wurzel findet (selbst wenn eine Wurzel oder ein fester Punkt existiert). Zusätzlich kann der Rückwärtsdurchlauf ein ähnliches Broyden-Verfahren für eine lineare Lösung verwenden, für die es eine Garantie geben kann, sie mit der geeigneten Inversen zu multiplizieren, falls sie existiert, jedoch wird die Jacobinische keiner sinnvollen Ableitung entsprechen, falls der feste Punkt nicht existiert oder falls der Vorwärtsdurchlauf nicht konvergiert.
  • Ein tiefes neuronales Netz mit verdeckten Schichten z und Aktivierungen ƒ, so dass z[i+1] = ƒ(z[i], θi, c(x)) für i = 0, 1, 2, ..., L mit den Gewichten θi und Eingaben aus vorherigen Schichten c(x) beide schichtübergreifend verbunden sind, z. B. θi = θ∀i. Einige dieser Aktivierungen ƒ können eine Attraktoreigenschaft zeigen, es existiert z. B. ein fester Punkt z*, so dass z* = ƒ(z*, θ, c(x)) und lim L ( ƒ   ) L t i m e s ( z [ 0 ] , θ , c ( x ) ) = z ,
    Figure DE102021205722A1_0003
    d. h. die wiederholte Anwendung von ƒ bis eine initiale Aktivierung z[0] zu dem festen Punkt z* konvergiert. Falls das der Fall ist, kann die iterierte Funktionsanwendung auf äquivalente Weise durch ein numerisches Verfahren ersetzt werden, um den festen Punkt direkt zu finden. Das verschiebt das Problem von der Berechnung der Vorwärts- und Rückwärtsdurchläufe für mehrere Schichten zur Berechnung und Optimierung des festen Punkts direkt über numerische Verfahren. Das kann den Speicherfußabdruck reduzieren (da keine Zwischenwerte in den Schichten gespeichert werden müssen) und löst das Problem, eine optimale Anzahl von Schichten L zu finden.
  • Das Mehrskalenmodell mit tiefem Gleichgewicht (MDEQ) baut auf seinem Vorgänger des Modells mit tiefem Gleichgewicht (DEQ) auf. Während die Eingabe in das DEQ nur eine einzige Auflösung aufweist, wird die Eingabe in das MDEQ mit mehreren Auflösungen bereitgestellt, was es ihm ermöglicht, aus einem Spektrum von Auflösungen, das von feingranularen Merkmalen (hoher Auflösung) bis zu globalen Merkmalen (niedrige Auflösung) reicht, zu lernen. Das MDEQ spezifiziert außerdem einen Prozess zum Mischen und Kombinieren von Informationen unter verschiedenen Skalen. Außerdem ist die Ausgabe aus dem DEQ von der gleichen Auflösung wie seine Eingabe, während das MDEQ eine Ausgabe für jede der Eingabeskalen ergibt. Das macht das MDEQ-Modell flexibler in Bezug auf gemeinsames Lernen oder Übertragung, da die Ausgabe mit unterschiedlichen Auflösungen verwendet werden kann, um zusätzliche Verluste auf einer einzigen Trainingsaufgabe zu lernen, mehrere Aufgaben gleichzeitig zu lernen (d. h. Ausgaben mit hoher Auflösung für semantische Segmentierung und Ausgaben mit niedriger Auflösung zur Bildklassifizierung zu verwenden) oder um ein gelerntes Modell leichter von einer Aufgabe auf eine weitere zu übertragen.
  • Das MDEQ-Modell lernt auf hierarchische Weise, z. B. auf eine, die die Daten mit mehreren Skalen oder Auflösungen berücksichtigt, was für das Lernen in mehreren Aufgaben (z. B. Aufgaben für Computersehen) wesentlich ist. Das MDEQ modelliert implizit, was viel größere Netze simulieren kann, während es einen relativ kleinen Speicherfußabdruck zum Speichern und Trainieren des Modells beibehält.
  • 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. Beispielsweise kann, wie in 1 dargestellt ist, die Eingabeschnittstelle durch eine Datenspeicherschnittstelle 180 gebildet sein, die auf die Trainingsdaten 192 aus einem Datenspeicher 190 zugreifen kann. Beispielsweise kann die Datenspeicherschnittstelle 180 eine Speicherschnittstelle oder eine persistente Speicherschnittstelle sein, z. B. eine Festplatte oder eine SSD-Schnittstelle, jedoch eine Schnittstelle eines persönlichen, lokalen oder Weitbereichs-Netzes wie z. B. eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Lichtwellenleiter-Schnittstelle. Der Datenspeicher 190 kann ein interner Datenspeicher des Systems 100, wie z. B. ein Festplattenlaufwerk oder eine SSD, kann jedoch auch ein externer Datenspeicher, z. B. ein über ein Netz zugänglicher Datenspeicher, sein.
  • 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 ist jedoch zu verstehen, dass die Trainingsdaten 192 und die Datenrepräsentation 194 des untrainierten neuronalen Netzes auch jeweils aus einem unterschiedlichen Datenspeicher zugreifbar sein können, z. B. über ein unterschiedliches Teilsystem der Datenspeicherschnittstelle 180. Jedes Teilsystem kann von einem Typ sein, wie vorstehend für die Datenspeicherschnittstelle 180 beschrieben ist. In anderen Ausführungsformen kann die Datenrepräsentation 194 des untrainierten neuronalen Netzes intern durch das System 100 auf der Basis von Konstruktionsparametern für das neuronale Netz erzeugt werden und kann deshalb nicht explizit auf dem Datenspeicher 190 gespeichert sein. Das System 100 kann ferner ein Prozessorteilsystem 160 umfassen, das konfiguriert sein kann, während des Betriebs des Systems 100 eine iterative Funktion als einen Ersatz für einen Stapel von Schichten des neuronalen Netzes, das zu trainieren ist, bereitzustellen. Hier können entsprechende Schichten des Stapels von Schichten, der ersetzt wird, wechselseitig gemeinsam verwendete Gewichte aufweisen und können als Eingabe eine Ausgabe einer vorhergehenden Schicht, oder für eine erste Schicht aus dem Stapel von Schichten eine initiale Aktivierung, und einen Teil der Eingabe des Stapels von Schichten empfangen. Das Prozessorteilsystem 160 kann ferner konfiguriert sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Hier kann eine Iteration des Trainings durch das Prozessorteilsystem 160 einen Vorwärtspropagierungsteil und einen Rückpropagierungsteil umfassen. Das Prozessorteilsystem 160 kann konfiguriert sein, den Vorwärtspropagierungsteil durch, unter anderen Operationen, die den Vorwärtspropagierungsteil definieren, die ausgeführt werden können, Bestimmen eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts das Verwenden eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion minus ihrer Eingabe zu finden, und durch Bereitstellen des Gleichgewichtspunkts als einen Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz ausführen. Das System 100 kann ferner eine Ausgabeschnittstelle zum Ausgeben einer Datenrepräsentation 196 des trainierten neuronalen Netzes enthalten, wobei diese Daten auch als Daten 196 des trainierten Modells bezeichnet sein können. Beispielsweise kann, wie auch in 1 dargestellt ist, die Ausgabeschnittstelle durch die Datenspeicherschnittstelle 180 gebildet sein, wobei diese Schnittstelle in diesen Ausführungsformen eine Eingabe/Ausgabe- („IO“-) Schnittstelle ist, über die die Daten 196 des trainierten Modells in dem Datenspeicher 190 gespeichert werden können. Beispielsweise kann die Datenrepräsentation 194, die das „untrainierte“ neuronale Netz definiert, während des oder nach dem Training wenigstens teilweise durch die Datenrepräsentation 196 des trainierten neuronalen Netzes ersetzt werden, in dem die Parameter des neuronalen Netzes, wie z. B. Gewichte, Hyperparameter und andere Typen von Parametern neuronaler Netze, angepasst sein können, um das Training mit den Trainingsdaten 192 widerzuspiegeln. Das ist auch in 1 durch die Bezugszeichen 194, 196, die sich auf den gleichen Datensatz auf dem Datenspeicher 190 beziehen, dargestellt. In anderen Ausführungsformen kann die Datenrepräsentation 196 getrennt von der Datenrepräsentation 194, die das „untrainierte“ neuronale Netz definiert, gespeichert sein. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherschnittstelle 180 separat sein, kann jedoch allgemein von einem Typ sein, wie er vorstehend für die Datenspeicherschnittstelle 180 beschrieben ist.
  • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes. Das Verfahren 200 kann einer Operation des Systems 100 von 1 entsprechen, muss das jedoch nicht, da es auch einer Operation eines anderen Typs eines Systems, einer Einrichtung oder Vorrichtung entsprechen kann oder da es einem Computerprogramm entsprechen kann.
  • Das Verfahren 200 ist so gezeigt, dass es in einem Schritt mit dem Titel „BEREITSTELLEN DER DATENREPRÄSENTATION DES NEURONALEN 'NETZES“ das Bereitstellen 210 eines neuronalen Netzes umfasst, wobei das Bereitstellen des neuronalen Netzes das Bereitstellen einer iterativen Funktion als einen Ersatz für einen Stapel von Schichten des neuronalen Netzes umfasst, wobei entsprechende Schichten des Stapels von Schichten, der ersetzt wird, wechselseitig gemeinsam verwendete Gewichte aufweisen und als Eingabe eine Ausgabe einer vorhergehenden Schicht, oder für eine erste Schicht des Stapels von Schichten eine initiale Aktivierung, und einen Teil der Eingabe des Stapels von Schichten empfangen. Das Verfahren 200 ist ferner so gezeigt, dass einen Schritt mit dem Titel „ZUGREIFEN AUF TRAININGSDATEN“ das Zugreifen 220 auf Trainingsdaten für das neuronale Netz umfasst. Das Verfahren 200 ist ferner so gezeigt, dass in einem Schritt mit dem Titel „ITERATIVES TRAINIEREN DES NEURONALEN NETZES UNTER VERWENDUNG VON TRAININGSDATEN“ das iterative Trainieren 230 des neuronalen Netzes unter Verwendung der Trainingsdaten umfasst, wobei diese Trainingsdaten 230 einen Vorwärtspropagierungsteil und einen Rückpropagierungsteil umfassen können. Das Ausführen des Vorwärtspropagierungsteils durch das Verfahren 200 kann in einem Schritt mit dem Titel „BESTIMMEN DES GLEICHGEWICHTSPUNKTS UNTER VERWENDUNG EINES WURZELFINDUNGSALGORITHMUS“ das Bestimmen 240 eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts das Verwenden eines numerischen Wurzelfindungsalgorithmus zum Finden einer Wurzellösung für die iterative Funktion minus ihrer Eingabe umfasst, und in einem Schritt mit dem Titel „BEREITSTELLEN DES GLEICHGEWICHTSPUNKTS ALS ERSATZ FÜR DIE AUSGABE EINES STAPELS VON SCHICHTEN“ das Bereitstellen 250 des Gleichgewichtspunkts als einen Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz umfassen. Das Verfahren 200 kann ferner nach dem Trainieren und in einem Schritt mit dem Titel „AUSGEBEN EINES TRAINIERTEN NEURONALEN NETZES“ das Ausgeben 260 eines trainierten neuronalen Netzes umfassen. Das neuronale Netz mit tiefem Gleichgewicht (DEQ) kann ferner in der Patentanmeldung mit dem Titel „DEEP NEURAL NETWORK WITH EQUILIBRIUM SOLVER“ mit der Anmeldungsnummer X,XXX,XXX, die hier durch Bezugnahme vollständig mit aufgenommen ist, beschrieben sein.
  • 3 stellt die allgemeine Struktur eines MDEQ-Modells 300 dar. Wie in dem früheren DEQ-Modell kann ƒθ die Transformation des festen Punkt, an dem das System interessiert ist, bezeichnen, und x kann die im Voraus berechnete eingegebene Repräsentation sein, die für ƒθ und z für den internen Zustand des Modells bereitgestellt wird.
  • Als Kontext kann in dem ursprünglichen DEQ-Modell das DEQ in der Vorwärtsdurchlauf- (Inferenz-) Sequenz eine Eingabe θ ∈ Rn und c ∈ Rk enthalten. Die Hyperparameter können eine Basisschichtfunktion ƒ: Rm × Rn × Rk → Rm enthalten. Der Algorithmus kann:
    1. 1. den Speicher z[0] initialisieren.
    2. 2. die Funktion g: z ↦ ƒ(z, θ, c) - z definieren.
    3. 3. die Subroutine z* = RootFind(λz ↦ g(z), z[0]) aufrufen.
  • Das DEQ-Modell kann z* ∈ Rm ausgeben. Konkret kann RootFind über irgendein Wurzelfindungsverfahren berechnet werden. Auf eine nicht einschränkende Weise kann das irgendeine Variante des Newton-Verfahrens enthalten, z. B. das klassische Newton-Raphson-Verfahren, das Broyden-Verfahren, das Steffensen-Verfahren usw.
  • Während der DEQ-Rückwärtsdurchlauf-Trainingssequenz kann das System als Eingaben sowohl den rückpropagierten Fehler δz ∈ Rm als auch z* ∈ Rm, c ∈ Rk aus dem Vorwärtsdurchlauf nutzen. Der Algorithmus für den Rückwärtsdurchlauf kann die folgenden Schritte ablaufen lassen:
    • 1. die Funktion g: z ↦ ƒ(z, θ, c(x)) - z definieren
    • 2. die partiellen Ableitungen d ƒ ( z , θ , c ( x ) ) d θ
      Figure DE102021205722A1_0004
      und d ƒ ( z , θ , c ) d c
      Figure DE102021205722A1_0005
      berechnen
    • 3.
      1. A) δ θ = δ z ( J g | z ) 1 d ƒ ( z , θ , c ( x ) ) d θ
        Figure DE102021205722A1_0006
        und δ c = δ z ( J g | z ) 1 d ƒ ( z , θ , c ( x ) ) d c
        Figure DE102021205722A1_0007
        berechnen. oder
      2. B) das lineare System ( J g | z ) T x = δ z T
        Figure DE102021205722A1_0008
        über eine geeignete Subroutine lösen.
  • Das MDEQ-Modell, das nachstehend weiter beschrieben ist, baut auf den folgenden Vorwärtsdurchlaufsequenz und Rückwärtsdurchlaufsequenz durch Spezifizieren der Funktion ƒθ(x,z), die in den vorstehenden Algorithmen verwendet ist, auf. Die Hyperparameter in dem MDEQ-Modell können n, die Anzahl von Auflösungen, enthalten. Die Eingaben (z. B. Eingabe) können x = [x1, ..., xn] (Eingabe in jeder Skala, mit absteigend geordneten Auflösungen) und z = [z1, ..., zn] (verdeckter Zustand, zi ist von der gleichen Größe wie xn) enthalten. Der Algorithmus kann für jede Auflösung i = 1, ..., n: z ˜ ι = Norm ( Conv2d ( z i ) )
    Figure DE102021205722A1_0009
    z ^ = Norm ( Conv2d ( R e L U ( z ˜ i ) ) + x i
    Figure DE102021205722A1_0010
    z i + = Norm ( ReLU ( z ^ ι + z i ) )
    Figure DE102021205722A1_0011
  • Norm kann als eine Gruppennormalisierungsoperation (ähnlich der Batch-Normalisierung) definiert sein.
  • Dann kann das MDEQ-Modell für jede Auflösung i = 1, ..., n einen Mehrauflösungsvereinigungsschritt, der Merkmale aus anderen Maßstäben mischt, anwenden: z i + + z i + + j < i S t r i d e d C o n v 2 d ( z j + ) + j > i I n t e r p o l a t e ( 1 b y 1 C o n v 2 d ( z j + ) )
    Figure DE102021205722A1_0012
    wobei eine oder mehrere 2-Schritt-3x3-Faltung(en) (z. B. StridedConv2d ist eins oder größer) auf höhere Auflösungen angewandt werden, und eine 1×1-Faltung gefolgt durch bilineare Interpolation auf niedrigere Auflösungen angewandt wird.
  • Die Ausgabe von ƒ ist die Menge verdeckter Zustände z + + = [ z 1 + + ,..., z n + + ] .
    Figure DE102021205722A1_0013
    Diese Schritte können jedoch modifiziert werden, solange der erste Schritt eine Transformation ist, die separat auf jede Auflösung gewandt wird, die ihre Form beibehält, und der zweite eine Transformation ist, die Informationen zwischen unterschiedlichen Auflösungen mischt.
  • Diese Funktion ƒθ(x, z) kann dann in den vorstehenden Vorwärts- und Rückwärtsdurchläufen verwendet werden. Nach dem Vorwärtsdurchlauf kann das Modell die Wurzel z* von ƒθ(x, z) erhalten, die in dem MDEQ-Fall eine Menge [ z 1   ,   ...   ,   z n ]
    Figure DE102021205722A1_0014
    von Auflösungen ist, von denen jede zur Vorhersage oder zum Trainieren verwendet werden kann, abhängig von ihrer Relevanz für die vorliegende Lernaufgabe.
  • Eines der Hauptkonzepte von MDEQ ist die Transformation von ƒθ, die zum Gleichgewicht getrieben wird. Das System kann eine solche Konstruktion verwenden, in der Merkmale an unterschiedlichen Auflösungen 303 zuerst durch Residuumblöcke 307 aufgenommen werden. Die Merkmale können aus einem Eingabebild 301 abgeleitet werden, das variierende Auflösungen 303 oder Auflösungsbild 303 aufweist, wie in 3 gezeigt ist. Jede Auflösung 303 kann ihren eigenen entsprechenden Residuumblock 307 aufweisen. Die Residuumblöcke 307 können flach sein und können eine gleiche Struktur aufweisen. Die Ströme unterschiedlicher Auflösung können nebeneinander oder gleichzeitig verarbeitet werden. An der Auflösung i kann der Residuumblock den internen Zustand zi zusammen mit einer Eingaberepräsentation xi empfangen, und gibt einen transformierten Merkmalstensor 305 z i +
    Figure DE102021205722A1_0015
    mit der gleichen Auflösung aus.
  • Die Eingabe 301 kann eine Reihe von Transformationen durchlaufen, um x 303 zu bilden, das für ƒθ bereitgestellt wird. Im Gegensatz zu dem ursprünglichen DEQ-Modell, das auf einer Sequenz arbeitet und mit einer einzigen Repräsentation der Eingabe versorgt wird, kann das MDEQ mit Eingaberepräsentationen mit n Auflösungen versorgt werden (z. B. n = 4). Die Transformation an jeder Auflösung empfängt ihre eigene Eingaberepräsentation
  • xi ∈ RHi × Wi × Ci für i = 1, ..., n. Eingaberepräsentationen für niedrigere Auflösung können von der ursprünglichen (hochauflösenden) Eingabe über 2-Schritt-Faltungen abgeleitet werden.
  • Während das ursprüngliche DEQ einen internen Zustand mit einem einzigen Tensor z aufweist, enthält der MDEQ-Zustand eine Sammlung von Tensoren 305 mit n Auflösungen:
  • z = [ z 1 ,   ...   ,   z n ] ( verdeckter Zustand ,   z i  ist von der gleichen Größe wie  x n )
    Figure DE102021205722A1_0016
  • Jeder der unterschiedlichen Tensoren 305 weist unterschiedliche Dimensionen und unterschiedliche Auflösungen auf. Somit kann der Gleichgewichtsauflöser 311 auf der vorhergehenden Herangehensweise anderer DEQ-Modelle basieren. Das System kann die internen Zustände durch Einstellen von z i [ 0 ] = 0
    Figure DE102021205722A1_0017
    für alle Skalen i initialisieren. Weil das System Wurzelfindung ausführt, muss das System die Tensoren für mehrere Auflösungen nicht vektorisieren. Die Sammlung von Tensoren z = [z1, ..., zn] kann als eine Sammlung von n Tensoren beibehalten werden, deren jeweilige Gleichgewichtszustände gleichzeitig gelöst werden und rückpropagieren können, wobei jede Auflösung ihren eigenen Gradienten enthält.
  • Der Auflöser 311 kann auch im Vergleich zu dem früheren DEQ-Modell modifiziert sein. Die hohe Dimensionalität von Bildern kann das Speichern solcher Aktualisierungen extrem teuer machen, ungeachtet ihres niedrigen Rangs. Um das zu adressieren verbessert das System die Speichereffizienz der Vorwärts- und Rückwärtsdurchläufe. Der neue Auflöser kann die neuesten m Aktualisierungen im niedrigen Rang in jedem Schritt beibehalten und verwirft die früheren. Der Auflöser 311 kann einen einzigen Vorhersagevektor 313 für alle Auflösungen ausgeben. Der Vorhersagevektor 313 kann Merkmale jedes der Vektoren für die entsprechende Auflösung enthalten.
  • Frühere implizite Modelle nehmen an, dass ein Verlust 317 auf einem einzigen Strom impliziter verdeckter Zustände definiert ist, die eine einheitliche Eingabe- und Ausgabeform aufweisen, und somit es ist nicht klar, wie ein solches Modell über strukturell unterschiedliche Aufgaben (z. B. Vortrainieren auf Bildklassifizierung und Feinabstimmen auf semantischer Segmentierung) übertragen werden kann. Darüber hinaus gibt es keinen natürlichen Weg, zusätzliche Verluste zu definieren, weil keine „Schichten“ vorhanden sind und die Vorwärts- und Rückwärts-Berechnungsbahn entkoppelt sind. Der Verlust 317 in dem MDEQ-Modell kann jedem der Vorhersagevektoren zugeordnet sein, da das MDEQ-Modell einen Verlust mehr als einem der Vektoren zuweisen kann. Somit können die Vektoren immer einen Verlust aufweisen, der wenigstens einem von ihnen zugeordnet ist.
  • Das MDEQ-Modell kann komfortable „Schnittstellen“ zu seinen Zuständen an mehreren Auflösungen freilegen. Eine Auflösung (die höchste) kann gleich der Auflösung der Eingabe sein und kann verwendet werden, um Verluste für dichte Vorhersageaufgaben wie z. B. semantische Segmentierung definieren. Beispielsweise kann das das Ableiten spezifischer Klassifizierung zugeordneter Teile von Objekten, die in dem Bild identifiziert sind, enthalten, wie z. B. Gesichtserkennung, Augenerkennung, Haarfarbe usw. Eine weitere Auflösung (z. B. die niedrigste) kann ein Vektor sein, in dem die räumlichen Dimensionen zusammengeklappt sind, und kann verwendet werden, um Verluste für Kennzeichnungsaufgaben auf Bildebene wie z. B. Bildklassifizierung zu definieren. Das kann saubere Protokolle zum Trainieren desselben Modells für unterschiedliche Aufgaben vorschlagen, entweder gemeinsam (z. B. Mehraufgabenlemen, in denen strukturell unterschiedliche Supervision durch mehrere Köpfe fließt) oder der Reihe nach (z. B. Vortrainieren zur Bildklassifizierung durch einen Kopf und Feinabstimmen zur semantischen Segmentierung durch einen weiteren).
  • Weil Batch-Normalisierung für implizite Modelle nicht direkt geeignet sein kann, weil sie die Besetzungsstatik basierend auf Schichten, die in der MDEQ-Einstellung implizit sind, schätzt und die Jacobinische Matrix der Transformation ƒθ schlecht skalieren kann, so dass der feste Punkt signifikant schwieriger zu lösen ist. Somit kann das MDEQ Gruppennormalisierung nutzen, die die Eingabekanäle gruppiert und Normalisierung innerhalb jeder Gruppe (z. B. jeder Auflösung) ausführt. Die Gruppennormalisierung kann von der Batch-Größe unabhängig sein und bietet eine natürlichere Unterstützung für das Übertragen von Lernen (z. B. Vortrainieren und Feinabstimmen auf strukturell unterschiedlichen Aufgaben). Das MDEQ kann die erlernbaren affinen Parameter der Gruppennormalisierung für Stabilität nicht nutzen.
  • Anstelle der Nutzung des herkömmlichen räumlichen Abfalls, der durch Erklärung von Sichtmodellen verwendet werden, die auf eine Zufallsmaske für gegebene Schichten in dem Netz angewandt werden, kann das MDEQ eine abweichende Abfalltechnik einsetzen, die in RNNs (rekurrenten neuronalen Netzen) zu finden ist, wo die genau gleiche Maske bei allen Aufrufen von ƒθ angewandt werden kann und am Start jeder Trainingsiteration zurückgesetzt wird.
  • Die Mehrskalenmerkmale können für alle Auflösungen i auf z i [ 0 ] = 0
    Figure DE102021205722A1_0018
    initialisiert werden. Das kann jedoch gewisse Instabilitäten beim Training von MDEQ verursachen, insbesondere während seiner Startphase, die durch die drastische Änderung der Steigung von ReLU-Nichtlinearität im Original, wo die Ableitung nicht definiert ist, bedingt sein können. Um das zu bekämpfen, kann das MDEQ-Modell die letzte ReLU in sowohl dem Residuumblock als auch der Mehrskalenvereinigung durch ein Softplus in der initialen Phase des Trainierens ersetzen. Das kann später zu ReLU zurück geschaltet werden. Das Softplus stellt eine glatte Näherung an das ReLU bereit, weist jedoch eine Steigung 1 1 1 + e x p ( β z ) 1 2
    Figure DE102021205722A1_0019
    um z = 0 auf (wo β die Krümmung steuert).
  • Die MDEQ-Modelle können Faltungen mit kleinen rezeptiven Feldern (z. B. die zwei 3x3-Faltungsfilter in dem Residuumblock von ƒθ) auf potentiell sehr großen Bilder (z. B. Bilder mit 2048 x 1024) anwenden. Beispielsweise kann das MDEQ schließlich Modelle zur semantischen Segmentierung auf Bildern der Megapixel-Ebene auswerten. In der Praxis kann das bedeuten, dass das System typischerweise eine höhere Anzahl von Wurzelfindungsiterationen benötigen kann, um zu einem exakten Gleichgewicht zu konvergieren. Obwohl das eine Herausforderung darstellt, kann das MDEQ-Modell gleichzeitiges Up- und Abwärtsabtastung über mehrere Skalen ausführen und Quasi-Newton-Wurzelfindung nutzen, um das Modell nahe an das Gleichgewicht innerhalb einer akzeptablen Anzahl von Wurzelfindungsiterationen zu treiben.
  • 4 offenbart eine interne Struktur des Systems 400, die einen Residuumblock enthält. Der Residuumblock kann eher Gruppennormalisierung 413 anstelle Batch-Normalisierung nutzen. Der Residuumblock an der Auflösung i kann formal als das Nachstehende ausgedrückt werden, mit einer Ausgabe z i +
    Figure DE102021205722A1_0020
    für jede Auflösung i = 1, , n:
  • z ˜ ι = Norm ( Conv2d ( z i ) )
    Figure DE102021205722A1_0021
  • z ^ = Norm ( Conv2d ( R e L U ( z ˜ i ) ) + x i
    Figure DE102021205722A1_0022
  • z i + = Norm ( ReLU ( z ^ ι + z i ) )
    Figure DE102021205722A1_0023
  • Somit kann eine zweidimensionale (2D-) Faltungsschicht 405 mit Gruppennormalisierung einen Faltungskern ausgeben, der mit Schichten aufgewickelt ist, um dazu beizutragen, einen Tensor aus Ausgaben zu produzieren. Ein Gleichrichter 407 kann auf dem aus Block 405 ausgegebenen Faltungskern benutzt werden. Die Aktivierungsfunktion kann eine gleichgerichtete Lineareinheit (ReLU) 407, 411 enthalten. Die zweite 2D-Faltungsschicht 409 mit Gruppennormalisierung kann den internen Zustand zi zusammen mit einer Eingaberepräsentation xi empfangen und gibt einen transformierten Merkmalstensor z i +
    Figure DE102021205722A1_0024
    mit der gleichen Auflösung aus, wie in der vorstehenden Formel spezifiziert ist. Der Residuumblock kann eine 2-Schritt-3x3-Faltung auf höhere Auflösungen und eine lxl-Faltung gefolgt von bilinearer Interpolation auf niedrigere Auflösungen anwenden.
  • Folgend diesen Blöcken ist der zweite Teil von ƒθ ein Mehrauflösungsvereinigungsschritt, der die Merkmalskarten über unterschiedliche Skalen mischt. Die transformierten Merkmale z i +
    Figure DE102021205722A1_0025
    durchlaufen entweder Aufwärtsabtastung oder Abwärtsabtastung aus der aktuellen Skala i zu jeder anderen Skala j ungleich i. In der MDEQ-Konstruktion kann Abwärtsabtastung durch (eine oder mehrere) 2-Schritt-3X3-Conv2d ausgeführt werden, während Aufwärtsabtastung durch eine 1 X 1-Faltung gefolgt von bilinearer Interpolation ausgeführt wird. Die endgültige ausgegebene Skala j kann durch Summieren über die transformierten Merkmalskarten, die aus allen eingehenden Skalen i (zusammen mit z j +
    Figure DE102021205722A1_0026
    ). bereitgestellt sind. Somit ist der ausgegebene Merkmalstensor an jeder Skala eine Mischung aus transformierten Merkmalen aus allen Skalen. Das kann erzwingen, dass die Merkmale aller Skalen konsistent sind, und treibt das gesamte System zu einem koordinierten Gleichgewicht, das die Repräsentation über Skalen harmonisiert.
  • 5 bildet ein schematisches Diagramm einer Interaktion zwischen der computergesteuerten Maschine 10 und dem Steuersystem 12 ab. Die computergesteuerte Maschine 10 kann ein neuronales Netz wie in den 1-4 beschrieben enthalten. Die computergesteuerte Maschine 10 enthält einen Aktor 14 und einen Sensor 16. Der Aktor 14 kann einen oder mehrere Aktoren enthalten, und der Sensor 16 kann einen oder mehrere Sensoren enthalten. Der Sensor 16 ist konfiguriert, einen Zustand der computergesteuerten Maschine 10 zu erfassen. Der Sensor 16 kann konfiguriert sein, den erfassten Zustand in Sensorsignale 18 zu codieren und die Sensorsignale 18 zu dem Steuersystem 12 zu senden. Nicht einschränkende Beispiele des Sensors 16 enthalten Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einer Ausführungsform ist der Sensor 16 ein optischer Sensor, der konfiguriert ist, optische Bilder einer Umgebung nahe der computergesteuerten Maschine 10 zu erfassen.
  • Das Steuersystem 12 ist konfiguriert, Sensorsignale 18 von der computergesteuerten Maschine 10 zu empfangen. Wie nachstehend dargelegt kann das Steuersystem 12 ferner konfiguriert sein, Aktorsteuerbefehle 20 abhängig von den Sensorsignalen zu berechnen und Aktorsteuerbefehle 20 zu dem Aktor 14 der computergesteuerten Maschine 10 zu senden.
  • Wie in 5 gezeigt enthält das Steuersystem 12 eine Empfangseinheit 22. Die Empfangseinheit 22 kann konfiguriert sein, Sensorsignale 18 von dem Sensor 16 zu empfangen und Sensorsignale 18 in Eingabesignale x zu transformieren. In einer alternativen Ausführungsform werden Sensorsignale 18 direkt als Eingabesignale x ohne die Empfangseinheit 22 empfangen. Jedes Eingabesignal x kann ein Abschnitt jedes Sensorsignals 18 sein. Die Empfangseinheit 22 kann konfiguriert sein, jedes Sensorsignal 18 zu verarbeiten, um jedes Eingabesignal x zu produzieren. Das Eingabesignal x kann Daten enthalten, die einem durch den Sensor 16 aufgezeichneten Bild entsprechen.
  • Das Steuersystem 12 enthält den Klassifizierer 24. Der Klassifizierer 24 kann konfiguriert sein, Eingabesignale x in ein oder mehrere Kennzeichen unter Verwendung eines Maschinenlern-Algorithmus (ML-Algorithmus) wie z. B. eines vorstehend beschriebenen neuronalen Netzes zu klassifizieren. Der Klassifizierer 24 ist konfiguriert, durch Parameter wie z. B. die vorstehend beschriebenen (z. B. Parameter θ) parametrisiert zu werden. Die Parameter θ können in einem nichtflüchtigen Speicher 26 gespeichert und durch ihn bereitgestellt werden. Der Klassifizierer 24 ist konfiguriert, Ausgabesignale y aus den Eingabesignalen x zu bestimmen. Jedes Ausgabesignal y enthält Informationen, die jedem Eingabesignal x ein oder mehrere Kennzeichen zuweisen. Der Klassifizierer 24 kann Ausgabesignale y zur Umsetzungseinheit 28 senden. Die Umsetzungseinheit 28 ist konfiguriert, Ausgabesignale y in Aktorsteuerbefehle 20 umzusetzen. Das Steuersystem 12 ist konfiguriert, Aktorsteuerbefehle 20 zu dem Aktor 14, der konfiguriert ist, die computergesteuerte Maschine 10 in Reaktion auf Aktorsteuerbefehle 20 zu betätigen, zu senden. In einer weiteren Ausführungsform ist der Aktor 14 konfiguriert, die computergesteuerte Maschine 10 basierend direkt auf Ausgabesignalen y zu betätigen.
  • Bei Empfang der Aktorsteuerbefehle 20 durch den Aktor 14 ist der Aktor 14 konfiguriert, eine Aktion auszuführen, die dem zugehörigen Aktorsteuerbefehl 20 entspricht. Der Aktor 14 kann eine Steuerlogik enthalten, die konfiguriert ist, Aktorsteuerbefehle 20 in einen zweiten Aktorsteuerbefehl zu transformieren, der verwendet wird, um den Aktor 14 zu steuern. In einer oder mehreren Ausführungsformen können die Aktorsteuerbefehle 20 verwendet werden, um eine Anzeigevorrichtung anstelle eines oder zusätzlich zu einem Aktor zu steuern.
  • In einer weiteren Ausführungsform enthält das Steuersystem 12 den Sensor 16 anstelle der oder zusätzlich zu der computergesteuerten Maschine 10, die den Sensor 16 enthält. Das Steuersystem 12 kann außerdem den Aktor 14 anstelle der oder zusätzlich zu der computergesteuerten Maschine 10, die den Aktor 14 enthält, enthalten.
  • Wie in 5 gezeigt ist, enthält das Steuersystem 12 außerdem einen Prozessor 30 und einen Speicher 32. Der Prozessor 30 kann einen oder mehrere Prozessoren enthalten. Der Speicher 32 kann eine oder mehrere Speichervorrichtungen enthalten. Der Klassifizierer 24 (z. B. ML-Algorithmen) einer oder mehrerer Ausführungsformen kann durch das Steuersystem 12, das den nichtflüchtigen Speicher 26, den Prozessor 30 und den Speicher 32 enthält, implementiert sein.
  • Der nichtflüchtige Speicher 26 kann eine oder mehrere persistente Datenspeichervorrichtungen wie z. B. ein Festplattenlaufwerk, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Festkörpervorrichtung, Cloud-Speicher oder irgendeine andere Vorrichtung, die zum persistenten Speichern von Informationen fähig ist, enthalten. Der Prozessor 30 kann eine oder mehrere Vorrichtungen enthalten, die ausgewählt sind aus Hochleistungsrechen-Systemen (HPC-Systemen), die Hochleistungskerne, Mikroprozessoren, Mikrosteuereinheiten, digitale Signalprozessoren, Mikrocomputer, zentrale Verarbeitungseinheiten, im Feld programmierbare Gatter-Arrays, programmierbare Logikvorrichtungen, Zustandsautomaten, Logikschaltungen, analoge Schaltungen, digitale Schaltungen oder irgendwelche anderen Vorrichtungen, die Signale (analog oder digital) basierend auf computerausführbaren Anweisungen, die im Speicher 32 residieren, manipulieren, enthalten. Der Speicher 32 kann eine einzelne Speichervorrichtung oder eine Anzahl von Speichervorrichtungen enthalten, die, ohne jedoch darauf beschränkt zu sein, Direktzugriffsspeicher (RAM), flüchtigen Speicher, nichtflüchtigen Speicher, statischen Direktzugriffsspeicher (SRAM), dynamischen Direktzugriffsspeicher (DRAM), Flash-Speicher, Cache-Speicher oder irgendeine andere Vorrichtung, die zum Speichern von Informationen fähig ist, enthalten.
  • Der Prozessor 30 kann konfiguriert sein, in den Speicher 32 zu lesen und computerausführbare Anweisungen, die in dem nichtflüchtigen Speicher 26 residieren und einen oder mehrere ML-Algorithmen und/oder Methodiken einer oder mehrerer Ausführungsformen verkörpern, auszuführen. Der nichtflüchtige Speicher 26 kann ein oder mehrere Betriebssysteme und Anwendungen enthalten. Der nichtflüchtige Speicher 26 kann kompiliert und/oder interpretiert aus Computerprogrammen, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder Technologien erzeugt sind, die ohne Einschränkung entweder allein oder in Kombination Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl und PL/SQL enthalten, speichern.
  • Bei Ausführung durch den Prozessor 30 können die computerausführbaren Anweisungen des nichtflüchtigen Speichers 26 das Steuersystem 12 veranlassen, eine/n oder mehrere/n der ML-Algorithmen und/oder Methodiken, wie sie hier offenbart sind, zu implementieren. Der nichtflüchtige Speicher 26 kann außerdem ML-Daten (die Datenparameter enthalten), die die Funktionen, Merkmale und Prozesse der hier beschriebenen einen oder mehreren Ausführungsformen unterstützen, enthalten.
  • Der Programmcode, der die Algorithmen und/oder Methodiken, die hier beschrieben sind, verkörpert, ist fähig, individuell oder kollektiv als ein Programmprodukt in einer Vielzahl unterschiedlicher Formen verteilt zu werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums, das darauf computerlesbare Programmanweisungen zum Veranlassen eines Prozessors, Aspekte einer oder mehrerer Ausführungsformen auszuführen, aufweist, verteilt werden. Computerlesbare Speichermedien, die inhärent nicht-transitorisch sind, können flüchtige und nichtflüchtige und herausnehmbare und nicht herausnehmbare greifbare Medien, die in irgendeinem Verfahren oder Technologie zum Speichern von Informationen implementiert sind, wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten, enthalten. Computerlesbare Speichermedien können ferner RAM, ROM, löschbaren programmierbaren Festwertspeicher (EPROM), elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), Flash-Speicher oder andere Festkörperspeichertechnologie, tragbaren Compact-Disc-Festwertspeicher (CD-ROM) oder anderen optischen Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder irgendein anderes Medium, das verwendet werden kann, um gewünschte Informationen zu speichern, und das durch einen Computer gelesen werden kann, enthalten. Computerlesbare Programmanweisungen können zu einem Computer, einem anderen Typ einer programmierbaren Datenverarbeitungseinrichtung oder einer anderen Vorrichtung von einem computerlesbaren Speichermedium oder zu einem externen Computer oder einer externen Speichervorrichtung über ein Netz heruntergeladen werden.
  • Computerlesbare Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer oder andere Typen programmierbarer Datenverarbeitungseinrichtungen oder andere Vorrichtungen anzuweisen, auf eine spezielle Weise zu funktionieren, so dass die Anweisungen, die in dem computerlesbaren Medium gespeichert sind, ein Herstellungserzeugnis produzieren, das Anweisungen enthält, die die Funktionen, Aktionen und/oder Operationen, die in Ablaufplänen oder Diagrammen spezifiziert sind, implementieren. In speziellen alternativen Ausführungsformen können die Funktionen, Aktionen und/oder Operationen, die in den Ablaufplänen und Diagrammen spezifiziert sind, konsistent mit einer oder mehreren Ausführungsformen umgeordnet, der Reihe nach verarbeitet und/oder gleichzeitig verarbeitet werden. Außerdem können irgendwelche der Ablaufpläne und/oder Diagramme konsistent mit einer oder mehreren Ausführungsformen mehr oder weniger Knoten oder Blöcke als die dargestellten enthalten.
  • Die Prozesse, Verfahren oder Algorithmen können insgesamt oder teilweise unter Verwendung geeigneter Hardwarekomponenten wie z. B. anwendungsspezifischer integrierter Schaltungen (ASICs), im Feld programmierbarer Gatter-Arrays (FPGAs), Zustandsautomaten, Steuereinheiten oder anderer Hardwarekomponenten oder Vorrichtungen oder einer Kombination aus Hardware-, Software- und Firmware-Komponenten verwirklicht sein.
  • 6 bildet ein schematisches Diagramm des Steuersystems 12 ab, das konfiguriert ist, ein Fahrzeug 50, das ein wenigstens teilweise autonomes Fahrzeug oder ein wenigstens teilweise autonomer Roboter sein kann, zu steuern. Wie in 5 gezeigt ist, enthält das Fahrzeug 50 einen Aktor 14 und einen Sensor 16. Der Sensor 16 kann einen oder mehrere Videosensoren, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (z. B. GPS) enthalten. Eine oder mehrere aus dem einen oder den mehreren spezifischen Sensoren können in das Fahrzeug 50 integriert sein. Alternativ oder zusätzlich zu einem oder mehreren spezifischen Sensoren, die vorstehend identifiziert sind, kann der Sensor 16 ein Softwaremodul, das konfiguriert ist, bei Ausführung einen Zustand des Aktors 14 zu bestimmen, enthalten. Ein nicht einschränkendes Beispiel eines Softwaremoduls enthält ein Wetterinformations-Softwaremodul, das konfiguriert ist, einen derzeitigen oder zukünftigen Zustand des Wetter nahe dem Fahrzeug 50 oder einem anderen Ort zu bestimmen.
  • Der Klassifizierer 24 des Steuersystems 12 des Fahrzeugs 50 kann konfiguriert sein, Objekte in der Nähe des Fahrzeugs 50 abhängig von Eingabesignalen x zu detektieren. In einer solchen Ausführungsform kann das Ausgabesignal y Informationen enthalten, die die Nähe des Objekts zum Fahrzeug 50 charakterisieren. Der Aktorsteuerbefehl 20 kann in Übereinstimmung mit diesen Informationen bestimmt werden. Der Aktorsteuerbefehl 20 kann verwendet werden, um Kollisionen mit den detektierten Objekten zu vermeiden.
  • In Ausführungsformen, in denen das Fahrzeug 50 ein wenigstens teilweise autonomes Fahrzeug ist, kann der Aktor 14 in einer Bremse, einem Antriebssystem, einer Kraftmaschine, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 50 verwirklicht sein. Aktorsteuerbefehle 20 können so bestimmt werden, dass der Aktor 14 so gesteuert wird, dass das Fahrzeug 50 Kollisionen mit detektierten Objekten vermeidet. Detektierte Objekte können auch gemäß dem klassifiziert werden, für das es Klassifizierer 24 am wahrscheinlichsten hält, dass sie es sind, wie z. B. Fußgänger oder Bäume. Die Aktorsteuerbefehle 20 können abhängig von der Klassifizierung bestimmt werden.
  • In anderen Ausführungsformen, in denen das Fahrzeug 50 ein wenigstens teilweise autonomer Roboter ist, kann das Fahrzeug 50 ein mobiler Roboter sein, der konfiguriert ist, eine oder mehrere Funktionen auszuführen, wie z. B. Fliegen, Schwimmen und Schreiten. Der mobile Roboter kann ein wenigstens teilweise autonomer Rasenmäher oder ein wenigstens teilweise autonomer Reinigungsroboter sein. In solchen Ausführungsformen kann der Aktorsteuerbefehl 20 so bestimmt werden, dass die Antriebseinheit, die Lenkeinheit und/oder die Bremseinheit des mobilen Roboters so gesteuert werden kann, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • In einer weiteren Ausführungsform ist das Fahrzeug 50 ein wenigstens teilweise autonomer Roboter in der Form eines Gartenarbeitsroboters. In einer solchen Ausführungsform kann das Fahrzeug 50 einen optischen Sensor als den Sensor 16 verwenden, um einen Zustand von Pflanzen in einer Umgebung nahe dem Fahrzeug 50 zu bestimmen. Der Aktor 14 kann eine Düse sein, die konfiguriert ist, Chemikalien zu sprühen. Abhängig von den identifizierten Spezies und/oder einem identifizierten Zustand der Pflanzen kann der Aktorsteuerbefehl 20 bestimmt werden, um den Aktor 14 zu veranlassen, die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien zu besprühen.
  • Das Fahrzeug 50 kann ein wenigstens teilweise autonomer Roboter in der Form eines Haushaltsgeräts sein. Nicht einschränkende Beispiele für Haushaltsgerät enthalten eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler. In einem solchen Fahrzeug 50 kann der Sensor 16 ein optischer Sensor sein, der konfiguriert ist, einen Zustand eines Objekts, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll, zu detektieren. Beispielsweise in dem Fall, in dem das Haushaltsgerät eine Waschmaschine ist, kann der Sensor 16 einen Zustand der Wäsche in der Waschmaschine detektieren. Der Aktorsteuerbefehl 20 kann basierend auf dem detektierten Zustand der Wäsche bestimmt werden.
  • 7 bildet ein schematisches Diagramm des Steuersystems 12 ab, das konfiguriert ist, ein System 100 (z. B. eine Produktionsmaschine) wie z. B. ein Stanzwerkzeug, ein Schneidewerkzeug oder einen Tieflochbohrer, des Produktionssystems 102, wie z. B. den Teil einer Fertigungsanlage, zu steuern. Das Steuersystem 12 kann konfiguriert sein, den Aktor 14 zu steuern, der konfiguriert ist das System 100 (z. B. die Produktionsmaschine) zu steuern
  • Der Sensor 16 des Systems 100 (z. B. der Produktionsmaschine) kann ein optischer Sensor sein, der konfiguriert ist, eine oder mehrere Eigenschaften des hergestellten Produkts 104 zu erfassen. Der Klassifizierer 24 kann konfiguriert sein, einen Zustand des hergestellten Produkts 104 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Aktor 14 kann konfiguriert sein, das System 100 (z. B. die Produktionsmaschine) abhängig von dem bestimmten Zustand des hergestellten Produkts 104 für einen nachfolgenden Produktionsschritt des hergestellten Produkts 104 zu steuern. Der Aktor 14 kann konfiguriert sein, Funktionen des Systems 100 (z. B. der Produktionsmaschine) auf dem nachfolgenden hergestellten Produkt 106 des Systems 100 (z. B. der Produktionsmaschine) abhängig von dem bestimmten Zustand des hergestellten Produkts 104 zu steuern.
  • 8 bildet ein schematisches Diagramm des Steuersystems 12 ab, das konfiguriert ist, ein Elektrowerkzeug 150, wie z. B. eine Bohrmaschine oder einen Antrieb, der eine wenigstens teilweise autonome Betriebsart aufweist, zu steuern. Das Steuersystem 12 kann konfiguriert sein, den Aktor 14 zu steuern, der konfiguriert ist, das Elektrowerkzeug 150 zu steuern.
  • Der Sensor 16 des Elektrowerkzeugs 150 kann ein optischer Sensor sein, der konfiguriert ist, eine oder mehrere Eigenschaften der Arbeitsfläche 152 und/oder des Befestigungselements 154, das in die Arbeitsfläche 152 getrieben wird, zu erfassen. Der Klassifizierer 24 kann konfiguriert sein, einen Zustand der Arbeitsfläche 152 und/oder des Befestigungselements 154 relativ zu der Arbeitsfläche 152 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Zustand kann sein, 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 Aktor 14 kann konfiguriert sein, das Elektrowerkzeug 150 zu steuern, so dass die Antriebsfunktion des Elektrowerkzeugs 150 abhängig von dem bestimmten Zustand des Befestigungselements 154 relativ zu der Arbeitsfläche 152 oder einer oder mehreren erfassten Eigenschaften der Arbeitsfläche 152 angepasst wird. Beispielsweise kann der Aktor 14 die Antriebsfunktion anhalten, falls der Zustand des Befestigungselements 154 relativ zu der Arbeitsfläche 152 bündig ist. Als ein weiteres nicht einschränkendes Beispiel kann der Aktor 14 zusätzliches oder weniger Drehmoment anwenden, abhängig von der Härte der Arbeitsfläche 152.
  • 9 bildet ein schematisches Diagramm des Steuersystems 12 ab, das konfiguriert ist einen automatischen persönlichen Assistenten 900 zu steuern. Das Steuersystem 12 kann konfiguriert sein, den Aktor 14 zu steuern, der konfiguriert ist, den automatischen persönlichen Assistenten 900 zu steuern. Der automatische persönliche Assistent 900 kann konfiguriert sein, ein Haushaltsgerät wie z. B. eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder einen Geschirrspüler zu steuern.
  • Der Sensor 16 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann konfiguriert sein, Videobilder von Gesten 904 des Anwenders 902 zu empfangen. Der Audiosensor kann konfiguriert sein, Sprachbefehle des Anwenders 902 zu empfangen.
  • Das Steuersystem 12 des automatischen persönlichen Assistenten 900 kann konfiguriert sein, Aktorsteuerbefehle 20, die konfiguriert sind, das System 12 zu steuern, zu bestimmen. Das Steuersystem 12 kann konfiguriert sein, Aktorsteuerbefehle 20 in Übereinstimmung mit Sensorsignalen 18 des Sensors 16 zu bestimmen. Der automatische persönliche Assistent 900 ist konfiguriert, Sensorsignale 18 zu dem Steuersystem 12 zu senden. Der Klassifizierer 24 des Steuersystems 12 kann konfiguriert sein, einen Gestenerkennungsalgorithmus auszuführen, um Gesten 904, die durch einen Anwender 902 gemacht werden, zu identifizieren, um Aktorsteuerbefehle 20 zu bestimmen, und die Aktorsteuerbefehle 20 zu dem Aktor 14 zu senden. Der Klassifizierer 24 kann konfiguriert sein, Informationen aus einem nichtflüchtigen Speicher in Reaktion auf die Geste 904 abzurufen und die abgerufenen Informationen in einer für den Empfang durch den Anwender 902 geeigneten Form auszugeben.
  • 10 bildet ein schematisches Diagramm des Steuersystems 12 ab, das konfiguriert ist das Überwachungssystem 250 zu steuern. Das Überwachungssystem 250 kann konfiguriert sein, den Zugang durch die Tür 252 physikalisch zu steuern. Der Sensor 16 kann konfiguriert sein, eine Szene zu detektieren, die für die Entscheidung, ob der Zugang gewährt wird, relevant ist. Der Sensor 16 kann ein optischer Sensor sein, der konfiguriert ist, Bild- und/oder Videodaten zu erzeugen und zu senden. Solche Daten können durch das Steuersystem 12 verwendet werden, um das Gesicht einer Person zu detektieren.
  • Der Klassifizierer 24 des Steuersystems 12 des Überwachungssystems 250 kann konfiguriert sein, die Bild- und/oder Videodaten durch Abgleichen von Identitäten bekannter Menschen, die im nichtflüchtigen Speicher 26 gespeichert sind, zu interpretieren, und dadurch eine Identität einer Person bestimmen. Der Klassifizierer 24 kann konfiguriert sein, einen Aktorsteuerbefehl 20 in Reaktion auf die Interpretation der Bild- und/oder Videodaten zu erzeugen. Das Steuersystem 12 ist konfiguriert, den Aktorsteuerbefehl 20 zu dem Aktor 14 zu senden. In dieser Ausführungsform kann der Aktor 14 konfiguriert sein, die Tür 252 in Reaktion auf den Aktorsteuerbefehl 20 zu sperren oder zu entsperren. In anderen Ausführungsformen ist auch eine nicht physikalische, logische Zugangssteuerung möglich.
  • Das Überwachungssystem 250 kann auch ein Beobachtungssystem sein. In einer solchen Ausführungsform kann der Sensor 16 ein optischer Sensor sein, der konfiguriert ist, eine Szene zu detektieren, die unter Beobachtung ist, und das Steuersystem 12 ist konfiguriert, die Anzeigevorrichtung 254 zu steuern. Der Klassifizierer 24 ist konfiguriert, eine Klassifizierung einer Szene zu bestimmen, z. B. ob die durch den Sensor 16 detektierte Szene verdächtig ist. Das Steuersystem 12 ist konfiguriert, einen Aktorsteuerbefehl 20 zu der Anzeigevorrichtung 254 in Reaktion auf die Klassifizierung zu senden. Die Anzeigevorrichtung 254 kann konfiguriert sein, den angezeigten Inhalt in Reaktion auf den Aktorsteuerbefehl 20 anzupassen. Beispielsweise kann die Anzeigevorrichtung 254 ein Objekt, das durch den Klassifizierer 24 für verdächtig gehalten wird, hervorheben.
  • 11 bildet ein schematisches Diagramm des Steuersystems 12 ab, das konfiguriert ist, ein Bildaufnahmesystem 1100, beispielsweise eine MRI-Einrichtung, Röntgen-Bildaufnahmeeinrichtung oder Ultraschalleinrichtung, zu steuern. Der Sensor 16 kann beispielsweise ein Bildaufnahmesensor sein. Der Klassifizierer 24 kann konfiguriert sein, eine Klassifizierung des gesamten oder eines Teils des erfassten Bilds zu bestimmen. Der Klassifizierer 24 kann konfiguriert sein, einen Aktorsteuerbefehl 20 in Reaktion auf die Klassifizierung, die durch das trainierte neuronale Netz erhalten wird, zu bestimmen oder auszuwählen. Beispielsweise kann der Klassifizierer 24 ein Gebiet eines erfassten Bilds als potentiell anomal interpretieren. In diesem Fall kann der Aktorsteuerbefehl 20 bestimmt oder ausgewählt werden, um zu veranlassen, dass die Anzeigevorrichtung 302 die Bildaufnahme anzeigt und das potentiell anomale Gebiet hervorhebt.
  • Die Prozesse, Verfahren oder Algorithmen, die hier offenbart sind, können an eine Verarbeitungsvorrichtung, eine Steuereinheit oder einen Computer, die/der irgendeine existierende programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit enthalten kann, lieferbar sein oder durch sie/ihn implementiert werden. Ähnlich können die Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen, die durch eine Steuereinheit oder einen Computer ausführbar sind, in vielen Formen gespeichert sein, die, ohne jedoch darauf beschränkt zu sein, Informationen, die permanent in nicht beschreibbaren Speichermedien wie z. B. ROM-Vorrichtungen gespeichert sind, und Informationen, die auf beschreibbaren Speichermedien wie z. B. Floppy-Disks, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien gespeichert sind, enthalten. Die Prozesse, Verfahren oder Algorithmen können auch in einem als Software ausführbaren Objekt implementiert sein. Alternativ können die Prozesse, Verfahren oder Algorithmen insgesamt oder teilweise unter Verwendung geeigneter Hardwarekomponenten, wie z. B. anwendungsspezifischer integrierter Schaltungen (ASICs), im Feld programmierbarer Gatter-Arrays (FPGAs), Zustandsautomaten, Steuereinheiten oder anderer Hardwarekomponenten oder Vorrichtungen oder einer Kombination aus Hardware-, Software- und Firmware-Komponenten, verwirklicht sein.
  • Obwohl beispielhafte Ausführungsformen vorstehend beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen, die durch die Ansprüche eingeschlossen sind, beschreiben. Die Sprache, die in der Spezifikation verwendet ist, ist eher die Sprache der Beschreibung als der Einschränkung, und es ist zu verstehen, dass verschiedene Änderungen vorgenommen werden können, ohne von dem Geist und dem Schutzbereich der Offenbarung abzuweichen. Die vorstehend beschrieben können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung, die nicht ausdrücklich beschrieben oder dargestellt sind, zu bilden. Obwohl verschiedene Ausführungsformen so beschrieben worden sein könnten, dass sie Vorteile bereitstellen oder dass sie gegenüber anderen Ausführungsformen oder Implementierungen aus dem Stand der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften bevorzugt sind, erkennen normale Fachleute, dass ein oder mehrere Merkmale oder Eigenschaften einen Kompromiss bilden können, um gewünschte Attribute des Gesamtsystems, die von der spezifischen Anwendung und Implementierung abhängen, zu erreichen. Diese Attribute können, ohne jedoch darauf beschränkt zu sein, Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Vermarktbarkeit, äußere Form, Verpackung, Größe, Bedienbarkeit, Gewicht, Herstellbarkeit, Einfachheit der Montage usw. enthalten. Somit sind in dem Umfang, in dem irgendwelche Ausführungsformen als weniger wünschenswert als andere Ausführungsformen oder Implementierungen aus dem Stand der Technik in Bezug auf eine oder mehrere Eigenschaften beschrieben sind, diese Ausführungsformen nicht außerhalb des Schutzbereichs der Offenbarung und können für spezielle Anwendungen wünschenswert sein.

Claims (20)

  1. Computerimplementiertes Verfahren für eine Klassifizierung und zum Trainieren eines neuronalen Netzes, das Folgendes umfasst: Empfangen einer Eingabe in dem neuronalen Netz, wobei die Eingabe mehrere Auflösungseingaben mit variierenden Auflösungen enthält; Ausgeben mehrerer Merkmalstensoren für jede entsprechende Auflösung der mehreren Auflösungseingaben; Vereinigen der mehreren Merkmalstensoren unter Verwendung von Aufwärtsabtastung oder Abwärtsabtastung der entsprechenden Auflösungen, Verwenden eines Gleichgewichtsauflösers, um einen oder mehrere Vorhersagevektoren aus den mehreren Merkmalstensoren zu identifizieren, und Ausgeben eines Verlusts in Reaktion auf den einen oder die mehreren Vorhersagevektoren.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Ausgeben des Verlusts in Reaktion auf eine Rückpropagierungssequenz unter Verwendung nur einer einzigen Schicht ist.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei die mehreren Auflösungseingaben jeweils einen entsprechenden Residuumblock für diese spezifische Auflösung eingeben.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Eingabe mehrere Auflösungseingaben, die Pixelbilder unterschiedlicher Größe beinhalten, enthält.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Verfahren das Verwenden von mehreren Residuumblöcken zum Ausgeben eines Merkmalstensors für jede entsprechende Auflösung aus den mehreren Auflösungseingaben enthält.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei einer der Merkmalstensoren, der einer höchsten Auflösung der mehreren Auflösungseingaben entspricht, nur abwärtsabgetastet wird.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei einer der Merkmalstensoren, der einer niedrigsten Auflösung der mehreren Auflösungseingaben entspricht, nur aufwärtsabgetastet wird.
  8. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Vereinigen der mehreren Merkmalstensoren in einer einzigen Schicht durchgeführt wird.
  9. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Abwärtsabtastung durch eine zweidimensionale 2-Schritt-3-mal-3-Faltungsschicht ausgeführt wird.
  10. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Aufwärtsabtastung durch eine 1-mal-1-Faltung gefolgt von bilinearer Interpolation ausgeführt wird.
  11. Computerimplementiertes Verfahren für eine Klassifizierung einer Eingabe in ein neuronales Netz, das Folgendes umfasst: Empfangen einer Eingabe in dem neuronalen Netz, wobei die Eingabe mehrere Auflösungseingaben enthält; Identifizieren von Merkmalstensoren für jede entsprechende Auflösung der mehreren Auflösungseingaben; Eingeben der Merkmalstensoren für jede entsprechende Auflösung in einen entsprechenden Residuumblock; und Verwenden eines Gleichgewichtsauflösers, um einen oder mehrere Vorhersagevektoren aus den Merkmalstensoren zu identifizieren, um eine Klassifizierung der Eingabe auszugeben.
  12. Computerimplementiertes Verfahren nach Anspruch 11, wobei das Verfahren das Vereinigen der Merkmalstensoren für jeden entsprechenden Residuumblock durch Abwärtsabtastung oder Aufwärtsabtastung enthält.
  13. Computerimplementiertes Verfahren nach Anspruch 11, wobei die Eingabe ein Bild ist und die mehreren Auflösungseingaben variierende Auflösungen des Bilds sind.
  14. Computerimplementiertes Verfahren nach Anspruch 11, wobei das neuronale Netz nur eine einzige Schicht enthält.
  15. Computerimplementiertes Verfahren nach Anspruch 11, wobei das Verfahren das Anwenden von Gruppennormalisierung, um die mehreren Auflösungseingaben zu gruppieren und Normalisierung innerhalb jeder entsprechenden Auflösung auszuführen, enthält.
  16. Computerimplementiertes Verfahren nach Anspruch 11, wobei das Verfahren das Ausgeben eines Verlusts in Reaktion auf den einen oder die mehreren Vorhersagevektoren, die das neuronale Netz unter Verwendung einer Rückpropagierung trainieren, enthält, wobei die Rückpropagierung das Identifizieren einer Ableitung eines Verlusts, der Hyperparametern des neuronalen Netzes zugeordnet ist, enthält.
  17. Computerimplementiertes Verfahren nach Anspruch 11, wobei das Verfahren das Vereinigen der Merkmalstensoren unter Verwendung von Aufwärtsabtastung oder Abwärtsabtastung für jede entsprechende Auflösung enthält.
  18. System, das ein neuronales Netz enthält, das Folgendes umfasst: eine Eingabeschnittstelle zum Zugreifen auf Eingabedaten für das neuronale Netz; und einen Prozessor in Kommunikation mit der Eingabeschnittstelle, wobei der Prozessor programmiert ist zum: Empfangen der Eingabedaten in dem neuronalen Netz, wobei die Eingabe mehrere Auflösungseingaben mit variierenden Auflösungen enthält; Ausgeben von mehreren Merkmalstensoren für jede entsprechende Auflösung der mehreren Auflösungseingaben; Vereinigen der mehreren Merkmalstensoren unter Verwendung von Aufwärtsabtastung oder Abwärtsabtastung; Verwenden eines Gleichgewichtsauflösers, um einen Vorhersagevektor in Reaktion auf die mehreren Merkmalstensoren zu identifizieren, wobei der Vorhersagevektor Merkmale, die jedem der mehreren Merkmalstensoren zugeordnet sind, enthält; und Ausgeben des Vorhersagevektors als eine Klassifizierung der Eingabedaten.
  19. System nach Anspruch 18, wobei die Eingabedaten ein Bild enthalten und die mehreren Auflösungseingaben variierende Auflösungen des Bilds enthalten.
  20. System nach Anspruch 18, wobei jeder der mehreren Merkmalstensoren für jede entsprechende Auflösung zu einem entsprechenden Residuumblock gesendet wird.
DE102021205722.5A 2020-06-08 2021-06-07 System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht Pending DE102021205722A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/895,683 2020-06-08
US16/895,683 US11610129B2 (en) 2020-06-08 2020-06-08 System and method for multiscale deep equilibrium models

Publications (1)

Publication Number Publication Date
DE102021205722A1 true DE102021205722A1 (de) 2021-12-09

Family

ID=78605381

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021205722.5A Pending DE102021205722A1 (de) 2020-06-08 2021-06-07 System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht

Country Status (4)

Country Link
US (1) US11610129B2 (de)
KR (1) KR102597787B1 (de)
CN (1) CN113837375A (de)
DE (1) DE102021205722A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11724707B2 (en) * 2020-07-08 2023-08-15 Magna Electronics Inc. Vehicular control system with automatic stack clearing of stack frame
JP2022135701A (ja) * 2021-03-05 2022-09-15 株式会社東芝 学習装置、方法およびプログラム
WO2023116155A1 (zh) * 2021-12-23 2023-06-29 大唐移动通信设备有限公司 神经网络操作方法、装置及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11011257B2 (en) * 2018-11-21 2021-05-18 Enlitic, Inc. Multi-label heat map display system
US10891537B2 (en) * 2019-03-20 2021-01-12 Huawei Technologies Co., Ltd. Convolutional neural network-based image processing method and image processing apparatus
US11468276B2 (en) * 2020-04-16 2022-10-11 Robert Bosch Gmbh System and method of a monotone operator neural network

Also Published As

Publication number Publication date
KR20210152404A (ko) 2021-12-15
CN113837375A (zh) 2021-12-24
US20210383234A1 (en) 2021-12-09
KR102597787B1 (ko) 2023-11-06
US11610129B2 (en) 2023-03-21

Similar Documents

Publication Publication Date Title
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE69634221T2 (de) Verfahren und Gerät zur Verarbeitung visueller Information
DE112017002154T5 (de) Mobiler Roboter und Steuerverfahren für einen mobilen Roboter
DE112020003498T5 (de) Erzeugung von trainings- und validierungsdaten für maschinelles lernen
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
WO2020094534A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes, künstliches neuronales netz, verwendung eines künstlichen neuronalen netzes sowie entsprechendes computerprogramm, maschinenlesbares speichermedium und entsprechende vorrichtung
DE202019105282U1 (de) Vorrichtung zum Optimieren eines System für das maschinelle Lernen
Farag Safe-driving cloning by deep learning for autonomous cars
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE102023102316A1 (de) System und verfahren zur robusten erzeugung von pseudo-labels für die halb-überwachte objekterkennung
DE112020003446T5 (de) Validierung einer Leistung eines neuronalen Netzes, das mit markierten Trainingsdaten trainiert wurde
DE102018220892A1 (de) Vorrichtung und Verfahren zur Generierung von Labelobjekten für die Umgebung eines Fahrzeugs
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102020215200A1 (de) System und verfahren eines verfahrens für robustes aktives lernen unter verwendung von verrauschten labels und domänenadaption
DE102021200348A1 (de) Computerimplementiertes verfahren zum trainieren eines computervisionsmodells
DE102020200499A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, unter Verwendung ungelabelter, partitionierter Stichproben
DE102021204943A1 (de) Meta-gelehrte evolutionsstrategie-blackbox-optimierungsklassifizierer
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE102019217952A1 (de) Verfahren und Vorrichtung zum Bereitstellen eines Trainingsdatensatzes zum Trainieren einer KI-Funktion auf eine unbekannte Datendomäne
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe
DE102021205034A1 (de) Trainieren eines maschinenlernfähigen modells zur schätzung des relativen objektmassstabs
DE102023209384A1 (de) System und verfahren zur verteilungsbewussten zielvorhersage für modulare autonome fahrzeugsteuerung

Legal Events

Date Code Title Description
R012 Request for examination validly filed