WO2020178009A1 - Training neuronaler netzwerke für effizientes implementieren auf hardware - Google Patents

Training neuronaler netzwerke für effizientes implementieren auf hardware Download PDF

Info

Publication number
WO2020178009A1
WO2020178009A1 PCT/EP2020/054054 EP2020054054W WO2020178009A1 WO 2020178009 A1 WO2020178009 A1 WO 2020178009A1 EP 2020054054 W EP2020054054 W EP 2020054054W WO 2020178009 A1 WO2020178009 A1 WO 2020178009A1
Authority
WO
WIPO (PCT)
Prior art keywords
neurons
ann
training
quality
contributions
Prior art date
Application number
PCT/EP2020/054054
Other languages
English (en)
French (fr)
Inventor
Falk Heuer
Philip Lenz
Alexander Lengsfeld
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to US17/429,094 priority Critical patent/US20220101088A1/en
Priority to CN202080017830.9A priority patent/CN113454655A/zh
Priority to EP20705699.5A priority patent/EP3931760A1/de
Publication of WO2020178009A1 publication Critical patent/WO2020178009A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Definitions

  • the present invention relates to the training of neural networks with the aim of being able to implement these neural networks efficiently on hardware, for example for use on board vehicles.
  • An artificial neural network comprises an input layer, several processing layers and an output layer. Input variables are read into the ANN at the input layer and on their way through the processing layers to the output layer using a
  • Processing chain processed which is usually parameterized.
  • those values are determined for the parameters of the processing chain with which the processing chain can obtain a set of learning values for the
  • Input variables optimally based on an associated set of learning values for the
  • KNN The strength of KNN lies in the fact that they can process very high-dimensional data, such as high-resolution images, massively in parallel.
  • the price for this parallel processing is a high hardware expenditure for the implementation of an ANN.
  • Graphics processors GPUs with a large amount of memory are typically required.
  • US Pat. No. 5,636,326 A discloses the weights of connections between neurons in the fully trained ANN in a reading process (“pruning ”) to undergo. This allows the number of Connections and neurons are greatly reduced without much loss of accuracy.
  • ANN artificial neural network
  • Network architecture and / or the neurons in one or more layers of the ANN are optimally used and / or fully utilized.
  • the exact definition of "efficient" results from the specific application in which the ANN is used.
  • a measure of the quality that the ANN and / or a sub-area of the ANN has achieved overall within a previous period is determined at any point in time during the training, which otherwise takes place in any known manner.
  • the quality can include, for example, training progress, utilization of the neurons of a layer or another sub-area of the ANN, utilization of the neurons of the ANN as a whole, as well as any, for example weighted, combinations thereof.
  • the exact definition of “quality” thus also results from the specific application.
  • the measure for the quality for example, a measure for the
  • Training progress of the ANN a measure of the utilization of the neurons of a layer or of another sub-area of the ANN, and / or a measure of the utilization of the neurons of the ANN as a whole.
  • One or more neurons are evaluated on the basis of a measure for their respective quantitative contributions to the determined quality. Measures with which the evaluated neurons are trained in the further course of the training, and / or positions of these neurons in the ANN are based on determined by the ratings of the neurons. These measures can then be carried out in further training.
  • Neurons in the ANN can also continue to apply for the inference phase, i.e. for the later effective operation of the ANN after training.
  • the measure for the quality can be evaluated as a weighted or unweighted sum of quantitative contributions from individual neurons.
  • connections between these neurons can, for example, lead to an optimization goal for training the ANN. Should it become apparent during training that, despite the explicit request, certain neurons or connections between neurons are not optimally utilized, these neurons or connections can be deactivated during training. This has various advantages over a subsequent “pruning” after completing the training.
  • the restriction to the actually relevant neurons and connections is in turn important for the efficient implementation of the fully trained ANN on hardware.
  • the specification with regard to the available hardware is often already established before training of the ANN is started.
  • the finished ANN is then limited in its size and complexity to these given hardware resources. At the same time, it must be used for inference, i.e. when evaluating input variables in
  • the deactivation of neurons or connections basically represents an intervention in the ANN. By this intervention during the ongoing
  • Training process takes place, the training process can react to the intervention.
  • Side effects of the intervention such as overfitting on the training data, poor generalization of the ANN to unknown situations or an increased susceptibility to manipulation of the inference by presenting an "adverse example", can be significantly reduced.
  • random deactivation of a certain percentage of neurons during training (“random dropout”), this does not mean that a proportion of the learned information corresponding to this percentage remains unused. The reason for this is that the deactivation of the neurons or connections is motivated from the outset by the lack of relevance of the neurons or connections in question for the quality.
  • the previous period advantageously comprises at least one epoch of the training, i.e. a period in which each of the available learning data sets, each comprising learning values for the input variables and associated learning values for the output variables, was used once.
  • the determined quantitative contributions of the neurons to quality can then be better compared. It is quite possible that certain neurons of the ANN are “specialized” in a good treatment of certain situations occurring in the input variables, i.e. that these situations are particularly “suited” to these neurons. If a period is considered in which predominantly this
  • Consideration of at least one epoch corresponds to a fairer examination with a wide range of questions from the entire spectrum of the examination material.
  • a change in a cost function (loess function), the optimization of which the training of the ANN is aimed at, is included in the measure of quality over the past period. This ensures that the actions taken in response to the evaluation of the neurons do not conflict with the ultimate goal of training the ANN.
  • the quantitative contributions that a layer k of the ANN has made to the quality of the ANN in this period can be cumulated and / or aggregated become.
  • it can also have a
  • M contains the corresponding quality of all individual neurons in layer k and depends on the journal t.
  • L is the cost function (loess function).
  • AL tn is the difference in the cost function between the time step tn and the journal t.
  • the effects of iteration steps that were different in time are normalized by the decay parameter g.
  • the dropout tensor indicates for each layer k of the ANN and for each iteration step tn which neurons of the layer k were active or not in the iteration step tn. thus serves to take into account a possible temporary deactivation of individual neurons for individual iteration steps (dropout). It is not mandatory that a dropout be used when training the ANN.
  • M Be vectors or matrices.
  • the described "activation quality" can alternatively also be used as a function of the signals and weights express for all neurons of layer k.
  • the signals are in the broadest sense activations of neurons, such as with weights weighted sums of inputs corresponding to the respective
  • Neurons are fed. can then be used, for example .write as
  • x t denotes the inputs that are fed to the KN N as a whole.
  • the weights assigned to neurons in the ANN are changed by certain amounts in accordance with the cost function and the training strategy used (such as, for example, Stochastic Gradient Descent, SGD). In a further particularly advantageous embodiment, these amounts are reinforced with a multiplicative factor that is used for
  • Neurons with higher quantitative contributions to quality is lower than for neurons with lower quantitative contributions to quality.
  • Neurons with a currently lower performance are therefore subjected to stronger learning steps with the aim of actively improving performance, analogous to
  • neurons are temporarily deactivated during training with a probability which is higher for neurons with higher quantitative contributions to quality than for neurons with lower quantitative contributions to quality.
  • This measure also serves the targeted promotion of neurons whose quantitative contributions to quality are currently low.
  • the temporary deactivation of the powerful neurons in particular forces the ANN to also involve the weaker neurons in the formation of the ultimate output variables. Accordingly, these weaker neurons also receive more feedback from the comparison of the output variables with the “ground truth” in the form of the learning values for the output variables. As a result, their performance tends to improve.
  • the situation can be compared to teaching in a class with a heterogeneous performance level. If the teacher's questions only go to the strong students, the weaker students do not learn, so that the gap between the strong and the weaker students is cemented or even widened.
  • this measure also makes the ANN more robust against failures of the powerful neurons, because precisely such situations are practiced by the ANN through the temporary deactivation.
  • neurons with higher quantitative contributions to quality are assigned higher values in the ANN than neurons with lower quantitative contributions to quality.
  • the significance can manifest itself, for example, in the weight with which outputs from the relevant neurons are taken into account or whether the neurons are activated at all.
  • This embodiment can be used in particular to compress the ANN to the part that is relevant for it.
  • neurons whose quantitative contributions to quality meet a specified criterion can be deactivated in the ANN.
  • the criterion can for example be formulated as an absolute criterion, such as a threshold value.
  • the criterion can also be formulated, for example, as a relative criterion, such as a deviation of the quantitative contributions to quality from the quantitative contributions of other neurons or from a summary statistic thereof.
  • Summary statistics can include, for example, a mean, median, and / or standard deviations.
  • deactivated neurons can be completely saved when implementing the fully trained ANN on hardware.
  • Weight may be zero and how little this is taken into account
  • Neurons whose weights meet a given criterion are deactivated in the ANN. Analogously to the criterion for the quantitative contributions of neurons, the criterion can be formulated absolutely or relatively.
  • the number of neurons activated in the ANN and / or in a sub-area of the ANN is reduced from a first number to a predetermined second number by adding neurons deactivated with the lowest quantitative contributions.
  • the hardware used can dictate the maximum complexity of the ANN.
  • the invention also relates to a method for implementing an ANN on a predetermined arithmetic unit.
  • a model of the ANN is trained in a training environment outside the arithmetic unit using the method described above.
  • activated neurons and connections between neurons are implemented on the arithmetic unit.
  • the specified arithmetic unit can be designed, for example, to be built into a control unit for a vehicle, and / or it can be designed to be supplied with energy from the on-board network of a vehicle.
  • the training environment can be equipped with significantly more resources.
  • a physical or virtual computer with a powerful graphics processor (GPU) can be used. Little to no preliminary thought is required to begin exercising; the model should only have a certain minimum size with which the problem to be solved can probably be represented with sufficient accuracy.
  • the method described above makes it possible to determine within the training environment which neurons and connections between neurons are important. Based on this, the ANN can be compressed for implementation on the arithmetic unit. As described above, this can also be done automatically within the training environment.
  • Arithmetic logic unit which hardware resources for a given number of neurons, layers of neurons and / or connections between neurons , a model of the ANN can be selected whose number of neurons, layers of neurons and / or connections between neurons exceeds the predetermined number.
  • the compression ensures that the trained ANN ultimately fits the specified hardware.
  • the aim here is to ensure that those neurons and connections between neurons that are ultimately implemented on the hardware are also those that are most important for the inference in the operation of the ANN.
  • the invention also relates to another method. With this one
  • an artificial neural network ANN
  • ANN an artificial neural network
  • the ANN is then operated by supplying it with one or more input variables.
  • a vehicle, a robot becomes a
  • Quality control system and / or a system for monitoring an area on the basis of sensor data.
  • an ANN can be selected which is designed as a classifier and / or regressor for physical measurement data recorded with at least one sensor.
  • the sensor can be, for example, an imaging sensor, a radar sensor, a lidar sensor or an ultrasonic sensor.
  • the methods can be implemented entirely or partially in software that brings about the immediate customer benefit that an ANN delivers better results in relation to the hardware expenditure and the energy consumption for the inference in its operation.
  • the invention therefore also relates to a computer program with machine-readable instructions which, when they are on a computer, and / or on a control device, and / or on a Embedded system are executed, cause the computer, the control unit, and / or the embedded system to execute one of the methods described.
  • Control devices and embedded systems can therefore be regarded as computers at least in the sense that their behavior is characterized in whole or in part by a computer program.
  • the term “computer” thus encompasses any device for processing that can be specified
  • Calculation rules can be in the form of software, or in the form of hardware, or also in a mixed form of software and hardware.
  • the invention also relates to a machine-readable one
  • a download product is a product that can be transmitted over a data network, i.e. digital product downloadable by a user of the data network that
  • Such a specific device can be implemented, for example, with field-programmable gate arrangements (FPGAs) and / or application-specific integrated circuits (ASICs).
  • FPGAs field-programmable gate arrangements
  • ASICs application-specific integrated circuits
  • FIG. 1 exemplary embodiment of the method 100 for training an ANN 1
  • FIG. 2 exemplary embodiment of the method 200 for implementing the KNN 1 on an arithmetic unit 4;
  • FIG. 3 Exemplary compression of an ANN 1.
  • FIG. 1 shows an exemplary embodiment of the method 100.
  • the method 100 is embedded in the training of the ANN 1, which takes place in a known manner, which includes the loading of the ANN 1 with learning values for input variables, the comparison of the output variables formed by the ANN 1 with the Includes learning values for the output variables as well as the change in parameters within the ANN in accordance with the cost function.
  • step 110 at any point in time and in any phase of the training process, a measure for the quality 11 that the ANN achieved within a predetermined previous period is determined.
  • a measure for the quality 11 that the ANN achieved within a predetermined previous period is determined.
  • the change in the cost function used in training the ANN 1 can be included in the measure for the quality 11.
  • step 120 several neurons 2 are evaluated using a measure for their respective quantitative contributions 21 to the previously determined quality 11.
  • these contributions 21 can be weighted higher, the shorter the time since the contributions 21 were made.
  • These contributions 21 can for example from the previously described in detail
  • Activation quality] M ⁇ can be determined.
  • values of the activation quality] M ⁇ can be used directly as contributions 21.
  • measures 22 for the further training of the evaluated neurons 2 and / or position values 23 of these evaluated neurons 2 in the ANN 1 are determined in step 130.
  • amounts by which the weights of neurons 2 are changed in at least one training step can, according to block 131, with a multiplicative factor are strengthened, which for stronger quality 11
  • contributing neurons 2 is lower than for weaker contributing neurons 2 to quality 11.
  • neurons 2 can be temporarily deactivated during training, the probability of such a deactivation being higher for neurons 2 with higher quantitative contributions 21 to quality 11 than for neurons 2 with lower quantitative contributions 21 to quality 11.
  • neurons 2 with higher quantitative contributions 21 to quality 11 can be assigned higher values in the KN N 1 than neurons 2 with lower quantitative contributions 21.
  • connections 25 between neurons 2, the weights of which meet a predefined criterion, can also be deactivated.
  • sub-block 133c the number of activated neutrons can be reduced to a predetermined number in a targeted manner by
  • Neurons 2 with the lowest quantitative contributions 21 to quality 11 are deactivated.
  • FIG. 2 shows an exemplary embodiment of the method 200 for implementing the ANN 1 on a predetermined arithmetic unit 4.
  • an arithmetic unit 4 with limited resources with regard to the number of neurons 2, layers 3a, 3b with neurons 2, and / or connections 25 between neurons 2, are preselected.
  • the model la of the ANN can then be selected so that it has a number of neurons 2, layers 3a, 3b or connections 25 that are above the respective limit of the
  • Arithmetic unit 4 is located.
  • an arithmetic unit 4 can be selected which is designed to be installed in a control device for a vehicle and / or to be supplied with energy from the on-board network of a vehicle.
  • the ANN 1 is trained according to the method 100 described above. Upon completion of training 210 activated neurons 2 and
  • Connections 25 between neurons 2 are in step 220 on the
  • Arithmetic unit 4 implemented. As previously described, during exercise 210 compression may be too large an ANN for limited
  • the neurons 2, layers 3a, 3b, or connections 25 can be read out further after the training 210 has been completed.
  • FIG. 3 shows the effect of compression on an exemplary ANN 1.
  • This ANN 1 comprises two layers 3a and 3b each with four neurons 2, the exemplary quantitative contributions 21 of which to the quality 11 of the ANN 1 are indicated overall.
  • each neuron 2 of the first layer 3a is connected to each neuron 2 of the second layer 3b, and all neurons 2 are still active.

Landscapes

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

Abstract

Verfahren (100) zum Trainieren eines künstlichen neuronalen Netzwerks, KNN (1), welches eine Vielzahl von Neuronen (2) umfasst, mit den Schritten: • es wird ein Maß für die Qualität (11), die das KNN (1) innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt (110); • ein oder mehrere Neuronen (2) werden anhand eines Maßes für ihre jeweiligen quantitativen Beiträge (21) zu der ermittelten Qualität (11) bewertet (120); Maßnahmen (22), mit denen die bewerteten Neuronen (2) im weiteren Verlauf des Trainings jeweils trainiert werden, und/oder Stellenwerte (23) dieser Neuronen (2) im KNN (1), werden anhand der Bewertungen (120a) der Neuronen (2) festgelegt (130). Verfahren (200) nach Anspruch 11, wobei ein Rechenwerk (4) gewählt wird (205a), welches Hardwareressourcen für eine vorgegebene Anzahl von Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) aufweist, und wobei ein Modell (1a) des KNN (1) gewählt wird (205b), dessen Anzahl an Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) die vorgegebene Anzahl überschreitet.

Description

Beschreibung
Titel:
Training neuronaler Netzwerke für effizientes Implementieren auf Hardware
Die vorliegende Erfindung betrifft das Training neuronaler Netzwerke mit dem Ziel, diese neuronalen Netzwerke effizient auf Hardware implementieren zu können, beispielsweise für den Einsatz an Bord von Fahrzeugen.
Stand der Technik
Ein künstliches neuronales Netzwerk, KNN, umfasst eine Eingangsschicht, mehrere Verarbeitungsschichten und eine Ausgangsschicht. Eingangsgrößen werden an der Eingangsschicht in das KNN eingelesen und auf ihrem Weg durch die Verarbeitungsschichten zur Ausgangsschicht anhand einer
Verarbeitungskette verarbeitet, die in der Regel parametrisiert ist. Beim Training des KNN werden diejenigen Werte für die Parameter der Verarbeitungskette ermittelt, mit denen die Verarbeitungskette einen Satz Lern-Werte für die
Eingangsgrößen optimal auf einen zugehörigen Satz Lern-Werte für die
Ausgangsgrößen abbildet.
Die Stärke von KNN liegt darin, dass sie sehr hochdimensionale Daten, wie etwa hochauflösende Bilder, massiv parallel verarbeiten können. Der Preis für diese Parallelverarbeitung ist ein hoher Hardwareaufwand für das Implementieren eines KNN. Typischerweise werden Grafikprozessoren (GPUs) mit großer Speicherausstattung benötigt. Basierend auf der Erkenntnis, dass ein großer Teil der Neuronen in einem tiefen KNN wenig oder gar keinen Beitrag zum von dem KNN gelieferten Endergebnis leistet, offenbart die US 5,636,326 A, die Gewichte von Verbindungen zwischen Neuronen in dem fertig trainierten KNN einem Ausleseprozess („pruning“) zu unterziehen. Damit kann die Anzahl der Verbindungen und Neuronen stark reduziert werden ohne großen Verlust an Genauigkeit.
Offenbarung der Erfindung
Im Rahmen der Erfindung wurde ein Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks, KNN, entwickelt. Damit wird das Ziel verfolgt, das KNN effizient auf Hardware implementieren zu können. Unter„effizient“ kann in diesem Zusammenhang beispielsweise verstanden werden, dass das KNN mit einer beschränkten Konfiguration an Hardwareressourcen auskommt. Unter „effizient“ kann aber auch beispielsweise verstanden werden, dass die
Netzwerkarchitektur, und/oder die Neuronen in einer oder mehreren Schichten des KNN, optimal genutzt und/oder ausgelastet werden. Die genaue Definition von„effizient“ ergibt sich somit aus der konkreten Anwendung, in der das KNN eingesetzt wird.
Bei dem Verfahren wird zu einem beliebigen Zeitpunkt während des ansonsten in beliebiger bekannter Weise ablaufenden Trainings ein Maß für die Qualität, die das KNN, und/oder ein Teilbereich des KNN, innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt. Die Qualität kann beispielsweise einen Trainingsfortschritt, eine Auslastung der Neuronen einer Schicht oder eines anderen Teilbereichs des KNN, eine Auslastung der Neuronen des KNN insgesamt, sowie auch beliebige, beispielsweise gewichtete, Kombinationen hieraus umfassen. Die genaue Definition von„Qualität“ ergibt sich somit ebenfalls aus der konkreten Anwendung.
Somit kann das Maß für die Qualität beispielsweise ein Maß für den
Trainingsfortschritt des KNN, ein Maß für die Auslastung der Neuronen einer Schicht oder eines anderen Teilbereichs des KNN, und/oder ein Maß für die Auslastung der Neuronen des KNN insgesamt, umfassen.
Es werden ein oder mehrere Neuronen anhand eines Maßes für ihre jeweiligen quantitativen Beiträge zu der ermittelten Qualität bewertet. Maßnahmen, mit denen die bewerteten Neuronen im weiteren Verlauf des Trainings jeweils trainiert werden, und/oder Stellenwerte dieser Neuronen im KNN werden anhand der Bewertungen der Neuronen festgelegt. Diese Maßnahmen können dann im weiteren Training ausgeführt werden. Die festgelegten Stellenwerte der
Neuronen im KNN können auch für die Inferenzphase, also für den späteren Wirkbetrieb des KNN nach dem Training, fortgelten.
Insbesondere kann beispielsweise das Maß für die Qualität als gewichtete oder ungewichtete Summe quantitativer Beiträge einzelner Neuronen gewertet werden.
Es wurde erkannt, dass auf diese Weise bereits während des Trainings der Wunsch berücksichtigt werden kann, die Neuronen des KNN sowie die
Verbindungen zwischen diesen Neuronen optimal auszulasten. Dieser Wunsch kann beispielsweise in ein Optimierungsziel für das Training des KNN münden. Sollte sich während des Trainings heraussteilen, dass trotz des expliziten Wunsches bestimmte Neuronen oder Verbindungen zwischen Neuronen nicht optimal ausgelastet sind, so können diese Neuronen bzw. Verbindungen bereits während des Trainings deaktiviert werden. Dies hat verschiedene Vorteile gegenüber einem nachträglichen„pruning“ nach Abschluss des Trainings.
Sollte sich bereits zu einem frühen Zeitpunkt während des Trainings
heraussteilen, dass bestimmte Neuronen oder Verbindungen zwischen Neuronen weniger relevant sind, so können diese Neuronen bzw. Verbindungen frühzeitig deaktiviert werden. Ab diesem Zeitpunkt fällt während des Trainings für diese Neuronen bzw. Verbindungen kein weiterer Rechenaufwand an. Es wurde erkannt, dass für jedes endgültige Deaktivieren oder Entfernen eines Neurons oder einer Verbindung ein Preis zu zahlen ist in Form des bereits in das Training dieses Neurons bzw. der Verbindung investierten Rechenaufwands. Ab dem Deaktivieren bzw. Entfernen werden die in diesem Neuron, bzw. in dieser Verbindung, verkörperten Erkenntnisse aus dem Training nicht mehr genutzt, d.h., der bereits investierte Aufwand wird verworfen. Der Betrag dieses Aufwands wird vorteilhaft vermindert, analog zur Praxis in der akademischen oder beruflichen Ausbildung, für das Fach ungeeignete Kandidaten möglichst frühzeitig auszusieben. Das gewünschte Endergebnis, nämlich ein fertig trainiertes und zugleich auf die tatsächlich relevanten Neuronen und Verbindungen beschränktes KNN, kann also vergleichsweise schnell erhalten werden.
Die Beschränkung auf die tatsächlich relevanten Neuronen und Verbindungen ist wiederum wichtig für das effiziente Implementieren des fertig trainierten KNN auf Hardware. Insbesondere bei der Nutzung von KN Ns in Steuergeräten für Fahrzeuge, beispielsweise für Fahrassistenzsysteme oder Systeme für das zumindest teilweise automatisierte Fahren, ist die Spezifikation hinsichtlich der zur Verfügung stehenden Hardware häufig bereits festgeschrieben, bevor mit dem Training des KNN begonnen wird. Das fertige KNN ist dann in seiner Größe und Komplexität auf diese gegebenen Hardwareressourcen beschränkt. Zugleich muss es bei der Inferenz, also beim Auswerten von Eingangsgrößen im
Wirkbetrieb, mit diesen Hardwareressourcen auskommen, um in der für die jeweilige Anwendung vorgegebenen Antwortzeit die gefragten Ausgangsgrößen zu liefern. Jedes deaktivierte Neuron und jede deaktivierte Verbindung spart bei jeder weiteren Inferenz Rechenaufwand und somit Antwortzeit ein.
Das Deaktivieren von Neuronen oder Verbindungen stellt grundsätzlich einen Eingriff in das KNN dar. Indem dieser Eingriff während des laufenden
Trainingsprozesses erfolgt, kann der Trainingsprozess auf den Eingriff reagieren. Nebenwirkungen des Eingriffs, wie etwa Overfitting auf die Trainingsdaten, eine schlechtere Generalisierung des KNN auf unbekannte Situationen oder eine erhöhte Anfälligkeit für eine Manipulation der Inferenz durch das Vorlegen eines „Adversarial Examples“, können so deutlich vermindert werden. Dies geht, anders als beispielsweise bei der zufälligen Deaktivierung eines bestimmten Prozentsatzes der Neuronen während des Trainings („zufälliger Dropout“), nicht damit einher, dass permanent ein diesem Prozentsatz entsprechender Anteil der gelernten Information ungenutzt bleibt. Ursache hierfür ist, dass das Deaktivieren der Neuronen bzw. Verbindungen von vornherein durch die fehlende Relevanz der fraglichen Neuronen bzw. Verbindungen für die Qualität motiviert ist.
Schließlich wird der Kreis der möglichen Maßnahmen, die in Antwort auf einen geringen quantitativen Beitrag bestimmter Neuronen zur Qualität ergriffen werden können, über das bloße Deaktivieren dieser Neuronen hinaus erweitert. So kann beispielsweise das weitere Training gezielt auf derartige„schwache“ Neuronen fokussiert werden, damit diese eventuell doch noch einen produktiven Beitrag zur Qualität leisten können. Dies ist vergleichbar damit, dass in der Schulausbildung bei Problemen in einem bestimmten Fach meistens Nachhilfe als erste Maßnahme angewendet wird, statt sofort die Begabung des Schülers für dieses Fach zu verneinen.
Der zurückliegende Zeitraum umfasst vorteilhaft mindestens eine Epoche des Trainings, d.h., einen Zeitraum, in dem jeder der verfügbaren Lern- Datensätze, die jeweils Lern-Werte für die Eingangsgrößen und zugehörige Lern-Werte für die Ausgangsgrößen umfassen, einmal verwendet wurde. Die ermittelten quantitativen Beiträge der Neuronen zur Qualität sind dann besser vergleichbar. So ist es durchaus möglich, dass bestimmte Neuronen des KNN auf eine gute Behandlung bestimmter in den Eingangsgrößen vorkommender Situationen „spezialisiert“ sind, d.h., dass diese Situationen diesen Neuronen besonders „liegen“. Wenn ein Zeitraum betrachtet wird, in dem überwiegend diese
Situationen Vorkommen, wird die Leistung dieser Neuronen höher bewertet als sie in Wahrheit ist, denn in anderen Situationen kann die Leistung anderer Neuronen deutlich besser sein. Im Analogon der akademischen Ausbildung entspricht dies einer Prüfung, für die sich der Kandidat selektiv auf ein
bestimmtes Teilgebiet des Prüfungsstoffs vorbereitet hat und„Glück hat“, dass selektiv genau dieses Teilgebiet abgefragt wird. Die Bewertung benachteiligt dann die anderen Kandidaten, deren Wissen weniger tief ins Detail geht, aber das ganze Spektrum des Prüfungsstoffs deutlich besser abdeckt. Die
Berücksichtigung mindestens einer Epoche entspricht einer gerechteren Prüfung mit breit gestreuten Fragen aus dem kompletten Spektrum des Prüfungsstoffs.
In einer besonders vorteilhaften Ausgestaltung geht eine Änderung einer Kostenfunktion (Löss- Funktion), auf deren Optimierung das Training des KNN ausgerichtet ist, über den zurückliegenden Zeitraum in das Maß für die Qualität ein. Dies stellt sicher, dass die Maßnahmen, die in Antwort auf die Bewertung der Neuronen ergriffen werden, nicht im Widerspruch zu dem Ziel stehen, das mit dem Training des KNN letztendlich verfolgt wird.
In einer weiteren besonders vorteilhaften Ausgestaltung werden quantitative Beiträge von Neuronen zu der Qualität umso höher gewichtet, je kürzer die Erbringung dieser Beiträge zeitlich zurückliegt. Auf diese Weise kann
berücksichtigt werden, dass von dem KNN gelerntes Wissen, wie jedes andere Wissen auch, veralten kann, so dass neues Wissen an seine Stelle treten muss.
Wird beispielsweise ausgehend von einem aktuellen Iterationsschritt t ein Zeitraum betrachtet, der N Iterationsschritte zurückreicht, so können die quantitativen Beiträge, die eine Schicht k des KNN in diesem Zeitraum zur Qualität, etwa einem Iterationsfortschritt, des KNN insgesamt geleistet hat, kumuliert und/oder aggregiert werden. Dabei kann insbesondere auch über einen
Dropout-Tensor
Figure imgf000008_0001
berücksichtigt werden, welche Neuronen in der Schickt k in einem gegebenen Iterationsschritt t-n überhaupt aktiv waren. Beispielsweise lassen sich für eine vollvernetzte Schicht k des KNN die Beiträge der jeweils aktiven Neuronen zur Qualität über alle zurückliegenden N Iterationsschritte in einer„Aktivierungsgüte“
Figure imgf000008_0002
zusammenfassen, die sich beispielsweise schreiben lässt als
Figure imgf000008_0003
M, enthält die entsprechende Güte aller einzelnen Neuronen in der Schicht k und hängt vom Zeitschrift t ab.
Hierin ist L die Kostenfunktion (Löss- Funktion). Dementsprechend ist ALt-n die Differenz der Kostenfunktion zwischen dem Zeitschritt t-n und dem Zeitschrift t. Durch den Verfallsparameter g werden die Wirkungen zeitlich verschieden lang zurückliegender Iterationsschritte normiert. Der Dropout-Tensor
Figure imgf000008_0004
gibt für jede Schicht k des KNN und für jeden Iterationsschritt t-n an, welche Neuronen der Schicht k im Iterationsschritt t-n jeweils aktiv waren oder nicht.
Figure imgf000008_0005
dient also dazu, eine eventuelle vorübergehende Deaktivierung einzelner Neuronen für einzelne Iterationsschritte (Dropout) zu berücksichtigen. Es ist nicht zwingend, dass beim Training des KNN ein Dropout verwendet wird. Je nach Art der Schicht k können ]M^
Figure imgf000009_0001
Vektoren oder Matrizen sein.
Die beschriebene„Aktivierungsgüte“
Figure imgf000009_0002
lässt sich alternativ auch als Funktion der Signale
Figure imgf000009_0004
und Gewichte
Figure imgf000009_0003
für alle Neuronen der Schicht k ausdrücken. Die Signale
Figure imgf000009_0005
sind im weitesten Sinne Aktivierungen der Neuronen, wie etwa mit den Gewichten
Figure imgf000009_0006
gewichtete Summen von Eingaben, die den jeweiligen
Neuronen zugeführt werden.
Figure imgf000009_0007
lässt sich dann beispielsweise mit
Figure imgf000009_0008
.schreiben als
M = normf S /'^ Q^ )\
\n= 0
Hierin bezeichnet xt die Eingaben, die dem KN N als Ganzes zugeführt werden.
In jedem Iterationsschritt werden die Gewichte, die Neuronen in dem KNN zugewiesen sind, nach Maßgabe der Kostenfunktion und der verwendeten Trainingsstrategie (wie etwa Stochastic Gradient Descent, SGD) um bestimmte Beträge geändert. In einer weiteren besonders vorteilhaften Ausgestaltung werden diese Beträge mit einem multiplikativen Faktor verstärkt, der für
Neuronen mit höheren quantitativen Beiträgen zur Qualität geringer ist als für Neuronen mit geringeren quantitativen Beiträgen zur Qualität. Neuronen mit einer aktuell geringeren Leistung werden also stärkeren Lernschritten unterzogen mit dem Ziel, die Leistung hierdurch aktiv zu verbessern, analog zum
Nachhilfeunterricht. Beispielsweise können die Iterationsschritte der Gewichte
Figure imgf000009_0009
durchgeführt werden. In einer weiteren besonders vorteilhaften Ausgestaltung werden Neuronen während des Trainings temporär deaktiviert mit einer Wahrscheinlichkeit, die für Neuronen mit höheren quantitativen Beiträgen zur Qualität höher ist als für Neuronen mit geringeren quantitativen Beiträgen zur Qualität.
Auch diese Maßnahme dient der gezielten Förderung von Neuronen, deren quantitative Beiträge zur Qualität aktuell gering sind. Das temporäre Deaktivieren gerade der leistungsstarken Neuronen zwingt das KNN dazu, auch die schwächeren Neuronen an der Bildung der letztendlichen Ausgangsgrößen zu beteiligen. Dementsprechend erhalten diese schwächeren Neuronen auch vermehrt Feedback aus dem Vergleich der Ausgangsgrößen mit der„ground truth“ in Form der Lern-Werte für die Ausgangsgrößen. Im Ergebnis wird ihre Leistung hierdurch tendenziell besser. Die Situation ist vergleichbar mit der Führung von Schulunterricht in einer Klasse mit heterogenem Leistungsstand. Wenn Fragen des Lehrers immer nur an die starken Schüler gehen, lernen die schwächeren Schüler nicht dazu, so dass der Abstand zwischen den starken und den schwächeren Schülern zementiert oder sogar noch weiter vergrößert wird.
Als weitere Folgewirkung wird durch diese Maßnahme das KNN auch robuster gegen Ausfälle der leistungsstarken Neuronen, denn durch das temporäre Deaktivieren werden genau solche Situationen von dem KNN geübt.
Beispielsweise kann der Dropout-Tensor
Figure imgf000010_0001
für t > 0 über eine Bernoulli-
Funktion gesamplet werden. Diese hängt wiederum von der Aktivierungsgüte M, zu einem vorherigen Iterationsschritt ab. Hierdurch ergeben sich die Wahrscheinlichkeiten pk dafür, dass Neuronen einer Schicht k aktiviert sind, zu
Figure imgf000010_0002
In einer weiteren besonders vorteilhaften Ausgestaltung der Erfindung werden Neuronen mit höheren quantitativen Beiträgen zur Qualität höhere Stellenwerte im KNN zugewiesen als Neuronen mit geringeren quantitativen Beiträgen zur Qualität. Der Stellenwert kann sich beispielsweise darin manifestieren, mit welchem Gewicht Ausgaben der betreffenden Neuronen berücksichtigt werden, bzw. ob die Neuronen überhaupt aktiviert werden. Diese Ausgestaltung lässt sich insbesondere nutzen, um das KNN auf den für relevanten Teil zu komprimieren. Hierzu können Neuronen, deren quantitative Beiträge zur Qualität ein vorgegebenes Kriterium erfüllen, im KNN deaktiviert werden. Das Kriterium kann beispielsweise als absolutes Kriterium formuliert sein, wie etwa als ein Schwellwert. Das Kriterium kann aber auch beispielsweise als relatives Kriterium formuliert sein, wie etwa als eine Abweichung der quantitativen Beiträge zur Qualität von den quantitativen Beiträgen anderer Neuronen oder von einer zusammenfassenden Statistik hiervon. Eine
zusammenfassende Statistik kann beispielsweise einen Mittelwert, einen Median und/oder Standardabweichungen beinhalten.
Anders als Neuronen, deren Ausgaben lediglich untergewichtet werden, können deaktivierte Neuronen beim Implementieren des fertig trainierten KNN auf Hardware komplett eingespart werden. Je stärker das KNN komprimiert ist, desto weniger Hardwareressourcen werden für das letztendliche Implementieren benötigt.
Analoges gilt, wenn unwichtige Verbindungen zwischen Neuronen in dem KNN deaktiviert werden. Jede dieser Verbindungen kostet bei der Inferenz im Betrieb des KNN zusätzliche Rechenzeit, denn die Ausgabe des Neurons am einen Ende der Verbindung muss mit dem Gewicht der Verbindung multipliziert werden und geht dann in die Aktivierung des Neurons am anderen Ende der Verbindung ein. Wenn das Gewicht der Verbindung von Null verschieden ist, fallen diese Rechenoperationen an und dauern immer gleich lange, egal wie nah das
Gewicht an Null liegen mag und wie wenig das Berücksichtigen dieser
Verbindung letztendlich in der Ausgabe des KNN bewirkt. Daher werden in einer weiteren besonders vorteilhaften Ausgestaltung Verbindungen zwischen
Neuronen, deren Gewichte ein vorgegebenes Kriterium erfüllen, im KNN deaktiviert. Analog zum Kriterium für die quantitativen Beiträge von Neuronen kann das Kriterium absolut oder relativ formuliert sein.
In einer weiteren besonders vorteilhaften Ausgestaltung wird die Anzahl der in dem KNN, und/oder in einem Teilgebiet des KNN, aktivierten Neuronen von einer ersten Anzahl auf eine vorgegebene zweite Anzahl reduziert, indem Neuronen mit den geringsten quantitativen Beiträgen deaktiviert werden. So kann beispielsweise durch die verwendete Hardware die maximale Komplexität des KNN vorgegeben sein.
Die Erfindung bezieht sich auch auf ein Verfahren zum Implementieren eines KNN auf einem vorgegebenen Rechenwerk. Bei diesem Verfahren wird ein Modell des KNN in einer Trainingsumgebung außerhalb des Rechenwerks mit dem zuvor beschriebenen Verfahren trainiert. Bei Abschluss des Trainings aktivierte Neuronen und Verbindungen zwischen Neuronen werden auf dem Rechenwerk implementiert.
Das vorgegebene Rechenwerk kann beispielsweise dazu ausgebildet sein, in ein Steuergerät für ein Fahrzeug eingebaut zu werden, und/oder es kann dazu ausgebildet sein, aus dem Bordnetz eines Fahrzeugs mit Energie versorgt zu werden. Der verfügbare Platz und das Wärmebudget in dem Steuergerät, bzw. die verfügbare Strommenge, begrenzen dann die für die Inferenz des KNN verfügbaren Hardwareressourcen.
Demgegenüber kann die Trainingsumgebung mit deutlich stärkeren Ressourcen ausgestattet sein. Beispielsweise kann ein physischer oder virtueller Rechner mit einem leistungsfähigen Grafikprozessor (GPU) verwendet werden. Es sind nur wenig bis keine Vorab-Überlegungen erforderlich, um mit dem Training beginnen zu können; das Modell sollte lediglich eine gewisse Mindestgröße aufweisen, mit der das zu lösende Problem voraussichtlich hinreichend genau abgebildet werden kann.
Durch das zuvor beschriebene Verfahren kann innerhalb der Trainingsumgebung ermittelt werden, welche Neuronen und Verbindungen zwischen Neuronen wichtig sind. Basierend hierauf kann das KNN für das Implementieren auf dem Rechenwerk komprimiert werden. Wie zuvor beschrieben, kann dies auch direkt automatisch innerhalb der Trainingsumgebung erfolgen.
Es kann also allgemein vorteilhaft ausgehend von einem vorgegebenen
Rechenwerk, welches Hardwareressourcen für eine vorgegebene Anzahl von Neuronen, Schichten von Neuronen und/oder Verbindungen zwischen Neuronen aufweist, ein Modell des KNN gewählt werden, dessen Anzahl an Neuronen, Schichten von Neuronen und/oder Verbindungen zwischen Neuronen die vorgegebene Anzahl überschreitet. Die Komprimierung sorgt dafür, dass das trainierte KNN letztendlich auf die vorgegebene Hardware passt. Hierbei wird angestrebt, dass diejenigen Neuronen und Verbindungen zwischen Neuronen, die letztendlich auf der Hardware implementiert sind, auch die für die Inferenz im Betrieb des KNN wichtigsten sind.
Die Erfindung bezieht sich auch auf ein weiteres Verfahren. Bei diesem
Verfahren wird ein künstliches neuronales Netzwerk, KNN, zunächst mit dem zuvor beschriebenen Verfahren zum Trainieren trainiert, und/oder mit dem zuvor beschriebenen Verfahren zum Implementieren auf einem Rechenwerk implementiert. Das KNN wird anschließend betrieben, indem ihm eine oder mehrere Eingangsgrößen zugeführt werden. Abhängig von den vom KNN gelieferten Ausgangsgrößen wird ein Fahrzeug, ein Roboter, ein
Qualitätskontrollsystem, und/oder ein System zur Überwachung eines Bereichs auf der Basis von Sensordaten, angesteuert.
Bei den beschriebenen Verfahren kann insbesondere ein KNN gewählt werden, das als Klassifikator und/oder Regressor für mit mindestens einem Sensor aufgenommene physikalische Messdaten ausgebildet ist. Es ermöglicht dann auch in Anwendungen, in denen nur beschränkte Hardware, eine beschränkte Energiemenge oder ein beschränkter Einbauraum zur Verfügung steht, eine aussagekräftige und auf viele Situationen verallgemeinerbare Auswertung der physikalischen Messdaten durch Künstliche Intelligenz. Der Sensor kann beispielsweise ein bildgebender Sensor, ein Radarsensor, ein Lidar-Sensor oder ein Ultraschallsensor sein.
Die Verfahren können insbesondere ganz oder teilweise in einer Software implementiert sein, die den unmittelbaren Kundennutzen bewirkt, dass ein KNN in Relation zum Hardwareaufwand und zum Energieverbrauch für die Inferenz in seinem Betrieb bessere Ergebnisse liefert. Die Erfindung bezieht sich daher auch auf ein Computerprogramm mit maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Steuergerät, und/oder auf einem Embedded-System ausgeführt werden, den Computer, das Steuergerät, und/oder das Embedded-System, dazu veranlassen, eines der beschriebenen Verfahren auszuführen. Steuergeräte und Embedded-Systeme können also mindestens in dem Sinne als Computer anzusehen sein, dass ihr Verhalten ganz oder teilweise durch ein Computerprogramm charakterisiert ist. Somit umfasst der Begriff„Computer“ 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.
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren
Datenträger oder ein Downloadprodukt mit dem Computerprogramm. Ein Downloadprodukt ist ein über ein Datennetzwerk übertragbares, d.h. von einem Benutzer des Datennetzwerks downloadbares, digitales Produkt, das
beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann.
Weiterhin kann ein Computer mit dem Computerprogramm, mit dem
maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt ausgerüstet sein, und/oder in beliebiger sonstiger Weise spezifisch dazu eingerichtet sein, eines der beschriebenen Verfahren auszuführen. Eine solche spezifische Einrichtung kann beispielsweise mit feldprogrammierbaren Gatteranordnungen (FPGAs) und/oder anwendungsspezifischen integrierten Schaltkreisen (ASICs) realisiert werden.
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt.
Ausführungsbeispiele
Es zeigt:
Figur 1 Ausführungsbeispiel des Verfahrens 100 zum Trainieren eines KNN 1; Figur 2 Ausführungsbeispiel des Verfahrens 200 zum Implementieren des KNN 1 auf einem Rechenwerk 4;
Figur 3 Beispielhafte Komprimierung eines KNN 1.
Figur 1 zeigt ein Ausführungsbeispiel des Verfahrens 100. Das Verfahren 100 ist eingebettet in das in bekannter Weise ablaufende Training des KNN 1, das unter anderem das Beaufschlagen des KNN 1 mit Lern- Werten für Eingangsgrößen, den Vergleich der vom KNN 1 gebildeten Ausgangsgrößen mit den Lern- Werten für die Ausgangsgrößen sowie die Änderung der Parameter innerhalb des KNN nach Maßgabe der Kostenfunktion umfasst. Diese Schritte sind der
Übersichtlichkeit halber in Figur 1 nicht eingezeichnet.
In Schritt 110 wird zu einem beliebigen Zeitpunkt und in einer beliebigen Phase des Trainingsprozesses ein Maß für die Qualität 11, die das KNN innerhalb eines vorgegebenen zurückliegenden Zeitraums erzielt hat, ermittelt. Gemäß Block 111 kann insbesondere die Änderung der beim Training des KNN 1 genutzten Kostenfunktion in das Maß für die Qualität 11 eingehen.
In Schritt 120 werden mehrere Neuronen 2 anhand eines Maßes für ihre jeweiligen quantitativen Beiträge 21 zu der zuvor ermittelten Qualität 11 bewertet. Dabei können insbesondere gemäß Block 121 diese Beiträge 21 umso höher gewichtet werden, je kürzer die Erbringung der Beiträge 21 zeitlich zurückliegt. Diese Beiträge 21 können beispielsweise aus der zuvor im Detail beschriebenen
Aktivierungsgüte ]M^ ermittelt werden. Insbesondere können Werte der Aktivierungsgüte ]M^ direkt als Beiträge 21 genutzt werden.
Anhand der hierbei entstandenen Bewertungen 120a werden in Schritt 130 Maßnahmen 22 für das weitere Training der bewerteten Neuronen 2, und/oder Stellenwerte 23 dieser bewerteten Neuronen 2 in dem KNN 1, festgelegt.
Im Einzelnen können Beträge, um die die Gewichte von Neuronen 2 bei mindestens einem Trainingsschritt geändert werden, gemäß Block 131 mit einem multiplikativen Faktor verstärkt werden, der für stärker zur Qualität 11
beitragende Neuronen 2 geringer ist als für schwächer zur Qualität 11 beitragende Neuronen 2.
Gemäß Block 132 können Neuronen 2 während des Trainings temporär deaktiviert werden, wobei die Wahrscheinlichkeit einer solchen Deaktivierung für Neuronen 2 mit höheren quantitativen Beiträgen 21 zur Qualität 11 höher ist als für Neuronen 2 mit geringeren quantitativen Beiträgen 21 zur Qualität 11.
Gemäß Block 133 können Neuronen 2 mit höheren quantitativen Beiträgen 21 zur Qualität 11 höhere Stellenwerte im KN N 1 zugewiesen werden als Neuronen 2 mit niedrigeren quantitativen Beiträgen 21.
Dies kann beispielsweise beinhalten, dass Neuronen 2, deren quantitative Beiträge 21 ein vorgegebenes Kriterium erfüllen, gemäß Unterblock 133a deaktiviert werden. Auch können gemäß Unterblock 133b Verbindungen 25 zwischen Neuronen 2, deren Gewichte ein vorgegebenes Kriterium erfüllen, deaktiviert werden. Gemäß Unterblock 133c kann die Anzahl der aktivierten Neutronen gezielt auf eine vorgegebene Anzahl reduziert werden, indem
Neuronen 2 mit den geringsten quantitativen Beiträgen 21 zur Qualität 11 deaktiviert werden.
Figur 2 zeigt ein Ausführungsbeispiel des Verfahrens 200 zum Implementieren des KNN 1 auf einem vorgegebenen Rechenwerk 4. Im optionalen Schritt 205a kann ein Rechenwerk 4 mit beschränkten Ressourcen hinsichtlich der Anzahl von Neuronen 2, Schichten 3a, 3b mit Neuronen 2, und/oder Verbindungen 25 zwischen Neuronen 2, vorausgewählt werden. Das Modell la des KNN kann dann so gewählt werden, dass es eine Anzahl an Neuronen 2, Schichten 3a, 3b bzw. Verbindungen 25 aufweist, die über der jeweiligen Grenze des
Rechenwerks 4 liegt. Insbesondere kann gemäß dem optionalen Schritt 206 ein Rechenwerk 4 gewählt werden, das dazu ausgebildet ist, in ein Steuergerät für ein Fahrzeug eingebaut zu werden, und/oder aus dem Bordnetz eines Fahrzeugs mit Energie versorgt zu werden. In Schritt 210 wird das KNN 1 gemäß dem zuvor beschriebenen Verfahren 100 trainiert. Bei Abschluss des Trainings 210 aktivierte Neuronen 2 und
Verbindungen 25 zwischen Neuronen 2 werden in Schritt 220 auf dem
Rechenwerk 4 implementiert. Wie zuvor beschrieben, kann die Komprimierung während des Trainings 210 ein zu großes KNN für beschränkte
Hardwareressourcen„passend machen“. Wenn dies nicht ausreicht, kann nach Abschluss des Trainings 210 eine weitere Auslese der Neuronen 2, Schichten 3a, 3b, bzw. Verbindungen 25, erfolgen.
Figur 3 zeigt den Effekt der Komprimierung an einem beispielhaften KNN 1. Dieses KNN 1 umfasst zwei Schichten 3a und 3b mit jeweils vier Neuronen 2, deren beispielhafte quantitative Beiträge 21 zur Qualität 11 des KNN 1 insgesamt jeweils angegeben sind.
In dem in Figur 3a gezeigten Zustand sind die beiden Schichten 3a und 3b noch voll miteinander vernetzt, d.h., jedes Neuron 2 der ersten Schicht 3a ist mit jedem Neuron 2 der zweiten Schicht 3b verbunden, und alle Neuronen 2 sind noch aktiv.
In dem in Figur 3b gezeigten Zustand wurde die Regel angewendet, dass alle Neuronen 2 mit quantitativen Beiträgen 21 von weniger als 0,5, sowie die zu diesen Neuronen 2 führenden Verbindungen 25, deaktiviert werden. Dieser Regel sind die gestrichelt umrandeten Neuronen in der ersten Schicht 3a zum Opfer gefallen. Dadurch ist die Zahl der noch aktiven Verbindungen 25 von 16 auf 8 halbiert worden, was den Rechenaufwand für die Inferenz im Betrieb des KNN 1 entsprechend vermindert.

Claims

Ansprüche
1. Verfahren (100) zum Trainieren eines künstlichen neuronalen
Netzwerks, KNN (1), welches eine Vielzahl von Neuronen (2) umfasst, mit den Schritten:
• es wird ein Maß für die Qualität (11), die das KNN (1), und/oder ein
Teilbereich des KNN (1), innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt (110);
• ein oder mehrere Neuronen (2) werden anhand eines Maßes für ihre jeweiligen quantitativen Beiträge (21) zu der ermittelten Qualität (11) bewertet (120);
• Maßnahmen (22), mit denen die bewerteten Neuronen (2) im weiteren Verlauf des Trainings jeweils trainiert werden, und/oder Stellenwerte (23) dieser Neuronen (2) im KNN (1), werden anhand der Bewertungen (120a) der Neuronen (2) festgelegt (130).
2. Verfahren (100) nach Anspruch 1, wobei das Maß für die Qualität ein Maß für den Trainingsfortschritt des KNN (1), ein Maß für die Auslastung der Neuronen einer Schicht oder eines anderen Teilbereichs des KNN (1), und/oder ein Maß für die Auslastung der Neuronen des KNN (1) insgesamt, umfasst.
3. Verfahren (100) nach einem der Ansprüche 1 bis 2, wobei das Maß für die Qualität (11) als gewichtete oder ungewichtete Summe quantitativer Beiträge (21) einzelner Neuronen (2) gewertet wird.
4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei eine
Änderung einer Kostenfunktion, auf deren Optimierung das Training des KNN (1) ausgerichtet ist, über den zurückliegenden Zeitraum in das Maß für die Qualität (11) eingeht (111).
5. Verfahren (100) nach einem der Ansprüche 1 bis 4, wobei quantitative Beiträge (21) von Neuronen (2) zu der Qualität (11) umso höher gewichtet werden (121), je kürzer die Erbringung dieser Beiträge (21) zeitlich zurückliegt.
6. Verfahren (100) nach einem der Ansprüche 1 bis 5, wobei Beträge, um die die Gewichte, welche Neuronen (2) in dem KNN (1) zugewiesen sind, bei mindestens einem Trainingsschritt geändert werden, mit einem multiplikativen Faktor verstärkt werden (131), der für Neuronen (2) mit höheren quantitativen Beiträgen (21) geringer ist als für Neuronen (2) mit geringeren quantitativen Beiträgen (21).
7. Verfahren (100) nach einem der Ansprüche 1 bis 6, wobei Neuronen (2) während des Trainings temporär deaktiviert werden (132) mit einer
Wahrscheinlichkeit, die für Neuronen (2) mit höheren quantitativen Beiträgen (21) höher ist als für Neuronen (2) mit geringeren quantitativen Beiträgen (21).
8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei der zurückliegende Zeitraum mindestens eine Epoche des Trainings umfasst.
9. Verfahren (100) nach einem der Ansprüche 1 bis 8, wobei Neuronen (2) mit höheren quantitativen Beiträgen (21) höhere Stellenwerte im KNN (1) zugewiesen werden (133) als Neuronen (2) mit niedrigeren quantitativen
Beiträgen (21).
10. Verfahren (100) nach Anspruch 9, wobei Neuronen (2), deren quantitative Beiträge (21) ein vorgegebenes Kriterium erfüllen, im KNN (1) deaktiviert werden (133a).
11. Verfahren (100) nach einem der Ansprüche 9 bis 10, wobei
Verbindungen (25) zwischen Neuronen (2), deren Gewichte ein vorgegebenes Kriterium erfüllen, im KNN (1) deaktiviert werden (133b).
12. Verfahren (100) nach einem der Ansprüche 9 bis 11, wobei die Anzahl der in dem KNN (1), und/oder in einem Teilgebiet des KNN (1), aktivierten Neuronen (2) von einer ersten Anzahl auf eine vorgegebene zweite Anzahl reduziert wird, indem Neuronen (2) mit den geringsten quantitativen Beiträgen (21) deaktiviert werden (133c).
13. Verfahren (200) zum Implementieren eines KN N (1) auf einem vorgegebenen Rechenwerk (4) mit den Schritten:
• ein Modell (la) des KNN (1) wird in einer Trainingsumgebung (5)
außerhalb des Rechenwerks (4) mit dem Verfahren (100) nach einem der Ansprüche 1 bis 12 trainiert (210);
• bei Abschluss des Trainings (210) aktivierte Neuronen (2) und
Verbindungen (25) zwischen Neuronen (2) werden auf dem Rechenwerk (4) implementiert (220).
14. Verfahren (200) nach Anspruch 13, wobei ein Rechenwerk (4) gewählt wird (205a), welches Hardwareressourcen für eine vorgegebene Anzahl von Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) aufweist, und wobei ein Modell (la) des KNN (1) gewählt wird (205b), dessen Anzahl an Neuronen (2), Schichten (3a, 3b) von Neuronen (2) und/oder Verbindungen (25) zwischen Neuronen (2) die vorgegebene Anzahl überschreitet.
15. Verfahren mit den Schritten:
• ein künstliches neuronales Netzwerk, KNN (1), wird mit dem Verfahren (100) nach einem der Ansprüche 1 bis 12 trainiert, und/oder mit dem Verfahren (200) nach einem der Ansprüche 13 bis 14 implementiert;
• das KNN (1) wird betrieben, indem ihm eine oder mehrere
Eingangsgrößen zugeführt werden;
• abhängig von den vom KNN (1) gelieferten Ausgangsgrößen wird ein Fahrzeug, ein Roboter, ein Qualitätskontrollsystem, und/oder ein System zur Überwachung eines Bereichs auf der Basis von Sensordaten, angesteuert.
16. Computerprogramm, enthaltend maschinenlesbare Anweisungen, die, wenn sie auf einem Computer, und/oder auf einem Steuergerät, und/oder auf einem Embedded-System ausgeführt werden, den Computer, das Steuergerät, und/oder das Embedded-System, dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 15 auszuführen.
17. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem Computerprogramm nach Anspruch 16.
18. Computer, ausgerüstet mit dem Computerprogramm nach Anspruch 16, mit dem maschinenlesbaren Datenträger bzw. mit dem Downloadprodukt nach Anspruch 17, und/oder in sonstiger Weise spezifisch dazu eingerichtet, ein Verfahren (100, 200) nach einem der Ansprüche 1 bis 15 auszuführen.
PCT/EP2020/054054 2019-03-01 2020-02-17 Training neuronaler netzwerke für effizientes implementieren auf hardware WO2020178009A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/429,094 US20220101088A1 (en) 2019-03-01 2020-02-17 Training neural networks for an efficient implementation on hardware
CN202080017830.9A CN113454655A (zh) 2019-03-01 2020-02-17 针对在硬件上的高效实施来训练神经网络
EP20705699.5A EP3931760A1 (de) 2019-03-01 2020-02-17 Training neuronaler netzwerke für effizientes implementieren auf hardware

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019202816.0 2019-03-01
DE102019202816.0A DE102019202816A1 (de) 2019-03-01 2019-03-01 Training neuronaler Netzwerke für effizientes Implementieren auf Hardware

Publications (1)

Publication Number Publication Date
WO2020178009A1 true WO2020178009A1 (de) 2020-09-10

Family

ID=69593701

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/054054 WO2020178009A1 (de) 2019-03-01 2020-02-17 Training neuronaler netzwerke für effizientes implementieren auf hardware

Country Status (5)

Country Link
US (1) US20220101088A1 (de)
EP (1) EP3931760A1 (de)
CN (1) CN113454655A (de)
DE (1) DE102019202816A1 (de)
WO (1) WO2020178009A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021205300A1 (de) 2021-05-25 2022-12-01 Robert Bosch Gesellschaft mit beschränkter Haftung Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
DE202021102832U1 (de) 2021-05-25 2021-06-24 Albert-Ludwigs-Universität Freiburg Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636326A (en) 1992-09-04 1997-06-03 Ricoh Corporation Method for operating an optimal weight pruning apparatus for designing artificial neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636326A (en) 1992-09-04 1997-06-03 Ricoh Corporation Method for operating an optimal weight pruning apparatus for designing artificial neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GETHSIYAL AUGASTA M ET AL: "A Novel Pruning Algorithm for Optimizing Feedforward Neural Network of Classification Problems", NEURAL PROCESSING LETTERS, KLUWER ACADEMIC PUBLISHERS, BO, vol. 34, no. 3, 5 August 2011 (2011-08-05), pages 241 - 258, XP019969893, ISSN: 1573-773X, DOI: 10.1007/S11063-011-9196-7 *

Also Published As

Publication number Publication date
CN113454655A (zh) 2021-09-28
DE102019202816A1 (de) 2020-09-03
US20220101088A1 (en) 2022-03-31
EP3931760A1 (de) 2022-01-05

Similar Documents

Publication Publication Date Title
DE102012009502A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes
DE102005046747B3 (de) Verfahren zum rechnergestützten Lernen eines neuronalen Netzes und neuronales Netz
DE10296704T5 (de) Fuzzy-Inferenznetzwerk zur Klassifizierung von hochdimensionalen Daten
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102019204139A1 (de) Training für künstliche neuronale Netzwerke mit besserer Ausnutzung der Lern-Datensätze
WO2020178009A1 (de) Training neuronaler netzwerke für effizientes implementieren auf hardware
DE102018220941A1 (de) Auswertung von Messgrößen mit KI-Modulen unter Berücksichtigung von Messunsicherheiten
DE102019007340A1 (de) Technik zum Einrichten und Betreiben eines neuronalen Netzwerks
DE102018127802A1 (de) Hybrider klassifikator eines gepulsten neuronalen netzwerks und einer support-vektor-maschine
DE102019204118A1 (de) Verfahren zum Übertragen eines Merkmals eines ersten Bilds an ein zweites Bild
DE102019206047A1 (de) Training trainierbarer Module mit Lern-Daten, deren Labels verrauscht sind
DE102019206049A1 (de) Erkennung und Behebung von Rauschen in Labels von Lern-Daten für trainierbare Module
DE202021102832U1 (de) Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
DE102020214850A1 (de) Energie- und speichereffizientes Training neuronaler Netzwerke
WO2021004741A1 (de) Robusteres training für künstliche neuronale netzwerke
WO2021089499A1 (de) Verfahren und system zum prüfen einer automatisierten fahrfunktion durch reinforcement-learning
DE102020205542A1 (de) Aufbereiten von Lern-Datensätzen mit verrauschten Labeln für Klassifikatoren
DE102019130484A1 (de) Verfahren und Vorrichtung zum Anlernen eines Ensembles von neuronalen Netzen
DE112019006203T5 (de) Verfahren zur Klassifizierung von Inhalten und Verfahren zur Erzeugung eines Klassifizierungsmodells
WO2020108748A1 (de) System und verfahren zum auffinden von optimierten kombinationen von berechnungsfunktionen
DE102019131639B4 (de) System zum Bereitstellen eines Erklärungsdatensatzes für ein KI-Modul
DE102019214308B4 (de) Schnelles quantisiertes Training trainierbarer Module
DE102022207726A1 (de) Weitertrainieren neuronaler Netzwerke für die Auswertung von Messdaten
DE202024100807U1 (de) Verstärkungslernen durch Präferenz-Rückmeldung
WO2006005665A2 (de) Verfahren zur reaktion auf kontextänderungen mit einem neuronalen netz und neuronales netz zur reaktion auf kontextänderungen

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20705699

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020705699

Country of ref document: EP