Apparatus and in particular computer implemented method for non-deterministic technical systems

By employing Gaussian process models and parallel computing methods, the computationally intensive challenges in nondeterministic technical systems are solved, enabling faster and more accurate model prediction and control parameter modeling. This technology is applicable to robots, internal combustion engines, and electric drive systems.

CN114995120BActive Publication Date: 2026-06-23ROBERT BOSCH GMBH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ROBERT BOSCH GMBH
Filing Date
2022-02-28
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

The computationally intensive operations required for behavioral models of nondeterministic technical systems are difficult to perform efficiently, leading to difficulties in practical use.

Method used

The computer-implemented method utilizes a Gaussian process model, employs inverse estimation of a semi-positive definite kernel matrix and a 1-Lipschitz mapping, and combines parallel computation to optimize hyperparameter training and matrix decomposition, thereby improving computational speed and accuracy.

Benefits of technology

It enables faster and more accurate calculations in nondeterministic technical systems, and is applicable to the prediction and modeling of control parameters for robots, internal combustion engines, electric drive devices, etc., reducing the use of sensors and improving the prediction accuracy and computational efficiency of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114995120B_ABST
    Figure CN114995120B_ABST
Patent Text Reader

Abstract

Apparatus and method, in particular computer implemented method, comprising: specifying (500) data points comprising pairs of correlated input and output of a Gaussian process; determining (502) a positive semi-definite kernel matrix from the inputs specified by the data points; determining (504, 506, 508) an inverse of the kernel matrix from an estimate of an inverse of a 1-Lipschitz mapping of the kernel matrix, the estimate being scaled according to an estimate of a dominant eigenvalue of the kernel matrix; specifying (514) an input for the Gaussian process; determining a prediction (516) of an expected value of the Gaussian process from at least one covariance from the positive semi-definite kernel matrix and from the inverse of the kernel matrix and from the outputs in the data points, and / or determining a prediction (518) of a variance of the Gaussian process from at least one covariance from the positive semi-definite kernel matrix and from the inverse of the kernel matrix; determining (520) a possible output quantity of a sensor and / or a control quantity for a machine from at least one of the predictions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an apparatus for a nondeterministic technical system and a method, particularly a computer-implemented method, for a nondeterministic technical system. Background Technology

[0002] Behavioral models of nondeterministic technological systems can be developed based on observations. However, using these models to operate such systems requires computationally intensive operations involving matrices. This makes the practical application of these models difficult. Summary of the Invention

[0003] The method and apparatus, particularly computer-implemented, as described in the independent claims, provide a model for the development of a particularly well-designed technical system and for use in the operation of the technical system.

[0004] The method, particularly the computer-implemented method, includes the following steps: specifying data points, which include pairs of interrelated inputs and outputs of a Gaussian process; determining a positive semi-definite kernel matrix based on the inputs specified by these data points; determining the inverse of the kernel matrix based on an estimate of the inverse of a 1-Lipschitz mapping of the kernel matrix, the estimate being scaled based on estimates of the principal eigenvalues ​​of the kernel matrix; specifying inputs for the Gaussian process; determining a prediction of the expected value of the Gaussian process based on at least one covariance from the positive semi-definite kernel matrix and based on the inverse of the kernel matrix and based on the outputs from these data points, and / or determining a prediction of the variance of the Gaussian process based on at least one covariance from the positive semi-definite kernel matrix and based on the inverse of the kernel matrix; and determining possible output parameters of the sensor and / or control parameters for the machine based on at least one of these predictions.

[0005] Preferably, the method includes: determining a decomposition of the kernel matrix, the decomposition including estimates of the kernel matrix, particularly the principal eigenvalues, and an estimate of the 1-Lipschitz mapping of the kernel matrix; determining an estimate of the inverse of the 1-Lipschitz mapping based on the estimate of the 1-Lipschitz mapping; and determining the inverse of the kernel matrix based on the estimate of the inverse of the 1-Lipschitz mapping and the estimate of the principal eigenvalues, wherein the estimate of the inverse of the 1-Lipschitz mapping is scaled according to the estimate of the principal eigenvalues. This enables computational parallelization, thereby improving computational speed.

[0006] In one approach, interrelated inputs and outputs are specified based on measurement parameters, which are recorded by sensors and / or at the machine, or have already been recorded by sensors and / or at the machine. This allows for particularly good machine modeling. In another approach, interrelated inputs and outputs are specified based on pseudo-measurement parameters, which simulate measurement parameters that can be recorded by sensors and / or at the machine. Compared to what can be achieved using measured parameters, these pseudo-measurement parameters allow for modeling the same sensor or the same machine using significantly less data.

[0007] In one aspect, at least one data point is recorded based on the output during the first iteration of the sensor and / or machine operation, wherein in the second iteration, a prediction of the expected value and / or a prediction of the variance for the Gaussian process is determined based on the at least one data point from the first iteration. Thus, the accuracy of the prediction is improved by the additional data points recorded during the running time.

[0008] In one aspect, an output is determined based on at least one data point recorded during sensor and / or machine operation up to a first time point, wherein the output is used to determine predictions of output parameters for the sensor at time points later than the first time point and / or control parameters for the machine at time points later than the first time point. This provides predictions of future parameters, i.e., parameters that cannot yet be recorded in the current calculation step.

[0009] This method can be applied in a variety of ways. It can be specified that: the machine is a robot, where the control parameters are parameters used to control the robot; or the machine is an internal combustion engine, where the control parameters are parameters used to control the internal combustion engine; or the machine is an injection valve, where the control parameters are parameters used to control the injection valve; or the machine includes an accumulator, where the control parameters are parameters representing the energy that the accumulator should provide; or the machine is an electric drive unit, where the control parameters are parameters representing the power required by the electric drive unit.

[0010] It can be specified that training is used in gradient-based methods to determine at least one hyperparameter of the Gaussian process using the derivative of a function, where the function defines a quality metric of the Gaussian process's mapping that depends on the inverse and determinant of the kernel matrix. These parameters are automatically adapted. For this purpose, marginal probabilities are used, i.e., probability densities of these data points as a measure of the degree of matching between the assumed Gaussian process and existing data points. These parameters are optimized using this quality metric to maximize the degree of matching. The Gaussian process is defined according to an exponential function. Therefore, for numerically more stable arithmetic operations, the logarithm of the quality is optimized, which yields the same result because the logarithm is a strictly monotonic function. The logarithm of the quality is the so-called log-marginal likelihood function. The quality metric of the Gaussian process's mapping, defined by the inverse and determinant of the kernel matrix, can be determined particularly efficiently.

[0011] In one aspect, determining the derivative of the function includes: determining the derivative of the inverse of the kernel matrix with respect to at least one hyperparameter; and determining the derivative of the kernel matrix with respect to at least one hyperparameter.

[0012] It can be specified that the determination of the estimate of the kernel matrix, especially the principal eigenvalues, substantially overlaps in time and includes: a first multiplication of the first row of the kernel matrix with the estimated parameter for the principal eigenvectors of the kernel matrix on a first hardware module designed for this purpose; and a second multiplication of the second row of the kernel matrix with the estimated parameter on a second hardware module designed for this purpose. Thus, a significant acceleration in the determination of this estimate is achieved on specialized hardware, such as a graphics processing unit (GPU) or an embedded device with corresponding acceleration for matrix-matrix multiplication.

[0013] It can be stipulated that determining the estimate of the kernel matrix, particularly the principal eigenvalues, involves determining the estimated parameter in at least two iterations, wherein the determination of the estimate of the kernel matrix, particularly the principal eigenvalues, ends when a certain number of iterations is reached, or when the estimated parameter satisfies a condition during the iterations, or when the change of the estimated parameter during the iterations relative to the estimated parameter from, particularly the immediately preceding iteration, satisfies a condition. This provides a significant advantage because the determination of the estimate can be interrupted when the accuracy is sufficiently high or after a specified number of iterations.

[0014] It can be specified that the method further includes: determining the estimate of the 1-Lipschitz mapping of the kernel matrix based on the product of the inverse of the estimated value of the principal eigenvalue and the kernel matrix.

[0015] It can be specified that the method further includes: calculating an estimate of the inverse of the 1-Lipschitz mapping in at least two iterations, wherein the estimate is determined in the iteration based on the sum of the estimate of the inverse of the 1-Lipschitz mapping from, in particular, the next iteration, and the change in this iteration, wherein the change is determined based on the product of the change in, in particular, the next iteration, and the difference between the estimates of the 1-Lipschitz mappings for the identity matrix and the kernel matrix.

[0016] It can be specified that the calculation of the derivative of the function includes the multiplication of a first matrix and a second matrix, wherein the multiplication of at least one row of the first matrix and at least one column of the second matrix is ​​determined on a first hardware module configured for this purpose, wherein, particularly in substantially time-overlapping manner, the multiplication of the at least one row or at least another row of the first matrix and the at least one column or at least another column of the second matrix is ​​determined on a second hardware module configured for this purpose.

[0017] The device includes a computing device designed to implement the method.

[0018] In one aspect, the device includes at least one sensor for recording input and / or at least one actuator that can be manipulated according to output.

[0019] It can be specified that the computing device includes a first hardware module and a second hardware module, wherein the computing device is designed to perform multiplication of the first matrix and the second matrix in order to calculate the derivative of a function of a mass metric that defines a Gaussian process and depends on the inverse of the kernel matrix and the determinant of the kernel matrix, wherein multiplication of at least one row of the first matrix and at least one column of the second matrix is ​​determined on the first hardware module configured for this purpose, wherein, particularly substantially overlapping with each other in time, multiplication of the at least one row or at least another row of the first matrix with the at least one column or at least another column of the second matrix is ​​determined on the second hardware module configured for this purpose. Attached Figure Description

[0020] Other advantageous embodiments can be seen from the following description and figures. In the figures:

[0021] Figure 1 A schematic diagram of a first device for controlling an internal combustion engine is shown.

[0022] Figure 2 A schematic diagram of a second device for controlling an internal combustion engine is shown;

[0023] Figure 3 A schematic diagram of a device for controlling components of an electric drive unit is shown;

[0024] Figure 4A schematic diagram of the equipment used to control the robot is shown;

[0025] Figure 5 The steps in a method that can run on one of these devices are shown. Detailed Implementation

[0026] The following describes the input x∈R for the technical system. d And the Gaussian process GP with output y∈R, which is defined by its hyperparameters θ=(σ,l) as follows:

[0027] GP(μ, k)

[0028] Where the expected value function is:

[0029] μ:R d →R

[0030] Where the covariance function is

[0031] k:R d ×R d →R

[0032] For n data points For example, the n×n kernel matrix K XX Input x from n pairs i The covariance between the data points All inputs are collected row by row in matrix X∈R n×d In the vector Y∈R, all relevant outputs are collected in the vector Y∈R. n In this example, the kernel matrix K... XX The elements are obtained through a quadratic exponent kernel.

[0033]

[0034] The quadratic exponential kernel is defined to depend on the hyperparameter θ = (σ, l). Let x represent the input x. i One of them. Let x′ represent the input x. i One of them. For any input x * ,vector This means that in any input x * With n inputs x from n pairs i The covariance between them. A Gaussian process (GP) is a model that uses data points... Let x* be defined as another data point, which can be arbitrarily set and does not necessarily have to be included in the data points. middle.

[0035] It can be stipulated that noise that may arise due to observations of the input should be addressed by the modified kernel matrix K′. XXTo be considered:

[0036] K′ XX =K XX +σ v 2 I

[0037] Where I is the identity matrix and σ v This is the standard deviation of the noise. In this respect, the hyperparameter θ = (σ, l, σ v Additionally, the parameter includes the standard deviation of the noise.

[0038] The hyperparameter θ can be specified. Optionally, the hyperparameter θ = (σ, l) or θ = (σ, l, σ) v It can use n data points in training. They came to be trained.

[0039] This training can be done through standard...

[0040]

[0041] This is achieved by maximizing the marginal likelihood (MLL). This criterion is referred to below as the log-marginal likelihood. In this criterion, C is a constant that is independent of the hyperparameter θ. Therefore, the constant C need not be considered in this maximization. This maximization can be achieved using gradient-based methods.

[0042] MLL on the j-th dimension of the hyperparameter θ j The complete representation of the derivative is:

[0043]

[0044] For input x * For the data points represented, the prediction of the expected value is defined by the following equation:

[0045]

[0046] The prediction of variance is defined by the following equation:

[0047]

[0048] For these predictions, the kernel matrix K′ needs to be calculated. XX The reverse

[0049] These predictions can be used to determine the input x of the Gaussian process GP. * Mapped output y * .

[0050] To train the hyperparameters θ, it is additionally necessary to compute the term logdet(K′). XXThe derivative of the hyperparameter θ.

[0051] These calculations can be performed using a regular Cholesky decomposition, but this Cholesky decomposition requires O(n^2) time complexity. 3 The operations must be performed sequentially, one after another. Parallel computation is not possible due to the matrix calculations required. These calculations must be executed completely and accurately.

[0052] Correspondingly, the procedure described below is suitable for parallel computation. Furthermore, a trade-off can be made between the desired accuracy of the results and the required computation time, and the method can be adjusted accordingly. For this purpose, the computation on the kernel matrix K′ can be interrupted if the criteria are met. XX The reverse and / or item logdet(K′) XX ) and / or the item logdet(K′ XX Calculation of the derivative of .

[0053] This method is an estimate of the result of a complete and accurate calculation. For example, if continuing with this method does not further improve the estimate, or if the further improvement that could be extended by continuing with this method is less than specified, then the criterion is met.

[0054] For problems involving large matrices, this is a significant advantage over conventional approaches.

[0055] The Gaussian process can also be trained on computationally limited devices by the approach described below.

[0056] The device may include, for example, a specific hardware module for calculating the multiplication of one matrix with another. However, the device does not require a specific hardware module for calculating the inverse matrix.

[0057] By employing the method described below, the computation of multiplication of one matrix with another can be broken down into partial computations, and these partial computations can overlap in time or be performed in parallel on multiple computing resources. This enables the use of specific hardware modules, such as Graphical Processing Units (GPUs), for the computation of these partial computations. Thus, the input x of the Gaussian process... * To output y * The results of the mapping can be calculated faster than those achieved using conventional methods with the same result accuracy. Therefore, the results of Gaussian processes can also be calculated more accurately than those achieved using conventional methods with the same time expenditure.

[0058] This approach is typically suitable for training Gaussian processes. For example, a Gaussian process trained using this method can be a model of a machine. This model can model the drivetrain or components of a motor vehicle. It can model catalytic converters, particularly those used in motor vehicles. The model can also model the emissions and / or energy consumption of motor vehicles. It can model the emissions or energy consumption of motor vehicles using internal combustion engines and / or electric drive systems. The model can model sensors. For example, it can be specified that the model models sensors that measure the output parameters of the drivetrain in a conventional motor vehicle. In this way, the sensor can be omitted in the motor vehicle, and instead, the model can be used to determine the output parameters within the vehicle.

[0059] In one aspect, Gaussian processes are used to model safety-related sensors. Safety-related sensors are, for example, sensors whose signals are used by a control system to regulate or control safety-related components of a machine. In motor vehicles, this could be driving functions for driver assistance or accident avoidance, or functions for at least partially autonomous driving of the vehicle.

[0060] Sensors are used to record the values ​​of measurable parameters as measurement points. However, sensors are not suitable for predicting future values.

[0061] In one aspect, Gaussian processes are used predictively. For example, Gaussian processes are used to determine measurement points based on past recorded values ​​of one or more measurable parameters, including predictions of values ​​for one or more measurable parameters that may appear in the future. For example, Gaussian processes are used to determine one or more future measurement points based on historical and / or current measurement points, or multiple measurement points from these points.

[0062] In this case, the model is trained to predict future outputs based on current and / or historical parameters at the input.

[0063] In one aspect, it can be specified that the sensor remains in the vehicle. In another aspect, it can be specified that the sensor continuously, that is, at periodic, random, or specified time points during its operation, records and / or provides new measurement points. It can be specified that these measurement points are used to modify the model.

[0064] In one respect, these measurement points are used as additional data points for training the model. For example, these additional data points are added to the existing data points. In this respect, for the training and for these predictions, a kernel matrix K′ is provided based on the existing data points and the additional data points. XX The reverse The hyperparameter θ does not necessarily have to be fitted. To train the hyperparameter θ, the derivative of the standard MLL with respect to the hyperparameter θ can be additionally computed.

[0065] Applications that use Gaussian processes for Bayesian optimization can also utilize the approach described below. For example, Gaussian processes are trained to model prior probabilities to optimize manufacturing processes running on machines.

[0066] Gaussian processes can also be trained for regression, that is, to predict the output, especially a scalar, for one or more inputs. Gaussian processes can also be trained for classification of one or more inputs.

[0067] In the cases mentioned, the practices described below may be used.

[0068] In the examples below, based on Figure 1 Device 100 is described as being configured to control an internal combustion engine 102. Device 100 may include one or more specific hardware modules. In this example, device 100 is a control device for a vehicle 104. In this example, vehicle 104 also includes an internal combustion engine 102. In this example, vehicle 104 includes a catalytic converter 106. In this example, catalytic converter 106 is designed for selective catalytic reduction, i.e., SCR. In this example, catalytic converter 106 is connected to the internal combustion engine 102 via an exhaust pipe 108. In this example, exhaust gases generated during combustion in the internal combustion engine 102 are guided through the catalytic converter 106 via the exhaust pipe 108. In this example, device 100 is designed to control the internal combustion engine 102 based on NOx emissions remaining in the exhaust gases after they have passed through the catalytic converter 106.

[0069] In conventional vehicles, a sensor is installed at the outlet of the catalytic converter 106 or downstream of the outlet of the catalytic converter to measure NOx emissions.

[0070] Instead of measured values, model 110 is used in this example to determine a prediction of NOx emissions. In vehicle 104, a sensor 112 is installed in the exhaust pipe 108 between the internal combustion engine 102 and the catalytic converter 106. This sensor is designed to record measurements of NOx emissions upstream of the catalytic converter 106. Device 100 is configured to use model 110 to determine this prediction based on the measured NOx emissions upstream of the catalytic converter 106.

[0071] In this example, model 110 is a Gaussian process p(y * |x * The prediction is a Gaussian process p(y, X, Y, θ). * |x *The output y of (x, y, θ) * In this example, based on n data points To determine the output y. In one example, the n data points These are determined during the development phase. In another example, the n data points were used while device 100 was running, during the time model 110 was being used. It has been determined at least partially.

[0072] The second sensor 216 is arranged such that the NOx measurement represents NOx emissions in the exhaust gas upstream of the catalytic converter 206. In this example, sensor 112 is connected to device 100 via a first line 114. Sensor 112 is designed to transmit signals to device 200 representing these NOx measurements or NOx emissions. Device 100 is designed to map the NOx measurements transmitted from the signal from sensor 112 to one or more control signals for internal combustion engine 102 and / or catalytic converter 106. In this example, device 100 is designed to control injection valve 116 to inject urea. Injection valve 116 is arranged in exhaust manifold 108 between internal combustion engine 102 and catalytic converter 106. In this example, a second line 118 for transmitting the control signal connects device 100 to injection valve 116.

[0073] In the examples below, based on Figure 2 Let device 200 be described, which is configured to control internal combustion engine 202. In this example, device 200 is a control device for vehicle 204. In this example, vehicle 204 also includes internal combustion engine 202. In this example, vehicle 204 includes catalytic converter 206. In this example, catalytic converter 206 is designed for selective catalytic reduction, i.e., SCR. In this example, catalytic converter 206 is connected to internal combustion engine 202 via exhaust pipe 208. In this example, exhaust gases generated during combustion in internal combustion engine 202 are guided through exhaust pipe 208 to catalytic converter 206. In this example, device 200 is designed to control internal combustion engine 202 based on NOx emissions remaining in the exhaust gases after passing through catalytic converter 206.

[0074] exist Figure 2The vehicle 204 shown is equipped with a first sensor 210 designed to record NOx measurements. The first sensor 210 is arranged such that the NOx measurement represents NOx emissions remaining in the exhaust gas after it has passed through the catalytic converter 206. In this example, the first sensor 210 is located in an exhaust pipe 212 through which exhaust gas exits from the catalytic converter 206. In this example, the first sensor 210 is connected to the device 200 via a first line 214. The first sensor 210 is designed to transmit a first signal to the device 200 representing either the NOx measurement or NOx emissions. In this example, a second sensor 216 is arranged in an exhaust pipe 208, designed to record NOx measurements. The second sensor 216 is arranged such that the NOx measurement represents NOx emissions in the exhaust gas upstream of the catalytic converter 206. In this example, the second sensor 216 is connected to the device 200 via a second line 218. The second sensor 216 is designed to transmit a second signal to the device 200 representing these NOx measurements or the NOx emission. The device 200 is designed to map the NOx measurements transmitted from the first signal from the first sensor 210 onto one or more control signals for the internal combustion engine 102 and / or the catalytic converter 206. In this example, a control signal is provided for the amount of urea to be injected through the catalytic converter 206. The device 200 includes data points. The device 200 is a memory 220. In this example, the device 200 is designed to control the injection valve 222 to inject urea. The injection valve 222 is arranged in the exhaust pipe 208 between the internal combustion engine 202 and the catalytic converter 206. In this example, a third line 224 for transmitting control signals connects the device 200 to the injection valve 222. In this example, x represents the input to model 110, which includes the NOx measurement from the second sensor 216. In this example, input x may also include other characteristic parameters of combustion or exhaust gases in the internal combustion engine 202. In this example, y represents the output of model 110, which includes the NOx measurement from the first sensor 210. The device 200 is designed to record data points. These data points are then stored in memory 220. Device 200 can also be designed to use these data points. The training described below can be performed. Alternatively, it can be specified that the training is performed on a server outside of vehicle 204.

[0075] The described internal combustion engine can be of the same structure. Alternatively, the described internal combustion engine can differ in structure. The described catalytic converter can be of the same structure. Alternatively, the described catalytic converter can differ in structure. The described exhaust pipe can be of the same structure. Alternatively, the described exhaust pipe can also differ in structure.

[0076] In this example, sensor 210 is not installed in the vehicle 104 whose catalytic converter 102 is controlled by device 100 using model 110. In this respect, model 110 uses the n data points... The virtual sensor 210 is trained and then transferred to device 100 during the manufacturing process of device 100.

[0077] For other types of emissions, corresponding procedures can be adopted. Model 110 can be used to model these other types of emissions, either in place of NOx emissions or together with NOx emissions.

[0078] Vehicle 102 can be manipulated by predicting these emissions, for example, to reduce undesirable emissions and thereby reduce or avoid negative environmental impacts.

[0079] In the examples below, based on Figure 3 Device 300 is described as being configured to control an electric drive unit 302 of a vehicle 304. The vehicle 304 includes an energy storage unit 306 that supplies energy to the electric drive unit 302. The energy storage unit 306 may be a battery pack or a fuel cell, or include the battery pack or the fuel cell. Device 300 is designed to regulate the power drawn by the electric drive unit 302 from or supplied by the energy storage unit 306. Device 300 is designed to control electronic instruments 308 for controlling the energy storage unit 306 via wiring 310.

[0080] In one aspect, the device 300 is also designed to determine an estimate of the power that the electric drive unit 302 will draw from the energy storage unit 306 in the future. In another aspect, the device is also designed to determine an estimate of the energy that the energy storage unit 306 should provide in the future.

[0081] In both of these aspects, the forecast depends on the driver's future driving behavior.

[0082] In this example, device 300 is designed to use model 312 to determine the estimate. This enables better energy storage management, for example, by displaying information about the estimate to the driver on the human-machine interface 314.

[0083] In this example, model 312 is a Gaussian process. In this example, based on n data points... Determine the Gaussian process p(y) * |x * The output y of (x, y, θ) * In this example, the n data points The determination is particularly partial during the operation of vehicle 304. In one aspect, "partial" in this context means that vehicle 304 is delivered using a pre-trained model 312. The pre-trained model 312 includes, for example, k data points. Where 0 < k < n. In this respect, nk additional data points are determined during operation. In this example, device 300 is designed to perform training on the Gaussian process while vehicle 302 is running. In one aspect, device 300 is designed to perform this training within one driving cycle while vehicle 302 is running. This driving cycle, in this example, begins after vehicle 304 starts and ends with vehicle 304 stopping. In another aspect, device 300 is designed to determine the prediction within the same driving cycle in which the training is performed. Device 300 may be designed to: train model 312 within one driving cycle and use the model to perform the prediction in another driving cycle without further training. Device 300 may be designed to: perform the training within multiple driving cycles. Device 300 may be designed to perform the prediction within multiple driving cycles without performing the training within those driving cycles. Device 300 may be designed to: implement the steps for training model 312 and determine the prediction based on the model 312 thus trained. Device 300 can be designed to perform the training again after the prediction.

[0084] Device 300 includes data points The memory 316. In this example, x represents the input to model 312, which includes the energy provided by energy storage 306 and / or the power drawn from energy storage 306 by electric drive 302. In this example, input x may also include other characteristic parameters for energy storage management. In this example, y represents the output of model 312, which includes the estimate. In this example, the estimate includes the power that electric drive 302 will draw from energy storage 306 in the future and / or the energy that energy storage 306 should provide in the future.

[0085] Device 300 is designed to record data points These data points are then stored in memory 316. Device 300 can also be designed to use these data points. To perform the training described below. Alternatively, it can be specified that the training is performed on a server outside of vehicle 304.

[0086] exist Figure 4 The diagram schematically illustrates a device 400 designed to manipulate a robot 402, also schematically shown. Device 400 is designed to manipulate robot 402 according to model 404.

[0087] To partially autonomously control the robot, it can be specified that a digital image is provided as input x and control parameters for robot 402 are provided as output y of model 404. The digital image can be an optical image, radar image, ultrasonic image, or LiDAR image. In this example, robot 402 includes a camera 406 designed to record digital images of the robot's surrounding environment. Based on a large number of these images presenting the robot and / or its surrounding environment, data points for training can be specified by combining the corresponding control parameters assigned to each image. In this example, camera 406 is integrated into device 400. Camera 406 can also be positioned externally to device 400 or externally to robot 402. Multiple such cameras can also be provided, preferably recording different areas of robot 402 and / or its surrounding environment.

[0088] These images can depict traffic infrastructure. Objects can include traffic lights, road surfaces or markings, pedestrians, or vehicles.

[0089] These images can represent objects in the robot's working environment. Objects can be items, the location of items, the installation location of items, or the robot's operator.

[0090] Instead of images, or in addition to images, audio data can be provided as input x. This audio data can include signals or commands in natural language.

[0091] Device 400 can be designed to classify image and / or audio data using model 404. In this case, the manipulation parameters represent the categories. Device 400 can be designed to specify the program flow of robot 402 based on these categories.

[0092] Robot 402 can be a vehicle, household appliance, manufacturing machine, or access control system, or part thereof.

[0093] See below. Figure 5 This illustrates the method used to determine the parameters, which can be used to determine the hyperparameter θ and to describe the prediction.

[0094] For kernel matrix K′ XX The reverse The calculation and the term logdet(K′) XX The calculation of the derivative of has a complexity of O(tn). 3This is performed under the condition that t represents a configurable parameter. The difference between this and computation using Cholesky decomposition is that the computational routines can be parallelized. For example, matrix multiplication can be implemented on a GPU. Another difference from computation using Cholesky decomposition is that the computation can be stopped. The computation can be stopped, for example, when the desired accuracy is reached. The computation can be stopped, for example, after the desired computation time or at a specified point in time. When dealing with the kernel matrix K′... XX The reverse The result obtained when the calculation stops can be used as the kernel matrix K′ XX The reverse Approximation of the kernel matrix K′. XX The item logdet(K′) XX The result obtained when the calculation of the derivative of ) stops can be used as the kernel matrix K′. XX The item logdet(K′) XX An approximation of the derivative of ).

[0095] This cannot be achieved with the Cholesky decomposition because the Cholesky decomposition yields a kernel matrix K′. XX The reverse and / or kernel matrix K′ XX The item logdet(K′) XX The result of the derivative of ) must be calculated sequentially and therefore always completely.

[0096] For readability, superscripts and subscripts are not used in the following text. The program is based on the specified positive semi-definite kernel matrix K.

[0097] For the inverse K -1 Calculation:

[0098] In step 500, specify the data points. These data points include pairs of interrelated inputs x and outputs y.

[0099] In step 502, the positive semi-definite kernel matrix K is determined based on the inputs x and x′. The elements of the kernel matrix K...

[0100]

[0101] This describes the covariance between input x and input x′, and in this example it is defined by the hyperparameter θ = (σ, l).

[0102] For example, during the first implementation of step 502, initialization for the hyperparameter θ is specified. This initialization can specify: determining arbitrary, especially random, or user-specified values ​​σ, l for the hyperparameter θ = (σ, l). Alternatively, it can specify: using the hyperparameter θ that has already been determined beforehand through the procedure described below.

[0103] It can be stipulated that, in the implementation of step 502 after the first implementation, other hyperparameters θ = (σ, l) are used instead of these hyperparameters θ = (σ, l), which are based on the data points as described below. The input x and output y are used to determine the value.

[0104] Then, proceed to step 504.

[0105] 504: Determine the decomposition of the kernel matrix K. This decomposition includes estimates of the principal eigenvalues ​​c of the kernel matrix K and estimates of the 1-Lipschitz mapping K of the kernel matrix K. |1| .

[0106] Step 504 may include the following sub-steps:

[0107] 1. Specifies the initial parameter z0 used to estimate the principal eigenvectors of the kernel matrix K. The initial parameter z0 can be a random parameter.

[0108] 2. Determine the estimation parameter z for the principal eigenvectors of the kernel matrix K. j In this example, the parameter z is estimated. j Iteratively determined. Starting with j=0, the parameter z is estimated. j In iteration j+1, based on the kernel matrix K and especially the estimated parameter z of the previous iteration j, j The product of Kz j The product Kz is determined. j Preferably, it is normalized according to its value ||K z||:

[0109]

[0110] In this example, j increases by 1 each time. It can be stipulated that the computation in these iterations continues until the computation converges. In this example, the computation in these iterations ends when the result meets a condition. For example, this condition is met when the numerical change in the result is below a threshold. For example, determining the difference z of the estimated parameters between two, especially consecutive, iterations. j+1 -z j The L2 norm of the difference. In this example, the condition is satisfied when the L2 norm of the difference is less than the threshold.

[0111] Estimated parameter z jThe eigenvector is approximated with precision depending on the number of iterations. Therefore, the precision and / or computation time can be selected by choosing the number of iterations. In this example, the number of iterations can be specified as a condition to interrupt the computation after that number of iterations.

[0112] 3. Based on the estimated parameter z of the principal eigenvectors of the kernel matrix K j Furthermore, based on the kernel matrix K, the estimated value c, especially the principal eigenvalues, is determined for the kernel matrix K.

[0113]

[0114] In this example, the eigenvalues ​​are the largest singular values ​​of the kernel matrix K. The accuracy of the eigenvalue estimation depends on the accuracy of the parameter z.

[0115] 4. Determine the estimate K of the 1-Lipschitz mapping of the kernel matrix K by multiplying the reciprocal of the estimated value c for the principal eigenvalues ​​with the kernel matrix K. |1| .

[0116]

[0117] Then, proceed to step 506.

[0118] Step 506: Determine the estimate of the inverse for the Lipschitz mapping

[0119] Step 506 may include the following sub-steps:

[0120] 1. Specify the estimate used to estimate the inverse. The initial parameter for estimating the change A. In this example, the initial parameter used to estimate the change A is the identity matrix l.

[0121] 2. Specifies the estimation of the inverse of the 1-Lipschitz map. The initial parameters. In this example, used for estimating the inverse. The initial parameter is the identity matrix l.

[0122] 3. Determine the estimate of the inverse for the 1-Lipschitz mapping. In this example, the inverse of the 1-Lipschitz mapping is estimated iteratively.

[0123] It begins with the initial parameters used for estimating the variation A and the estimate for the inverse of the 1-Lipschitz map. The initial parameter is set to 0 in the first iteration r = 0. In iteration r+1, the magnitude of the change A in that iteration is determined. In this example, the magnitude of the change A is estimated by the 1-Lipschitz mapping of the magnitude of the change A in the immediately preceding iteration r with respect to the identity matrix I and the kernel matrix K. |1| The product of the differences is used to determine:

[0124] R←A(IK |1| )

[0125] Estimation of the inverse of the 1-Lipschitz mapping Based on the estimation of the inverse of the 1-Lipschitz map, especially the one immediately preceding the previous iteration r. The sum of this estimate and the change A is used to determine:

[0126]

[0127] This iterative calculation is based on Neumann series.

[0128]

[0129] Current item IK |1| When the spectral radius is less than zero, the Neumann series converges. This is the case in the present case: -K |1| The eigenvalues ​​of the matrix I are between 0 and -1 due to the specified positive semi-definite property of the kernel matrix K; the eigenvalues ​​of the identity matrix I are 1. Therefore, the term IK... |1| The eigenvalues ​​are generally between 0 and 1.

[0130] It can be specified that the iteration calculation ends after a specified number of iterations. It can also be specified that when two estimates are consecutive, especially those that are immediately adjacent... The iterative computation ends when a distance metric, such as the Frobenius norm, between the distances meets a condition. This condition could be that the distance metric is less than a threshold.

[0131] Then, proceed to step 508.

[0132] Step 508: Estimation of the inverse of the 1-Lipschitz mapping The inverse K of the kernel matrix K is determined by the reciprocal of the estimated value c of the principal eigenvalues. -1

[0133]

[0134] This means that the 1-Lipschitz mapping is scaled according to the estimated value c for the principal eigenvalue.

[0135] One approach is to add one or more additional data points to these data points during the use of the model, especially during its runtime, and then re-determine the inverse of the covariance matrix. This improves the accuracy of the model.

[0136] Optionally, it can be specified that the hyperparameter θ is adapted. The hyperparameter θ does not necessarily have to be adapted.

[0137] In optional step 510, the log-marginal likelihood, i.e., the derivative of MLL, is determined.

[0138] The derivative As described below, based on the inverse K of the kernel matrix K -1 The elements θ of the hyperparameter θ are determined in the manner described below. j partial derivatives For better readability, the index j is omitted below for the partial derivatives of the scalar elements of the vector including the hyperparameter θ.

[0139] For the calculation of MLL, the inverse K of the kernel matrix K is already known from the calculation described herein. -1 For the derivative Determining this requires the derivative of the term log det(K) with respect to the hyperparameter θ. Starting from the positive semi-definite kernel matrix K, this applies based on the chain rule of the derivative of the term log det(K) with respect to the hyperparameter θ:

[0140]

[0141] In this case, the determinant det(K) of the kernel matrix K is not negative because the kernel matrix K is positive semi-definite.

[0142] In one respect, the derivative In full form

[0143]

[0144] Based on the kernel matrix K and the inverse K of the kernel matrix K -1 derivatives of elements with respect to hyperparameter θ

[0145]

[0146] The derivative is determined. In this respect, it can be stipulated that the derivative is determined by means of automatic differentiation. In this example, a conventional automatic differentiation algorithm is used for this step.

[0147] Then, perform optional step 512.

[0148] In optional step 512, at least one hyperparameter θ that satisfies the criteria for MLL is determined.

[0149] The at least one hyperparameter θ defines at least one element of the kernel matrix K. The at least one hyperparameter θ is determined such that MLL satisfies the criterion. In this example, MLL should be maximized. In this example, a gradient-based optimization method is applied. In this example, a gradient-based optimization method is used to determine at least one hyperparameter θ for which MLL satisfies the criterion. To do this, the optimization method determines the gradient step size used to change the previous hyperparameter θ = (σ, l). Then step 502 is performed again. These steps are optionally repeated until MLL satisfies the criterion. Instead of determining at least one hyperparameter θ that maximizes MLL, at least one hyperparameter θ for which MLL exceeds the threshold can also be provided as a solution.

[0150] Steps 502 through 512 can be repeated during training. The method can terminate when training is complete. To use the trained model, the method can continue with step 514.

[0151] In step 514, the input x is recorded. * The input should be a Gaussian process p(y) trained in this way. * |x * , X, Y, θ) are mapped.

[0152] Gaussian process for input x * The prediction conditioned on observed data points X and Y is the expected value of a normal distribution N. and variance

[0153] p(y * |x * X, Y, θ)=N(m(x * ), s(x * ))

[0154] Enter x * The recording is performed at a machine. This machine can be an internal combustion engine 102, an internal combustion engine 202, an electric drive unit 302, or a robot 402. For example, as described for one of the devices designed for this purpose, the recording is performed, in particular using the sensors described therein. This machine can be of the same structural type as the machine used to perform the training. This machine can also be of a different structural type than the machine used to perform the training.

[0155] Then, perform optional step 516.

[0156] Step 516 includes: based on at least one covariance from the positive semi-definite kernel matrix K And according to the kernel matrix K′XX The reverse And based on data points The output Y in the process determines the Gaussian process p(y). * |x * The expected value of (x, y, θ) The prediction.

[0157] Instead of determining the prediction for the desired value in step 516, a previous prediction can be used without re-determining the prediction.

[0158] Then, perform optional step 518.

[0159] Step 518 includes: based on at least one covariance from the positive semi-definite kernel matrix K And according to the kernel matrix K′ XX The reverse Determine the value of p(y) for the Gaussian process * |x * variance of (X, Y, θ) The prediction.

[0160] In this example, steps 516 and 518 are not performed before training. During training, all parameters required for the training are computed in the MLL.

[0161] In this example, steps 516 and 518 are performed to determine the input x that has already been recorded at the machine. * To calculate the Gaussian process p(y) * |x * The output is determined for this input (x, y, θ). Alternatively, the expected value m(x, y, θ) can be determined. * Either determine the variance s(x) * Either determine both, as output. In this example, using a Gaussian process p(y) * |x * When x, y, θ), distinguish the following three cases:

[0162] 1. Determine the most likely sensor value: To do this, record the input x at the machine. * And use the Gaussian process p(y) * |x * To determine the expected value m(x, Y, θ), we use (x, Y, θ). * In this example, the expected value m(x) * The most likely sensor value is output.

[0163] 2. Determine the input x * Is it close to the training data, i.e., the data points used for training? Therefore, a trained Gaussian process p(y) is used.* |x * , X, Y, θ) to quantize the input x * The extent to which the input x is covered by the training data used in training. For example, it can be specified that: determining the input x * Should it be included in the model as another point? In this case, for input x... * Determine the Gaussian process p(y) * |x * The variance s(x, Y, θ) predicted by X, Y, θ * ).

[0164] 3. Determine the most probable sensor value and quantify the model's confidence level: In this case, for the input x recorded at the machine... * Determine the Gaussian process p(y) * |x * The expected value predicted by (x, y, θ) and the value predicted by the Gaussian process p(y * |x * The variance s(x, Y, θ) predicted by X, Y, θ * ).

[0165] It can be specified that step 516 or step 518, or both, are selectively performed, particularly based on user input. It can also be specified that the method is designed for a specific purpose and includes only one of steps 516 or 518.

[0166] Then, proceed to step 520.

[0167] In step 520, an output parameter e(x*) is determined based on at least one of these predictions. The output parameter e(x*) may include, for example, possible output parameters of the sensor and / or control parameters for the machine. In this example, the possible output parameters of the sensor are predictions of sensor values ​​measured at time points at which the sensor records parameters defining the input to the Gaussian process at the machine.

[0168] For example, for input x * The output parameter e(x*) is selectively based on the expected value m(x). * ), variance s(x) * (or both) can be used to determine this.

[0169] It can be specified that the output parameter e(x*) includes the expected value m(x). * ), and the most likely sensor value is the expected value m(x) * Alternatively, it can be determined based on the expected value. In this case, it can be specified that the most likely sensor value is output and / or the machine is controlled based on the most likely sensor value. It can be specified that the output parameter e(x*) includes the expected value m(x).* ), and the control parameters for the machine are the expected value m(x) * Alternatively, it can be determined based on the expected value. In this case, it can be stipulated that the machine is controlled according to the control parameters for the machine.

[0170] It can be stipulated that the output parameter e(x*) is the variance s(x) * ), where when the output parameter e(x*) is greater than the threshold, the data point is... Add input x * In this case, the supplementary data points are specified when step 500 is reimplemented, and the steps following step 500 are executed again.

[0171] In one respect, the output parameter e(x*) includes the expected value m(x). * ) and variance s(x * ).

[0172] In this respect, the most likely sensor value could be the expected value m(x) * Alternatively, it can be determined based on the expected value. In this case, it can be specified that when the variance s(x) * If the value is less than the threshold, output the most likely sensor value; otherwise, do not output the most likely sensor value.

[0173] In this case, it can be stipulated that: when the variance s(x) * If the value is less than the threshold, output the most likely sensor value; otherwise, use another model to determine the most likely sensor value.

[0174] In this case, it can be specified that the output is the most likely sensor value, and when the variance s(x) * If the value exceeds the threshold, an alarm will also be output.

[0175] In these cases, it can be stipulated that the machine should be operated based on the most probable sensor value output.

[0176] In this respect, the control parameters for the machine can be the desired value m(x) * Alternatively, it can be determined based on the expected value, and the variance s(x) * ).

[0177] In this case, it can be stipulated that: when the variance s(x) * When the value is less than the threshold, the machine is controlled according to the control parameters; otherwise, the machine is not controlled.

[0178] In this case, it can be stipulated that: when the variance s(x) * If the value is less than the threshold, the machine is controlled according to the control parameters; otherwise, another model is used to determine the control parameters.

[0179] In this case, it can be stipulated that the machine is controlled according to the control parameters, and when the variance s(x) * If the value exceeds the threshold, an alarm will also be output.

[0180] It can be specified that the output parameter e(x*) is a control parameter for the machine. In this case, it can be specified that the machine is controlled based on the output parameter e(x*).

[0181] In one respect, the output parameter e(x) * Based on at least one data point It is determined that at least one data point is recorded during the operation of the sensor and / or machine up to a first time point t.

[0182] In this respect, according to the output parameter e(x) * This determines the prediction of sensor output parameters and / or machine control parameters at a time point t+r later than the first time point t. If r > 0, sensor output parameters and / or machine control parameters at any future time point are predicted.

[0183] In this example, the sensor output parameters and / or the machine control parameters are determined as described for the mentioned devices. For example, for device 100 or device 200, a NOx emission prediction is determined as the output. For example, device 300 determines this prediction as the output. For example, for device 400, control parameters or program flow are determined as the output.

[0184] On the other hand, it can be specified that a sparse Gaussian process is used. In this case, for the given pseudo-input u∈R d The pseudo-output v∈R is learned as a parameter. In this example, in addition to the element k(x, x′), the kernel matrix K also includes elements k(u, u′), k(u, x), and k(x, u). In this case, the hyperparameter θ additionally includes the pseudo-outputs v1, ..., v M M limits the number of pseudo-input and output (u, v) pairs. This number can be parameterized.

[0185] In this case, as described earlier, that is, additionally performing the derivative with respect to the pseudo-output v. Calculation and expression The calculation.

[0186] These specific hardware modules can be implemented as hardware accelerators.

Claims

1. A computer-implemented method, characterized in that... Specify (500) data points, which include pairs of interrelated inputs and outputs of a Gaussian process; determine (502) a positive semi-definite kernel matrix based on the input specified by the data points; determine (504, 506, 508) the inverse of the kernel matrix based on an estimate of the inverse of the 1-Lipschitz mapping of the kernel matrix, the estimate being scaled based on an estimate of the principal eigenvalues ​​of the kernel matrix; Specify (514) the input for the Gaussian process; determine a prediction (516) of the expected value of the Gaussian process based on at least one covariance from the positive semi-definite kernel matrix and based on the inverse of the kernel matrix and based on the output from the data points, and / or determine a prediction (518) of the variance of the Gaussian process based on at least one covariance from the positive semi-definite kernel matrix and based on the inverse of the kernel matrix; determine (520) possible output parameters of the sensor and / or control parameters for the machine based on at least one of these predictions.

2. The method according to claim 1, characterized in that... Determine (504) the decomposition of the kernel matrix, the decomposition including an estimate of the principal eigenvalues ​​of the kernel matrix and an estimate of the 1-Lipschitz mapping of the kernel matrix; determine (506) an estimate of the inverse of the 1-Lipschitz mapping based on the estimate of the 1-Lipschitz mapping; determine (508) the inverse of the kernel matrix based on the estimate of the inverse of the 1-Lipschitz mapping and the estimate of the principal eigenvalues, wherein the estimate of the inverse of the 1-Lipschitz mapping is scaled according to the estimate of the principal eigenvalues.

3. The method according to claim 1 or 2, characterized in that, Interrelated inputs and outputs are specified according to measurement parameters recorded by the sensor and / or recorded at the machine, or have been recorded by the sensor and / or recorded at the machine; or interrelated inputs and outputs are specified according to pseudo-measurement parameters that simulate measurement parameters that can be recorded by the sensor and / or recorded at the machine.

4. The method according to claim 1 or 2, characterized in that, In the first iteration, at least one data point is recorded based on the output during the operation of the sensor and / or the machine, wherein in the second iteration, a prediction of the expected value for the Gaussian process and / or a prediction of the variance for the Gaussian process is determined based on at least one data point from the first iteration.

5. The method according to claim 1 or 2, characterized in that, The output is determined based on at least one data point, which is recorded during the operation of the sensor and / or the machine up to a first time point, wherein the output is used to determine predictions of output parameters for the sensor at time points later than the first time point and / or control parameters for the machine at time points later than the first time point.

6. The method according to claim 1 or 2, characterized in that, The machine is a robot (402), wherein the control parameter is a parameter for controlling the robot (402); or the machine is an internal combustion engine (102), wherein the control parameter is a parameter for controlling the internal combustion engine (102); or the machine is an injection valve (222), wherein the control parameter is a parameter for controlling the injection valve (222); or the machine includes an accumulator (306), wherein the control parameter is a parameter representing the energy that the accumulator (306) should provide; or the machine is an electric drive unit (302), wherein the control parameter is a parameter representing the power required by the electric drive unit (302).

7. The method according to claim 1 or 2, characterized in that... The derivative of a function is used in a gradient-based approach to determine at least one hyperparameter of the Gaussian process (512), wherein the function defines a quality metric of the mapping of the Gaussian process that depends on the inverse of the kernel matrix and the determinant of the kernel matrix.

8. The method according to claim 7, characterized in that, Determining the derivative of the function (510) includes: determining the derivative of the inverse of the kernel matrix with respect to the at least one hyperparameter; and determining the derivative of the kernel matrix with respect to the at least one hyperparameter.

9. The method according to claim 8, characterized in that, The determination of the estimated principal eigenvalues ​​of the kernel matrix (504) overlaps with each other in time and includes: a first multiplication of the first row of the kernel matrix on a first hardware module designed for this purpose with the estimated parameters for the principal eigenvectors of the kernel matrix; and a second multiplication of the second row of the kernel matrix on a second hardware module designed for this purpose with the estimated parameters.

10. The method according to claim 9, characterized in that, Determining the estimated value of the principal eigenvalue of the kernel matrix (504) includes determining the estimated parameter in at least two iterations, wherein the determination of the estimated value of the principal eigenvalue of the kernel matrix ends when the number of iterations is reached, or when the estimated parameter satisfies a condition in the iteration, or when the change of the estimated parameter in the iteration relative to the estimated parameter from the immediately preceding iteration satisfies a condition.

11. The method according to claim 1 or 2, characterized in that... The estimate of the 1-Lipschitz mapping of the kernel matrix is ​​determined by (504) based on the product of the inverse of the estimated value of the principal eigenvalue and the kernel matrix.

12. The method according to claim 1 or 2, characterized in that... An estimate of the inverse of the 1-Lipschitz mapping is computed in at least two iterations, wherein the estimate is determined in the iteration based on the sum of the estimate of the inverse of the 1-Lipschitz mapping from the immediately preceding iteration and the change in this iteration, wherein the change is determined based on the product of the change in the immediately preceding iteration and the difference between the estimate of the 1-Lipschitz mapping of the identity matrix and the estimate of the 1-Lipschitz mapping of the kernel matrix.

13. The method according to claim 7, characterized in that, The calculation of the derivative of the function includes the multiplication of a first matrix and a second matrix, wherein a multiplication of at least one row of the first matrix and at least one column of the second matrix is ​​determined on a first hardware module configured for this purpose, wherein, overlapping with each other, a multiplication of the at least one row or at least another row of the first matrix and the at least one column or at least another column of the second matrix is ​​determined on a second hardware module configured for this purpose.

14. An apparatus, characterized in that, The apparatus includes a computing device designed to implement the method according to any one of claims 1 to 13.

15. The apparatus according to claim 14, characterized in that, The device includes at least one sensor (210) for recording the input and / or at least one actuator (212) that can be manipulated according to the output.

16. The apparatus according to claim 14 or 15, characterized in that, The computing device includes a first hardware module and a second hardware module, wherein the computing device is designed to: perform a multiplication of a first matrix and a second matrix in order to compute the derivative of a function of a quality metric that defines the mapping of the Gaussian process and depends on the inverse of the kernel matrix and the determinant of the kernel matrix, wherein a multiplication of at least one row of the first matrix and at least one column of the second matrix is ​​determined on the first hardware module configured for this purpose, wherein, concurrently with this, a multiplication of the at least one row or at least another row of the first matrix and the at least one column or at least another column of the second matrix is ​​determined on the second hardware module configured for this purpose.

17. A computer program product comprising a computer program, characterized in that, The computer program includes machine-readable instructions, which, when executed by a computer, operate according to any one of claims 1 to 13.