DE102020213238A1 - Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken - Google Patents

Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken Download PDF

Info

Publication number
DE102020213238A1
DE102020213238A1 DE102020213238.0A DE102020213238A DE102020213238A1 DE 102020213238 A1 DE102020213238 A1 DE 102020213238A1 DE 102020213238 A DE102020213238 A DE 102020213238A DE 102020213238 A1 DE102020213238 A1 DE 102020213238A1
Authority
DE
Germany
Prior art keywords
neural network
pruning
substructures
matrix
loss function
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
DE102020213238.0A
Other languages
English (en)
Inventor
Manuel Nonnenmacher
David Reeb
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
Priority to DE102020213238.0A priority Critical patent/DE102020213238A1/de
Priority to US17/450,773 priority patent/US20220121960A1/en
Priority to CN202111215634.5A priority patent/CN114386558A/zh
Priority to JP2021170953A priority patent/JP2022067651A/ja
Publication of DE102020213238A1 publication Critical patent/DE102020213238A1/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Abstract

Die vorliegende Erfindung betrifft Techniken zum Erzeugen eines vereinfachten Computer-implementierten neuronalen Netzwerkes für eine Vorrichtung. Das Verfahren umfasst das Empfangen eines vorgegebenen neuronalen Netzwerkes, das eine Mehrzahl von neuronalen Netzwerkunterstrukturen in zwei oder mehr Schichten enthält. Das Verfahren umfasst weiterhin das Berechnen eines approximativen neuronalen Netzwerkes für das vorgegebene neuronale Netzwerk und das Berechnen einer Matrix in Bezug auf das approximative neuronale Netzwerk, die Änderungen in einer Verlustfunktion durch das Beschneiden einer oder mehrerer neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen beschreibt. Die Matrix beschreibt die Änderungen in der Verlustfunktion durch gleichzeitiges Beschneiden von mindestens zwei Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen, die sich innerhalb verschiedener Schichten der zwei oder mehr Schichten des vorgegebenen neuronalen Netzwerkes befinden. Das Verfahren umfasst schließlich das Beschneiden, basierend auf den in der Matrix beschriebenen Änderungen der Verlustfunktion, mindestens einer neuronalen Netzwerkunterstruktur aus der Mehrzahl von neuronalen Netzwerkunterstrukturen, um das vereinfachte neuronale Netzwerk zu erzeugen.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft Techniken zum Erzeugen eines vereinfachten Computer-implementierten neuronalen Netzwerkes aus einem vorgegebenen neuronalen Netzwerk und Techniken zum Anwenden eines vereinfachten Computerimplementierten neuronalen Netzwerkes.
  • Hintergrund
  • Computer-implementierte neuronale Netzwerke werden vermehrt in verschiedenen technischen Vorrichtungen eingesetzt. Hierbei können die neuronalen Netzwerke für viele technische Vorrichtungen komplexe Strukturen (z.B., mit einer großen Anzahl von Neuronen, Schichten und entsprechenden Verbindungen) aufweisen. Das kann (zu) hohe Anforderungen an die für das Anwenden der neuronalen Netzwerke erforderliche Hardware stellen. Deshalb kann es nötig sein, einen Kompromiss zwischen der Leistungsfähigkeit des Computer-implementierten neuronalen Netzwerkes und seiner Komplexität zu finden.
  • Um das oben erwähnte Problem zu adressieren, wurden so genannte Beschneidungsverfahren („pruning methods“) entwickelt. Diese zielen einerseits darauf ab, die Größe der neuronalen Netzwerke zu reduzieren und ihrer Gesamtstruktur zu vereinfachen, aber andererseits eine gute Gesamtleistung der vereinfachten neuronalen Netzwerke beizubehalten (oder möglichst wenig zu beinträchtigen). Die anhand dieser Verfahren vereinfachten neuronalen Netzwerke können somit z.B. für kleinere technische Geräte mit limitierten Hardware-Ressourcen (wie beispielsweise elektrische Werkzeuge, Garten- oder Hausgeräte usw.) eingesetzt werden. In anderen Beispielen kann es nötig sein, die Bewertungszeit eines Computer-implementierten neuronalen Netzwerkes zu reduzieren, um eine ausreichende schnelle Reaktion einer technischen Vorrichtung zu gewährleisten (z.B. eines autonomen Roboters). Auch dafür kann es vorteilhaft sein, ein Computer-implementiertes neuronales Netzwerk zu vereinfachen.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen eines vereinfachten Computer-implementierten neuronalen Netzwerkes für eine Vorrichtung. Das Verfahren umfasst das Empfangen eines vorgegebenen neuronalen Netzwerkes, das eine Mehrzahl von neuronalen Netzwerkunterstrukturen in zwei oder mehr Schichten enthält. Das Verfahren umfasst weiterhin das Berechnen eines approximativen neuronalen Netzwerkes für das vorgegebene neuronale Netzwerk und das Berechnen einer Matrix in Bezug auf das approximative neuronale Netzwerk, die Änderungen in einer Verlustfunktion durch das Beschneiden einer oder mehrerer neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen beschreibt. Die Matrix berücksichtigt die Änderungen in der Verlustfunktion durch gleichzeitiges Beschneiden von mindestens zwei Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen, die sich innerhalb verschiedener Schichten der zwei oder mehr Schichten des vorgegebenen neuronalen Netzwerkes befinden. Das Verfahren umfasst schließlich das Beschneiden, basierend auf den in der Matrix beschriebenen Änderungen der Verlustfunktion, mindestens einer neuronalen Netzwerkunterstruktur aus der Mehrzahl von neuronalen Netzwerkunterstrukturen, um das vereinfachte neuronale Netzwerk zu erzeugen.
  • Die vorliegende Erfindung umfasst weiterhin die Verwendung des vereinfachten Computer-implementierten neuronalen Netzwerkes in der technischen Vorrichtung sowie Computer-implementierte neuronalen Netzwerke, die mit entsprechenden Verfahren erzeugt werden.
  • Die Techniken der vorliegenden Erfindung zielen darauf ab, ein vereinfachtes neuronales Netzwerk von geringerer Größe (z.B. mit einer geringeren Anzahl von Neuronen, und/oder Verbindungen und/oder Schichten) im Vergleich zum ursprünglichen vorgegebenen neuronalen Netzwerk zu erzeugen. Dabei soll ein Verlust an Gesamtleistung oder Genauigkeit des erzeugten vereinfachten neuronalen Netzwerkes nicht zu groß sein (und im Idealfall kein Verlust an Gesamtleistung oder Genauigkeit eintreten). Solche vereinfachten (beschnittenen) Computerimplementierten neuronalen Netzwerke können geeignet sein für technische Vorrichtungen mit relativ überschaubaren Hardware-Ressourcen (z.B. tragbare Elektro-Geräte oder Geräte ohne ständige Netzwerkverbindung) oder in technischen Umgebungen, in denen eine höhere Berechnungs- und Bewertungsgeschwindigkeit von Nutzen ist (z.B. bei zumindest teilautonomen Fahrzeugen). Allerdings kann die reduzierte Komplexität und/oder erhöhte Berechnungs- und Bewertungsgeschwindigkeit auch für andere technische Umgebungen nützlich sein (z.B. zum Reduzieren eines Stromverbrauchs).
  • Figurenliste
    • 1a zeigt schematisch ein ursprüngliches trainiertes neuronales Netzwerk vor und nach dem Beschneiden (Vereinfachen). Die Neuronen und ihre Verbindungen sind als Knoten (Kreise) bzw. Kanten (Pfeile) dargestellt.
    • 1b zeigt schematisch einen Beschneidungs-Vektor δp, mit dessen Hilfe die Hesse-Matrix H in die Q-Matrix (Matrix, die Änderungen in einer Verlustfunktion durch das Beschneiden einer oder mehrerer neuronaler Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen beschreibt) überführt werden kann. Der Beschneidungs-Vektor δp bezieht sich hier auf den Knoten p des neuronalen Netzwerks und beschreibt eine Änderung der aktuellen Gewichte durch das Beschneiden einer oder mehreren Verbindungen des Knotens p.
    • 2a zeigt schematisch alle berechneten Komponenten der Q-Matrix (schwarze Elemente entsprechen größeren Werten) und das Beschneiden unter Verwendung des „Lin Sum OBD“ Beschneidungsverfahrens für ein neuronales Netzwerk, das für den Boston Housing-Datensatz (d.h. einen Standard-Datensatz) erstellt wurde. Die neuronalen Strukturen, die den mit den Linien markierten Komponenten der Q-Matrix entsprechen, werden iterativ entfernt.
    • 2b zeigt, wie 2a, schematisch die gleichen Komponenten der Q-Matrix und das Beschneiden unter Verwendung des „Iterative Full OBD“ Beschneidungsverfahrens. Die neuronalen Strukturen, die den mit den weißen Kreisen markierten Komponenten der Q-Matrix entsprechen, werden iterativ entfernt.
    • 2c zeigt, wie 2a und 2b, schematisch die gleichen Komponenten der Q-Matrix und das Beschneiden unter Verwendung des „strukturierten OBD“ („structured optimal brain damage“) Beschneidungsverfahrens. Die neuronalen Strukturen, die den mit den weißen Kreisen markierten Komponenten der Q-Matrix entsprechen, werden iterativ entfernt.
    • 3 vergleicht die Testverluste für die in den 2a-2c verwendeten Beschneidungsverfahren in Abhängigkeit von unterschiedlichen Werten des Beschneidungsverhältnisses. Das Beschneidungsverhältnis von Null entspricht dem Fall, wenn das vorgegebene neuronale Netzwerk nicht beschnitten wird. In diesem Beispiel ist ein trainiertes neuronales Netzwerk als das vorgegebene neuronale Netzwerk ausgewählt.
  • Ausführliche Beschreibung
  • Die vorliegende Offenbarung betrifft Verfahren zum Erzeugen eines vereinfachten Computer-implementierten neuronalen Netzwerkes aus einem vorgegebenen neuronalen Netzwerk durch Beschneiden seiner Struktur.
  • Ein beispielhaftes neuronales Netzwerk 1 ist in 1a (schematisch) skizziert. Das neuronale Netzwerk kann aus einer Mehrzahl von Neuronen bestehen (ein beispielhaftes Neuron 2 ist in 1a hervorgehoben), die Knoten des neuronalen Netzwerks 1 bilden und miteinander über Kanten 3 verbunden sind. Die Neuronen der Computer-implementierten neuronalen Netzwerke der vorliegenden Offenbarung sind in mehreren Schichten angeordnet (z.B. enthält die dritte Schicht 4 der 1a drei Neuronen). In der vorliegenden Offenbarung werden die Kanten oder Verbindungen, die zu den Neuronen (oder Knoten) hinführen, als Teil der jeweiligen Schicht angesehen (d.h. die Eingangsverbindungen und die Knoten liegen in derselben Schicht). Ein Computer-implementiertes neuronales Netzwerk kann zwei oder mehr, drei oder mehr oder fünf oder mehr Schichten enthalten. Die Neuronen und ihre Verbindungen können unterschiedliche Strukturen aufweisen und mit Hilfe eines Graphen als Knoten bzw. Kanten dargestellt werden. In der vorliegenden Offenbarung wird eine beliebige Untermenge aus Elementen des neuronalen Netzwerks als „neuronale Netzwerkunterstruktur“ bezeichnet. In manchen Beispielen kann eine neuronale Netzwerkunterstruktur ein oder mehrere Kanten, ein oder mehrere Knoten oder eine Kombination aus ein oder mehreren Knoten und Kanten (bspw. ein Knoten und die zum Knoten hin- und vom Knoten wegführenden Kanten) enthalten. Andere als die in 1a gezeigten Netzwerke können zusätzliche Elemente enthalten (z.B. Rückkopplungen oder Speicher). Auch diese Elemente können eine neuronale Netzwerkunterstruktur oder Teil einer solchen sein. In anderen Beispielen kann ein Element des neuronalen Netzwerkes ein Parameter zur Beschreibung des neuronalen Netzwerks sein (dieser Aspekt wird weiter unten genauer erläutert).
  • Die Ausgabe eines bestimmten Neurons j kann von angelegten Eingaben eines oder mehrerer Neuronen i abhängen. Insbesondere kann zuerst eine Summe der gewichteten angelegten Eingaben für Neuron j gebildet werden, wobei ein Gewicht der Form θij von Neuron j zu Neuron i für alle Neuronen definiert werden kann. (θij = 0 kann bedeuteten, dass das Neuron j keine Verbindung mit dem Neuron i aufweist.) Schließlich kann die Ausgabe des Neurons j nach Anwendung einer für das jeweilige Neuron definierten Aktivierungsfunktion auf die zuvor berechnete Summe ermittelt werden. Daher kann ein neuronales Netzwerk in manchen Beispielen durch Angabe seiner Topologie und/oder der Gewichte θij für alle Neuronen definiert werden. Die Gewichte können damit auch Elemente einer neuronalen Netzwerkunterstruktur im Sinne der vorliegenden Offenbarung sein. D.h. eine neuronale Netzwerkstruktur kann ein oder mehrere Gewichte des neuronalen Netzwerks enthalten (die ein oder mehreren Kanten der graphischen Beschreibung des neuronalen Netzwerks entsprechen können). Gemäß der oben eingeführten Sprachreglung gehören alle Gewichte von Verbindungen oder Kanten, die zu Knoten oder Neuronen einer bestimmten Schicht führen, zu dieser einen Schicht. Die Gewichte der Ausgangskanten oder -verbindungen dieser bestimmten Schicht gehören zu einer anderen Schicht.
  • Das Computer-implementierte neuronale Netzwerk kann zum Einsatz in einer gewissen Vorrichtung erstellt und trainiert werden (z.B. vollständig oder unvollständig trainiert sein), um in dieser Vorrichtung anfallende Daten (z.B. Sensordaten) zu verarbeiten und beispielsweise eine für die Überwachung- und/oder Steuerung der Vorrichtung relevante Ausgangsdaten zu berechnen. Somit können die Eigenschaften dieser Vorrichtung oder ihre Reaktion auf bestimmte Ereignisse letztendlich in der Topologie und Gewichten θij des neuronalen Netzwerkes „verborgen“ sein. In anderen Beispielen kann ein neuronales Netzwerk auch durch andere und/oder zusätzliche Parameter als die Gewichte θij beschrieben werden. In der vorliegenden Offenbarung werden die Gewichte θij als beispielhafte Parameter diskutiert. Die hierin beschriebenen Techniken können aber gleichsam für andere Parameter eingesetzt werden.
  • Einige im Stand der Technik verwendeten Verfahren zum Beschneiden von Netzwerkstrukturen aus trainierten neuronalen Netzwerken laufen folgendermaßen ab: Nach Erzeugung eines neuronalen Netzwerkes, dessen Topologie von seiner Aufgabe abhängt, können die Gewichte θij entsprechend gewählt werden. Die Auswahl dieser Gewichte wird als Trainieren oder Lernen des neuronalen Netzwerkes bezeichnet. Dieser Schritt wird auf einem Computer-System ausgeführt. Während eines „überwachten Lernens“ steht eine Mehrzahl von Eingabedatensätzen xk (z.B. Sensordaten) und eine entsprechende Mehrzahl von gewünschten Ausgabedatensätzen yk (z.B. ein Zustand einer technischen Vorrichtung oder ihrer Umgebung oder eine Steuergröße) zur Verfügung (d.h. die Eingabe- und Ausgabedatensätze bilden jeweils ein Paar). Der Datensatz, der jeweils aus N Paaren (xk, yk), k = 1, ...,N, wird als Trainingsdatensatz bezeichnet. Das Trainieren des neuronalen Netzwerkes kann als Optimierungsproblem formuliert werden, bei dem die Gewichte θij des neuronalen Netzwerkes so angepasst werden müssen, dass die vom neuronalen Netzwerk für die gegebene Eingabe xk erzeugte Ausgabe ƒ θ N N ( x k )
    Figure DE102020213238A1_0001
    (wobei ƒ θ N N
    Figure DE102020213238A1_0002
    eine Übertragungsfunktion des neuronalen Netzwerks für einen Parametersatz θ, z.B. einen Satz von Gewichten, ist) möglichst nahe an der gewünschten Ausgabe yk liegt. Dieses Optimierungsproblem lässt sich als Minimierung einer Verlustfunktion LD darstellen (in dieser Offenbarung wird von einer Minimierung der Verlustfunktion gesprochen, auch wenn dieses in manchen Fällen einer Maximierung eines Ausdrucks entspricht). Die Verlustfunktion kann verschiedene Formen annehmen. In einem Beispiel ist die Verlustfunktion eine Funktion der gemittelten Fehlerquadrate („MSE“), bspw.: m i n ( L D ) = m i n 1 2 N k = 1 N ( ƒ θ N N ( x k ) y k ) 2 .
    Figure DE102020213238A1_0003
  • Die Minimierung kann in Bezug auf alle Gewichte θij durchgeführt werden. Als Ergebnis dieser Minimierung werden trainierte Gewichte θ i j T r
    Figure DE102020213238A1_0004
    bestimmt, die zu einem lokalen (oder globalen) Minimum der Verlustfunktion LD führen. Somit wird ein trainiertes neuronales Netzwerk aufgebaut. Das Ziel dieses Trainings besteht nicht nur darin, die gewünschten Ausgaben ( ƒ θ N N ( x k ) y k )
    Figure DE102020213238A1_0005
    in Trainingsphase zu reproduzieren, sondern auch plausible Ausgaben (also unbekannte Ausgaben) für weitere Eingaben xk liefern zu können.
  • Das trainierte neuronale Netzwerk kann eine komplexe Topologie und eine große Anzahl von Neuronen und Verbindungen aufweisen und daher hohe und unerwünschte Hardwareanforderungen bei der Berechnung verursachen. Wie weiter oben bereits erwähnt, wird dieses komplexe neuronale Netzwerk zunächst mittels der Beschneidungsverfahren vereinfacht, damit es auf der entsprechenden Vorrichtung verwendet werden kann. Auf der rechten Seite von 1a ist ein vereinfachtes (beschnittenes) neuronales Netzwerk 1a gezeigt. Zum Beispiel sind zwischen der obersten und der darunter liegenden Schicht 5 mehrere Kanten (Verbindungen) beschnitten worden. Zusätzlich ist in der vorletzten Schicht 6 ein Knoten samt zugehöriger Kanten beschnitten worden.
  • Diese Vereinfachung kann eine Analyse der jeweiligen Änderungen in der Verlustfunktion LD durch das Beschneiden einer oder mehrerer neuronaler Netzwerkunterstrukturen umfassen. Das Beschneiden einer Struktur kann die Entfernung einer oder mehrerer Verbindungen (d.h. Kanten) zwischen Neuronen und/oder die vollständige Entfernung eines oder mehrerer Neuronen zusammen mit ihren ein- und ausgehenden Verbindungen umfassen. In anderen Fällen (oder in einem anderen Bild) kann das Beschneiden das Entfernen oder auf null setzen ein oder mehrerer Gewichte umfassen (was eine alternative Beschreibung für das Entfernen von ein oder mehreren Verbindungen oder Kanten sein kann). In anderen Fällen können neuronale Netzwerke über die in 1a gezeigten Strukturen hinausgehende Elemente umfassen (z.B. Rückkopplungen oder Speicher). Auch diese Netzwerkunterstrukturen können mit den Verfahren der vorliegenden Offenbarung beschnitten werden.
  • Dabei können in manchen Beispielen Änderungen in der Verlustfunktion aufgrund des Beschneidens von Strukturen durch eine Taylor-Entwicklung der Verlustfunktion LD in Bezug auf Gewichte θij bis zu einer bestimmten Ordnung approximiert werden. Zum Beispiel kann eine Entwicklung der folgenden Form gegeben sein: δ L D ( θ ) L D ( θ ) θ δ θ + 1 2 δ θ T H ( θ ) δ θ + .
    Figure DE102020213238A1_0006
  • Hier ist δθ ein Störungsvektor um einen gegebenen Gewichten-Vektor θ eines vorgegebenen neuronalen Netzwerkes (z.B. eines trainierten neuronalen Netzwerkes mit den Gewichten θ i j T r
    Figure DE102020213238A1_0007
    ), der entsprechende Änderungen in den Gewichten, θ i j T r + δ θ i j ,
    Figure DE102020213238A1_0008
    nach dem Beschneiden widerspiegelt. δθT entsteht durch die Transponierung von δθ. H(θ)=∂2LD/∂2θ ist die Hesse-Matrix, die aus partiellen Ableitungen der zweiten Ordnung der Verlustfunktion LD(θ) bezüglich der Gewichte θij besteht, die in diesem Beispiel für die trainierten Gewichte θ i j T r
    Figure DE102020213238A1_0009
    berechnet werden. Dabei gilt (zumindest annähernd) für das trainierte Netzwerk dLD(θ)/∂θ = 0, weil δLD(θ) ein Minimum für die trainierten Gewichte θ i j T r
    Figure DE102020213238A1_0010
    aufweist (zumindest näherungsweise im Rahmen einer vorbestimmten numerischen Genauigkeit). Die Terme höherer Ordnung als die zweite Ordnung in der Taylor-Entwicklung können vernachlässigt werden. Die Änderungen in der Verlustfunktion sind dann durch δ L D ( θ ) 1 2 δ p T H ( θ ) δ p
    Figure DE102020213238A1_0011
    gegeben. Wie in 1b veranschaulicht, entspricht δ p T
    Figure DE102020213238A1_0012
    einem Beschneidungs-Vektor der Gewichte θ i j T r
    Figure DE102020213238A1_0013
    für die entsprechende Unterstruktur (z.B. für den Knoten p). In diesem Fall beschreibt der Beschneidungs-Vektor eine Änderung aktuellen Gewichte durch das Beschneiden einer oder mehreren Verbindungen des Knoten p. Beschneidungs-Vektoren können ebenfalls für andere Netzwerkunterstrukturen definiert werden (z.B. für eine Kombination von zwei oder mehreren Knoten mit entsprechenden eingehenden Kanten, wobei die Knoten innerhalb verschiedener Schichten oder innerhalb einer Schicht liegen oder die Knoten benachbarten Knoten sind).
  • Die Formel für die Taylor-Entwicklung der Verlustfunktion LD ist nur als Beispiel dargestellt und kann je nach den gewählten Normierungen für die jeweiligen Vektoren auch einen anderen Ausdruck annehmen (z.B., kann der Faktor ½ im zweiten Term der oben gezeigten Taylor-Entwicklung in δθ und δθT aufgenommen werden).
  • Die Änderungen in der Verlustfunktion lassen sich für den Fall, wenn mehrere neuronale Netzwerkunterstrukturen beschnitten werden, als Summe über eine Mehrzahl von Komponenten der Matrix, die Änderungen in einer Verlustfunktion durch das Beschneiden einer oder mehrerer von neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen beschreibt, darstellen. Beispielsweise kann die Änderungen in der Verlustfunktion in folgender Form bestimmt werden: δ L D ( θ ) 1 2 b e s c h n . p q Q p q ,
    Figure DE102020213238A1_0014
    wobei die Matrix Qpq als Q p q = δ p T H ( θ ) δ q
    Figure DE102020213238A1_0015
    definiert ist. Die Laufindizes p und q in der Summe laufen von 1 bis S, wobei S die Gesamtzahl der Netzwerkunterstrukturen bezeichnet. Die Hesse-Matrix H(θ) besteht aus partiellen Ableitungen der zweiten Ordnung ∂2LD/∂2(δθij), und daher hat diese Matrix in der Regel die Nichtdiagonalkomponenten (d.h. die Kreuzterme), die nicht vernachlässigbar klein sein können. Dies lässt sich durch die Tatsache erklären, dass die Verlustfunktion LD eine nichtlineare Funktion bezüglich der Gewichte θij sein kann. Folglich kann die Matrix Qpq, die durch die Hesse-Matrix H(θ) definiert ist, auch eine nichtdiagonale Form aufweisen. Zusammenfassend lassen sich die Änderungen der Verlustfunktion in manchen Beispielen als Summe von zwei Termen darstellen: δ L D ( θ ) 1 2 b e s c h n . p Q p p + 1 2 b e s c h n . p q Q p q .
    Figure DE102020213238A1_0016
    Der erste Term ist die Summe der Diagonalkomponenten der Matrix Qpq mit p=q, die die Änderungen der Verlustfunktion durch das Beschneiden jeder Unterstruktur p individuell berücksichtigt. Jede Diagonalkomponente Qpp ist nur durch die entsprechende beschnittene Unterstruktur p gegeben. Der zweite Term stellt nun die Summe aller Nichtdiagonalkomponenten der Matrix Qpq mit p ≠ q dar. Somit kann jede Nichtdiagonalkomponente Qpq eine Änderung der Verlustfunktion durch gleichzeitiges Beschneiden sowohl der Unterstruktur p als auch der Unterstruktur q beschreiben. In diesem Sinne kann man von einer Korrelation zwischen den beiden Unterstrukturen p und q sprechen, denn eine solche Änderung der Verlustfunktion tritt nur dann auf, wenn die beiden Unterstrukturen gleichzeitig beschnitten werden.
  • Trotz des scheinbar einfachen Ausdrucks für die Änderungen in der Verlustfunktion kann es einige Schwierigkeiten bei der Berechnung von δLD(θ) geben. Erstens ist normalerweise die Dimension P x P der Hesse-Matrix H(θ) (und folglich der Matrix Qvq) sehr groß, wobei P die Gesamtzahl der Verbindungen in einem neuronalen Netzwerk bezeichnet. Aus diesem Grund wird die Hesse-Matrix in einigen bisher bekannten Verfahren des Standes der Technik durch eine Diagonalmatrix (oder nahezu eine Diagonalmatrix) approximiert. Diese Approximation vernachlässigt jedoch mögliche Korrelationen zwischen den Netzwerkstrukturen im oben definierten Sinne. Dies kann aber zu (teilweise erheblichen) Ungenauigkeiten bei der Einschätzung führen, welche der Netzwerkunterstrukturen Einfluss auf die Leistungsfähigkeit des neuronalen Netzwerkes haben. Zweitens beinhaltet das Berechnen von δLD(θ) eine große Anzahl von Rechenschritten auf einem computerimplementierten System, die mit der Anzahl der Trainingsdatensätze N und die Dimension P des Beschneidungs-Vektors δp gemäß O(N · P2) skaliert. Zudem wird die Anzahl von Rechenschritten völlig unabhängig von der Tatsache, dass die jeweilige Dimension S für eine Netzwerkunterstruktur, deren Beschneiden in Erwägung gezogen wird, wesentlich kleiner als die Gesamtzahl der Verbindungen in einem neuronalen Netzwerk P sein kann. Infolgedessen kann die oben genannte Einschätzung für komplexe Strukturen mit großem P rechnerisch schwer durchführbar werden. Drittens kann sich zusätzlich das Problem ergeben, dass das Trainieren neuronaler Netzwerke (insbesondere solcher, die relativ groß und komplex sind) rechnerisch sehr aufwendige und daher langwierige Aufgabe sein kann. Diese Probleme können die Techniken der vorliegenden Offenbarung in manchen Implementierungen adressieren.
  • Der erste Schritt des Verfahrens zum Erzeugen eines vereinfachten Computerimplementierten neuronalen Netzwerkes der vorliegenden Offenbarung kann beispielweise das Empfangen eines vorgegebenen neuronalen Netzwerkes umfassen, dass eine Mehrzahl von neuronalen Netzwerkunterstrukturen in zwei oder mehr Schichten enthält. Jede Schicht kann beispielweise durch eine Mehrzahl von Neuronen und entsprechende eingehende Verbindungen gegeben sein. Dabei kann eine gewichtete Ausgabe eines Neurons, das in einer Schicht angeordnet ist, eine Eingabe eines anderen Neurons sein, das in einer anderen Schicht angeordnet sein kann. Zum Beispiel enthält das neuronale Netzwerk 1 nach 1a vier Schichten. Für das vorgegebene neuronale Netzwerk können aktuelle Gewichte θ i j A k
    Figure DE102020213238A1_0017
    gegeben sein. In manchen Fällen kann auch ein für das Training des neuronalen Netzwerkes verwendeter oder ein für ein Training zu verwendender Trainingsdatensatz (xk, yk) empfangen werden. In manchen Fällen kann das vorgegebene neuronalen Netzwerk ein trainiertes neuronales Netzwerk sein (z.B. eine Verslustfunktion wurde durch Training minimiert).
  • In anderen Beispielen kann das vorgegebene neuronalen Netzwerk ein unvollständig trainiertes neuronales Netzwerk sein (z.B. eine Verslustfunktion wurde durch Training noch nicht minimiert). In manchen Fällen kann ein unvollständig trainiertes neuronales Netzwerk nur einen Bruchteil der zum vollständigen Training nötigen Trainingsdurchgänge (sogenannte Epochen, die eine vollständige Trainingsiteration über den Trainingsdatensatz, z.B. mit Durchführung eines „Stochastic Gradient Descent“ oder anderen Verfahrens darstellen können) durchlaufen haben (z.B. weniger als 100 Trainingsdurchgänge oder weniger als 20 Trainingsdurchgänge). Die Beschneidungsverfahren der vorliegenden Offenbarung können insbesondere für nicht vollständig trainierte neuronale Netzwerke vorteilhaft sein. Durch das „frühe“ Beschneiden kann sich ein Trainings-Aufwand reduzieren.
  • Der Trainingsdatensatz (xk, yk) kann Daten unterschiedlicher Art enthalten, wobei jeweils in einem Paar Eingangsdaten (xα) und Ausgangsdaten (yα) zu einem Paar zusammengefasst sind (k = 1 ...N). Zum Beispiel können ein Eingangsdatum und ein Ausgangsdatum jeweils ein Skalar (z.B. ein skalarer Messwert), ein Vektor beliebiger Länge sein (d.h. mit Länge eins oder größer) oder eine Matrix sein. Die Eingangsdaten können Umwelteinflüsse oder interne Betriebszustände einer technischen Vorrichtung darstellen. In einem Beispiel können die Eingangsdaten Sensordaten umfassen. Alternativ oder zusätzlich können die Eingangsdaten Bilddaten und/oder Audiodaten umfassen. Die Ausgangsdaten können ein Zustand oder ein erkanntes Ereignis der Vorrichtung oder der Umwelt sein (z.B. der Zustand „Batterie fast leer“ oder „es regnet“ für ein Elektrogerät). In weiteren Beispielen kann die Ausgangsgröße eine Steuergröße (z.B. für einen Aktor) sein oder in sonstiger Art eine Reaktion der Vorrichtung identifizieren.
  • Gemäß der Erfindung wird zunächst ein approximatives neuronales Netzwerk für das vorgegebene neuronale Netzwerk berechnet. Das kann eine Näherung um die aktuellen Gewichte θ i j A k
    Figure DE102020213238A1_0018
    des vorgegebenen neuronalen Netzwerkes umfassen. Das approximative neuronale Netzwerk kann beispielweise durch eine Linearisierung um die aktuellen Gewichte θ i j A k
    Figure DE102020213238A1_0019
    erzeugt werden. Zum Beispiel kann das neuronale Netzwerk durch eine Summe einer Auswertung einer Übertragungsfunktion des neuronalen Netzwerks bei einem Satz von Gewichten zuzüglich eines Terms, der linear mit den Gewichten skaliert, approximiert werden. Das kann beispielsweise folgendermaßen beschrieben werden: ƒ θ N N ( x ) ƒ θ k L i n ( x ) = ƒ θ k N N ( x ) + ϕ ( x ) ( θ θ k ) ,
    Figure DE102020213238A1_0020
    wobei ϕ ( x ) = θ ƒ θ N N ( x ) | θ = θ k
    Figure DE102020213238A1_0021
    die Gradienten der Übertragungsfunktion des neuronalen Netzwerkes sind, die bei den aktuellen Gewichten θ i j A k
    Figure DE102020213238A1_0022
    auf einem Trainings-Datensatz berechnet werden. Durch diese Maßnahme können weitere Schritte des Verfahrens Ressourcen-effizienter durchgeführt werden (z.B. mit weniger Rechenschritten auf einem Computer-System).
  • In einem weiteren Schritt des erfindungsgemäßen Verfahrens kann die Matrix Qpq in Bezug auf das bereits erzeugte approximative neuronale Netzwerk berechnet werden, die Änderungen in der Verlustfunktion δLD(θ) beschreibt. Diese Änderungen können, wie oben erläutert, durch das Beschneiden einer oder mehrerer neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen bedingt sein. Die Matrix Qpq kann die Änderungen in der Verlustfunktion durch gleichzeitiges Beschneiden von mindestens zwei Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen (d.h. die Matrix Qpq kann die jeweiligen Korrelationen zwischen mindestens zwei Netzwerkunterstrukturen berücksichtigen) beschreiben, die sich innerhalb verschiedener Schichten des vorgegebenen neuronalen Netzwerkes befinden. Zusätzlich kann in manchen Beispielen die Matrix Qpq die Änderungen in der Verlustfunktion durch gleichzeitiges Beschneiden von Netzwerkunterstrukturen berücksichtigen, die sich innerhalb einer Schicht des vorgegebenen neuronalen Netzwerkes befinden. In manchen Beispielen kann die Matrix Änderungen in der Verlustfunktion durch gleichzeitiges Beschneiden von mehreren Paaren der mindestens zwei Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen (bspw. allen möglichen Paaren) beschreiben.
  • Basierend auf einer in der Matrix Qpq beschriebenen Änderungen der Verlustfunktion, z.B. auf Basis einer Mehrzahl (bspw. aller) berechneten Komponenten dieser Matrix (und nicht nur auf Basis der Hauptdiagonalkomponenten wie in einigen Verfahren des Standes der Technik) kann bestimmt werden, welche neuronalen Netzwerkunterstrukturen einen geringen oder sogar vernachlässigbaren Beitrag zur Gesamtleistung des ursprünglichen vorgegebenen neuronalen Netzwerkes leisten (z.B. die Gesamtleistung sinkt nicht mehr als um eine vorbestimmte Maßzahl). Zum Beispiel können in diesem Zusammenhang nur diejenigen Unterstrukturen als die zu beschneidende Unterstrukturen eingestuft werden, die nach einem Beschneiden keinen oder nur einen nicht übersteigenden Anstieg in der Verlustfunktion δLD(θ) verursachen. Die so eingestuften Unterstrukturen können deshalb von dem vorgegebenen neuronalen Netzwerk beschnitten werden, um das Erzeugen eines vereinfachten neuronalen Netzwerkes für die Vorrichtung zu ermöglichen. Das daraus resultierende vereinfachte neuronale Netzwerk kann schneller Daten für eine Vorrichtung liefern und/oder weniger Hardware-Ressourcen benötigen.
  • Dabei kann die oben beschriebene Linearisierung der Approximation in der Verlustfunktion entsprechen, wenn die aus dem Beschneiden resultierenden Änderungen in δLD(θ) unter Verwendung einer Taylorreihe zweiter Ordnung des vorgegebenen neuronalen Netzwerkes um seine aktuellen Gewichte θ i j A k
    Figure DE102020213238A1_0023
    approximiert werden. In manchen Fällen werden die ersten Ableitungen der Verlustfunktion nach ihren Gewichten, ∂LD(θ)/∂θ, nicht verschwinden, wenn das vorgegebene neuronale Netzwerk kein trainiertes neuronales Netzwerk ist (sondern ein nur teilweise trainiertes neuronales Netzwerk).
  • Des Weiteren kann beispielweise das Verfahren das Berechnen der oben beschriebenen Gradienten Φ(X) des vorgegebenen neuronalen Netzwerkes um die aktuellen Gewichte umfassen. In einem Beispiel kann das Berechnen der Gradienten Φ(X) eine aktuelle Matrix X verwenden, die die Eingangsdaten der N Paare des Eingabedatensatzes enthalten kann. Danach können die Gradienten Φ(X) mit einem Beschneidungs-Vektor (auch als Störungsvektor bezeichnet) δq der Netzwerkunterstruktur multipliziert werden, um einen zweiten Vektor ϕq= ϕ(X)δq der Dimension N zu erhalten, wobei jeder Beschneidungs-Vektor (δP) einer zu beschneidenden Netzwerkunterstruktur zugeordnet ist. Auf diese Weise kann eine Mehrzahl von zweiten Vektoren ϕq (nämlich S zweiten Vektoren) hergeleitet werden, um mögliche strukturelle Veränderung in dem vorgegebenen neuronalen Netzwerk zu berücksichtigen. Die Berechnungskosten werden für diese Schritte wie O(N · P) skalieren. In anderen Beispielen kann das Berechnen der Gradienten Φ(X) und der zweite Vektor ϕq unter Verwendung des Jakobi-Vektorproduktes implementiert werden. Das kann wiederum rechnerisch effizienter sein als manche Verfahren des Stands der Technik.
  • Wie bereits erwähnt, kann in einem Beispiel das vorgegebene neuronale Netzwerk ein trainiertes neuronales Netzwerk sein. In diesem Fall kann ein Trainings-Datensatz (X) aus einer Mehrzahl von Paaren (X = {(xi,yi)|i ≤ n}) bestehen, wobei jedes Paar aus Eingabesätzen und jeweiligen Ausgabensätzen der technischen Vorrichtung gebildet wird, und wobei das vorgegebene neuronale Netzwerk die jeweiligen Ausgabensätze für die Eingabesätze jedes Paares erzeugen kann. Darüber hinaus kann ein Vektor der ersten Ableitungen der Verlustfunktion nach ihren Gewichten, der nach einem Einsatz der trainierten Gewichte θ i j T r
    Figure DE102020213238A1_0024
    berechnet wird, einen Wert annehmen (∂LD (θ)/∂θ = 0), der einem lokalen (oder globalen) Minimum der Verlustfunktion entspricht (im Rahmen einer vorbestimmten Genauigkeit). In diesem Beispiel kann das Berechnen aller Komponenten der Matrix Qpq durch das Berechnen des Skalarproduktes der erhaltenen zweiten Vektoren ϕp und ϕq aus der Mehrzahl von zweiten Vektoren für eine Mehrzahl von Paaren (z.B. für jedes Paar) von neuronalen Netzwerkunterstrukturen des trainierten neuronalen Netzwerkes durchgeführt werden ( Q p q = 1 2 δ q T ϕ ( X ) T ϕ ( X ) δ q ) .
    Figure DE102020213238A1_0025
  • In anderen Beispielen kann das vorgegebene neuronale Netzwerk ein unvollständig trainiertes neuronales Netzwerk sein (wobei der Begriff „unvollständig trainiert“ in dem oben eingeführten Sinne verstanden werden kann), indem ein Vektor der ersten Ableitungen der Verlustfunktion nach ihren Gewichten, der nach einem Einsatz der aktuellen Gewichte θ i j A k
    Figure DE102020213238A1_0026
    berechnet wird, einen Wert annehmen kann (z.B. einen wesentlich von Null abweichenden Wert mit ∂LD(θ)/∂θ ≠0), der keinem lokalen Minimum der Verlustfunktion für die aktuellen Gewichte entspricht. In diesem Fall wird die Verlustfunktion kein lokales Minimum für die aktuellen Gewichte aufweisen. In einem Beispiel kann das übliche Trainieren eines neuronalen Netzwerkes nach wenigen Optimierungsschritten (Epochen) abgebrochen werden, und das resultierende neuronale Netzwerk kann als das vorgegebene neuronale Netzwerk für das Verfahren der vorliegenden Offenbarung verwendet werden. In einem anderen Beispiel kann ein neuronales Netzwerk durch bestimmte Gewichtswerte initialisiert werden. Das initialisierte neuronale Netzwerk kann dann sofort in dem erfindungsgemäßen Verfahren implementiert und als das vorgegebene neuronale Netzwerk betrachtet werden. Die Verwendung des unvollständig trainierten neuronalen Netzwerkes kann sich besonderes dann anbieten, wenn das übliche Trainieren eines neuronalen Netzwerkes rechnerisch aufwendig oder aufgrund limitierter Hardware-Ressourcen gar nicht möglich ist.
  • Das Berechnen der Matrix Qpq unter Verwendung des unvollständig trainierten neuronales Netzwerkes kann drei Schritte umfassen. Zunächst können, wie im ersten Beispiel des trainierten neuronalen Netzwerkes, die Skalarprodukte der erhaltenen zweiten Vektoren ϕp und ϕq aus der Mehrzahl von zweiten Vektoren für eine Mehrzahl von Paaren (z.B. für jedes Paar) von neuronalen Netzwerkunterstrukturen des unvollständig trainierten neuronalen Netzwerkes berechnet werden. In dieser Weise kann ein (erster) Beitrag sowohl für die Hauptdiagonalkomponenten als auch für die Nebendiagonalkomponenten berechnet werden. Des Weiteren wird ein zweiter Betrag zu den Hauptdiagonalkomponenten der Matrix Qpq berücksichtigt, der durch das Berechnen des Skalarproduktes eines Vektors der ersten Ableitungen der Verlustfunktion nach der Mehrzahl von Beschneidungs-Vektoren δp, in den anschließend die aktuellen Gewichte eingesetzt werden, und der Mehrzahl von ersten Vektoren δp durchgeführt wird. Abschließend werden die beiden Beiträge addiert. Das kann zum Beispiel in folgender Form passieren Q p q = 1 2 δ q T ϕ ( X ) T ϕ ( X ) δ q + δ p q L D ( θ ) δ p δ p ,
    Figure DE102020213238A1_0027
    Qpq wobei δpq das Kronecker-Delta ist.
  • Unabhängig davon, ob in den Verfahren ein trainiertes oder ein unvollständig trainiertes neuronales Netzwerk als das vorgegebene neuronale Netzwerk verwendet wird, können die Berechnungskosten der Matrix Qpq in manchen Fällen mit O(N·S2) skalieren. Zusammengefasst können die Gesamtberechnungskosten des erfindungsgemäßen Verfahrens mit O(N · S2)+ O(N · P) skalieren, um alle Komponenten der Matrix Qpq zu berechnen. Damit kann das Verfahren der vorliegenden Erfindung einen Gewinn an Berechnungskosten aufweisen, besonders im Fall größerer Strukturen mit S « P, weil das direkte Berechnen der Matrix Qpq wesentlich mehr Rechenschritte O(N · P2) erfordern kann.
  • Im nächsten Schritt des Verfahrens und in Übereinstimmung mit den obigen Diskussionen wird die Information in der Matrix Qpq verwendet, um abzuschätzen, welche Unterstrukturen beschnitten werden können.
  • Dabei können in einem ersten Verfahren zuerst alle Komponenten in jeder Spalte der Matrix Qpq summiert werden, um eine Mehrzahl von Summen zu erhalten. Danach wird iterativ eine Mehrzahl von neuronalen Netzwerkunterstrukturen unter Berücksichtigung der errechneten Summen entfernt. Das kann zum Beispiel ausgehend von einer neuronalen Netzwerkunterstruktur, für die einen kleinsten Betrag einer Summe der Mehrzahl von Summen berechnet wird, geschehen. Diese neuronalen Netzwerkunterstrukturen kann als erste entfernt werden. Das Ergebnis dieses sogenannten „Lin Sum OBD“ („optimal brain damage“) Beschneidungsverfahrens ist beispielhaft für ein neuronales Netzwerk in 2a dargestellt, das für den Boston Housing-Datensatz (d.h. einen Standard-Datensatz) erstellt wurde. Vier beispielhafte Spalten 7a-d sind auf dieser Figur gezeigt, wobei der Betrag der Summe durch eine Dichte der Punktierung illustriert ist. Die rechte Spalte 7d weist die kleinste Summe auf. Daher kann die zugehörige neuronale Netzwerkunterstruktur als erste beschnitten werden.
  • In einem alternativen Verfahren wird zunächst eine neuronale Netzwerkunterstruktur entfernt, die einem kleinsten Betrag einer Hauptdiagonalkomponente der Matrix Qpq entspricht. Danach wird eine Mehrzahl von neuronalen Netzwerkunterstrukturen iterativ entfernt, wobei jede zu entfernende nachfolgende neuronale Netzwerkunterstruktur einem kleinsten Betrag einer Summe von einer Mehrzahl von Summen aus einer Hauptdiagonalkomponente und Nichtdiagonalkomponenten der Matrix entspricht, die sich auf zuvor entfernte neuronale Netzwerkunterstrukturen beziehen. Das Beispiel der Anwendung dieses „Iterative Full OBD“ Beschneidungsverfahrens für dasselbe neuronale Netzwerk wie in 2a ist in 2b gezeigt. Beispielhafte Diagonal- und Nichtdiagonalkomponenten sind durch Kreise dargestellt, wobei die Größe eines Kreises umgekehrt proportional zur Größe der Hauptdiagonalkomponente / der Summe der Hauptdiagonalkomponente und Nichtdiagonalkomponenten ist.
  • In einem weiteren alternativen Verfahren kann eine neuronale Netzwerkunterstruktur, die einer Hauptdiagonalkomponente der Matrix (Qpq) mit einem vordefinierten Wert entspricht, optional einer kleinsten Hauptdiagonalkomponente der Matrix (Qpq) zuerst entfernt werden. In einem Beispiel können zunächst die berechneten Hauptdiagonalkomponenten der Matrix Qpq in aufsteigender Reihenfolge angeordnet werden. Dann wird eine neuronale Netzwerkunterstruktur entfernt, die der kleinsten Hauptdiagonalkomponente entspricht. Als nächstes umfasst das erfindungsgemäße Verfahren das iterative Entfernen einer Mehrzahl von neuronalen Netzwerkunterstrukturen, wobei jede zu entfernende nachfolgende neuronale Netzwerkunterstruktur einem nächstgrößeren Wert der angeordneten Hauptdiagonalkomponenten entspricht. Das Ergebnis dieses „strukturierten OBD“ („structured optimal brain damage“) Beschneidungsverfahrens für dasselbe neuronale Netzwerk wie in 2a und 2b ist als Beispiel in 2c dargestellt. Beispielhafte Diagonalkomponenten sind durch Kreise dargestellt, wobei die Größe eines Kreises umgekehrt proportional zur Größe der Hauptdiagonalkomponente ist.
  • In 3 sind die Testverluste für die in den 2a-2c verwendeten Beschneidungsverfahren in Abhängigkeit von unterschiedlichen Werten des Beschneidungsverhältnisses verglichen. Das Beschneidungsverhältnis von Null entspricht dem Fall, wenn das vorgegebene neuronale Netzwerk nicht beschnitten wird. In diesem Beispiel ist ein trainiertes neuronales Netzwerk als das vorgegebene neuronale Netzwerk ausgewählt. Die Gesamtleistung des beschnittenen Netzwerkes für das „Iterative Full OBD“ Verfahren bzw. für das „strukturierten OBD“ Verfahren bleibt für die Werte des Beschneidungsverhältnisses weniger als 0.7 bzw. 0.4 praktisch unbeeinträchtigt, wie diese Figur veranschaulicht.
  • Im Allgemeinen werden alle drei oben genannten Beschneidungsverfahren so lange durgeführt, bis eine Größe des vereinfachten neuronalen Netzwerkes unter eine gewünschte Größe fällt. In einem Beispiel kann die gewünschte Größe durch eine minimale Anzahl der Neuronen im vereinfachten neuronalen Netzwerk oder innerhalb einer Schicht des vereinfachten neuronalen Netzwerkes gegeben werden. In anderen Beispielen kann die gewünschte Größe durch eine minimale Anzahl von Verbindungen zwischen Neuronen im vereinfachten neuronalen Netzwerk oder durch eine minimale Anzahl von Verbindungen zwischen Neuronen innerhalb einer Schicht des vereinfachten neuronalen Netzwerkes definiert werden. Die gewünschte Größe kann auch beispielweise als eine minimale Anzahl unbeschnittener Schichten oder Strukturen des vereinfachten neuronalen Netzwerkes gegeben werden. In anderen Beispielen werden die Beschneidungsverfahren so lange durchgeführt, bis eine Gesamtleistung des vereinfachten neuronalen Netzwerkes unter einen vordefinierten Schwellenwert fällt. Zum Beispiel kann die Gesamtleistung mit Hilfe von Testverlusten eingeschätzt werden (siehe z.B. 3), die wiederum anhand der Verlustfunktion berechnet werden können. In einem Bespiel kann der vordefinierte Schwellenwert als Verhältnis zwischen der Gesamtleistung des vereinfachten und des vorgegebenen neuronalen Netzwerkes definiert werden. In einem anderen Beispiel kann der vordefinierte Schwellenwert einer ausgewählten Zahl entsprechen.
  • Wie bereits besprochen, können die vereinfachten Computer-implementierten neuronalen Netzwerke dieser Offenbarung in verschiedenen technischen Anwendungen zum Einsatz kommen. Generell betrifft die vorliegende Offenbarung auch Verfahren, zum einen das Beschneiden eines Computer-implementierten neuronalen Netzwerkes und danach das Benutzen des Computer-implementierten neuronalen Netzwerkes in einer technischen Vorrichtung. Das Benutzen kann beispielsweise umfassen das Steuern (oder Regeln) der technischen Vorrichtung durch das vereinfachte neuronale Netzwerk, die Erkennung eines Betriebszustands (z.B. einer Fehlfunktion) der technischen Vorrichtung oder eines Zustands der Umwelt der technischen Vorrichtung durch das vereinfachte neuronale Netzwerk oder Bewertung eines Betriebszustands der technischen Vorrichtung oder eines Zustands der Umwelt der technischen Vorrichtung durch das vereinfachte neuronale Netzwerk. In diesem Fall können die Eingangsdaten Zustandsdaten bzgl. eines internen Zustands der Vorrichtung enthalten (z.B. zumindest teilweise Sensordaten). Zusätzlich oder alternativ können die Eingangsdaten Zustandsdaten bzgl. der Umgebung der Vorrichtung enthalten (z.B. zumindest teilweise Sensordaten). Die Ausgangsdaten des vereinfachten neuronalen Netzwerks können einen Betriebszustand oder andern internen Zustand der Vorrichtung charakterisieren (z.B. ob ein Fehler oder kritischer Betriebszustand vorliegt oder nicht). Die Ausgangsdaten können verwendet werden, um die Vorrichtung in Antwort auf den charakterisierten Betriebszustand oder auf einen anderen internen Zustand zu steuern. Alternativ oder zusätzlich können die Ausgangsdaten Steuerdaten für die Vorrichtung enthalten.
  • In manchen Fällen kann die Vorrichtung ein Elektrogerät sein (z.B. ein Werkzeug, ein Haushaltsgerät oder ein Gartengerät). In anderen Beispielen kann die Vorrichtung eine Vorrichtung im Internet der Dinge („Internet of Things“) sein. Alternativ oder zusätzlich kann die Vorrichtung eine batteriebetriebene Vorrichtung sein. Wir oben beschrieben können die vereinfachten Computer-implementierten neuronalen Netzwerke in diesen Umgebungen vorteilhaft sein, weil sie verhältnismäßig Ressourcen-effizient ausgelegt sein können.
  • Das vereinfachte Computer-implementierten neuronalen Netzwerk kann eingesetzt werden zur Klassifikation einer Zeitreihe, insbesondere der Klassifizierung von Bilddaten (d.h. die Vorrichtung ist ein Bildklassifikator). Die Bilddaten können zum Beispiel Kamera-, Lidar-, Radar-, Ultraschall- oder thermische Bilddaten sein (z.B. erzeugt von entsprechenden Sensoren). Die Bilddaten können Einzelbilder oder Videodaten umfassen. In manchen Beispielen kann das Computer-implementierte neuronale Netzwerk für eine Überwachungsvorrichtung (zum Beispiel eines Herstellungsprozesses und/oder zur Qualitätssicherung) oder für ein medizinisches Bildgebungssystem (zum Beispiel zum Befunden von diagnostischen Daten) ausgelegt sein oder in einer solchen Vorrichtung eingesetzt werden. Der Bildklassifikator kann dazu ausgelegt sein, Bilddaten zu empfangen und in mehrere Klassen zu klassifizieren. Das kann in manchen Beispielen Abbilden von Eingangsdaten in Form eines Eingangsvektors einer Dimension (Rn), der Bilddaten enthält, auf Ausgangsdaten in Form eines Ausgangsvektors einer zweiten Dimension (Rm), der ein Klassifikationsergebnis darstellt, umfassen. Beispielweise können Komponenten des Eingangsvektors eine Mehrzahl von empfangenen Bilddaten darstellen. Jede Komponente des Ausgangsvektors kann ein Ergebnis einer Bildklassifikation darstellen, das anhand des vereinfachten Computerimplementierten neuronalen Netzwerkes berechnet wird. In manchen Beispielen kann die Bildklassifikation eine semantische Segmentierung eines Bildes (z.B. bereichsweise pixelweise Klassifikation des Bildes) umfassen. Die Bildklassifikation kann beispielweise eine Objektklassifikation sein. Zum Beispiel kann das Vorhandensein eines oder mehrerer Objekte in den Bilddaten detektiert werden (z.B. in einem Fahrerassistenzsystem, um Verkehrsschilder oder Fahrspuren automatisch zu erkennen).
  • In anderen Beispielen (oder zusätzlich) kann das Computer-implementierte neuronale Netzwerk ausgelegt sein oder eingesetzt werden, um den Betriebszustand und/oder die Umgebung eines zumindest teilautonomen Roboters zu überwachen. Der zumindest teilautonome Roboter kann ein autonomes Fahrzeug sein (oder ein anderes zumindest teilautonomes Fortbewegungs- oder Transportmittel). In anderen Beispielen kann der zumindest teilautonome Roboter ein Industrieroboter sein. In anderen Beispielen kann die Vorrichtung eine Maschine oder eine Gruppe von Maschinen (z.B. einer Industrielage) sein. Zum Beispiel kann ein Betriebszustand einer Werkzeugmaschine überwacht werden. In diesen Beispielen kann die Ausgangsdaten y Information bezüglich des Betriebszustands und/oder der Umgebung der jeweiligen technischen Vorrichtung enthalten.
  • In weiteren Beispielen kann das zu überwachende System ein Kommunikationsnetzwerk sein. In manchen Beispielen kann das Netzwerk ein Telekommunikationsnetzwerk (z.B. ein 5G Netzwerk) sein. In diesen Beispielen können die Eingangsdaten x Auslastungsdaten in Knoten des Netzwerks und die Ausgangsdaten y Information bezüglich der Zuteilung von Ressourcen (z.B. Kanäle, Bandbreite in Kanälen des Netzwerks oder andere Ressourcen) enthalten. In anderen Beispielen kann eine Netzwerkfehlfunktion erkannt werden.
  • In anderen Beispielen (oder zusätzlich) kann das Computer-implementierte neuronale Netzwerk ausgelegt sein oder eingesetzt werden zur Steuerung (oder Regelung) einer technischen Vorrichtung. Die Vorrichtung kann wiederum eine der oben (oder unten) diskutierten Vorrichtungen sein (z.B. ein zumindest teilautonomer Roboter oder eine Maschine). In diesen Beispielen kann die Ausgangsdaten y eine Steuergröße des jeweiligen technischen Systems enthalten.
  • In wieder anderen Beispielen (oder zusätzlich) kann das Computer-implementierte neuronale Netzwerk ausgelegt sein oder eingesetzt werden, um ein Signal zu filtern. In manchen Fällen kann das Signal ein Audiosignal oder ein Videosignal sein. In diesen Beispielen kann die Ausgangsdaten y ein gefiltertes Signal enthalten.
  • Die Verfahren zum Erzeugen und Anwenden eines vereinfachten Computerimplementierten neuronalen Netzwerkes der vorliegenden Offenbarung können auf einem computerimplementierten System ausgeführt werden. Das computerimplementierte System kann mindestens einen Prozessor, mindestens einen Speicher (der Programme enthalten kann, die, wenn ausgeführt, die Verfahren der vorliegenden Offenbarung ausführen) sowie mindestens eine Schnittstelle für Eingänge und Ausgänge aufweisen. Das computerimplementierte System kann ein „Stand-alone“ System oder ein verteiltes System sein, dass über ein Netzwerk (z.B. das Internet) kommuniziert.
  • Die vorliegende Offenbarung betrifft auch (vereinfachte) Computer-implementierte neuronalen Netzwerke, die mit den Verfahren der vorliegenden Offenbarung erzeugt werden. Die vorliegende Offenbarung betrifft auch Computerprogramme, welche eingerichtet sind, alle Schritte der Verfahren der vorliegenden Offenbarung auszuführen. Darüber hinaus betrifft die vorliegende Offenbarung maschinenlesbares Speichermedien (z.B. optische Speichermedien oder Festspeicher, beispielsweise FLASH-Speicher), auf denen Computerprogramme gespeichert sind, welche eingerichtet sind, alle Schritte der Verfahren der vorliegenden Offenbarung auszuführen.

Claims (17)

  1. Verfahren zum Erzeugen eines vereinfachten Computer-implementierten neuronalen Netzwerkes für eine Vorrichtung, wobei das Verfahren folgende Schritte umfasst: das Empfangen eines vorgegebenen neuronalen Netzwerkes, das eine Mehrzahl von neuronalen Netzwerkunterstrukturen in zwei oder mehr Schichten enthält; das Berechnen eines approximativen neuronalen Netzwerkes für das vorgegebene neuronale Netzwerk; das Berechnen einer Matrix (Qpq) in Bezug auf das approximative neuronale Netzwerk, die Änderungen in einer Verlustfunktion durch ein Beschneiden einer oder mehrerer neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen beschreibt, wobei die Matrix (Qpq) die Änderungen in der Verlustfunktion durch gleichzeitiges Beschneiden von mindestens zwei Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen beschreibt, die sich innerhalb verschiedener Schichten der zwei oder mehr Schichten des vorgegebenen neuronalen Netzwerkes befinden; das Beschneiden, basierend auf den in der Matrix (Qpq) beschriebenen Änderungen der Verlustfunktion, mindestens einer neuronalen Netzwerkunterstruktur aus der Mehrzahl von neuronalen Netzwerkunterstrukturen, um das vereinfachte neuronale Netzwerk zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei das Berechnen des approximativen neuronalen Netzwerkes eine Linearisierung um aktuelle Gewichte des vorgegebenen neuronalen Netzwerkes umfasst.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Berechnen der Matrix (Qpq) das Multiplizieren von Gradienten (φ(X)) mit einer Mehrzahl von Beschneidungs-Vektoren (δP) umfasst, um eine Mehrzahl von zweiten Vektoren (φp) zu ermitteln, wobei die Gradienten (φ(X)) durch die aktuellen Gewichte des vorgegebenen neuronalen Netzwerkes gegeben sind, wobei jeder Beschneidungs-Vektor (δP) aus der Mehrzahl von Beschneidungs-Vektoren (δP) einer zu beschneidenden Netzwerkunterstruktur zugeordnet ist, wobei jeder Beschneidungs-Vektor aus der Mehrzahl von Beschneidungs-Vektoren (δP) eine Änderung der aktuellen Gewichte durch das Beschneiden einer jeweiligen neuronalen Netzwerkunterstruktur beschreibt, und wobei jedem zweiten Vektor (φp) der jeweilige Beschneidungs-Vektor (δP) durch das Multiplizieren zugeordnet wird.
  4. Verfahren nach Anspruch 3 , wobei das vorgegebene neuronale Netzwerk ein trainiertes neuronales Netzwerk ist, wobei ein Trainings-Datensatz (X) ein Verhalten der Vorrichtung beschreibt, wobei der Trainings-Datensatz (X) aus einer Mehrzahl von Paaren (X = {(xi, yi) | i ≤ n}) besteht, wobei jedes Paar aus Eingabesätzen und jeweiligen Ausgabensätzen der Vorrichtung gebildet wird, und wobei das vorgegebene neuronale Netzwerk die jeweiligen Ausgabensätze für die Eingabesätze jedes Paares erzeugt.
  5. Verfahren nach Anspruch 4, wobei das Berechnen der Matrix (Qpq) durch das Berechnen eines Skalarproduktes der zweiten Vektoren (φp, φq) aus der Mehrzahl von zweiten Vektoren eine Mehrzahl von Paaren, optional für jedes Paar, von neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen des trainierten neuronalen Netzwerkes durchgeführt wird.
  6. Verfahren nach Anspruch 3, wobei das vorgegebene neuronale Netzwerk ein unvollständig trainiertes neuronales Netzwerk ist, indem ein Vektor der ersten Ableitungen der Verlustfunktion nach ihren Gewichten, der nach einem Einsatz der aktuellen Gewichte berechnet wird, einen Wert annimmt, der keinem lokalen Minimum der Verlustfunktion für die aktuellen Gewichte entspricht.
  7. Verfahren nach Anspruch 6, wobei das Berechnen der Matrix (Qpq) folgende Schritte umfasst: das Berechnen eines ersten Beitrages durch das Berechnen eines Skalarproduktes der zweiten Vektoren (φp, φq) aus der Mehrzahl von zweiten Vektoren für eine Mehrzahl von Paaren, optional für jedes Paar, von neuronalen Netzwerkunterstrukturen aus der Mehrzahl von neuronalen Netzwerkunterstrukturen; das Berechnen eines zweiten Beitrages zu Hauptdiagonalkomponenten der Matrix (Qpq) durch das Berechnen des Skalarproduktes eines Vektors der ersten Ableitungen der Verlustfunktion nach der Mehrzahl von Beschneidungs-Vektoren (δp), in den anschließend die aktuellen Gewichte eingesetzt werden, und der Mehrzahl von Beschneidungs-Vektoren (δp); das Summieren den ersten Beitrag mit dem zweiten Beitrag.
  8. Verfahren nach einem der vorhergehenden Ansprüche 5 oder 7, wobei das Beschneiden umfasst: das Summieren über alle Komponenten in jeder Spalte der Matrix (Qpq), um eine Mehrzahl von Summen zu erhalten; das iterative Entfernen einer Mehrzahl von neuronalen Netzwerkunterstrukturen ausgehend von einer neuronalen Netzwerkunterstruktur, die einem kleinsten Betrag einer Summe der Mehrzahl von Summen entspricht.
  9. Verfahren nach einem der vorhergehenden Ansprüche 5 oder 7, wobei das Beschneiden umfasst: das Entfernen einer neuronalen Netzwerkunterstruktur, die einem kleinsten Betrag einer Hauptdiagonalkomponente der Matrix (Qpq) entspricht; das iterative Entfernen einer Mehrzahl von neuronalen Netzwerkunterstrukturen, wobei jede zu entfernende nachfolgende neuronale Netzwerkunterstruktur einem kleinsten Betrag einer Summe von einer Mehrzahl von Summen aus einer Hauptdiagonalkomponente und Nichtdiagonalkomponenten der Matrix (Qpq) entspricht, die sich auf zuvor entfernte neuronale Netzwerkunterstrukturen beziehen.
  10. Verfahren nach einem der vorhergehenden Ansprüche 5 oder 7, wobei das Beschneiden umfasst: das Entfernen einer neuronalen Netzwerkunterstruktur, die einer Hauptdiagonalkomponente der Matrix (Qpq) mit einem vordefinierten Wert entspricht, optional einer kleinsten Hauptdiagonalkomponente der Matrix (Qpq); das iterative Entfernen einer Mehrzahl von neuronalen Netzwerkunterstrukturen, wobei jede zu entfernende nachfolgende neuronale Netzwerkunterstruktur einem nächstgrößeren Wert der Hauptdiagonalkomponenten der Matrix (Qpq) entspricht.
  11. Verfahren nach einem der vorhergehenden Ansprüche 8 bis 10, wobei das iterative Entfernen so lange durchgeführt wird, bis eine Größe des vereinfachten neuronalen Netzwerkes unter eine gewünschte Größe fällt.
  12. Verfahren nach einem der vorhergehenden Ansprüche 8 bis 10, wobei das iterative Entfernen so lange durchgeführt wird, bis eine Gesamtleistung des vereinfachten neuronalen Netzwerkes unter einen vordefinierten Schwellenwert fällt.
  13. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 12, wobei die Änderungen in der Verlustfunktion unter Verwendung einer Taylorreihe zweiter Ordnung des vorgegebenen neuronalen Netzwerkes um seine aktuellen Gewichte approximiert werden, optional wobei die Taylorreihe auch Terme der ersten Ordnung enthält.
  14. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 13, wobei das neuronale Netzwerk ein Bildklassifikator ist, wobei der Bildklassifikator zum Empfangen von Eingangsdaten in der Form von Bilddaten und zum Klassifizieren der Bilddaten, optional basierend auf einer semantischen Segmentierung der Bilddaten, in ein oder mehrere Klassen ausgelegt ist.
  15. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 14, weiter umfassend: Steuern der Vorrichtung durch das vereinfachte neuronale Netzwerk; oder Erkennung eines Betriebszustands der Vorrichtung oder eines Zustands der Umwelt der Vorrichtung durch das vereinfachte neuronale Netzwerk; oder Bewertung eines Betriebszustands oder eines Zustands der Umwelt der Vorrichtung durch das vereinfachte neuronale Netzwerk.
  16. Computerprogramm, welches eingerichtet ist, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 14 auszuführen.
  17. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 16 gespeichert ist.
DE102020213238.0A 2020-10-20 2020-10-20 Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken Pending DE102020213238A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102020213238.0A DE102020213238A1 (de) 2020-10-20 2020-10-20 Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken
US17/450,773 US20220121960A1 (en) 2020-10-20 2021-10-13 Generation of simplified computer-implemented neural networks
CN202111215634.5A CN114386558A (zh) 2020-10-20 2021-10-19 生成简化的计算机实施的神经网络
JP2021170953A JP2022067651A (ja) 2020-10-20 2021-10-19 単純化されたコンピュータ実装ニューラルネットワークの生成

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020213238.0A DE102020213238A1 (de) 2020-10-20 2020-10-20 Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken

Publications (1)

Publication Number Publication Date
DE102020213238A1 true DE102020213238A1 (de) 2022-04-21

Family

ID=80929041

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020213238.0A Pending DE102020213238A1 (de) 2020-10-20 2020-10-20 Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken

Country Status (4)

Country Link
US (1) US20220121960A1 (de)
JP (1) JP2022067651A (de)
CN (1) CN114386558A (de)
DE (1) DE102020213238A1 (de)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HASSIBI, Babak; STORK, David G.; WOLFF, Gregory J. Optimal brain surgeon and general network pruning. In: IEEE international conference on neural networks. IEEE, 1993. S. 293-299.
HAYOU, Soufiane, et al. Pruning untrained neural networks: Principles and analysis. arXiv e-prints, 2020, S. arXiv: 2002.08797 (veröffentlicht am 24.06.2020).
LECUN, Yann; DENKER, John S.; SOLLA, Sara A. Optimal brain damage. In: Advances in neural information processing systems. 1990. S. 598-605.

Also Published As

Publication number Publication date
CN114386558A (zh) 2022-04-22
JP2022067651A (ja) 2022-05-06
US20220121960A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102018200724A1 (de) Verfahren und Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"
DE102006008482B4 (de) Eingangsvektorbildungsverfahren bei neuronalen Netzwerken zur Auto-Identifikation einer partiellen Entladungsquelle
DE102016011520B4 (de) Produktionsausrüstung mit Maschinenlernsystem und Montage-und Prüfeinheit
DE102007001025A1 (de) Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
AT511577A2 (de) Maschinell umgesetztes verfahren zum erhalten von daten aus einem nicht linearen dynamischen echtsystem während eines testlaufs
DE102019121589A1 (de) Verfahren zur Bestimmung einer Sensorkonfiguration
DE102018128890A1 (de) Verfahren und Testvorrichtung zum Testen eines Fahrassistenzsystems für ein Kraftfahrzeug
DE102020212502A1 (de) Bayessche kontext-aggregation für neuronale prozesse
DE102009021781A1 (de) Verfahren zur Berechnung eines Kennfelds
DE102017219492A1 (de) Verfahren und Vorrichtung zum Betreiben eines Systems durch Trainieren und Berechnen eines tiefen rekurrenten Gaußprozesses
DE102019105850A1 (de) Verfahren zur Erzeugung eines reduzierten neuronalen Netzes für ein Steuergerät eines Fahrzeuges mithilfe von Eigenvektoren
EP2088486A1 (de) Verfahren zur Vermessung eines nichtlinearen dynamischen realen Systems mittels Versuchsplanung
DE19703964C1 (de) Verfahren zur Transformation einer zur Nachbildung eines technischen Prozesses dienenden Fuzzy-Logik in ein neuronales Netz
DE102020213238A1 (de) Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken
DE102021207753A1 (de) Effizientes beschneiden zweiter ordnung von computer-implementierten neuronalen netzwerken
DE102021207754A1 (de) Erzeugung von computer-implementierten neuronalen netzwerken mit beseitigten architektonischen flaschenhälsen
DE102019207911A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Vorhersage einer Lernkurve
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
EP3716578A1 (de) Verfahren und eine vorrichtung zum ansteuern eines technischen geräts mit einem optimalen modell
DE102020211713A1 (de) Datengetriebenes trainieren einer computerimplementierten differenzierbaren impliziten schicht
EP4202779A1 (de) Verfahren und system zur klassifikation von szenarien eines virtuellen tests sowie trainingsverfahren
DE102022200259A1 (de) Analysieren von trainings- und/oder validierungsdatensätzen für ein computerbasiertes maschinenlernsystem
WO2024037811A1 (de) Verfahren zum evaluieren eines trainierten tiefen neuronalen netzes
DE102021212526A1 (de) Datenverarbeitungsvorrichtung sowie Verfahren und Programm zum tiefen Lernen eines neuronalen Netzwerkes

Legal Events

Date Code Title Description
R163 Identified publications notified