DE102021109382A1 - System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet - Google Patents

System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet Download PDF

Info

Publication number
DE102021109382A1
DE102021109382A1 DE102021109382.1A DE102021109382A DE102021109382A1 DE 102021109382 A1 DE102021109382 A1 DE 102021109382A1 DE 102021109382 A DE102021109382 A DE 102021109382A DE 102021109382 A1 DE102021109382 A1 DE 102021109382A1
Authority
DE
Germany
Prior art keywords
neural network
computer
input
propagation
implemented method
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
DE102021109382.1A
Other languages
English (en)
Inventor
wird später genannt werden Erfinder
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 DE102021109382A1 publication Critical patent/DE102021109382A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

Ein System zum Trainieren einer neuronalen Arbeit, das eine Eingangsschnittstelle zum Zugreifen auf Eingangsdaten für das neuronale Netz und einen Prozessor in Kommunikation mit der Eingangsschnittstelle umfasst. Der Prozessor ist dazu programmiert, eine Eingabe am neuronalen Netz zu empfangen und ein trainiertes neuronales Netz unter Verwendung einer Vorwärtsausbreitung und einer Rückwärtsausbreitung auszugeben, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem oder mehreren Parametern des neuronalen Netzes zugeordnet ist, wobei die Rückwärtsausbreitung das Identifizieren einer Ableitung eines Verlusts umfasst, der den Parametern des Netzes zugeordnet ist.

Description

  • Die vorliegende Offenbarung bezieht sich auf Computersysteme, die die Fähigkeit für künstliche Intelligenz aufweisen, einschließlich neuronaler Netze.
  • HINTERGRUND
  • Das allgemeine Ziel eines DEQ-Modells (Modell tiefen Gleichgewichts) kann darin bestehen, eine gewisse Vorwärtsfunktion ƒ zu definieren, so dass der Vorwärtsdurchlauf des Netzes durch zuerst Auflösen nach einem Gleichgewichtspunkt z* = ƒ(z*, x; θ) gegeben ist. Der Rückwärtsdurchlauf kann weitgehend dem Multiplizieren mit der Jacobi-Matrix z * θ
    Figure DE102021109382A1_0001
    entsprechen, die in ihrer exakten Form die Lösung eines linearen Systems erfordert. Es gibt drei Hauptherausforderungen bei der Entwicklung eines DEQ-Modells. Eine kann das Definieren von ƒ derart, dass der Fixpunkt z* existiert und idealerweise eindeutig ist, sein. Die zweite kann das Definieren einer Nullstellenauffindungsprozedur sein, die den Fixpunkt z* im Vorwärtsdurchlauf auffinden kann. Die dritte kann das Definieren eines Rückwärtsdurchlaufs sein, um die Multiplikation mit der Jacobi-Matrix z * θ
    Figure DE102021109382A1_0002
    zu lösen.
  • ZUSAMMENFASSUNG
  • Gemäß einer Ausführungsform umfasst ein computerimplementiertes Verfahren zum Vorhersagen einer Klassifikation und zum Trainieren einer neuronalen Arbeit das Empfangen einer Eingabe am neuronalen Netz, das Klassifizieren der Eingabe des neuronalen Netzes unter Verwendung einer Vorwärtsausbreitung, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem oder mehreren Parametern des neuronalen Netzes zugeordnet ist, das Berechnen eines Vektors unter Verwendung einer linearen Transformation des Fixpunkts, das Ausgeben der Klassifikation der Eingabe in Reaktion auf ein maximales Element des Vektors und das Trainieren des neuronalen Netzes unter Verwendung einer Rückwärtsausbreitung, wobei die Rückwärtsausbreitung das Identifizieren einer Ableitung eines Verlusts umfasst, der den Parametern des Netzes zugeordnet ist.
  • Gemäß einer zweiten Ausführungsform umfasst ein computerimplementiertes Verfahren für eine Klassifikation einer Eingabe in ein neuronales Netz das Empfangen einer Eingabe am neuronalen Netz, das Identifizieren einer Klassifikation der Eingabe am neuronalen Netz unter Verwendung einer Vorwärtsausbreitung, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem Parameter des neuronalen Netzes zugeordnet ist, das Berechnen eines Vektors unter Verwendung einer linearen Transformation des Fixpunkts und das Ausgeben der Klassifikation der Eingabe in Reaktion auf ein maximales Element des Vektors.
  • Gemäß einer dritten Ausführungsform umfasst ein System zum Trainieren einer neuronalen Arbeit eine Eingangsschnittstelle zum Zugreifen auf Eingangsdaten für das neuronale Netz und einen Prozessor in Kommunikation mit der Eingangsschnittstelle. Der Prozessor ist dazu programmiert, eine Eingabe am neuronalen Netz zu empfangen und ein trainiertes neuronales Netz unter Verwendung einer Vorwärtsausbreitung und einer Rückwärtsausbreitung auszugeben, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem oder mehreren Parametern des neuronalen Netzes zugeordnet ist, wobei die Rückwärtsausbreitung das Identifizieren einer Ableitung eines Verlusts umfasst, der den Parametern des Netzes zugeordnet ist.
  • Figurenliste
    • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes.
    • 3 stellt einen Ablaufplan 300 eines Klassifikationsprozesses eines monotonen Netzes dar.
    • 4 stellt einen Ablaufplan 400 eines Trainingsprozesses eines monotonen Netzes dar.
    • 5 stellt ein schematisches Diagramm einer Wechselwirkung zwischen einer computergesteuerten Maschine 10 und einem Steuersystem 12 dar.
    • 6 stellt ein schematisches Diagramm des Steuersystems von 1 dar, das dazu konfiguriert ist, ein Fahrzeug zu steuern, das ein teilweise autonomes Fahrzeug oder ein teilweise autonomer Roboter sein kann.
    • 7 stellt ein schematisches Diagramm des Steuersystems von 1 dar, das dazu konfiguriert ist, eine Fertigungsmaschine wie z. B. einen Stanzschneider, einen Schneider oder einen Tieflochbohrer eines Fertigungssystems wie z. B. eines Teils einer Produktionsline zu steuern.
    • 8 stellt ein schematisches Diagramm des Steuersystems von 1 dar, das dazu konfiguriert ist, ein Elektrowerkzeug, wie z. B. eine elektrische Bohrmaschine oder einen Kraftschrauber, das einen zumindest teilweise autonomen Modus aufweist, zu steuern.
    • 9 stellt ein schematisches Diagramm des Steuersystems von 1 dar, das dazu konfiguriert ist, einen automatisierten persönlichen Assistenten zu steuern.
    • 10 stellt ein schematisches Diagramm des Steuersystems von 1 dar, das dazu konfiguriert ist, ein Überwachungssystem wie z. B. ein Steuerzugangssystem oder ein Beobachtungssystem zu steuern.
    • 11 stellt ein schematisches Diagramm des Steuersystems von 1 dar, das dazu konfiguriert ist, ein Abbildungssystem, beispielsweise eine MRI-Einrichtung, eine Röntgenstrahlabbildungseinrichtung oder eine Ultraschalleinrichtung, zu steuern.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung werden hier beschrieben. Selbstverständlich sind jedoch die offenbarten Ausführungsformen nur Beispiele und andere Ausführungsformen können verschiedene und alternative Formen annehmen. Die Figuren sind nicht notwendigerweise maßstäblich; einige Merkmale könnten übertrieben oder minimiert sein, um Details von speziellen Komponenten zu zeigen. Daher sollen hier offenbarte spezielle Struktur- und Funktionsdetails nicht als Begrenzung, sondern lediglich als repräsentative Basis zum Lehren eines Fachmanns auf dem Gebiet, die Ausführungsformen verschiedenartig einzusetzen, interpretiert werden. Wie der Fachmann auf dem Gebiet versteht, können verschiedene Merkmale, die mit Bezug auf irgendeine der Figuren dargestellt und beschrieben werden, mit Merkmalen kombiniert werden, die in einer oder mehreren anderen Figuren dargestellt sind, um Ausführungsformen zu erzeugen, die nicht explizit dargestellt oder beschrieben sind. Die dargestellten Kombinationen von Merkmalen schaffen repräsentative Ausführungsformen für typische Anwendungen. 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 vorherigen DEQ-Modellen kann das Definieren einer Funktion mit einem Fixpunkt heuristisch unter Verwendung von Netzstrukturen durchgeführt werden, die empirisch stabile Fixpunkte zu erzeugen scheinen. Dies kann die Verwendung von existierenden Architekturen im Transformatorstil oder von existierenden faltenden Architekturen mit geeigneter Schichtnormierung umfassen, um zu versuchen, ein stabiles System zu schaffen. Solche Schichten sind jedoch nicht mit formalen Garantien für die Existenz eines Fixpunkts ausgestattet. Für eine Nullstellenauffindungsprozedur kann das DEQ ein nicht-lineares Broyden-Verfahren verwenden, von dem auch nicht garantiert ist, dass es eine Nullstelle findet (selbst wenn eine Nullstelle oder ein Fixpunkt existiert). Außerdem kann der Rückwärtsdurchlauf ein ähnliches Broyden-Verfahren für eine lineare Lösung verwenden, von dem garantiert werden kann, dass es mit der geeigneten Inversen multipliziert, wenn sie existiert, aber die Jacobi-Matrix entspricht keiner sinnvollen Ableitung, wenn der Fixpunkt nicht existiert oder wenn es dem Vorwärtsdurchlauf misslingt zu konvergieren.
  • Das monotone Operatornetz kann eine spezielle Form eines DEQ-Modells sein, die viel bessere Lösungen für die drei vorstehend identifizierten Herausforderungen bereitstellt. Insbesondere zum Definieren einer Funktion mit einem Fixpunkt verwendet das monotone Operatornetz eine spezielle parametrisierte Form der Funktion f, die die Existenz und Eindeutigkeit eines Fixpunkts garantieren kann. Durch Anwenden der Werkzeuge der monotonen Operatortheorie kann das System zwei verschiedene iterative Prozeduren ableiten, die den Gleichgewichtspunkt des Systems finden. Es kann immer garantiert werden, dass diese Prozeduren auf den Gleichgewichtspunkt konvergieren. Das System kann einen ähnlichen Satz von Algorithmen formulieren, um den Rückwärtsdurchlauf durchzuführen.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingangsschnittstelle zum Zugreifen auf Trainingsdaten 192 für das neuronale Netz umfassen. Wie in 1 dargestellt, kann die Eingangsschnittstelle beispielsweise durch eine Datenspeicherschnittstelle 180 konfiguriert sein, die auf die Trainingsdaten 192 von einem Datenspeicher 190 zugreifen kann. Die Datenspeicherschnittstelle 180 kann beispielsweise eine Arbeitsspeicherschnittstelle oder eine Schnittstelle 30 eines dauerhaften Speichers sein, z. B. eine Festplatten- oder eine SSD-Schnittstelle, aber auch eine Schnittstelle eines persönlichen, lokalen oder weiträumigen Netzes wie z. B. eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder faseroptische Schnittstelle. Der Datenspeicher 190 kann ein interner Datenspeicher des Systems 100 sein, wie z. B. eine Festplattenlaufwerk oder SSD, aber auch ein externer Datenspeicher, z. B. ein für das Netz zugänglicher Datenspeicher.
  • In einigen Ausführungsformen kann der Datenspeicher 190 ferner eine Datendarstellung 194 einer untrainierten Version des neuronalen Netzes umfassen, auf die durch das System 100 vom Datenspeicher 190 zugegriffen werden kann. Es ist jedoch zu erkennen, dass auf die Trainingsdaten 192 und die Datendarstellung 194 des untrainierten neuronalen Netzes auch jeweils von einem anderen Datenspeicher, z. B. über ein anderes Untersystem der Schnittstelle 180 des Datenspeichers 5, zugegriffen werden kann. Jedes Untersystem kann von einem Typ sein, wie vorstehend für die Datenspeicherschnittstelle 180 beschrieben ist. In anderen Ausführungsformen kann die Datendarstellung 194 des untrainierten neuronalen Netzes intern durch das System 100 auf der Basis von Entwurfsparametern für das neuronale Netz erzeugt werden, und kann daher nicht explizit auf dem Datenspeicher 190 gespeichert sein. Das System 100 kann ferner ein Prozessoruntersystem 160 umfassen, das dazu konfiguriert sein kann, während des Betriebs des Systems 100 eine iterative Funktion als Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes bereitzustellen. Hier können jeweilige Schichten des Stapels von Schichten, die ersetzt werden, miteinander geteilte Gewichte aufweisen und können als Eingabe eine Ausgabe einer vorherigen Schicht oder für eine erste Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten empfangen. Das Prozessoruntersystem 160 kann ferner dazu konfiguriert sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Hier kann eine Iteration des Trainings durch das Prozessoruntersystem 160 einen Vorwärtsausbreitungsteil und einen Rückwärtsausbreitungsteil umfassen. Das Prozessoruntersystem 160 kann dazu konfiguriert sein, den Vorwärtsausbreitungsteil unter anderen Operationen durch Definieren des Vorwärtsausbreitungsteils, der durchgeführt werden kann, Bestimmen eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion auf einen Fixpunkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts die Verwendung eines numerischen Nullstellenauffindungsalgorithmus umfasst, um eine Nullstellenlösung für die iterative Funktion minus ihre Eingabe zu finden, und durch Bereitstellen des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten im neuronalen Netz durchzuführen. Das System 100 kann ferner eine Ausgangsschnittstelle zum Ausgeben einer Datendarstellung 196 des trainierten neuronalen Netzes umfassen, diese Daten können auch als Daten 196 des trainierten Modells bezeichnet werden. Wie auch in 1 dargestellt, kann beispielsweise die Ausgangsschnittstelle durch die Datenspeicherschnittstelle 180 gebildet sein, wobei die Schnittstelle in diesen Ausführungsformen eine Eingangs/Ausgangs-Schnittstelle („IO“-Schnittstelle) ist, über die die Daten 196 des trainierten Modells im Datenspeicher 190 gespeichert werden können. Die Datendarstellung 194, die das „untrainierte“ neuronale Netz definiert, können beispielsweise während des oder nach dem Training zumindest teilweise durch die Datendarstellung 196 des trainierten neuronalen Netzes ersetzt werden, indem die Parameter des neuronalen Netzes wie z. B. Gewichte, Hyperparameter und andere Typen von Parametern des neuronalen Netzes angepasst werden können, um das Training an den Trainingsdaten 192 widerzuspiegeln. Dies ist auch in 1 durch die Bezugszeichen 194, 196 dargestellt, die sich auf denselben Datensatz auf dem Datenspeicher 190 beziehen. In anderen Ausführungsformen kann die Datendarstellung 196 separat von der Datendarstellung 194 gespeichert werden, die das „untrainierte“ neuronale Netz definiert. In einigen Ausführungsformen kann die Ausgangsschnittstelle von der Datenspeicherschnittstelle 180 separat sein, kann jedoch im Allgemeinen von einem Typ sein, wie vorstehend für die Datenspeicherschnittstelle 180 beschrieben.
  • 2 zeigt ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes. Das Verfahren 200 kann einem Betrieb des Systems 100 von 1 entsprechen, muss dies jedoch nicht, indem es auch einem Betrieb eines anderen Typs von System, Einrichtung oder Vorrichtung entsprechen kann oder indem es einem Computerprogramm entsprechen kann.
  • Es ist gezeigt worden, dass das Verfahren 200 in einem Schritt mit dem Titel „BEREITSTELLEN EINER DATENDARSTELLUNG DES NEURONALEN NETZES“ das Bereitstellen 210 eines neuronalen Netzes umfasst, wobei das Bereitstellen des neuronalen Netzes das Bereitstellen einer iterativen Funktion als Ersatz für einen Stapel von Schichten des neuronalen Netzes umfasst, wobei jeweilige Schichten des Stapels von Schichten, die ersetzt werden, miteinander geteilte Gewichte aufweisen und als Eingabe eine Ausgabe einer vorherigen Schicht oder für eine erste Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten empfangen. Ferner ist gezeigt, dass das Verfahren 200 in einem Schritt mit dem Titel „ZUGREIFEN AUF TRAININGSDATEN“, das Zugreifen 220 auf Trainingsdaten für das neuronale Netz umfasst. Ferner ist gezeigt, dass das Verfahren 200 in einem Schritt mit dem Titel „ITERATIVES TRAINING DES NEURONALEN NETZES UNTER VERWENDUNG VON TRAININGSDATEN“ das iterative Training 230 des neuronalen Netzes unter Verwendung der Trainingsdaten umfasst, wobei das Training 230 einen Vorwärtsausbreitungsteil und einen Rückwärtsausbreitungsteil umfassen kann. Das Durchführen des Vorwärtsausbreitungsteils durch das Verfahren 200 kann in einem Schritt mit dem Titel „BESTIMMEN VON GLEICHGEWICHTSPUNKT UNTER VERWENDUNG VON NULLSTELLENAUFFINDUNGSALGORITHMUS“ das Bestimmen 240 eines Gleichgewichtspunkts der iterativen Funktion, an dem die iterative Funktion auf einen Fixpunkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts die Verwendung eines numerischen Nullstellenauffindungsalgorithmus umfasst, um eine Nullstellenlösung für die iterative Funktion minus ihre Eingabe zu finden, und in einem Schritt mit dem Titel „BEREITSTELLEN VON GLEICHGEWICHTSPUNKT ALS ERSATZ FÜR DIE AUSGABE DES STAPELS VON SCHICHTEN“ das Bereitstellen des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten im neuronalen Netz umfassen. Das Verfahren 200 kann ferner nach dem Training und in einem Schritt mit dem Titel „AUSGEBEN VON TRAINIERTEM NEURONALEM NETZ“ das Ausgeben 260 eines trainierten neuronalen Netzes umfassen. Die folgenden Beispiele beschreiben das neuronale Netz, einschließlich des Trainings davon, in dem ein Stapel von Schichten durch eine iterative Funktion ersetzt wird und in dem ein Nullstellenauffindungsalgorithmus verwendet wird, um einen Gleichgewichtspunkt zu bestimmen, an dem die iterative Funktion auf einen Fixpunkt konvergiert, wobei das Bestimmen des Gleichgewichtspunkts die Verwendung eines numerischen Nullstellenauffindungsalgorithmus, um eine Nullstellenlösung für die iterative Funktion minus ihre Eingabe zu finden, und in einem Schritt mit dem Titel „BEREITSTELLEN VON GLEICHGEWICHTSPUNKT ALS ERSATZ FÜR DIE AUSGABE DES STAPELS VON SCHICHTEN“ das Bereitstellen 250 des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten im neuronalen Netz umfasst. Das Verfahren 200 kann ferner nach dem Training und in einem Schritt mit dem Titel „AUSGEBEN VON TRAINIERTEM NEURONALEM NETZ“ das Ausgeben 260 eines trainierten neuronalen Netzes umfassen. Das Deep Equilibrium (DEQ) neuronale Netz kann ferner in der Patentanmeldung mit dem Titel „DEEP NEURAL NETWORK WITH EQUILIBRIUM SOLVER“ mit der Anmeldungsnummer 16/985,582, eingereicht am 5. August 2020, beschrieben sein, die durch den Hinweis in ihrer Gesamtheit hier aufgenommen wird.
  • 3 stellt einen Ablaufplan 300 eines Klassifikationsprozesses eines monotonen Netzes dar. In Schritt 301 kann das System eine Eingabe von einer Eingangsschnittstelle empfangen. Die Eingangsschnittstelle kann eine drahtlose Kommunikation (z. B. Wi-Fi, 4G, 5G, LTE usw.) oder eine verdrahtete Kommunikation (USB, seriell, CAN-BUS usw.) sein. Die Eingangsschnittstelle kann ermöglichen, dass das Netz mit verschiedenen Sensoren wie z. B. einer Kamera, einem Radar, einem Lidar usw. kommuniziert. Die Eingabe kann beliebige Eingabedaten sein, einschließlich, jedoch nicht begrenzt auf Bilddaten. Die Eingabe kann beispielsweise die Pixelwerte eines Bildes umfassen.
  • In Schritt 303 kann das Netz einen Fixpunkt (z. B. Gleichgewichtspunkt) über Vorwärtsausbreitung berechnen. Im monotonen Operatornetz kann das Netz eine spezielle Form der Gleichgewichtsfunktion verwenden, insbesondere die Parametrisierung: z * = σ ( W z * + U x + b )
    Figure DE102021109382A1_0003
  • Wobei σ eine gewisse nicht-lineare Funktion sein kann, und das in einer speziellen Ausführungsform der proximale Operator einer konvexen Funktion sein kann (effektiv kann dies bedeuten, dass σ mit einer Lipschitz-Konstante, die geringer als oder gleich eins ist, monoton zunimmt, z. B. es nicht expansiv ist); W und U lineare Operatoren wie z. B. eine Matrixmultiplikation oder mehrschichtige Faltung sein können, und b eine Konstante ist. Ein Schlüsselaspekt für das monotone Operatornetz besteht darin, dass W von einer speziellen Form ist, nämlich W = ( 1 m ) I A T A + B B T
    Figure DE102021109382A1_0004
  • wobei A und B auch lineare Operatoren wie z. B. Matrixmultiplikationen oder Faltungen sind und m > 0 eine positive Konstante ist, die so ausgewählt ist, dass standardmäßig m = 0,1. In diesem Beispiel sind die Parameter, die das Netz definieren, θ = {A, B, U, b}. Diese Parametrisierung kann garantieren, dass ein eindeutiger Fixpunkt (z. B. Gleichgewichtspunkt) besteht, der die Bedingungen z* = σ(Wz* + Ux + b) erfüllt.
  • Unter Verwendung einer solchen Parametrisierung kann das System zwei verschiedene Methoden verwenden, um den Gleichgewichtspunkt z* = σ(Wz* + Ux + b) zu berechnen. Das Netz kann eine Nullstellenauffindungsprozedur verwenden, um den Fixpunkt zu bestimmen. Die erste Methode kann das Vorwärts-Rückwärts-Aufteilungsverfahren (FB-Aufteilungsverfahren) sein. Die zweite Methode kann ein Peaceman-Rachford-Aufteilungsverfahren (PR-Aufteilungsverfahren) sein. Die Ausführung dieser Verfahren für das monotone Operatornetz ist wie folgt:
  • Algorithmus: FB-Vorwärtslösung (z. B. FB-Aufteilungsverfahren)
  • Initialisieren von z := 0
  • Wiederholen bis zur Konvergenz:
  • z : = σ ( ( 1 α ) z + α ( W z + U x + b ) )
    Figure DE102021109382A1_0005
  • Zurückgeben von z
  • Algorithmus: PR-Vorwärtslösung (z. B. Peacean-Rachford-Aufteilungsverfahren)
  • Initialisieren von u := 0,z := 0
  • Wiederholen bis zur Konvergenz:
  • u 1 / 2 : = 2 z u
    Figure DE102021109382A1_0006
  • z 1 / 2 : = ( ( 1 + α ) I α W ) 1 ( u 1 / 2 α ( U x + b ) )
    Figure DE102021109382A1_0007
  • u : = 2 z 1 / 2 u
    Figure DE102021109382A1_0008
  • z : = σ ( u )
    Figure DE102021109382A1_0009
  • Zurückgeben von z
  • Für beide Algorithmen oder Verfahren kann α ein freier Parameter analog zu einer Schrittweite in Optimierungsverfahren auf Gradientenbasis sein. Der freie Parameter kann in Anbetracht eines speziellen Netzes abgestimmt werden, um die Konvergenzgeschwindigkeit zu verbessern. Für den PR-Vorwärtslösungsalgorithmus kann das System typischerweise α = 1 setzen, wohingegen für den FB-Vorwärtslösungsalgorithmus kein einziger Wert vorhanden sein kann, der im Allgemeinen am besten funktioniert, und der Parameter für ein spezielles Netz abgestimmt werden kann.
  • Die PR-Vorwärtslösung kann erfordern, dass das System mit der Inversen ((1 + α)I - αW)-1 multiplizieren kann. Falls die Operatoren A und B, die W definieren, dichte Matrizen sind, kann dies über direkte Inversion der Matrix bewerkstelligt werden. Falls jedoch A und B Faltungen sind, kann das System die erforderliche Inverse unter Verwendung einer schnellen Fourier-Transformation berechnen.
  • In Schritt 305 kann das neuronale Netz einen Vorhersagevektor berechnen. Das Netz kann bestimmte mathematische Operationen durchführen, um den Vorhersagevektor zu erhalten. Diese Operationen können in verborgenen Schichten (z. B. zwischen der Eingangsschicht und der Ausgangsschicht) des neuronalen Netzes durchgeführt werden. Der Vorhersagevektor kann durch Nehmen des Gleichgewichtspunkts und Anwenden einer anderen linearen Operation berechnet werden. Der Vorhersagevektor kann berechnet werden als:
  • y ^ = W y z * + b y
    Figure DE102021109382A1_0010
  • Der Vorhersagevektor kann eine Funktion der Gewichte des neuronalen Netzes sein.
  • In Schritt 307 kann das System eine vorhergesagte Klassifikation ausgeben. Die vorhergesagte Klassifikation kann ein Index eines Maximalwerts von y sein. Die Klassenvorhersage kann das größte Element von y sein. In einem Beispiel kann, wenn der dritte Eintrag von y am größten ist, das System vorhersagen, dass die Klassifikation jene der Klasse ist. Der Klassifikationsschritt kann die Eingangsdaten klassifizieren. In einem Beispiel können die Eingangsdaten ein Bild sein und auf der Basis der Klassifikation kann das neuronale Netz das Bild als jenes eines Fahrzeugs oder Fußgängers klassifizieren. Die Klassifikation der Eingangsdaten kann auch verwendet werden, um das neuronale Netz zu trainieren, wie nachstehend weiter erläutert.
  • 4 stellt einen Ablaufplan 400 eines Trainingsprozesses eines monotonen Netzes dar. In Schritt 401 kann das Netz eine Eingabe empfangen, die eine entsprechende Klassifikation der Eingangsdaten umfasst. Die Eingabe kann definiert sein als:
  • E i n g a b e : ( x i , y i )   i = 1, , n
    Figure DE102021109382A1_0011
  • In der obigen Formel kann xi die Eingabe definieren, während yi die echte Klasse definieren kann, und i kann ein Index über die verschiedenen Beispiele im Trainingssatz sein.
  • In Schritt 403 kann das Netz bestimmen, ob eine Wiederholung für die Vorhersage erforderlich ist. Das System kann das Wiederholen stoppen, wenn ein Parameter von Werten konvergiert oder wenn der Verlust aufhört abzunehmen. Wenn ein Szenario auftritt, kann das System die Wiederholung von jedem der Schritte im Trainingsprozess stoppen.
  • In Schritt 405 kann das Netz eine Teilmenge der vollen Trainingsdaten auswählen, die als Minicharge B bezeichnet wird.
  • In Schritt 407 kann das Netz einen Vorwärtsdurchlauf ausführen, um z*i und ŷi; zu berechnen. Das Netz kann eine Vorwärtsdurchlaufberechnung ausführen, um eine Klassifikation jedes Index einer Minicharge auszugeben. Folglich können die Schritte von 3 für jeden Index der Minicharge durchgeführt werden.
  • In Schritt 409 kann das System einen Verlust berechnen. Der Verlust kann unter Verwendung eines Kreuzentropieverlusts berechnet werden. Der Verlust kann über die Gleichung berechnet werden:
  • l = i B ( ( y ^ i ) y + log j exp ( ( y ^ i ) j )
    Figure DE102021109382A1_0012
  • Der Kreuzentropieverlust kann die Leistung eines Klassifikationsmodells messen, dessen Ausgabe ein Wahrscheinlichkeitswert zwischen zwei Werten (z. B. zwischen 0 und 1) ist. Der Kreuzentropieverlust kann zunehmen, wenn die vorhergesagte Wahrscheinlichkeit von der tatsächlichen Bezeichnung abweicht. Ein perfektes Modell hätte beispielsweise einen Verlust von null.
  • In Schritt 411 kann das System die Ableitungen des Verlusts in Bezug auf die Netzparameter berechnen. Die Berechnung des Rückwärtsdurchlaufs kann erfordern, dass das System die Ableitung des Verlusts in Bezug auf die Netzparameter berechnen kann. Das heißt, das System kann Folgendes berechnen müssen:
  • l θ = l z * z * θ
    Figure DE102021109382A1_0013
  • Das System kann beispielsweise mit z * θ
    Figure DE102021109382A1_0014
    links multiplizieren müssen (der verbleibende Term l z *
    Figure DE102021109382A1_0015
    wird durch existierende automatische Differenzierungswerkzeuge leicht berechnet). Im monotonen Operatorgerüst gibt es analoge Verfahren zum Durchführen dieser Multiplikation hinsichtlich des Vorwärtsdurchlaufs. Insbesondere können in Anbetracht von l z *
    Figure DE102021109382A1_0016
    die folgenden zwei nachstehenden Algorithmen das erforderliche Produkt erzeugen. Die Ausführung dieser Verfahren für das monotone Operatornetz kann wie folgt sein:
  • Algorithmus: FB-Vorwärtslösung (z. B. FB-Aufteilungsverfahren)
  • Initialisieren von u := 0
  • Es soll gelten d = (1 - σ'(Wz* + Ux + b))/σ'(Wz* + Ux + b), wobei σ' die Ableitung von σ bezeichnet (wobei wir definieren di = ∞ falls σ'(Wz* + Ux + b) = 0)
  • Wiederholen:
  • v : = ( 1 α ) u + α W T u
    Figure DE102021109382A1_0017
  • u i : = v i + α l z * 1 + α + α d i
    Figure DE102021109382A1_0018
    für alle i (wobei die Zuweisung ui := 0 falls di = ∞ ist).
  • Zurückgeben von l θ = σ ( W z * + U x + b ) T θ W T u
    Figure DE102021109382A1_0019
    (wobei die Multiplikation mit σ ( W z * + U x + b ) T θ
    Figure DE102021109382A1_0020
    durch einen automatischen Standarddifferenzierungswerkzeugsatz durchgeführt wird)
  • Ein anderer Algorithmus: PR-Rückwärtslösung (z. B. Peacean-Rachford-Aufteilungsverfahren)
  • Initialisieren von u := 0, ν := 0
  • Es soll gelten d = (1 - σ'(Wz* + Ux + b))/σ'(Wz* + Ux + b) wobei σ' die Ableitung von σ bezeichnet (wobei wir definieren di = ∞ falls σ'{Wz* + Ux + b) = 0)
  • Wiederholen:
  • v 1 / 2 : = 2 u v
    Figure DE102021109382A1_0021
  • u 1 / 2 : = ( ( 1 + α ) I α W T ) 1 v 1 / 2
    Figure DE102021109382A1_0022
  • v : = 2 u 1 / 2 v
    Figure DE102021109382A1_0023
  • u i : = v i + α l z * 1 + α + α d i
    Figure DE102021109382A1_0024
    für alle i (wobei die Zuweisung ui := 0 falls di = ∞ ist)
  • Zurückgeben von l θ = σ ( W z * + U x + b ) T θ W T u
    Figure DE102021109382A1_0025
    (wobei die Multiplikation mit σ ( W z * + U x + b ) T θ
    Figure DE102021109382A1_0026
    durch einen automatischen Standarddifferenzierungswerkzeugsatz durchgeführt wird).
  • Wie vorher kann α ein Hyperparameter sein, der für die PR-Variante auf α = 1 gesetzt werden kann und für die FB-Varianten auf spezielle Architekturen abgestimmt werden muss, um die Anzahl von erforderlichen Iterationen zu minimieren. Es ist garantiert, dass diese Algorithmen auf die eindeutige Lösung des Rückwärtsdurchlaufs konvergieren. Wiederum können für Fälle, in denen W ein strukturierter faltender Operator ist, die erforderlichen Inversen unter Verwendung der schnellen Fourier-Transformation durchgeführt werden.
  • In Schritt 413 kann das System ihre Parameter unter Verwendung ihres Gradienten einstellen. Der Gradient kann definiert sein als:
  • W = w α l w
    Figure DE102021109382A1_0027
  • In Schritt 415 kann das System endgültige Netzparameter ausgeben. Die endgültigen Netzparameter können W, u, b,, Wy, by usw. umfassen. Die Parameter können die verschiedenen Gewichte von Matrizen sein, wenn das Netz vollständig verbunden ist, oder können Gewichte eines faltenden Netzes für ein faltendes Netz sein.
  • 5 stellt ein schematisches Diagramm einer Wechselwirkung zwischen einer computergesteuerten Maschine 10 und einem Steuersystem 12 dar. Die computergesteuerte Maschine 10 umfasst einen Aktuator 14 und einen Sensor 16. Der Aktuator 14 kann einen oder mehrere Aktuatoren umfassen und der Sensor 16 kann einen oder mehrere Sensoren umfassen. Der Sensor 16 ist dazu konfiguriert, eine Bedingung der computergesteuerten Maschine 10 zu erfassen. Der Sensor 16 kann dazu konfiguriert sein, die erfasste Bedingung in Sensorsignale 18 zu codieren und die Sensorsignale 18 zum Steuersystem 12 zu übertragen. Nicht begrenzende Beispiele des Sensors 16 umfassen Video-, Radar-, LiDAR-, Ultraschall- und Bewegungssensoren. In einer Ausführungsform ist der Sensor 16 ein optischer Sensor, der dazu konfiguriert ist, optische Bilder einer Umgebung nahe der computergesteuerten Maschine 10 zu erfassen.
  • Das Steuersystem 12 ist dazu konfiguriert, Sensorsignale 18 von der computergesteuerten Maschine 10 zu empfangen. Wie nachstehend dargelegt, kann das Steuersystem 12 ferner dazu konfiguriert sein, Aktuatorsteuerbefehle 20 in Abhängigkeit von den Sensorsignalen zu berechnen und die Aktuatorsteuerbefehle 20 zum Aktuator 14 der computergesteuerten Maschine 10 zu übertragen.
  • Wie in 5 gezeigt, umfasst das Steuersystem 12 eine Empfangseinheit 22. Die Empfangseinheit 22 kann dazu konfiguriert sein, Sensorsignale 18 vom Sensor 30 zu empfangen und die Sensorsignale 18 in Eingangssignale x zu transformieren. In einer alternativen Ausführungsform werden die Sensorsignale 18 direkt als Eingangssignale x ohne Empfangseinheit 22 empfangen. Jedes Eingangssignal x kann ein Teil jedes Sensorsignals 18 sein. Die Empfangseinheit 22 kann dazu konfiguriert sein, jedes Sensorsignal 18 zu verarbeiten, um jedes Eingangssignal x zu erzeugen. Das Eingangssignal x kann Daten umfassen, die einem durch den Sensor 16 aufgezeichneten Bild entsprechen.
  • Das Steuersystem 12 umfasst einen Klassifikator 24. Der Klassifikator 24 kann dazu konfiguriert sein, Eingangssignale x in eine oder mehrere Bezeichnungen unter Verwendung eines Maschinenlernalgorithmus (ML-Algorithmus), wie z. B. eines vorstehend beschriebenen neuronalen Netzes, zu klassifizieren. Der Klassifikator 24 ist dazu konfiguriert, durch Parameter parametrisiert zu werden, wie z. B. die vorstehend beschriebenen (z. B. Parameter 0). Die Parameter 0 können in einem nichtflüchtigen Speicher 26 gespeichert und durch diesen bereitgestellt werden. Der Klassifikator 24 ist dazu konfiguriert, Ausgangssignale y aus den Eingangssignalen x zu bestimmen. Jedes Ausgangssignal y umfasst Informationen, die jedem Eingangssignal x eine oder mehrere Bezeichnungen zuweisen. Der Klassifikator 24 kann Ausgangssignale y zu einer Umwandlungseinheit 28 übertragen. Die Umwandlungseinheit 28 ist dazu konfiguriert, Ausgangssignale y in Aktuatorsteuerbefehle 20 umzuwandeln. Das Steuersystem 12 ist dazu konfiguriert, die Aktuatorsteuerbefehle 24 zum Aktuator 14 zu übertragen, der dazu konfiguriert ist, die computergesteuerte Maschine 10 in Reaktion auf die Aktuatorsteuerbefehle 20 zu betätigen. In einer anderen Ausführungsform ist der Aktuator 14 dazu konfiguriert, die computergesteuerte Maschine 10 direkt auf der Basis der Ausgangssignale y zu betätigen.
  • Beim Empfang der Aktuatorsteuerbefehle 20 durch den Aktuator 14 ist der Aktuator 14 dazu konfiguriert, eine Handlung auszuführen, die dem zugehörigen Aktuatorsteuerbefehl 20 entspricht. Der Aktuator 14 kann eine Steuerlogik umfassen, die dazu konfiguriert ist, Aktuatorsteuerbefehle 20 in einen zweiten Aktuatorsteuerbefehl zu transformieren, der verwendet wird, um den Aktuator 14 zu steuern. In einer oder mehreren Ausführungsformen können die Aktuatorsteuerbefehle 20 verwendet werden, um anstelle von oder zusätzlich zu einem Aktuator eine Anzeige zu steuern.
  • In einer anderen Ausführungsform umfasst das Steuersystem 12 einen Sensor 16 anstelle von oder zusätzlich zur computergesteuerten Maschine 10 mit dem Sensor 16. Das Steuersystem 12 kann auch einen Aktuator 14 anstelle von oder zusätzlich zur computergesteuerten Maschine 10 mit dem Aktuator 10 umfassen.
  • Wie in 5 gezeigt, umfasst das Steuersystem 12 auch einen Prozessor 30 und einen Arbeitsspeicher 32. Der Prozessor 30 kann einen oder mehrere Prozessoren umfassen. Der Arbeitsspeicher 32 kann eine oder mehrere Arbeitsspeichervorrichtungen umfassen. Der Klassifikator 24 (z. B. ML-Algorithmen) von einer oder mehreren Ausführungsformen kann durch das Steuersystem 12 implementiert werden, das einen nichtflüchtigen Speicher 26, einen Prozessor 30 und einen Arbeitsspeicher 32 umfasst.
  • Der nichtflüchtige Speicher 26 kann eine oder mehrere dauerhafte Datenspeichervorrichtungen wie z. B. ein Festplattenlaufwerk, ein optisches Laufwerk, ein Bandlaufwerk, eine nichtflüchtige Halbleitervorrichtung, einen Cloud-Speicher oder irgendeine andere Vorrichtung umfassen, die in der Lage ist, Informationen dauerhaft zu speichern. Der Prozessor 30 kann eine oder mehrere Vorrichtungen umfassen, die aus Hochleistungsrechensystemen (HPC-Systemen) ausgewählt sind, einschließlich Hochleistungskernen, Mikroprozessoren, Mikrocontrollern, Digitalsignalprozessoren, Mikrocomputern, Zentraleinheiten, anwenderprogrammierbaren Verknüpfungsfeldern, programmierbaren Logikvorrichtungen, Zustandsmaschinen, Logikschaltungen, analogen Schaltungen, digitalen Schaltungen oder beliebigen anderen Vorrichtungen, die Signale (analog oder digital) auf der Basis von computerausführbaren Anweisungen bearbeiten, die sich im Arbeitsspeicher 32 befinden. Der Arbeitsspeicher 32 kann eine einzelne Arbeitsspeichervorrichtung oder eine Anzahl von Arbeitsspeichervorrichtungen umfassen, einschließlich, jedoch nicht begrenzt auf einen Direktzugriffsarbeitsspeicher (RAM), einen flüchtigen Arbeitsspeicher, einen nichtflüchtigen Arbeitsspeicher, einen statischen Direktzugriffsarbeitsspeicher (SRAM), einen dynamischen Direktzugriffsarbeitsspeicher (DRAM), einen Flash-Arbeitsspeicher, einen Cache-Arbeitsspeicher oder irgendeine andere Vorrichtung, die in der Lage ist, Informationen zu speichern.
  • Der Prozessor 30 kann dazu konfiguriert sein, computerausführbare Anweisungen, die sich im nichtflüchtigen Speicher 26 befinden und einen oder mehrere ML-Algorithmen und/oder Methodologien von einer oder mehreren Ausführungsformen verkörpern, in den Arbeitsspeicher 32 zu lesen und auszuführen. Der nichtflüchtige Speicher 26 kann ein oder mehrere Betriebssysteme und Anwendungen umfassen. Der nichtflüchtige Speicher 26 kann eine kompilierte und/oder interpretierte Form von Computerprogrammen speichern, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder Technologien erstellt werden, einschließlich ohne Begrenzung und entweder allein 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 30 können die computerausführbaren Anweisungen des nichtflüchtigen Speichers 26 bewirken, dass das Steuersystem 12 einen oder mehrere der ML-Algorithmen und/oder der Methodologien, wie hier offenbart, implementiert. Der nichtflüchtige Speicher 26 kann auch ML-Daten (einschließlich Datenparametern), die die Funktionen, Merkmale und Prozesse der einen oder mehreren hier beschriebenen Ausführungsformen unterstützen, umfassen.
  • Der Programmcode, der die hier beschriebenen Algorithmen und/oder Methodologien verkörpert, ist in der Lage, individuell oder gemeinsam als Programmprodukt in einer Vielfalt von verschiedenen Formen verteilt zu werden. Der Programmcode kann unter Verwendung eines computerlesbaren Speichermediums mit computerlesbaren Programmanweisungen darauf zum Bewirken, dass ein Prozessor Aspekte von einer oder mehreren Ausführungsformen ausführt, verteilt werden. Computerlesbare Speichermedien, die von Natur aus nichttransitorisch sind, können flüchtige und nichtflüchtige und entnehmbare und nicht entnehmbare konkrete Medien umfassen, die in irgendeinem Verfahren oder irgendeiner Technologie für die Speicherung von Informationen implementiert werden, wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Computerlesbare Speichermedien können ferner einen RAM, ROM, einen löschbaren programmierbaren Festwertarbeitsspeicher (EPROM), einen elektrisch löschbaren programmierbaren Festwertarbeitsspeicher (EEPROM), einen Flash-Arbeitsspeicher oder eine andere Halbleiterarbeitsspeichertechnologie, einen tragbaren Kompaktdiskfestwertarbeitsspeicher (CD-ROM) oder einen anderen optischen Speicher, Magnetkassetten, ein Magnetband, einen Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder irgendein anderes Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern, und das durch einen Computer gelesen werden kann, umfassen. Computerlesbare Programmanweisungen können auf einen Computer, einen anderen Typ von programmierbarer Datenverarbeitungseinrichtung oder eine andere Vorrichtung von einem computerlesbaren Speichermedium oder auf einen externen Computer oder eine externe Speichervorrichtung über ein Netz heruntergeladen werden.
  • Computerlesbare Programmanweisungen, die in einem computerlesbaren Medium gespeichert sind, können verwendet werden, um einen Computer, andere Typen einer programmierbaren Datenverarbeitungseinrichtung oder andere Vorrichtungen anzuweisen, in einer speziellen Weise zu funktionieren, so dass die im computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand mit Anweisungen erzeugen, die die Funktionen, Handlungen und/oder Operationen implementieren, die in den Ablaufplänen oder Ablaufdiagrammen angegeben sind. In bestimmten alternativen Ausführungsformen können die Funktionen, Handlungen und/oder Operationen, die in den Ablaufplänen und/oder Ablaufdiagrammen angegeben sind, konsistent mit einer oder mehreren Ausführungsformen umgeordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Überdies können beliebige der Ablaufpläne und/oder Ablaufdiagramme konsistent mit einer oder mehreren Ausführungsformen mehr oder weniger Knoten oder Blöcke als die dargestellten umfassen.
  • Die Prozesse, Verfahren oder Algorithmen können ganz oder teilweise unter Verwendung von geeigneten Hardware-Komponenten, wie z. B. anwendungsspezifischen integrierten Schaltungen (ASICs), anwenderprogrammierbaren Verknüpfungsfeldern (FPGAs), Zustandsmaschinen, Controllern oder anderen Hardware-Komponenten oder Hardware-Vorrichtungen oder einer Kombination von Hardware-, Software- und Firmware-Komponenten, verkörpert sein.
  • 6 stellt ein schematisches Diagramm eines Steuersystems 12 dar, das dazu konfiguriert ist, ein Fahrzeug 50 zu steuern, das ein zumindest teilweise autonomes Fahrzeug oder ein zumindest teilweise autonomer Roboter sein kann. Wie in 5 gezeigt, umfasst das Fahrzeug 50 einen Aktuator 14 und einen Sensor 16. Der Sensor 16 kann einen oder mehrere Videosensoren, Radarsensoren, Ultraschallsensoren, LiDAR-Sensoren und/oder Positionssensoren (z. B. GPS) umfassen. Einer oder mehrere des einen oder der mehreren speziellen Sensoren können in das Fahrzeug 50 integriert sein. Alternativ oder zusätzlich zu einem oder mehreren speziellen Sensoren, die vorstehend identifiziert sind, kann der Sensor 16 ein Software-Modul umfassen, das dazu konfiguriert ist, bei der Ausführung einen Zustand des Aktuators 14 zu bestimmen. Ein nicht begrenzendes Beispiel eines Software-Moduls umfasst ein Wetterinformations-Software-Modul, das dazu konfiguriert ist, einen gegenwärtigen oder zukünftigen Zustand des Wetters nahe dem Fahrzeug 50 oder an einem anderen Ort zu bestimmen.
  • Der Klassifikator 24 des Steuersystems 12 des Fahrzeugs 50 kann dazu konfiguriert sein, Objekte in der Nähe des Fahrzeugs 50 in Abhängigkeit von den Eingangssignalen x zu detektieren. In einer solchen Ausführungsform kann das Ausgangssignal y Informationen umfassen, die die Nähe der Objekte zum Fahrzeug 50 charakterisieren. Der Aktuatorsteuerbefehl 20 kann gemäß diesen Informationen bestimmt werden. Der Aktuatorsteuerbefehl 20 kann verwendet werden, um Kollisionen mit den detektierten Objekten zu vermeiden.
  • In Ausführungsformen, in denen das Fahrzeug 50 ein zumindest teilweise autonomes Fahrzeug ist, kann der Aktuator 14 in einer Bremse, einem Antriebssystem, einer Kraftmaschine, einem Antriebsstrang oder einer Lenkung des Fahrzeugs 50 verkörpert sein. Die Aktuatorsteuerbefehle 20 können derart bestimmt werden, dass der Aktuator 14 derart gesteuert wird, dass das Fahrzeug 50 Kollisionen mit detektierten Objekten vermeidet. Detektierte Objekte können auch gemäß dem klassifiziert werden, was der Klassifikator 24 erachtet, was sie am wahrscheinlichsten sind, wie z. B. Fußgänger oder Bäume. Die Aktuatorsteuerbefehle 20 können in Abhängigkeit von der Klassifikation bestimmt werden.
  • In anderen Ausführungsformen, in denen das Fahrzeug 50 ein zumindest teilweise autonomer Roboter ist, kann das Fahrzeug 50 ein mobiler Roboter sein, der dazu konfiguriert ist, eine oder mehrere Funktionen auszuführen, wie z. B. Fliegen, Schwimmen, Tauchen und Schreiten. Der mobile Roboter kann ein zumindest teilweise autonomer Rasenmäher oder ein zumindest teilweise autonomer Reinigungsroboter sein. In solchen Ausführungsformen kann der Aktuatorsteuerbefehl 20 derart bestimmt werden, dass eine Antriebseinheit, eine Lenkeinheit und/oder eine Bremseinheit des mobilen Roboters derart gesteuert werden können, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • In einer anderen Ausführungsform ist das Fahrzeug 50 ein zumindest teilweise autonomer Roboter in Form eines Gartenarbeitsroboters. In einer solchen Ausführungsform kann das Fahrzeug 50 einen optischen Sensor als Sensor 16 verwenden, um einen Zustand vom Pflanzen in einer Umgebung nahe dem Fahrzeug 50 zu bestimmen. Der Aktuator 14 kann eine Düse sein, die dazu konfiguriert ist, Chemikalien zu sprühen. In Abhängigkeit von einer identifizierten Spezies und/oder einem identifizierten Zustand der Pflanzen kann der Aktuatorsteuerbefehl 20 bestimmt werden, um zu bewirken, dass der Aktuator 14 die Pflanzen mit einer geeigneten Menge von geeigneten Chemikalien besprüht.
  • Das Instrument 50 kann ein zumindest teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nicht begrenzende Beispiele von Haushaltsgeräten umfassen eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder eine Geschirrspülmaschine. In einem solchen Instrument 50 kann der Sensor 16 ein optischer Sensor sein, der dazu konfiguriert ist, einen Zustand eines Objekts zu detektieren, das einer Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Im Fall, dass das Haushaltsgerät eine Waschmaschine ist, kann der Sensor 16 beispielsweise einen Zustand der Wäsche innerhalb der Waschmaschine detektieren. Der Aktuatorsteuerbefehl 20 kann auf der Basis des detektierten Zustandes der Wäsche bestimmt werden.
  • 7 stellt ein schematisches Diagramm eines Steuersystems 12 dar, das dazu konfiguriert ist, eine Fertigungsmaschine 100 wie z. B. einen Stanzschneider, einen Schneider oder einen Tieflochbohrer des Fertigungssystems 102 wie z. B. eines Teils einer Produktionslinie zu steuern. Das Steuersystem 12 kann dazu konfiguriert sein, den Aktuator 14 zu steuern, der dazu konfiguriert ist, die Fertigungsmaschine 100 zu steuern.
  • Der Sensor 16 der Fertigungsmaschine 100 kann ein optischer Sensor sein, der dazu konfiguriert ist, eine oder mehrere Eigenschaften eines gefertigten Produkts 104 zu erfassen. Der Klassifikator 24 kann dazu konfiguriert sein, einen Zustand des gefertigten Produkts 104 von einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Aktuator 14 kann dazu konfiguriert sein, die Fertigungsmaschine 100 in Abhängigkeit von dem bestimmten Zustand des gefertigten Produkts 104 für einen anschließenden Fertigungsschritt des gefertigten Produkts 104 zu steuern. Der Aktuator 14 kann dazu konfiguriert sein, Funktionen der Fertigungsmaschine 100 am anschließenden gefertigten Produkt 106 der Fertigungsmaschine 100 in Abhängigkeit von dem bestimmten Zustand des gefertigten Produkts 104 zu steuern.
  • 8 stellt ein schematisches Diagramm eines Steuersystems 12 dar, das dazu konfiguriert ist, ein Elektrowerkzeug 150, wie z. B. eine elektrische Bohrmaschine oder einen Kraftschrauber, zu steuern, das einen zumindest teilweise autonomen Modus aufweist. Das Steuersystem 12 kann dazu konfiguriert sein, den Aktuator 14 zu steuern, der dazu konfiguriert ist, das Elektrowerkzeug 150 zu steuern.
  • Der Sensor 16 des Elektrowerkzeugs 150 kann ein optischer Sensor sein, der dazu konfiguriert ist, eine oder mehrere Eigenschaften einer Arbeitsoberfläche 152 und/oder einer Befestigungsvorrichtung 154, die in die Arbeitsoberfläche 152 getrieben wird, zu erfassen. Der Klassifikator 24 kann dazu konfiguriert sein, einen Zustand der Arbeitsoberfläche 152 und/oder der Befestigungsvorrichtung 154 relativ zur Arbeitsoberfläche 152 aus einer oder mehreren der erfassten Eigenschaften zu bestimmen. Der Zustand kann sein, dass die Befestigungsvorrichtung 154 mit der Arbeitsoberfläche 152 bündig ist. Der Zustand kann alternativ eine Härte der Arbeitsoberfläche 154 sein. Der Aktuator 14 kann dazu konfiguriert sein, das Elektrowerkzeug 150 derart zu steuern, dass die Antriebsfunktion des Elektrowerkzeugs 150 in Abhängigkeit von dem bestimmten Zustand der Befestigungsvorrichtung 154 relativ zur Arbeitsoberfläche 152 oder einer oder mehreren erfassten Eigenschaften der Arbeitsoberfläche 154 eingestellt wird. Der Aktuator 14 kann beispielsweise die Antriebsfunktion unterbrechen, wenn der Zustand der Befestigungsvorrichtung 154 relativ zur Arbeitsoberfläche 152 bündig ist. Als anderes nicht begrenzendes Beispiel kann der Aktuator 14 ein zusätzliches oder geringeres Drehmoment in Abhängigkeit von der Härte der Arbeitsoberfläche 152 aufbringen.
  • 9 stellt ein schematisches Diagramm eines Steuersystems 12 dar, das dazu konfiguriert ist, einen automatisierten persönlichen Assistenten 200 zu steuern. Das Steuersystem 12 kann dazu konfiguriert sein, den Aktuator 14 zu steuern, der dazu konfiguriert ist, den automatisierten persönlichen Assistenten 200 zu steuern. Der automatisierte persönliche Assistent 200 kann dazu konfiguriert sein, ein Haushaltsgerät wie z. B. eine Waschmaschine, einen Herd, einen Ofen, eine Mikrowelle oder eine Geschirrspülmaschine zu steuern.
  • Der Sensor 16 kann ein optischer Sensor und/oder ein Audiosensor sein. Der optische Sensor kann dazu konfiguriert sein, Videobilder von Gesten 204 eines Benutzers 202 zu empfangen. Der Audiosensor kann dazu konfiguriert sein, einen Sprachbefehl des Benutzers 202 zu empfangen.
  • Das Steuersystem 12 des automatisierten persönlichen Assistenten 200 kann dazu konfiguriert sein, Aktuatorsteuerbefehle 20 zu bestimmen, die dazu konfiguriert sind, das System 12 zu steuern. Das Steuersystem 12 kann dazu konfiguriert sein, Aktuatorsteuerbefehle 20 gemäß Sensorsignalen 18 des Sensors 16 zu bestimmen. Der automatisierte persönliche Assistent 200 ist dazu konfiguriert, Sensorsignale 18 zum Steuersystem 12 zu übertragen. Der Klassifikator 24 des Steuersystems 12 kann dazu konfiguriert sein, einen Gestenerkennungsalgorithmus auszuführen, um eine durch den Benutzer 202 gemachte Geste 204 zu identifizieren, Aktuatorsteuerbefehle 20 zu bestimmen, und die Aktuatorsteuerbefehle 20 zum Aktuator 14 zu übertragen. Der Klassifikator 24 kann dazu konfiguriert sein, Informationen von einem nichtflüchtigen Speicher in Reaktion auf die Geste 204 abzurufen und die abgerufenen Informationen in einer für den Empfang durch den Benutzer 202 geeigneten Form auszugeben.
  • 10 stellt ein schematisches Diagramm eines Steuersystems 12 dar, das dazu konfiguriert ist, ein Überwachungssystem 250 zu steuern. Das Überwachungssystem 250 kann dazu konfiguriert sein, den Zugang durch eine Tür 252 physikalisch zu steuern. Der Sensor 16 kann dazu konfiguriert sein, eine Szene zu detektieren, die beim Entscheiden, ob Zugang gewährt wird, relevant ist. Der Sensor 16 kann ein optischer Sensor sein, der dazu konfiguriert ist, Bild- und/oder Videodaten zu erzeugen und zu übertragen. Solche Daten können durch das Steuersystem 12 verwendet werden, um das Gesicht einer Person zu detektieren.
  • Der Klassifikator 24 des Steuersystems 12 des Überwachungssystems 250 kann dazu konfiguriert sein, die Bild- und/oder Videodaten durch Vergleichen von Identitäten von bekannten Leuten, die im nichtflüchtigen Speicher 26 gespeichert sind, zu interpretieren, wodurch eine Identität einer Person bestimmt wird. Der Klassifikator 12 kann dazu konfiguriert sein, einen Aktuatorsteuerbefehl 20 in Reaktion auf die Interpretation der Bild- und/oder Videodaten zu erzeugen. Das Steuersystem 12 ist dazu konfiguriert, den Aktuatorsteuerbefehl 20 zum Aktuator 12 zu übertragen. In dieser Ausführungsform kann der Aktuator 12 dazu konfiguriert sein, die Tür 252 in Reaktion auf den Aktuatorsteuerbefehl 20 zu verriegeln oder zu entriegeln. In anderen Ausführungsformen ist eine nicht physikalische, logische Zugangssteuerung auch möglich.
  • Das Überwachungssystem 250 kann auch ein Beobachtungssystem sein. In einer solchen Ausführungsform kann der Sensor 16 ein optischer Sensor sein, der dazu konfiguriert ist, eine Szene zu detektieren, die unter Beobachtung steht, und das Steuersystem 12 ist dazu konfiguriert, eine Anzeige 254 zu steuern. Der Klassifikator 24 ist dazu konfiguriert, eine Klassifikation einer Szene zu bestimmen, z. B. ob die durch den Sensor 16 detektierte Szene verdächtig ist. Das Steuersystem 12 ist dazu konfiguriert, einen Aktuatorsteuerbefehl 20 zur Anzeige 254 in Reaktion auf die Klassifikation zu übertragen. Die Anzeige 254 kann dazu konfiguriert sein, den angezeigten Inhalt in Reaktion auf den Aktuatorsteuerbefehl 20 einzustellen. Die Anzeige 254 kann beispielsweise ein Objekt hervorheben, das durch den Klassifikator 24 als verdächtig erachtet wird.
  • 11 stellt ein schematisches Diagramm eines Steuersystems 12 dar, das dazu konfiguriert ist, ein Abbildungssystem 300, beispielsweise eine MRI-Einrichtung, eine Röntgenstrahlabbildungseinrichtung oder eine Ultraschalleinrichtung, zu steuern. Der Sensor 16 kann beispielsweise ein Abbildungssensor sein. Der Klassifikator 24 kann dazu konfiguriert sein, eine Klassifikation von Allem oder einem Teil des erfassten Bildes zu bestimmen. Der Klassifikator 24 kann dazu konfiguriert sein, einen Aktuatorsteuerbefehl 20 in Reaktion auf die Klassifikation, die durch das trainierte neuronale Netz erhalten wird, zu bestimmen oder auszuwählen. Der Klassifikator 24 kann beispielsweise einen Bereich eines erfassten Bildes als potentiell anomal interpretieren. In diesem Fall kann der Aktuatorsteuerbefehl 20 bestimmt oder ausgewählt werden, um zu bewirken, dass die Anzeige 302 die Abbildung und Hervorhebung des potentiell anomalen Bereichs anzeigt.
  • Die Prozesse, Verfahren oder Algorithmen, die hier offenbart sind, können zu einer Verarbeitungsvorrichtung, einem Controller oder Computer, der irgendeine existierende programmierbare elektronische Steuereinheit oder zweckgebundene elektronische Steuereinheit umfassen kann, lieferbar sein/durch diesen implementiert werden. Ebenso können die Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen, die durch einen Controller oder Computer ausführbar sind, in vielen Formen gespeichert werden, einschließlich, jedoch nicht begrenzt auf Informationen, die dauerhaft auf nicht beschreibbaren Speichermedien wie z. B. ROM-Vorrichtungen gespeichert sind, und Informationen, die veränderbar auf beschreibbaren Speichermedien wie z. B. Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem durch Software ausführbaren Objekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise unter Verwendung von geeigneten Hardware-Komponenten verkörpert sein, wie z. B. anwendungsspezifischen integrierten Schaltungen (ASICs), anwenderprogrammierbaren Verknüpfungsfeldern (FPGAs), Zustandsmaschinen, Controllern oder anderen Hardware-Komponenten oder Hardware-Vorrichtungen oder einer Kombination von Hardware-, Software- und Firmware-Komponenten.
  • Obwohl beispielhafte Ausführungsformen vorstehend beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die durch die Ansprüche umfasst sind. Die in der Patentbeschreibung verwendeten Worte sind vielmehr Worte zur Beschreibung als zur Begrenzung und es ist selbstverständlich, dass verschiedene Änderungen durchgeführt werden, ohne vom Gedanken und Schutzbereich der Offenbarung abzuweichen. Wie vorher beschrieben, können die Merkmale von verschiedenen Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die nicht explizit beschrieben oder dargestellt sein können. Obwohl verschiedene Ausführungsformen als Vorteile schaffend oder bevorzugt gegenüber anderen Ausführungsformen oder Implementierungen des Standes der Technik in Bezug auf eine oder mehrere gewünschte Eigenschaften beschrieben worden sein könnten, erkennt der Fachmann auf dem Gebiet, dass ein oder mehrere Merkmale oder Eigenschaften beeinträchtigt werden können, um gewünschte Gesamtsystemattribute zu erreichen, die von der speziellen Anwendung und Implementierung abhängen. Diese Attribute können umfassen, sind jedoch nicht begrenzt auf Kosten, Festigkeit, Haltbarkeit, Lebenszykluskosten, Vermarktungsfähigkeit, Aussehen, Verpackung, Größe, Wartbarkeit, Gewicht, Herstellbarkeit, leichte Montage usw. An sich liegen in dem Umfang, in dem beliebige Ausführungsformen als weniger erwünscht als andere Ausführungsformen oder Implementierungen des Standes 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 erwünscht sein.

Claims (20)

  1. Computerimplementiertes Verfahren zum Vorhersagen einer Klassifikation und zum Trainieren eines neuronalen Netzes, das Folgendes umfasst: Empfangen einer Eingabe am neuronalen Netz; Klassifizieren der Eingabe des neuronalen Netzes unter Verwendung einer Vorwärtsausbreitung, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem oder mehreren Parametern des neuronalen Netzes zugeordnet ist, Berechnen eines Vektors unter Verwendung einer linearen Transformation des Fixpunkts; Ausgeben der Klassifikation der Eingabe in Reaktion auf ein maximales Element des Vektors; und Trainieren des neuronalen Netzes unter Verwendung einer Rückwärtsausbreitung, wobei die Rückwärtsausbreitung das Identifizieren einer Ableitung eines Verlusts umfasst, der den Parametern des neuronalen Netzes zugeordnet ist.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Durchführen der Rückwärtsausbreitung die Verwendung eines Vorwärts-Rückwärts-Aufteilungsverfahrens umfasst.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Durchführen der Rückwärtsausbreitung die Verwendung eines Peaceman-Rachford-Aufteilungsverfahrens umfasst.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Eingabe Bilddaten umfasst.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Vorwärtsausbreitung die Verwendung eines Vorwärts-Rückwärts-Aufteilungsverfahrens umfasst, um den Fixpunkt zu identifizieren.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Vorwärtsausbreitung die Verwendung der Vorwärtsausbreitung bis zu einer Konvergenz umfasst.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Vorwärtsausbreitung die Verwendung eines Peaceman-Rachford-Aufteilungsverfahrens umfasst, um den Fixpunkt zu identifizieren.
  8. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Rückwärtsausbreitung das Multiplizieren einer Jacobi-Matrix einer Teilableitung des Fixpunkts einer nicht-linearen Funktion umfasst.
  9. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Rückwärtsausbreitung die Verwendung eines Hyperparameters umfasst.
  10. Computerimplementiertes Verfahren für eine Klassifikation einer Eingabe in ein neuronales Netz, das Folgendes umfasst: Empfangen einer Eingabe am neuronalen Netz; Identifizieren einer Klassifikation der Eingabe am neuronalen Netz unter Verwendung einer Vorwärtsausbreitung, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem Parameter des neuronalen Netzes zugeordnet ist, Berechnen eines Vorhersagevektors unter Verwendung einer linearen Transformation des Fixpunkts; und Ausgeben der Klassifikation der Eingabe in Reaktion auf einen Maximalwert des Vorhersagevektors.
  11. Computerimplementiertes Verfahren nach Anspruch 10, wobei die Durchführung der Vorwärtsausbreitung die Verwendung eines Vorwärts-Rückwärts-Aufteilungsverfahrens umfasst.
  12. Computerimplementiertes Verfahren nach Anspruch 10, wobei die Durchführung der Vorwärtsausbreitung die Verwendung eines Peaceman-Rachford-Aufteilungsverfahrens umfasst.
  13. Computerimplementiertes Verfahren nach Anspruch 10, wobei die Eingabe am neuronalen Netz Bilddaten umfasst, die von einer oder mehreren Kameras empfangen werden.
  14. Computerimplementiertes Verfahren nach Anspruch 10, wobei der Fixpunkt unter Verwendung einer nicht-linearen Funktion identifiziert wird.
  15. System zum Trainieren eines neuronalen Netzes, das Folgendes umfasst: eine Eingangsschnittstelle zum Zugreifen auf Eingangsdaten für das neuronale Netz; und einen Prozessor in Kommunikation mit der Eingangsschnittstelle, wobei der Prozessor dazu programmiert ist: die Eingangsdaten am neuronalen Netz zu empfangen; und ein trainiertes neuronales Netz unter Verwendung einer Vorwärtsausbreitung und einer Rückwärtsausbreitung auszugeben, wobei die Vorwärtsausbreitung die Verwendung einer Nullstellenauffindungsprozedur umfasst, um einen Fixpunkt zu identifizieren, der einem oder mehreren Parametern des neuronalen Netzes zugeordnet ist, wobei die Rückwärtsausbreitung das Identifizieren einer Ableitung eines Verlusts umfasst, der den Parametern des Netzes zugeordnet ist.
  16. System nach Anspruch 15, wobei das Durchführen der Rückwärtsausbreitung die Verwendung eines Vorwärts-Rückwärts-Aufteilungsverfahrens umfasst.
  17. System nach Anspruch 15, wobei das Durchführen der Rückwärtsausbreitung die Verwendung eines Peaceman-Rachford-Aufteilungsverfahrens umfasst.
  18. System nach Anspruch 15, wobei der Prozessor ferner dazu programmiert ist, die Parameter des neuronalen Netzes unter Verwendung eines Gradienten, der den Parametern zugeordnet ist, einzustellen.
  19. System nach Anspruch 15, wobei der Prozessor ferner dazu programmiert ist, die Vorwärtsausbreitung für jede Minicharge in Reaktion auf einen Index auszuführen.
  20. System nach Anspruch 15, wobei das neuronale Netz ein faltendes neuronales Netz ist.
DE102021109382.1A 2020-04-16 2021-04-14 System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet Pending DE102021109382A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/850,816 2020-04-16
US16/850,816 US11468276B2 (en) 2020-04-16 2020-04-16 System and method of a monotone operator neural network

Publications (1)

Publication Number Publication Date
DE102021109382A1 true DE102021109382A1 (de) 2021-10-21

Family

ID=77920137

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109382.1A Pending DE102021109382A1 (de) 2020-04-16 2021-04-14 System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet

Country Status (3)

Country Link
US (1) US11468276B2 (de)
CN (1) CN113537486A (de)
DE (1) DE102021109382A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11610129B2 (en) * 2020-06-08 2023-03-21 Robert Bosch Gmbh System and method for multiscale deep equilibrium models
US11724707B2 (en) * 2020-07-08 2023-08-15 Magna Electronics Inc. Vehicular control system with automatic stack clearing of stack frame
CN114897146B (zh) * 2022-05-18 2023-11-03 北京百度网讯科技有限公司 模型生成方法、装置和电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262259B2 (en) * 2015-05-08 2019-04-16 Qualcomm Incorporated Bit width selection for fixed point neural networks
JP6280997B1 (ja) * 2016-10-31 2018-02-14 株式会社Preferred Networks 疾患の罹患判定装置、疾患の罹患判定方法、疾患の特徴抽出装置及び疾患の特徴抽出方法
US9934364B1 (en) * 2017-02-28 2018-04-03 Anixa Diagnostics Corporation Methods for using artificial neural network analysis on flow cytometry data for cancer diagnosis
US11501429B2 (en) * 2017-07-19 2022-11-15 Altius Institute For Biomedical Sciences Methods of analyzing microscopy images using machine learning
US11102462B2 (en) * 2017-09-27 2021-08-24 University Of Miami Vision defect determination via a dynamic eye characteristic-based fixation point
US11562208B2 (en) * 2018-05-17 2023-01-24 Qualcomm Incorporated Continuous relaxation of quantization for discretized deep neural networks
US11062024B2 (en) * 2018-11-15 2021-07-13 Crowdstrike, Inc. Computer-security event security-violation detection
EP3881241A1 (de) * 2018-11-18 2021-09-22 Innatera Nanosystems B.V. Neuronales spiking-netz
JP7458405B2 (ja) * 2018-12-20 2024-03-29 パックサイズ リミティド ライアビリティ カンパニー 部分的視覚情報に基づく対象物寸法付けのためのシステムと方法
US20200218982A1 (en) * 2019-01-04 2020-07-09 Microsoft Technology Licensing, Llc Dithered quantization of parameters during training with a machine learning tool
US20200264876A1 (en) * 2019-02-14 2020-08-20 Microsoft Technology Licensing, Llc Adjusting activation compression for neural network training
WO2020170036A1 (en) * 2019-02-22 2020-08-27 Stratuscent Inc. Systems and methods for learning across multiple chemical sensing units using a mutual latent representation
US10646156B1 (en) * 2019-06-14 2020-05-12 Cycle Clarity, LLC Adaptive image processing in assisted reproductive imaging modalities

Also Published As

Publication number Publication date
US11468276B2 (en) 2022-10-11
CN113537486A (zh) 2021-10-22
US20210326663A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
DE102020202335A1 (de) Verfahren und Vorrichtung zum Erstellen eines Modells eines technischen Systems aus Messungen
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
DE102021210721A1 (de) Verfahren und system zum adversarischen training unter verwendung metagelernter initialisierung
DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
DE102019126195A1 (de) Verfahren zur effizienten, simulativen Applikation automatisierter Fahrfunktionen
DE102021205722A1 (de) System und verfahren für mehrskalenmodelle mit tiefem gleichgewicht
DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
DE102023210854A1 (de) Merkmalsextraktor für ein neuronales Netzwerk für Actor-Critic-Reinforcement-Learning-Modelle
DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
DE102020213076A1 (de) Verfahren und vorrichtung für eine fortschrittliche faltung an verschlüsselten daten
DE102020214853A1 (de) Reziprozierende generative modelle
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
EP3748454A1 (de) Verfahren und vorrichtung zum automatischen ausführen einer steuerfunktion eines fahrzeugs
DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe
DE102021204943A1 (de) Meta-gelehrte evolutionsstrategie-blackbox-optimierungsklassifizierer
DE112022003696T5 (de) Verfahren und systeme zur erzeugung von modellen für die bildanalyse pipeline prediction
DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
DE102021213112A1 (de) Steuerungssystem durch verwenden einer gaussschen prozessregression
DE102019214546B4 (de) Computerimplementiertes Verfahren und Vorrichtung zur Optimierung einer Architektur eines künstlichen neuronalen Netzwerks
DE102019119087A1 (de) Komponentenbasierte verarbeitung von eingangsgrössen
EP3650964A2 (de) Verfahren zum steuern oder regeln eines technischen systems
DE102023207515A1 (de) Systeme und Verfahren für expertengeführte Semiüberwachung mit Label-Propagation für maschinelle Lernmodelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed