Decentralised federated learning for generating synthetic mobility data
Decentralized federated learning allows devices to generate secure and efficient synthetic mobility data locally, addressing security and congestion issues in centralized systems by aggregating optimized parameters for improved model convergence and quality.
Patent Information
- Application Number
- PCT/EP2025/053910
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-16
- Filing Date
- 2025-02-13
- Publication Date
- 2025-08-21
AI Technical Summary
Existing methods for generating synthetic mobility data require devices to transmit confidential mobility data to a central server, leading to security risks, network congestion, and failure vulnerabilities due to reliance on a centralized system.
A decentralized federated learning approach where devices generate synthetic data locally using optimized local parameters, aggregated to determine optimized global parameters, ensuring secure and efficient data generation without sharing confidential information.
This method enhances data security, reduces network congestion, and accelerates convergence of generative models, enabling high-quality synthetic data generation across devices with varying resources.
Smart Images

Figure EP2025053910_21082025_PF_FP_ABST
Abstract
Description
Decentralized federated learning for synthetic mobility data generation
[0001] The invention relates to the field of generating synthetic data representative of the mobility of equipment capable of communicating with other equipment.
[0002] Its main aim is to enable decentralized federated learning for the generation of such synthetic data. State of the art
[0003] Entities connected to each other, hereinafter referred to as equipment, such as vehicles or connected objects accessing a network enabling them to establish equipment-to-equipment communications, also called D2D for “Device to Device” in English, are capable of generating data representative of their mobility. Each equipment can in particular collect, during its movement, data describing the trajectory of the equipment as well as metrics representative of the equipment’s environment.
[0004] The trajectory may correspond to a series of geolocated points, through which the equipment passed during its journey, and the metrics are descriptive data of the environment of the equipment for each of these points. In the case where the equipment is also capable of accessing a cellular network, the metrics may be descriptive of states of the cellular network at each point. For this purpose, the metrics may include a signal-to-noise ratio, or SNR for "Signal to Noise Ratio" in English, a latency, a throughput value, etc.
[0005] Such metrics can have many advantages, for several actors in particular:- for the manager of a cellular network, because the metrics can be used to optimize the cellular network;- when the equipment is a vehicle or a terminal on board a vehicle, for other vehicles, the metrics can be used for informative purposes;- when the equipment is a vehicle or a terminal on board a vehicle, for a transport actor who can use the metrics for information and prevention.
[0006] However, it is not desirable for a device to share its exact routes and metrics, as this data is private and potentially confidential.
[0007] It is known to overcome this problem to generate synthetic data from the collected mobility data. To this end, the mobility data is centralized in a central server, accessible in particular via a cellular network by the devices, which is able to generate synthetic data, which can then be exploited by other actors, the synthetic data not including confidential private data.
[0008] However, such a solution requires each device to transmit the actual mobility data, which is confidential, to the central server, which poses security concerns. Indeed, an attacker can intercept this confidential data, and corrupt (modify) it or misuse it.
[0009] Furthermore, the transmission of real mobility data by each device to the centralized server, then the sending of synthetic data to other network players, causes significant traffic, which is therefore costly and can lead to network congestion.
[0010] In addition, in the event of a failure in the cellular network, the equipment can no longer access the central server.
[0011] The invention offers a solution which does not have the drawbacks of the state of the art.
[0012] To this end, according to a functional aspect, the invention relates to a method for generating synthetic data from mobility data, the method comprising the following steps, implemented in a first device capable of communicating with at least one other device including a second device: - obtaining mobility data from the first device; - determining first optimized local parameters of a module for generating synthetic data from the obtained mobility data; - receiving second optimized local parameters from the second device; - determining optimized global parameters, at least from the first optimized local parameters and the second optimized local parameters; - updating said module on the basis of the determined optimized global parameters; - generating synthetic data by said updated module.
[0013] Thus, the synthetic data generation module is updated from optimized global parameters, determined by federated learning from optimized local parameters of the first device and those of at least one other device. A decentralized federated learning of the parameters of the synthetic data generation module is thus implemented.
[0014] The fact that federated learning is decentralized (each participating device aggregates the optimized local parameters obtained to determine optimized global parameters) presents greater robustness compared to a centralized approach based on a central server accessible via a cellular network. Indeed, such a centralized approach is exposed to a failure of the server, or of the communications network allowing exchanges between the devices and the server.
[0015] Additionally, federated learning accelerates the convergence of generative models of synthetic mobility data implemented locally in devices, compared to only local learning of the generative model by each device.
[0016] According to embodiments, the optimized global parameters can be determined from an average or a weighted sum of optimized local parameters comprising at least the first optimized local parameters and the second optimized local parameters.
[0017] Thus, the optimized global parameters are determined by aggregating several sets of optimized local parameters from several devices, by applying a formula requiring few computing resources. In addition, the weighting makes it possible to favor the optimized local parameters of certain devices, for example devices with the most resources or the most mobility data.
[0018] According to embodiments, the method may further comprise transmitting the first optimized local parameters to the second device.
[0019] Thus, the second device can also aggregate the optimized local parameters to determine its own optimized global parameters. Decentralized federated learning thus allows all participating devices receiving optimized local parameters from other devices to determine optimized global parameters for the parameterization of their respective generative models, regardless of their computing resources: it thus allows the locally generated synthetic mobility data to be generated from a generative model with the same configuration, even if their parameterizations are distinct. Synthetic mobility data can thus be accumulated and compared, even when they come from several devices, which makes it possible to exploit large quantities of synthetic mobility data.
[0020] According to embodiments, the method may further comprise transmitting the generated synthetic data to the second device and / or to a server.
[0021] Thus, the generated synthetic data can be used by other entities, without these entities accessing confidential data of the user of the equipment generating the synthetic data, since only synthetic data is transmitted.
[0022] Additionally, the method may further comprise an evaluation of a performance of the updated synthetic data generation module, from the generated synthetic data and the mobility data, and the generated synthetic data may be transmitted to the second device and / or to the server, only if the evaluated performance is greater than a performance threshold.
[0023] This ensures high performance when generating synthetic data. Only high-quality synthetic data, i.e., data generated by a high-performance synthetic data generation module (whose performance evaluation is above the performance threshold), is shared with other entities.
[0024] According to embodiments, the steps of determining first optimized local parameters, receiving the second optimized local parameters, determining the optimized global parameters, and updating the synthetic data generation module may constitute a learning cycle, and, at the end of a current learning cycle, a following learning cycle may be implemented, new first optimized local parameters being determined from the synthetic data generation module updated during the current learning cycle.
[0025] This makes it possible to iterate the learning cycles of federated learning, which allows for continuous improvement of the optimized global parameters, and which facilitates convergence of the synthetic data generation model of each device.
[0026] According to embodiments, the synthetic data generation module may implement a generative adversarial network comprising a generator module and a discriminator module, and the optimized local parameters may be determined by unsupervised learning based on at least a portion of the mobility data used as training mobility data.
[0027] A generative adversarial network has the advantages of simplicity of implementation as well as non-reversibility of the synthetic data generated: the confidentiality associated with mobility data is thus reinforced for the user of the equipment.
[0028] Additionally, the generator module and / or the discriminator module can be an artificial neural network.
[0029] This makes it possible to generate synthetic data from complex mobility data, for example including several types of descriptive data of the equipment's environment.
[0030] According to embodiments, the mobility data may comprise at least a first time series of position data of the first equipment and descriptive data of the environment of the first equipment, and the synthetic data may comprise at least a second time series of synthetic position data and synthetic data descriptive of the environment of the first equipment, the synthetic position data of the second time series being different from the position data of the first time series.
[0031] Thus, the synthetic data does not correspond to real trajectories of the equipment, which improves the confidentiality of the synthetic data compared to the obtained mobility data.
[0032] According to embodiments, the method may comprise collecting raw mobility data and the mobility data may be obtained from the raw mobility data by:- determining missing data from the raw mobility data and adding the missing data to the raw mobility data to obtain the mobility data; and / or- normalizing the raw mobility data to obtain the mobility data.
[0033] This ensures that the data used as input to the synthetic data generation module is complete and / or standardized, which improves the generated synthetic data.
[0034] According to a hardware aspect, the invention relates to an equipment comprising an interface capable of communicating with at least one other equipment and comprising a processor configured to:- obtain mobility data from the equipment;- determine first optimized local parameters of a synthetic data generation module from the obtained mobility data;- receive second optimized local parameters from the other equipment;- determine optimized global parameters, at least from the first optimized local parameters and the second optimized local parameters;- update said module on the basis of the determined optimized global parameters;- generate synthetic data by said updated module.
[0035] According to embodiments, the equipment may further comprise at least one sensor or may execute at least one application, capable of obtaining at least part of the mobility data.
[0036] According to another material aspect, the invention also relates to a computer program capable of being implemented on the defined equipment, the program comprising code instructions which, when the program is executed by a processor, carry out the steps of the defined method.
[0037] Such programs can use any programming language. They can be downloaded from a communications network and / or stored on a computer-readable medium.
[0038] According to another material aspect, the invention relates to a data recording medium on which at least one series of program code instructions has been stored for executing the method defined above.
[0039] The invention will be better understood upon reading the following description, given by way of example and with reference to the appended drawings in which: illustrates an example of an environment for implementing the invention according to embodiments; Figure 1b illustrates the structure of equipment according to embodiments of the invention; illustrates the steps of a method for generating synthetic mobility data, according to embodiments of the invention; illustrates a module for generating synthetic mobility data according to embodiments of the invention; illustrates an artificial neural network forming a generator module of a generative adversarial network for generating synthetic mobility data, according to embodiments of the invention.
[0040] Illustrates an example environment 10 for implementing the invention according to embodiments.
[0041] The environment 10 may be a road infrastructure on which a set of vehicles circulates. Among these vehicles, five vehicles are represented on the, by way of example, including a first vehicle 100.1, a second vehicle 100.2, a third vehicle 100.3, a fourth vehicle 100.4 and a fifth vehicle 100.5. The first vehicle 100.1 comprises a first piece of equipment 111.1, according to embodiments of the invention. The first piece of equipment 111.1 may be the vehicle 100.1 itself or may be a terminal embedded in the vehicle 100.1. More generally, the first piece of equipment 111.1 designates any mobile piece of equipment capable of moving in a given environment and capable of communicating with other pieces of equipment.
[0042] With reference to figure 1b, the first equipment 111.1 may comprise:- computing resources, which may comprise a processor 113.1, the processor 113.1 comprising a synthetic mobility data generation module capable of implementing a generative model of synthetic mobility data, as described below;
[0043] - storage resources 112.1 such as a memory of the “Random Access Memory” type, RAM, or a memory of the “Read Only Memory” type, ROM, or any other type of memory (Flash, EEPROM, etc.). Alternatively, the memory 112.1 comprises several memories of the aforementioned types. The memory 112.1 comprises at least one non-volatile memory in which are stored, temporarily or permanently, mobility data, raw or pre-processed, which may include position data from a location module 116.1, optionally enriched with descriptive data of the environment from a set 114.1 of at least one sensor of the first equipment 111.1, and / or an application executed on the first equipment 111.1; - the set 114.1 comprises at least one sensor capable of obtaining raw data descriptive of the environment of the vehicle, also called “metrics” in the following.The term "raw data" means data captured directly by a sensor from the environment of the equipment 111.1 and to which the pre-processing described with reference to has not been applied. According to the invention, in addition to or as a variant of the data collected by the assembly 114.1, the descriptive raw data of the invention may be collected by an application, or several applications, installed and executed on the first equipment 111.1. Note that the acquisition of the descriptive raw data of the environment of the vehicle is optional according to the invention: the first equipment 111.1 may not include the assembly 114.1, which is therefore also optional; - a communication interface 115.1 capable of exchanging bidirectionally with other equipment, in particular with equipment located in a first radio coverage area of the first equipment 111.1.With reference to the, the first radio coverage area may be a first area 110.1 centered around the first equipment 111.1. In the example of the, the second vehicle 100.2, the third vehicle 100.3 and the fifth vehicle 100.5 are located, at a given time, in the first area 110.1. The second vehicle 100.2 and the third vehicle 100.3 respectively comprise a second equipment 111.2 and a third equipment 111.3 capable of exchanging with the first equipment 111.1 and integrating functionalities for generating synthetic mobility data, like the first equipment 111.1. Note that such functionalities may not be integrated into all equipment: for example, the fifth vehicle 100.5 does not comprise any equipment integrating functionalities for generating synthetic mobility data according to the invention. The fourth vehicle 100.4 does indeed comprise a fourth equipment 111.4 integrating synthetic mobility data generation functionalities according to the invention, but the fourth equipment 111.4 is not located in the first zone 110.1 at the given instant considered, and therefore cannot exchange with the first equipment 111.1. No restriction is attached to the radio technology, nor to the communication protocol, on which the exchanges between the first equipment 111.1 and the second and third equipment 111.2 and 111.3 are based. For example, the first equipment 111.1 can exchange with the second and third equipment 111.2 and 111.3 via V2V, or “Vehicle To Vehicle” type communication in a vehicular communication system, which may for example be based on a Wi-Fi protocol such as the IEEE802.11p protocol. In this example, the communication interface 115.1 thus integrates at least one V2V module; - a location module 116.1 capable of determining position data which is a location of the first equipment 111.1 at a given time, the location being able to comprise a set of coordinates locating the first equipment 111.1 in the radio zone 110.1. The location module 116.1 can for example be a satellite geolocation module.
[0044] Thus, the first equipment 111.1 is capable of acquiring raw mobility data comprising a first time series of position data optionally associated with descriptive data of the environment of the first equipment 111.1.
[0045] As described in the following, the synthetic data generation module included in the computing resources 113.1, can implement a generative model, for example resulting from machine learning, the parameters of the generative model being modified by training according to training mobility data which is part or all of the mobility data, raw or pre-processed.
[0046] In the following, it is considered that, at a given instant, the equipment located in the first zone 110.1 around the first equipment 111.1, and implementing the generative model of synthetic mobility data according to the invention, form a first set of equipment. At the given instant corresponding to the situation illustrated in the, the first set therefore comprises the second equipment 111.2 and the third equipment 111.3.
[0047] The first set of equipment thus varies over time: a piece of equipment may leave the first zone 110.1 since both the first piece of equipment 111.1, but also the pieces of equipment 111.2 and 111.3 of the first set, are mobile. A new piece of equipment may also join the first set: for example, this may be the case for the fourth piece of equipment 111.4 if the first vehicle 100.1 and the fourth vehicle 100.4 move closer together.
[0048] Each of the second equipment 111.2, third equipment 111.3 and fourth equipment 111.4 also comprises computing resources comprising a processor which comprises a synthetic data generation module, storage resources, an optional set of at least one sensor, a network interface and a location module. The resources of the second equipment may differ from the resources of the first equipment 111.1: the memory 112.1 may have a storage capacity distinct from the storage capacity of the memory of the second equipment 111.2, the computing resources 113.1 may be more powerful, or less powerful, than the computing resources of the second equipment 111.2.
[0049] The invention is described in the following from the perspective of the first equipment 111.1: however, the description given below applies in the same way to each of the equipments 111.2 to 111.4. For example, the second equipment 111.2 may define a second radio coverage area not shown in the, within which are included, at a given instant, equipments forming a second set of equipments, of which the first equipment 111.1 may be part in particular.
[0050] The present invention presents the steps of a method for generating synthetic mobility data according to embodiments of the invention.
[0051] In a step 200, the first device 111.1 initializes parameters of the synthetic data generation module. No restrictions are attached to the initial parameters of the synthetic data generation module, the initial parameters being able to be stored before the first device 111.1 is put into operation, during the installation of the synthetic data generation module.
[0052] At a step 201, the first device 111.1 collects raw mobility data, the raw mobility data comprising time series in the following format , in which:- t is a time of collection of the raw mobility data;- (x,y) are the position data indicating the geographical position of the first equipment 111.1, at time t;- [ ] is a set of descriptive data of the environment at time t, also called metrics, and which are obtained by the set 114.1 of at least one sensor and / or by one or more applications executed on the first device 111.1. The set comprises n metrics, with n integer greater than or equal to 1.
[0053] Note that according to the invention, the descriptive data of the environment making it possible to enrich the raw mobility data are optional. Thus, according to certain embodiments, the raw mobility data do not include descriptive data of the environment and consequently take the form of a time series of position data [t,(x,y)].
[0054] In the following, it is considered, for illustrative purposes, that raw mobility data also includes descriptive environmental data, or metrics.
[0055] The metrics may comprise any of the following data, or any combination obtained from the following data: - data representative of a quality of service of a telecommunications network accessed by the first equipment, for the position (x,y) at time t, which may comprise a ratio between a signal level and a noise level, also called SINR for "Signal to Interference + Noise Ratio" in English, an average value of a reference signal received power, also called RSRP, for "Reference Signal Receive Power" in English, and / or a technology among 3G, 4G and 5G technologies; - data representative of traffic between the equipment and the telecommunications network for the position (x,y) at time t; - descriptive data of a location located at the position (x,y) in which the first equipment 111.1 is located at time t; and / or- descriptive data of meteorological conditions for the position (x,y) at time t.
[0056] The data listed above are non-exhaustive examples of data that can be integrated into mobility data as metrics.
[0057] Step 201 may in particular be implemented continuously, as the first device 111.1 moves. The first device 111.1 may thus collect raw mobility data over a period of the order of a day, a week or a month. Of course, during such periods, the first set of devices included in the first zone 110.1 varies.
[0058] In an optional step 202, the first device 111.1 may process the raw mobility data to obtain mobility data. Such processing may be considered as pre-processing to improve the raw mobility data before implementing the following steps, allowing decentralized federated learning of the parameters of the synthetic data generation module.
[0059] The processing step 202 may comprise one or other of the following sub-steps: - a first sub-step of determining missing data in the raw mobility data. The determination of missing data may be implemented by linear interpolation, or by smoothing which consists of transforming the discrete raw data into functions, the functions then being used to determine the missing values. In the case where the quantity of raw mobility data is large, for example greater than a first threshold, and the proportion of missing data is small, for example less than a second threshold, the missing data may be ignored and the first sub-step is not implemented. The missing data may be determined both for the position data (x,y) but also for all the metrics [ ], where the raw mobility data includes such metrics; and / or
[0060] - a second sub-step of normalization of the raw mobility data. Normalization consists of bringing data of different natures and amplitudes to identical or close intervals. For example, the position data and each metric are brought to the same interval between 0 and 1. Such normalization subsequently allows the improvement of the machine learning implemented locally to determine optimized local parameters of the synthetic mobility data generation module. Indeed, it makes it possible to avoid learning biases linked to the amplitudes, the trained generative model being able to give more weight to the data whose amplitude is the greatest. No restriction is attached to the normalization technique implemented by the first device 111.1, which can be based for example on the MinMaxScaler() or RobustScaler() function, or which can be based on a more complex technique such as mode normalization, called "Mode Normalization" in English.
[0061] Thus, step 202 can make it possible to obtain mobility data which is complete and normalized from the raw mobility data.
[0062] Alternatively, when step 202 is not applied, the raw mobility data is the mobility data mentioned in the remainder of the description.
[0063] In a step 203, the first device 111.1 determines optimized local parameters of the synthetic data generation module, from the mobility data obtained in the previous steps. The synthetic data generation module can in fact implement a generative model of synthetic data which can be trained by machine learning, according to the mobility data obtained in the previous steps. At the start of step 203, the synthetic data generation module is updated from the initial parameters: the training by machine learning from the mobility data obtained allows a modification of the initial parameters to obtain the optimized local parameters.
[0064] “Synthetic mobility data” means a time series of the same format than the mobility data acquired in the previous steps, but distinct from the acquired mobility data. The acquired mobility data are real data, which thus include confidential personal data of the user of the first device 111.1, such as his journeys in particular (the successive positions occupied over a given period). On the contrary, the synthetic mobility data comprise a succession of synthetic position data of which at least a part has not been occupied by the user of the first device 111.1, in association, optionally, with metrics corresponding respectively to the synthetic position data. The synthetic mobility data thus do not make it possible to know the exact journeys made by the user of the first device 111.1.Synthetic mobility data may include a time series of position data that are not consecutive, and thus form a point cloud, and not continuous trajectories like the position data of real mobility data.
[0065] The present invention enables decentralized federated learning training of a synthetic data generative model. Once trained, the synthetic data generative model can generate synthetic mobility data, which illustrates the evolutions of the metrics over time and space, without however containing confidential personal information of the user of the first equipment 111.1.
[0066] There are no restrictions on the type of synthetic data generative model implemented by the synthetic data generation module. The synthetic data generative model can be, for example:- a Generative Adversarial Network, also called a GAN;- a Variational Auto-Encoder, or VAE;- a Flow-Based Generative Model; or- a Diffusion Model.
[0067] According to preferred embodiments, the generative model of synthetic mobility data is a GAN. Indeed, a GAN has the advantage of being easier to implement than an auto-encoder, which requires great complexity to obtain convincing results.
[0068] In the remainder of the description, it is considered, for illustrative purposes only, that the generative model of synthetic mobility data is a GAN. However, the invention can be based on any type of generative model.
[0069] This presents the structure of a generative model 300 of the GAN type, according to embodiments of the invention.
[0070] As indicated previously, the GAN 300 can be implemented by the synthetic data generation module included in the computing resources 113.1 of the first equipment 111.1. According to the invention, the equipment of the first set of equipment participating in the decentralized federated learning each comprises its own synthetic data generative model, therefore its own GAN 300, implemented by its respective computing resources.
[0071] In accordance with the structure of a GAN, the GAN 300 comprises a generator module 301 trained to generate synthetic mobility data 311 denoted X', from noise data 310, denoted Z. The term "noise data" means any data of the same format as the real mobility data, but generated randomly or semi-randomly according to statistical laws such as the normal law, and not corresponding to any real data. The noise data 310 are therefore in no way correlated with real mobility data 312, denoted X, used as training data, for the unsupervised learning of the parameters of the GAN. The real mobility data 312 used as training data may be all or part of the real mobility data from the previous step 202.
[0072] The GAN 300 further comprises a discriminator module 302, and a loss function module 303. The discriminator module 302 is capable of receiving as input the synthetic mobility data 311 as well as the real training mobility data 312. The discriminator module 302 is configured to classify the received data 311 and 312, into real data or synthetic data.
[0073] According to the principles of a GAN, the generator module 301 is trained so as to minimize the capacity of the discriminator module 302 to correctly classify the real and synthetic mobility data received as input from the discriminator module 302. At the end of one or more classifications carried out by the discriminator module 302, the loss function module 303 evaluates the performance of the GAN 300, and modifies the parameters of the GAN 300 according to the performance thus evaluated. The training process for learning the optimized local parameters during step 203 is thus iterative. After training the GAN 300 with the real training mobility data 312, optimized local parameters are thus obtained, following successive iterations.
[0074] According to embodiments of the invention, the parameters of the GAN 300 are defined by parameters of the generator module 301. In this case, the discriminator module 302 may be defined in advance and its parameters are not trained. Alternatively, the parameters of the GAN 300 comprise both parameters defining the generator module 301 but also parameters defining the discriminator module 302. The discriminator module 302 and the generator module 301 are in this case trained during unsupervised learning on the basis of the actual training mobility data 312.
[0075] The generator module 301 and / or the discriminator module 302 may implement an artificial neural network. In the following, it is considered that the generator module 301 implements a first artificial neural network and the discriminator module 302 implements a second artificial neural network.
[0076] The GAN 300 is trained to obtain the optimized local parameters in step 203 by solving a game theory problem, defined as follows:
[0077] with
[0078] Or represents the distribution of real mobility data 312, represents the distribution of the synthetic mobility data 311 generated by the generator module 301, and D(x) represents the classification made by the discriminator module 302. V(D,G) is thus evaluated by the loss function module 303.
[0079] The objective of the generator module 301 is to learn to deceive the discriminator module 302, that is to say to produce synthetic mobility data X' such that p(X')=p(G(z)) is not differentiable from p(X).
[0080] The discriminator module 302 classifies the received input data into two categories: real or synthetic / fake. Real data is classified into a class 1 and fake data is classified into a class 0.
[0081] The generator module 301 is thus trained to generate synthetic data which appears real, from the point of view of the discriminator module 302.
[0082] Each of the first and second artificial neural networks may be multi-layer neural networks, comprising one or more neurons per layer, which are connected to neurons in subsequent layers.
[0083] This presents the structure of a first artificial neural network forming a generator module 301 of a GAN 300 capable of generating synthetic mobility data, according to embodiments of the invention.
[0084] The first artificial neural network comprises a first layer 400 comprising three neurons 401, 402 and 403, a second layer 410 comprising two neurons 411 and 412, and a third layer 420 comprising a single neuron 421.
[0085] Such an architecture is given for illustrative purposes, and no restriction is attached to the number of layers or the number of neurons per layer, of the first neural network forming the generator module 301.
[0086] The parameters defining the generator module 301 are the weights W= [w 11 1 ;w 12 1 ;w 21 1 ;w 22 1 ;w 31 1 ;w 32 1 ;w 11 2 ;w 12 2 ] and the biases B=[b1 1 ;b2 1 ;b1 2 ], in which :- w 11 1 is the weight assigned to the output of node 401 in node 411 ;- w 121 is the weight assigned to the output of node 401 in node 412 ;- w 21 1 is the weight assigned to the output of node 402 in node 411 ;- w 22 1 is the weight assigned to the output of node 402 in node 412 ;- w 31 1 is the weight assigned to the output of node 403 in node 411 ;- w 32 1 is the weight assigned to the output of node 403 in node 412 ;- w 11 2 is the weight assigned to the output of node 411 in node 421 ;- w 12 2 is the weight assigned to the output of node 412 in node 421 ;- b1 1 is the bias added to node 411 ;- b2 1 is the bias added to node 412 ;- b1 2 is the bias added to node 421.
[0087] Biases are represented by the dotted arrows in the figure. Note that the parameters may not include biases, which are optional, and may only include the respective weights of the nodes in the neural network.
[0088] Thus, the input Z is propagated from the first layer 400 to the second layer 410: let z i , for i varying from 1 to 3 the respective outputs of neurons 401 to 403 of the first layer 400. Then, the output y1 of neuron 411 is equal to , sigma denoting an activation function, such as a ReLU, softmax, or any other activation function.
[0089] Similarly, the output y2 of neuron 412 is equal to .
[0090] The output X' is then equal to .
[0091] Thus, the synthetic mobility data generative model is initialized with parameters W in and B in, and, during the training of step 203, the first device 111.1 determines optimized local parameters W opt and B opt . The performance of the synthetic data generative model configured with W opt and B opt are better than in the initial setting. For this purpose, training can be based on the gradient descent method, applied by the loss function module 303.
[0092] According to embodiments, the discriminator module 302 is a second artificial neural network, which may comprise an input layer capable of receiving as input the synthetic mobility data 311 or the real training mobility data 312, an output layer capable of determining as output a class 0 or 1, and which may or may not comprise one or more intermediate layers between the input layer and the output layer. Again, the parameters defining the discriminator module are a weight vector W and an optional bias vector B, the number of components of which depends on the number of layers and the number of neurons per layer. Thus, the parameters of the GAN 300 may comprise a weight vector W G from the generator module 301, a bias vector B G from the generator module 301, a weight vector W D of the discriminator module 302 and a bias vector B Dof the discriminator module 302. In this case, during step 203, the first device 111.1 determines the optimized local parameters W G,Lopt , W D,Lopt , B G,Lopt , B D,Lopt , the GAN 300 being initialized at the start of step 203 with initial parameters W G,in , W D,in , B G,in , B D,in .
[0093] Note that, as previously stated, the generative model may be different from a GAN 300, and may be, for example, an autoencoder, a diffusion model, or a flow-based generative model. According to each of these alternatives, the generative model may also comprise one or more artificial neural networks, defined by parameters that are optimized to obtain optimized local parameters.
[0094] Referring again to the, step 203 of obtaining the optimized local parameters, by training the GAN 300, in particular on the basis of the real training mobility data, has been described.
[0095] Following step 203, the first device 111.1 can transmit the optimized local parameters to at least one device of the first set of devices in a step 204, via the network interface 115.1 of the first device 111.1, and preferably to all the devices of the first set of devices participating in the decentralized federated learning.
[0096] Indeed, each device of the first set can also implement the aforementioned steps 200 to 203. In the following, it is considered that at least the second device 111.2 implements the steps 200 to 203 in order to obtain its own optimized local parameters. The optimized local parameters of the second device 111.2 are different from those of the first device 111.1, insofar as the mobility data collected by the second device 111.2 are different from those collected by the first device 111.1, and insofar as the resources of the second device 111.2 may be different from the resources of the first device 111.1. In the following, the optimized local parameters determined during step 203 implemented by the first device 111.1 are called first optimized local parameters, while those determined during step 203 implemented by the second device 111.2 are called second optimized local parameters.
[0097] Thus, by transmitting during step 204 the first optimized local parameters to the second equipment 111.2, the first equipment 111.2 allows the second equipment to determine optimized global parameters, by aggregation during a step 211 described below, of the first optimized local parameters, of the second optimized local parameters, and of any other optimized local parameters originating from equipment located in the second zone around the second equipment 111.2.
[0098] In return, the first device 111.1 receives from the second device 111.2 the second optimized local parameters during a step 210. No restriction is attached to the time associated with the reception of the second optimized local parameters: in fact, the second device 111.2 obtains the second optimized local parameters at a step 203, which is independent of the step 203 implemented by the first device 111.1. Step 210 can thus be implemented before step 204, or after step 204.
[0099] At a step 211, subsequent to both step 210 and step 203, the first device 111.1 aggregates the first optimized local parameters, the second optimized local parameters, and optionally other optimized local parameters received from other devices of the first set, in order to obtain optimized global parameters.
[0100] No restriction is attached to the function applied to the optimized local parameters determined in step 203 and received in step 210 (or in several steps 210), to obtain the optimized global parameters. In the example where the synthetic mobility data generation module is based on the GAN 300 considered above, the optimized global parameters can be vectors W G,Gopt , W D,Gopt , B G,Gopt , B D,Gopt .
[0101] The determination of the optimized global parameters can be based on an average of each of the received optimized local parameters. For example, for the parameter w 11 1 described previously, considering that the parameter w 11 1iwas received from each device of index i, i varying between 2 and an integer p corresponding to the number N of devices of the first set having sent back the optimized local parameters plus 1 (p is equal to N+1=2 in the example described previously in which only the second device 111.2 transmitted its second optimized local parameters), and that the first parameter w 11 11 was determined by the first equipment in step 203, the optimized global parameter w 11,Gopt 1 is equal to .
[0102] As an alternative to the use of the average described above, the determination of the optimized global parameters can be based on other techniques for aggregating the optimized local parameters, for example on a FedMA algorithm, for "Federated Matching Average" in English, or on an RFA algorithm, for "Robust Federated Aggregation" in English.
[0103] After obtaining the optimized global parameters, the first device 111.1 updates the synthetic data generation module 300 on the basis of the optimized global parameters, during a step 212. In the example of the GAN 300, the generator module 301 and the discriminator module 302 can thus be updated on the basis of the vectors W G,Gopt , W D,Gopt , B G,Gopt , B D,Gopt forming the optimized global parameters.
[0104] Following step 212, the first device 111.1 can initiate a new learning cycle of federated learning:
[0105] - on the basis of new raw mobility data acquired during step 201; and / or- on the basis of the raw mobility data acquired previously, by locally training, during step 203, the synthetic mobility data generation model whose initialization is this time the update resulting from step 212, in order to obtain new first optimized local parameters. The new first optimized local parameters are then aggregated with other new optimized local parameters of other equipment of the first set, in order to obtain new optimized global parameters during the implementation of a new step 211. The generative model is updated during a new step 212 on the basis of the new optimized global parameters.
[0106] The decentralized federated learning may thus comprise several learning cycles which are implemented by iterating steps 203, 204, 210, 211 and 212 (and possibly steps 201 and 202 if each cycle takes into account new mobility data). No restriction is attached to the number of learning cycles, the decentralized federated learning being terminated when a stopping criterion is reached, the stopping criterion being able to be:- a predefined number of learning cycles; and / or- when a value of the loss function implemented by the loss function module 303 of the first equipment 111.1 is lower than a predefined threshold.
[0107] The second device 111.2 may also implement several learning cycles, the number of which is independent of the number of learning cycles of the first device 111.1. For example, if the second device 111.2 implements more learning cycles than the first device 111.1, the second device 111.2 may continue one or more learning cycles with devices of the second set of devices other than the first device 111.1. Conversely, if the second device 111.2 implements fewer learning cycles than the second device, the first device 111.1 may continue one or more learning cycles with devices of the first set of devices other than the second device 111.2.
[0108] At a step 213 at the end of the decentralized federated learning (therefore the last learning cycle implemented by the first device 111.1), the first device 111.1 generates synthetic mobility data by the synthetic data generation module updated during step 212 (of the last learning cycle), and from part or all of the raw mobility data collected in step 201, and optionally pre-processed during step 202.
[0109] In a step 214, the first equipment 111.1 evaluates a performance of the synthetic data generation module 301 updated during the last iteration of step 212, from the synthetic data generated during step 213 and from part or all of the raw mobility data collected in step 201, and optionally pre-processed during step 202.
[0110] The performance of the synthetic data generation module 301 is evaluated by the loss function implemented by the loss function module 303 described above. The performance can thus be evaluated by the function V(D,G) described above.
[0111] If the evaluated performance is lower than a given performance threshold, the first equipment 111.1 may not transmit the generated synthetic mobility data, which is indicated by a step 215 of absence of transmission on the. In this case, the synthetic data generative model may be improved during a next federated learning, again comprising one or more learning cycles, initiated for example at the expiration of a given period.
[0112] If the performance evaluated in step 214 is greater than the given performance threshold, then the first equipment 111.1 can transmit, in a step 216, the synthetic mobility data generated during step 213:- to the second equipment 111.2 and / or to any other equipment of the first set of equipment located in the first zone 110.1 at the time of execution of step 216;- another entity 230, such as a server, accessible via a cellular network for example to which the first equipment 111.1 is able to access via a cellular interface, or accessible via the road infrastructure, for example by V2I type communication for “Vehicle to Infrastructure” in English. No restriction is attached to the server, which can be a server dedicated to the road infrastructure or to the management of the cellular network to which the first equipment 111.1 accesses.The transmission in step 216 may be immediately subsequent to a positive comparison of the performance evaluated with the performance threshold in step 214, or may further be conditioned by one or more of the following conditions, given for illustrative purposes and listed in a non-exhaustive manner: - the transmission of step 216 is conditioned by the receipt of a request for synthetic data from the second device or from the device of the first set, and / or from the other aforementioned entity; - the transmission of step 216 is implemented periodically, with a transmission at the end of each period defined by a predetermined frequency. In this case, the transmission of step 216 is implemented at the end of a current period.
[0113] Note that the other devices of the first set can implement the same steps 210 to 216 locally, following the transmission of the first local parameters optimized by the first device 111.1 (and following the transmission of other local parameters optimized by other devices), during step 204.
[0114] For example, following the reception of the first optimized local parameters during step 204, the second device 111.2 can aggregate the first optimized local parameters, the second optimized local parameters, and optionally other optimized local parameters received from at least one other device located in the second zone around the second device 111.2. As specified previously, the second device 111.2 can implement several learning cycles, independently of the learning cycles of the first device 111.1. At the end of the learning cycles, the second device 111.2 updates its generative model with optimized global parameters resulting from the learning cycles (which may differ from the optimized global parameters determined by the first device 111.1 at the end of its learning cycles), and can generate synthetic data during a step 213. If the performance of the generative model of the second device 111.2 is considered sufficient (greater than a performance threshold of the second equipment 111.2), the second equipment 111.2 can share its synthetic mobility data, in particular with the first equipment 111.1, which can receive such synthetic mobility data from the second equipment 111.2 during a step 220.
[0115] In addition, the first device 111.1 may receive synthetic mobility data from other devices of the first set, having participated in the decentralized federated learning.
[0116] As previously stated, a new federated learning can be initiated at the expiration of a given period, in which case the steps described previously are repeated for the new federated learning, again comprising one or more learning cycles.
[0117] The invention thus allows the implementation of decentralized federated learning for the configuration of a synthetic mobility data generation module. According to such an approach, learning is distributed between the different devices participating in it.
[0118] Furthermore, the fact that federated learning is decentralized (each participating device aggregates the optimized local parameters obtained) presents greater robustness compared to federated learning that would be centralized in a server in charge of aggregating the optimized local parameters, to obtain unique optimized global parameters that would be transmitted to the devices participating in the federated learning. Indeed, such centralized federated learning is exposed to a failure of the server, or of the communications network allowing exchanges between the devices and the server, making federated learning impossible.
[0119] The devices thus collaborate to each construct a global generative model of their own, the collaboration only involving the transfer, between devices, of parameters of a local model, the parameters being optimized locally by each device during step 203.
[0120] Federated learning allows all participating devices to determine optimized global parameters for the configuration of their respective generative models, regardless of their computing resources: it thus allows locally generated synthetic mobility data to be generated from a generative model with the same configuration, even if their settings are distinct. Synthetic mobility data can thus be accumulated and compared, even when they come from several devices, which makes it possible to exploit large quantities of synthetic mobility data.
[0121] Additionally, federated learning accelerates the convergence of generative models of synthetic mobility data implemented locally in devices, compared to only local learning of the generative model by each device.
[0122] Thus, the generated synthetic data can be used by other entities, without these entities accessing confidential data of the user of the equipment generating the synthetic data, since only synthetic data is transmitted.
[0123] Examples of exploitation of synthetic mobility data according to the invention are described below, for illustrative purposes.
[0124] According to a first example, the generated synthetic mobility data can be used for the improvement and information on the conditions of a telecommunications network, for example of the cellular type. The equipment of the first set is vehicles or telephones embedded in vehicles, and each equipment comprises an application capable of measuring, periodically, the quality of service of the telecommunications network, for each position occupied by the equipment, the quality of service being integrated into the raw mobility data as a metric.
[0125] Synthetic mobility data are then generated according to the invention, and can be transmitted to a server responsible for managing the cellular network, for the purpose of improving the quality of service in the cellular network, and / or to other equipment which can then adapt their respective routes according to the network quality indicated in the synthetic mobility data.
[0126] According to a second example, the generated synthetic mobility data are used to improve road traffic. In this second example, the quality of service of the network of the first example is replaced by data representative of a traffic quality (indicating a fluid traffic state, a congested state, works), for each position occupied by a device. The data representative of the traffic quality are thus integrated as metrics in the raw mobility data. Then, synthetic mobility data are generated according to the invention and can be used by the devices embedded in the vehicles, or by a given server to provide information on the traffic at certain positions and / or for traffic planning.
[0127] According to a third example, the synthetic mobility data are used for tourism purposes. The equipment integrates an application capable of providing tourism quality indicators for a route. For example, during a journey, a piece of equipment can collect metrics at given positions along the route, such as climate, cleanliness, quietness, shops, etc. Synthetic mobility data are then generated according to the invention, and can be transmitted to other equipment integrating the same application, to guide them towards routes with the best tourism indicators.
[0128] According to a fourth example, the synthetic mobility data is used for environmental purposes. The devices of the first set may have an application measuring the environmental impact associated with the current journey, the environmental impact being the carbon emissions generated, integrated into the raw mobility data as metrics. The synthetic mobility data is then generated according to the invention, then transmitted to other devices on board vehicles to raise awareness of taking the most environmentally friendly routes.
Claims
Method for generating synthetic data from mobility data, the method comprising the following steps, implemented in a first device (111.1) capable of communicating with at least one other device including a second device (111.2): - obtaining (201; 202) mobility data from the first device; - determining (203) first optimized local parameters of a synthetic data generation module (300) from the obtained mobility data; - receiving (210) second optimized local parameters from the second device; - determining (211) optimized global parameters, at least from the first optimized local parameters and the second optimized local parameters; - updating (212) said module on the basis of the determined optimized global parameters; - generating (213) synthetic data by said updated module. The method of claim 1, wherein the optimized global parameters are determined (211) from an average or weighted sum of optimized local parameters comprising at least the first optimized local parameters and the second optimized local parameters. The method of claim 1 or 2, further comprising transmitting (204) the first optimized local parameters to the second device (111.2). Method according to one of claims 1 to 3, further comprising the transmission (216) of the generated synthetic data to the second equipment (111.2) and / or to a server (230). Method according to claim 4, further comprising an evaluation (214) of a performance of the updated synthetic data generation module (300), from the generated synthetic data and the mobility data, and in which the generated synthetic data is transmitted (216) to the second equipment (111.2) and / or to the server (230), only if the evaluated performance is greater than a performance threshold. Method according to one of the preceding claims, in which the steps of determining (203) first optimized local parameters, receiving (210) the second optimized local parameters, determining (211) the optimized global parameters, and updating (212) the synthetic data generation module constitute a learning cycle, and in which, at the end of a current learning cycle, a following learning cycle is implemented, new first optimized local parameters being determined from the synthetic data generation module (300) updated during the current learning cycle. Method according to one of the preceding claims, wherein the synthetic data generation module (300) implements a generative adversarial network comprising a generator module (301) and a discriminator module (302), and wherein the optimized local parameters are determined by unsupervised learning based on at least a portion of the mobility data used as training mobility data (312). Method according to claim 7, wherein the generator module (301) and / or the discriminator module (302) is an artificial neural network. Method according to one of the preceding claims, in which the mobility data comprises at least a first time series of position data of the first equipment and descriptive data of the environment of the first equipment (111.1), and in which the synthetic data comprises at least a second time series of synthetic position data and synthetic data descriptive of the environment of the first equipment, the synthetic position data of the second time series being different from the position data of the first time series. A method according to one of the preceding claims, comprising collecting (201) raw mobility data, wherein the mobility data is obtained (202) from the raw mobility data by:- determining missing data from the raw mobility data and adding the missing data to the raw mobility data to obtain the mobility data; and / or- normalizing the raw mobility data to obtain the mobility data. Equipment (111.1) comprising an interface (115.1) capable of communicating with at least one other equipment (111.2) and comprising a processor (113.1) configured to:- obtain mobility data from the equipment;- determine first optimized local parameters of a synthetic data generation module from the obtained mobility data;- receive second optimized local parameters from the other equipment;- determine optimized global parameters, at least from the first optimized local parameters and the second optimized local parameters;- update said module on the basis of the determined optimized global parameters;- generate synthetic data by said updated module. Equipment according to claim 11, further comprising at least one sensor (114.1) or running at least one application, capable of obtaining at least part of the mobility data. A computer program capable of being implemented in equipment as defined in claim 11 or 12, the program comprising code instructions which, when executed by a processor (113.1), performs the steps of the method defined in one of claims 1 to 10. Data storage medium on which at least one series of program code instructions has been stored for executing the method according to one of claims 1 to 10.