Probabilistic training of binary neural networks
Through the improved training method, random variable distribution and thresholding functions are used to avoid rounding operations, the problems of stability and resource consumption in binary neural network training are solved, and more efficient neural network training and hardware resource management are achieved.
Patent Information
- Application Number
- CN201910589028.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-07-03
- Filing Date
- 2019-07-02
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2039-07-02
AI Technical Summary
The existing binary neural network training methods require rounding operations during backpropagation, resulting in unstable training and degraded task performance, and high hardware resource consumption, especially in mobile and automotive applications.
Adopt an improved training method, where the weight is replaced by the training weight, and the pre-activation is converted into the output value through the distribution and thresholding functions of the random variables, avoiding rounding operations, and using appropriate priors to achieve automatic regularization, reducing the need for no Necessary weights and neurons to improve hardware efficiency.
Improves the stability and convergence of training, reduces the hardware resource requirements, especially in mobile and automotive applications, and reduces power consumption and manufacturing costs, and achieves a more efficient neural network implementation.
Smart Images

Figure CN110674920B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to an improved training method for a neural network which is implemented at least partially as a binary neural network in which all internal parameters can have only one of two possible values. Background Art
[0002] Deep neural networks have become a standard tool for modern machine learning tasks with complex, high-dimensional inputs such as images, video, or audio data. Implementing deep neural networks on less expensive and less power-hungry hardware is desirable, especially for mobile, embedded, or automotive applications.
[0003] To this end, binary neural networks have been proposed in recent scientific literature. In these networks, the weights used as internal parameters as well as the output activations of neurons are binary, i.e., they can have only one of two possible values (usually -1 and +1). The advantage of these networks is that the most common computational operations in fully connected and convolutional layers (i.e., multiplication-accumulation (MAC) corresponding to matrix multiplication between the layer's input and the weight matrix or weight tensor) can be computed very efficiently by using a bitwise XNOR operation combined with a bitwise summation. The nonlinearity that produces the final output can then be brought about using a sign function.
[0004] Such a binary neural network does not require hardware units for floating-point multiplication. Instead, bitwise XNOR, bit counting and sign functions can be implemented in fast and energy-efficient hardware. An exemplary hardware implementation is given in WO 2018 / 026560 A1.
[0005] Prior art methods for training such networks replicate the processing chain of a binary neural network in software and assign a full-precision "shadow weight" to each binary weight. This "shadow weight" is updated when backpropagating feedback from the loss function. But whenever the "shadow weight" is used - whether it is used to perform calculations in the network or used in the final binary neural network - it is rounded to a binary weight. Summary of the invention
[0006] The inventors have developed a method for training an artificial neural network implemented at least in part as a binary neural network. In such a network, both the weights associated with at least one layer and the output of at least one layer can have only one of two possible values, e.g., -1 or +1.
[0007] The method includes receiving a training input value for an input of an artificial neural network or a portion thereof. For example, the method can be implemented on a neural network as a whole, on an individual binary layer of a neural network, or on a stack of several such binary layers. In particular, it is possible to use a hybrid neural network that includes both full-precision layers and binary layers. For example, in applications where it is difficult to binarize the input, the input layer can be a full-precision layer. In applications where more than a single bit activation is required for the final layer (e.g., in regression tasks), the final layer can be a full-precision layer. Other layers can be binary layers. In such a hybrid network, the full-precision first layer and / or the final layer contribute only slightly to the total number of parameters and the total number of calculations. Therefore, such a network can still be efficiently implemented on the following hardware: compared to standard hardware for full-precision neural networks, the hardware is not completely multiplication-free, but can have a very small number of floating-point multiplication-accumulation units.
[0008] The method further comprises: processing the training input values according to a processing chain defined by the artificial neural network or a part thereof, wherein the weights are determined by the training weights w lj This means that a given artificial neural network defines the number of layers to be used in the processing chain, the number of neurons per layer, the type of layers, and the interconnections between neurons in adjacent layers. But the weights are not yet the final weights that will be used in the artificial neural network. Instead, the weights are the training weights w lj (i.e., starting from the default value), the weight w lj is a free parameter, and the goal of training is to obtain the weight w lj The process produces an output value.
[0009] A loss function is applied to the obtained output values. The loss function is configured to assess how good the output values are in the context of the intended application of the artificial neural network in the context of the training input values. For example, in a training data set, the training input values can be combined with corresponding training output values, and the loss function can assess how well the obtained output values correspond to the training output values. Alternatively or in combination, the loss function can include other criteria, such as boundary conditions for the output values.
[0010] Update the training weights w lj , and the method branches back to this process until the evaluation by the loss function satisfies a predetermined termination criterion. For example, the method can start from training weights w lj The default value of , and the pair of weights w that produces the best gradient descent with respect to the loss function can be picked lj The update is taken as the next update step.
[0011] According to the final training weight w ljto configure the actual artificial neural network.
[0012] The process comprises: in at least one layer of the processing chain, determining a pre-activation a for each neuron l in the layer l The distribution of A l Distribution A l is the total input x to this neuron l j The weighted sum of l . For each input x j Using weight w lj The distribution of W lj Weighted so that the distribution W lj Replace the training weight w lj This means that the weight w lj is a random variable. Whenever lj For value w lj Sampling, value w lj can only have one of two possible values (e.g., -1 or +1). At the same time, the next sample w lj The probability ω will have a value of, for example, +1 lj can have any full-precision value between 0 and 1. Similarly, the distribution W lj The expectation of W can have any full-precision value between -1 and +1 (e.g., 0 if there is a 50:50 chance of drawing -1 or +1, or 0.5 if there is a 75% chance of drawing +1). lj The fact that is a random variable makes the pre-activation a l also becomes a random variable, so the weight w lj The distribution of W lj Trigger a l The distribution of A l .x i can be concrete values (e.g., training input values), but if x i is also a random variable, the calculation remains the same, and the random variable x i Distribution of X i is used in the weighted sum.
[0013] For each neuron l in the layer, a thresholding function g with two possible output values is applied to the distribution A l To pre-activate a l The distribution of A l Converted into output value h l The distribution of H l .
[0014] The consequence of moving from processing individual values to processing distributions is that a significant number of rounding steps can be avoided. Training with "shadow weights" relies on such rounding every time a "shadow weight" is used during the forward pass, so to determine the output h of neuron l l , required to correspond to h l Depends on the weight w lj In contrast, no rounding occurs at all until the output value h is obtained. l The distribution of H l Even if it is necessary to l For a specific value h l Sampling is performed, the distortion introduced by the sampling being typically much lower than the "rounding noise" that might be introduced by using rounding steps very frequently.
[0015] The suppression of "rounding noise" makes training more stable. Specifically, if a gradient descent method with respect to the loss function is used, the gradient becomes less noisy. This improves the convergence of training.
[0016] Improved training potentially reduces the need to widen layers in binary networks to maintain task performance. Because each binary weight can store less information than a full-precision weight, a binary neural network with a given structure has less processing power than a full-precision neural network with the same structure. Therefore, switching from a full-precision network to a binary network for handling the same task will generally require some widening of the layers, i.e., adding more neurons to the layers. It has been observed empirically that training with "shadow weights" may induce some degradation in task accuracy for more complex tasks, which can be partially compensated by further widening the layers. Improved training potentially suppresses degradation in task performance and therefore obviates the need for further widening.
[0017] Furthermore, by using suitable priors during training, automatic regularization can be achieved, which means that an explicit regularizer is not necessary. The improved training opens up the possibility of using sparse induced priors instead of weights (or even neurons), which allows unnecessary weights or neurons to be deleted (i.e., removed) after training to further increase the efficiency of the trained network in terms of hardware and resources (i.e., power consumption). For example, a Bayesian prior distribution can be used.
[0018] Most importantly, with improved training, when a given task is to be handled by an artificial neural network, it becomes more practical to set up the network, at least in part, as a binary neural network that is less demanding in terms of hardware resources and power consumption. This is particularly advantageous for applications in vehicles, where both space to insert additional hardware and available power are in short supply. For example, common hardware for running models of deep full-precision networks includes a graphics processing unit (GPU) with several gigabytes of memory, several gigabits per second of memory bandwidth, the ability to perform 11 trillion operations per second, and a power consumption of 250 watts. This would draw more than 20 amps from the vehicle's 12 volt system.
[0019] The reduced need for hardware resources also reduces the manufacturing cost of embedded devices that use neural networks. This reduction is already significant for vehicles, which are among the most expensive products purchased by consumers, and is even more significant for less expensive consumer products.
[0020] Probabilistic training is more resource intensive than training of a regular full-precision network. But this effort will only have to be expended once, while the switch from a full-precision network to a binary network saves effort throughout the network service life. Therefore, the increased effort for training will pay for itself very quickly.
[0021] Moreover, the distribution W lj and H l Contains information about any sample value w lj , corresponding h l Especially in safety-critical applications, information about how certain a value is can be at least as important as the value itself.
[0022] Preferably, at least one distribution W lj is chosen to be a Bernoulli distribution with values in the set {-1, +1}. Such a distribution has one parameter, the probability ω that the sampled weight value is +1 lj The probability of a sampling weight value of -1 is 1-ω lj Given. During training, the probability ω lj can be stored as full precision values and used as parameters that are updated in response to feedback from the loss function.
[0023] Preferably, distribution A l is modeled as a Poisson binomial distribution, or as having mean μ l and variance σ 1 2. Specifically, if A l There are multiple inputs x i (or distribution X i ) multiplied by the weight w lj Multiple distributions of Wlj The resulting random variable is distributed according to a Poisson binomial distribution. As the number of such summands increases, the Poisson binomial distribution quickly converges to something that is approximated better and better by a Gaussian distribution, according to the central limit theorem. The Gaussian distribution is much easier to compute, and it is characterized by only two parameters, namely its mean μ l and variance σ l 2.
[0024] Preferably, as in A l The weighted sum of the distributions is calculated by summing the mean and variance of the distribution to obtain the mean μ l and variance σ l 2. This is done by using the weight w lj The computation is further accelerated by the fact that are independent random variables. This means that the input x i or their respective distributions X i knowledge, and distribution W lj The knowledge of is sufficient to directly compute the mean μ for each neuron l in the layer l and variance σ l 2.
[0025] Preferably, the distribution of output values H l is a Bernoulli distribution with values chosen to be in the set {-1, +1} and with expectation ξ l , the expectation l The value ξ of the cumulative density function of the Gaussian distribution at value 0 l =Φ(0|μ l , σ l 2 ). This is very efficient because the cumulative density function is implemented in many available software packages in an efficient and numerically stable way.
[0026] In an advantageous embodiment, for at least one neuron l in a layer, from the distribution H l For at least one output value h l This value is then immediately available as an input to the adjacent layer of the artificial neural network (either binary or full precision), or as the final output of the network as a whole. Whenever "shadow weights" are used, this embodiment is in some ways similar to training with "shadow weights" and taking binary weight samples. The important difference is that now sampling introduces only a single discretization at the end, while the use of "shadow weights" is repeated for each single output h. l The calculation of requires multiple rounding operations.
[0027] Alternatively or in combination, in a further advantageous embodiment, the input x in the next layer of the processing chain i The output h from at least one layer of the processing chain is used in the positionl At least one distribution H l This means that relative to this output, no discretization occurs at all during the transition from one layer to the next. For example, the Bernoulli distribution H l Through its expectation l to characterize, and the expectation ξ l can be used as full-precision parameters propagated from one layer to the next. At the same time, the Bernoulli distribution W lj The full precision parameter ω lj can be stored and updated within each layer. In this way, training becomes very similar to the training of a standard full-precision network. However, in the case of a binary neural network, instead of training point estimates about weights, training operates at the level of the full probability distribution of weights and activations. A significant attribute of this scheme is that it is not necessary to approximate these distributions by drawing multiple samples and having to propagate multiple forward passes. Instead, a single full-precision forward pass allows the entire distribution of weights and activations to be propagated immediately. This in turn allows the gradients of the parameters of these distributions to be calculated using a single error backpropagation pass and the updates to the entire distribution of weights to be calculated.
[0028] In an advantageous embodiment, when configuring the actual artificial neural network, for the weights w lj Each final distribution W lj , at least one value w lj is sampled and stored in the non-volatile memory of the actual artificial neural network to be used as the corresponding weights. In this way, the distribution W can be maintained throughout the training. lj Moreover, multiple sets of weights can be drawn to produce an ensemble of networks for the same task. For example, this allows ensemble averaging of predictions, which can increase task accuracy and robustness of predictions. Moreover, high-quality uncertainty estimates about the predictions can be obtained.
[0029] In another advantageous embodiment, when configuring the actual artificial neural network, for the weights w lj Each final distribution W lj , which represents the distribution W lj The width and / or value w lj At least one statistic q of the uncertainty lj is determined and stored in the non-volatile memory of the actual artificial neural network to be used as the value w lj The corresponding uncertainty.
[0030] Similarly, we can use the distribution H l The statistic used to evaluate any output value h l For example, the output value h in the final layer can be lThe uncertainty about the predictions made by the binary neural network can be obtained from the uncertainty of the corresponding distribution H l , from the weight w lj uncertainty, or any suitable combination of the two.
[0031] In particular, for safety-critical applications such as classifying road signs or other objects during operation of an at least partially automated vehicle, it is important that the system reliably reports low certainty in situations where a confident prediction is not possible. This may occur, for example, when replacing a road sign with a new one. For example, a German sign for a level crossing showed a steam locomotive for a long time until it was modified to show a high-speed train. A binary neural network that has been trained in a probabilistic manner produces such estimates during routine operation, and these uncertainties can be easily checked. The distribution W lj The learning parameter ω lj Allows direct readout of weights w lj uncertainty.
[0032] The training can preferably be carried out on a computer, so the method can be embodied in software in whole or in part. Therefore, the present invention also relates to a computer program having machine-readable instructions, which, when executed by a computer, causes the computer to perform the method provided by the present invention.
[0033] The training method is advantageous for manufacturing any system intended to run on hardware with limited computing resources, where these limitations may include, among other things, limited energy consumption and / or heat generation, limited memory and memory bandwidth, or limitations in chip area due to tight cost constraints for mass-producing products.
[0034] In an exemplary embodiment, the present invention provides a sensing system for a vehicle environment. The sensing system includes: at least one sensor configured to acquire physical measurement data from at least part of the environment; and at least one classifier to classify the measurement data with respect to which objects and / or situations are present in the vehicle environment. The at least one classifier includes at least one binary neural network that has been trained using the method provided by the present invention.
[0035] Specifically, in a particularly advantageous embodiment, the at least one classifier comprises: at least two binary neural networks embodied in hardware modules independent of each other. Preferably, the binary neural networks having the same structure have been trained using the method provided by the present invention, and the weight samples w lj The distribution W obtained from the final lj Draw from the weight w lj Each final distribution W lj, the first weight w has been lj has been sampled for use in the first binary neural network, and the second weight w has been lj *Sampled for use in the second binary neural network.
[0036] In this way, the amount of operational safety brought about by the redundancy of hardware modules is further increased. If a "bad" sample has been accidentally drawn for the configuration of one network, and this leads to an erroneous prediction, such an error can be caught and acted upon. For example, if there are three or more binary neural networks drawn from the same weight distribution W lj Different weight samples w of the set lj If operations are performed on the same network, the correct prediction can be determined based on the voting mechanism.
[0037] The output of the sensing system can advantageously be used as a basis for decision making of a vehicle control system. Therefore, the present invention also provides a control system for a vehicle. The control system comprises: at least one sensing system as described above, and also comprises logic, which is configured to: in response to the sensing system detecting at least one predetermined object or situation in the environment, actuate the drive train, steering system and / or braking system of the vehicle. In particular, the actuation can be directed to avoiding collision with an object or situation, or preventing other adverse consequences to the vehicle, its driver or to other road users.
[0038] In a second exemplary embodiment, the present invention provides a portable sensing system. The system includes: at least one sensor configured to acquire physical measurement data from a work area; and at least one classifier to classify the measurement data as to whether a predetermined condition exists in the work area. The classifier includes at least one binary neural network that has been trained using the method provided by the present invention.
[0039] For example, the condition may be an eye disease such as diabetic retinopathy. Currently, automatic diagnosis is performed on a server in the cloud. The use of binary neural networks, made practical by improved training, allows calculations to be performed directly on the camera.
[0040] Further improvements of the present invention are described in detail below in conjunction with the description of the preferred embodiments using the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings show:
[0042] Figure 1 : An exemplary embodiment of method 100;
[0043] Figure 2 : Random variable output H at neuron l l An exemplary generation of
[0044] Figure 3 : An exemplary sensing system for a vehicle 3;
[0045] Figure 4 : Exemplary portable sensing system 41. DETAILED DESCRIPTION
[0046] Figure 1 An exemplary embodiment of method 100 is shown. In step 110, an input value 11 is obtained. In step 120, the input value 11 is processed. In step 121, the pre-activation A for neuron 1 is l Created as input x i Using weight w lj The distribution of W lj Therefore, no matter the input x i Is it deterministic, the pre-activation of neuron l is the pre-activation value a l The distribution of A l That is, pre-activation becomes probabilistic. By applying the thresholding function g in step 122, the output value h is generated. l The distribution of H l Specifically, the thresholding operation may correspond to evaluating the cumulative density function CDF. In step 123, from the distribution H l For the output value h l However, according to step 124, the distribution H l Can also be used directly.
[0047] In step 130, the output values 12 obtained during the processing are evaluated by applying the loss function 13, which is a distribution H l , output value h l or any suitable mixture thereof. The assessment 13a is checked against a predetermined termination criterion 160. If the criterion 160 is not met (the truth value is 0), then in step 140 the distribution W of the training weights is updated. lj (For example, by updating their parameters ω lj ), and with this update in place, method 100 branches back to process 120 according to step 150. If criterion 160 is met (true value is 1), then in step 170, the training weights w are replaced by lj The final distribution W lj To configure not Figure 1 Actual artificial neural networks 1, 2 shown in FIG.
[0048] In step 171, from the weight w lj The distribution of each lj For weight w ljThe samples are sampled to be used as weights in the actual artificial neural network 1, 2. In step 172, these weights are stored in the non-volatile memory of the neural network 1, 2.
[0049] In step 173, for each distribution W lj Get the statistic q lj , to represent the distribution W lj width, and / or from W lj The sampled value w lj In step 174, the statistic q lj Stored in the non-volatile memory of neural networks 1 and 2.
[0050] Figure 2 A cut-out is shown from a binary neural network 2 which is part of an artificial neural network 1. The cut-out shows three exemplary layers 21-23 of the binary neural network 2. Exemplary neurons are drawn as dashed circles in layers 21 and 23, and as solid dots in layer 22.
[0051] The output x from one neuron in layer 21 to all neurons in layer 22 is shown as an example i Neuron l in layer 22 is of particular interest. It produces a probabilistic output distribution H l , from this probabilistic output distribution H l The output value h can be l Take samples.
[0052] Figure 2 The illustration in Figure 2 shows how the output distribution H is generated. l . The total input x to neuron l j Using the corresponding weight distribution W lj The weights are applied and the results are summed over j. This yields the pre-activation distribution A l , which is then converted into the output distribution H by applying the thresholding function g l Specifically, this can be done by evaluating the cumulative density function CDF.
[0053] Figure 3 An exemplary sensing system 31 is shown for an environment 32 of a vehicle 3. A sensor 34 captures measurement data 34a from a portion 33 of the environment 32. The measurement data 34a is fed into a classifier 35 to obtain objects and / or situations 36 present in the observed portion 33 of the environment 32.
[0054] The classifier 35 comprises two independent hardware modules 35a and 35b. The first hardware module 35a implements the first binary neural network 2a, and the second hardware module 35b implements the second binary neural network 2b. Both networks 2a and 2b have used the same weight distribution W obtained during training. lj To configure. From each such distribution W lj , the first sample w has been obtained lj To configure the first binary neural network 2a, and the second sample w has been obtained lj * to configure the second binary neural network 2b.
[0055] exist Figure 3 In the embodiment shown in , the sensing system 31 is part of a control system 37 for the vehicle 3. The control system 37 further includes an actuation logic 38 configured to actuate a drive train 3a, a steering system 3b and / or a braking system 3c of the vehicle 3 in response to the sensing system 31 detecting at least one predetermined object or situation 36 in the environment 32 of the vehicle 3.
[0056] Figure 4 An exemplary portable sensing system 41 is shown. A sensor 42 captures physical measurement data from a work area 4. The physical measurement data 42a is fed into a classifier 43 having a binary neural network 2 in order to determine whether a condition 4a exists in the work area 4.
Claims
1. A method (100) for manufacturing a sensing system (31) or a portable sensing system (41) for an environment (32) of a vehicle (3), comprising: Providing at least one sensor (34, 42) configured to acquire physical measurement data (34a) from at least a portion (33) of the environment (32) or configured to acquire physical measurement data (42a) from the working area (4); At least one classifier (35, 43) is provided to classify the measured data (34a) as to which objects and / or situations (36) are present in the environment (32) of the vehicle (3), or to classify the measured data (42a) as to whether a predetermined condition (4a) is present in the working area (4), wherein the at least one classifier (35, 43) comprises at least three artificial neural networks (1), which are embodied in hardware modules independent of one another, each artificial neural network being at least partially implemented as a binary neural network (2), wherein both the weights associated with at least one layer (21-23) and the output of at least one layer (21-23) can have only one of two possible values, Receive (110) an input x to the artificial neural network (1) i The training input value of (11), The training input values (11) are processed (120) according to a processing chain defined by the artificial neural network (1), wherein the weights are the training weights w lj , thus obtaining the output value (12), applying (130) a loss function (13) to the obtained output value (12), the loss function (13) being configured to rate how good the output value (12) is in the context of the intended application of the artificial neural network (1) in the context indicated by the training input value (11); Update (140) training weights w lj , and branches back (150) to process (120) until the evaluation (13a) performed by the loss function (13) satisfies a predetermined termination criterion (160); and According to the final training weight w lj to configure (170) the actual artificial neural network (1), Wherein the processing (120) is included in at least one layer of a processing chain: For each neuron l in layer (21-23) determine (121) the pre-activation a l The distribution of A l , where distribution A l is the total input x to this neuron l j The weighted sum of , where each input x j Using weight w lj The distribution of W lj Weighted so that the training weight w lj According to the distribution W lj A random variable of ; and By applying a predetermined thresholding function g with two possible output values to the distribution A l , for each neuron l in layer (21-23) determine (122) the output value h l The distribution of H l ; in Configuration (170) of the actual artificial neural network (1) includes: for the weight w lj Each final distribution W lj , for each actual artificial neural network (1) at least one value w is sampled (171) lj , and the at least one value w lj storing (172) in a non-volatile memory of the actual artificial neural network (1) to be used as corresponding weights; And wherein the method (100) further comprises: configuring the at least one classifier (35, 43) to determine the correct prediction from the predictions made by the actual artificial neural network (1) according to a voting mechanism.
2. The method (100) according to claim 1, wherein at least one distribution W lj is chosen to be a Bernoulli distribution of values in the set {-1, +1}.
3. The method (100) of claim 1, wherein the distribution A l is modeled as a Poisson binomial distribution, or as having mean μ l and variance σ l 2 Gaussian distribution.
4. The method (100) according to claim 3, further comprising: As in A l The weighted sum of the distributions is calculated by summing the mean and variance of (121a) to obtain the mean μ l and variance σ l 2.
5. The method (100) according to any one of claims 3 to 4, wherein the distribution H of the output values l is chosen to be a Bernoulli distribution of values in the set {-1, +1} with expectation ξ l , the expectation ξ l The value ξ of the cumulative density function of the Gaussian distribution at value 0 l =Φ(0|μ1,σ12).
6. The method (100) according to any one of claims 1 to 4, further comprising: For at least one neuron l in layer (21-23) from the distribution H l For at least one output value h l Sampling (123) is performed.
7. The method (100) according to any one of claims 1 to 4, wherein the processing (120) further comprises: The input x in the next layer (21-23) of the processing chain i The output h from at least one layer of the processing chain is used in place of (124) l At least one distribution H l .
8. The method (100) according to any one of claims 1 to 4, wherein configuring (170) the actual artificial neural network further comprises: For the weight w lj Each final distribution W lj , determine (173) represents the distribution W lj The width and / or value w lj At least one statistic q of the uncertainty lj , and the quantity q lj is stored (174) in a non-volatile memory of the actual artificial neural network (1) to be used as the value w lj The corresponding uncertainty.
9. A computer program product comprising machine-readable instructions which, when executed by a computer, cause the computer to perform the method (100) according to any one of claims 1 to 8.
10. A control system (37) for a vehicle (3), comprising: At least one sensing system (31) manufactured using the method (100) of any one of claims 1 to 8, and further comprising logic (38) configured to: actuate a powertrain (3a), a steering system (3b) and / or a braking system (3c) of a vehicle (3) in response to the sensing system (31) detecting at least one predetermined object or situation (36) in an environment (32).
Citation Information
Patent Citations
Binary neural networks on progammable integrated circuits
WO2018026560A1