DE202021102084U1 - Device for determining network configurations of a neural network while fulfilling a number of secondary conditions - Google Patents
Device for determining network configurations of a neural network while fulfilling a number of secondary conditions Download PDFInfo
- Publication number
- DE202021102084U1 DE202021102084U1 DE202021102084.9U DE202021102084U DE202021102084U1 DE 202021102084 U1 DE202021102084 U1 DE 202021102084U1 DE 202021102084 U DE202021102084 U DE 202021102084U DE 202021102084 U1 DE202021102084 U1 DE 202021102084U1
- Authority
- DE
- Germany
- Prior art keywords
- network configurations
- training data
- network
- commands
- determined
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 75
- 238000012549 training Methods 0.000 claims abstract description 55
- 238000005457 optimization Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000013138 pruning Methods 0.000 claims abstract description 4
- 210000002569 neuron Anatomy 0.000 claims description 48
- 230000035772 mutation Effects 0.000 claims description 6
- 230000000704 physical effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 16
- 230000004913 activation Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Vorrichtung 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, wobei die Vorrichtung ein maschinenlesbares Speichermedium umfasst, auf dem Befehle gespeichert sind, die beim Ausführen durch einen Computer bewirkten, dass der Computer ein Verfahren mit folgenden Schritte ausführt:
a) Bereitstellen (S1) einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (α);
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 (a) 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.
Device for determining a Pareto set of network configurations, the network configurations for a neural network being determined for a given application and the given application being determined in the form of provided training data, the device comprising a machine-readable storage medium on which commands are stored that were used in Running from a computer caused the computer to perform a procedure that included:
a) providing (S1) a plurality of randomly selected network configurations (α);
b) determining hyperparameters (A) for each of the provided network configurations (α) by means of an optimizer;
c) training of neural networks configured with the provided network configurations (α) and depending on the respectively associated determined hyperparameters (A) on the provided training data;
d) determining a performance (accurancy) on at least part of the training data provided for each of the trained neural networks;
e) evaluating the trained neural networks with regard to predetermined optimization goals (n_pars);
f) adding a tuple comprising the network configurations (a), the determined hyperparameters (A) and the determined performance (accurancy) and the evaluated optimization goals (n_pars) to a further training data set;
g) adapting the optimizer for the further training data set, in particular as a function of network configurations (a) and the determined performance (accurancy) for predicting suitable hyperparameters (A);
h) Repeated execution of the following steps:
i. Selecting (S3) network configurations (α) from the further training data set;
ii. randomly mutating (S4) the selected network configurations; and
iii. Carrying out steps b) to g) with the mutated network configurations;
i) Repeatedly performing the following steps:
i. Selecting (S5) network configurations from the further training data set;
ii. Compressing (Pruning) (S6) the selected network configurations;
iii. Carrying out steps b) to g) with the compressed network configurations;
j) Selecting (S7) the network configurations (α) from the further training data set which correspond to a Pareto set in terms of performance and at least one of the further optimization goals.
Description
Die Erfindung betrifft eine Vorrichtung 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.The invention relates to a device for determining a plurality of network configurations of a neural network for a given training data set, so that the configurations meet a plurality of secondary conditions with regard to optimization goals.
Stand der TechnikState of the art
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.The properties of neural networks are largely determined by their architecture. The architecture of a neural network is defined, for example, by its network configuration, which is given, among other things, by the number of neuron layers, the type of neuron layers (linear transformations, non-linear transformations, normalization, linking with other neuron layers, etc.), the number of weights and the like. In particular with increasing complexity of the applications or the tasks to be solved, the random finding of suitable network configurations is time-consuming, since each candidate of a network configuration must first be trained in order to be able to evaluate its performance.
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.Various approaches are known from the prior art for the architecture search of neural networks in order to find a configuration of a neural network for a specific application that is optimized with regard to a prediction error and with regard to one or more optimization goals.
Beispielsweise offenbart
Vorteile der ErfindungAdvantages of the invention
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.One object of the invention is to provide a method which enables a set of optimal network configurations to be found with little computational effort, each of which is optimal with regard to a plurality of secondary conditions (that is, on a Pareto front). The set of optimal network configurations is also called the Pareto set in the following.
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.One advantage of the invention is that with the claimed method the Pareto front is shifted further in a positive direction, that is to say a superior Pareto front can be found compared to known methods.
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.Another advantage is that the network configuration that is optimal for a given hardware with limited resources can be selected on the basis of the Pareto front. For example, the Pareto front can be used to select those network configurations that optimally utilize a hardware limitation (e.g. storage space, computing power, energy budget, bandwidth, etc.) and achieve the highest performance under this limitation. This is a significant advantage, since in many practical applications differently designed hardware components are provided for the solution of the same task for customers and the suitable network configurations for the differently designed hardware components can be applied efficiently using the Pareto front.
Offenbarung der ErfindungDisclosure of the invention
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.ä.In a first aspect, the invention relates to a computer-implemented method for determining a Pareto set of network configurations. A Pareto set can be understood to mean a plurality of network configurations in which it is not possible to improve one (target) property, in particular an optimization target, without having to worsen another at the same time. A network configuration can be understood to mean an architecture of the neural network, ie a structure as characterized, for example, by the following features: number of layers, number of filters, size of filters, dropout rate, number of neurons per layer, skip connection, batch -Normalization layers, pooling layers, etc.
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.The network configurations for a neural network are preferably determined for a given application and the given application is determined in the form of provided training data.
Das Verfahren beginnt mit einem Bereitstellen einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (a).The method begins with providing a plurality of randomly selected network configurations (a).
Daraufhin folgt ein Ermitteln von Hyperparametern (A) für jede der bereitgestellten Netzkonfigurationen (a) mittels eines Hyperparameteroptimierers. Die Hyperparameter (A) 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.This is followed by determining hyperparameters (A) for each of the network configurations (a) provided by means of a hyperparameter optimizer. The hyperparameters (A) can be, for example, a learning rate, regularizations, a learning algorithm for training the neural network (e.g. Ada, SGD, etc.), etc. The hyperparameter optimizer preferably uses a Bayesian optimization.
Daraufhin folgt ein Trainieren von neuronalen Netzen konfiguriert abhängig von den bereitgestellten Netzkonfigurationen (a) 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 (A) 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).This is followed by training of neural networks configured depending on the network configurations provided (a) and depending on the respective associated determined hyperparameters (A) on the training data provided and determining a performance (accurancy) for each of the trained neural networks, as well as adapting the Hyperparameter optimizer depending on the used network configurations (a), hyperparameters (A) and thus achieved performance (accurancy) and an evaluation of the trained neural networks with regard to at least one further predetermined optimization target (n_pars) in addition to the optimization target of the performance (accurancy) of the neural network. There are preferably a plurality of further optimization goals and at least one optimization goal characterizes a limited hardware resource. An optimization goal is particularly preferably a number of parameters of the neural network (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.This is followed by adding a tuple comprising the network configurations (a), hyperparameters (A) used for the training step and the determined performance and the evaluated optimization target (n_pars) to a further training data set. The performance can characterize the performance of the appropriately configured neural network, such as, for example, a classification accuracy or an error rate.
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.
- Selecting network configurations from the further training data set, randomly mutating the selected network configurations and evaluating the mutated network configurations in accordance with the steps explained above via training of neural networks configured depending on the mutated network configurations to evaluating the neural networks and adding the tuple to the further training data set.
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.A second repeated execution of the following steps then follows, in particular until a second termination criterion is met. The first and second termination criterion can define the occurrence of at least one of the following events: a predetermined number of repetitions has been achieved, or a predetermined value for the performance has been achieved by at least one of the network configuration, or a predetermined budget of time, computing power or the like has been used up . If the termination criterion is a time budget, then this is preferably distributed as follows: The entire time budget has been divided into fractions of 0.35, 0.40 and 0.25, with the first 35% of the total time budget for the first steps of random generation of network configurations and evaluating these and creating the further training data set and 40% or 25% of the remaining time of the total time budget spent on the first repetition and second repetition. Accordingly, the budget of the first termination criterion is 40% of the total allocated time for the procedure and the budget of the second termination criterion is 25% of the total allocated time for the procedure.
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.During this second repeated execution, the following steps are then carried out: Compressing (pruning) the selected network configurations and carrying out the steps explained above for evaluating the compressed network configurations. The performance is preferably determined here on the training data. Furthermore, the performance for the other steps can be determined on validation data.
Anschließend folgt ein Auswählen der Netzkonfigurationen (a) aus dem weiteren Trainingsdatensatz, welche eine Pareto-Menge hinsichtlich der Performance und mindestens eines weiteren Optimierungsziels entspricht.This is followed by selection of the network configurations (a) from the further training data set, which correspond to a Pareto set in terms of performance and at least one further optimization goal.
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.The Pareto set is preferably determined with regard to the performance of a prediction error and at least one further optimization goal, such as a number of the parameters of the neural network.
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.Optionally, after the method for determining the Pareto front has been completed, the suitable network configuration can be selected from the current network configuration set. From the set of the optimal network configuration, depending on a predetermined optimization target, that network configuration can be taken from the Pareto front that fulfills this optimization target. For example, the appropriate network configuration can be selected from the current network configuration set based on an overall cost function that depends on the prediction error and resource costs with regard to the at least one optimization goal.
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.It is proposed that the network configurations be mutated by randomly adding layers or by combining at least two randomly drawn network configurations.
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. For this purpose, additional folding layers or fully meshed layers are preferably added at a random position. This means that the network configuration is changed in such a way that it characterizes a structure of the neural network which differs from the original neural network with the original network configuration in that a layer was added at a random position within the neural network.
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:
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.It is also proposed that, in the compressing step, neurons of the appropriately configured neural network are sorted according to a sum of their initial weight values, and that the smallest sums are removed having a predetermined number of neurons.
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.A so-called "knowledge distillation" can also be carried out for the compression, see e.g. 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.It is conceivable that after the compression a retraining takes place, in which case the behavior of the unpruned neural network is imitated. In other words, input variables from the training data set are used here as training data and not the assigned output variables from the training data set as labels, but the determined output variables of the unpruned neural network.
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.Furthermore, it is proposed that after the mutation, the neural network configured with the mutated network configurations, depending on the achieved output variables of the neural networks configured with the network configurations that were used for the mutation, be pre-trained.
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.It is advantageous if weight values of the neural networks configured with the network configurations that were used for the mutation are reused for the neural networks configured with the mutated network configurations.
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.Furthermore, it is proposed that the probability of the selection is higher for network configurations that are closer to the Pareto front and network configurations that are not on the Pareto front are selected with the same probability.
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.Preferably, if the further training data set only contains network configurations that lie on a Pareto front, a network configuration is randomly drawn from the further training data set. If, on the other hand, the further training data record also contains network configurations that are not on a Pareto front, a network configuration is randomly drawn from the further training data record.
Vorzugsweise wird die gezogene Netzkonfiguration aus dem weiteren Trainingsdatensatz entfernt.The drawn network configuration is preferably removed from the further training data set.
Weiterhin wird vorgeschlagen, dass die Hyperparameter (A) mittels einer beschränkten Bayes'sche Optimierung (engl. constrained Bayesian Optimization) optimiert werden.It is also proposed that the hyperparameters (A) be optimized by means of a constrained Bayesian optimization.
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.The hyperparameters are preferably non-architectural hyperparameters (e.g. learning rate, weight decay, dropout rate, batch size, etc.). The restricted Bayesian optimization can be understood as a Bayesian optimization which contains all hyperparameters (architectural or not), but its acquisition function is optimized limited to the given architecture. In other words, Bounded Bayesian Optimization knows the architectural hyperparameters but cannot select them. In this way, the optimizer can select the best hyperparametric configuration for a given architecture.
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.It is further proposed that at least one of the optimization goals characterize a physical property of a hardware component, a neural network configured with one of the network configurations being executed on the hardware component.
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.Furthermore, a suitable network configuration can be selected from the Pareto set based on an overall cost function that depends on the performance, in particular the prediction error, and resource costs with regard to the at least one optimization goal.
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.It is also proposed that when the network configurations are optimized, they are set up in such a way that they can be used for computer-based vision, in particular for image classifications.
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.It is also proposed that the network configurations for a neural network be optimized for use as an image classifier. The image classifier assigns an input image to one or more classes of a predetermined classification. For example, images of serially manufactured, nominally identical products can be used as input images. The image classifier can, for example, be trained to assign the input images to one or more of at least two possible classes that represent a quality assessment of the respective product.
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.The concept of the image basically encompasses any distribution of information arranged in a two- or multi-dimensional grid. This information can be, for example, intensity values of image pixels that were recorded with any imaging modality, such as with an optical camera, with a thermal imaging camera or with ultrasound. However, any other data, such as audio data, radar data or LIDAR data, can also be translated into images and then classified in the same way.
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.According to a second aspect, a use of a neural network with a network configuration that has been created with the above method for the specified application is for the specified application, the neural network in particular for realizing functions of a technical system, in particular a robot Vehicle, a tool or a machine tool is designed. Here, for example, the neural network configured with one of the network configurations can determine an output variable depending on a detected sensor variable of a sensor, depending on which a control variable can then be determined by means of, for example, a control unit, in particular the technical system.
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.In a third aspect, the invention relates to a method for providing a neural network with a network configuration that has been created using a method according to the first aspect, the neural network in particular for realizing functions of a technical system, in particular a robot, a vehicle, of a tool or a machine tool.
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.According to a further aspect, a control device, in particular for controlling functions of a technical system, in particular a robot, a vehicle, a tool or a machine tool, is provided with a neural network that is configured using the above method.
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.In further aspects, the invention relates to a device and a computer program, each of which is set up to carry out the above methods, and a machine-readable storage medium on which this computer program is stored.
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 Netz-konfigurationen 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 a schematic representation of an exemplary neural network; -
2 a possible network configuration of a neural network; -
3 a flowchart to illustrate a method for determining a Pareto-optimal set of network configurations for determining a suitable network configuration candidate for a given application; -
4th a schematic representation of a Pareto front of network configurations depending on the prediction error and a further optimization parameter, in particular a resource usage parameter; and -
5 a possible structure of a device for carrying out the method;
Die Neuronen
Die Neuronenausgänge eines Neurons
So gebildete neuronale Netze
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
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
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.A method for determining an optimized network configuration for a neural network based on a predetermined application is to be carried out below. The application is essentially determined by the size of input variable vectors and the output variable vectors assigned to them, which represent the training data that define a desired network behavior or a specific task.
In
Das Flussdiagramm, welches in
In Schritt
Daraufhin folgt Schritt
Zu erste wird in Schritt
Dann folgt ein Trainieren von neuronalen Netzen konfiguriert abhängig von den Netzkonfigurationen (α) und abhängig von den jeweils zugehörigen ermittelten Hyperparameter (A) auf den bereitgestellten Trainingdsdaten.This is followed by training of neural networks configured as a function of the network configurations (α) and as a function of the respectively associated determined hyperparameters (A) on the provided training data.
Dann folgt ein Ermitteln für jedes der trainierten neuronalen Netze eine Performance (accurancy).A performance (accurancy) is then determined for each of the trained neural networks.
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.The optimizer is then adapted depending on network configurations (a), hyperparameters (λ) and performance (accurancy). A parameterization of the optimizer is therefore optimized in such a way that, given a network configuration, it outputs those hyperparameters that lead to the highest performance.
Dann folgt ein Auswerten der neuronalen Netze konfiguriert abhängig von bereitgestellten Netzkonfigurationen (a) hinsichtlich vorgegebenen Optimierungszielen. Eines der Optimierungsziele kann eine Anzahl der Parameter (n_pars) des neuronalen Neztes sein.This is followed by an evaluation of the neural networks configured as a function of the provided network configurations (a) with regard to predetermined optimization goals. One of the optimization goals can be a number of the parameters (n_pars) of the neural network.
Dann folgt abschließend in Schritt
Nachdem die Unterschritte von S2 ausgeführt wurden, folgt ein wiederholtes Ausführen folgender Schritte.After the substeps of S2 have been carried out, the following steps are repeated.
Zuerst wird Schritt
Daraufhin wird ein wiederholtes Ausführen nachfolgender Schritte ausgeführt. Diese Wiederholung beginnt mit Schritt
Nachdem das wiederholte Ausführen der Schritte
In
Die nach dem letzten Iterationszyklus (mehrmals ausgeführte Abfolge der Schritt
Das obige Verfahren ermöglicht in verbesserter Weise die Architektursuche von Netzkonfigurationen zu beschleunigen, da die Evaluierung der Leistungsfähigkeil/ Vorhersagefehler der Varianten von Netzkonfigurationen erheblich schneller vorgenommen werden kann.The above method enables the architecture search for network configurations to be accelerated in an improved manner, since the evaluation of the performance wedge / prediction errors of the variants of network configurations can be carried out considerably more quickly.
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.The network configurations determined in this way can be used to select a suitable configuration of a neural network for a given task. The optimization of the network configuration is closely related to the task at hand. The task results from the specification of training data, so that the training data must first be defined before the actual training, from which the optimized / suitable network configuration for the task at hand is determined. For example, image recognition or classification methods can be defined by training data that contain input images, object assignments, and object classifications. In this way, network configurations can basically be determined for all tasks defined by training data.
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.Thus, a neural network configured in this way can be used in a control device of a technical system, in particular in a robot, a vehicle, a tool or a machine tool, in order to determine output variables as a function of input variables. In particular, sensor data or variables determined as a function of sensor data come into question as input variables of the neural network. The sensor data can originate from sensors of the technical system or can be received from the technical system externally. Depending on the output variables of the neural network, at least one actuator of the technical system is controlled with a control signal by a computing unit of the control device of the technical system. For example, a movement of a robot or vehicle can be controlled or a drive unit or a driver assistance system of a vehicle can be controlled.
Die vom Trainingsvorrichtung
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.The term “computer” encompasses any device for processing specifiable arithmetic rules. These calculation rules can be in the form of software, or in the form of hardware, or also in a mixed form of software and hardware.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
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.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- EP 19719232 [0004]EP 19719232 [0004]
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE202021102084.9U DE202021102084U1 (en) | 2021-04-19 | 2021-04-19 | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE202021102084.9U DE202021102084U1 (en) | 2021-04-19 | 2021-04-19 | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions |
Publications (1)
Publication Number | Publication Date |
---|---|
DE202021102084U1 true DE202021102084U1 (en) | 2021-05-05 |
Family
ID=75962918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE202021102084.9U Active DE202021102084U1 (en) | 2021-04-19 | 2021-04-19 | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE202021102084U1 (en) |
-
2021
- 2021-04-19 DE DE202021102084.9U patent/DE202021102084U1/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3785177B1 (en) | Method and device for determining a network-configuration of a neural network | |
DE102018008685A1 (en) | Method for training an artificial neural network, artificial neural network, use of an artificial neural network and corresponding computer program, machine-readable storage medium and corresponding device | |
EP3748551A1 (en) | Method, device and computer program for adjusting a hyperparameter | |
EP3785178B1 (en) | Method and device for determining a network-configuration of a neural network | |
DE102021207613A1 (en) | Process for quality assurance of a system | |
WO2021063572A1 (en) | Device and method for processing data from a neural network | |
DE102019213061A1 (en) | Classification of AI modules | |
DE102019212912A1 (en) | Compressing a deep neural network | |
DE202021102084U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions | |
DE102021109754A1 (en) | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions | |
DE202021102085U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions | |
DE102021109756A1 (en) | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions | |
DE202021102086U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions | |
DE102021109757A1 (en) | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions | |
DE102020203135A1 (en) | Procedure for quality assurance of an example-based system | |
DE102019207911A1 (en) | Method, device and computer program for predicting a learning curve | |
WO2020207786A1 (en) | Method, device, and computer program for operating a deep neural network | |
DE202019103233U1 (en) | Device for setting a hyperparameter | |
EP3956820B1 (en) | Method, device and computer program for creating a neuronal network | |
DE102021208158A1 (en) | Method and device for generating a locally linear model tree | |
DE102022203834A1 (en) | Method for training a machine learning algorithm taking into account at least one inequality condition | |
DE102021125306A1 (en) | Method and device for providing a precise and robust neural network | |
DE202021103700U1 (en) | Device for generating an artificial neural network | |
DE102021207275A1 (en) | Method for creating an artificial neural network | |
DE102021207274A1 (en) | Method for training a neural network ensemble |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R207 | Utility model specification | ||
R150 | Utility model maintained after payment of first maintenance fee after three years |