EP3931760A1 - Training neural networks for efficient implementation on hardware - Google Patents

Training neural networks for efficient implementation on hardware

Info

Publication number
EP3931760A1
EP3931760A1 EP20705699.5A EP20705699A EP3931760A1 EP 3931760 A1 EP3931760 A1 EP 3931760A1 EP 20705699 A EP20705699 A EP 20705699A EP 3931760 A1 EP3931760 A1 EP 3931760A1
Authority
EP
European Patent Office
Prior art keywords
neurons
ann
training
quality
contributions
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.)
Withdrawn
Application number
EP20705699.5A
Other languages
German (de)
French (fr)
Inventor
Falk Heuer
Philip Lenz
Alexander Lengsfeld
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP3931760A1 publication Critical patent/EP3931760A1/en
Withdrawn legal-status Critical Current

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)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)

Abstract

A method (100) for training an artificial neural network, ANN (1), which comprises a plurality of neurons (2), comprising the following steps: • a measure of the quality (11) that the ANN (1) has achieved overall within a past time period is determined (110); • one or more neurons (2) are evaluated on the basis of a measure of their respective quantitative contributions (21) to the determined quality (11) (120); • actions (22), by means of which the evaluated neurons (2) are respectively trained in the further course of the training, and/or weights (23) of said neurons (2) in the ANN (1) are defined on the basis of the evaluations (120a) of the neurons (2) (130). The method (200) according to claim 11, wherein a computing unit (4) having hardware resources for a specified number of neurons (2), layers (3a, 3b) of neurons (2) and/or connections (25) between neurons (2) is selected (205a), and wherein a model (1a) of the ANN (1) having a number of neurons (2), layers (3a, 3b) of neurons (2) and/or connections (25) between neurons (2) that exceeds the specified number is selected (205b).

Description

Beschreibung description
Titel: Title:
Training neuronaler Netzwerke für effizientes Implementieren auf Hardware Training of neural networks for efficient implementation on 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. 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.
Stand der Technik State of the art
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 An artificial neural network, ANN, 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
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 Processing chain processed, which is usually parameterized. When training the ANN, 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
Eingangsgrößen optimal auf einen zugehörigen Satz Lern-Werte für die Input variables optimally based on an associated set of learning values for the
Ausgangsgrößen abbildet. Maps output variables.
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. 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. Based on the knowledge that a large part of the neurons in a deep ANN make little or no contribution to the end result delivered by the ANN, 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.
Offenbarung der Erfindung Disclosure of the invention
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 In the context of the invention, a method for training an artificial neural network, ANN, was developed. The aim is to be able to implement the ANN efficiently on hardware. In this context, “efficient” can be understood, for example, to mean that the ANN gets by with a limited configuration of hardware resources. “Efficient” can also be understood, for example, that the
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. 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.
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. In the method, 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.
Somit kann das Maß für die Qualität beispielsweise ein Maß für den Thus, the measure for the quality, for example, a measure for the
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. 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.
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 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. The established values of the
Neuronen im KNN können auch für die Inferenzphase, also für den späteren Wirkbetrieb des KNN nach dem Training, fortgelten. 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.
Insbesondere kann beispielsweise das Maß für die Qualität als gewichtete oder ungewichtete Summe quantitativer Beiträge einzelner Neuronen gewertet werden. In particular, for example, the measure for the quality can be evaluated as a weighted or unweighted sum of quantitative contributions from individual neurons.
Es wurde erkannt, dass auf diese Weise bereits während des Trainings der Wunsch berücksichtigt werden kann, die Neuronen des KNN sowie die It was recognized that in this way the wish can be taken into account during the training, the neurons of the ANN as well as the
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. Optimally utilize connections between these neurons. This wish 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.
Sollte sich bereits zu einem frühen Zeitpunkt während des Trainings Should be early on during exercise
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. point out that certain neurons or connections between neurons are less relevant, these neurons or connections can be deactivated at an early stage. From this point in time, there is no further computing effort for these neurons or connections during training. It was recognized that a price has to be paid for each final deactivation or removal of a neuron or a connection in the form of the computational effort already invested in the training of this neuron or the connection. After the deactivation or removal, the knowledge from the training embodied in this neuron or in this connection is no longer used, ie the effort already invested is discarded. The amount of this effort is advantageously reduced, analogous to the practice in academic or professional training, to screen unsuitable candidates for the subject as early as possible. The desired end result, namely a fully trained and at the same time on the actually relevant neurons and Connections limited ANN, so can be obtained comparatively quickly.
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 The restriction to the actually relevant neurons and connections is in turn important for the efficient implementation of the fully trained ANN on hardware. Particularly when using KNNs in control units for vehicles, for example for driver assistance systems or systems for at least partially automated driving, 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
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. Real operation, get by with these hardware resources in order to deliver the required output variables in the response time specified for the respective application. Every deactivated neuron and every deactivated connection saves computational effort and therefore response time for every further inference.
Das Deaktivieren von Neuronen oder Verbindungen stellt grundsätzlich einen Eingriff in das KNN dar. Indem dieser Eingriff während des laufenden The deactivation of neurons or connections basically represents an intervention in the ANN. By this intervention during the ongoing
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. 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. In contrast to, for example, the 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.
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. Finally, the range of possible actions that can be taken in response to a small quantitative contribution of certain neurons to quality is expanded beyond the mere deactivation of these neurons. For example, further training can target such "weak" Neurons are focused so that they can still make a productive contribution to quality. This can be compared to the fact that in school education when problems arise in a certain subject, tutoring is usually used as the first measure, instead of immediately denying the pupil's talent for this subject.
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 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
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 When situations occur, the performance of these neurons is rated higher than it really is, because in other situations the performance of other neurons can be significantly better. In the analogue of academic training, this corresponds to an examination for which the candidate is selective for one
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 has prepared a certain sub-area of the examination material and is "lucky" that this sub-area is selectively queried. The assessment then puts the other candidates at a disadvantage, whose knowledge is less detailed but covers the entire spectrum of the examination material much better. The
Berücksichtigung mindestens einer Epoche entspricht einer gerechteren Prüfung mit breit gestreuten Fragen aus dem kompletten Spektrum des Prüfungsstoffs. 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.
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 a particularly advantageous embodiment, 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.
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 In a further particularly advantageous embodiment, quantitative contributions of neurons to the quality are weighted higher, the shorter they are The provision of these contributions is in the past. That way you can
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. It must be taken into account that knowledge learned from the ANN, like any other knowledge, can become out of date, so that new knowledge must take its place.
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 einenIf, for example, starting from a current iteration step t, a time period is considered that goes back N iteration steps, then the quantitative contributions that a layer k of the ANN has made to the quality of the ANN in this period, for example an iteration progress, can be cumulated and / or aggregated become. In particular, it can also have a
Dropout-Tensor 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“ zusammenfassen, die sich beispielsweise schreiben lässt als Dropout tensor taken into account which neurons in the Send k were actually active in a given iteration step tn. For example, for a fully networked layer k of the ANN, the contributions of the respective active neurons to the quality can be determined over all previous N iteration steps in an "activation quality" summarize, which can be written, for example, as
M, enthält die entsprechende Güte aller einzelnen Neuronen in der Schicht k und hängt vom Zeitschrift t ab. M, contains the corresponding quality of all individual neurons in layer k and depends on the journal t.
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 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. 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^ Vektoren oder Matrizen sein. Here L is the cost function (loess function). Accordingly, 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. Depending on the type of layer k,] M ^ Be vectors or matrices.
Die beschriebene„Aktivierungsgüte“ lässt sich alternativ auch als Funktion der Signale und Gewichte für alle Neuronen der Schicht k ausdrücken. Die Signale sind im weitesten Sinne Aktivierungen der Neuronen, wie etwa mit den Gewichten gewichtete Summen von Eingaben, die den jeweiligen 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
Neuronen zugeführt werden. lässt sich dann beispielsweise mit .schreiben als Neurons are fed. can then be used, for example .write as
M = normf S /'^ Q^ )\ M = normf S / '^ Q ^) \
\n= 0 \ n = 0
Hierin bezeichnet xt die Eingaben, die dem KN N als Ganzes zugeführt werden. Here x t denotes the inputs that are fed to the KN N as a whole.
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 In each iteration step, 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
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 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
Nachhilfeunterricht. Beispielsweise können die Iterationsschritte der Gewichte Tutoring. For example, the iteration steps of the weights
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. be performed. In a further particularly advantageous embodiment, 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.
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. 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.
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. As a further consequence, 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.
Beispielsweise kann der Dropout-Tensor für t > 0 über eine Bernoulli-For example, the dropout tensor for t> 0 over a 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 Function can be sampled. This in turn depends on the activation quality M, for a previous iteration step. This results in the probabilities p k that neurons of a layer k are activated
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 In a further particularly advantageous embodiment of the invention, 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. For this purpose, 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. However, 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. A
zusammenfassende Statistik kann beispielsweise einen Mittelwert, einen Median und/oder Standardabweichungen beinhalten. Summary statistics can include, for example, a mean, median, and / or standard deviations.
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. Unlike neurons, whose outputs are only underweighted, deactivated neurons can be completely saved when implementing the fully trained ANN on hardware. The more the ANN is compressed, the fewer hardware resources are required for the final implementation.
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 The same applies if unimportant connections between neurons in the ANN are deactivated. Each of these connections costs additional computing time for inference during operation of the ANN, because the output of the neuron at one end of the connection must be multiplied by the weight of the connection and is then included in the activation of the neuron at the other end of the connection. If the weight of the connection is different from zero, these arithmetic operations occur and always take the same time, no matter how close it is
Gewicht an Null liegen mag und wie wenig das Berücksichtigen dieser Weight may be zero and how little this is taken into account
Verbindung letztendlich in der Ausgabe des KNN bewirkt. Daher werden in einer weiteren besonders vorteilhaften Ausgestaltung Verbindungen zwischen Connection ultimately results in the output of the ANN. Therefore, in a further particularly advantageous embodiment, connections between
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. 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.
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. In a further particularly advantageous embodiment, 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. For example, the hardware used can dictate the maximum complexity of the ANN.
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. The invention also relates to a method for implementing an ANN on a predetermined arithmetic unit. In this method, a model of the ANN is trained in a training environment outside the arithmetic unit using the method described above. When the training is completed, activated neurons and connections between neurons are implemented on the arithmetic unit.
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. 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 available space and the heat budget in the control unit, or the amount of electricity available, then limit the hardware resources available for inferring the ANN.
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. In contrast, the training environment can be equipped with significantly more resources. For example, 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.
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. 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.
Es kann also allgemein vorteilhaft ausgehend von einem vorgegebenen It can therefore generally be advantageous on the basis of a predetermined one
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. 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.
Die Erfindung bezieht sich auch auf ein weiteres Verfahren. Bei diesem The invention also relates to another method. With this one
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 In the method, an artificial neural network, ANN, is initially trained with the method described above for training, and / or implemented on an arithmetic unit using the method described above for implementation. The ANN is then operated by supplying it with one or more input variables. Depending on the output variables supplied by the ANN, a vehicle, a robot, becomes a
Qualitätskontrollsystem, und/oder ein System zur Überwachung eines Bereichs auf der Basis von Sensordaten, angesteuert. Quality control system and / or a system for monitoring an area on the basis of sensor data.
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. In the method described, in particular an ANN can be selected which is designed as a classifier and / or regressor for physical measurement data recorded with at least one sensor. In applications in which only limited hardware, a limited amount of energy or a limited installation space is available, it then enables a meaningful evaluation of the physical measurement data that can be generalized to many situations using artificial intelligence. The sensor can be, for example, an imaging sensor, a radar sensor, a lidar sensor or an ultrasonic sensor.
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 In particular, 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
Rechenvorschriften. Diese Rechenvorschriften können in Form von Software vorliegen, oder in Form von Hardware, oder auch in einer Mischform aus Software und Hardware. Calculation rules. These calculation rules can be in the form of software, or in the form of hardware, or also in a mixed form of software and hardware.
Ebenso bezieht sich die Erfindung auch auf einen maschinenlesbaren The invention also relates to a machine-readable one
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 Data carrier or a download product with the computer program. 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
beispielsweise in einem Online-Shop zum sofortigen Download feilgeboten werden kann. for example, it can be offered for immediate download in an online shop.
Weiterhin kann ein Computer mit dem Computerprogramm, mit dem Furthermore, a computer with the computer program with which
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. be equipped with a machine-readable data carrier or with the download product, and / or specifically set up in any other way to carry out one of the described methods. Such a specific device can be implemented, for example, with field-programmable gate arrangements (FPGAs) and / or application-specific integrated circuits (ASICs).
Weitere, die Erfindung verbessernde Maßnahmen werden nachstehend gemeinsam mit der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung anhand von Figuren näher dargestellt. Further measures improving the invention are shown in more detail below together with the description of the preferred exemplary embodiments of the invention with reference to figures.
Ausführungsbeispiele Embodiments
Es zeigt: It shows:
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; 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;
Figur 3 Beispielhafte Komprimierung eines KNN 1. FIG. 3 Exemplary compression of an ANN 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 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. These steps are the
Übersichtlichkeit halber in Figur 1 nicht eingezeichnet. Not shown in FIG. 1 for the sake of clarity.
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 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. According to block 111, in particular the change in the cost function used in training the ANN 1 can be included in the measure for the quality 11.
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 beschriebenenIn step 120, several neurons 2 are evaluated using a measure for their respective quantitative contributions 21 to the previously determined quality 11. In particular, according to block 121, 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
Aktivierungsgüte ]M^ ermittelt werden. Insbesondere können Werte der Aktivierungsgüte ]M^ direkt als Beiträge 21 genutzt werden. Activation quality] M ^ can be determined. In particular, values of the activation quality] M ^ can be used directly as contributions 21.
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. On the basis of the evaluations 120a created in this way, 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.
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 Specifically, 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
beitragende Neuronen 2 geringer ist als für schwächer zur Qualität 11 beitragende Neuronen 2. contributing neurons 2 is lower than for weaker contributing neurons 2 to quality 11.
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. According to block 132, 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.
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. According to block 133, 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.
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 This can include, for example, that neurons 2, the quantitative contributions 21 of which meet a predetermined criterion, are deactivated according to sub-block 133a. According to sub-block 133b, connections 25 between neurons 2, the weights of which meet a predefined criterion, can also be deactivated. According to sub-block 133c, the number of activated neutrons can be reduced to a predetermined number in a targeted manner by
Neuronen 2 mit den geringsten quantitativen Beiträgen 21 zur Qualität 11 deaktiviert werden. Neurons 2 with the lowest quantitative contributions 21 to quality 11 are deactivated.
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 FIG. 2 shows an exemplary embodiment of the method 200 for implementing the ANN 1 on a predetermined arithmetic unit 4. In the optional step 205a, 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
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 Arithmetic unit 4 is located. In particular, according to optional step 206, 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. In step 210, the ANN 1 is trained according to the method 100 described above. Upon completion of training 210 activated neurons 2 and
Verbindungen 25 zwischen Neuronen 2 werden in Schritt 220 auf dem Connections 25 between neurons 2 are in step 220 on the
Rechenwerk 4 implementiert. Wie zuvor beschrieben, kann die Komprimierung während des Trainings 210 ein zu großes KNN für beschränkte Arithmetic unit 4 implemented. As previously described, during exercise 210 compression may be too large an ANN for limited
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. Make hardware resources "suitable". If this is not sufficient, the neurons 2, layers 3a, 3b, or connections 25 can be read out further after the training 210 has been completed.
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. 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.
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 the state shown in Figure 3a, the two layers 3a and 3b are still fully networked with one another, i.e. 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.
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. In the state shown in FIG. 3b, the rule was applied that all neurons 2 with quantitative contributions 21 of less than 0.5, as well as the connections 25 leading to these neurons 2, are deactivated. The neurons outlined in dashed lines in the first layer 3a have fallen victim to this rule. As a result, the number of connections 25 that are still active has been halved from 16 to 8, which correspondingly reduces the computational effort for the inference during operation of the ANN 1.

Claims

Ansprüche Expectations
1. Verfahren (100) zum Trainieren eines künstlichen neuronalen 1. Method (100) for training an artificial neural
Netzwerks, KNN (1), welches eine Vielzahl von Neuronen (2) umfasst, mit den Schritten: Network, ANN (1), which comprises a large number of neurons (2), with the steps:
• es wird ein Maß für die Qualität (11), die das KNN (1), und/oder ein • It becomes a measure of the quality (11), the ANN (1), and / or a
Teilbereich des KNN (1), innerhalb eines zurückliegenden Zeitraums insgesamt erzielt hat, ermittelt (110); Sub-area of the ANN (1), achieved overall within a previous period, determined (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); • one or more neurons (2) are evaluated (120) using a measure for their respective quantitative contributions (21) to the determined quality (11);
• 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). Measures (22) with which the evaluated neurons (2) are trained in the further course of the training, and / or place values (23) of these neurons (2) in the ANN (1), are based on the evaluations (120a) of the neurons (2) established (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. 2. The method (100) according to claim 1, wherein the measure of the quality is a measure of the training progress of the ANN (1), a measure of the utilization of the neurons of a layer or another sub-area of the ANN (1), and / or a Measure of the total utilization of the neurons of the ANN (1).
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. 3. The method (100) according to any one of claims 1 to 2, wherein the measure for the quality (11) is evaluated as a weighted or unweighted sum of quantitative contributions (21) of individual neurons (2).
4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei eine 4. The method (100) according to any one of claims 1 to 3, wherein a
Ä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). Change of a cost function, the optimization of which the training of the ANN (1) is aimed at, over the past period is included in the measure for the quality (11) (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. 5. The method (100) according to any one of claims 1 to 4, wherein quantitative contributions (21) of neurons (2) to the quality (11) are weighted higher (121), the shorter the time since these contributions (21) were made .
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). 6. The method (100) according to any one of claims 1 to 5, wherein amounts by which the weights assigned to neurons (2) in the ANN (1) are changed in at least one training step are amplified with a multiplicative factor ( 131), which is lower for neurons (2) with higher quantitative contributions (21) than for neurons (2) with lower quantitative contributions (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 7. The method (100) according to any one of claims 1 to 6, wherein neurons (2) are temporarily deactivated (132) with a during training
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). Probability that is higher for neurons (2) with higher quantitative contributions (21) than for neurons (2) with lower quantitative contributions (21).
8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei der zurückliegende Zeitraum mindestens eine Epoche des Trainings umfasst. 8. The method (100) according to any one of claims 1 to 7, wherein the previous period comprises at least one epoch of training.
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 9. The method (100) according to any one of claims 1 to 8, wherein neurons (2) with higher quantitative contributions (21) are assigned higher values in the ANN (1) than neurons (2) with lower quantitative ones
Beiträgen (21). Contributions (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). 10. The method (100) according to claim 9, wherein neurons (2) whose quantitative contributions (21) meet a predetermined criterion are deactivated (133a) in the ANN (1).
11. Verfahren (100) nach einem der Ansprüche 9 bis 10, wobei 11. The method (100) according to any one of claims 9 to 10, wherein
Verbindungen (25) zwischen Neuronen (2), deren Gewichte ein vorgegebenes Kriterium erfüllen, im KNN (1) deaktiviert werden (133b). Connections (25) between neurons (2), the weights of which meet a predetermined criterion, are deactivated in the ANN (1) (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). 12. The method (100) according to any one of claims 9 to 11, wherein the number of neurons (2) activated in the ANN (1) and / or in a sub-area of the ANN (1) from a first number to a predetermined second number is reduced by deactivating neurons (2) with the lowest quantitative contributions (21) (133c).
13. Verfahren (200) zum Implementieren eines KN N (1) auf einem vorgegebenen Rechenwerk (4) mit den Schritten: 13. Method (200) for implementing a KN N (1) on a given arithmetic logic unit (4) with the steps:
• ein Modell (la) des KNN (1) wird in einer Trainingsumgebung (5) • a model (la) of the ANN (1) is used in a training environment (5)
außerhalb des Rechenwerks (4) mit dem Verfahren (100) nach einem der Ansprüche 1 bis 12 trainiert (210); trained (210) outside of the arithmetic logic unit (4) with the method (100) according to one of claims 1 to 12;
• bei Abschluss des Trainings (210) aktivierte Neuronen (2) und • at the end of the training (210) activated neurons (2) and
Verbindungen (25) zwischen Neuronen (2) werden auf dem Rechenwerk (4) implementiert (220). Connections (25) between neurons (2) are implemented (220) on the arithmetic unit (4).
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. 14. The method (200) according to claim 13, wherein an arithmetic unit (4) is selected (205a), which hardware resources for a predetermined number of neurons (2), layers (3a, 3b) of neurons (2) and / or connections ( 25) between neurons (2), and where a model (la) of the ANN (1) is selected (205b), its number of neurons (2), layers (3a, 3b) of neurons (2) and / or connections (25) between neurons (2) exceeds the specified number.
15. Verfahren mit den Schritten: 15. Procedure with the steps:
• 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; • an artificial neural network, KNN (1), is trained with the method (100) according to one of claims 1 to 12, and / or implemented with the method (200) according to one of claims 13 to 14;
• das KNN (1) wird betrieben, indem ihm eine oder mehrere • the ANN (1) is operated by giving it one or more
Eingangsgrößen zugeführt werden; Input variables are fed;
• 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. • Depending on the output variables supplied by the ANN (1), a vehicle, a robot, a quality control system and / or a system for monitoring an area on the basis of sensor data is controlled.
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. 16. Computer program, containing machine-readable instructions which, when executed on a computer and / or on a control device and / or on an embedded system, the computer, the control device, and / or cause the embedded system to carry out a method according to one of claims 1 to 15.
17. Maschinenlesbarer Datenträger und/oder Downloadprodukt mit dem Computerprogramm nach Anspruch 16. 17. Machine-readable data carrier and / or download product with the computer program according to claim 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. 18. Computer equipped with the computer program according to claim 16, with the machine-readable data carrier or with the download product according to claim 17, and / or otherwise specifically set up to carry out a method (100, 200) according to one of claims 1 to 15 .
EP20705699.5A 2019-03-01 2020-02-17 Training neural networks for efficient implementation on hardware Withdrawn EP3931760A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019202816.0A DE102019202816A1 (en) 2019-03-01 2019-03-01 Training of neural networks for efficient implementation on hardware
PCT/EP2020/054054 WO2020178009A1 (en) 2019-03-01 2020-02-17 Training neural networks for efficient implementation on hardware

Publications (1)

Publication Number Publication Date
EP3931760A1 true EP3931760A1 (en) 2022-01-05

Family

ID=69593701

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20705699.5A Withdrawn EP3931760A1 (en) 2019-03-01 2020-02-17 Training neural networks for efficient implementation on hardware

Country Status (5)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202021102832U1 (en) 2021-05-25 2021-06-24 Albert-Ludwigs-Universität Freiburg Device for training neural networks with regard to hardware and energy requirements
DE102021205300A1 (en) 2021-05-25 2022-12-01 Robert Bosch Gesellschaft mit beschränkter Haftung Training of neural networks with regard to hardware and energy requirements

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5288645A (en) 1992-09-04 1994-02-22 Mtm Engineering, Inc. Hydrogen evolution analyzer

Also Published As

Publication number Publication date
WO2020178009A1 (en) 2020-09-10
CN113454655A (en) 2021-09-28
US20220101088A1 (en) 2022-03-31
DE102019202816A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
DE102012009502A1 (en) Method for training an artificial neural network
DE10296704T5 (en) Fuzzy inference network for the classification of high-dimensional data
DE102019209644A1 (en) Method for training a neural network
DE102019204139A1 (en) Training for artificial neural networks with better utilization of the learning data sets
EP1934895A2 (en) Method for the computer-aided studying of a neural network, and neural network
EP3931760A1 (en) Training neural networks for efficient implementation on hardware
DE102021212276A1 (en) KNOWLEDGE DRIVEN AND SELF SUPERVISED QUESTION ANSWERING SYSTEM
DE102018127802A1 (en) HYBRID CLASSIFIER OF A PULSED NEURONAL NETWORK AND SUPPORT VECTOR MACHINE
DE102019007340A1 (en) Technology for setting up and operating a neural network
DE102019204118A1 (en) Method for transferring a feature of a first image to a second image
DE102019206047A1 (en) Training of trainable modules with learning data whose labels are noisy
DE102019206049A1 (en) Detection and elimination of noise in labels of learning data for trainable modules
DE102020122979A1 (en) Method for providing a compressed, robust neural network and assistance device
DE202021102832U1 (en) Device for training neural networks with regard to hardware and energy requirements
DE102020214850A1 (en) Energy and memory efficient training of neural networks
WO2021004741A1 (en) More robust training for artificial neural networks
WO2021089499A1 (en) Method and system for checking an automated driving function by reinforcement learning
DE102020205542A1 (en) Preparation of learning data sets with noisy labels for classifiers
DE102019130484A1 (en) Method and device for training an ensemble of neural networks
DE112019006203T5 (en) Method for classifying content and method for generating a classification model
DE102019131639B4 (en) System for providing an explanation data set for an AI module
DE102019214308B4 (en) Fast quantized training of trainable modules
DE102022207726A1 (en) Further training of neural networks for the evaluation of measurement data
DE102020210729A1 (en) Training of classifier networks for a better explainability of the obtained classification scores
DE202024100807U1 (en) Reinforcement learning through preference feedback

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211001

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231031

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20240130