DE102019214625A1 - Method, device and computer program for creating an artificial neural network - Google Patents

Method, device and computer program for creating an artificial neural network Download PDF

Info

Publication number
DE102019214625A1
DE102019214625A1 DE102019214625.2A DE102019214625A DE102019214625A1 DE 102019214625 A1 DE102019214625 A1 DE 102019214625A1 DE 102019214625 A DE102019214625 A DE 102019214625A DE 102019214625 A1 DE102019214625 A1 DE 102019214625A1
Authority
DE
Germany
Prior art keywords
artificial neural
neural network
hyperparameters
training
data sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019214625.2A
Other languages
German (de)
Inventor
Marius Lindauer
Frank Hutter
Michael Burkart
Lukas Zimmer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Albert Ludwigs Universitaet Freiburg
Original Assignee
Robert Bosch GmbH
Albert Ludwigs Universitaet Freiburg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH, Albert Ludwigs Universitaet Freiburg filed Critical Robert Bosch GmbH
Priority to DE102019214625.2A priority Critical patent/DE102019214625A1/en
Publication of DE102019214625A1 publication Critical patent/DE102019214625A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (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)
  • Image Analysis (AREA)

Abstract

Die Erfindung betrifft ein Verfahren (10) zum Erstellen eines künstlichen neuronalen Netzes. Das Verfahren umfasst unter anderem folgende Schritte: Bereitstellen einer Mehrzahl von unterschiedlichen Datensätzen. Initialisieren einer Mehrzahl von Hyperparametern. Anlernen des künstlichen neuronalen Netzes. Auswerten des angelernten künstlichen neuronalen Netzes. Optimieren der Hyperparameter abhängig von der Auswertung und Erneutes Anlernen des künstlichen neuronalen Netzes unter Verwendung der optimierten Hyperparameter. Die Erfindung betrifft ferner ein Computerprogramm und eine Vorrichtung zum Ausführen des Verfahrens (10) und ein maschinenlesbares Speicherelement, auf dem das Computerprogramm gespeichert ist.

Figure DE102019214625A1_0000
The invention relates to a method (10) for creating an artificial neural network. The method includes the following steps, among others: Providing a plurality of different data sets. Initializing a plurality of hyperparameters. Learning the artificial neural network. Evaluation of the learned artificial neural network. Optimizing the hyperparameters depending on the evaluation and relearning the artificial neural network using the optimized hyperparameters. The invention also relates to a computer program and a device for carrying out the method (10) and a machine-readable memory element on which the computer program is stored.
Figure DE102019214625A1_0000

Description

Technisches GebietTechnical area

Die Erfindung betrifft ein Verfahren zum Erstellen eines künstlichen neuronalen Netzes abhängig von einer Mehrzahl von unterschiedlichen Datensätzen.The invention relates to a method for creating an artificial neural network as a function of a plurality of different data sets.

Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.The invention also relates to a device and a computer program which are each set up to carry out the method.

Stand der TechnikState of the art

Die Autoren Stefan Falkner, Aaron Klein und Frank Hutter offenbaren in ihrer Veröffentlichung „BOHB: Robust and efficient hyperparameter optimization at scale.“ arXiv preprint arXiv:1807.01774 (2018) ein Verfahren, um Hyperparameter eines neuronalen Netzes mittels einer Kombination aus einer Bayes'schen Optimierung und einem Hyperband-Optimierungsalgorithmus zu optimieren.The authors Stefan Falkner, Aaron Klein and Frank Hutter disclose in their publication "BOHB: Robust and efficient hyperparameter optimization at scale." ArXiv preprint arXiv: 1807.01774 (2018) a method to calculate hyperparameters of a neural network by means of a combination of a Bayesian Optimization and a hyperband optimization algorithm.

Vorteile der ErfindungAdvantages of the invention

Das erfindungsgemäße Verfahren hat den Vorteil, dass durch das vorgeschlagene Vorgehen eine allgemeine Architektur und gegebenenfalls sogar eine allgemeine Parametrisierung eines künstlichen neuronalen Netzes ermittelt wird, die auf einer Mehrzahl von unterschiedlichen Trainingsdatensätzen eine gute Leistungsfähigkeit aufweisen.The method according to the invention has the advantage that the proposed procedure determines a general architecture and possibly even a general parameterization of an artificial neural network, which have good performance on a plurality of different training data sets.

Dieses Verfahren hat ferner den Vorteil, dass bei einem anschließenden, weiteren Anlernen des künstlichen neuronalen Netzes auf einem weiteren Trainingsdatensatz computerressourceneffizienter eine optimale Parametrisierung des künstlichen neuronalen Netzes ermittelt werden kann, unabhängig von einer Struktur oder Inhalt des weiteren Trainingsdatensatzes.This method also has the advantage that when the artificial neural network is subsequently trained on a further training data set, an optimal parameterization of the artificial neural network can be determined in a more computer-resource-efficient manner, regardless of a structure or content of the further training data set.

Da in den letzten Jahren immer größere Trainingsdatensätze bereitgestellt werden und um eine Trainingsdauer des künstlichen neuronalen Netzes trotz der größeren Trainingsdatensätze so kurz wie möglich zu halten, bietet dieses Verfahren den Vorteil, dass die allgemeine Architektur und allgemeine Parametrisierung des künstlichen neuronalen Netzes auf unterschiedlichen kleinen Trainingsdatensätze ermittelt wird, und dann auf einen großen Trainingsdatensatz angewendet werden können. Dadurch muss dieses künstliche neuronale Netz nur noch minimal nachangelernt werden. Da das Nachanlernen deutlich schneller durchgeführt werden kann als ein vollständiges Anlernen eines neu initialisierten künstlichen neuronalen Netzes, ermöglicht dieses Verfahren künstliche neuronale Netze auf sehr großen Trainingsdatensätzen effizient anzulernen. Ferner wird es durch die allgemeine Architektur und die allgemeine Parametrisierung des künstlichen neuronalen Netzes möglich, dieses künstliche neuronale Netz auch in Systemen mit begrenzten Energie- und/oder Rechenressourcen nach anzulernen, da nur noch ein „fine-tuning“ durchgeführt werden muss.Since ever larger training data sets have been made available in recent years and in order to keep a training duration of the artificial neural network as short as possible despite the larger training data sets, this method offers the advantage that the general architecture and general parameterization of the artificial neural network is based on different small training data sets and can then be applied to a large training data set. As a result, this artificial neural network only has to be learned a little later. Since the retraining can be carried out much faster than a complete training of a newly initialized artificial neural network, this method enables artificial neural networks to be trained efficiently on very large training data sets. Furthermore, the general architecture and the general parameterization of the artificial neural network make it possible to train this artificial neural network in systems with limited energy and / or computing resources, since only a “fine-tuning” has to be carried out.

Offenbarung der ErfindungDisclosure of the invention

In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Erstellen eines künstlichen neuronalen Netzes vorgeschlagen. Dieses künstliche neuronale Netz kann auch als ein allgemeines künstliches neuronales Netz bezeichnet werden, da es dank des vorgeschlagenen Verfahrens über die Mehrzahl der unterschiedlichen Datensätze eine gute Performance erzielt. Das Verfahren beginnt mit dem Schritt des Bereitstellens einer Mehrzahl von unterschiedlichen Datensätzen. Unter einem Datensatz kann eine Mehrzahl von Trainingseingangsgrößen und jeweils zugeordnete Trainingsausgangsgrößen verstanden werden. Die Trainingseingangsgrößen können Sensordaten, wie Bilder, sein. Die Trainingsausgangsgrößen können Label sein, also charakterisieren, welcher Klasse die jeweilige Trainingseingangsgröße zugeordnet ist. Unter unterschiedlichen Datensätzen kann verstanden werden, dass die Datensätze zueinander z.B. eine unterschiedliche Anzahl von Klassen oder zueinander unterschiedliche Klassen enthalten. Jegliche andere Arten von unterschiedlichen Datensätzen sind denkbar, z.B., dass die einzelnen Datensätze mit unterschiedlichen Sensoren eines gleichen/unterschiedlichen Objekten/Situationen erfasst wurden.In a first aspect, a particularly computer-implemented method for creating an artificial neural network is proposed. This artificial neural network can also be referred to as a general artificial neural network since, thanks to the proposed method, it achieves good performance over the majority of the different data sets. The method begins with the step of providing a plurality of different data sets. A data record can be understood to mean a plurality of training input variables and respectively assigned training output variables. The training input variables can be sensor data, such as images. The training output variables can be labels, that is, they can characterize which class the respective training input variable is assigned to. Different data records can be understood to mean that the data records contain, for example, a different number of classes or different classes from one another. Any other types of different data sets are conceivable, e.g. that the individual data sets were recorded with different sensors of the same / different objects / situations.

Daraufhin folgt ein Initialisieren einer Mehrzahl von Hyperparametern, wobei erste Hyperparameter eine Architektur des künstlichen neuronalen Netzes charakterisieren und zweite Hyperparameter ein Trainingsverfahren, insbesondere ein Gradientenabstiegsverfahren, parametrisieren. Die ersten Hyperparameter können z.B. eine Anzahl von Schichten oder Neuronen charakterisieren. Die zweiten Hyperparameter können eine Stapelgröße (engl. batch size), eine Kostenfunktion, z.B. eine Kreuzentropie, charakterisieren, eine Anzahl von Epochen und/oder eine Lernrate sein.This is followed by an initialization of a plurality of hyperparameters, first hyperparameters characterizing an architecture of the artificial neural network and second hyperparameters parameterizing a training method, in particular a gradient descent method. The first hyperparameters can, for example, characterize a number of layers or neurons. The second hyperparameters can characterize a batch size, a cost function, e.g. a cross entropy, a number of epochs and / or a learning rate.

Daraufhin folgt ein Anlernen des künstlichen neuronalen Netzes abhängig von ersten Trainingsdaten mit dem Trainingsverfahren unter Verwendung der initialisierten Hyperparameter. Unter einem Anlernen kann verstanden werden, dass Parameter des künstlichen neuronalen Netzes abhängig von Trainingsdaten derart angepasst werden, dass das künstliche neuronale Netz die den Trainingseingangsdaten zugeordneten Trainingsausgangsgrößen ermittelt. Die ersten Trainingsdaten umfassen aus zumindest zwei der Mehrzahl der unterschiedlichen Datensätze jeweils eine erste vorgebbare Menge von Trainingsdaten. Die Architektur des künstlichen neuronalen Netzes wird basierend auf den ersten Hyperparametern erstellt und das Trainingsverfahren wird mit den initialisierten zweiten Hyperparametern parametrisiert.This is followed by learning of the artificial neural network as a function of the first training data with the training method using the initialized hyperparameters. Learning can be understood to mean that parameters of the artificial neural network are adapted as a function of training data in such a way that the artificial neural network determines the training output variables assigned to the training input data. The first training data comprise from at least two of the plurality of different data sets each have a first predeterminable amount of training data. The architecture of the artificial neural network is created based on the first hyperparameters and the training method is parameterized with the initialized second hyperparameters.

Daraufhin folgt ein Auswerten des angelernten künstlichen neuronalen Netzes auf zweiten Trainingsdaten. Die zweiten Trainingsdaten umfassen aus zumindest zwei der Mehrzahl der unterschiedlichen Datensätze jeweils eine zweite vorgebbare Menge von Trainingsdaten. Vorzugsweise sind die zweiten Trainingsdaten zu einem Validierungsdatensatz zugammengefasst. Die Datensätze können jeweils in ein Validierungs- und Trainingsdatensatz aufgeteilt werden. Vorzugsweise enthält der Validierungs- und Trainingsdatensatz etwa gleich viele Trainingsdaten oder der Trainingsdatensatz enthält mehr Trainingsdaten. Vorzugsweise erfolgt die Zuweisung der Daten des jeweiligen Datensatzes in den Trainingsdatensatz und den Validierungsdatensatz zufällig. Unter Auswerten kann verstanden werden, dass eine Performance des künstlichen neuronalen Netzes auf vorgebbaren Trainingsdaten bestimmt wird. This is followed by an evaluation of the learned artificial neural network based on second training data. The second training data each comprise a second predeterminable set of training data from at least two of the plurality of different data sets. The second training data are preferably combined to form a validation data set. The data sets can each be divided into a validation and training data set. The validation and training data set preferably contains approximately the same amount of training data or the training data set contains more training data. The assignment of the data of the respective data set to the training data set and the validation data set is preferably carried out randomly. Evaluation can be understood to mean that a performance of the artificial neural network is determined on predeterminable training data.

Die Auswertung kann beispielsweise ein Fehler des künstlichen neuronalen Netzes auf den zweiten Trainingsdaten sein. Alternativ kann die Auswertung die ausgewertete Kostenfunktion des vorhergehenden Schrittes des Anlernens auf den zweiten Trainingsdaten sein.The evaluation can be, for example, an error in the artificial neural network on the second training data. Alternatively, the evaluation can be the evaluated cost function of the previous learning step on the second training data.

Daraufhin folgt ein Optimieren der Hyperparameter abhängig von der Auswertung, sodass die beim Verwenden der optimierten Hyperparameter beim erneuten Anlernen das künstliche neuronale Netz eine höhere Performance erzielt. Wenn die Schritte mehrmals ausgeführt wurden, dann kann das Optimieren der Hyperparameter auch abhängig von vorherigen Auswertungen durchgeführt werden. Vorzugsweise erfolgt die Optimierung abhängig von den Hyperparametern und der Auswertung und kann dann aktualisierte Hyperparameter vorgeschlagen, bei welchen erwartet wird, dass diese zu einer Performancesteigerung führen werden.This is followed by an optimization of the hyperparameters depending on the evaluation, so that the artificial neural network achieves a higher performance when the optimized hyperparameters are used when re-learning. If the steps have been carried out several times, the optimization of the hyperparameters can also be carried out depending on previous evaluations. The optimization preferably takes place as a function of the hyperparameters and the evaluation, and updated hyperparameters can then be proposed, for which it is expected that these will lead to an increase in performance.

Daraufhin folgt ein erneutes Anlernen des künstlichen neuronalen Netzes unter Verwendung der optimierten Hyperparameter. Das erneute Anlernen erfolgt wie das oben beschriebene Anlernen.This is followed by a new learning of the artificial neural network using the optimized hyperparameters. The new teaching takes place like the teaching described above.

Das Anlernen des künstlichen neuronalen Netzes kann abhängig von einer Kostenfunktion (engl. loss function) durchgeführt werden, wobei die Kostenfunktion abhängig von einer (mittleren) Summe über die Kostenfunktion der einzelnen Datensätze ermittelt wird. Die Kostenfunktion der einzelnen Datensätze kann zum Beispiel eine Kreuzentropie sein oder wird abhängig von einem der Hyperparameter ausgewählt.The learning of the artificial neural network can be carried out as a function of a cost function (loss function), the cost function being determined as a function of a (mean) sum via the cost function of the individual data records. The cost function of the individual data records can be, for example, a cross entropy or is selected as a function of one of the hyperparameters.

Unter einer Konfiguration des künstlichen neuronalen Netzes wird im Folgenden die ersten Hyperparameter und die Parameter des künstlichen neuronalen Netzes verstanden.A configuration of the artificial neural network is understood below to mean the first hyperparameters and the parameters of the artificial neural network.

Es wird vorgeschlagen, dass die Hyperparameter unter Verwendung von BOHB optimiert werden. Wobei der Schritt des Anlernens innerhalb eines vorgebbaren Zeitbudgets durchgeführt wird, wobei das Zeitbudget für eine zunehmende Anzahl von Wiederholungen der Schritte des Anlernens und Optimierens der Hyperparameter zunimmt. Dadurch wird mehr Zeit auf potentiell geeignetere Hyperparameter verwendet. Das Zeitbudget kann durch BOHB vorgegeben sein. It is suggested that the hyperparameters be optimized using BOHB. The learning step is carried out within a predeterminable time budget, the time budget increasing for an increasing number of repetitions of the learning and optimization steps of the hyperparameters. This means that more time is spent on potentially more suitable hyperparameters. The time budget can be specified by BOHB.

Es sei angemerkt, dass Simulationen überraschenderweise gezeigt haben, dass wenn die Hyperparameter des Trainingsverfahrens und die Hyperparameter der Architektur des künstlichen neuronalen Netzes separat voneinander abhängig von einer Mehrzahl von unterschiedlichen Datensätzen optimiert werden, dass die daraus erhaltenen künstlichen neuronalen Netze weniger leistungsfähig sind, als die erhaltenen künstlichen neuronalen Netze gemäß diesem Verfahren. Dies bedeutet, dass durch das vorgeschlagene, gemeinsame Optimieren der Hyperparameter des Trainingsverfahrens und der Architektur leistungsfähigere künstliche neuronale Netze gefunden werden können.It should be noted that simulations have surprisingly shown that if the hyperparameters of the training method and the hyperparameters of the architecture of the artificial neural network are optimized separately from one another as a function of a plurality of different data sets, that the artificial neural networks obtained from them are less efficient than the obtained artificial neural networks according to this method. This means that through the proposed joint optimization of the hyperparameters of the training method and the architecture, more powerful artificial neural networks can be found.

Weiterhin wird vorgeschlagen, dass eine Abfolge der Schritte des erneuten Anlernens gefolgt von dem Schritt des Auswertens und dem Schritt des Optimierens der Hyperparameter mehrmals wiederholt nacheinander ausgeführt werden. Bei einem wiederholten Ausführen des Schrittes des erneuten Anlernens wird abhängig von einer Anzahl der Wiederholungen eine Anzahl von unterschiedlichen Datensätze ausgewählt, aus welchen die ersten Trainingsdaten jeweils die erste vorgebbare Menge von Trainingsdaten umfassen. Es kann also abhängig von einer Anzahl der Wiederholungen der Abfolge der Schritte die ersten Trainingsdaten aus einer, insbesondere exponentiell, zunehmenden Anzahl die unterschiedlichen Datensätze, insbesondere zufällig, ausgewählt werden.It is further proposed that a sequence of the steps of relearning followed by the step of evaluating and the step of optimizing the hyperparameters are repeatedly carried out several times in succession. When the re-learning step is repeated, a number of different data sets are selected depending on a number of repetitions, from which the first training data each comprise the first predeterminable set of training data. Depending on the number of repetitions of the sequence of steps, the first training data can be selected from an, in particular exponentially, increasing number of the different data sets, in particular randomly.

Die Anzahl der Datensätze zum Anlernen kann abhängig vom Zeitbudget gewählt werden. Dadurch kann mit beschränkten Computerressourcen, wie Speicher und Rechenleistung, zu Beginn des Verfahrens schnell und ohne großen Aufwand eine erste gute Konfiguration des künstlichen neuronalen Netzes ermittelt werden, die dann abhängig von stetig mehr werdenden Datensätzen angepasst wird.The number of data records to be taught in can be selected depending on the time budget. As a result, with limited computer resources, such as memory and computing power, at the beginning of the method, a first good configuration of the artificial neural network can be determined quickly and without great effort, which is then adapted as a function of continuously increasing data records.

Weiterhin wird vorgeschlagen, dass eine Reihenfolge der ausgewählten Datensätze der Mehrzahl der unterschiedlichen Datensätze zufällig neu für jede Wiederholung der Abfolge der Schritte gewählt wird. Der Vorteil hierbei ist, dass eine Verzerrung (engl. bias) der Trainingsdaten vermieden wird.It is further proposed that a sequence of the selected data records of the plurality of different data records is randomly selected anew for each repetition of the sequence of steps. The advantage here is that a bias of the training data is avoided.

Weiterhin wird vorgeschlagen, dass weitere künstliche neuronale Netze abhängig von jeweils einem der unterschiedlichen Datensätze angelernt werden. Die weiteren künstlichen neuronalen Netze werden im Folgenden auch als „Referenz“ künstliche neuronale Netze bezeichnet. Die weiteren künstlichen neuronalen Netze werden auf dem für das jeweilige künstliche neuronale Netz zum Anlernen verwendeten Datensatz ausgewertet. Daraufhin wird die Auswertung des künstlichen neuronalen Netzes mit den Auswertungen der weiteren künstlichen neuronalen Netze auf dem jeweiligen Datensatz verglichen. Dann, wenn die Auswertung des künstlichen neuronalen Netzes mit der Auswertung der weiteren künstlichen neuronalen Netze im Wesentlichen für die Mehrzahl der unterschiedlichen Datensätze ähnlich ist oder eine Abweichung zwischen der Performance des allgemeinen künstlichen neuronalen Netz auf den Datensätzen verglichen zu den Performances der „Referenz“ künstlichen neuronalen Netzen auf ihrem jeweiligen Datensatz jeweils eine im Wesentlichen gleiche Abweichung aufweist, wird das Verfahren zum Erstellen des künstlichen neuronalen Netzes beendet.It is also proposed that further artificial neural networks are taught in as a function of one of the different data sets in each case. The other artificial neural networks are also referred to below as “reference” artificial neural networks. The other artificial neural networks are evaluated on the data record used for teaching in the respective artificial neural network. The evaluation of the artificial neural network is then compared with the evaluations of the further artificial neural networks on the respective data set. Then when the evaluation of the artificial neural network is essentially similar to the evaluation of the other artificial neural networks for the majority of the different data sets or there is a discrepancy between the performance of the general artificial neural network on the data sets compared to the performances of the "reference" artificial ones If neural networks each have essentially the same deviation on their respective data set, the method for creating the artificial neural network is ended.

Der Vorteil hierbei ist, dass dann wenn das allgemeine künstliche neuronale Netz ähnlich gute Ergebnisse auf den jeweils unterschiedlichen Datensätzen liefert wie die einzelnen „Referenz“ künstliches neuronales Netz, die jeweils für die einzelnen Datensätze trainiert wurden, kann dieses allgemeine künstliche neuronale Netz als ein robustes künstliches neuronales Netz angesehen werden, dessen Konfiguration über die Mehrzahl der unterschiedlichen Datensätze zu guten Ergebnissen führt. Damit kann also ein Robustheitstest als ein Abbruchkriterium verwendet werden.The advantage here is that if the general artificial neural network delivers similarly good results on the different data sets as the individual "reference" artificial neural network, which were each trained for the individual data sets, this general artificial neural network can be considered a robust one artificial neural network, the configuration of which leads to good results over the majority of the different data sets. A robustness test can thus be used as a termination criterion.

Weiterhin wird vorgeschlagen, dass beim Schritt des (erneuten) Anlernens zumindest die Parameter des künstlichen neuronalen Netzes für alle unterschiedlichen Datensätze verwendet wird. Weiterhin wird vorgeschlagen, dass beim Wiederhohlen der Abfolge der Schritte jeweils beim erneuten Anlernen des künstlichen neuronalen Netzes die Parameter einer Eingangsschicht bis zur einer vorletzten Schicht des künstlichen neuronalen Netzes des, insbesondere unmittelbar, vorhergehenden ausgeführten Schrittes des erneuten Anlernens als initiale Parametrisierung des künstlichen neuronalen Netzes verwendet werden, insbesondere soweit es die gewählte Architektur zulässt.It is also proposed that in the (renewed) learning step, at least the parameters of the artificial neural network are used for all different data sets. Furthermore, it is proposed that when repeating the sequence of steps each time the artificial neural network is relearned, the parameters of an input layer up to a penultimate layer of the artificial neural network of the, in particular immediately, preceding, repeated relearning step are used as the initial parameterization of the artificial neural network can be used, especially as far as the chosen architecture allows.

Unter der vorletzten Schicht kann die Schicht verstanden werden, die unmittelbar mit einer Ausgangsschicht des künstlichen neuronalen Netzes verbunden ist. Es sei angemerkt, dass die Parameter der Ausgangsschicht des künstlichen neuronalen Netzes nicht für unterschiedliche Datensätze wiederverwendet werden könnten, da die unterschiedlichen Datensätze eine unterschiedliche Anzahl von zum Beispiel Klassen aufweisen können, wodurch die Ausgangsschicht unterschiedliche Dimensionen für die unterschiedlichen Datensätze aufweist. Der Vorteil bei diesem Vorgehen ist, dass durch das wiederverwenden der Parameter des künstlichen neuronalen Netzes ein sogenannter Warmstart (engl. warm start) erzielt wird. Dies resultiert in einem verbesserten Konvergenzverhalten und beschleunigt ferner das Anlernen des künstlichen neuronalen Netzes. Überraschenderweise führt dieses Vorgehen auch zu einer höheren durchschnittlichen Validierungsgenauigkeit über die Mehrzahl der unterschiedlichen Datensätze, als ohne Verwendung dieses Warmstarts.The penultimate layer can be understood as the layer that is directly connected to an output layer of the artificial neural network. It should be noted that the parameters of the output layer of the artificial neural network could not be reused for different data sets, since the different data sets can have a different number of, for example, classes, whereby the output layer has different dimensions for the different data sets. The advantage of this procedure is that a so-called warm start is achieved by reusing the parameters of the artificial neural network. This results in an improved convergence behavior and also accelerates the learning of the artificial neural network. Surprisingly, this procedure also leads to a higher average validation accuracy over the majority of the different data sets than without using this warm start.

Weiterhin wird vorgeschlagen, dass einer der Hyperparameter eine Anzahl der Hyperparameter charakterisiert, wobei nach dem Optimieren der Hyperparameter abhängig von diesem Hyperparameter, der die Anzahl der Hyperparameter charakterisiert, die Anzahl der Hyperparameter reduziert wird, insbesondere werden die nicht mehr verwendeten Hyperparameter konstant gehalten. Vorzugsweise sind die Hyperparameter priorisiert und die Hyperparameter mit einer geringeren Priorisierung werden konstant gehalten.It is further proposed that one of the hyperparameters characterizes a number of the hyperparameters, the number of hyperparameters being reduced after the optimization of the hyperparameters depending on this hyperparameter that characterizes the number of hyperparameters, in particular the hyperparameters that are no longer used are kept constant. The hyperparameters are preferably prioritized and the hyperparameters with a lower prioritization are kept constant.

Der Vorteil hierbei ist, dass der Raum (engl. search space) innerhalb welchem zum Beispiel mittels BOHB optimiert wird, stetig reduziert wird. Somit wird über einen kleineren Raum bei einem steigenden Zeitbudget das künstliche neuronale Netz zielgerichteter angelernt. Denn durch das steigende Zeitbudget und dem kleineren Raum kann BOHB mehr Konfigurationen in diesem Raum explorieren, wodurch sich die Konfiguration näher der optimalen Konfiguration nähern kann.The advantage here is that the search space within which, for example, BOHB is used for optimization is constantly being reduced. Thus, the artificial neural network is trained in a more targeted manner over a smaller space with an increasing time budget. Because of the increasing time budget and the smaller space, BOHB can explore more configurations in this space, which means that the configuration can come closer to the optimal configuration.

Weiterhin wird vorgeschlagen, dass, wenn die Mehrzahl der unterschiedlichen Datensätze gemäß einem Maß für eine Ähnlichkeit zwischen den unterschiedlichen Datensätzen größer als ein vorgebbarerer Schwellwert ist, dann die Abfolge der Schritte häufiger wiederholt wird. D.h. abhängig von einer Ähnlichkeit der Datensätze kann das Anlernen weniger häufiger ausgeführt werden.It is further proposed that if the majority of the different data records is greater than a predeterminable threshold value according to a measure of a similarity between the different data records, then the sequence of steps is repeated more frequently. In other words, depending on the similarity of the data records, teaching can be carried out less frequently.

Es wurde erkannt, dass bei einer hohen Ähnlichkeit zwischen den unterschiedlichen Datensätzen weniger aufwändig angelernt werden muss, da hier eine allg. gültige Konfiguration des künstlichen neuronalen Netzes für alle Datensätze einfacher zu finden ist. Unter einem Performanceverlust von Konfigurationen kann verstanden werden, dass eine Performance für die gegebene Konfiguration, die für mehrere Datensätze optimiert sind, im Vergleich zu Konfigurationen, die für einen einzelnen Datensatz optimiert sind, eine geringere Performance aufweistIt was recognized that if there is a high level of similarity between the different data sets, less effort is required to learn, since a generally valid configuration of the artificial neural network is easier to find for all data sets. With a loss of performance of Configurations can be understood to mean that performance for the given configuration that is optimized for multiple data sets has a lower performance compared to configurations that are optimized for a single data set

Die Ähnlichkeit zwischen den Datensätzen kann bspw. unter Verwendung eines neuronales Netzwerkes netd1 ermittelt werden, das auf einem Datensatz d1 angelernt wurde und verwendet wird, um seine Vorhersagen auf einem anderen Datensatz d2 zu berechnen. Angenommen, der Datensatz d1 ist eine Bildklassifikationsaufgabe für n Klassen und der Datensatz d2 mit Bildern aus m unterschiedlichen Klassen. Da netd1 auf dem Datensatz d1 angelernt wurde, liefert seine Vorhersageausgabe für ein Bild der Klasse c einen n-dimensionalen Vektor, der Vorhersagen für jede Klasse enthält. netd1 kann alle Bilder i mit Klasse ci im Datensatz d2 klassifizieren. Daraufhin kann die Klassifikation kombiniert werden, indem alle Vorhersagen für Bilder der Klasse ci auf summiert werden und der resultierende Vektor durch die Anzahl der Bilder der Klasse ci geteilt wird. Dieser Schritt kann für alle Klassen im Datensatz wiederholt und die Durchschnittsvorhersagen können in eine m x n Matrix predd2 zusammengefasst werden. Mit dem gleichen Ansatz kann eine weitere Matrix preddl ermittelt werden, die eine n x n Matrix ist. Da netd1 auf den Datensatz d1 angelernt wurde, wäre preddl eine Identitätsmatrix, wenn netd1 eine Genauigkeit von 100% auf alle Bilder im Datensatz d1 erreichen würde. Da dies im Allgemeinen nicht der Fall ist, kann preddl verwendet werden, um predd2 zu normalisieren. Die berechnete predd2-Matrix liefert in jedem Eintrag x; y die durchschnittliche Wahrscheinlichkeit, dass die Klasse x im Datensatz d2 der Klasse y im Datensatz d1 entspricht. Wenn netd1 mit hoher Sicherheit voraussagt, dass die Klasse x im Datensatz d2 auch im Datensatz d1 als Klasse y klassifiziert werden kann, bedeutet dies, dass die Klassen x und y ähnlich sind. Basierend auf diesem Vorgehen kann die Ähnlichkeiten zwischen den Klassen bestimmt werden, folglich die Ähnlichkeiten zwischen Bildern und Datensätzen d2 und d1. Es wird daher vorgeschlagen, dass die Ähnlichkeit zwischen dem Datensatz d1 und d2 abhängig von preddl und predd2 berechnet wird.The similarity between the data sets can be determined, for example, using a neural network netd1, which was learned on a data set d1 and is used to calculate its predictions on another data set d2. Assume that the data set d1 is an image classification task for n classes and the data set d2 with images from m different classes. Since netd1 was trained on data set d1, its prediction output provides an n-dimensional vector for an image of class c, which contains predictions for each class. netd1 can classify all images i with class c i in data set d2. The classification can then be combined by adding up all the predictions for class c i images and dividing the resulting vector by the number of class c i images. This step can be repeated for all classes in the data set and the average predictions can be summarized in an mxn matrix predd2. Using the same approach, another matrix preddl can be determined, which is an nxn matrix. Since netd1 was trained on data set d1, preddl would be an identity matrix if netd1 achieved an accuracy of 100% for all images in data set d1. Since this is generally not the case, preddl can be used to normalize predd2. The calculated predd2 matrix returns x in each entry; y is the average probability that class x in data set d2 corresponds to class y in data set d1. If netd1 predicts with a high degree of certainty that class x in data set d2 can also be classified as class y in data set d1, this means that classes x and y are similar. Based on this procedure, the similarities between the classes can be determined, consequently the similarities between images and data sets d2 and d1. It is therefore proposed that the similarity between the data set d1 and d2 is calculated as a function of preddl and predd2.

Zusätzlich kann die Ähnlichkeit bei Bildern abhängig von einem mittleren Farbraum der Bilder im Datensatz d1 und d2, mittels einer Farbähnlichkeit zwischen den Bildern ermittelt werden. Die Ähnlichkeit wird dann durch ein gewichtetes arithmetisches Mittel zwischen Farb- und Ahnlichkeitsvorhersage durch netd1 bestimmt. Die Vorhersageähnlichkeit durch netd1 kann zu 70% und die Farbähnlichkeit zu 30% in die Ähnlichkeit einfließen.In addition, the similarity in images can be determined as a function of an average color space of the images in data record d1 and d2 by means of a color similarity between the images. The similarity is then determined by a weighted arithmetic mean between color and similarity prediction by netd1. 70% of the predictive similarity by netd1 and 30% of the color similarity can be included in the similarity.

Es wird vorgeschlagen, dass die Datensätze augmentiert werden, um eine bessere Generalisierung zu erzielen. Das Augmentieren kann bspw. eine Veränderung von Farben, eine Veränderung der Helligkeit oder Sättigung sein und/oder eine Rotation der Eingangsdaten um zum Beispiel +/-10° und/oder eine Skalierung oder Scherung der Eingangsgrößen.It is suggested that the data sets be augmented for better generalization. The augmentation can be, for example, a change in colors, a change in brightness or saturation and / or a rotation of the input data by, for example, +/- 10 ° and / or a scaling or shearing of the input variables.

Das erstellte allgemeine künstliche neuronale Netz kann in einem weiteren Schritt betrieben werden, indem erfasste Sensordaten durch das allgemeine künstliche neuronale Netz propagiert werden. Zusätzlich oder alternativ kann das allgemeine künstliche neuronale Netz in einem weiteren Schritt auf einem neuen Trainingsdatensatz angelernt wird. Dieses Vorgehen hat den Vorteil, dass das allgemeine künstliche neuronale Netz auf diesem weiteren Trainingsdatensatz nicht mehr umfangreich angelernt werden muss, da dies bereits vor angelernt wurde und damit nur noch ein „Feintuning“ durchgeführt werden muss. Je ähnlicher der weitere Trainingsdatensatz zu der Mehrzahl der Trainingsdatensätze, desto geringer ist der Aufwand für das Nachtrainieren, also kann abhängig von der Ähnlichkeit das Zeitbudget des Nachanlernens eingestellt werden.The created general artificial neural network can be operated in a further step in that recorded sensor data are propagated through the general artificial neural network. Additionally or alternatively, the general artificial neural network can be learned in a further step on a new training data set. This procedure has the advantage that the general artificial neural network no longer has to be extensively learned on this additional training data set, since this has already been learned beforehand and therefore only a "fine-tuning" has to be carried out. The more similar the further training data set to the majority of the training data sets, the lower the effort for retraining, so the time budget for retraining can be set as a function of the similarity.

Das künstliche neuronale Netz kann ein Klassifizierer sein. Die zu verarbeitenden Eingangsgrößen des künstlichen neuronalen Netzes sind vorzugsweise Bilder oder Videos. Das künstliche neuronale Netz kann eingerichtet sein, die Eingangsgrößen zu klassifizieren oder zu segmentieren oder Objekte in diesen Eingangsgrößen zu erkennen.The artificial neural network can be a classifier. The input variables of the artificial neural network to be processed are preferably images or videos. The artificial neural network can be set up to classify or segment the input variables or to recognize objects in these input variables.

Das erstellte allgemeine künstliche neuronale Netz des vorgeschlagenen Verfahrens des ersten Aspektes kann in einem physikalischen/technischen System, z.B. einem Roboter oder einem zumindest teilautonomen Fahrzeug eingesetzt werden, welches einen Aktor aufweist. Die ermittelte Ausgangsgröße des künstlichen neuronalen Netzes kann von einer Steuereinheit verwendet werden, sodass die Steuereinheit abhängig von dieser Ausgangsgröße den Aktor steuert. Die Steuereinheit kann hierfür eine Steuergröße abhängig von der ermittelten Ausgangsgröße bestimmen und diese zum Steuern des Aktors verwenden.The created general artificial neural network of the proposed method of the first aspect can be used in a physical / technical system, e.g. a robot or an at least partially autonomous vehicle, which has an actuator. The determined output variable of the artificial neural network can be used by a control unit so that the control unit controls the actuator as a function of this output variable. For this purpose, the control unit can determine a control variable as a function of the determined output variable and use this to control the actuator.

Alternativ kann abhängig von der ermittelten Ausgangsgröße des künstlichen neuronalen Netzes die Steuergröße ermittelte werden, die zum Steuern eines Aktors eines technischen Systems verwendet werden kann. Die Steuerung des Aktors kann entsprechend der Steuergröße erfolgen. Das technische System kann zum Beispiel eine zumindest teilautonome Maschine, ein zumindest teilautonomes Fahrzeug, ein Roboter, ein Werkzeug, eine Werkmaschine oder ein Flugobjekt wie eine Drohne sein. Beispielsweise so kann eine Bewegung des Roboters oder Fahrzeugs gesteuert werden oder eine Steuerung des Aktors erfolgen.Alternatively, depending on the determined output variable of the artificial neural network, the control variable can be determined that can be used to control an actuator of a technical system. The actuator can be controlled according to the control variable. The technical system can be, for example, an at least partially autonomous machine, an at least partially autonomous vehicle, a robot, a tool, a work machine or a flying object such as a drone. For example, a movement of the robot or vehicle can be controlled or the actuator can be controlled.

Die bereitgestellte Eingangsgröße des künstlichen neuronalen Netzes kann bspw. abhängig von erfassten Sensordaten ermittelt und dem künstlichen neuronalen Netz bereitgestellt werden. Die Sensordaten können von einem Sensor, wie z.B. einer Kamera, des technischen Systems erfasst oder alternativ von extern empfangen werden.The input variable provided by the artificial neural network can, for example, be determined as a function of the sensed sensor data and made available to the artificial neural network. The sensor data can be recorded by a sensor, such as a camera, of the technical system or, alternatively, can be received externally.

In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.In a further aspect, a computer program is proposed. The computer program is set up to carry out one of the aforementioned methods. The computer program comprises instructions which cause a computer to carry out one of these named methods with all of its steps when the computer program runs on the computer. Furthermore, a machine-readable memory module is proposed on which the computer program is stored. Furthermore, a device is proposed which is set up to carry out one of the methods.

Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:Exemplary embodiments of the above-mentioned aspects are shown in the accompanying drawings and explained in more detail in the description below. Show:

FigurenlisteFigure list

  • 1 eine schematische Darstellung eines Flussdiagramms zum Erstellen eines künstlichen neuronalen Netzes; 1 a schematic representation of a flow diagram for creating an artificial neural network;
  • 2 eine schematische Darstellung einer Ausführungsform einer Vorrichtung, welche zum Erstellen des maschinellen Lernsystems verwendet werden kann. 2 a schematic representation of an embodiment of a device which can be used to create the machine learning system.

1 zeigt eine schematische Darstellung eines Flussdiagramms (10) eines Verfahrens zum Erstellen eines künstlichen neuronalen Netzes. 1 shows a schematic representation of a flow chart ( 10 ) a method for creating an artificial neural network.

Das Verfahren beginnt mit dem Schritt „Start“. In diesem Schritt wird eine Mehrzahl von unterschiedlichen Datensätzen bereitgestellt. Zusätzlich kann in diesem Schritt eine Zielarchitektur vorgegeben werden, zum Beispiel wie groß das künstliche neuronale Netz maximal sein darf. Im Schritt „Start“ werden Hyperparameter initialisiert, die eine Architektur des künstlichen neuronalen Netzes charakterisieren und die ein Trainingsverfahren, vorzugsweise ein Optimierungsverfahren wie zum Beispiel ein Gradientenabstiegsverfahren, parametrisieren.The procedure begins with the “Start” step. In this step, a plurality of different data sets are provided. In addition, a target architecture can be specified in this step, for example the maximum size of the artificial neural network. In the “Start” step, hyperparameters are initialized which characterize an architecture of the artificial neural network and which parameterize a training method, preferably an optimization method such as a gradient descent method.

Daraufhin wird der Schritt „BOHB“ ausgeführt. Bei einem ersten Ausführen dieses Schrittes, kann beispielsweise ein maximales und minimales Zeitbudget festgelegt werden. In diesem Schritt wird der Optimierer BOHB ausgeführt, der abhängig von bereitgestellten Hyperparametern, und insbesondere vorhergehend bereitgestellten Hyperparametern und eine erzielte Leistungsfähigkeit des künstlichen neuronalen Netzes, welches unter Verwendung der vorhergehenden Hyperparameter erzielt wurde, aktualisierte Hyperparameter bestimmt.The step "BOHB" is then carried out. When this step is carried out for the first time, a maximum and minimum time budget can be set, for example. In this step, the optimizer BOHB is executed, which determines updated hyperparameters depending on provided hyperparameters, and in particular previously provided hyperparameters and an achieved performance of the artificial neural network, which was achieved using the preceding hyperparameters.

Nachdem der Schritt „BOHB“ beendet wurde, folgt der Schritt „Mehrere Datensätze“ (engl. „Multiple Datasets“). In diesem Schritt kann aus der Mehrzahl der unterschiedlichen Datensätze eine vorgebbare Anzahl der Datensätze zufällig gezogen werden.After the “BOHB” step has been completed, the “Multiple Datasets” step follows. In this step, a predeterminable number of data records can be drawn at random from the plurality of different data records.

Daraufhin folgt der optionale Schritt „Lese Datensätze“ (engl. „Read Dataset‟). Hierin kann eine Auswahl aus den verwendeten Datensätze nach Schritt „Mehrere Datensätze“ (engl. „Multiple Datasets“) abhängig von einer Größe eines Speichers in diesem Speicher hinterlegt werden. Dieser Schritt kann notwendig sein, wenn die Datensätze mehr Speicherplatz benötigen, als der Speicher zu bieten hat.This is followed by the optional step “Read Dataset”. A selection from the data records used can be stored in this memory according to the “Multiple Data Sets” step, depending on the size of a memory. This step may be necessary if the data sets require more storage space than the storage space can offer.

In dem daraufhin folgenden Schritt „Validierungssplit“ (engl. „Validation Split‟) werden die Datensätze jeweils in eine erste Untermenge namens „Trainingsdatensatz“ und in eine zweite Untermenge namens „Validierungsdatensatz“ aufgeteilt. Vorzugsweise ist diese Aufteilung deterministisch und bleibt während des Anlernens unverändert.In the next step, “Validation Split”, the data sets are divided into a first subset called “Training data set” and a second subset called “Validation data set”. This division is preferably deterministic and remains unchanged during the learning process.

Im daraufhin folgenden optionalen Schritt „Bildagumentation“ (engl. „Image Augmentation“) kann der „Trainingsdatensatz“ augmentiert werden, zum Beispiel in den Trainingseingangsgrößen des „Trainingsdatensatzes“ verzerrt oder skaliert werden. Denkbar ist, dass zusätzlich oder alternativ weitere Techniken zur Augmentierung auf den „Trainingsdatensatz“ angewendet werden.In the subsequent optional step “Image Augmentation”, the “training data set” can be augmented, for example distorted or scaled in the training input variables of the “training data set”. It is conceivable that, in addition or as an alternative, further techniques for augmentation are applied to the “training data set”.

Im darauffolgenden Schritte „Architekturauswahl“ (engl. „Architecture Selection“) wird abhängig von den Hyperparametern aus dem Schritt „BOHB“ eine Architektur des künstlichen neuronalen Netzes eingestellt.In the subsequent “Architecture Selection” step, an architecture of the artificial neural network is set depending on the hyperparameters from the “BOHB” step.

Im darauffolgenden Schritt „Auswahl Optimierer“ (engl. „Optimizer Selection“) wird abhängig von den Hyperparametern aus dem Schritt „BOHB“ das Trainingsverfahren parametrisiert.In the next step, “Optimizer Selection”, the training method is parameterized depending on the hyperparameters from the “BOHB” step.

In den zwei darauffolgenden optionalen Schritten „Auswahl Lernratenplaner“ (engl. „Learning Rate Scheduler Selection“) und „Metrik“ (engl. „Metric“) kann abhängig von jeweils einem der Hyperparametern ein Verfahren zum Einstellen einer Lernrate und eine Metrik ausgewählt werden. Die Metrik ist eingerichtet, abhängig von der Architektur des künstlichen neuronalen Netzes zu ermitteln, in wie weit diese Architektur für den jeweiligen Datensatz geeignet ist. Alternativ ist das Verfahren zum Einstellen der Lernrate und die Metrik vorgegeben.In the two subsequent optional steps “Learning Rate Scheduler Selection” and “Metric”, a method for setting a learning rate and a metric can be selected depending on one of the hyperparameters. The metric is set up to determine, depending on the architecture of the artificial neural network, to what extent this architecture is suitable for the respective data set. Alternatively, the method for setting the learning rate and the metric are specified.

Im darauffolgenden optionalen Schritt „Auswahl Verlustmodul“ (engl. „Loss Module Selection“) kann abhängig von einem der Hyperparametern eine Kostenfunktion, zum Beispiel eine Kreuzentropie (engl. cross entropy) oder eine gewichtete Kreuzentropie (engl. weighted cross entropy) ausgewählt werden. Für den Fall dass eine gewichtete Kreuzentropie ausgewählt wird, kann in diesem Schritt festgelegt werden, wie stark die einzelnen Kostenfunktionen der Datensätze gewichtet werden.In the subsequent optional step "Loss Module Selection", a cost function, for example a cross entropy or a weighted cross entropy, can be selected depending on one of the hyperparameters. In the event that a weighted cross entropy is selected, this step can be used to determine how strongly the individual cost functions of the data sets are weighted.

Im nachfolgenden Schritt „Erzeugen Datensatzleser“ (engl. „Create Dataset Loader“) werden zufälligerweise Stapel (engl. batch) von Trainingsdaten aus dem jeweiligen „Trainingsdatensatz“ ausgewählt. Eine Größe des Stapels kann abhängig von einem der Hyperparametern ausgewählt werden.In the following step, “Create Dataset Loader”, batches of training data are randomly selected from the respective “training data set”. A size of the stack can be selected depending on one of the hyperparameters.

Im darauffolgenden Schritt „Trainieren“ (engl. „Training“) wird das künstliche neuronale Netz abhängig von den Stapeln von Trainingsdaten mittels des Trainingsverfahrens angelernt.In the next step, "Training", the artificial neural network is learned using the training method, depending on the stacks of training data.

Dann werden, zum Beispiel eine vorgebbare Anzahl von Epochen von Trainingsschritten in dem Schritt „Trainieren“ (engl. „Training“) ausgeführt oder wenn zum Beispiel ein vorgebbares Zeitbudget aufgebraucht wurde, wird der Schritt „Training“ beendet. Daraufhin kann entweder der Schritt „Mehrere Datensätze“ (engl. „Multiple Datasets“) oder der Schritt „BOHB“ wiederholt ausgeführt werden.Then, for example, a predeterminable number of epochs of training steps are carried out in the “training” step, or if, for example, a predeterminable time budget has been used up, the “training” step is ended. Then either the “Multiple Datasets” step or the “BOHB” step can be carried out repeatedly.

Wird nach dem Beenden des Schrittes „Training“ der Schritt „BOHB“ ausgeführt, wird über die Hyperparameter mit BOHB optimiert. Daraufhin werden dann die oben beschriebenen Schritte beginnend bei dem Schritt „Mehrere Datensätze“ (engl. „Multiple Datasets“) bis zu dem Schritt „Trainieren“ (engl. „Training“) ausgeführt.If the “BOHB” step is carried out after the “Training” step has been completed, BOHB is used to optimize the hyperparameters. The steps described above are then carried out starting with the “Multiple Datasets” step up to the “Training” step.

Wird nach dem Beenden des Schrittes „Trainieren“ (engl. „Training“) der Schritt „Mehrere Datensätze“ (engl. „Multiple Datasets“) ausgeführt, dann die oben beschriebenen Schritte beginnend bei dem Schritt „Mehrere Datensätze“ (engl. „Multiple Datasets“) bis zu dem Schritt „Trainieren“ (engl. „Training“) ausgeführt.If the “Multiple Datasets” step is executed after the “Training” step has been completed, then the steps described above starting with the “Multiple Datasets” step are performed Datasets ”) up to the“ Training ”step.

In einer weiteren Ausführungsform dieses Verfahrens, wird das künstliche neuronale Netz angelernt, um abhängig von Eingangsgrößen, insbesondere Bilder oder Videos, diese Eingangsgrößen zu klassifizieren oder zu segmentieren oder ein Objekt in den Eingangsgrößen zu erkennen.In a further embodiment of this method, the artificial neural network is trained in order to classify or segment these input variables or to recognize an object in the input variables as a function of input variables, in particular images or videos.

In einer weiteren Ausführungsform dieses Verfahrens kann das erstellte künstliche neuronale Netz für ein technisches System, wie zum Beispiel einem zumindest teilautonomen Roboter, verwendet werden. Das künstliche neuronale Netz kann dann abhängig von einer Eingangsgröße, wie zum Beispiel einem Bild oder einem Video eine Ausgangsgröße ermitteln. Abhängig von der ermittelten Ausgangsgröße kann dann ein Aktor des zumindest teil autonomen Systems angesteuert werden.In a further embodiment of this method, the created artificial neural network can be used for a technical system, such as an at least partially autonomous robot. The artificial neural network can then determine an output variable as a function of an input variable, such as an image or a video, for example. An actuator of the at least partially autonomous system can then be activated as a function of the determined output variable.

In einer weiteren Ausführungsform des Verfahrens kann das erstellte künstliche neuronale Netz für eine Bildklassifikation und/oder Segment Sohn und/oder eine Objekterkennung in Bildern verwendet werden.In a further embodiment of the method, the created artificial neural network can be used for an image classification and / or segment son and / or an object recognition in images.

2 zeigt eine schematische Darstellung einer Vorrichtung (20) zum Erstellen des künstlichen neuronalen Netzes (20). Die Vorrichtung (20) optimiert abhängig von ermittelten Ausgangsgrößen des künstlichen neuronalen Netzes (20) die Parameter des künstlichen neuronalen Netzes (20). Die Trainingsdaten können eine Mehrzahl von erfassten Bildern, oder Tonsequenzen, Textausschnitte, Radar-, Lidar- oder Ultraschall-signale, die jeweils gelabelt sind, umfassen. Beim Anlernen werden die Parameter des künstlichen neuronalen Netzes (20), die in einem Speicher (23) hinterlegt sind, angepasst. Die Vorrichtung (20) kann eine Recheneinheit (24) und einen Speicher (25) umfassen, auf welchem Befehle hinterlegt sind, die beim Ausführen auf der Recheneinheit 24, diese veranlassen, das Verfahren (10) nach 1 auszuführen. 2 shows a schematic representation of a device ( 20th ) to create the artificial neural network ( 20th ). The device ( 20th ) optimized depending on the determined output variables of the artificial neural network ( 20th ) the parameters of the artificial neural network ( 20th ). The training data can include a plurality of captured images or sound sequences, text excerpts, radar, lidar or ultrasonic signals, each of which is labeled. The parameters of the artificial neural network ( 20th ) stored in a memory ( 23 ) are stored. The device ( 20th ) an arithmetic unit ( 24 ) and a memory ( 25th ) Include on which commands are stored, which when executed on the processing unit 24 to initiate the procedure ( 10 ) to 1 to execute.

Claims (10)

Verfahren (10) zum Erstellen eines künstlichen neuronalen Netzes, umfassend folgende Schritte: Bereitstellen einer Mehrzahl von paarweise unterschiedlichen Datensätzen; Initialisieren einer Mehrzahl von Hyperparametern, wobei erste Hyperparameter eine Architektur des künstlichen neuronalen Netzes charakterisieren und zweite Hyperparameter ein Trainingsverfahren, insbesondere ein Gradientenabstiegsverfahren des Trainingsverfahrens, parametrisieren, Anlernen des künstlichen neuronalen Netzes abhängig von ersten Trainingsdaten mit dem Trainingsverfahren unter Verwendung der initialisierten Hyperparameter, wobei die ersten Trainingsdaten eine erste vorgebbare Menge von Trainingsdaten jeweils aus zumindest zwei der Mehrzahl der unterschiedlichen Datensätze umfassen, wobei die Architektur des künstlichen neuronalen Netzes basierend auf den ersten Hyperparametern erstellt ist und das Trainingsverfahren mit den initialisierten zweiten Hyperparametern parametrisiert ist; Auswerten des angelernten künstlichen neuronalen Netzes auf zweiten Trainingsdaten, insbesondere einem Validierungsdatensatz, umfassend eine zweite vorgebbare Menge von Trainingsdaten jeweils aus zumindest zwei der Mehrzahl der unterschiedlichen Datensätze; Optimieren der Hyperparameter abhängig von der Auswertung hinsichtlich einer Performance des künstlichen neuronalen Netzes auf den ersten und/oder zweiten Trainingsdaten; und Erneutes Anlernen des künstlichen neuronalen Netzes unter Verwendung der optimierten Hyperparameter. A method (10) for creating an artificial neural network, comprising the following steps: providing a plurality of data sets which differ in pairs; Initializing a plurality of hyperparameters, first hyperparameters characterizing an architecture of the artificial neural network and second hyperparameters parameterizing a training method, in particular a gradient descent method of the training method, learning of the artificial neural network depending on first training data with the training method using the initialized hyperparameters, the first training data comprise a first predeterminable set of training data each from at least two of the plurality of different data sets, the architecture of the artificial neural network being created based on the first hyperparameters and the training method being parameterized with the initialized second hyperparameters; Evaluation of the learned artificial neural network on second training data, in particular a validation data set, comprising a second predeterminable set of training data each from at least two of the plurality of different data sets; Optimizing the hyperparameters depending on the evaluation with regard to a performance of the artificial neural network on the first and / or second training data; and relearning the artificial neural network using the optimized hyperparameters. Verfahren nach Anspruch 1, wobei eine Abfolge der Schritte des erneuten Anlernens gefolgt von dem Schritt des Auswertens und dem Schritt des Optimierens der Hyperparameter mehrmals wiederholt nacheinander ausgeführt werden, wobei bei einem wiederholten Ausführen des Schrittes des erneuten Anlernens abhängig von einer Anzahl der Wiederholungen eine Anzahl von unterschiedlichen Datensätze ausgewählt wird, aus welchen die ersten Trainingsdaten jeweils die erste vorgebbare Menge von Trainingsdaten umfassen.Procedure according to Claim 1 , wherein a sequence of the steps of relearning followed by the step of evaluating and the step of optimizing the hyperparameters are repeatedly carried out several times in succession, with a number of different data records being selected when the step of relearning is carried out repeatedly depending on a number of repetitions from which the first training data each comprise the first predeterminable set of training data. Verfahren nach Anspruch 2, wobei eine Reihenfolge der ausgewählten Datensätze der Mehrzahl der unterschiedlichen Datensätze zufällig neu für jede Wiederholung der Abfolge der Schritte gewählt wird.Procedure according to Claim 2 wherein an order of the selected data sets of the plurality of different data sets is randomly selected anew for each repetition of the sequence of steps. Verfahren nach einem der vorhergehenden Ansprüche, wobei weitere künstliche neuronale Netze abhängig von jeweils einem ihnen zugeordneten der unterschiedlichen Datensätze angelernt werden, wobei die weiteren künstlichen neuronalen Netze auf dem für das jeweilige künstliche neuronale Netz zum Anlernen zugeordneten Datensatz ausgewertet werden, wobei die Auswertung des künstlichen neuronalen Netzes mit den Auswertungen der weiteren künstlichen neuronalen Netze verglichen wird, wobei dann, wenn die Auswertung des künstlichen neuronalen Netzes zu der Auswertung das weitere künstliche neuronale Netz für die Mehrzahl der unterschiedlichen Datensätze eine im Wesentlichen gleiche Abweichung aufweist, das Verfahren zum Erstellen des künstlichen neuronalen Netzes beendet wird.Method according to one of the preceding claims, wherein further artificial neural networks are learned depending on one of the different data sets assigned to them, the further artificial neural networks being evaluated on the data record assigned to the respective artificial neural network for training, the evaluation of the artificial neural network being compared with the evaluations of the other artificial neural networks, when the evaluation of the artificial neural network for the evaluation of the further artificial neural network has an essentially equal deviation for the majority of the different data sets, the method for creating the artificial neural network is terminated. Verfahren nach einem der vorhergehenden Ansprüche 2 bis 4, wobei beim Wiederhohlen der Abfolge der Schritte jeweils beim erneuten Anlernen des künstlichen neuronalen Netzes die Parameter einer Eingangsschicht bis zur einer vorletzten Schicht des künstlichen neuronalen Netzes des, insbesondere unmittelbar, vorhergehenden ausgeführten Schrittes des erneuten Anlernens als initiale Parametrisierung des künstlichen neuronalen Netzes verwendet werden.Method according to one of the preceding Claims 2 to 4th , the parameters of an input layer up to a penultimate layer of the artificial neural network of the, in particular immediately, preceding step of the re-learning are used as the initial parameterization of the artificial neural network when repeating the sequence of steps each time the artificial neural network is re-trained. Verfahren nach einem der vorhergehenden Ansprüche, wobei einer der Hyperparameter eine Anzahl der Hyperparameter charakterisiert, wobei nach dem Optimieren der Hyperparameter abhängig von diesem Hyperparameter, der die Anzahl der Hyperparameter charakterisiert, die Anzahl der Hyperparameter reduziert wird, insbesondere werden die nicht mehr verwendeten Hyperparameter konstant gehalten.Method according to one of the preceding claims, wherein one of the hyperparameters characterizes a number of the hyperparameters, the number of hyperparameters being reduced after the optimization of the hyperparameters depending on this hyperparameter that characterizes the number of hyperparameters, in particular the hyperparameters that are no longer used become constant held. Verfahren nach einem der vorhergehenden Ansprüchen 2 bis 6, wobei dann, wenn die Mehrzahl der unterschiedlichen Datensätze gemäß einem Maß für eine Ähnlichkeit zwischen den unterschiedlichen Datensätzen größer als ein vorgebbarerer Schwellwert, der eine hohe Ähnlichkeit charakterisiert, ist, die Anzahl der Wiederholungen der Abfolge der Schritte um einen vorgebbaren Faktor abhängig von der Ähnlichkeit reduziert wird.Method according to one of the preceding Claims 2 to 6th If the plurality of different data sets is greater than a predeterminable threshold value, which characterizes a high level of similarity, according to a measure for a similarity between the different data sets, the number of repetitions of the sequence of steps by a predeterminable factor depends on the similarity is reduced. Computerprogramm, umfassend Befehle, die beim Ausführen des Computerprogramms durch einen Computer diesen veranlassen, das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.Computer program, comprising instructions which, when the computer program is executed by a computer, cause the computer to execute the method according to one of the preceding claims. Maschinenlesbares Speicherelement, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.Machine-readable storage element on which the computer program is based Claim 8 is stored. Vorrichtung, die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.Device that is set up, the method according to one of the Claims 1 to 7th to execute.
DE102019214625.2A 2019-09-25 2019-09-25 Method, device and computer program for creating an artificial neural network Pending DE102019214625A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019214625.2A DE102019214625A1 (en) 2019-09-25 2019-09-25 Method, device and computer program for creating an artificial neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019214625.2A DE102019214625A1 (en) 2019-09-25 2019-09-25 Method, device and computer program for creating an artificial neural network

Publications (1)

Publication Number Publication Date
DE102019214625A1 true DE102019214625A1 (en) 2021-03-25

Family

ID=74846095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019214625.2A Pending DE102019214625A1 (en) 2019-09-25 2019-09-25 Method, device and computer program for creating an artificial neural network

Country Status (1)

Country Link
DE (1) DE102019214625A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202021103700U1 (en) 2021-07-09 2021-07-28 Albert-Ludwigs-Universität Freiburg, Körperschaft des öffentlichen Rechts Device for generating an artificial neural network
DE102021207275A1 (en) 2021-07-09 2023-01-12 Robert Bosch Gesellschaft mit beschränkter Haftung Method for creating an artificial neural network
DE102022207072A1 (en) 2022-07-11 2024-01-11 Robert Bosch Gesellschaft mit beschränkter Haftung Method for determining an optimal architecture of an artificial neural network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202021103700U1 (en) 2021-07-09 2021-07-28 Albert-Ludwigs-Universität Freiburg, Körperschaft des öffentlichen Rechts Device for generating an artificial neural network
DE102021207275A1 (en) 2021-07-09 2023-01-12 Robert Bosch Gesellschaft mit beschränkter Haftung Method for creating an artificial neural network
DE102022207072A1 (en) 2022-07-11 2024-01-11 Robert Bosch Gesellschaft mit beschränkter Haftung Method for determining an optimal architecture of an artificial neural network

Similar Documents

Publication Publication Date Title
DE102019214625A1 (en) Method, device and computer program for creating an artificial neural network
EP3853778B1 (en) Method and device for operating a control system
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
DE202019105304U1 (en) Device for creating an artificial neural network
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
DE202020104238U1 (en) Device for learning a strategy and operating the strategy
DE102020208828A1 (en) Method and device for creating a machine learning system
WO2020064209A1 (en) Machine learning system and a method, a computer program and a device for creating the machine learning system
EP3467722A1 (en) Configuration of a motor vehicle driver assisting device using a neural network in ongoing operation
DE112022003696T5 (en) METHODS AND SYSTEMS FOR GENERATING MODELS FOR IMAGE ANALYSIS PIPELINE PREDICTION
DE102020212108A1 (en) Method and device for training a machine learning system
DE202020104005U1 (en) Device for creating a system for the automated creation of machine learning systems
DE202019103046U1 (en) Device for predicting a learning curve
DE102019207911A1 (en) Method, device and computer program for predicting a learning curve
DE202019105256U1 (en) Device for creating a machine learning system
DE102020213527A1 (en) Method for optimizing a strategy for a robot
DE202019103233U1 (en) Device for setting a hyperparameter
DE202021100225U1 (en) Improved device for teaching machine learning systems for image processing
DE102021200439A1 (en) Improved training of machine learning systems for image processing
DE102021125306A1 (en) Method and device for providing a precise and robust neural network
DE202020105509U1 (en) Device for teaching a machine learning system
EP3956820B1 (en) Method, device and computer program for creating a neuronal network
DE202020104727U1 (en) Device for transfer learning between modified tasks
EP4356305A1 (en) Method for transferring network behavior of a trained starting network to a target network without using an original data set

Legal Events

Date Code Title Description
R163 Identified publications notified