DE102022123187A1 - Adaptives Reduzieren von neuronalen Netzsystemen - Google Patents

Adaptives Reduzieren von neuronalen Netzsystemen Download PDF

Info

Publication number
DE102022123187A1
DE102022123187A1 DE102022123187.9A DE102022123187A DE102022123187A1 DE 102022123187 A1 DE102022123187 A1 DE 102022123187A1 DE 102022123187 A DE102022123187 A DE 102022123187A DE 102022123187 A1 DE102022123187 A1 DE 102022123187A1
Authority
DE
Germany
Prior art keywords
vehicle
computer
processor
neural network
node
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
DE102022123187.9A
Other languages
English (en)
Inventor
Jacob Alan BOND
Yasaman Esfandiari
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102022123187A1 publication Critical patent/DE102022123187A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein System kann einen Computer mit einem Prozessor und einem Speicher umfassen. Der Speicher umfasst ein trainiertes neuronales Netz mit Befehlen, so dass der Prozessor dazu programmiert ist, ein Reduzierungsverhältnis zu empfangen und mindestens einen Knoten des trainierten tiefen neuronalen Netzes auf der Basis eines Reduzierungsverhältnisses zu reduzieren.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich auf neuronale Netze und insbesondere auf das adaptive Reduzieren eines trainierten neuronalen Netzes.
  • Fahrzeuge verwenden Sensoren, um Daten zu sammeln, während sie arbeiten, wobei die Sensoren Radar, LIDAR, Sichtsysteme, Infrarotsysteme und Ultraschallwandler umfassen. Fahrzeuge können die Sensoren betätigen, um Daten zu sammeln, während sie entlang Fahrbahnen fahren. Auf der Basis der Daten ist es möglich, Parameter zu bestimmen, die dem Fahrzeug zugeordnet sind. Sensordaten können beispielsweise auf Objekte relativ zum Fahrzeug hinweisen.
  • ZUSAMMENFASSUNG
  • Ein System kann einen Computer mit einem Prozessor und einem Speicher umfassen. Der Speicher umfasst ein trainiertes neuronales Netz mit Befehlen, so dass der Prozessor dazu programmiert ist, ein Reduzierungsverhältnis zu empfangen und mindestens einen Knoten des trainierten tiefen neuronalen Netzes auf der Basis eines Reduzierungsverhältnisses zu reduzieren.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Fahrzeugkomponente auf der Basis einer Ausgabe, die durch das trainierte tiefe neuronale Netz erzeugt wird, zu betätigen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, den mindestens einen Knoten zum Reduzieren auf der Basis eines Reduzierungsschwellenwerts auszuwählen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Ausgabe einer Aktivierungsfunktion des mindestens einen Knotens mit dem Reduzierungsschwellenwert zu vergleichen und den mindestens einen Knoten zum Reduzieren auszuwählen, wenn die Aktivierungsfunktion geringer ist als der Reduzierungsschwellenwert.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Ableitung mit Bezug auf eine gewichtete Eingabe des mindestens einen Knotens mit dem Reduzierungsschwellenwert zu vergleichen und den mindestens einen Knoten zum Reduzieren auszuwählen, wenn die Ableitung mit Bezug auf die gewichtete Eingabe geringer ist als der Reduzierungsschwellenwert.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, die Sensordaten von einem Fahrzeugsensor eines Fahrzeugs zu empfangen und die Sensordaten zum trainierten tiefen neuronalen Netz zu liefern.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, periodisch einzustellen, welche Knoten im neuronalen Netz reduziert wurden.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Komponente eines autonomen Fahrzeugs auf der Basis von Sensordaten, die an einem Fahrzeugsensor empfangen werden, zu betätigen.
  • Ein System umfasst einen Server und ein Fahrzeug mit einem Fahrzeugsystem. Das Fahrzeugsystem umfasst einen Computer mit einem Prozessor und einem Speicher, wobei der Speicher ein trainiertes neuronales Netz zusammen mit Befehlen umfasst, so dass der Prozessor dazu programmiert ist, ein Reduzierungsverhältnis zu empfangen und mindestens einen Knoten des trainierten tiefen neuronalen Netzes auf der Basis des Reduzierungsverhältnisses zu reduzieren.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Fahrzeugkomponente auf der Basis einer Ausgabe, die durch das trainierte tiefe neuronale Netz erzeugt wird, zu betätigen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, den mindestens einen Knoten zum Reduzieren auf der Basis eines Reduzierungsschwellenwerts auszuwählen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Ausgabe einer Aktivierungsfunktion des mindestens einen Knotens mit dem Reduzierungsschwellenwert zu vergleichen und den mindestens einen Knoten zum Reduzieren auszuwählen, wenn die Aktivierungsfunktion geringer ist als der Reduzierungsschwellenwert.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Ableitung mit Bezug auf eine gewichtete Eingabe des mindestens einen Knotens mit dem Reduzierungsschwellenwert zu vergleichen und den mindestens einen Knoten zum Reduzieren auszuwählen, wenn die Ableitung mit Bezug auf die gewichtete Eingabe geringer ist als der Reduzierungsschwellenwert.
  • In andren Merkmalen ist der Prozessor ferner dazu programmiert, die Sensordaten von einem Fahrzeugsensor eines Fahrzeugs zu empfangen und die Sensordaten zum trainierten tiefen neuronalen Netz zu liefern.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Komponente eines autonomen Fahrzeugs auf der Basis von an einem Fahrzeugsensor empfangenen Sensordaten zu betätigen.
  • Gemäß anderen Merkmalen ist der Prozessor ferner dazu programmiert, periodisch einzustellen, welche Knoten im neuronalen Netz reduziert wurden.
  • Ein Verfahren umfasst das Reduzieren mindestens eines Knotens eines trainierten tiefen neuronalen Netzes über einen Prozessor auf der Basis eines Reduzierungsverhältnisses und das Betätigen einer Fahrzeugkomponente auf der Basis einer Ausgabe, die durch das trainierte tiefe neuronale Netz erzeugt wird.
  • Gemäß anderen Merkmalen umfasst das Verfahren das Auswählen des mindestens einen Knotens zum Reduzieren auf der Basis eines Reduzierungsschwellenwerts.
  • Gemäß anderen Merkmalen umfasst das Verfahren das periodische Einstellen, welche Knoten des neuronalen Netzes reduziert wurden.
  • Gemäß anderen Merkmalen umfasst das Verfahren das Vergleichen einer Ausgabe einer Aktivierungsfunktion des mindestens einen Knotens mit dem Reduzierungsschwellenwert und das Auswählen des mindestens einen Knotens zum Reduzieren, wenn die Aktivierungsfunktion geringer ist als der Reduzierungsschwellenwert.
  • Gemäß anderen Merkmalen Vergleichen der Ableitung mit Bezug auf eine gewichtete Eingabe des mindestens einen Knotens mit dem Reduzierungsschwellenwert und Auswählen des mindestens einen Knotens zum Reduzieren, wenn die Ableitung mit Bezug auf die gewichtete Eingabe geringer ist als der Reduzierungsschwellenwert.
  • Figurenliste
    • 1 ist ein Diagramm eines Beispielsystems zum adaptiven Reduzieren eines neuronalen Netzes;
    • 2 ist ein Diagramm eines Beispielservers;
    • 3A bis 3C sind Diagramme eines tiefen neuronalen Beispielnetzes;
    • 4A bis 4C ist einen Beispielprozess zum Trainieren eines tiefen neuronalen Netzes;
    • 5 ist ein Beispielbildrahmen von mehreren Objekten, die durch einen Fahrzeugsensor detektiert werden, und die entsprechenden Objektklassifikationen;
    • 6 ist ein Ablaufdiagramm, das einen Beispielprozess zum adaptiven Reduzieren eines trainierten neuronalen Netzes darstellt; und
    • 7 ist ein Ablaufdiagramm, das einen Beispielprozess zum Bestimmen, ob ein Fahrzeug betätigt werden soll, auf der Basis einer Ausgabe von einem reduzierten neuronalen Netz darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Fahrzeugsensoren können Informationen über das Umgebungsumfeld eines Fahrzeugs bereitstellen und Computer können Sensordaten verwenden, die durch die Fahrzeugsensoren detektiert werden, um Objekte zu klassifizieren und/oder einen oder mehrere physikalische Parameter abzuschätzen, die das Umgebungsumfeld betreffen. Einige Fahrzeugcomputer können Maschinenlerntechniken verwenden, um beim Klassifizieren von Objekten und/oder Abschätzen von physikalischen Parametern zu unterstützen.
  • Existierende tiefe Lernmodelle können in der Größe voluminös sein und teure Rechenressourcen zum Trainieren und Schlussfolgern erfordern. Aufgrund der Größe und teuren Rechenressourcen können diese Modelle zum Einsatz innerhalb eines Fahrzeugs ineffizient oder unpraktisch sein. Mit anderen Worten, diese Modelle können vielmehr das Beherbergen auf Cloud-Servern oder Datenzentren als in Fahrzeugen erfordern.
  • Die vorliegende Offenbarung offenbart Systeme und Verfahren zum Reduzieren eines neuronalen Netzes wie z. B. eines tiefen neuronalen Netzes. Ein reduziertes neuronales Netz kann ein neuronales Netz ergeben, das in der Größe relativ kleiner ist, z. B. weniger Speichergrundfläche und weniger Rechenkosten, und das auch genaue Ergebnisse erzeugen kann, d. h. Vorhersagen, Klassifikation usw., wenn es innerhalb eines Fahrzeugs eingesetzt wird.
  • 1 ist ein Blockdiagramm eines Beispielfahrzeugsteuersystems 100. Das System 100 umfasst ein Fahrzeug 105 wie z. B. ein Auto, einen Lastwagen, ein Boot, ein Flugzeug usw. Das Fahrzeug 105 umfasst einen Computer 110, Fahrzeugsensoren 115, Aktuatoren 120, um verschiedene Fahrzeugkomponenten 125 zu betätigen, und ein Fahrzeugkommunikationsmodul 130. Über ein Netz 135 ermöglicht das Kommunikationsmodul 130, dass der Computer 110 mit einem Server 145 kommuniziert.
  • Der Computer 110 umfasst einen Prozessor und einen Speicher. Der Speicher umfasst eine oder mehrere Formen von computerlesbaren Medien und speichert Befehle, die durch den Computer 110 ausführbar sind, zum Durchführen von verschiedenen Operationen, einschließlich wie hier offenbart.
  • Der Computer 110 kann ein Fahrzeug 105 in einem autonomen Modus, einem halbautonomen Modus oder einem nicht autonomen (manuellen) Modus betreiben. Für Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, in dem jedes des Antriebs, des Bremsens und der Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei des Antriebs, des Bremsens und der Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Betreiber jedes des Antriebs, des Bremsens und der Lenkung des Fahrzeugs 105.
  • Der Computer 110 kann eine Programmierung umfassen, um eine oder mehrere der Bremsen, des Antriebs (z. B. Steuerung der Beschleunigung im Fahrzeug durch Steuern von einem oder mehreren einer Brennkraftmaschine, eines Elektromotors, einer Hybridkraftmaschine usw.), der Lenkung, einer Klimaregelung, von Innen- und/oder Außenlichtern usw. des Fahrzeugs 105 zu betreiben sowie zu bestimmen, ob und wann der Computer 110 im Gegensatz zu einem menschlichen Betreiber solche Operationen steuern soll. Außerdem kann der Computer 110 dazu programmiert sein zu bestimmen, ob und wann ein menschlicher Betreiber solche Operationen steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor, z. B. enthalten in elektronischen Controller-Einheiten (ECUs) oder dergleichen, die im Fahrzeug 105 zum Überwachen und/oder Steuern von verschiedenen Fahrzeugkomponenten 125 enthalten sind, z. B. ein Antriebsstrang-Controller, ein Brems-Controller, ein Lenk-Controller usw., umfassen oder nachrichtentechnisch damit gekoppelt sein, z. B. über das Kommunikationsmodul 130 des Fahrzeugs 105, wie nachstehend weiter beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, das das globale Positionsbestimmungssystem (GPS) verwendet. Als Beispiel kann der Computer 110 Ortsdaten des Fahrzeugs 105 anfordern und empfangen. Die Ortsdaten können in einer bekannten Form, z. B. Geokoordinaten (Breitengrad- und Längengradkoordinaten), vorliegen.
  • Der Computer 110 ist im Allgemeinen für Kommunikationen am Kommunikationsmodul 130 des Fahrzeugs 105 und auch mit einem internen verdrahteten und/oder drahtlosen Netz des Fahrzeugs 105, z. B. einem Bus oder dergleichen im Fahrzeug 105, wie z. B. einem Controller-Bereichsnetz (CAN) oder dergleichen, und/oder anderen verdrahteten und/oder drahtlosen Mechanismen angeordnet.
  • Über das Kommunikationsnetz des Fahrzeugs 105 kann der Computer 110 Nachrichten zu verschiedenen Vorrichtungen im Fahrzeug 105 senden und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Fahrzeugsensoren 115, Aktuatoren 120, Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (HMI) usw., empfangen. Alternativ oder zusätzlich kann in Fällen, in denen der Computer 110 tatsächlich mehrere Vorrichtungen umfasst, das Kommunikationsnetz des Fahrzeugs 105 für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als Computer 110 dargestellt sind. Wie nachstehend erwähnt, können ferner verschiedene Controller und/oder Fahrzeugsensoren 115 Daten zum Computer 110 liefern.
  • Fahrzeugsensoren 115 können eine Vielfalt von Vorrichtungen umfassen, wie sie z. B. bekannt sind, um Daten zum Computer 110 zu liefern. Die Fahrzeugsensoren 115 können beispielsweise einen oder mehrere Sensoren 115 zur Lichtdetektion und Entfernungsmessung (Lidar) usw. umfassen, die auf dem Fahrzeug 105, hinter einer vorderen Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 usw. angeordnet sind, die relative Orte, Größen und Formen von Objekten und/oder Bedingungen, die das Fahrzeug 105 umgeben, bereitstellen. Als anderes Beispiel können einer oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um eine Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. relativ zum Ort des Fahrzeugs 105 bereitzustellen und einzuordnen. Die Fahrzeugsensoren 115 können ferner einen oder mehrere Kamerasensoren 115, z. B. Frontansicht, Seitenansicht, Rückansicht, usw., die Bilder von einem Blickfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellen, umfassen.
  • Die Aktuatoren 120 des Fahrzeugs 105 werden über Schaltungen, Chips, Motoren oder andere elektronische und/oder mechanische Komponenten implementiert, die verschiedene Fahrzeuguntersysteme gemäß geeigneten Steuersignalen betätigen können, wie bekannt ist. Die Aktuatoren 120 können verwendet werden, um Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.
  • Im Zusammenhang mit der vorliegenden Offenbarung ist eine Fahrzeugkomponente 125 eine oder mehrere Hardware-Komponenten, die dazu ausgelegt sind, eine mechanische oder elektromechanische Funktion oder Operation durchzuführen - wie z. B. Bewegen des Fahrzeugs 105, Verlangsamen oder Stoppen des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht begrenzende Beispiele von Komponenten 125 umfassen eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. umfasst), eine Getriebekomponente, eine Lenkkomponente (z. B. die eines oder mehrere eines Lenkrades, einer Zahnstange usw. umfassen kann), eine Bremskomponente (wie nachstehend beschrieben), eine Parkassistenzkomponente, eine adaptive Tempomatkomponente, eine adaptive Lenkkomponente, einen beweglichen Sitz usw.
  • Außerdem kann der Computer 110 zur Kommunikation über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder eine Fahrzeug-zu-Fahrzeug-Kommunikationsschnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105 konfiguriert sein, z. B. durch drahtlose Fahrzeug-zu-Fahrzeug-Kommunikationen (V2V-Kommunikationen) oder Fahrzeug-zu-Infrastruktur-Kommunikationen (V2X-Kommunikationen) mit einem anderen Fahrzeug, mit (typischerweise über das Netz 135) einem entfernten Server 145. Das Modul 130 könnte einen oder mehrere Mechanismen umfassen, durch die der Computer 110 kommunizieren kann, einschließlich irgendeiner gewünschten Kombination von drahtlosen (z. B. zellular, drahtlos, Satellit, Mikrowelle und Hochfrequenz) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationen, die über das Modul 130 bereitgestellt werden, umfassen zellular, Bluetooth®, IEEE 802.11, zweckgebundene Kurzstreckenkommunikationen (DSRC) und/oder weiträumige Netze (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Das Netz 135 umfasst einen oder mehrere Mechanismen, durch die ein Computer 110 mit einem Server 145 kommunizieren kann. Folglich kann das Netz 135 eines oder mehrere von verschiedenen verdrahteten oder drahtlosen Kommunikationsmechanismen sein, einschließlich irgendeiner gewünschten Kombination von verdrahteten (z. B. Kabel und Faser) und/oder drahtlosen (z. B. zellular, drahtlos, Satellit, Mikrowelle und Hochfrequenz) Kommunikationsmechanismen und irgendeiner gewünschten Netztopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationsnetze umfassen drahtlose Kommunikationsnetze (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V) wie z. B. zweckgebundene Kurzstreckenkommunikationen (DSRC) usw.), lokale Netze (LAN) und/oder weiträumige Netze (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Der Server 145 kann eine Rechenvorrichtung, d. h. mit einem oder mehreren Prozessoren und einem oder mehreren Speichern, sein, die dazu programmiert ist, Operationen bereitzustellen, wie z. B. hier offenbart. Ferner kann auf den Server 145 über das Netz 135, z. B. das Internet oder irgendein anderes weiträumiges Netz, zugegriffen werden.
  • Ein Computer 110 kann Daten von Sensoren 115 im Wesentlichen kontinuierlich, periodisch, und/oder wenn es durch einen Server 145 angewiesen wird, usw., empfangen und analysieren. Ferner können Objektklassifikations- oder Objektidentifikationstechniken verwendet werden, z. B. in einem Computer 110 auf der Basis von Daten eines Lidarsensors 115, Kamerasensors 115, usw., um einen Typ von Objekt, z. B. Fahrzeug, Person, Fels, Schlagloch, Fahrrad, Motorrad usw., sowie physikalische Merkmale von Objekten zu identifizieren.
  • Verschiedene Techniken, wie sie z. B. bekannt sind, können verwendet werden, um Daten des Sensors 115 zu interpretieren. Kamera- und/oder Lidarbilddaten können beispielsweise zu einem Klassifikator geliefert werden, der eine Programmierung umfasst, um eine oder mehrere Bildklassifikationstechniken zu verwenden. Der Klassifikator kann beispielsweise eine Maschinenlerntechnik verwenden, in der Daten, von denen bekannt ist, dass sie verschiedene Objekte darstellen, zu einem Maschinenlernprogramm zum Trainieren des Klassifikators geliefert werden. Sobald er trainiert ist, kann der Klassifikator als Eingabe ein Bild annehmen und dann als Ausgabe für jede von einer oder mehrere jeweiligen interessierenden Regionen in dem Bild eine Angabe von einem oder mehreren Objekten oder eine Angabe, dass kein Objekt in der jeweiligen interessierenden Region vorhanden ist, bereitstellen. Ferner kann ein Koordinatensystem (z. B. polar oder kartesisch), das auf einen Bereich nahe einem Fahrzeug 105 angewendet wird, angewendet werden, um Orte und/oder Bereiche (z. B. gemäß dem Koordinatensystem des Fahrzeugs 105, das in globale geographische Breitengrad- und Längengradkoordinaten umgesetzt ist, usw.) von Objekten, die aus den Daten des Sensors 115 identifiziert werden, festzulegen. Noch ferner könnte ein Computer 110 verschiedene Techniken zum Fusionieren von Daten von verschiedenen Sensoren 115 und/oder Typen von Sensoren 115, z. B. Lidar-, Radar- und/oder optische Kameradaten, verwenden.
  • 2 ist ein Blockdiagramm eines Beispielservers 145. Der Server 145 umfasst einen Computer 235 und ein Kommunikationsmodul 240. Der Computer 235 umfasst einen Prozessor und einen Speicher. Der Speicher umfasst eine oder mehrere Formen von computerlesbaren Medien und speichert Befehle, die durch den Computer 235 ausführbar sind, zum Durchführen von verschiedenen Operationen, einschließlich wie hier offenbart. Das Kommunikationsmodul 240 ermöglicht, dass der Computer 235 mit anderen Vorrichtungen wie z. B. dem Fahrzeug 105 kommuniziert.
  • 3A bis 3C sind Diagramme eines tiefen neuronalen Beispielnetzes (DNN) 300. Das DNN 300 kann ein Software-Programm sein, das beispielsweise in den Speicher geladen und durch einen im Computer 110 enthaltenen Prozessor ausgeführt werden kann. In einer Beispielimplementierung kann das DNN 300 ein faltendes neuronales Netz (CNN), R-CNN (Regionen mit CNN-Merkmalen), schnelles R-CNN und schnelleres R-CNN umfassen, ist jedoch nicht darauf begrenzt. Das DNN 300 umfasst mehrere Knoten 305 und die Knoten 305 sind so angeordnet, dass das DNN 300 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht umfasst. Jede Schicht des DNN 300 kann mehrere Knoten 305 umfassen. Obwohl 3A bis 3C drei (3) verborgene Schichten darstellen, ist selbstverständlich, dass das DNN 300 zusätzliche oder weniger verborgene Schichten umfassen kann. Die Eingabe- und die Ausgabeschicht können auch mehr als einen (1) Knoten 305 umfassen.
  • Die Knoten 305 werden manchmal als künstliche Neuronen 305 bezeichnet, da sie dazu ausgelegt sind, biologische, z. B. menschliche, Neuronen zu emulieren. Ein Satz von Eingaben (durch die Pfeile dargestellt) in jedes Neuron 305 wird jeweils mit jeweiligen Gewichten multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um, möglicherweise durch eine Vorbelastung eingestellt, eine Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann zu einer Aktivierungsfunktion geliefert werden, die wiederum ein verbundenes Neuron 305 als Ausgabe bereitstellt. Die Aktivierungsfunktion kann eine Vielfalt von geeigneten Funktionen sein, die typischerweise auf der Basis einer empirischen Analyse ausgewählt wird. Wie durch die Pfeile in 3A bis 3C dargestellt, können Ausgaben des Neurons 305 dann für die Aufnahme in einen Satz von Eingaben in ein oder mehrere Neuronen 305 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 300 kann trainiert werden, um Daten des Sensors 115, z. B. vom CAN-Bus des Fahrzeugs 105 oder einem anderen Netz, als Eingabe anzunehmen und eine Verteilung von möglichen Ausgaben auf der Basis der Eingabe zu erzeugen. Das DNN 300 kann mit Ground-Truth-Daten, d. h. Daten über eine Bedingung oder einen Zustand der realen Welt, trainiert werden. Das DNN 300 kann beispielsweise mit Ground-Truth-Daten trainiert oder mit zusätzlichen Daten durch einen Prozessor des Servers 145 aktualisiert werden. Das DNN 300 kann zum Fahrzeug 105 über das Netz 135 übertragen werden. Gewichte können durch eine Gauß-Verteilung beispielsweise initialisiert werden und eine Vorbelastung für jeden Knoten 305 kann auf null gesetzt werden. Das Trainieren des DNN 300 kann das Aktualisieren von Gewichten und Vorbelastungen über geeignete Techniken wie z. B. Rückpropagierung mit Optimierungen umfassen. Ground-Truth-Daten können Daten, die Objekte innerhalb eines Bildes angeben, oder Daten, die einen physikalischen Parameter, z. B. Winkel, Geschwindigkeit, Abstand oder Winkel des Objekts relativ zu einem anderen Objekt, angeben, umfassen, sind jedoch nicht darauf begrenzt. Die Ground-Truth-Daten können beispielsweise Daten sein, die Objekte und Objektbezeichnungen darstellen. In einem anderen Beispiel können die Ground-Truth-Daten Daten sein, die ein Objekt und einen relativen Winkel des Objekts mit Bezug auf ein anderes Objekt darstellen.
  • Nach einer Trainingsphase kann das DNN 300 reduziert werden, um das DNN 300, das während der Schlussfolgerung verwendet wird, weiter zu komprimieren. 3A stellt ein Beispiel-DNN 300 nach dem Trainieren und vor dem Reduzieren dar. 3B stellt ein Beispiel-DNN 300 dar, in dem verschiedene gewichtete Eingaben vor dem Betrieb des DNN 300 reduziert sind. 3C stellt ein Beispiel-DNN 300 dar, in dem verschiedene Knoten 305 reduziert sind. Das Reduzieren einer gewichteten Eingabe und/oder eines Knotens 305 kann das Deaktivieren der ausgewählten gewichteten Eingabe und/oder des ausgewählten Knotens 305 umfassen.
  • In einigen Implementierungen kann das DNN 300 gemäß einem Zielreduzierungsverhältnis reduziert werden. Das Zielreduzierungsverhältnis kann fest oder dynamisch sein. Der Computer 110 und/oder der Server 145 können beispielsweise eine Eingabe empfangen, die das Zielreduzierungsverhältnis darstellt. Der Computer 110 und/oder der Server 145 können iterativ das DNN 300 gemäß dem Zielreduzierungsverhältnis reduzieren. Der Computer 110 und/oder der Server 145 können beispielsweise ein oder mehrere gewichtete Eingaben und/oder Knoten 305 während einer ersten Iteration reduzieren, ein aktuelles Reduzierungsverhältnis des DNN 300 mit dem Zielreduzierungsverhältnis vergleichen und eine oder mehrere gewichtete Eingaben und/oder Knoten 305 während einer zweiten Iteration reduzieren, wenn das aktuelle Reduzierungsverhältnis des DNN 300 geringer ist als das Zielreduzierungsverhältnis. Sobald es reduziert ist, kann der Computer 110 dieses reduzierte DNN 300 für eine oder mehrere Aufgaben, wie z. B. Objektdetektion und/oder Objektklassifikation, implementieren.
  • Der Computer 110 und/oder der Computer 245 können gewichtete Eingaben und/oder Knoten 305 durch Vergleichen eines Werts des Gewichts der gewichteten Eingabe oder des Werts des Knotens 305 mit einem Reduzierungsschwellenwert oder auf der Basis der Gradienten der Verlustfunktion mit Bezug auf das Gewicht zum Reduzieren auswählen. Der Reduzierungsschwellenwert kann auf der Basis einer empirischen Analyse ausgewählt werden. Sobald es im Fahrzeug 105 eingesetzt wird, kann der Computer 110 beispielsweise ein oder mehrere Neuronen des DNN 300 während der Schlussfolgerung überwachen.
  • 4A und 4B stellen einen Beispielprozess zum Trainieren von einem oder mehreren DNNs 300 gemäß einer oder mehreren Implementierungen der vorliegenden Offenbarung dar. 4A stellt eine anfängliche Trainingsphase dar, in der das DNN 300 einen Satz von bezeichneten Trainingsdaten empfängt, z. B. in Form von Trainingsdaten 405 und Trainingsbezeichnungen 410. Die Trainingsdaten 405 können Bilder umfassen, die verschiedene interessierende Objekte innerhalb eines Fahrzeugumfeldes darstellen. Die Trainingsbezeichnungen 410 können Bezeichnungen umfassen, die die Objekte identifizieren. Nach der anfänglichen Trainingsphase wird in einer überwachten Trainingsphase ein Satz von N Trainingsdaten 415 in das DNN 300 eingegeben. Das DNN 300 erzeugt Ausgaben, die eine Objektklassifikation angeben, für alle der N Trainingsdaten 415. Die Objektklassifikation ist eine Wahrscheinlichkeit, die angibt, welche Objekte innerhalb der empfangenen Trainingsdaten vorhanden sind. In einer Beispielimplementierung kann das DNN 300 eine Wahrscheinlichkeit erzeugen, die angibt, ob ein innerhalb eines Bildes dargestelltes Objekt eine Person, ein Fahrzeug, ein Schild oder dergleichen ist.
  • 4B stellt ein Beispiel zum Erzeugen einer Ausgabe für einmalige Trainingsdaten 415, wie z. B. ein nicht bezeichnetes Trainingsbild, der N Trainingsdaten 415 dar. Auf der Basis des anfänglichen Trainings gibt das DNN 300 eine Vektordarstellung 420 der Objektklassifikation aus. Die Vektordarstellung 420 kann als Darstellung mit fester Länge der Wahrscheinlichkeiten für alle der N Trainingsdaten 415 definiert sein. Die Vektordarstellung 420 wird mit den Ground-Truth-Daten 425 verglichen. Das DNN 300 aktualisiert Netzparameter auf der Basis des Vergleichs der Ground-Truth-Boxen 425. Die Netzparameter, z. B. Gewichte, die den Neuronen zugeordnet sind, können beispielsweise über Rückpropagierung aktualisiert werden. Das DNN 300 kann am Server 145 trainiert werden und zum Fahrzeug 105 über das Kommunikationsnetz 135 geliefert werden. Die Rückpropagierung ist eine Technik zum Rückwärtspropagieren einer Ableitung durch aufeinander folgende Operationen in einem Rechengraphen. Die Verlustfunktion bestimmt, wie genau das DNN 300 die Eingabedaten 415 verarbeitet hat. Das DNN 300 kann mehrere Male an einer einzelnen Eingabe 415 ausgeführt werden, während Parameter verändert werden, die die Verarbeitung des DNN 300 steuern, d. h. bis das DNN 300 konvergiert. Parameter, die korrekten Antworten entsprechen, wie durch eine Verlustfunktion bestätigt, die die Ausgaben der Ground-Truth vergleicht, werden als Kandidatenparameter gespeichert. Nach den Trainingsdurchläufen werden die Kandidatenparameter, die die korrektesten Ergebnisse erzeugen, als Parameter gespeichert, die verwendet werden können, um das DNN 300 während des Betriebs zu programmieren.
  • Nach dem Training kann das DNN 300 durch den Fahrzeugcomputer 110 verwendet werden, um Sensordaten zu detektieren und/oder zu klassifizieren, die innerhalb empfangener Bilder 430 dargestellt sind, wie in 4C gezeigt. Das DNN 300 kann beispielsweise in einem Beispiel Sensordaten 430 empfangen und eine Ausgabe 435 erzeugen, die eine Objektklassifikation angibt. Die Ausgabe 435 kann in einigen Fällen durch den Computer 110 verwendet werden, um das Fahrzeug 105 zu betreiben. Der Computer 110 kann beispielsweise Steuerdaten zu einem oder mehreren Aktuatoren 120 senden, um den Betrieb des Fahrzeugs 105 auf der Basis der Ausgabe 435 zu steuern.
  • 5 stellt ein Beispielbild 500 dar, das durch die Sensoren 115 erfasst wird. Die durch das DNN 300 erzeugte Ausgabe kann die Objektklassifikationen sein. Wie in 5 gezeigt, kann das DNN 300 das Objekt 505 als Person klassifizieren und das Objekt 510 als Schild klassifizieren.
  • 6 ist ein Ablaufplan eines Beispielprozesses 600 zum Reduzieren eines DNN 300 während der Schlussfolgerung. Blöcke des Prozesses 600 können durch den Computer 110 des Fahrzeugs 105 und/oder den Computer 245 des Servers 145 ausgeführt werden. Der Prozess 600 beginnt im Block 605, in dem ein trainiertes DNN 300 empfangen wird. Das DNN 300 kann beispielsweise trainiert werden, wie vorstehend mit Bezug auf 4A und 4B beschrieben. Wie hier erörtert, werden verschiedene Knoten 305 und/oder gewichtete Eingaben des DNN 300 während der Schlussfolgerung reduziert.
  • Im Block 610 werden gewichtete Eingaben und/oder Knoten 305 für das Reduzieren ausgewählt. Der Computer 110 und/oder der Computer 245 können beispielsweise bestimmen, welche Knoten 305 die größten Aktivierungen relativ zum Reduzierungsschwellenwert umfassen. In diesem Beispiel können der Computer 110 und/oder der Computer 245 die Knoten 305 mit einem Aktivierungswert, der geringer ist als der Reduzierungsschwellenwert, zum Reduzieren auswählen. In einem anderen Beispiel können der Computer 110 und/oder der Computer 245 die Werte des Gewichts der gewichteten Eingaben mit dem Reduzierungsschwellenwert vergleichen. Wenn in diesem Beispiel die Werte des Gewichts der gewichteten Eingaben geringer sind als der Reduzierungsschwellenwert, werden die entsprechende gewichteten Eingaben und/oder Knoten zum Reduzieren ausgewählt. In einer Beispielimplementierung werden die ausgewählten gewichteten Eingaben und/oder Knoten 305 deaktiviert. In einigen Fällen können der Computer 110 und/oder der Computer 245 jeweils eine Schicht des DNN 300 für Reduzierungszwecke auswählen. Es ist selbstverständlich, dass der Computer 110 und/oder der Computer 245 das DNN 300 auf der Basis von Sensordaten reduzieren können, die während der Schlussfolgerung am DNN 300 empfangen werden. In einer Beispielimplementierung können der Computer 110 und/oder der Computer 245 die Knoten 305 und/oder gewichteten Eingaben auswählen, nachdem mindestens eine Charge von Sensordaten zum DNN 300 während der Schlussfolgerung geliefert wurde.
  • Im Block 615 wird eine Bestimmung durchgeführt, ob das aktuelle Reduzierungsverhältnis des DNN 300 geringer ist als das Zielreduzierungsverhältnis. Wenn das aktuelle Reduzierungsverhältnis geringer ist als das Zielreduzierungsverhältnis, kehrt der Prozess 600 zum Block 610 zurück. Wenn das aktuelle Reduzierungsverhältnis größer als oder gleich dem Zielreduzierungsverhältnis ist, endet der Prozess 600.
  • 7 ist ein Ablaufplan eines Beispielprozesses 700 zum Steuern des Fahrzeugs 105 auf der Basis der bestimmten Ausgabe eines reduzierten DNN 300. Blöcke des Prozesses 700 können durch den Computer 110 ausgeführt werden. Der Prozess 700 beginnt im Block 705, in dem der Computer 110 auf der Basis der bestimmten Ausgabe bestimmt, ob das Fahrzeug 105 betätigt werden soll. Der Computer 110 kann beispielsweise Sensordaten von einem oder mehreren Sensoren 115 empfangen. Die Sensordaten werden zum reduzierten DNN 300 geliefert und das reduzierte DNN 300 erzeugt Ausgaben auf der Basis der Sensordaten. Das DNN 300 kann beispielsweise ein neuronales Netz umfassen, das dazu konfiguriert ist, Objekte auf der Basis der empfangenen Sensordaten zu detektieren und/oder zu identifizieren. Der Computer 110 kann eine Nachschlagetabelle umfassen, die eine Entsprechung zwischen einer bestimmten Ausgabe und einer Fahrzeugbetätigungshandlung herstellt. Auf der Basis von Daten, die am reduzierten DNN 300 empfangen werden, kann der Computer 110 beispielsweise bewirken, dass das Fahrzeug 105 eine festgelegte Handlung durchführt, z. B. eine Wende des Fahrzeugs 105 einleitet, die Richtung des Fahrzeugs 105 einstellt, die Geschwindigkeit des Fahrzeugs 105 einstellt, usw. In einem anderen Beispiel kann auf der Basis des bestimmten Abstandes zwischen dem Fahrzeug 105 und einem Objekt der Computer 110 bewirken, dass das Fahrzeug 105 eine festgelegte Handlung durchführt, z. B. eine Wende 105 des Fahrzeugs einleitet, einen externen Alarm einleitet, die Geschwindigkeit des Fahrzeugs 105 einstellt, usw.
  • Wenn der Computer bestimmt, dass keine Betätigung stattfinden soll, kehrt der Prozess 700 zum Block 705 zurück. Ansonsten bewirkt im Block 710 der Computer 110, dass das Fahrzeug 105 gemäß der festgelegten Handlung betätigt. Der Computer 110 überträgt beispielsweise die geeigneten Steuersignale zu den entsprechenden Aktuatoren 120 des Fahrzeugs 105. Der Prozess 700 endet dann.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder Rechenvorrichtungen irgendeines von einer Anzahl von Computerbetriebssystemen verwenden, einschließlich, jedoch keineswegs begrenzt auf Versionen und/oder Varianten des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Unix-Betriebssystems (z. B. des Solaris®-Betriebssystems, das von Oracle Corporation in Redwood Shores, Kalifornien, vertrieben wird), des AIX-UNIX-Betriebssystems, das von International Business Machines in Armonk, New York, vertrieben wird, des Linux-Betriebssystems, der Betriebssysteme Mac OSX und iOS, die von Apple Inc. in Cupertino, Kalifornien, vertrieben werden, des BlackBerry-OS, das von Blackberry, Ltd. in Waterloo, Kanada, vertrieben wird, und des Android-Betriebssystems, das von Google, Inc. und der Open Handset Alliance entwickelt wird, oder der QNXO-CAR-Plattform für Infotainment, die von QNX Software Systems angeboten wird. Beispiele von Rechenvorrichtungen umfassen ohne Begrenzung einen Fahrzeugbordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop, ein Notebook, ein Laptop oder einen in der Hand gehaltenen Computer oder irgendein anderes Rechensystem und/oder irgendeine andere Rechenvorrichtung.
  • Computer und Rechenvorrichtungen umfassen im Allgemeinen computerausführbare Befehle, wobei die Befehle durch eine oder mehrere Rechenvorrichtungen wie z. B. die vorstehend aufgelisteten ausführbar sein können. Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder Programmiertechnologien erstellt werden, einschließlich ohne Begrenzung und entweder allein oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine kompiliert und ausgeführt werden, wie z. B. der virtuellen Maschine von Java, der virtuellen Maschine von Dalvik oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium, usw. und führt diese Befehle aus, wodurch ein oder mehrere Prozesse durchgeführt werden, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Solche Befehle und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie z. B. einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
  • Der Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) umfassen, das irgendein nichttransitorisches (z. B. konkretes) Medium umfasst, das an der Bereitstellung von Daten (z. B. Befehlen) teilnimmt, die durch einen Computer (z. B. durch einen Prozessor eines Computers) gelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich, jedoch nicht begrenzt auf nichtflüchtige Medien und flüchtige Medien. Nichtflüchtige Medien können beispielsweise optische oder magnetische Platten oder einen anderen dauerhaften Speicher umfassen. Flüchtige Medien können beispielsweise einen dynamischen Direktzugriffsspeicher (DRAM) umfassen, der typischerweise einen Hauptspeicher bildet. Solche Befehle können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Faseroptik, einschließlich der Drähte, die einen Systembus umfassen, der mit einem Prozessor einer ECU gekoppelt ist. Übliche Formen von computerlesbaren Medien umfassen beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Magnetband, irgendein anderes magnetisches Medium, eine CD-ROM, eine DVD, irgendein anderes optisches Medium, Lochkarten, einen Lochstreifen, irgendein anderes physikalisches Medium mit Mustern von Löchern, einen RAM, einen PROM, einen EPROM, ein FLASH-EEPROM, irgendeinen anderen Speicherchip oder eine Kassette oder irgendein anderes Medium, von dem ein Computer lesen kann.
  • Datenbanken, Datenarchive oder andere Datenspeicher, die hier beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern, Zugreifen auf und Abrufen von verschiedenen Arten von Daten umfassen, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem firmeneigenen Format, eines Managementsystems einer relationalen Datenbank (RDBMS), usw. Jeder solche Datenspeicher ist im Allgemeinen innerhalb einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem verwendet, wie z. B. eines der vorstehend erwähnten, und auf die über ein Netz in irgendeiner oder mehreren einer Vielfalt von Weisen zugegriffen wird. Ein Dateisystem kann von einem Computerbetriebssystem zugänglich sein und kann Dateien umfassen, die in verschiedenen Formaten gespeichert sind. Ein RDBMS verwendet im Allgemeinen die strukturierte Abfragesprache (SQL) zusätzlich zu einer Sprache zum Erstellen, Speichern, Bearbeiten und Ausführen von gespeicherten Prozeduren, wie z. B. die vorstehend erwähnte PL/SQL-Sprache.
  • In einigen Beispielen können Systemelemente als computerlesbare Befehle (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personalcomputern usw.) implementiert werden, die auf computerlesbaren Medien gespeichert sind, die diesen zugeordnet sind (z. B. Platten, Speicher usw.). Ein Computerprogrammprodukt kann solche Befehle, die auf computerlesbaren Medien gespeichert sind, zum Ausführen der hier beschriebenen Funktionen umfassen.
  • Im Hinblick auf die Medien, Prozesse, Systeme, Verfahren, Heuristik usw., die hier beschrieben sind, sollte selbstverständlich sein, dass, obwohl die Schritte solcher Prozesse usw. als gemäß einer bestimmten geordneten Sequenz stattfindend beschrieben wurden, solche Prozesse ausgeführt werden können, wobei die beschriebenen Schritte in einer anderen Reihenfolge als der hier beschriebenen Reihenfolge durchgeführt werden. Ferner sollte selbstverständlich sein, dass bestimmte Schritte gleichzeitig durchgeführt werden können, dass andere Schritte hinzugefügt werden können oder dass bestimmte hier beschriebene Schritte weggelassen werden können. Mit anderen Worten, die Beschreibungen von Prozessen hier sind für den Zweck der Erläuterung von bestimmten Ausführungsformen vorgesehen und sollten keineswegs als Begrenzung der Ansprüche aufgefasst werden.
  • Folglich ist zu verstehen, dass die obige Beschreibung erläuternd und nicht einschränkend sein soll. Viele andere Ausführungsformen und Anwendungen als die bereitgestellten Beispiele wären für den Fachmann auf dem Gebiet beim Lesen der obigen Beschreibung ersichtlich. Der Schutzbereich der Erfindung sollte nicht mit Bezug auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen mit Bezug auf die beigefügten Ansprüche zusammen mit dem vollen Schutzbereich von Äquivalenten, zu denen solche Ansprüche berechtigt sind, bestimmt werden. Es wird erwartet und ist beabsichtigt, dass zukünftige Entwicklungen auf den hier erörterten Fachgebieten stattfinden und dass die offenbarten Systeme und Verfahren in solche zukünftigen Ausführungsformen aufgenommen werden. Zusammengefasst ist zu verstehen, dass die Erfindung zu einer Modifikation und Variation in der Lage ist und nur durch die folgenden Ansprüche begrenzt ist.
  • Allen in den Ansprüchen verwendeten Begriffen sollen ihre klaren und gewöhnlichen Bedeutungen gegeben werden, wie vom Fachmann auf dem Gebiet verstanden, wenn hier keine gegenteilige explizite Angabe gemacht ist. Insbesondere sollte die Verwendung der Singularartikel wie z. B. „ein“, „der“, „der genannte“ usw. so gelesen werden, dass eines oder mehrere der angegebenen Elemente zitiert sind, wenn nicht ein Anspruch im Gegenteil eine explizite Begrenzung zitiert.

Claims (9)

  1. System, das einen Computer mit einem Prozessor und einem Speicher umfasst, wobei der Speicher Befehle enthält, so dass der Prozessor dazu programmiert ist: ein trainiertes tiefes neuronales Netz von einem Server zu empfangen; und mindestens einen Knoten des trainierten tiefen neuronalen Netzes auf der Basis eines Reduzierungsverhältnisses zu reduzieren.
  2. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist: eine Fahrzeugkomponente auf der Basis einer Ausgabe zu betätigen, die durch das trainierte tiefe neuronale Netz erzeugt wird.
  3. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist: den mindestens einen Knoten zum Reduzieren auf der Basis eines Reduzierungsschwellenwerts auszuwählen.
  4. System nach Anspruch 3, wobei der Prozessor ferner dazu programmiert ist: eine Aktivierungsfunktion des mindestens einen Knotens mit dem Reduzierungsschwellenwert zu vergleichen; und den mindestens einen Knoten zum Reduzieren auszuwählen, wenn die Aktivierungsfunktion geringer ist als der Reduzierungsschwellenwert.
  5. System nach Anspruch 3, wobei der Prozessor ferner dazu programmiert ist: eine gewichtete Eingabe des mindestens einen Knotens mit dem Reduzierungsschwellenwert zu vergleichen; und den mindestens einen Knoten zum Reduzieren auszuwählen, wenn die gewichtete Eingabe geringer ist als der Reduzierungsschwellenwert.
  6. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist: die Sensordaten von einem Fahrzeugsensor eines Fahrzeugs zu empfangen; und die Sensordaten zum trainierten tiefen neuronale Netz zu liefern.
  7. System nach Anspruch 1, wobei das tiefe neuronale Netz ein faltendes neuronales Netz umfasst.
  8. System nach Anspruch 7, wobei der Prozessor ferner dazu programmiert ist: anfänglich den mindestens einen Knoten auszuwählen, der innerhalb einer Schicht einer berichtigten linearen Einheit (ReLU) liegt.
  9. System nach Anspruch 1, wobei der Prozessor ferner dazu programmiert ist: eine Komponente eines autonomen Fahrzeugs auf der Basis von Sensordaten, die an einem Fahrzeugsensor empfangen werden, zu betätigen.
DE102022123187.9A 2021-11-18 2022-09-12 Adaptives Reduzieren von neuronalen Netzsystemen Pending DE102022123187A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/529,815 2021-11-18
US17/529,815 US20230153623A1 (en) 2021-11-18 2021-11-18 Adaptively pruning neural network systems

Publications (1)

Publication Number Publication Date
DE102022123187A1 true DE102022123187A1 (de) 2023-05-25

Family

ID=86227530

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022123187.9A Pending DE102022123187A1 (de) 2021-11-18 2022-09-12 Adaptives Reduzieren von neuronalen Netzsystemen

Country Status (3)

Country Link
US (1) US20230153623A1 (de)
CN (1) CN116136963A (de)
DE (1) DE102022123187A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117131920B (zh) * 2023-10-26 2024-01-30 北京市智慧水务发展研究院 一种基于网络结构搜索的模型剪枝方法
CN117829242B (zh) * 2024-03-04 2024-05-03 腾讯科技(深圳)有限公司 模型处理方法及相关设备

Also Published As

Publication number Publication date
US20230153623A1 (en) 2023-05-18
CN116136963A (zh) 2023-05-19

Similar Documents

Publication Publication Date Title
US10752253B1 (en) Driver awareness detection system
US11107228B1 (en) Realistic image perspective transformation using neural networks
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102022125228A1 (de) Automatisiertes fahrsystem mit gewünschtem niveau der fahraggresivität
DE102022123257A1 (de) Selektives Ausscheiden der Merkmale für entgegenwirkende Robustheit neuronaler Netze
DE102023101951A1 (de) Fahrzeugsteuerung für optimierten betrieb
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102022125908A1 (de) Zielschlupfschätzung
DE102021134645A1 (de) Erneutes trainieren von neuronalem netzwerk in echtzeit
US10977783B1 (en) Quantifying photorealism in simulated data with GANs
US11620475B2 (en) Domain translation network for performing image translation
DE102020126154A1 (de) Zertifizierte robustheit gegenüber gegnerischen angriffen für tiefes bestärkendes lernen
US20220172062A1 (en) Measuring confidence in deep neural networks
DE102022122657A1 (de) Validierungssystem für neuronale Netze
DE102022127647A1 (de) Kalibrieren von parametern innerhalb einer virtuellen umgebung unter verwendung verstärkenden lernens
US11321587B2 (en) Domain generation via learned partial domain translations
US11068749B1 (en) RCCC to RGB domain translation with deep neural networks
DE102023100599A1 (de) Rechnerisch effizientes unüberwachtes dnn-vortraining
DE102020134530A1 (de) Rückaufprallwarnsystem mit temporärem cnn

Legal Events

Date Code Title Description
R012 Request for examination validly filed