DE102019208629A1 - Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems - Google Patents

Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems Download PDF

Info

Publication number
DE102019208629A1
DE102019208629A1 DE102019208629.2A DE102019208629A DE102019208629A1 DE 102019208629 A1 DE102019208629 A1 DE 102019208629A1 DE 102019208629 A DE102019208629 A DE 102019208629A DE 102019208629 A1 DE102019208629 A1 DE 102019208629A1
Authority
DE
Germany
Prior art keywords
optimization
cost function
machine learning
determined
learning system
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
DE102019208629.2A
Other languages
English (en)
Inventor
Yassine Marrakchi
Frank Hutter
Thomas Elsken
Tonmoy Saikia
Thomas Brox
Arber Zela
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 DE102019208629.2A priority Critical patent/DE102019208629A1/de
Priority to CN202010534270.6A priority patent/CN112085207A/zh
Publication of DE102019208629A1 publication Critical patent/DE102019208629A1/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
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems, umfassend folgende Schritte. Iteratives Optimieren des ersten Parametersatzes abhängig von einer ersten Kostenfunktion (engl. loss function) und iteratives Optimieren des zweiten Parametersatzes abhängig von einer zweiten Kostenfunktion. Ermitteln von Eigenwerten der Hesse-Matrix der ersten Kostenfunktion abhängig von dem ersten Parametersatz. Abbrechen des Optimierens, wenn einer der Eigenwerte größer als ein vorgebbarer Schwellwert ist. Die Erfindung betrifft ferner ein Computerprogramm und eine Vorrichtung zum Ausführen des Verfahrens und ein maschinenlesbares Speicherelement, auf dem das Computerprogramm gespeichert ist.

Description

  • Technisches Gebiet
  • Die Erfindung betrifft ein Verfahren zum Erstellen eines maschinellen Lernsystems. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.
  • Stand der Technik
  • Liu, Hanxiao, Karen Simonyan und Yiming Yang: „DARTS: Differentiable architecture search." arXiv preprint arXiv:1806.09055 (2018) offenbaren ein Verfahren, um eine Architektur eines neuronalen Netzes mittels eines Gradientenabstiegsverfahrens zu optimieren.
  • Vorteile der Erfindung
  • Es wurde beobachtet, dass bekannte Verfahren gewisse Architekturen von maschinellen Lernsystemen nicht zielführend optimieren. Dies kann zu einer geringen Leistungsfähigkeit des maschinellen Lernsystems auf Trainingsdaten führen.
  • Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat demgegenüber den Vorteil, dass frühzeitig erkannt wird, wenn sich die Optimierung der Architektur in eine falsche Richtung entwickelt und nicht zielführend verläuft. Dadurch kann ein robusteres Optimieren der Architektur erreicht werden.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Erstellen eines maschinellen Lernsystems vorgestellt. Ein erster Parametersatz charakterisiert eine Architektur des maschinellen Lernsystems und ein zweiter Parametersatz entspricht einer Parametrisierung des maschinellen Lernsystems. Das Verfahren umfasst folgende Schritte: Zuerst wird ein iteratives Optimieren des ersten Parametersatzes abhängig von einer ersten Kostenfunktion (engl. loss function) und ein iteratives Optimieren des zweiten Parametersatzes abhängig von einer zweiten Kostenfunktion durchgeführt. Das iterative Optimieren der beiden Parametersätze kann in einer alternierenden Weise durchgeführt werden. Daraufhin folgt ein Ermitteln von Eigenwerten einer Hesse-Matrix der ersten Kostenfunktion bezüglich dem ersten Parametersatz. Daraufhin folgt ein Abbrechen des Optimierens dann, wenn einer der Eigenwerte größer als ein vorgebbarer Schwellwert ist. Alternativ kann ein Kriterium als Schwellwert gewählt werden, das abhängig von einer Mehrzahl der Eigenwerten oder von allen Eigenwerten ist.
  • Die Hesse-Matrix ist eine Matrix, die in der mehrdimensionalen reellen Analysis ein Analogon zur zweiten Ableitung einer Funktion ist. Zum Ermitteln einer Approximation der Eigenwerte kann die erste Kostenfunktion auf einer Mehrzahl von zufällig gezogenen Trainingsdaten ausgewertet werden. Vorzugsweise wird die erste Kostenfunktion hierfür abhängig von einem zufällig gezogenen Stapel (engl. mini-batch) von Trainingsdaten ermittelt. Die Eigenwerte können nach jedem Iterationsschritt des Optimierens der ersten und zweiten Parametersatzes oder nach einer vorgebbaren Mehrzahl von Iterationsschritten ermittelt werden.
  • Unter der Architektur des maschinellen Lernsystems wird dessen Aufbau verstanden. Der Aufbau des maschinellen Lernsystems kann mehrere Schichten, bzw. Zellen umfassen, die jeweils eine Mehrzahl von (Aktivierungs-) Funktionen aufweisen.
  • Unter einem iterativen Optimieren kann ein wiederholendes Optimieren verstanden werden. Es wird hierbei pro Iterationsschritt eine geänderte Lösung vorgeschlagen, sodass sich die Lösung schrittweise einer optimalen Lösung nähert. Hierfür wird der Schritt des Optimierens mehrmals hintereinander ausgeführt. Das Optimieren wird dann beendet, wenn die Bedingung erfüllt ist, dass einer der Eigenwerte größer als der Schwellwert ist, oder wenn die Bedingung erfüllt ist, dass die Kostenfunktion einen vorgebbaren Funktionswert erreicht hat, oder wenn eine vorgegebene Anzahl an Wiederholungen des Schrittes des Optimierens erreicht ist. Die Optimierung bzw. die Architektursuche kann dann beendet werden, d.h. es wird zumindest der erste Parametersatz ausgegeben. Abhängig von dem ausgegebenen ersten Parametersatz kann daraufhin das maschinelle Lernsystem initialisiert werden und abhängig von dem zweiten Parametersatz parametrisiert werden. Denkbar ist auch, dass das Verfahren nach Überschreiten des Schwellwertes nochmal von vorne begonnen wird oder ausgehend von vorhergehenden ermittelten Parametersätzen zu einem vorhergehenden Iterationsschrittes das iterative Optimieren fortgesetzt wird. Denkbar ist ferner, dass nach Abbruch des Optimierens zumindest der erste Parametersatz ausgegeben, insbesondere die dazugehörige Architektur gewählt, wird, der vor Überschreiten des Schwellwertes ermittelt wurde.
  • Das iterative Optimieren wird bspw. mittels eines Gradientenabstiegsverfahren durchgeführt. Vorzugsweise wird hierfür das Gradientenabstiegsverfahren, welches für DARTS vorgeschlagen wird, verwendet. Unter einer Kostenfunktion kann eine Differenz oder eine Abweichung zwischen einer ermittelten Ausgangsgröße des maschinellen Lernsystems und vorgegeben Trainingsausgangsgrößen verstanden werden. Die Trainingsausgangsgrößen sind jeweils Trainingseingangsgrößen zugeordnet. Diese Trainingseingangsgrößen werden durch das maschinelle Lernsystem verarbeitet und als die Ausgangsgrößen ausgeben.
  • Die erste Kostenfunktion kann abhängig von einer ersten Menge der Trainingsdaten (bspw. Validierungsdaten) ermittelt werden. Die zweite Kostenfunktion kann abhängig von einer zweiten Menge der Trainingsdaten ermittelt werden. Die Trainingsdaten umfassen jeweils Paare von Trainingseingangsgrößen und zugeordneten Trainingsausgangsgrößen. Denkbar ist, dass die gleiche Kostenfunktion für beide Parametersätze verwenden wird und/oder dass die beiden Kostenfunktionen abhängig von den gleichen Trainingsdaten ermittelt werden.
  • Beide Kostenfunktionen können jeweils abhängig von dem ersten Parametersatz (der die Architektur des maschinellen Lernsystems charakterisiert) und abhängig von dem zweiten Parametersatz (wie zum Beispiel die Geweichte eines neuronalen Netzes) ermittelt werden. Beim Optimieren über die jeweilige Kostenfunktion wird dann der jeweils nicht zu optimierende Parametersatz unverändert gelassen.
  • Die erste und die zweite Kostenfunktion können ein Bi-level Optimierungsproblem bilden. Das Bi-level Optimierungsproblem ist eine spezielle Art von Optimierungsproblemen, bei denen ein Problem in ein anderes Problem eingebettet (verschachtelt) ist. Die äußere Optimierungsaufgabe des Bi-level Optimierungsproblem wird allgemein als die übergeordnete Optimierungsaufgabe bezeichnet, und die innere Optimierungsaufgabe des Bi-level Optimierungsproblem wird allgemein als die untergeordnete Optimierungsaufgabe bezeichnet. Die äußere Optimierungsaufgabe ist dann die Optimierung der ersten Kostenfunktion und die innere Optimierungsaufgabe ist dann die Optimierung der zweiten Kostenfunktion. Bei Bi-level Optimierungen werden über unterschiedliche Variablen optimiert, die als die Variablen der oberen Ebene und die Variablen der unteren Ebene bezeichnet werden, die jeweils der entsprechenden Optimierungsaufgabe zugeordnet sind.
  • Das Bi-level Optimierungsproblem kann das Optimierungsproblem von DARTS sein. Unter DARTS kann eine Architektursuchmethode verstanden werden, welche die Architektur des maschinellen Lernsystems mittels eines Gradientenabstiegsverfahrens optimiert. Anhand von Zellen wird eine Sucharchitektur erstellt, die daraufhin optimiert wird.
  • Ein Ziel der iterativen Optimierung ist es, einen optimalen, ersten Parametersatz zu ermitteln, der die erste Kostenfunktion optimiert und gegeben diesem optimalen, ersten Parametersatz, einem zu diesem ersten Parametersatz optimalen, zweiten Parametersatz durch eine Optimierung (Minimierung/ Maximierung) der zweiten Kostenfunktion zu erhalten. Die erste Kostenfunktion kann eine Validierungskostenfunktion und die zweite Kostenfunktion kann eine Trainingskostenfunktion sein.
  • Das Verfahren bricht die Optimierung ab, wenn kein echtes Optimum gefunden wird. Dadurch wird das Verfahren robuster und verfängt sich nicht in einem steilen Optimum (engl. sharp optimum). Es wurde erkannt, dass es ausreichend ist, diese Abbruchbedingung abhängig von der ersten Kostenfunktion zu ermitteln, da eher die erste Kostenfunktion zu schlechten Optimierungsergebnissen führt. Denn die erste Kostenfunktion, die zu der Architektursuche verwendet wird, ist anfälliger zu einem steilen Optimum zu konvergieren. Es sei angemerkt, dass relativ zu der ersten Kostenfunktion die zweite Kostenfunktion einfacher zu optimieren ist, weshalb für die zweite Kostenfunktion keine Abbruchbedingung für die Architektursuche notwendig ist.
  • Weiterhin wird vorgeschlagen, dass das iterative Optimieren dann abgebrochen wird, wenn der größte Eigenwert der Hesse-Matrix größer als der Schwellwert ist.
  • Wenn der größte Eigenwert zu stark steigt, kann das Verfahren abgebrochen werden, da nicht erwartet werden kann, dass z.B. ein flaches Minimum der Kostenfunktion erreicht wird. Ein flaches Minimum der Kostenfunktion ist ein Indikator, ob eine gute Generalisierung auf neuen Daten erreicht werden kann. Der größte Eigenwert ist hierfür am charakteristischsten, denn große Werte der größten Eigenwerte charakterisieren ein steiles Optimum (engl. sharp optimum), welches zu einer schlechten Generalisierung führt. Deshalb führt dies Vorgehen zu einer Steigerung der Effizienz und Robustheit des Verfahrens.
  • Weiterhin wird vorgeschlagen, dass ein erster Mittelwert über die größten Eigenwerte einer vorgebbare Anzahl k von letzten, nacheinander ausgeführten Iterationsschritte, insbesondere der Optimierung des ersten Parametersatzes, ermittelt wird. Ein zweiter Mittelwert wird über die größten Eigenwerte der vorgebbaren Anzahl k von Iterationsschirtte, die vor den letzten Iterationsschritten ausgeführt wurden, ermittelt. Das Optimieren wird dann abgebrochen, wenn ein Verhältnis des zweiten Mittelwertes zu dem ersten Mittelwert den vorgebbaren Schwellwert überschreitet.
  • Der Vorteil hierbei ist, dass eine simple Abbruchbedingung erzielt wird, die unabhängig von dem gegenwärtigen Optimierungsproblem und einem Fortschritt der Lösung ist. Durch ein vorzeitiges Abbrechen kann darüber hinaus die „Suchzeit“ drastisch verkürzt werden.
  • Weiterhin wird vorgeschlagen, dass die Mittelwerte über die letzten 2, vorzugsweise letzten 5 oder besonders bevorzugt letzten 10 Iterationsschritte ermittelt werden. Der Schwellwert ist größer als 0.6, vorzugsweise größer als 0.75. Bei Simulationen des Verfahrens für unterschiedliche Trainingsdatensätze habe sich diese Werte als am geeignetsten herausgestellt.
  • Weiterhin wird vorgeschlagen, dass zumindest die zweite Kostenfunktion einen Regularisierungsterm aufweist. Der Regularisierungsterm kann mit einem Regularisierungsfaktor gewichtet werden, wobei der Regularisierungsfaktor größer als 3 * 10-4 und vorzugsweise kleiner 1 ist.
  • Es wurde erkannt, dass es ausreichend ist, nur die zweite Kostenfunktion zu regularisieren. Dadurch wird implizit eine Regularisierung der ersten Kostenfunktion erreicht, die sich positiv auf die Eigenwerte auswirkt.
  • Unter einer Regularisierung wird eine Methode verstanden, bei der eine Überanpassung (engl. Overfitting) auf die Trainingsdaten vermeiden werden kann, sodass eine bessere Generalisierung erreicht wird. Die Regularisierung kann ein Hinzufügen eines zusätzlichen Terms zu einer der Kostenfunktionen sein, der abhängig von einem Parametersatz ist. Die Regularisierung wird zumindest für die zweite Kostenfunktion (des inneren Optimierungsproblems der Architektursuche) verwendet. Die Regularisierung wirkt sich positiv auf die Eigenwerte aus. Die Kombination mit dem Abbruchkriterium führt daher zu einem besonders robusteren Optimieren der Parametsets.
  • Weiterhin wird vorgeschlagen, dass der Regularisierungsterm eine L1- oder L2-Regularisierung ist und der Regularisierungsfaktor einem der Werte 3i * 10-4 mit i = {3; 6; 9; 27; 81} entspricht. Bei Simulationen des Verfahrens für unterschiedliche Trainingsdatensätze habe sich diese Werte als am geeignetsten herausgestellt.
  • Der Regularisierungsfaktor kann alternativ durch eine „Hyperparameter-Optimierung“ eingestellt werden. Vorzugsweise wird hierfür ein zusätzlicher Datensatz (etwa ein zweites Validierungsset) verwendet.
  • Weiterhin wird vorgeschlagen, dass beim Optimieren die Kostenfunktion abhängig von Trainingsdaten ermittelt werden, wobei zumindest die verwendeten Trainingsdaten für die zweite Kostenfunktion augmentiert werden.
  • Unter Trainingsdaten augmentieren kann ein Hinzufügen von künstlich erzeugten oder manipulierten Trainingsdaten zu den bereits vorhandenen Trainingsdaten verstanden werden. Die künstlich erzeugten oder manipulierten Trainingsdaten können aus den vorhanden Trainingsdaten berechnet werden. Die künstlich erzeugten oder manipulierten Trainingsdaten können durch Anwenden von affinen Transformationen erhalten werden. Z.B können horizontale und/oder vertikale Translation der Trainingsdaten durchgeführt werden. Zusätzlich oder alternativ kann eine Skalierung und/oder ein „Squeezing“ durchgeführt werden. Zusätzlich oder alternativ können optische Eigenschaften wie Farbe oder Muster verändert werden. Zusätzlich oder alternativ kann auch eine horizontale und vertikale Dehnung durchgeführt werden. Weitere Augmentierungen sind möglich.
  • Neben der direkten Augmentierung der Trainingsdaten ist unter Augmentierung ebenso zu verstehen, dass die oben genannten Methoden (sowie weitere) Methoden auch auf zwischenzeitliche Ausgangsgrößen (d.h. Ausgänge beliebiger Schichten im maschinellen Lernsystem) angewandt werden können.
  • Vorzugsweise werden einzelne Ausschnitte der Trainingseingangsgrößen, wie Bilder, entfernt. Denn dies ist eine einfache Regularisierungstechnik, die besonders wirkungsvoll für die Bildverarbeitung durch bspw. neuronale Netze ist. Die Abschnitte können zusammenhängende Abschnitte der Trainingseingangsgrößen sein, wodurch die Trainingsdaten effektiv um teilweise verdeckte Versionen vorhandener Trainingsdaten ergänzt werden. Eine Größe der entfernten Ausschnitte und eine Häufigkeit des Entfernens der Ausschnitte aus den Trainingsdaten kann zufällig gewählt sein. Es wird vorgeschlagen, dass die Wahrscheinlichkeit mit zunehmenden Trainingsfortschritt, insbesondere linear, steigt.
  • Der Vorteil der Datenaugmentation ist, dass die Simulationen ferner bewiesen haben, dass die Datenaugmentation einen positiven Effekt auf die Eigenwerte hat und dadurch die Eigenwerte klein bleiben. Dieser Effekt tritt auch für die oben beschriebene Regularisierung der ersten Kostenfunktion auf. Daher führt die Kombination aus diesen Vorkehrungen (Abbruchkriterium abhängig von den Eigenwerten, Regularisierung zumindest der zweiten Kostenfunktion und der Datenaugmentation) zu einer besseren Generalisierung, sowie einer Vermeidung von Explorationen von Architekturparametrisierungen, die zu Leistungsschwachen maschinellen Lernsystemen führen. Dadurch wird die Architektursuche besonders robust.
  • Weiterhin wird vorgeschlagen, dass nachdem die Optimierung abgebrochen wurde, da der Schwellwert überschritten wurde, abhängig von dem ersten und zweiten Parametersatz des unmittelbar vorhergehenden Iterationsschrittes des Optimierens das maschinelle Lernsystem erstellt wird. Alternativ kann die Optimierung ausgehend von ermittelten ersten und zweiten Parametersätzen zu einem der vorhergehenden Iterationsschritt fortgesetzt werden.
  • Weiterhin wird vorgeschlagen, dass das erstellte maschinelle Lernsystem, insbesondere neuronales Netz, für eine Bildverarbeitung verwendet wird. Die Bildverarbeitung kann eine Klassifikation oder Segmentierung eines dem maschinellen Lernsystem bereitgestellten Bildes sein.
  • Weiterhin wird vorgeschlagen, dass das erstellte maschinelle Lernsystem eine Steuergröße abhängig von erhaltenen Sensorgrößen ermittelt. Die Sensorgröße kann ein Bild sein, das mittels einer Kamera erfasst wurde. Die Steuergröße kann zum Steuern eines Aktors eines technischen Systems verwendet werden. Das technische System kann zum Beispiel eine zumindest teilautonome Maschine, ein zumindest teilautonomes Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt wie eine Drohne sein.
  • In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.
  • Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:
  • Figurenliste
    • 1 eine schematische Darstellung einer Zelle für DARTS;
    • 2 eine schematische Darstellung eines Flussdiagrammes zum Optimieren einer Architektur und einer Parametrisierung eines maschinellen Lernsystems;
    • 3 eine schematische Darstellung eines zumindest teilautonomen Roboters;
    • 4 eine schematische Darstellung einer Vorrichtung zum Optimieren eines maschinellen Lernsystems.
  • Eine Architekturoptimierung von maschinellen Lernsystem mit einem Verfahren entsprechend DARTS ist wünschenswert, da ein solches Verfahren den Vorteil hat, dass diese Methode ein Gradientenabstiegsverfahren verwendet und damit skalierbar ist. Ferner lässt sich mittels DARTS in einer alternierenden Weise sowohl die Architektur als auch eine Parametrisierung des maschinellen Lernsystems optimieren. Unter der Parametrisierung können alle Parameter das maschinelle Lernsystem verstanden werden, abhängig von welchen das maschinelle Lernsystem seine Ausgangsgröße ermittelt. In einem ersten Ausführungsbeispiel kann das maschinelle Lernsystem ein neuronales Netz (engl. neural network) sein. Die Parametrisierung des neuronalen Netzes können die Gewichte des neuronalen Netzes und Filterkoeffizienten der Filter des neuronalen Netzes sein.
  • Bei DARTS wird die Architektur z.B. des neuronalen Netzes mit einer Mehrzahl von Zellen (engl. cell) dargestellt, die nach einer vorgebbaren Reihenfolge miteinander verbunden sind. Diese verbundenen Zellen beschreiben das sogenannte Suchnetzwerk (engl. search network), über welches optimiert werden soll. Eine Zelle ist ein gerichteter, nicht-zyklischer Graph der eine Mehrzahl von N unterschiedlichen Knoten aufweist. Die Zelle hat zumindest einen Eingangsknoten, vorzugsweise haben die Zellen zwei oder mehr Eingangsknoten. Die Zellen umfassen ferner mehrere Zwischenknoten und einen Ausgangsknoten. Jeder der Knoten stellt eine Zwischengröße x(i), in anderen Worten eine Aktivierungskarte (engl. activation map), des neuronalen Netzes dar und jede der Kanten (i,j) stellt eine Operation o(i,j), insbesondere eine Transformation, dar, die die Zwischengröße x(i) des Knotens i auf die Zwischengröße x(j) des Knotens j abbildet. Alle Knoten sind mit allen ihren vorhergehenden Knoten verbunden. Der Ausgangsknoten ist ebenfalls mit allen vorherigen Knoten verbunden, wobei die Ausgangsgröße des Ausgangsknotens durch eine Zusammenfassung (engl. concatenation) der Zwischengrößen aller vorherigen Knoten ermittelt wird.
  • Ein Zwischenergebnis x(j) des j-ten Kontens wird wie folgt ermittelt: x ( j ) = i < j o ( i , j ) ( x ( i ) )
    Figure DE102019208629A1_0001
    wobei o(i,j) E 0 und 0 ist die Menge aller möglicher Operationen.
  • Folgende mögliche Operationen o(i,j) sind denkbar: Überbrückungsverbindung (engl. skip connection), 3x3 average pooling, 3x3 max pooling, 3x3 und 5x5 Faltungen (engl. dilated separable convolutions, z.B. mit Dilation Faktor 2) und eine „Null“-Verbindung (engl. zero operation), die eine nicht vorhandene Verbindung zwischen den Knoten darstellt.
  • Die Eingangsknoten sind jeweils mit einem Ausgangsknoten einer vorherigen Zelle des Suchnetzwerkes verbunden.
  • DARTS verwendet zwei unterschiedliche Typen von Zellen. Es gibt eine Normale-Zelle, welche eine räumliche Auflösung ihrer Eingangsgrößen beibehält und es gibt eine Reduktion-Zelle, die die räumliche Auflösung ihrer Eingangsgrößen reduziert, vorzugsweise um den Faktor zwei. Es sei angemerkt, dass es auch eine Upsampling-Zelle geben kann, die die räumliche Auflösung erhöht.
  • Die Normale-Zelle ist schematisch in 1 oben mit Bezugszeichen (101) dargestellt. Beispielhaft enthält die Normale-Zelle (101) 6 Knoten, wovon 2 Eingangsknoten (I_{k-1}, l_{k-2}), 3 Zwischenknoten (0,1, 2) und ein Ausgangsknoten (O_{k}) vorliegen.
  • Um über die unterschiedlichen Operationen (o(i,j)) optimieren zu können, insbesondere mittels eines Gradiententabstiegsverfahrens, muss die zu optimierende Funktion kontinuierlich sein. Dies wird in DARTS mittels eines Einführens von Variablen α(i,j) E ℝ erreicht. Jeder Operation o(i,j) der Kanten (i,j) wird eine Variable α(i,j) zugeordnet. Eine Relaxation kann erreicht werden mittels einer gewichteten Kombination aller möglichen Operationen, wobei das Gewicht der Kante (i,j) mit Operation o gegeben ist durch: S o ( i , j ) = e x p ( α o ( i , j ) ) o O e x p ( α o ( i , j ) )
    Figure DE102019208629A1_0002
  • Dies führt zur folgender Gleichung, im Folgenden auch als gemischte Operation o̅(i,j) bezeichnet: o ¯ ( i , j ) ( x ( i ) ) = o O S o ( i , j ) o ( x ( i ) )
    Figure DE102019208629A1_0003
  • Gleichung (1) kann mit Gleichung (3) nun umgeschrieben werden: x ( j ) = i < j o ¯ ( i , j ) ( x ( i ) )
    Figure DE102019208629A1_0004
  • Die Optimierung der Architektur kann nun mittels eines Gradiententabstiegsverfahrens über die Variable α und über die Parametrisierung w der Operationen abwechselnd durchgeführt werden. Es können die Parametrisierung w und die Variable α mit folgender Bi-level Optimierungsgleichung optimiert werden: m i n α   L v a l ( w * ( α ) , α ) s . t .      w * ( α ) = a r g m i n w   L t r a i n ( w , α )
    Figure DE102019208629A1_0005
    • Lvαl ist eine erste Kostenfunktion angewendet auf einen Validierungsdatensatz und
    • Ltrain ist eine zweite Kostenfunktion angwendet auf einen Trainingsdatensatz.
  • 2 zeigt ein schematisches Flussdiagramm zum Optimieren einer Architektur und einer Parametrisierung eines maschinellen Lernsystems.
  • Das Verfahren (20) beginnt mit Schritt 2000. In diesem Schritt wird eine Architektur des maschinellen Lernsystems vorgegeben. In diesem Ausführungsbeispiel kann das maschinelle Lernsystem durch ein neuronales Netz gegeben sein. Die Architektur kann beispielsweise durch die Auflösung der Eingangs- und Ausgangs-größe des neuronalen Netzes und/oder durch eine Anzahl der Eingangsgrößen vorgegeben sein. Ebenso kann die Architektur des neuronalen Netzes durch die geringste Auflösung der Zwischengrößen des neuronalen Netzes oder einer Anzahl der Schichten des neuronalen Netzes, usw. vorgegeben sein.
  • Ebenso können in Schritt 2000 Eigenschaften der Zell-Typen definiert werden, beispielsweise, dass jeder Zell-Typ nur 3 Zwischenknoten hat. Ebenso kann in Schritt 2000 die Menge aller möglichen Operation einer jeden Kante festgelegt werden.
  • Daraufhin wird abhängig von der vorgegebenen Architektur und den definierten Zellen, ein Suchnetzwerk (eng. search network) erstellt. Dafür wird eine Mehrzahl der unterschiedlichen Zell-Typen (Normale-Zellen, Reduktion-Zellen und Upsampling-Zellen) hintereinander angeordnet, sodass die vorgegebene Architektur erreicht wird. D.h. nach Beendigung des Schrittes 2000 liegt das Suchnetzwerk umfassend die unterschiedlichen hintereinander angeordneten Zellen vor, die daraufhin im nachfolgenden Schritt optimiert werden sollen.
  • In dem nachfolgenden Schritt 2100 werden Trainingsdaten umfassend Trainingseingangsgrößen und jeweils zugeordnete Trainingsausgangsgrößen bereitgestellt. Die Trainingsdaten werden in zwei Mengen aufgeteilt, vorzugsweise umfassen diese Mengen jeweils eine gleiche Anzahl von Trainingseingangsgrößen und jeweils zugeordnete Trainingsausgangsgrößen.
  • Nachdem Schritt 2100 beendet wurde, folgt der optionale Schritt 2200. In diesem Schritt kann die Parametrisierung w des Suchnetzwerkes vorab auf den Trainingsdaten oder einer der zwei Mengen der Trainingsdaten optimiert werden. Hierfür werden die Trainingseingangsdaten durch das Suchnetzwerk propagiert. Anschließend wird abhängig von den ermittelten Ausgangsgrößen des Suchnetzwerkes und den jeweiligen Trainingsausgangsgrößen die zweite Kostenfunktion Ltrain ermittelt, die abhängig von der Parametrisierung w und der Variablen α ist. Mittels eines Gradiententabstiegsverfahrens, bspw. Stochastic Gradient Descent (SGD), über die Parametrisierung w kann dann die zweite Kostenfunktion Ltrain optimiert, insbesondere minimiert oder maximiert, werden. Es sei angemerkt, dass die Parametrisierung w nicht vollständig optimiert werden muss. Es ist ausreichend wenn diese nur über eine Mehrzahl von Iterationen optimiert werden, ohne dass eine Konvergenz eintritt.
  • Nachdem der optionale Schritt 2200 oder der Schritt 2100 beendet wurde, folgt Schritt 2300. Hierin wird das Suchnetzwerk gemäß dem DARTS Optimierungsalgorithmus nach Gleichung (5) optimiert. D.h. es wird abwechselnd über die Variable α und über die Parametrisierung w mittels eines Gradientenabstiegsverfahrens optimiert. Die Optimierung der Variable α wird anhand der ersten Kostenfunktion Lvαl auf der ersten der zwei Mengen der Trainingsdaten aus Schritt 2100 durchgeführt. Nachdem diese Optimierung abgeschlossen wurde, wird die Optimierung der Parametrisierung w auf der zweiten Menge der Trainingsdaten anhand der zweiten Kostenfunktion Ltrain ausgeführt. Diese abwechselnde Optimierung der Variable α und der Parametrisierung wird mehrfach nacheinander ausgeführt.
  • Nach jeder Optimierung der Variable α oder nach einem mehrmaligen Optimieren der Variable α, werden Eigenwerte einer Hesse-Matrix der ersten Kostenfunktion abhängig von der Variable α ermittelt. Wenn einer der Eigenwerte größer als ein vorgebbarer Schwellwert ist, wird das Optimieren abgebrochen und die Variable α verwendet, welche vor Überschreiten des Schwellwertes vorlag. D.h. die Variable a des vorhergehenden Iterationschrittes wird daraufhin Schritt 2400 übergeben.
  • Vorzugsweise werden in Schritt 2300 Regularisierungstechniken der zweiten Kostenfunktion Ltrain verwendet. Bspw. werden einzelne Ausschnitte der Trainingseingangsgrößen, entfernt. Eine Größe der entfernten Ausschnitte und eine Häufigkeit des Entfernens der Ausschnitte aus den Trainingsdaten kann zufällig gewählt sein. Es wird vorgeschlagen, dass die Wahrscheinlichkeit mit zunehmenden Trainingsfortschritt linear steigt.
  • Zur weiteren Regularisierung können beim Optimieren die gemischten Operationen o̅ (i,j) nach Gleichung (3) zufällig entfernt werden, bspw. durch Setzen auf null. Vorzugsweise wird zu Beginn des Optimierens die Wahrscheinlichkeit des Entfernens auf null gesetzt. Die Wahrscheinlichkeit kann linear mit zunehmendem Fortschritt des Optimierens der Kostenfunktionen erhöht werden, bis ein vorgebbarer max. Wahrscheinlichkeitswert erreicht wird.
  • Schritt 2300 wird mehrmals wiederholt, bis das Abbruchkriterium erfüllt ist, dass einer der Eigenwerte größer als der Schwellwert ist. Dann wird die Variable α des vorhergehenden Iterationschrittes Schritt 2400 übergeben. Wenn ein Optimum der Kostenfunktionen erreicht wurde, oder wenn eine maximale Anzahl an Iterationen erreicht ist, dann wird die letzte ermittelte Variable α Schritt 2400 übergeben.
  • Im nachfolgenden Schritt 2400 wird abhängig von der aus Schritt 2300 übergebenen Variable α eine optimale Architektur, insbesondere optimalen Operationen, des vorgegebenen neuronalen Netzes aus Schritt 2000 ermittelt. Gemäß dem DARTS Verfahren, wird hierfür die Relaxation rückgängig ausgeführt. Dies kann beispielsweise durchgeführt werden, in dem die stärkste Operation abhängig von der Variable α für jede Kante ausgewählt wird: m a x o O , o z e r o S o ( i , j )
    Figure DE102019208629A1_0006
  • Nachdem in Schritt 2400 die optimalen Operationen ermittelt wurden, wird in Schritt 2500 ein neuronales Netz gemäß diesen ausgewählten Operationen und der vorgegebenen Architektur aus Schritt 2000 initialisiert. Ferner wird die Parametrisierung w, die in Schritt 2300 optimiert wurde, ebenso für die Initialisierung des neuronalen Netzes verwendet.
  • Anschließend wird im optionalen Schritt 2500 die Parametrisierung w des initialisierten neuronalen Netzes auf den bereitgestellten Trainingsdaten wiederholt optimiert. Hierfür werden die Trainingseingangsgrößen durch das initialisierte neuronale Netz propagiert und abhängig von den ermittelten Ausgangsgrößen und den Trainingsausgangsgrößen die Parametrisierung angepasst, insbesondere angelehnt an Schritt 2100.
  • In dem nachfolgenden, optionalen Schritt 2600 wird das initialisierte neuronale Netz aus Schritt 2500 für einen Roboter verwendet. Beispielsweise kann das neuronale Netz aus Schritt 2500 verwendet werden, um abhängig von einer bereitgestellten Eingangsgröße eine Ausgangsgröße zu ermitteln, wobei daraufhin abhängig von der Ausgangsgröße mittels einer Steuerungseinheit der Roboter gesteuert wird.
  • Damit endet das Verfahren (20).
  • 3 zeigt eine schematische Darstellung eines zumindest teilautonomen Roboters, welcher in einem ersten Ausführungsbeispiel durch ein zumindest teilautonomes Fahrzeug (300) gegeben ist. In einem weiteren Ausführungsbeispiel kann der zumindest teilautonome Roboter ein Service-, Montage- oder stationärer Produktionsroboter, alternativ ein autonomes Flugobjekt, wie eine Drohne, sein.
  • Das zumindest teilautonome Fahrzeug (300) kann eine Erfassungseinheit (30) umfassen. Die Erfassungseinheit (30) kann zum Beispiel eine Kamera sein, welche eine Umgebung des Fahrzeugs (300) erfasst. Die Erfassungseinheit (30) kann mit dem erstellen maschinellen Lernsystem nach 2 verbunden sein. In dieser Ausführungsform kann das maschinelle Lernsystem das neuronalen Netz (40) aus Schritt 2600 sein. Das neuronale Netz (40) ermittelt abhängig von einer bereitgestellten Eingangsgröße, z.B. bereitgestellt von der Erfassungseinheit (30), und in Abhängigkeit einer Mehrzahl von Parametern des neuronalen Netzes (40) eine Ausgangsgröße. Die Ausgangsgröße kann an eine Steuerungseinheit (50) weitergeleitet werden.
  • Die Steuerungseinheit (50) steuert in Abhängigkeit der Ausgangsgröße des neuronalen Netzes (40) einen Aktor, vorzugsweise steuert diesen den Aktor derart, dass das Fahrzeug (300) ein kollisionsfreies Manöver ausführt. Im ersten Ausführungsbeispiel kann der Aktor ein Motor oder ein Bremssystem des Fahrzeugs (300) sein. In einem weiteren Ausführungsbeispiel kann der teilautonome Roboter ein Werkzeug, eine Werkmaschine oder ein Fertigungsroboter sein. Ein Material eines Werkstückes kann mittels des neuronalen Netzes (40) klassifiziert werden. Der Aktor kann hierbei z.B. ein Motor, der einen Schleifkopf betreibt, sein.
  • Ferner umfasst das Fahrzeug (300), insbesondere der teilautonome Roboter, eine Recheneinheit (60) und ein maschinenlesbares Speicherelement (60). Auf dem Speicherelement (60) kann ein Computerprogramm gespeichert sein, welches Befehle umfasst, die beim Ausführen der Befehle auf der Recheneinheit (60) dazu führen, dass die Recheneinheit (60) das Verfahren mit all seinen Schritten, oder nur Schritt 2600, gemäß 2, ausführt. Alternativ kann auf dem Speicherelement (60) das neuronale Netz (40) hinterlegt sein und die Recheneinheit führt die Berechnungen des neuronalen Netzes (40) aus.
  • 4 zeigt eine schematische Darstellung einer Vorrichtung (400) zum Optimieren, des maschinellen Lernsystems, wie das neuronalen Netzes (40), insbesondere zum Ausführen der Schritte zum Optimieren des neuronalen Netzes (40). Die Vorrichtung (400) umfasst ein Trainingsdatenmodul (410) und ein Differenzmodul (420). Das Differenzmodul (420) ermittelt abhängig von der Trainingsausgangsgrößen ys und den ermittelten Ausgangsgrößen y des neurnalen Netzes (40) eine Differenz, insbesondere mittels der Kostenfunktion. Das Trainingsdatenmodul (410) enthält die Trainingsdaten. Zweckgemäß umfassen die Trainingsdaten eine Mehrzahl von Trainingseingangsgrößen, die jeweils gelabelt sind. Während des Optimierens, ermittelt das Optimierungsmodul (430) abhängig von der ermittelten Differenz des Differenzmoduls (420) eine Änderung θ' der Parameterisierung w oder Variable α. Abhängig von der Änderung θ' wird dann in einem Speicher P, in welchem die Parameterisierung w und die Variablen α hinterlegt sind, angepasst.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Liu, Hanxiao, Karen Simonyan und Yiming Yang: „DARTS: Differentiable architecture search.“ arXiv preprint arXiv:1806.09055 (2018) [0002]

Claims (10)

  1. Verfahren zum Erstellen eines maschinellen Lernsystems, wobei ein erster Parametersatz (a) eine Architektur des maschinellen Lernsystems charakterisiert und ein zweiter Parametersatz (w) eine Parametrisierung des maschinellen Lernsystems ist, umfassend folgende Schritte: Iteratives Optimieren des ersten Parametersatzes abhängig von einer ersten Kostenfunktion (Lval) und iteratives Optimieren des zweiten Parametersatzes abhängig von einer zweiten Kostenfunktion (Ltrain), wobei die erste Kostenfunktion (Lval,) und zweite Kostenfunktion (Ltrain) jeweils abhängig von dem ersten Parametersatz (α) und zweiten Parametersatz (w) ist; Ermitteln von Eigenwerten einer Hesse-Matrix der ersten Kostenfunktion (Lval) abhängig von dem ersten Parametersatz (α); Abbrechen des Optimierens, wenn einer der Eigenwerte größer als ein vorgebbarer Schwellwert ist.
  2. Verfahren nach Anspruch 1, wobei das iterative Optimieren dann abgebrochen wird, wenn der größte Eigenwert der Hesse-Matrix größer als der vorgebbare Schwellwert ist.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei ein erster Mittelwert über die größten Eigenwerte einer vorgebbaren Anzahl k von letzten, nacheinander ausgeführten Iterationsschritte, insbesondere der Optimierung des ersten Parametersatzes, ermittelt wird, wobei ein zweiter Mittelwert über die größten Eigenwerte der vorgebbaren Anzahl k von Iterationsschritte, die vor den letzten Iterationsschritten ausgeführt wurden, ermittelt wird, wobei das Optimieren dann abgebrochen wird, wenn ein Verhältnis des zweiten Mittelwertes zu dem ersten Mittelwert den vorgebbaren Schwellwert überschreitet.
  4. Verfahren nach Anspruch 3, wobei die Mittelwerte abhängig von den ermittelten, größten Eigenwerten der jeweils letzten 5 Iterationsschritte ermittelt werden, wobei der Schwellwert größer als 0.6 ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei zumindest die zweite Kostenfunktion einen Regularisierungsterm aufweist, der mit einem Regularisierungsfaktor gewichtet ist.
  6. Verfahren nach Anspruch 5, wobei der Regularisierungsterm eine L1- oder L2-Regularisierung ist und der Regularisierungsfaktor einem der Werte 3i * 10-4 mit i = {3; 6; 9; 27; 81} entspricht.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei beim Optimieren die Kostenfunktion abhängig von Trainingsdaten ermittelt werden, wobei zumindest die verwendeten Trainingsdaten für die zweite Kostenfunktion augmentiert werden.
  8. Computerprogramm welches Befehle umfasst, die eingerichtet sind, beim Ausführen dieser Befehle auf einem Computer diesen zu veranlassen, das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.
  9. Maschinenlesbares Speicherelement, auf welchem das Computerprogramm nach Anspruch 8 hinterlegt ist.
  10. Vorrichtung, welche eingerichtet ist, das Verfahren nach einem der vorhergehenden Ansprüche 1 bis 7 auszuführen.
DE102019208629.2A 2019-06-13 2019-06-13 Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems Pending DE102019208629A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102019208629.2A DE102019208629A1 (de) 2019-06-13 2019-06-13 Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems
CN202010534270.6A CN112085207A (zh) 2019-06-13 2020-06-12 用于创建机器学习系统的方法、设备和计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019208629.2A DE102019208629A1 (de) 2019-06-13 2019-06-13 Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems

Publications (1)

Publication Number Publication Date
DE102019208629A1 true DE102019208629A1 (de) 2020-12-17

Family

ID=73546754

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019208629.2A Pending DE102019208629A1 (de) 2019-06-13 2019-06-13 Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems

Country Status (2)

Country Link
CN (1) CN112085207A (de)
DE (1) DE102019208629A1 (de)

Also Published As

Publication number Publication date
CN112085207A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
EP3785177A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neurona-len netzes
WO2019001649A1 (de) Wissenstransfer zwischen verschiedenen deep-learning architekturen
DE102017218851A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Erstellung eines tiefen neuronalen Netzes
EP3748551A1 (de) Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
EP3785178B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE202019102260U1 (de) Vorrichtung zum Erstellen eines neuronalen Netzes
DE102020211262A1 (de) Verfahren und Vorrichtung zum Komprimieren eines neuronalen Netzes
DE202019103323U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
EP3736742A1 (de) Maschinelles lernsystem, sowie ein verfahren, ein computerprogramm und eine vorrichtung zum erstellen des maschinellen lernsystems
DE102019212912A1 (de) Komprimieren eines tiefen neuronalen Netzes
DE102019208629A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen eines maschinellen Lernsystems
DE102021200643B3 (de) Verfahren zur Umfelderkennung für teilautonome oder autonome Fahrfunktionen eines Kraftfahrzeugs mittels eines neuronalen Netzes
DE102019207911A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Vorhersage einer Lernkurve
DE102020116013A1 (de) Verfahren zum Bereitstellen eines komprimierten künstlichen neuronalen Netzes mittels eines Autoencoders
DE202019103046U1 (de) Vorrichtung zur Vorhersage einer Lernkurve
DE202019105256U1 (de) Vorrichtung zum Erstellen eines maschinellen Lernsystems
EP3956820B1 (de) Verfahren, vorrichtung und computerprogramm zum erstellen eines neuronalen netzes
DE202019103233U1 (de) Vorrichtung zum Einstellen eines Hyperparameters
DE102019214436A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Betreiben eines künstlichen neuronalen Netzes
DE102019216184A1 (de) Verfahren zum Robustifizieren eines Neuronalen Netzes gegen adversariale Störungen
DE102019202747A1 (de) Verfahren und Vorrichtung zur Klassifizierung von Eingangsdaten
DE202021103700U1 (de) Vorrichtung zum Erzeugen eines künstlichen neuronalen Netzes
DE102020205964B3 (de) Vorrichtung und Verfahren zum Betreiben eines Prüfstands
DE102021125306A1 (de) Verfahren und Vorrichtung zur Bereitstellung eines präzisen und robusten neuronalen Netzes
DE102021214552A1 (de) Verfahren zum Evaluieren eines trainierten tiefen neuronalen Netz