Patent ID: 12253918

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG.1is a schematic sequence diagram of an exemplary embodiment of the method100. According to step105, those data types which are specifically the most important for the orientation of an at least partially self-driving vehicle in road traffic may be provided as input data in the input matrix1.FIG.3explains the hardware platform1which is operated by the method100in greater detail.

In step110, input data11which are required for the inference calculation of a first layer of the neural network together with associated redundancy information11aare read in from the external working memory3. In step120, the integrity of the input data11is checked on the basis of the redundancy information11a. If said check is positive (truth value 1), i.e., the input data11have been identified as error-free, in step130the computing unit2carries out at least part of the first-layer inference calculation for the input data11in order to obtain a work result12.

In step140, redundancy information12afor the work result12is determined, on the basis of which the integrity of the work result12can be verified. Optionally, in step145, it is additionally verified on the basis of said redundancy information12awhether the work result12has been correctly calculated. If this is the case (truth value 1), in step150the work result12together with the redundancy information12ais written to the external working memory3.

In the example shown inFIG.1, processing of the neural network as a whole is organized such that it is checked in step160whether all the input data which are required for the first-layer inference calculation have already been processed. If this is not yet the case (truth value 0), the method branches back to step110and the next portion of input data11of said first layer is read in from the external working memory3. If, however, the complete first layer has already been processed (truth value 1), the method switches over in step170to a second-layer inference calculation. In other words, the method branches back again to step110in order to read in portions of input data11from the external working memory3. However, these are then input data11of the second layer. Once all the layers have been processed, the work result12* of the neural network as a whole is output. Said work result12* can be processed to yield a control signal9in step220. According to step230, said control signal9can then be used to control a vehicle50, and/or a classification system60, and/or a system70for the quality control of mass-produced products, and/or a system80for medical imaging, and/or an access control system90.

According to block131, the first-layer inference calculation130may in particular comprise convolving data13with a plurality of convolutional kernels. According to block132, said inference calculation130may also comprise at least one nonlinear calculation step in the inputs of the neurons. If said nonlinear calculation step according to block133is only carried out at a subsequent point in time, at which the work result12is again located in the internal working memory2aof the computing unit2after having been read back in from the external working memory3, this saves computing time and memory space. In this case, the work result12can be saved in the external working memory3in a state which is not yet “contaminated” by nonlinearity. The same redundancy information12amay then be used both for the check145for correct calculation of the work result12aand for the subsequent check120for correct storage and correct data transfer.

According to block141, the redundancy information12acan be determined by convolution with a control kernel which is a sum of the stated convolutional kernels.

If an error is identified in one of the checks120or145(truth value 0 in the respective check), according to block180the error in the input data11, or in the work result12, can be corrected on the basis of the respective redundancy information11a,12a. Alternatively, the input data11, or the work result12, can be recalculated according to block185.

In the example shown inFIG.1, an error counter for a memory area of the external working memory3or a hardware component which comes into consideration as the cause of the error can then additionally be incremented according to block190. In step195, it can then be checked whether said error counter has exceeded a specified threshold value. If this is the case (truth value 1), the memory area or the hardware component can be identified as defective according to block200. According to block210, the hardware platform1can then be reconfigured such that a standby memory area or a standby hardware component is respectively used for further calculations.

If the input data11, or the work result12, have been corrected according to block180or recalculated according to block185, the originally intended inference calculation130, or the originally intended storage150in the external working memory3, can be resumed.

FIG.2shows two examples of how the inference calculation130can be organized.

FIG.2ashows a simple example in which the inference calculation130,130acomprises only convolutions131of the input data11to yield a work result12. As explained above, the calculations which lead to the work result12are then linear in the inputs supplied to the neurons. The same redundancy information12amay then be used both for the check145for correct calculation130and for the subsequent check120for correct saving and reading in.

In this example, the data13which are convolved in block131are identical to the input data11. The work result12corresponds to the complete result of the inference calculation130. When the next layer is processed, said work result12is read back in from the external working memory3as input data11′, and the redundancy information12astored with the work result12is the redundancy information11a′ with which these input data11′ are verified. The next convolution131gives rise to the next work result12′.

FIG.2bshows a further example in which the inference calculation130,130bcontains a nonlinearity132. In contrast withFIG.2a, the data13which are supplied to the convolution131are now no longer identical to the input data11, but are instead obtained from these input data11by application of the nonlinearity132. The convolution131itself, however, again contains only linear operations, such that the redundancy information12acan be put to dual use in a manner similar toFIG.2a.

In contrast withFIG.2a, the inference calculation130,130bis not yet complete at the point in time at which the work result12is saved in the external memory3. Instead, it is taken to completion at a subsequent point in time when convolution131for the next layer is pending. In the intervening period, a linear intermediate product of the nonlinear inference calculation130,130bis therefore present in the external memory3.

FIG.3shows an exemplary embodiment of the hardware platform1. A computing unit2with an internal working memory2ais linked via a communication link4to an external working memory3. Work results12are buffered in said external working memory3so that they can subsequently be read back in as input data11for the inference calculation of new layers. The external working memory3and the communication link4are susceptible to transient errors18which can be identified and corrected using the method100.