DE102021109757A1 - Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions - Google Patents
Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions Download PDFInfo
- Publication number
- DE102021109757A1 DE102021109757A1 DE102021109757.6A DE102021109757A DE102021109757A1 DE 102021109757 A1 DE102021109757 A1 DE 102021109757A1 DE 102021109757 A DE102021109757 A DE 102021109757A DE 102021109757 A1 DE102021109757 A1 DE 102021109757A1
- Authority
- DE
- Germany
- Prior art keywords
- network configurations
- network
- training data
- configurations
- data set
- 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
Links
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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/088—Non-supervised learning, e.g. competitive learning
-
- 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
Abstract
Die Erfindung betrifft ein Verfahren zum Ermitteln einer Pareto Menge von Netzkonfigurationen. Netzkonfigurationen werden iterativ mittels eines Vorhersagemodells ausgewählt und dann evaluiert.The invention relates to a method for determining a Pareto set of network configurations. Network configurations are selected iteratively using a prediction model and then evaluated.
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.The invention relates to a method 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 constraints with regard to optimization goals, a training device, a computer program and a machine-readable storage medium.
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, nonlinear 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, finding suitable network configurations by chance is time-consuming, since each candidate 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 for searching for the architecture of neural networks are known from the prior art in order to find a configuration of a neural network that is optimized with regard to a prediction error and with regard to one or more optimization goals for a specific application.
Beispielsweise offenbart
Die Autoren Kaifeng Yang and Michael Emmerich and Andre Deutz and Thomas Bäck offenbaren in ihrer Veröffentlichung „Efficient Computation of Expected Hypervolume Improvement Using Box Decomposition Algorithms“, online abrufbar: https://arxiv.org/abs/1904.12672 ein effizientes Verfahren, um eine erwartete Hypervolumenverbesserung (engl. Expected Hypervolume Improvement, EHVI) abzuschätzen.The authors Kaifeng Yang and Michael Emmerich and Andre Deutz and Thomas Bäck disclose in their publication "Efficient Computation of Expected Hypervolume Improvement Using Box Decomposition Algorithms", available online: https://arxiv.org/abs/1904.12672 an efficient method to Estimate expected hypervolume improvement (EHVI).
Die Autoren Colin White, Willie Neiswanger und Yash Savani offenbaren in ihrer Veröffentlichung „BANANAS: Bayesian Optimization with Neural Architectures for Neural Architecture Search“, online abrufbar: https://arxiv.org/abs/1904.12672 offenbaren ein Ensemble von neuronalen Netzen für eine Bayes'sches Optimierungsframework.Authors Colin White, Willie Neiswanger and Yash Savani, in their paper BANANAS: Bayesian Optimization with Neural Architectures for Neural Architecture Search, available online: https://arxiv.org/abs/1904.12672, disclose an ensemble of neural networks for a Bayesian optimization framework.
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 that makes it possible to find a set of optimal network configurations, which are each optimal with regard to a plurality of secondary conditions (ie lie on a Pareto front), with little computing effort. In the following, the set of optimal network configurations is also called the Pareto set.
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 the Pareto front is shifted further in a positive direction with the claimed method, ie 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 Pareto front can be used to select the network configuration that is optimal for a given hardware with limited resources. For example, using the Pareto front, those network configurations can be selected that optimally utilize a hardware limitation (e.g. storage space, computing power, energy budget, bandwidth, etc.) and achieve the highest performance under these limitations. This is a significant advantage, since in many practical applications differently designed hardware components are provided for customers to solve the same task, and the appropriate network configurations for the differently designed hardware components can be efficiently applied directly using the Pareto front.
Offenbarung der ErfindungDisclosure of 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 degrade another at the same time. A network configuration can be understood as an architecture of the neural network, i.e. a structure characterized by the following features, for example: number of layers, number of filters, size of the 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 specified application and the specified application Training is intended in the form of provided training data.
Das Verfahren beginnt mit einem Bereitstellen einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (a).The method starts with providing a plurality of randomly selected network configurations (a).
Daraufhin folgt ein Trainieren von neuronalen Netzen konfiguriert mit den Netzkonfigurationen (a) auf den bereitgestellten Trainingdsdaten. Vorzugsweise umfassen die Netzkonfigurationen auch Hyperparameter (λ), wie z.B. eine Lernrate, Regularisierungen, ein Lernalgorithums zum Trainieren des neuronalen Netzes (z.B. Ada, SGD, etc.), usw. sein.This is followed by training of neural networks configured with the network configurations (a) on the provided training data. Preferably, the network configurations also include hyperparameters (λ), such as a learning rate, regularizations, a learning algorithm for training the neural network (e.g., Ada, SGD, etc.), and so on.
Daraufhin folgt ein Ermitteln für jedes der trainierten neuronalen Netze eine Performance (accurancy), wobei die Performance ein Optimierungsziel ist. This is followed by determining a performance (accuracy) for each of the trained neural networks, with the performance being an optimization goal.
Daraufhin folgt ein Auswerten jeder der trainierten neuronalen Netze hinsichtlich zumindest eines vorgegebenen Optimierungsziels (n_pars). 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 an evaluation of each of the trained neural networks with regard to at least one predetermined optimization goal (n_pars). 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).
Daraufhin folgt ein Hinzufügen eines Tupels umfassend Netzkonfigurationen (a) und Performance (accurancy) und dem ausgewerteten Optimierungsziels (n_pars) zu einem weiteren Trainingsdatensatz.This is followed by adding a tuple comprising network configurations (a) and performance (accuracy) and the evaluated optimization goal (n_pars) to a further training data set.
Daraufhin folgt ein Anpassen eines Vorhersagemodells abhängig von dem weiteren Trainingsdatensatz derart, dass das Vorhersagemodell gegeben einer der Netzkonfigurationen (a) aus dem weiteren Trainingsdatensatz zumindest deren jeweils zugeordneten Performance aus dem weiteren Trainingsdatensatz ausgibt.This is followed by an adaptation of a prediction model depending on the further training data set in such a way that the prediction model, given one of the network configurations (a) from the further training data set, outputs at least its respectively assigned performance from the further training data set.
Daraufhin folgt ein Auswählen einer Vielzahl von Netzkonfigurationen unter Verwendung des Vorhersagemodells.This is followed by selecting a variety of network configurations using the prediction model.
Daraufhin folgt ein Wiederhohlen der eben genannten Schritte des Trainierens der Netze mit den ausgewählten Netzkonfigurationen bis zum erneuten Auswählen einer Vielzahl von Netzkonfigurationen, bis ein Abbruchkriterium erfüllt ist.This is followed by a repetition of the above-mentioned steps of training the networks with the selected network configurations until a large number of network configurations are selected again, until an abort criterion is met.
Daraufhin folgt ein Auswählen der Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz, welche eine Pareto-Menge hinsichtlich der Performance und des Optimierungsziels entspricht.This is followed by a selection of the network configurations (α) from the further training data set, which corresponds to a Pareto set with regard to performance and the optimization goal.
Das 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.The termination criterion can define the occurrence of at least one of the following events: a predetermined number of repetitions has been reached, or a predetermined value for the performance has been reached by at least one of the network configurations, or a predetermined budget of time, computing power or the like has been used up.
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. Depending on a given optimization goal, the network configuration that fulfills this optimization goal can be taken from the Pareto front from the set of optimal network configurations. For example, the appropriate network configuration can be selected from the current network configuration set based on a total cost function that depends on the prediction error and resource cost with respect to the at least one optimization goal.
Es wird vorgeschlagen, dass das Vorhersagemodell ein Gaussprozess umfasst, wobei das Auswählen einer Vielzahl von Netzkonfigurationen (α) derart erfolgt, dass die ausgewählten Netzkonfigurationen einen erwartete Hypervolumenverbesserung (engl. Expected Hypervolume Improvement, ehvi) maximieren, wobei die erwartete Hypervolumenverbesserung (ehvi) abhängig von dem weiteren Trainingsdatensatz, dem Gaussprozess und ein deterministisches Modell, welches das Optimierungsziel (n_pars) abhängig von einer vorgebbaren Netzkonfiguration ermittelt, ermittelt werden.It is proposed that the prediction model comprises a Gaussian process, wherein the selection of a plurality of mesh configurations (α) is such that the selected mesh configurations maximize an expected hypervolume improvement (ehvi), the expected hypervolume improvement (ehvi) being dependent from the further training data set, the Gaussian process and a deterministic model, which determines the optimization goal (n_pars) depending on a specifiable network configuration.
Es sei angemerkt, dass das Trainieren des Gaussprozesses auf dem weiteren Trainingsdatensatz zur Vorhersage der Performance dient, wobei insbesondere der Gaussprozess eingerichtet ist, dass dieser abhängig von einer Netzkonfiguration deren Performance abschätzt.It should be noted that the training of the Gaussian process on the further training data set serves to predict the performance, with the Gaussian process in particular being set up such that it estimates the performance of a network configuration as a function.
Vorteilhaft hierbei ist, dass kein Blackbox Modell für das Optimierungsziel benötigt wird, da hier das deterministische Modell verwendet wird. Dies führt dazu, dass das Verfahren schneller zu Beginn in eine Konvergenz eintritt sowie auch zeitlich schneller zum Optimum konvergiert ist.The advantage here is that no black box model is required for the optimization goal, since the deterministic model is used here. As a result, the method converges more quickly at the beginning and has also converged more quickly to the optimum in terms of time.
Die Hypervolumenverbesserung ehvi kann wie folgt bestimmt werden: Zum Beispiel gemäß der Veröffentlichung von M. T. M. Emmerich, K. C. Giannakoglou and B. Naujoks, „Single- and multiobjective evolutionary optimization assisted by Gaussian random field metamodels,“ in IEEE Transactions on Evolutionary Computation, vol. 10, no. 4, pp. 421-439, Aug. 2006, doi:
- 10.1109/TEVC.2005.859463. oder gemäß einer der nachfolgenden Arbeiten,
- siehe Übersicht in der Introduction der oben genannten Veröffentlichung von Yang et al.
- 10.1109/TEVC.2005.859463. or according to one of the following works,
- see overview in the introduction of the above-mentioned publication by Yang et al.
Weiterhin wird vorgeschlagen, dass das Vorhersagemodell eine Mehrzahl von neuronalen Netzten umfasst. Diese Mehrzahl der neuronalen Netze kann auch als Ensemble bezeichnet werden. Diese neuronalen Netze werden auf dem weiteren Trainingsdatensatz derart angelernt werden, dass diese jeweils für eine vorgegebene Netzkonfiguration die Performance und eine Zuverlässigkeit (engl. confidence) der vorhergesagten Performance vorhersagen. Beim Schritt des Auswählens einer Vielzahl von neuen Netzkonfigurationen wird dann unter Verwendung des Vorhersagemodells zuerst die Netzkonfigurationen aus dem weiteren Trainingsdatensatz nach einer vorgebbaren Reihenfolge sortiert, wobei aus der sortierten Reihenfolge der Netzkonfiguration zufällig eine vorgegebene Anzahl der besten Netzkonfigurationen gemäß der vorgegebenen Reihenfolge gezogen werden. Die gezogenen Netzkonfigurationen werden zufällig mutiert, wobei beim Auswerten der mutierten Netzkonfigurationen die Auswertung anhand des Vorhersagesmodells erfolgt.Furthermore, it is proposed that the prediction model includes a plurality of neural networks. This plurality of neural networks can also be referred to as an ensemble. These neural networks are trained on the further training data set in such a way that they each predict the performance and a reliability (English: confidence) of the predicted performance for a given network configuration. In the step of selecting a large number of new network configurations, the network configurations from the further training data set are then first sorted according to a predetermined order using the prediction model, with a predetermined number of the best network configurations being randomly drawn from the sorted order of the network configuration according to the predetermined order. The drawn network configurations are mutated randomly, with the evaluation being based on the prediction model when the mutated network configurations are evaluated.
Vorzugsweise erfolgt die Mutation durch eine Gaussmutation durch zufälliges Hinzufügen von Schichten oder Kombinieren von zumindest zwei zufällig gezogenen Netzkonfigurationen erfolgt.The mutation preferably takes place by means of a Gaussian mutation by randomly adding layers or 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.Preferably, additional convolutional layers or fully meshed layers are added at a random position for this purpose. That is, 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 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.Furthermore, it is proposed that at least one of the optimization goals characterizes a physical property of a hardware component, with 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 a total 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.Furthermore, it is proposed that when optimizing the network configurations, 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.Furthermore, it is 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 given classification. For example, images of series-produced, nominally identical products can be used as input images. For example, the image classifier can 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 includes any distribution of information arranged in a two or more dimensional grid. This information can be, for example, intensity values of image pixels 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, using 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 being used in particular to implement functions of a technical system, in particular a robot Vehicle, a tool or a machine is designed. Here eg the neural network configured with one of the network configurations determines an output variable depending on a detected sensor variable of a sensor, depending on which a control variable can then be determined using, 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 being used in particular to implement functions of a technical system, in particular a robot, a vehicle, of a tool or a work machine.
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 unit is provided, in particular for controlling functions of a technical system, in particular a robot, a vehicle, a tool or a machine, 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 which are each 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 FIG. 12 is a flowchart showing a method for determining a Pareto optimal set of network configurations for determining a suitable candidate network configuration for a given application; -
4 a schematic representation of a Pareto front of network configurations depending on the prediction error and a further optimization parameter, in particular a resource utilization parameter; and -
5 a possible structure of a device for carrying out the method;
Die Neuronen 3 der Neuronenschichten 2 können dabei einer herkömmlichen Neuronen-Funktion
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.The neuron outputs of a
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.Neural networks 1 formed in this way can be implemented as software or with the aid of calculation hardware, which maps part or all of the neural network as an electronic (integrated) circuit. Such a calculation hardware is usually selected for the construction of a neural network when the calculation is to be carried out very quickly, which could not be achieved with implementation in software.
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. Apart from the network configuration described above, other configurations of neural networks are possible, in which neurons are provided which are connected to neurons on the input side different neuron layers and are coupled to neurons of different neuron layers on the output side.
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 the 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 S1 wird ein Bereitstellen (S1) einer Mehrzahl von zufällig ausgewählten Netzkonfigurationen (a) ausgeführt.In step S1, a plurality of randomly selected network configurations (a) are provided (S1).
Daraufhin folgt Schritt S2. Hierin wird ein Trainieren von neuronalen Netzen konfiguriert mit den Netzkonfigurationen (α) auf den bereitgestellten Trainingsdaten durchgeführt.This is followed by step S2. Here, training of neural networks configured with the network configurations (α) is carried out on the provided training data.
Daraufhin folgt ein Ermitteln (S3) für jedes der trainierten neuronalen Netze eine Performance (accurancy) sowie ein Auswerten (S3) jeder der trainierten neuronalen Netze hinsichtlich zumindest eines vorgegebenen Optimierungsziels (n_pars).This is followed by determining (S3) a performance (accuracy) for each of the trained neural networks and evaluating (S3) each of the trained neural networks with regard to at least one predetermined optimization goal (n_pars).
Anschließend folgt ein Hinzufügen (S4) eines Tupels umfassend Netzkonfigurationen (α) und Performance (accurancy) und dem ausgewerteten Optimierungsziels (n_pars) zu einem weiteren Trainingsdatensatz.This is followed by an addition (S4) of a tuple comprising network configurations (α) and performance (accuracy) and the evaluated optimization goal (n_pars) to a further training data set.
Anschließend folgt ein Anpassen (S5) eines Vorhersagemodells abhängig von dem weiteren Trainingsdatensatz derart, dass das Vorhersagemodell gegeben einer der Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz zumindest deren jeweils zugeordneten Performance aus dem weiteren Trainingsdatensatz ausgibt.This is followed by an adaptation (S5) of a prediction model depending on the further training data set in such a way that the prediction model, given one of the network configurations (α) from the further training data set, outputs at least its respectively assigned performance from the further training data set.
Nach Schritt S5 folgt Schritt S6. Hierin wird ein Auswählen (S6) einer Vielzahl von Netzkonfigurationen unter Verwendung des Vorhersagemodells durchgeführt.After step S5, step S6 follows. Herein, selecting (S6) a plurality of network configurations is performed using the prediction model.
Danach folgt eine oder mehrere Wiederholungen der Schritte S2 bis S6 mit der Vielzahl der ausgewählten Netzkonfigurationen bis ein Abbruchkriterium erfüllt ist.This is followed by one or more repetitions of steps S2 to S6 with the multiplicity of selected network configurations until an abort criterion is met.
Abschließend kann Schritt S7 ausgeführt werden. Hierin wird ein Auswählen (S7) der Netzkonfigurationen (α) aus dem weiteren Trainingsdatensatz, welche eine Pareto-Menge hinsichtlich der Performance und des Optimierungsziels entspricht, ausgeführt.Finally, step S7 can be executed. Here, a selection (S7) of the network configurations (α) from the further training data set, which corresponds to a Pareto set with regard to the performance and the optimization goal, is carried out.
In
Die nach dem letzten Iterationszyklus (mehrmals ausgeführte Abfolge der Schritt S2 bis S6) 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.The network configurations of the current network configuration set determined after the last iteration cycle (sequence of steps S2 to S6 executed several times) now represent a basis for selecting a suitable network configuration for the application determined by the training data. This can be done, for example, by specifying a total cost function that takes into account the prediction error and the resource costs. In practice, based on the application in question, one would decide which network configuration of the current network configuration set (current Pareto front) is best suited for the chosen application. This can be done using a constraint specification. As an example scenario, a network configuration can be selected from the Pareto front that does not exceed a network size of e.g. 1GB of memory.
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 of network configurations to be accelerated in an improved manner, since the evaluation of the performance/prediction errors of the variants of network configurations can be carried out significantly 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. -klassifkationsverfahren 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 before the actual training, the training data must first be defined, from which the optimized/suitable network configuration for the task set is determined. For example, image recognition or classification methods can be defined by training data that contain input images, object assignments, 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.A neural network configured in this way can be used in a control unit of a technical system, in particular in a robot, a vehicle, a tool or a machine, 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 consideration as input variables of the neural network. The sensor data can come from sensors in the technical system or can be received externally by the technical system. 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 unit 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 500 ausgeführten Verfahren können als Computerprogramm implementiert auf einem maschinenlesbaren Speichermedium 54 hinterlegt sein und von einem Prozessor 55 ausgeführt werden.The methods executed by the
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" includes any device for processing predeterminable calculation rules. These calculation rules can be in the form of software, or in the form of hardware, or in a mixed form of software and hardware.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN 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 documents cited 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]EP19719232 [0004]
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021109757.6A DE102021109757A1 (en) | 2021-04-19 | 2021-04-19 | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021109757.6A DE102021109757A1 (en) | 2021-04-19 | 2021-04-19 | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021109757A1 true DE102021109757A1 (en) | 2022-10-20 |
Family
ID=83447011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021109757.6A Pending DE102021109757A1 (en) | 2021-04-19 | 2021-04-19 | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021109757A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018109835A1 (en) | 2018-04-24 | 2019-10-24 | Albert-Ludwigs-Universität Freiburg | Method and device for determining a network configuration of a neural network |
-
2021
- 2021-04-19 DE DE102021109757.6A patent/DE102021109757A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018109835A1 (en) | 2018-04-24 | 2019-10-24 | Albert-Ludwigs-Universität Freiburg | Method and device for determining a network configuration of a neural network |
Non-Patent Citations (3)
Title |
---|
DEB, Kalyanmoy et al.: A fast and elitist multiobjective genetic algorithm: NSGA-II. In: IEEE Transactions on Evolutionary Computation, 6, 2002, 2, 182-197. https://doi.org/10.1109/4235.996017 [abgerufen am 28.02.2022] |
EMMERICH, Michael T. M. ; GIANNAKOGLOU, Kyriakos C.; NAUJOKS, Boris: Single- and multiobjective evolutionary optimization assisted by gaussian random field metamodels. In: IEEE Transactions on Evolutionary Computation, Bd. 10, 2006, H. 4, S. 421-439. - ISSN 1089-778X (p) ; 1941-0026 (e). DOI: 10.1109/TEVC.2005.859463. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1665031 [abgerufen am 2021-05-28]. |
WHITE, Colin ; NEISWANGER, Willie ; SAVANI, Yash: BANANAS: Bayesian optimization with neural architectures for neural architecture search. Version 3, 02-11-2020. S. 1-31. URL: https://arxiv.org/pdf/1910.11858 [abgerufen am 2021-05-28]. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3785177B1 (en) | Method and device for determining a network-configuration of a neural network | |
EP3748551A1 (en) | Method, device and computer program for adjusting a hyperparameter | |
DE102019210507A1 (en) | Device and computer-implemented method for processing digital sensor data and training methods therefor | |
DE102021207613A1 (en) | Process for quality assurance of a system | |
DE102021109757A1 (en) | Method and device for determining network configurations of a neural network while fulfilling a plurality of secondary conditions | |
DE102019212912A1 (en) | Compressing a deep neural network | |
DE102019213061A1 (en) | Classification of AI modules | |
EP3785178A1 (en) | Method and device for determining a network configuration of a neural network | |
DE202021102086U1 (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 | |
DE202021102085U1 (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 | |
DE202021102084U1 (en) | Device for determining network configurations of a neural network while fulfilling a number of secondary conditions | |
DE102019207911A1 (en) | Method, device and computer program for predicting a learning curve | |
DE102020123155A1 (en) | Artificial neural network quantization method and operation method using an artificial neural network | |
DE202019103046U1 (en) | Device for predicting a learning curve | |
EP3956820B1 (en) | Method, device and computer program for creating a neuronal network | |
DE202019103233U1 (en) | Device for setting a hyperparameter | |
DE102019205081A1 (en) | Method, device and computer program for operating a deep neural network | |
DE102021208158A1 (en) | Method and device for generating a locally linear model tree | |
DE102021212526A1 (en) | Data processing device and method and program for deep learning of a neural network | |
DE102020203135A1 (en) | Procedure for quality assurance of an example-based system | |
DE102022203834A1 (en) | Method for training a machine learning algorithm taking into account at least one inequality condition | |
WO2022069182A1 (en) | Quality assurance method for an example-based system | |
DE202021103700U1 (en) | Device for generating an artificial neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified |