FAST AND ENERGY-SAVING ITERATIVE OPERATION OF ARTIFICIAL NEURAL NETWORKS
Patent Information
- Application Number
- DE502021007691
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-04-13
- Publication Date
- 2025-07-03
- Estimated Expiration
- 2041-04-13
AI Technical Summary
Existing artificial neural networks (ANNs) face challenges in efficiently processing data on vehicles with limited hardware and energy resources, particularly when requiring iterative processing for accurate output generation.
A method is introduced where an ANN includes an iterative block that executes multiple times, with parameters adjusted based on the output of an auxiliary ANN. This approach allows for efficient processing using fewer hardware resources by iteratively processing data within internal memory, reducing the need for external memory access.
The method enables ANNs to operate effectively with reduced hardware size and energy consumption, particularly beneficial for vehicle control units, while maintaining high classification accuracy and flexibility.
Description
[0001] The present invention relates to the operation of artificial neural networks, in particular under the constraint of limited hardware and energy resources on board vehicles. State of the art
[0002] Driving a vehicle in traffic by a human driver is usually trained by repeatedly confronting a learner driver with a specific set of situations as part of their training. The learner driver must react to these situations and receives feedback, through comments or even intervention from the driving instructor, as to whether their reaction was correct or incorrect. This training, with a finite number of situations, is intended to enable the learner driver to master even unfamiliar situations while driving independently.
[0003] To enable vehicles to participate in road traffic in a fully or partially automated manner, the aim is to control them using neural networks that can be trained in a similar way. These networks receive, for example, sensor data from the vehicle's surroundings as inputs and provide, as outputs, control signals that intervene in the vehicle's operation and / or precursors from which such control signals are formed. For example, a classification of objects in the vehicle's surroundings and / or a semantic segmentation of the vehicle's surroundings could be such precursors.
[0004] (M. Hemmat et al., "Dynamic Reconfiguration of CNNs for Input-Dependent Approximation," 20th International Symposium on Quality Electronic Design (ISQED), IEEE, March 6, 2019, pp. 176-182, doi: 10.1109 / ISQED.2019.8697843) and (T. Pfeil, "ItNet: iterative neural networks with small graphs for accurate and efficient anytime prediction," arXiv: 2101.08685v2) each disclose methods in which a part of a neural network is repeatedly executed as an iterative block. The parameters that characterize the operation of the layers in the iterative block are changed from iteration to iteration according to a predefined rule. Summary of the invention
[0005] The invention is defined by the subject matter of the claims. Examples and embodiments not covered by the claims are presented to define the claimed invention and facilitate its understanding. Disclosure of the invention
[0006] Within the scope of the invention, a method for operating an artificial neural network (ANN) was developed. The ANN processes inputs in a sequence of layers to produce outputs. These layers can include, for example, convolutional layers, pooling layers, or fully connected layers.
[0007] The inputs of the ANN can, for example, include measurement data recorded with one or more sensors. The outputs of the ANN can, for example, include one or more classification scores that express the assignment of the measurement data to one or more classes of a given classification.
[0008] Within the ANN, at least one iterative block consisting of one or more layers is defined. This iterative block must be executed multiple times during the processing of a specific set of inputs to a specific set of outputs.
[0009] For this purpose, a maximum number of iterations (J) is specified for which the iterative block should be executed. An input of the iterative block is then mapped by the iterative block to an output. This output is fed back to the iterative block as input and is then mapped by the iterative block to a new output. After the iterations of the iterative block are completed, the output provided by the iterative block is fed as input to the ANN layer following the iterative block. However, if the iterative block is not followed by a further ANN layer, this output is provided as the ANN output.
[0010] The maximum number J of iterations to be performed can be determined, for example, based on the available hardware resources and / or computing time. However, iteration can also be terminated prematurely if a predefined termination criterion is met. For example, iteration can be terminated when the output of the iterative block has converged sufficiently well toward a final result.
[0011] By executing the iterative block multiple times, the hardware on which the iterative block is implemented is iterated multiple times as it processes a specific ANN input to a specific ANN output. Therefore, a given processing task can be performed with fewer hardware resources than if the data were passed through the hardware only once in one direction. The overall hardware size can therefore be smaller, which is particularly advantageous for vehicle control units.
[0012] One or more parameters that characterize the behavior of the layers in the iterative block are changed when switching between the iterations for which the iterative block is executed. Parameters that characterize the behavior of the layers in the iterative block are set or modulated based on the output of an auxiliary ANN. This auxiliary ANN receives an input of the iterative block, and / or the parameters that characterize the behavior of the layers in the iterative block, and / or a processing product formed in a layer of the ANN downstream of the iterative block, and / or a running index of the iteration currently executed by the iterative block as inputs.
[0013] In this context, "modulation" is understood, for example, to mean that a parameter is not completely redefined in isolation from its previous history, but rather is developed based on this history and in harmony with it. For example, the parameter can fluctuate around a mean value.
[0014] It was discovered that the auxiliary ANN can model very complex functions for changing parameters when switching between iterations in a very compact form. This increased flexibility, in turn, means that the iterative block can be implemented at a significantly smaller size, i.e., with significantly fewer neurons or other processing units, while still fulfilling its function well in relation to the application at hand. This is because the graph formed by the neurons or other processing units of the iterative block, through which the data input to the ANN must traverse, can be significantly smaller thanks to the more flexible parameter adjustment.
[0015] This, in turn, makes it easier to execute the iterative block on a processing unit, such as a CPU or an FPGA, using the internal memory of that processing unit without having to resort to external memory (such as DDR RAM). Internal processor memory, such as cache memory and especially registers, can be accessed orders of magnitude faster than DDR RAM, but can store orders of magnitude less data. At the same time, access to internal processor memory is significantly more energy-efficient because no signals need to be communicated over external lines.
[0016] Furthermore, changing the parameters based on the output of the auxiliary ANN is particularly advantageous in that such an auxiliary ANN is particularly good at meaningfully combining different inputs from very different data types into a single output. For example, a processing product generated in a layer of the ANN downstream of the iterative block can be combined with the input of the iterative block. The processing product can, for example, be the output of the ANN as a whole. For an ANN used as an image classifier, this output can be a vector of classification scores for different classes. The input of the iterative block, on the other hand, can then comprise, for example, one or more feature maps formed by convolutional layers that were generated by applying filter kernels.
[0017] Processing the auxiliary ANN incurs additional overhead. However, this auxiliary ANN is typically significantly smaller than the iterative block. Thus, the savings from potentially reducing the size of the iterative block ultimately outweigh the costs.
[0018] In a particularly advantageous embodiment, new values for the parameters of the iterative block, and / or updates for these parameters, are determined based on a differentiable function of the output of the auxiliary ANN. This facilitates training the auxiliary ANN together with the main ANN to the common end goal specified by the respective application. Based on an evaluation of the final output of the ANN with a cost function (loss function), gradients of the parameters of the iterative block can then be seamlessly backpropagated into the auxiliary ANN. If the transition from the auxiliary ANN to the parameters of the iterative block is not differentiable, a differentiable approximation is required for this backpropagation.
[0019] In another particularly advantageous embodiment, at least one parameter of the iterative block is modulated by executing a machine instruction that can be executed faster on the hardware platform used for this purpose than setting this parameter to an arbitrary value. Examples of such operations include incrementing and decrementing, as well as bitwise shifting, which causes multiplication or division by a power of two. This accelerates the adjustment of the parameters of the iterative block between iterations.
[0020] In another particularly advantageous embodiment, only some of the parameters that characterize the behavior of the layers in the iterative block are changed when switching between the iterations for which the iterative block is executed. Neither are all parameters changed, nor are all parameters fixed. The flexibility achieved by changing the parameters in the iterative block is not "free," but always requires some time and energy.
[0021] It was recognized that, starting from a state in which all parameters are fixed, changing a few parameters results in a gain in flexibility that significantly reduces the required size of the ANN and, at the same time, significantly improves classification accuracy, for example in the case of classifiers. In contrast, the additional energy and / or time required to change these few parameters between iterations is not significant. To a first approximation, the gain in flexibility therefore results in a certain quantum of beneficial effect for each additionally changed parameter. This effect is particularly large for the first few changed parameters and then decreases relatively quickly until it reaches saturation. The price in energy and / or speed that must be paid for each additionally changed parameter, however, is constant to a first approximation.Therefore, when a certain number of parameters are changed, a "break-even point" is reached, beyond which changing even more parameters is more detrimental than beneficial.
[0022] Therefore, in a particularly advantageous embodiment, starting from at least one iteration, a proportion of between 1% and 20%, preferably between 1% and 15%, of the parameters that characterize the behavior of the layers in the iterative block are changed when changing to the next iteration.
[0023] In a further advantageous embodiment, a first set of parameters is changed during a first change between iterations, and a second set of parameters is changed during a second change between iterations. The second set is not identical to the first set. However, both sets can each contain the same number of parameters. In this way, the iteratively executed block can gain even more flexibility without requiring additional expenditure of time or energy.
[0024] In another particularly advantageous embodiment, an ANN is selected that initially processes inputs using multiple convolutional layers and, from the result obtained, uses at least one additional layer to determine at least one classification score with respect to a predefined classification. The iterative block is then defined such that it includes at least some of the convolutional layers. This allows for significant hardware savings compared to implementing an ANN that is only run through once and in only one direction. It is particularly advantageous if the first convolutional layer, to which the ANN inputs are fed, is not yet part of the iterative block. This convolutional layer then still offers maximum flexibility to reduce the dimensionality of the input in a meaningful way. The number of computing operations required for this is then not increased by the iterative execution.In the further, iteratively executed convolutional layers, features can then be successively extracted from the inputs before the classification score is then determined from these features, for example with a fully networked layer.
[0025] The inputs can be, for example, image data and / or time series data. These data types are particularly high-dimensional, making processing with iteratively executed convolutional layers particularly advantageous.
[0026] As explained above, at least the iterative block of the ANN can be executed on at least one computing unit using machine instructions that exclusively access an internal memory of this computing unit. This computing unit can be, for example, a CPU or an FPGA. A register memory and / or a cache memory can then be selected as the internal memory.
[0027] An existing, fully trained ANN can be implemented without retraining using a "lift-and-shift" approach to operate using the method described here. However, the ANN delivers even better results if it can adapt to the fact that it will be operated using this method during training. The invention therefore also relates to a method for training an ANN to operate using the method described above.
[0028] In this method, learning inputs and corresponding learning outputs are provided, to which the ANN is to map the learning inputs. The ANN maps the learning inputs to outputs. The deviation of the outputs from the learning outputs is evaluated using a predefined cost function.
[0029] The parameters that characterize the behavior of the layers in the iterative block, including their changes when switching between iterations, and / or parameters that characterize the behavior of the auxiliary ANN are optimized such that the evaluation by the cost function is expected to improve as the ANN further processes learning inputs.
[0030] Within certain limits, it is possible to choose the extent to which the parameters of the iterative block are determined by the auxiliary ANN and the extent to which the parameters of the iterative block can also be changed independently of the auxiliary ANN. If the parameters of the iterative block are completely determined by the auxiliary ANN, only the parameters of the auxiliary ANN need to be optimized. If the parameters of the iterative block can also be changed independently of the auxiliary ANN, the optimization should also extend to these possible independent changes.
[0031] In this way, for example, a given number of parameters that are to be changed when switching between iterations can be exploited in such a way that the flexibility gained thereby enables the best possible performance of the ANN with regard to the trained task.
[0032] However, an additional optimization objective may also be to determine which and / or how many parameters that characterize the behavior of the layers in the iterative block should be changed when switching between iterations. For this purpose, the cost function can, for example, include a contribution that depends on the number of parameters changed when switching between iterations, the rate of change of these changed parameters, and / or the absolute or relative change across all parameters. In this way, for example, the advantage of the flexibility gained by additionally changing a parameter can be weighed against the energy and time required for this change.
[0033] This contribution can, for example, take the form L = ∑ j J − 1 ∑ i I w i j w i j + 1 have. This includes w i j the parameters that characterize the behavior of the layers in the iterative block. The subscript i denotes the individual parameters, the superscript j denotes the iterations. I denotes the total number of parameters present, and J denotes the total number of iterations. L thus measures the absolute or relative change across all parameters according to an arbitrary norm, such as an L 0 -norm, an L 1 -norm, an L 2 -norm, or an L ∞ -norm. An L 0 -norm measures the number of parameters that change.
[0034] In a further advantageous embodiment, simultaneously and / or alternately with the parameters that characterize the behavior of the layers in the iterative block, other parameters that characterize the behavior of other neurons and / or other processing units of the ANN outside the iterative block can also be optimized for a presumably better evaluation by the cost function. Then, for example, the non-iteratively executed parts of the ANN can at least partially compensate for losses in accuracy that result from the sacrifice of flexibility made in the iterative block of the ANN.
[0035] As previously explained, the iterative execution of parts of an ANN is particularly advantageous on-board vehicles, where both additional hardware space and energy from the vehicle's electrical system are limited resources.
[0036] The invention therefore also relates to a control unit for a vehicle. This control unit comprises an input interface that can be connected to one or more sensors of the vehicle, as well as an output interface that can be connected to one or more actuators of the vehicle. The control unit further comprises an ANN. This ANN is involved in processing measurement data obtained from the sensor(s) via the input interface into a control signal for the output interface. Furthermore, this ANN is configured to carry out the method described above. In this environment, the previously discussed savings in both hardware resources and energy are particularly advantageous.
[0037] In particular, the methods can be fully or partially computer-implemented. Therefore, the invention also relates to a computer program with machine-readable instructions that, when executed on one or more computers, cause the computer(s) to execute one of the described methods. In this sense, control units for vehicles and embedded systems for technical devices that are also capable of executing machine-readable instructions are also to be considered computers.
[0038] The invention also relates to a machine-readable data carrier and / or to a downloadable product containing the computer program. A downloadable product is a digital product that can be transmitted over a data network, i.e., downloaded by a user of the data network, and which can be offered for immediate download, for example, in an online shop.
[0039] Furthermore, a computer can be equipped with the computer program, the machine-readable data carrier or the download product.
[0040] Further measures improving the invention are presented in more detail below together with the description of the preferred embodiments of the invention with reference to figures. Examples of implementation
[0041] It shows: Figure 1 Embodiment of the method 100 for operating the ANN 1; Figure 2 Exemplary implementation of the method 100 on a classifier network; Figure 3 Embodiment of the method 200 for training the KNN 1; Figure 4 Embodiment of the control unit 51 for a vehicle 50; Figure 5 Illustration of the advantage of changing only some parameters of the iterative block.
[0042] Figure 1is a schematic flow diagram of an embodiment of the method 100 for operating the ANN 1. The ANN 1 comprises a sequence of layers 12a-12c, 13a-13b, with which it processes inputs 11 to outputs 14. These layers are in Figure 2 explained in more detail.
[0043] In step 110, at least one iterative block 15 consisting of one or more layers 12a-12c is defined within the ANN 1, which is to be executed multiple times. In step 120, a number J of iterations is defined for which this iterative block 15 is to be executed.
[0044] According to the architecture of the ANN 1, the iterative block 15 receives a specific input 15a. This input 15a is mapped to an output 15b by the iterative block 15 in step 130. The behavior of the iterative block 15 is characterized by parameters 15c. These parameters 15c can, for example, be weights with which inputs supplied to a neuron or another processing unit of the ANN 1 are calculated to activate this neuron or this other processing unit.
[0045] In step 140, parameters 15c, which characterize the behavior of the layers 12a-12c in the iterative block 15, are determined or modulated based on the output 17a of an auxiliary ANN 17. This auxiliary ANN 17 receives an input 15a of the iterative block 15, and / or a processing product 13c formed in a layer 13b of the ANN 1 downstream of the iterative block 15, and / or the parameters 15c that characterize the behavior of the iterative block 15, and / or a continuous index 15d of the iteration currently executed by the iterative block 15 as inputs.
[0046] In this case, in particular, for example, according to block 141, new values of the parameters 15c and / or updates for these parameters 15c can be determined using a differentiable function of the output 17a of the auxiliary ANN 17.
[0047] According to block 142, at least one parameter 15c can be modulated, for example, by executing a machine instruction that can be executed faster on the hardware platform used for this purpose than setting this parameter 15c to an arbitrary value. The operation effected by this machine instruction can, according to block 142a, be, for example, an increment, a decrement, or a bitwise shift.
[0048] According to block 143, for example, only a portion 15c' of the parameters 15c can be changed before the iterative block 15 is executed in the next iteration. Thus, neither all parameters 15c remain unchanged, nor are all parameters 15c changed.
[0049] To perform the next iteration, in step 150 the output 15b previously generated by the iterative block 15 is again fed to the iterative block 15 as input 15a.
[0050] In step 160, a check is made to determine whether the iterations of iterative block 15 have been completed. The iterations are completed when J iterations have already been completed or when another predefined termination criterion is met, whichever occurs first. If the iterations are not yet completed (truth value 0), a branch is made back in step 140 to change a part 15c' of the parameters and then to complete another iteration in step 150. If, however, the iterations are completed (truth value 1), in step 170, the output 15b of iterative block 15 is fed as input to the layer 13b of the ANN 1 following the iterative block 15. If, however, there is no such subsequent layer 13b, the output 15b of iterative block 15 is provided as output 14 of the ANN 1.
[0051] Optionally, in step 105, a KNN 1 can be selected that initially processes inputs 11 with several convolutional layers 13a, 12a-12c and, from the result obtained, determines at least one classification score 2a with respect to a given classification 2 as output 15 with at least one further layer 13b. According to block 111, the iterative block 15 can then be defined such that it comprises at least a portion 12a-12c of the convolutional layers 13a, 12a-12c. This is shown in Figure 2 shown in more detail.
[0052] In particular, for example, in accordance with block 105a, image data and / or time series data can be selected as inputs 11 of the ANN 1.
[0053] The mapping of an input 15a of the iterative block 15 to an output 15b may, according to block 131, in particular include, for example, weighted summing (multiply and accumulate, MAC) of inputs supplied to neurons and / or other processing units in the iterative block using analog electronics.
[0054] According to block 132 or 152, in particular, for example, at least the iterative block 15 of the ANN 1 can be executed on at least one computing unit using machine instructions that exclusively access an internal memory of this computing unit. In particular, according to block 132a or 152a, a CPU or an FPGA can be selected as the computing unit. According to block 132b or 152b, in particular, for example, a register memory and / or a cache memory can be selected as the internal memory.
[0055] According to block 143a, in particular, for example, a proportion 15c' of between 1% and 20%, preferably between 1% and 15%, of the parameters 15c characterizing the behavior of the layers 12a-12c in the iterative block 15 can be changed when changing to the next iteration.
[0056] According to block 143b, a first part 15c' of the parameters 15c can be changed during a first change between iterations and a second part 15c" of the parameters 15c can be changed during a second change between iterations. The second part 15c" is not congruent with the first part 15c'.
[0057] Figure 2 shows an exemplary implementation of the method on a classifier network as KNN 1. The KNN 1 receives measurement data as inputs 11 and outputs classification scores 2a for these measurement data with respect to a given classification 2 as outputs 14.
[0058] For this purpose, the dimensionality of the measurement data is reduced in a first convolutional layer 13a, before successive features are detected in the measurement data in further convolutional layers 12a-12c. This further detection of features can, for example, occur simultaneously or sequentially at different size scales.
[0059] The additional convolutional layers 12a-12c are combined into the iterative block 15, which receives its input from the first convolutional layer 13a and is executed multiple times. The output 15b of each iteration is used as the input 15a of the next iteration.
[0060] Once the iterations of iterative block 15 are completed, the output 15b of iterative block 15 is passed to the fully connected layer 13b, where the classification scores 2a are generated. Alternatively, a classification score 2a can also be calculated at each iteration.
[0061] Additionally, an auxiliary ANN 17 is provided to determine or modulate parameters 15c, which characterize the behavior of the layers 12a-12c in the iterative block 15, based on the output 17a of this auxiliary ANN 17. In the Figure 2 example shown are an input 15a of the iterative block 15, and / or a processing product 13c formed in a layer 13b of the ANN 1 downstream of the iterative block 15, and / or the parameters 15c that characterize the behavior of the iterative block 15, and / or a continuous index 15d of the iteration currently executed by the iterative block 15 as inputs to the auxiliary ANN 17.
[0062] Figure 3 is a schematic flow diagram of an embodiment of the method 200 for training the ANN 1.
[0063] In step 210, learning inputs 11a and associated learning outputs 14a, to which the ANN 1 is to map the learning inputs 11a, are provided. These learning inputs 11a are mapped by the ANN 1 to outputs 14 in step 220. The deviation of the outputs 14 from the learning outputs 14a is evaluated in step 230 using a predetermined cost function 16.
[0064] In step 240, the parameters 15c, which characterize the behavior of the layers 12a-12c, 13a in the iterative block 15, including their changes when switching between iterations, and / or parameters 17b, which characterize the behavior of the auxiliary ANN 17, are optimized such that the evaluation 16a by the cost function 16 is expected to improve upon further processing of learning inputs 11a by the ANN 1.
[0065] In step 250, simultaneously or alternately, further parameters 1c, which characterize the behavior of further neurons and / or other processing units of the ANN 1 outside the iterative block 15, are optimized to a presumably better evaluation 16a by the cost function 16.
[0066] The fully trained state of the parameters 15c is denoted by the reference symbol 15c*. The fully trained state of the parameters 17b is denoted by the reference symbol 17b*. The fully trained state of the parameters 1c is denoted by the reference symbol 1c*.
[0067] Figure 4shows an embodiment of the control unit 51 for a vehicle 50. The control unit 51 has an input interface 51a, which is connected here to a sensor 52 of the vehicle 50 and receives measurement data 52a from this sensor 52. The measurement data 52a are processed with the assistance of an ANN 1 into a control signal 53a, which is intended for an actuator 53 of the vehicle 50. The control signal 53a is forwarded to the actuator 53 via an output interface 51b of the control unit 51, to which the actuator 53 is connected.
[0068] Figure 5schematically illustrates the advantage of changing only a part 15c' of the parameters 15c that characterize the behavior of the iterative block 15 when switching between iterations. Both the classification accuracy A of an ANN 1 used as a classifier network and the energy costs C for operating this ANN 1 are plotted against the quotient 15c' / 15c of the number of changed parameters 15c' and the total number of parameters 15c present.
[0069] Certain energy costs C are incurred even if no parameters 15c are changed. Starting from this base amount, the energy costs C increase linearly with the number of changed parameters 15c'. However, the classification accuracy A increases nonlinearly. It already increases significantly when only a few parameters 15c' are changed. This growth weakens as the number of changed parameters 15c' increases and eventually reaches saturation. It is therefore advantageous to exploit the initial large increase in classification accuracy A for a small price in additional energy costs C.
Claims
1. Computer-implemented method (100) for operating an artificial neural network, ANN (1), which processes inputs (11) in a sequence of layers (12a-12c, 13a-13b) to form outputs (14), the method comprising the following steps: • within the ANN (1), at least one iterative block (15) composed of one or more layers (12a-12c) is defined (110), which is to be executed a number of times; • a number J of iterations is defined (120) which is a maximum number of times this iterative block (15) is intended to be executed; • an input (15a) of the iterative block (15) is mapped (130) onto an output (15b) by the iterative block (15); • this output (15b) is fed (150) to the iterative block (15) again as input (15a) and is in turn mapped onto a new output (15b) by the iterative block (15); • after the iterations of the iterative block (15) have been completed (160), the output (15b) supplied by the iterative block (15) is fed (170) as input to the layer (13b) of the ANN (1) following the iterative block (15) or is provided as output (14) of the ANN (1), • wherein parameters (15c) that characterize the behaviour of the layers (12a-12c) in the iterative block (15) are defined or modulated (140) on the basis of the output (17a) of an auxiliary ANN (17), which receives the following as inputs: ∘ an input (15a) of the iterative block (15), or ∘ a processing product (13c) formed in a layer (13b) of the ANN (1) downstream of the iterative block (15), or ∘ the parameters (15c) that characterize the behaviour of the iterative block (15), or ∘ a continuous index (15d) of the iteration currently being executed by the iterative block (15), and • wherein at least the iterative block (15) of the ANN (1) is executed (132, 152) on at least one computing unit using machine instructions that exclusively access an internal memory of this computing unit.
2. Method (100) according to Claim 1, wherein new values of the parameters (15c), and / or updates for these parameters (15c), are defined (141) with the aid of a differentiable function of the output (17a) of the auxiliary ANN (17).
3. Method (100) according to either of Claims 1 and 2, wherein at least one parameter (15c) is modulated (142) by executing a machine instruction that is executable on the hardware platform used for this purpose more rapidly than the setting of this parameter (15c) to an arbitrary value.
4. Method (100) according to Claim 3, wherein the at least one parameter (15c) is modulated (142a) by incrementing, decrementing or bitwise shift.
5. Method (100) according to any of Claims 1 to 4, wherein only a portion (15c') of the parameters (15c) that characterize the behaviour of the layers (12a-12c) in the iterative block (15) is changed (143) upon the switching between the iterations for which the iterative block (15) is executed.
6. Method (1) according to Claim 5, wherein starting from at least one iteration, a proportion (15c') of between 1% and 20%, preferably between 1% and 15%, of the parameters (15c) that characterize the behaviour of the layers (12a-12c) in the iterative block (15) are changed (143a) upon the switching to the next iteration.
7. Method (100) according to either of Claims 5 and 6, wherein the method comprises changing (143b) a first portion (15c') of the parameters (15c) upon a first switching between iterations and a second portion (15c") of the parameters (15c) upon a second switching between iterations, wherein the second portion (15c") is not congruent with the first portion (15c').
8. Method (100) according to any of Claims 1 to 7, wherein an ANN (1) is selected (105) which firstly processes inputs (11) using a plurality of convolutional layers (13a, 12a-12c) and, from the result obtained in the process, using at least one further layer (13b), determines at least one classification score (2a) in relation to a predefined classification (2) as output (15), and wherein the iterative block (15) is defined (111) such that it comprises at least one portion (12a-12c) of the convolutional layers (13a, 12a-12c).
9. Method (100) according to Claim 8, wherein image data or time series data are selected (105a) as inputs (11) of the ANN (1).
10. Method (100) according to any of Claims 1 to 9, wherein a CPU or an FPGA is selected (132a, 152a) as a computing unit, and wherein a register memory, or a cache memory, is selected (132b, 152b) as an internal memory.
11. Computer-implemented method (200) for training an artificial neural network, ANN (1), for operation according to the method (100) according to any of Claims 1 to 8, comprising the following steps: • learning inputs (11a) and associated learning outputs (14a) onto which the ANN (1) is intended to map the respective learning inputs (11a) are provided (210); • the learning inputs (11a) are mapped (220) onto outputs (14) by the ANN (1); • the deviation of the outputs (14) from the learning outputs (14a) is assessed (230) using a predefined loss function (16); • the parameters (15c) that characterize the behaviour of the layers (12a-12c, 13a) in the iterative block (15), including their changes upon the switching between the iterations, or parameters (17b) that characterize the behaviour of the auxiliary ANN (17), are optimized (240) to the effect that upon further processing of learning inputs (11a) by the ANN (1), the assessment (16a) by the loss function (16) is expected to improve.
12. Method (200) according to Claim 11, wherein the loss function (16) contains (231) a contribution that depends on the number of parameters (15c) changed upon the switching between iterations, on the rate of change of these changed parameters (15c), or on the absolute or relative change over all parameters (15c).
13. Method (200) according to either of Claims 11 and 12, wherein simultaneously or alternately with the parameters (15c) that characterize the behaviour of the layers (12a-12c, 13a) in the iterative block (15), further parameters (1c) that characterize the behaviour of further neurons or other processing units of the ANN (1) outside the iterative block (15) are also optimized (250) to an assessment (16a) by the loss function (16) that is expected to be better.
14. Control unit (51) for a vehicle (50), comprising an input interface (51a), which is connectable to one or more sensors (52) of the vehicle (50), an output interface (51b), which is connectable to one or more actuators (53) of the vehicle (50), and an artificial neural network, ANN (1), wherein this ANN (1) participates in the processing of measurement data (52a) obtained via the input interface (51a) from the sensor(s) (52) to form a control signal (53a) for the output interface (51b) and is prepared for carrying out the method (100) according to any of Claims 1 to 13.
15. Computer program containing machine-readable instructions that, when they are executed on one or more computers, cause the one or more computers to carry out a method (100, 200) according to any of Claims 1 to 13.
16. Machine-readable data carrier or download product comprising the computer program according to Claim 15.
17. Computer equipped with the computer program according to Claim 15, and / or with the machine-readable data carrier or download product according to Claim 16.