METHOD, COMPUTER SYSTEM AND COMPUTER PROGRAM FOR CONTROLLING AN ACTUATOR
20210089911 ยท 2021-03-25
Inventors
- Christoph Schorn (Leonberg, DE)
- Jaroslaw Topp (Renningen, DE)
- Lydia Gauerhof (Sindelfingen, DE)
- Stefan Gehrer (Pittsburgh, PA, US)
Cpc classification
G06F11/0739
PHYSICS
G06F11/0796
PHYSICS
International classification
Abstract
A method for controlling an actuator. The method includes: mapping parameters of a trained machine learning system that have a magnitude from a first set of different possible magnitudes to a magnitude of at least one predefinable second set of different possible magnitudes; storing the converted parameters in a memory block in each case; ascertaining an output variable of the machine learning system as a function of an input variable and the stored parameters. The stored parameters are read out from the respective memory block with the aid of at least one mask. The actuated is actuated as a function of the ascertained output variable. A computer system, a computer program, and a machine-readable memory element in which the computer program is stored are also described.
Claims
1-11. (canceled)
12. A method for controlling an actuator, comprising the following steps: mapping parameters of a trained machine learning system which have a magnitude from a first set of different possible magnitudes to a magnitude of at least one predefinable second set of different possible magnitudes, in each case, the second set of different possible magnitudes having fewer magnitudes than the first set of different possible magnitudes; storing each of the mapped parameters in a respective memory block; ascertaining an output variable of the machine learning system as a function of an input variable and the stored parameters, each of the stored parameters being read out from the respective memory block using at least one mask, and only particular bits of the respective memory block are taken into account using the mask that are required to represent a maximum magnitude of the second set of different possible magnitudes; and actuating the actuator as a function of the ascertained output variable.
13. The method as recited in claim 12, wherein a maximum magnitude of the first set of different possible magnitudes is greater than the maximum magnitude of the second set of different possible magnitudes.
14. The method as recited in claim 12, wherein the machine learning system includes a deep neural network, magnitudes of parameters that are allocated to a layer of the deep neural network are mapped to one of a plurality of magnitudes of a respective allocated set of different possible magnitudes of the layer, different masks being used for reading out the parameters for respective layers of the deep neural network.
15. The method as recited in claim 12, wherein each of a predefinable number of the memory blocks is subdivided into a plurality of segments, and one of the parameters is stored in each segment, wherein the mask takes only particular bits of the respective segment into account that are required to represent the second maximum magnitude, or the mask takes only particular bits of the particular memory block into account that are required in each segment to represent the second maximum magnitude.
16. The method as recited in claim 12, wherein the mask is made up of a predefinable bit sequence, and the bit sequence has the same number of bits as a memory block, and during the readout, each bit of the memory block is logically linked with at least one respective allocated bit of the mask.
17. The method as recited in claim 12, wherein when a magnitude of the machine learning system is greater than the maximum magnitude when ascertaining the output variable of the machine learning system, the output variable of the machine learning system is marked as faulty.
18. A computer system, comprising: at least one processor which is connected to a memory module, a computer program being stored in the memory module and at least parameters of a machine learning system are stored in respective memory blocks of the memory module, the respective memory blocks being registers, wherein the machine learning system is trained on a further computer system and after the training, a magnitude of the parameters from a first set of different possible magnitudes is mapped to a magnitude of at least one predefinable second set of different possible magnitudes, he second set of different possible magnitudes has fewer magnitudes than the first set of different possible magnitudes; wherein the computer program, when executed, is configured to read out each of the parameters from the respective memory block using at least one mask and to take only particular bits of the respective memory block into account using the mask that are required to represent a maximum magnitude of the second set of different possible magnitudes.
19. The computer system as recited in claim 18, wherein the machine learning system includes a deep neural network, magnitudes of parameters that are allocated to a layer of the deep neural network are mapped to one of the magnitudes of a respective allocated set of different possible magnitudes of the layer, the computer system furthermore being configured to use different masks for reading out parameters for respective layers of the deep neural network.
20. The computer system as recited in claim 18, wherein a maximum magnitude of the first set of different possible magnitudes is greater than the maximum magnitude of the second set of different possible magnitudes, each of a predefinable number of the memory blocks being subdivided into a plurality of segments, and one of the parameters being stored in each segment, the mask taking only particular bits of the respective segment into account that are required to represent the second maximum magnitude, or the mask taking only particular bits of the respective memory block into account that are required in each segment to represent the second maximum magnitude.
21. A non-transitory machine-readable memory element on which is stored a computer program for controlling an actuator, the computer program, when executed on a computer, causing the computer to perform the following steps: mapping parameters of a trained machine learning system which have a magnitude from a first set of different possible magnitudes to a magnitude of at least one predefinable second set of different possible magnitudes, in each case, the second set of different possible magnitudes having fewer magnitudes than the first set of different possible magnitudes; storing each of the mapped parameters in a respective memory block; ascertaining an output variable of the machine learning system as a function of an input variable and the stored parameters, each of the stored parameters being read out from the respective memory block using at least one mask, and only particular bits of the respective memory block are taken into account using the mask that are required to represent a maximum magnitude of the second set of different possible magnitudes; and actuating the actuator as a function of the ascertained output variable.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0021]
[0022]
[0023]
[0024]
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0025]
[0026] In a further exemplary embodiment, actuator control unit (13) includes an enabling system. The enabling system decides whether an object such as a detected robot or a detected person has access to an area as a function of the output variable of the machine learning system (12). The actuator is preferably able to be actuated as a function of a decision by the enabling system.
[0027] In addition, vehicle (10) includes a processing unit (14) and a machine-readable memory element (15). Storable in memory element (15) is a computer program, which includes instructions that cause the processing unit (14) to carry out the method according to the present invention when the instructions are executed in the processing unit (14). It is also possible that a download product or an artificially generated signal, each possibly including the computer program, induces the processing unit (14) to carry out the method according to the present invention after being received at a receiver of the vehicle (10).
[0028] In one further specific embodiment, the machine learning system (12) is used in a measuring system, which is not shown in the figures. The measuring system differs from the robot according to
[0029] It is also possible that in a further development of the measuring system, acquisition unit (11) acquires an image of a human or animal body or a part thereof. For instance, this may be accomplished with the aid of an optical signal, an ultrasonic signal, or with the aid of an MRI/CT method. In this further development, the measuring system may include a machine learning system that is trained so that it outputs a classification as a function of the input variable, e.g., which clinical picture may possibly be present on the basis of this input variable.
[0030] Machine-learning system (12) may encompass a deep neural network.
[0031]
[0032] In a second hardware-oriented number representation format (24), such as a binary system using 4 bits, a disruption in the most significant place value (22) has the result that the value 13 will now be stored rather than the value 5.
[0033] Based on this example, it becomes clear that a restriction of the maximally tolerated value range of the hardware-oriented number representation format and the related reduction in the required bits necessary to represent the restricted value range may lead to a reduction of the maximum error of a flipped bit disturbance. Therefore, it is advantageous if parameters of the machine learning system are represented using few bits, which means that flipped bits lead to a smaller change in the value represented by these bits.
[0034] In addition,
[0035] Using predefinable mapping (260), the values of the parameters are mapped to a second value range (272) in such a way that the values are able to be represented by fewer bits. Second value range (272) encompasses a predefinable set of different possible values (w_1,w_2,w_3) and may extend between two predefinable values (271,273).
[0036] Preferably, a maximum value (p_3) of the set of different possible values (p_1,p_2,p_3) of the first value range (252) is greater than a maximum value (w_3) of the set of different possible values (w_1,w_2,w_3) of the second value range (272).
[0037] In one further specific embodiment, a difference between two, in particular directly consecutive values (w_2,w_3) of the second value range (272) is smaller than a difference between two, in particular directly consecutive values (p_2,p_3) of the first value range (252) that are mapped to these two consecutive values (w_2,w_3). Because of the small difference between two different values, the difference from the original value may be small when the flipped bit disturbance occurs, which means that the resulting error has a negligible influence on the machine learning system.
[0038] In one alternative exemplary embodiment, the machine learning system (12) may include a convolutional neural network. The parameters may then also be filter kernels. In this exemplary embodiment, coefficients of the filter kernels are able to be mapped from a first value range (252) to a second value range (272). As an alternative or in addition, whole filter kernels are also mappable to predefinable filter kernels, which, for instance, are able to be represented by a reduced number of bits.
[0039]
[0040]
[0041] The method (40) begins with step 41. In step 41, a trained machine learning system (12) is provided. The parameters of the trained machine learning system have values of the first value range (252). In step 42, these values are subsequently mapped to a second value range (272). The mapping of the values of the parameters is able to be carried out in such a way that the values are mapped to a value of a predefinable set of different possible values (w_1,w_2,2_3) in each case. For instance, a value of the parameter of the trained machine learning system that lies closest to one of the different possible values (w_1,w_2,w_3) of the predefinable set according to a mathematical distance measure is able to be mapped thereto.
[0042] The predefinable set of different possible values (w_1,w_2,w_3) is able to be ascertained with the aid of a cluster analysis (e.g., k-means algorithm) of the values of the parameters of the provided machine learning system (12).
[0043] Alternatively, it is also possible to provide a plurality of predefinable sets of different possible values (w_1,w_2,w_3), e.g., featuring different quantization stages in each case. Using a Kullback-Leibler (KL) divergence, which is ascertained between one of the predefinable sets and the distribution of the values of the parameters of the provided machine learning system, it is possible to select the set having the lowest ascertained KL divergence from the plurality of predefinable sets of different possible values (w_1,w_2,w_3). The KL divergence characterizes a loss of information that occurs when the values are mapped to a smaller value range. The particular set that has the lowest KL distance may then be used for mapping the values of the parameters of the provided machine learning system to values of this set.
[0044] In one further exemplary embodiment, the maximum value (w_3) of the different possible values (w_1,w_2,w_3) is able to be predefined, preferably smaller than the maximum possible value of the parameters of the provided machine learning system, in order to further restrict the value range of the predefinable set of different possible values (w_1,w_2,w_3). The maximum value (w_3) may also be taken into account in the ascertainment of the KL divergence in order to determine a suitable maximum value (w_3) that leads to a small loss of information.
[0045] Step 43 follows after the parameters of the trained machine learning system have been mapped to the second value range (272). In step 43, the mapped parameters are stored in a memory element of the memory (32) in each case.
[0046] In following step 44, an input variable is made available to the machine learning system and an output variable of the machine learning system is ascertained as a function of the input variable. The input variable, for instance, may be a video recording or a camera image of the environment of the actuator. The machine learning system ascertains an output variable as a function of the provided input variable and the stored parameters. In the process, the stored parameters are read out from the memory with the aid of a mask. The mask reads out only the particular bits of the memory element that are required in order to represent the maximum value (w_3) of the different possible values (w_1,w_2,w_3).
[0047] The mask may be implemented in software, e.g., by a bit sequence that is made up of zeroes and ones. The bit sequence is linked with the bits of the memory element by a logic AND operation. The mask is alternatively able to be implemented in hardware.
[0048] For example, if the register includes 8 bits and the maximum value (w_3) of the different possible values (w_1,w_2,w_3) is able to be represented by the rear four bits, then the mask is able to link the not required front four bits to a 0 using a logic AND operation, so that the flipped bit disturbances of these bits do not lead to an incorrectly read out parameter from the register. Thus, it would still be possible to read out the originally stored number 5 in
[0049] After the output variable of the machine learning system has been ascertained, an actuator, e.g., the motor of an at least semi-autonomous vehicle, is able to be actuated with the aid of the actuator control unit (13). For instance, if machine learning system (12) detects a person, then actuator control unit (13) is able to actuate the actuator so that it decelerates the vehicle (10).
[0050] Method (40) thus ends. Alternatively or additionally, it is possible to carry out the method anew in a cyclical manner by step 44, for instance if a new camera image was detected or a trigger was triggered in that regard.
[0051] It is understood that the present method is able to be implemented not only entirely in software, as described, but also in hardware or in a mixed form of software and hardware.