DE102021109754A1 - Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen - Google Patents

Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen Download PDF

Info

Publication number
DE102021109754A1
DE102021109754A1 DE102021109754.1A DE102021109754A DE102021109754A1 DE 102021109754 A1 DE102021109754 A1 DE 102021109754A1 DE 102021109754 A DE102021109754 A DE 102021109754A DE 102021109754 A1 DE102021109754 A1 DE 102021109754A1
Authority
DE
Germany
Prior art keywords
network configurations
network
configurations
training data
hyperparameters
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
DE102021109754.1A
Other languages
English (en)
Inventor
Frank Hutter
Guilherme Miotto
Marius Lindauer
Thomas Elsken
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 DE102021109754.1A priority Critical patent/DE102021109754A1/de
Publication of DE102021109754A1 publication Critical patent/DE102021109754A1/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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zum Ermitteln einer Pareto Menge von Netzkonfigurationen, mit folgenden Schritten: Bereitstellen (S1) einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (α). Dann folgt ein Ermitteln von Hyperparameter (λ) für jeder der bereitgestellten Netzkonfigurationen (α) mittels eines Optimierers und ein Trainieren von neuronalen Netzen konfiguriert abhängig von bereitgestellten Netzkonfigurationen (α) und abhängig von den jeweils zugehörigen ermittelten Hyperparameter (λ) auf den bereitgestellten Trainingsdaten sowie ein Ermitteln für jedes der trainierten neuronalen Netze eine Performance (accurancy). Anschließend wird ein Anpassen des Optimierers abhängig von Netzkonfigurationen (α), Hyperparameter (λ) und Performance ausgeführt. Es folgt ein wiederholtes Ausführen von einem Auswählen (S3) von Netzkonfigurationen aus dem weiteren Trainingsdatensatz sowie eines zufälligen Mutieren (S4) der ausgewählten Netzkonfigurationen und Ausführen der Schritte zum Evaluieren der mutierten Netzkonfigurationen. Anschließend wird ein wiederholtes Ausführen folgender Schritte ausgeführt. Auswählen (S5) von Netzkonfigurationen aus dem weiteren Trainingsdatensatz und Komprimieren (engl. Pruning) (S6) der ausgewählten Netzkonfigurationen sowie ein Evaluieren der komprimierten Netzkonfigurationen.

Description

  • Die Erfindung betrifft ein Verfahren zum Ermitteln einer Mehrzahl von Netzkonfigurationen eines neuronalen Netzes für einen gegebenen Trainingsdatensatz, sodass die Konfigurationen eine Mehrzahl von Nebenbedingungen hinsichtlich Optimierungszielen erfüllen, eine Trainingsvorrichtung, ein Computerprogramm und ein maschinenlesbares Speichermedium.
  • Stand der Technik
  • Die Eigenschaften von neuronalen Netzen werden maßgeblich durch ihre Architektur bestimmt. Die Architektur eines neuronalen Netzes ist beispielsweise durch dessen Netzkonfiguration definiert, die u.a. durch die Anzahl der Neuronenschichten, die Art der Neuronenschichten (lineare Transformationen, nichtlineare Transformationen, Normalisierung, Verknüpfung mit weiteren Neuronenschichten usw.), die Anzahl der Gewichte und dergleichen gegeben ist. Insbesondere bei zunehmender Komplexität der Anwendungen bzw. der zu lösenden Aufgaben ist das zufällige Auffinden von geeigneten Netzkonfigurationen aufwändig, da jeder Kandidat einer Netzkonfiguration zunächst trainiert werden muss, um dessen Leistungsfähigkeit evaluieren zu können.
  • Aus dem Stand der Technik sind diverse Ansätze zur Architektursuche von neuronalen Netzen, um eine hinsichtlich eines Vorhersagefehlers und hinsichtlich eines oder mehrerer Optimierungsziele optimierte Konfiguration eines neuronalen Netzes für eine bestimmte Anwendung aufzufinden, bekannt.
  • Beispielsweise offenbart EP 19719232 ein Verfahren zum Ermitteln einer geeigneten Netzkonfiguration für ein neuronales Netz für eine vorgegebene Anwendung aus einer Menge von optimalen Netzkonfigurationen.
  • Vorteile der Erfindung
  • Eine Aufgabe der Erfindung ist es, ein Verfahren bereitzustellen, welches ermöglicht, mit geringem Rechenaufwand eine Menge von optimalen Netzkonfigurationen, die jeweils hinsichtlich einer Mehrzahl von Nebenbedingungen optimal sind (also auf einer Pareto-Front liegen), aufzufinden. Die Menge der optimalen Netzkonfigurationen wird im Folgenden auch Pareto-Menge genannt.
  • Ein Vorteil der Erfindung ist es, dass mit dem beanspruchten Verfahren die Pareto-Front weiter in eine positive Richtung verschoben wird, also gegenüber bekannten Verfahren eine überlegenere Pareto-Front aufgefunden werden kann.
  • Ein weiterer Vorteil ist ferner, dass anhand der Pareto-Front diejenige Netzkonfiguration ausgewählt werden kann, die für eine gegebene Hardware mit begrenzten Ressourcen optimal ist. So kann bspw. anhand der Pareto-Front diejenigen Netzkonfigurationen ausgewählt werden, die optimal eine Hardwarebeschränkung (z.B. Speicherplatz, Rechenleistung, Energiebudget, Bandbreite, o.ä.) ausnutzt und unter dieser Einschränkung die höchste Leistungsfähigkeit erzielt. Dies ist ein bedeutender Vorteil, da in vielen praktischen Anwendungen unterschiedlich ausgelegte Hardwarebauteile zur Lösung der gleichen Aufgabe für Kunden bereitgestellt werden und anhand der Pareto-Front effizient die geeigneten Netzkonfigurationen für die unterschiedlich ausgelegten Hardwarebauteile direkt appliziert werden können.
  • Offenbarung der Erfindung
  • In einem ersten Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Ermitteln einer Pareto Menge von Netzkonfigurationen. Unter einer Pareto Menge kann eine Mehrzahl von Netzkonfigurationen verstanden werden, bei welchen es nicht möglich ist, eine (Ziel-) Eigenschaft, insbesondere ein Optimierungsziel, zu verbessern, ohne zugleich eine andere verschlechtern zu müssen. Unter einer Netzkonfiguration kann eine Architektur des neuronalen Netzes verstanden werden, d.h. ein Aufbau, wie beispielsweise durch folgende Merkmale charakterisiert: Anzahl der Schichten, Anzahl der Filter, Größe der Filter, Dropout-Rate, Anzahl der Neuronen pro Schicht, Skip-Connection, Batch-Normalisierungsschichten, Poolingschichten, o.ä.
  • Die Netzkonfigurationen für ein neuronales Netz werden vorzugsweise für eine vorgegebene Anwendung ermittelt und die vorgegebene Anwendung ist in Form von bereitgestellten Trainingsdaten bestimmt.
  • Das Verfahren beginnt mit einem Bereitstellen einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (α).
  • Daraufhin folgt ein Ermitteln von Hyperparametern (A) für jede der bereitgestellten Netzkonfigurationen (α) mittels eines Hyperparameteroptimierers. Die Hyperparameter (λ) können z.B. eine Lernrate, Regularisierungen, ein Lernalgorithums zum Trainieren des neuronalen Netzes (z.B. Ada, SGD, etc.), usw. sein. Vorzugweise verwendet der Hyperparameteroptimierer eine Bayes'sche Optimierung.
  • Daraufhin folgt ein Trainieren von neuronalen Netzen konfiguriert abhängig von den bereitgestellten Netzkonfigurationen (α) und abhängig von den jeweils zugehörigen ermittelten Hyperparameter (A) auf den bereitgestellten Trainingdsdaten und ein Ermitteln für jedes der trainierten neuronalen Netze eine Performance (accurancy), sowie ein Anpassen des Hyperparameteroptimierers abhängig von den verwendeten Netzkonfigurationen (a), Hyperparameter (λ) und damit erzielten Performance (accurancy) und ein Auswerten der trainierten neuronalen Netze hinsichtlich zumindest einem weiteren vorgegebenen Optimierungsziel (n_pars) neben dem Optimierungsziels der Performance (accurancy) des neuronalen Netzes. Vorzugsweise gibt es eine Mehrzahl von weiteren Optimierungszielen und zumindest ein Optimierungsziel charakterisiert eine beschränkte Ressource einer Hardware. Besonders bevorzugt ist ein Optimierungsziel eine Anzahl von Parametern des neuronalen Netzes (n_pars).
  • Dann folgt ein Hinzufügen eines Tupels umfassend der verwendeten Netzkonfigurationen (a), Hyperparameter (A) für den Schritt des Trainierens und die ermittelte Performance und das ausgewertete Optimierungsziel (n_pars) zu einem weiteren Trainingsdatensatz. Die Performance kann eine Leistungsfähigkeit des entsprechend konfigurierten neuronalen Netzes charakterisieren, wie bspw. eine Klassifikationsgenauigkeit oder eine Fehlerrate.
  • Es folgt dann ein erstes wiederholtes Ausführen nachfolgender Schritte, insbesondere bis ein erste Abbruchkriterium erfüllt ist:
    • Auswählen von Netzkonfigurationen aus dem weiteren Trainingsdatensatz, zufälliges Mutieren der ausgewählten Netzkonfigurationen und ein Evaluieren der mutierten Netzkonfigurationen gemäß den oben erläuterten Schritten über ein Trainieren von neuronalen Netzen konfiguriert abhängig von den mutierten Netzkonfigurationen bis Auswerten der neuronalen Netze und Hinzufügen des Tupels zu dem weiteren Trainingsdatensatz.
  • Es folgt dann ein zweites wiederholtes Ausführen nachfolgender Schritte, insbesondere bis ein zweites Abbruchkriterium erfüllt ist. Das erste und zweite Abbruchkriterium kann das Eintreten mindestens eines der folgenden Ereignisse definieren: eine vorbestimmte Anzahl von Wiederholungen wurde erreicht, oder ein vorbestimmter Wert für die Performance wurde durch mindestens eine der Netzkonfiguration erreicht, oder ein vorgegebenes Budget von Zeit, Rechenleistung oder ähnliches wurde aufgebraucht. Wenn das Abbruchkriterium ein Zeitbudget ist, dann wird dies vorzugsweise wie folgt verteilt: Das gesamte Zeitbudget wurde in Bruchteile von 0,35, 0,40 und 0,25 aufgeteilt, wobei die ersten 35% des gesamten Zeitbudgets für die ersten Schritte des zufälligen Erzeugens von Netzkonfigurationen und Bewerten dieser und Erstellen des weiteren Trainingsdatensatzes aufgewendet und 40% bzw. 25% der verbleibenden Zeit des gesamten Zeitbudgets für das erste Wiederhohlen und zweite Wiederhohlen aufgewendet. Entsprechend beträgt das Budget des ersten Abbruchkriterium 40% der gesamten allokierten Zeit für das Verfahren und das Budget des zweiten Abbruchkriterium 25% der gesamten allokierten Zeit für das Verfahren.
  • Bei diesem zweiten wiederholten Ausführen werden dann die nachfolgenden Schritte ausgeführt: Komprimieren (engl. Pruning) der ausgewählten Netzkonfigurationen und Ausführen der oben erläuterten Schritte zum Bewerten der komprimierten Netzkonfigurationen. Vorzugsweise wird die Performance hier auf den Trainingsdaten ermittelt. Ferner kann die Performance für die anderen Schritte auf Validierungsdaten ermittelt werden.
  • Anschließend folgt ein Auswählen der Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz, welche eine Pareto-Menge hinsichtlich der Performance und mindestens eines weiteren Optimierungsziels entspricht.
  • Vorzugsweise wird die Pareto-Menge hinsichtlich der Performance der eines Vorhersagefehlers und mindestens eines weiteren Optimierungsziels, wie eine Anzahl der Parameter des neuronalen Netzes ermittelt.
  • Optional kann nach dem das Verfahren zum Ermitteln der Pareto-Front abgeschlossen wurde, ein Auswählen der geeigneten Netzkonfiguration aus der aktuellen Netzkonfigurationsmenge erfolgen. Hierbei kann aus der Menge der optimalen Netzkonfiguration abhängig von einem vorgegebenen Optimierungsziel, diejenige Netzkonfiguration aus der Pareto-Front entnommen werden, die dieses Optimierungsziel erfüllt. Z.B. kann die geeignete Netzkonfiguration aus der aktuellen Netzkonfigurationsmenge basierend auf einer Gesamtkostenfunktion ausgewählt werden, die von dem Vorhersagefehler und Ressourcenkosten hinsichtlich des mindestens eines Optimierungsziels abhängt.
  • Es wird vorgeschlagen, dass die Mutation der Netzkonfigurationen durch zufälliges Hinzufügen von Schichten oder Kombinieren von zumindest zwei zufällig gezogenen Netzkonfigurationen erfolgt.
  • Vorzugsweise werden hierfür zusätzliche faltende Schichten oder vollvermaschte Schichten an einer zufälligen Position hinzugefügt. D.h. die Netzkonfiguration wird derart verändert, dass diese einen Aufbau des neuronalen Netzes charakterisiert, welches sich gegenüber dem ursprünglichen neuronalen Netz mit der ursprünglichen Netzkonfiguration darin unterscheidet, dass an einer zufälligen Position innerhalb des neuronalen Netzes eine Schicht hinzugefügt wurde.
  • Denkbar ist auch, dass die Mutation durch Netzwerkmorphismen entsprechen vorbestimmten Regeln ausgeführt wird, die mithilfe eines Operators bestimmt sein können. Allgemein ist ein Netzwerkmorphismus ein Operator T, der ein neuronales Netz N auf ein Netz TN abbildet, wobei gilt: N w ( x ) = ( T N ) w ˜ ( x )  f u ¨ x X
    Figure DE102021109754A1_0001
    dabei sind w die Netzparameter (Gewichtungen) des neuronalen Netzes N und w̃ die Netzparameter des variierten neuronalen Netzes TN. X entspricht dem Raum, auf dem das neuronale Netz angewendet wird.
  • Weiterhin wird vorgeschlagen, dass beim Schritt des Komprimierens Neuronen des entsprechend konfigurierten neuronalen Netzes nach einer Summe ihrer Ausgangsgewichtswerte geordnet, und eine vorgegebene Menge der Neuronen aufweisend die kleinsten Summen entfernt werden.
  • Für das Komprimieren kann auch eine sog. „Wissensdestillierung“ ausgeführt werden, siehe z.B. Georey Hinton, Oriol Vinyals, and Je Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.
  • Denkbar ist, dass nach dem Komprimieren ein Nachtrainieren erfolgt, wobei hier, dass Verhalten der ungeprunten neuronalen Netzes imitiert wird. D.h. als Trainingsdaten werden hier Eingangsgrößen des Trainingsdatensatz verwendet und als Label nicht die zugeordneten Ausgangsgrößen aus dem Trainingsdatensatz, sondern die ermittelten Ausgangsgrößen des ungeprunten neuronalen Netzes.
  • Weiterhin wird vorgeschlagen, dass nach dem Mutieren das neuronale Netz konfiguriert mit den mutierten Netzkonfigurationen abhängig von den erzielten Ausgangsgrößen der neuronalen Netze konfiguriert mit den Netzkonfigurationen, die für die Mutation verwendet wurden, vortrainiert werden.
  • Vorteilhaft ist, wenn Gewichtswerte der neuronalen Netze konfiguriert mit den Netzkonfigurationen, die für die Mutation verwendet wurden, für die neuronalen Netze konfiguriert mit den mutierten Netzkonfigurationen wiederverwendet werden.
  • Weiterhin wird vorgeschlagen, dass eine Wahrscheinlichkeit der Auswahl höher für Netzkonfigurationen ist, die näher an der Pareto-Front liegen und wobei Netzkonfigurationen, die nicht auf der Pareto-Front liegen, mit gleicher Wahrscheinlichkeit ausgewählt werden.
  • Vorzugsweise wird dann wenn der weitere Trainingsdatensatz nur Netzkonfigurationen enthält, die auf einer Pareto-Front liegen, zufällig aus dem weiteren Trainingsdatensatz eine Netzkonfiguration gezogen. Wenn dagegen der weitere Trainingsdatensatz auch Netzkonfigurationen enthält, die nicht auf einer Pareto-Front liegen, wird zufällig aus dem weiteren Trainingsdatensatz eine Netzkonfiguration gezogen.
  • Vorzugsweise wird die gezogene Netzkonfiguration aus dem weiteren Trainingsdatensatz entfernt.
  • Weiterhin wird vorgeschlagen, dass die Hyperparameter (A) mittels einer beschränkten Bayes'sche Optimierung (engl. constrained Bayesian Optimization) optimiert werden.
  • Die Hyperparameter sind vorzugsweise nicht-architektonische Hyperparameter (z.B. Lernrate, weight decay, dropout Rate, batch size, etc.). Unter der beschränkten Bayes'sche Optimierung kann eine Bayes'sche Optimierung verstanden werden, welche alle Hyperparameter (architektonisch oder nicht) enthält, aber seine Erfassungsfunktion (engl. acquisition function) beschränkt auf die gegebene Architektur optimiert wird. Mit anderen Worten, die beschränkte Bayes'sche Optimierung kennt die architektonischen Hyperparameter, aber kann sie nicht auswählen. Auf diese Weise kann der Optimierer die beste Hyperparameterkonfiguration für eine gegebene Architektur auswählen.
  • Weiterhin wird vorgeschlagen, dass zumindest eines der Optimierungsziele eine physikalische Eigenschaft einer Hardwarekomponente charakterisiert, wobei ein neuronales Netz konfiguriert mit einer der Netzkonfigurationen auf der Hardwarekomponente ausgeführt wird.
  • Weiterhin kann eine geeignete Netzkonfiguration aus der Pareto Menge basierend auf einer Gesamtkostenfunktion ausgewählt werden, die von der Performance, insbesondere dem Vorhersagefehler, und Ressourcenkosten hinsichtlich des mindestens eines Optimierungsziels abhängt.
  • Weiterhin wird vorgeschlagen, dass das beim Optimieren der Netzkonfigurationen diese derart eingerichtet werden, dass diese für computerbasiertes Sehen (engl. computer vision), insbesondere für Bildklassifikationen, verwendet werden können.
  • Weiterhin wird vorgeschlagen, dass die Netzkonfigurationen für ein neuronales Netz zur Verwendung als Bildklassifikator optimiert werden. Der Bildklassifikator ordnet ein Eingabebild einer oder mehreren Klassen einer vorgegebenen Klassifikation zu. Als Eingabebilder können beispielsweise Bilder von in Serie gefertigten, nominell identischen Produkten verwendet werden. Der Bildklassifikator kann beispielsweise darauf trainiert sein, die Eingabebilder einer oder mehreren von mindestens zwei möglichen Klassen zuzuordnen, die eine Qualitätsbeurteilung des jeweiligen Produkts repräsentieren.
  • Der Begriff des Bildes umfasst grundsätzlich jede in einem zwei- oder mehrdimensionalen Raster angeordnete Verteilung von Informationen. Diese Informationen können beispielsweise Intensitätswerte von Bildpixeln sein, die mit einer beliebigen Abbildungsmodalität, wie etwa mit einer optischen Kamera, mit einer Wärmebildkamera oder mit Ultraschall, aufgenommen wurden. Es können jedoch auch beliebige andere Daten, wie beispielsweise Audiodaten, Radardaten oder LIDAR-Daten, in Bilder übersetzt und dann gleichermaßen klassifiziert werden.
  • Gemäß einem zweiten Aspekt ist eine Verwendung eines neuronalen Netzes mit einer Netzkonfiguration, die mit dem obigen Verfahren für die vorgegebene Anwendung erstellt worden ist, für die vorgegebene Anwendung, wobei das neuronale Netz insbesondere zur Realisierung von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine ausgelegt ist. Hier kann z.B. das neuronale Netz konfiguriert mit einer der Netzkonfigurationen, abhängig von einer erfassten Sensorgröße eines Sensors eine Ausgangsgröße ermittelt, abhängig von welcher daraufhin eine Steuergröße mittels z.B. einer Steuereinheit, insbesondere des technischen Systems, ermittelt werden kann.
  • In einem dritten Aspekt betrifft die Erfindung ein Verfahren zum Bereitstellen eines neuronalen Netzes mit einer Netzkonfiguration, die mit einem Verfahren nach dem ersten Aspekt erstellt worden ist, wobei das neuronale Netz insbesondere zur Realisierung von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine ausgelegt ist.
  • Gemäß einem weiteren Aspekt ist ein Steuergerät, insbesondere zum Steuern von Funktionen eines technischen Systems, insbesondere eines Roboters, eines Fahrzeugs, eines Werkzeugs oder einer Werkmaschine, mit einem neuronalen Netz vorgesehen, das mithilfe des obigen Verfahrens konfiguriert wird.
  • In weiteren Aspekten betrifft die Erfindung eine Vorrichtung sowie ein Computerprogramm, die jeweils eingerichtet sind, die obigen Verfahren auszuführen und ein maschinenlesbares Speichermedium, auf dem dieses Computerprogramm gespeichert ist.
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen:
    • 1 eine schematische Darstellung eines beispielhaften neuronalen Netzes;
    • 2 eine mögliche Netzkonfiguration eines neuronalen Netzes;
    • 3 ein Flussdiagramm zur Darstellung eines Verfahrens zum Ermitteln einer pareto-optimalen Menge von Netzkonfigurationen für das Ermitteln eines geeigneten Netzkonfigurationskandidaten für eine vorgegebene Anwendung;
    • 4 eine schematische Darstellung einer Pareto-Front von Netzkonfigurationen abhängig von dem Vorhersagefehler und einem weiteren Optimierungsparameter, insbesondere einem Ressourcen-Nutzungsparameter; und
    • 5 einen möglichen Aufbau einer Vorrichtung zum Ausführen des Verfahrens;
  • 1 zeigt exemplarisch einen Aufbau eines neuronalen Netzes 1, das in der Regel aus mehreren kaskadierten Neuronenschichten 2 von jeweils mehreren Neuronen 3 aufweist. Die Neuronenschichten 2 weisen eine Eingangsschicht 2E zum Anlegen von Eingangsdaten, mehrere Zwischenschichten 2Z und eine Ausgangsschicht 2A zum Ausgeben von Berechnungsergebnissen auf.
  • Die Neuronen 3 der Neuronenschichten 2 können dabei einer herkömmlichen Neuronen-Funktion O j = φ ( i = 1 M ( x i w i , j ) θ j )
    Figure DE102021109754A1_0002
    entsprechen, wobei Oj dem Neuronenausgang des Neurons, φ der Aktivierungsfunktion, xi dem jeweiligen Eingangswert des Neurons, wi,j einem Gewichtungsparameter für den i-ten Neuroneneingang in der j-ten Neuronenschicht und θj einer Aktivierungsschwelle entsprechen. Die Gewichtungsparameter, die Aktivierungsschwelle und die Wahl der Aktivierungsfunktion können als Neuronenparameter in Registern des Neurons gespeichert sein.
  • Die Neuronenausgänge eines Neurons 3 können jeweils als Neuroneneingänge an Neuronen 3 der übrigen Neuronenschichten, d. h. einer der nachfolgenden oder einer der vorangehenden Neuronenschichten 2, weitergegeben oder, wenn es sich um ein Neuron 3 der Ausgangsschicht 2A handelt, als ein Berechnungsergebnis ausgegeben werden.
  • So gebildete neuronale Netze 1 können als Software oder mithilfe einer Berechnungshardware realisiert sein, die einen Teil oder das gesamte neuronale Netz als elektronische (integrierte) Schaltung abbildet. Eine solche Berechnungshardware wird üblicherweise dann zum Aufbau eines neuronalen Netzes gewählt, wenn die Berechnung sehr schnell erfolgen soll, was mit Umsetzung in Software nicht zu erreichen wäre.
  • Die Struktur der entsprechenden Software oder Hardware wird durch die Netzkonfiguration vorgegeben, die durch eine Vielzahl von Konfigurationsparametern bestimmt ist. Die Netzkonfiguration bestimmt die Berechnungsvorschriften des neuronalen Netzes. Die Konfigurationsparameter umfassen bei einer herkömmlichen Netzkonfiguration, wie sie beispielsweise in 1 schematisch gezeigt ist, die Anzahl der Neuronenschichten, die jeweilige Anzahl von Neuronen in jeder Neuronenschicht, die Netzparameter, die durch die Gewichtungen, die Aktivierungsschwelle sowie eine Aktivierungsfunktion gegeben sind, Angaben zur Kopplung eines Neurons mit Eingangs- und Ausgangsneuronen und dergleichen.
  • Abgesehen von der oben beschriebenen Netzkonfiguration sind weitere Konfigurationen von neuronalen Netzen möglich, bei der Neuronen vorgesehen sind, die eingangsseitig mit Neuronen aus verschiedenen Neuronenschichten und ausgangsseitig mit Neuronen verschiedener Neuronenschichten gekoppelt sind. Weiterhin können diesbezüglich insbesondere auch Neuronenschichten vorgesehen sein, die eine Rückkopplung vorsehen, d. h. die eingangsseitig mit Neuronenschichten, die bezüglich des Datenflusses ausgangsseitig der betreffenden Neuronenschicht vorgesehen sind. Diesbezüglich zeigt 2 schematisch eine mögliche Konfiguration eines neuronalen Netzes mit mehreren Schichten L1 bis L6, die zunächst in an sich bekannter Weise, wie in 1 schematisch dargestellt, miteinander gekoppelt sind, d.h. Neuroneneingänge sind mit Neuronenausgängen der vorangehenden Neuronenschicht verbunden. Ferner weist die Neuronenschicht L3 einen Bereich auf, der eingangsseitig mit Neuronenausgängen der Neuronenschicht L5 gekoppelt ist. Auch kann die Neuronenschicht L4 vorsehen, eingangsseitig mit Ausgängen der Neuronenschicht L2 verbunden zu sein.
  • Im Folgenden soll ein Verfahren zum Bestimmen einer optimierten Netzkonfiguration für ein neuronales Netz basierend auf einer vorbestimmten Anwendung durchgeführt werden. Die Anwendung bestimmt sich im Wesentlichen durch die Größe von Eingangsgrößenvektoren und der diesen zugeordneten Ausgangsgrößenvektoren, die die Trainingsdaten darstellen, die ein gewünschtes Netzwerkverhalten bzw. eine bestimmte Aufgabenstellung definieren.
  • In 3 ist ein Verfahren zum Ermitteln einer Menge von geeigneten Netzkonfigurationen für ein neuronales Netz bezogen auf eine gewünschte Anwendung beschrieben. Die so erhaltene Menge soll dazu dienen, die Auswahl einer Netzkonfiguration für die gewünschte Anwendung zu erleichtern. Die Netzkonfiguration soll daher ein neuronales Netz angeben, das für eine bestimmte Anwendung einsetzbar und geeignet ist und hinsichtlich eines Vorhersagefehlers und zusätzlich hinsichtlich mindestens eines weiteren Optimierungsziels optimiert ist. Insbesondere soll die Menge an Netzkonfigurationen einer Pareto-Front bzw. einer Pareto-Menge von Netzkonfigurationen entsprechen, die hinsichtlich einer Mehrzahl von Optimierungszielen optimiert sind. Die Optimierungsziele können bspw. sein: Performance, benötigten Ressourcen des neuronalen Netzes 1 in Form von Kosten der jeweiligen Ressource (wie z.B. Anzahl der Parameter), usw. Die Performance kann eine Klassifikationsgenauigkeit oder Vorhersagefehler, z.B. auf Validierungsdaten sein. Weitere Optimierungsziele können Eigenschaften der Ressource zur Berechnungshardware u. a. betreffen, wie z.B.: eine Speichergröße, eine Auswertungsgeschwindigkeit, eine Kompatibilität bezüglich spezieller Hardware, einem Auswertungsenergieverbrauch und dergleichen.
  • Das Flussdiagramm, welches in 3 abgebildet ist, beschreibt eine Ausführungsform des erfindungsgemäßen Verfahrens, um Netzkonfigurationen auf der Pareto-Front zu ermitteln.
  • In Schritt S1 wird ein Bereitstellen (S1) einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (α) ausgeführt.
  • Daraufhin folgt Schritt S2. Dieser Schritt umfasste eine Mehrzahl von Unterschritten:
    • Zu erste wird in Schritt S2 ein Ermitteln von Hyperparameter (A) für jede der bereitgestellten Netzkonfigurationen (α) mittels eines Optimierers ausgeführt.
  • Dann folgt ein Trainieren von neuronalen Netzen konfiguriert abhängig von den Netzkonfigurationen (α) und abhängig von den jeweils zugehörigen ermittelten Hyperparameter (λ) auf den bereitgestellten Trainingdsdaten.
  • Dann folgt ein Ermitteln für jedes der trainierten neuronalen Netze eine Performance (accurancy).
  • Dann folgt ein Anpassen des Optimierers abhängig von Netzkonfigurationen (a), Hyperparameter (λ) und Performance (accurancy). Es wird also eine Parametrisierung des Optimierers derart optimiert, dass dieser gegeben einer Netzkonfiguration diejenigen Hyperparameter ausgibt, die zu einer höchsten Performance führen.
  • Dann folgt ein Auswerten der neuronalen Netze konfiguriert abhängig von bereitgestellten Netzkonfigurationen (α) hinsichtlich vorgegebenen Optimierungszielen. Eines der Optimierungsziele kann eine Anzahl der Parameter (n_pars) des neuronalen Neztes sein.
  • Dann folgt abschließend in Schritt S2 ein Hinzufügen des Tupels umfassend Netzkonfigurationen (α), Hyperparameter (λ) und Performance (accurancy) und die Optimierungszielen (n_pars) zu einem weiteren Trainingsdatensatz.
  • Nachdem die Unterschritte von S2 ausgeführt wurden, folgt ein wiederholtes Ausführen folgender Schritte.
  • Zuerst wird Schritt S3 ausgeführt, in welchem ein Auswählen von Netzkonfigurationen aus dem weiteren Trainingsdatensatz durchgeführt wird. Nach Schritt S3 wird ein zufälliges Mutieren S4 der ausgewählten Netzkonfigurationen ausgeführt. Daraufhin wird Schritt S2 mit den mutierten Netzkonfigurationen ausgeführt. D.h. alle oben beschriebenen Unterschritte des Schrittes S2 werden nun mit den mutierten Netzkonfigurationen ausgeführt. Dies ist in 3 durch die Verbindung 31 dargestellt. Diese eben beschriebene Abfolge der Schritte S3,S4 und S2 wird mehrmals ausgeführt, bis eine Abbruchkriterium erfüllt ist, z.B. ein vorgegebenes Zeitbudget aufgebraucht wurde.
  • Daraufhin wird ein wiederholtes Ausführen nachfolgender Schritte ausgeführt. Diese Wiederholung beginnt mit Schritt S5. Hierin wird ein Auswählen von Netzkonfigurationen aus dem weiteren Trainingsdatensatz durchgeführt. Dann folgt Schritt S6, welcher eine Komprimierung (engl. Pruning) der ausgewählten Netzkonfigurationen aus Schritt S5 durchführt. Mit diesen komprimierten Netzkonfigurationen werden alle Unterschritte von Schritt S2 ausgeführt. Dies ist durch die gestrichelte Verbindung 32 dargestellt. Nachdem S2 ausgeführt wurde, beginnt diese Wiederholung wieder mit S5. Diese eben beschriebene Abfolge wird mehrmals ausgeführt, bis ein weiteres Abbruchkriterium erfüllt ist, z.B. ein weiteres, vorgegebenes Zeitbudget aufgebraucht wurde.
  • Nachdem das wiederholte Ausführen der Schritte S5,S6 und S2 beendet wurde, folgt ein Auswählen (S7) der Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz, welche eine Pareto-Menge hinsichtlich der Performance und mindestens eines weiteren Optimierungsziels entspricht.
  • In 4 ist beispielsweise der Verlauf einer Pareto-Front (40) einer Menge von Netzkonfigurationen (41) hinsichtlich einer Klassifikationsgenauigkeit (negative accurancy) und den Ressourcenkosten als weiteres Optimierungsziels dargestellt. In 4 ist das weitere Optimierungsziel die Anzahl der Parameter n_pars des Netzes. Dargestellt durch 4 wird ein finaler Zustand, in welchem das Verfahren nach 3 das Zeitbudget aufgebraucht hat und nahezu konvergiert ist, d.h. die Pareto-Front sich nicht mehr weiter verschiebt.
  • Die nach dem letzten Iterationszyklus (mehrmals ausgeführte Abfolge der Schritt S5,S6 und S2) ermittelten Netzkonfigurationen der aktuellen Netzkonfigurationsmenge stellen nun eine Grundlage dar, eine geeignete Netzkonfiguration für die durch die Trainingsdaten bestimmte Anwendung auszuwählen. Dies kann beispielsweise durch Vorgeben einer Gesamtkostenfunktion, die den Vorhersagefehler und die Ressourcenkosten berücksichtigt, erfolgen. In der Praxis würde man auf Basis der betreffenden Anwendung entscheiden, welche Netzkonfiguration der aktuellen Netzkonfigurationsmenge (aktuelle Pareto-Front) am besten für die gewählte Anwendung geeignet ist. Dies kann anhand einer Beschränkungsvorgabe erfolgen. Als Beispielszenario kann aus der Pareto-Front eine Netzkonfiguration ausgewählt werden, die eine Netzwerkgröße von z.B. 1GB Speicher nicht übersteigt.
  • Das obige Verfahren ermöglicht in verbesserter Weise die Architektursuche von Netzkonfigurationen zu beschleunigen, da die Evaluierung der Leistungsfähigkeit/ Vorhersagefehler der Varianten von Netzkonfigurationen erheblich schneller vorgenommen werden kann.
  • Die so ermittelten Netzkonfigurationen können für die Auswahl einer geeigneten Konfiguration eines neuronalen Netzes für eine vorgegebene Aufgabe verwendet werden. Die Optimierung der Netzkonfiguration steht in engem Zusammenhang zu der gestellten Aufgabe. Die Aufgabe ergibt sich durch die Vorgabe von Trainingsdaten, so dass vor dem eigentlichen Training zunächst die Trainingsdaten definiert werden müssen, aus denen die optimierte/geeignete Netzkonfiguration für die gestellte Aufgabe ermittelt wird. Beispielsweise können Bilderkennungs- bzw. -klassifikationsverfahren durch Trainingsdaten definiert werden, die Eingangsbilder, Objektzuordnungen, Objektklassifikationen beinhalten. Netzkonfigurationen können auf diese Weise grundsätzlich für alle durch Trainingsdaten definierten Aufgaben bestimmt werden.
  • So kann ein derart konfiguriertes neuronales Netz in einem Steuergerät eines technischen Systems, insbesondere in einem Roboter, einem Fahrzeug, einem Werkzeug oder einer Werkmaschine eingesetzt werden, um abhängig von Eingangsgrößen Ausgangsgrößen zu bestimmen. Als Eingangsgrößen des neuronalen Netzes kommen insbesondere Sensordaten oder abhängig von Sensordaten ermittelte Größen in Frage. Die Sensordaten können von Sensoren des technischen Systems stammen oder von dem technischen System von extern empfangen werden. Abhängig von den Ausgangsgrößen des neuronalen Netzes wird durch eine Recheneinheit des Steuergeräts des technischen Systems mindestens ein Aktor des technischen Systems mit einem Ansteuersignal angesteuert. Beispielsweise so kann eine Bewegung eines Roboters oder Fahrzeugs gesteuert werden oder eine Steuerung einer Antriebseinheit oder eines Fahrerassistenzsystems eines Fahrzeugs erfolgen.
  • 5 zeigt schematisch eine Trainingsvorrichtung 500 umfassend einen Bereitsteller 51, der aus einem Trainingsdatensatz Eingangsbilder bereitstellt. Eingangsbilder werden der zu trainierenden neuronalen Netze 52 zugeführt, die hieraus Ausgangsgrößen ermitteln. Ausgangsgrößen und Eingangsbilder werden einem Beurteiler 53 zugeführt, der hieraus aktualisierte Hyper-/Parameter ermittelt, die dem Parameterspeicher P übermittelt werden und dort die gegenwärtigen Parameter ersetzen.
  • Die vom Trainingsvorrichtung 500 ausgeführten Verfahren können als Computerprogramm implementiert auf einem maschinenlesbaren Speichermedium 54 hinterlegt sein und von einem Prozessor 55 ausgeführt werden.
  • Der Begriff „Computer“ umfasst beliebige Geräte zur Abarbeitung vorgebbarer Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware.
  • 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 Patentliteratur
    • EP 19719232 [0004]

Claims (11)

  1. Verfahren zum Ermitteln einer Pareto Menge von Netzkonfigurationen, wobei die Netzkonfigurationen für ein neuronales Netz für eine vorgegebene Anwendung ermittelt werden und die vorgegebene Anwendung in Form von bereitgestellten Trainingsdaten bestimmt ist, mit folgenden Schritten: a) Bereitstellen (S1) einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (a); b) Ermitteln von Hyperparameter (A) für jede der bereitgestellten Netzkonfigurationen (α) mittels eines Optimierers; c) Trainieren von neuronalen Netzen konfiguriert mit den bereitgestellten Netzkonfigurationen (α) und abhängig von den jeweils zugehörigen ermittelten Hyperparameter (A) auf den bereitgestellten Trainingsdaten; d) Ermitteln für jedes der trainierten neuronalen Netze eine Performance (accurancy) auf zumindest einem Teil der bereitgestellten Trainingsdaten; e) Auswerten der trainierten neuronalen Netze hinsichtlich vorgegebenen Optimierungszielen (n_pars); f) Hinzufügen eines Tupels umfassend die Netzkonfigurationen (a), de ermittelten Hyperparameter (A) und die ermittelte Performance (accurancy) und die ausgewerteten Optimierungszielen (n_pars) zu einem weiteren Trainingsdatensatz; g) Anpassen des Optimierers für den weiteren Trainingsdatensatz, insbesondere abhängig von Netzkonfigurationen (α) und der ermittelten Performance (accurancy) zur Vorhersage geeigneter Hyperparameter (A); h) Wiederholtes Ausführen folgender Schritte: i. Auswählen (S3) von Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz; ii. zufälliges Mutieren (S4) der ausgewählten Netzkonfigurationen; und iii. Ausführen der Schritte b) bis g) mit den mutierten Netzkonfigurationen; i) Wiederholtes Ausführen folgender Schritte: i. Auswählen (S5) von Netzkonfigurationen aus dem weiteren Trainingsdatensatz; ii. Komprimieren (engl. Pruning) (S6) der ausgewählten Netzkonfigurationen; iii. Ausführen der Schritte b) bis g) mit den komprimierten Netzkonfigurationen; j) Auswählen (S7) der Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz, welche eine Pareto-Menge hinsichtlich der Performance und mindestens eines der weiteren Optimierungszielen entspricht.
  2. Verfahren nach Anspruch 1, wobei die Mutation der Netzkonfigurationen durch zufälliges Hinzufügen von Schichten und/oder Kombinieren von zumindest zwei zufällig gezogenen Netzkonfigurationen erfolgt.
  3. Verfahren nach Anspruch 1 oder 2, wobei beim Komprimieren (S6) Neuronen nach einer Summe ihrer Ausgangsgewichte geordnet, und eine vorgegebene Menge der Neuronen aufweisend die kleinsten Summen entfernt werden.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei nach dem Mutieren (S4) das neuronale Netz konfiguriert mit den mutierten Netzkonfigurationen abhängig von den erzielten Ausgangsgrößen der neuronalen Netze konfiguriert mit den Netzkonfigurationen, die für die Mutation verwendet wurden, vortrainiert werden.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Auswahl (S3) der zu mutierenden Netzkonfigurationen und/oder die Auswahl (S5) der zu komprimierenden Netzkonfigurationen abhängig von einer Nicht-dominante Sortierung (engl. non-dominated sorting) und einem Epsilon-Gierigen Verfahren (engl. epsilon greedy) erfolgt.
  6. Verfahren nach Anspruch 5, wobei eine Wahrscheinlichkeit der Auswahl höher für Netzkonfigurationen ist, die näher an der Pareto-Front liegen und wobei Netzkonfigurationen, die nicht auf der Pareto-Front liegen, mit gleicher Wahrscheinlichkeit ausgewählt werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Hyperparameter (A) mittels einer beschränkten Bayes'sche Optimierung (engl. constrained Bayesian Optimization) ermittelt werden.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei zumindest eines der Optimierungsziele eine physikalische Eigenschaft einer Hardwarekomponente charakterisiert, wobei insbesondere ein neuronales Netz konfiguriert mit einer der Netzkonfigurationen auf der Hardwarekomponente ausgeführt wird.
  9. Vorrichtung welche eingerichtet ist, das Verfahren nach einem der vorhergehenden Ansprüchen auszuführen.
  10. Computerprogramm, welches Befehle umfasst, die dazu eingerichtet sind, wenn diese auf einem Computer ausgeführt werden, den Computer zu veranlassen, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 8 auszuführen.
  11. Elektronisches Speichermedium, auf welchem ein Computerprogramm nach Anspruch 10 gespeichert ist.
DE102021109754.1A 2021-04-19 2021-04-19 Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen Pending DE102021109754A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021109754.1A DE102021109754A1 (de) 2021-04-19 2021-04-19 Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021109754.1A DE102021109754A1 (de) 2021-04-19 2021-04-19 Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen

Publications (1)

Publication Number Publication Date
DE102021109754A1 true DE102021109754A1 (de) 2022-10-20

Family

ID=83447429

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109754.1A Pending DE102021109754A1 (de) 2021-04-19 2021-04-19 Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen

Country Status (1)

Country Link
DE (1) DE102021109754A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018109835A1 (de) 2018-04-24 2019-10-24 Albert-Ludwigs-Universität Freiburg Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes
EP3798932A1 (de) 2019-09-24 2021-03-31 Robert Bosch GmbH Verfahren, vorrichtung und computerprogramm zur optimierung eines maschinenlernsystems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018109835A1 (de) 2018-04-24 2019-10-24 Albert-Ludwigs-Universität Freiburg Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes
EP3798932A1 (de) 2019-09-24 2021-03-31 Robert Bosch GmbH Verfahren, vorrichtung und computerprogramm zur optimierung eines maschinenlernsystems

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ELSKEN, Thomas ; METZEN, Jan Hendrik ; HUTTER, Frank: Neural Architecture Search: A Survey. In: arXiv preprint arXiv:1808.05377v3, 2019, 1-21. https://arxiv.org/abs/1808.05377v3 [abgerufen am 28.02.2022]
Neural architecture search. In: Wikipedia, The Free Encyclopedia, 08.03.2021, 1-5. https://en.wikipedia.org/w/index.php?title=Neural_architecture_search&oldid=1010982694 [abgerufen am 28.02.2022]
Zela, Arber et al.: Towards Automated Deep Learning: Efficient Joint Neural Architecture and Hyperparameter Search. In: arXiv preprint arXiv:1807.06906v1, 2018, 1-11. https://arxiv.org/abs/1807.06906v1 [abgerufen am 28.02.2022]

Similar Documents

Publication Publication Date Title
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102017218889A1 (de) Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE102018008685A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm maschinenlesbares Speichermedium und entsprechende Vorrichtung
EP3748551A1 (de) Verfahren, vorrichtung und computerprogramm zum einstellen eines hyperparameters
EP3785178B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102019212912A1 (de) Komprimieren eines tiefen neuronalen Netzes
DE102019213061A1 (de) Klassifizierung von KI-Modulen
DE102021109754A1 (de) Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE202021102084U1 (de) Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE102021109756A1 (de) Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE102021109757A1 (de) Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE202021102085U1 (de) Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE202021102086U1 (de) Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
EP3953865A1 (de) Verfahren, vorrichtung und computerprogramm zum betreiben eines tiefen neuronalen netzes
WO2021063572A1 (de) Vorrichtung und verfahren zum verarbeiten von daten eines neuronalen netzes
DE102019207911A1 (de) Verfahren, Vorrichtung und Computerprogramm zur Vorhersage einer Lernkurve
DE202019103233U1 (de) Vorrichtung zum Einstellen eines Hyperparameters
EP3956820B1 (de) Verfahren, vorrichtung und computerprogramm zum erstellen eines neuronalen netzes
DE102021208158A1 (de) Verfahren und Vorrichtung zum Erzeugen eines lokal linearen Modellbaumes
DE102021125306A1 (de) Verfahren und Vorrichtung zur Bereitstellung eines präzisen und robusten neuronalen Netzes
DE102022203834A1 (de) Verfahren zum Trainieren eines Algorithmus des maschinellen Lernens unter Berücksichtigung von wenigstens einer Ungleichheitsbedingung
DE102021207275A1 (de) Verfahren zum Erzeugen eines künstlichen neuronalen Netzes
DE102020203135A1 (de) Verfahren zur Qualitätssicherung eines beispielbasierten Systems
DE202021103700U1 (de) Vorrichtung zum Erzeugen eines künstlichen neuronalen Netzes
WO2022069182A1 (de) Verfahren zur qualitätssicherung eines beispielbasierten systems

Legal Events

Date Code Title Description
R163 Identified publications notified