## 4 Artificial Intelligence for Vehicular Sensor Data Processing
### AI Algorithms Applicable to Virtual Sensors
#### Artificial Neural Networks  
Machine learning (ML) frequently uses ANNs that implement synthetic neurons similar to the cells of the nervous system. The similarity is structural (an ANN is organized into input-/hidden-/output-layers) but mainly functional and based on the ability to learn. As electro-chemical neuro-channels enforce synapses, ANNs can iteratively grow--via different types of successive approximations--some weights to endorse inputs' specific contributions to intermediary results or outputs. What is making an important difference between ANNs and the computing of simple linear combinations is the \"activation\" of artificial neuron (weighted sum node) output. Figure 4: Artificial intelligence (AI) between cloud computing (with blue) and edge computing. This is very specific to neural signal propagation in the human brain cortex and is fundamental for \"triggering\" in event-driven models (detailed in Appendix B). To yield the \"activated\" neuron's final output \(y(x)\), an \"activation function\" is applied to the preliminary weighted sum \(x\) in order to produce the actual output \(y\)[36]. For instance, a simple choice that frequently occurs in the next sections of the paper is that of activating the output \(y=x\) only for positive \(x\) and to inactivate it, \(y=0\), for the rest. This very simple activation function, ReLU (rectified linear unit) is typical of simple \"half-wave rectifiers\". The advantage of being linear is counter-balanced by the disadvantage of being uncompressed. One of the most useful activation functions is the hyperbolic tangent, \(y=\tanh\left(x\right)\). It compresses the neuron's output between -1 and 1 and is also quasi-linear in reproducing \(x\) around 0 (\(\tanh\left(x\right)\approx x\) for \(x\approx 0\), as its derivative tanh' \(\left(0\right)=1\)). There are many activation alternatives; one of them is the \"sigmoid\", \(y=1/(1+\mathrm{e}^{-x})\), a \"scaled\" (dividing by 2) and \"shifted\" (finally adding \(\
icefrac{{1}}{{2}}\)) version of tanh. For \(x<<0\), the sigmoid is similar to ReLU (that \"inactivates\", or nullifies, \(y\) for a negative \(x\)) and similar to tanh for greater positive \(x>>0\), with an \(y\) also compressed to 1. The importance of such compression is related to the preliminary \"statistical\" compression of an ANN's main inputs (a procedure detailed in the next sections of the paper), which practically becomes a pre-normalization, by first subtracting the mean and then dividing the difference by \(\sigma\), the standard deviation. Each normalized sensor output that feeds the ANN is then \"statistically 0-centered and compressed\" between -1 and 1 (spurious extreme values--possibly caused by sporadic un-systematic errors--are less important). This is very practical for a better use of the ENOB (effective number of bits) at the ADC (analog-to-digital converter) obtained by pre-conditioning the signals (to adapt a sensor's range to the ADC range), as detailed in Section 6. The training of an ANN consists of the iterative optimization of the above-mentioned neurons' weights. Conventional ANNs use \"feed-forward\" computations results--from the inputs to the neurons of the first \"hidden layer\" and so on up to the neurons of the last hidden layer that feed the output(s) neuron(s). In this case, the usual \"learning process\" uses the \"back propagation\" (BP) of the updating increments of the weights. These updates aim to minimize the successive approximation errors between the ANN outputs and the actual (observed and measured) output values of the training set [37]. Iterative optimizations are done according to a chosen criterion, e.g., the minimization of MAE, the mean absolute error, or the minimization of the MSE, the mean squared error. For \(n\)-dimensional errors \(e\), MAE and MSE correspond to the \(L_{1}\) and \(L_{2}\) norms, respectively, where \(L_{\mathrm{p}}=(\sum_{i=\ 1}^{n}|e_{i}|^{p}\ )^{1/p}\)[38].