## 5 Fingerprinting
### Online Phase
#### 5.2.2 Deep Learning  
The capability of Neural Networks (NN) to extract the complex input-output relationship is advantageous for fingerprinting. More notably, NN can be used to directly map the fingerprints to the Cartesian coordinates like [71], which incorporates ANN, taking RSS as input and outputting the estimated position in 2D. Deep learning techniques are more powerful than traditional ML techniques. The main advantage of deep learning is that it is capable of handling a great deal of complex multi-dimensional data that are corrupted by noise [72]. Deep learning can also make better use of the parallelism of GPU architecture, which is equivalent to a lower run-time. There are, however, some challenges and disadvantages of deep learning models. First, they require the availability of rich, varied data representative of the problem to learn meaningful relationships between the input and output. Nevertheless, we lack tools to interpret models and understand for which part of the input space this relationship has been correctly learned and where there is a need for more data. This issue is also related to over-fitting, which appears when the network cannot generalize to unobserved data and makes improper predictions based on the training data. Lastly, finding suitable training hyper-parameters is a time-consuming practice.  
One of the promising deep learning-based methods is CNN, which has been widely deployed and successfully used for image classification. CNNs in online mode can perform very fast, though they require a meticulous and time-consuming training phase, which still requires further investigation for fingerprinting localisation. In [73], a six-layer CNN classifier is used to learn and predict under the 74 classes. In [74], Stacked Auto-encoder (SAE) is incorporated to reduce the data dimension before feeding them into the CNN classifier for multi-floor multi-building localisation. In a 5G Internet of Things (IoT) tested, [75] combine two CNN for localisation. The first one acts as a regressor that estimates the position in 2D, whose output will provide the input for the second neural network performing as a classifier to estimate the 3D location. A Siamese network consisting of two sub-network (convolutional neural network with shared weights) with offline fine-tuning is proposed in [68] to counter temporal changes of RSS, device heterogeneity, and low RSS samples in a lightweight algorithm. In the training phase, an embedding function is learned that uniquely translates the distance and RSS pairs to an embedding. The training is executed so that each sub-network can take an RSS vector as input and estimate the relative distance of the locations corresponding to the RSS pairs. In the online step, the location is calculated as the weighting average of the RPs, based on the probabilities assigned for the embeddings of online RSS using Random Forest.  
It is to be noted that these methods can also be combined in a multi-stage process for localisation. For example, practically, the first simple rough estimation is performed to find the sub-area candidate for the target position. Then, a more accurate estimate is delivered by searching only through the selected sub-area. The work of [76] clusters all data on the database based on signal levels involving RSS and directional antenna gain into the database. First, finding the initial rough estimation, the solution is refined with up-sampling until it meets the desired accuracy. The same two-step procedure is performed in [49] for UAV positioning in 3D based on TOA. After coarse localisation, neural network fitting is executed to refine the estimation. Finally, in [54], rough localisation is performed based on TDOA, and the subarea is searched using a deep neural network (DNN) based on RSS.