# Evaluating the Impact of Mobility on Differentially Private Federated Learning +
## 4 Proposed Method
### Mobility-Enhanced Differential Privacy  
This section presents the design of a novel differential privacy algorithm that takes the features of IoV into account, and as a result, it works seamlessly on the mobility-based federated learning model. Technically, the algorithm uses local differential privacy to handle mobility and an adaptive clipping method to deal with the locality of IoV data that are related to fairness and non-IID. Local differential privacy is a method of applying differential privacy when one does not trust a server. Differential privacy is executed at the user level, and obfuscated data are then submitted to the server. In terms of federated  
Figure 3: Architecture and operations of the mobility-based federated learning. learning, noise is added to the updated parameter values of each vehicle, and the values are transmitted to a coordinator. In this research, user-level (local) differential privacy is used to ensure stronger privacy. To this end, a proposed algorithm updates a combined averaging algorithm running on the coordinator. A general method of ensuring local differential privacy in federated learning is to limit the contribution of each training participant's model update to a certain value and then add noise. In this case, adaptive clipping uses a quartile value of the updated norm distribution instead of a fixed norm value. By applying these and referencing previous works [35; 55; 56; 57; 58; 59; 60; 61], our algorithm for differentially private federated learning on the Internet of Vehicles is shown in Algorithm 1. We note that symbols are borrowed from conventional local differential privacy equations. In the algorithm, let \(m\) be the number of participating vehicles and \(\gamma\in[0,1]\) be the target quantile of the Gaussian distribution at which we want to clip. For each round \(t\), \(Q^{t}\) denotes a set of vehicles sampled, \(C^{t}\) is a clipping threshold, and \(\gamma_{C}\) is a learning rate. Each vehicle \(i\) sends a usual delta update \(\Delta_{i}^{t}\) and additionally a bit \(b_{i}^{t}\) that is necessary for adjusting the clipping threshold, where \(b_{i}^{t}=\mathbb{I}_{||A_{i}^{t}||\leq C^{t}}\). When denoting an average value, \(\bar{b}^{t}=\frac{1}{m}\sum_{i\in Q^{t}}b_{i}^{t}\), our algorithm follows a geometric update rule: \(C\gets C\cdot exp(-\gamma_{C}(\bar{b}-\gamma))\)[57]. To perturb sensitive information \(\bar{b}^{t}\), Gaussian noise is added to the sum, obtaining \(\bar{b}^{t}=\frac{1}{m}(\sum_{i\in Q^{t}}b_{i}^{t}+\mathcal{N}(O,\sigma_{b}^{ 2}))\). The training procedure initializes two parameters: it sets a model to \(\theta^{0}\) and a clipping threshold to \(C^{0}\). It also takes two noise parameters: a noise standard deviation on clipped counts \(\sum b_{i}^{t}\) (\(\sigma_{b}\)) and a noise multiplier on the vector sum \(\sum\Delta_{i}^{t}\) (\(z_{\Delta}\)), where \(z_{\Delta}=(z^{-2}-(2\sigma_{b})^{-2})^{-\frac{1}{2}}\). The combined averaging algorithm on the coordinator first limits the updated parameter values of each vehicle to not exceed the clipping critical value before integrating the values. Then, it adds Gaussian noise to the sum, which is used to update the global parameters and clipping values.