Decentralized federated learning for synthetic mobility data generation
Patent Information
- Application Number
- FR2024001523
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-16
- Publication Date
- 2025-08-22
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Decentralized federated learning for the generation of synthetic mobility data Technical field
[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 aim is in particular to enable decentralized federated learning for the generation of such synthetic data. State of the art
[0003] Entities connected to each other, hereinafter called equipment, such as vehicles or connected objects accessing a network allowing 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 environment of the equipment.
[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 flow rate 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 that can be used for informational purposes; - when the equipment is a vehicle or a terminal on board a vehicle, for a transport player 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 mobility data collected. For this purpose, the mobility data is centralized in a central server, accessible in particular via a cellular network by the equipment, which is capable of generating synthetic data, which can then be used 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 problems. Indeed, an attacker can intercept this confidential data, and corrupt (modify) it or misuse it.
[0009] What is more, 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] Furthermore, 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. Statement of the invention
[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 piece of equipment capable of communicating with at least one other piece of equipment including a second piece of equipment: - obtaining mobility data from the first equipment; - determination of first optimized local parameters of a synthetic data generation module from the mobility data obtained; - reception of second optimized local parameters from the second device; - determination of optimized global parameters, at least from the first optimized local parameters and the second optimized local parameters; - updating of said module on the basis of the determined optimized global parameters; - generation of 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. Decentralized federated learning of the parameters of the synthetic data generation module is thus implemented.
[0014] The fact that federated learning is decentralized (each device participating in it itself 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 equipment and the server.
[0015] In addition, federated learning accelerates the convergence of generative models of synthetic mobility data implemented locally in the devices, compared to only local learning of the generative model by each of the devices.
[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 the devices participating therein and 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 having the same configuration, even if their parameterizations are distinct. The 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 synthetic data generated can be used by other entities, without these entities accessing confidential data of the user of the equipment generating the synthetic data, since only syn- thetics are transmitted.
[0022] In addition, 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] Thus, high performance is ensured 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 higher than the performance threshold), are thus shared with other entities.
[0024] According to embodiments, the steps of determining first optimized local parameters, receiving second optimized local parameters, determining 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] It is thus made 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 the mobility data is thus reinforced for the user of the equipment.
[0028] In addition, the generator module and / or the discriminator module can be an artificial neural network.
[0029] It is thus made possible to generate synthetic data from complex mobility data, for example comprising several types of descriptive data of the environment of the equipment.
[0030] According to embodiments, the mobility data may comprise at least 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 makes it possible to improve the confidentiality of the synthetic data compared to the mobility data obtained.
[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 raw mobility data and adding missing data to raw mobility data to obtain mobility data; and / or - normalization of raw mobility data to obtain mobility data.
[0033] Thus, it is ensured that the data used as input to the synthetic data generation module is complete and / or normalized, which improves the synthetic data generated.
[0034] According to a hardware aspect, the invention relates to equipment comprising an interface capable of communicating with at least one other equipment and comprising a processor configured to: - obtain equipment mobility data; - determine the first optimized local parameters of a synthetic data generation module from the mobility data obtained; - receive second optimized local parameters from the other equipment; - determining 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 may use any programming language. They may be downloaded from a communications network and / or recorded 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 the execution of the method defined above. Brief description of the drawings
[0039] The invention will be better understood on reading the following description, given by way of example and with reference to the appended drawings in which:
[0040] [Fig. 1a] illustrates an example of an environment for implementing the invention according to embodiments; [Fig.lb] illustrates the structure of equipment according to embodiments of the invention;
[0041] [Fig.2] illustrates the steps of a method for generating synthetic mobility data, according to embodiments of the invention;
[0042] [Fig.3] illustrates a module for generating synthetic mobility data according to embodiments of the invention;
[0043] [Fig.4] illustrates an artificial neural network forming a generator module of a generative adversarial network for the generation of synthetic mobility data, according to embodiments of the invention. Description of the embodiments
[0044] [Fig. 1a] illustrates an example of an environment 10 for implementing the invention according to embodiments.
[0045] The environment 10 may be a road infrastructure on which a set of vehicles circulates. Among these vehicles, five vehicles are represented in [Fig.1a], 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 on board 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.
[0046] With reference to [Fig. 1b], the first equipment 111.1 may comprise: - computing resources, which may include a processor 113.1, the processor 113.1 including a module for generating synthetic mobility data capable of implement a generative model of synthetic mobility data, as described in the following;
[0047] - storage resources 112.1 such as a “Random Access” type memory Memory », 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 from an application executed on the first equipment 111.1; - the assembly 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. “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 [Fig. 2] 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 raw descriptive 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 raw data descriptive 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 [Fig.1a], the first radio coverage area may be a first zone 110.1 centered around the first equipment 111.1. In the example of [Fig.1a], 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 zone 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 features may not be integrated into all equipment: for example the fifth vehicle 100.5 does not include any equipment integrating functionalities for generating synthetic mobility data according to the invention. The fourth vehicle 100.4 does indeed include a fourth equipment 111.4 integrating data generation functionalities. synthetic mobility systems according to the invention, but the fourth equipment 111.4 is not located in the first zone 110.1 at the given time 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.
[0048] 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.
[0049] 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 are part or all of the mobility data, raw or pre-processed.
[0050] 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 [Fig.1a], the first set therefore comprises the second equipment 111.2 and the third equipment 111.3.
[0051] 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.
[0052] Each of the second equipment 111.2, third equipment 111.3 and fourth equipment 111.4 also includes computing resources including a processor that includes 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.
[0053] 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 [Fig.1a], 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.
[0054] [Fig.2] presents the steps of a method for generating synthetic mobility data according to embodiments of the invention.
[0055] In a step 200, the first equipment 111.1 initializes parameters of the synthetic data generation module. No restriction is attached to the initial parameters of the synthetic data generation module, the initial parameters being able to be stored before the first equipment 111.1 is put into operation, during the installation of the synthetic data generation module.
[0056] At a step 201, the first device 111.1 collects raw mobility data, the raw mobility data comprising time series in the following format [ t, ( X y ), [ mh m2, ... mn ] ], in which: -1 is a time of collection of raw mobility data; - (x,y) are the position data indicating the geographical position of the first equipment 111.1, at time t; _ m^, ... mnj csl a set of descriptive data of the environment to 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 equipment 111.1. The set comprises n metrics, with n integer greater than or equal to 1.
[0057] 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)].
[0058] In the following, it is considered, for illustrative purposes, that the raw mobility data further comprises descriptive data of the environment, or metrics.
[0059] The metrics may include 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 include 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 received reference signal 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 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 position (x,y) at time t.
[0060] The data listed above are non-exhaustive examples of data that can be integrated into the mobility data as metrics.
[0061] Step 201 may in particular be implemented continuously, as the first equipment 111.1 moves. The first equipment 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 equipment included in the first zone 110.1 varies.
[0062] In an optional step 202, the first equipment 111.1 can process the raw mobility data to obtain mobility data. Such processing can be considered as a pre-processing making it possible to improve the raw mobility data before implementing the following steps, allowing decentralized federated learning of the parameters of the synthetic data generation module.
[0063] 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 can 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 data missing data can be ignored and the first substep is not implemented. Missing data can be determined both for the position data (x,y) but also for the set of metrics [mt' • • •m»], when the raw mobility data includes such metrics; and / or
[0064] - a second sub-step of normalization of raw mobility data. The norm malization 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 amplitudes, the trained generative model being able to give more weight to the data whose amplitude is the most important. No restriction is attached to the normalization technique implemented by the first device 111.1, which can be for example based on the MinMaxScaler() or Ro-bustScalerQ function, or which can be based on a more complex technique such as mode normalization, called "Mode Normalization" in English.
[0065] Thus, step 202 can make it possible to obtain mobility data which are complete and standardized from the raw mobility data.
[0066] Alternatively, when step 202 is not applied, the raw mobility data is the mobility data mentioned in the remainder of the description.
[0067] 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.
[0068] “Synthetic mobility data” means a time series of the same format [f, (x, y), / ¾ • • • ] as the mobility data acquired at steps previous, 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 equipment 111.1, such as their journeys in particular (the successive positions occupied over a given period). On the contrary, the synthetic mobility data include a succession of synthetic position data of which at least part has not been occupied by the user of the first equipment 111.1, in association, optionally, with metrics corresponding respectively to the synthetic position data. The synthetic mobility data thus does not make it possible to know the exact journeys made by the user of the first equipment 111.1. The synthetic mobility data may in particular comprise a time series of position data which are not consecutive, and which thus form a point cloud, and not continuous trajectories like the position data of the real mobility data.
[0069] 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.
[0070] No restriction is attached to the type of synthetic data generative model implemented by the synthetic data generation module. The synthetic data generative model can for example be: - a generative adversarial network, also called GAN, for “Generative Adversarial Network” in English; - an auto-encoder, or VAE, for “Variational Auto-Encoder” in English; - a flow-based generative model, also called a “Flow Based” model; or - a diffusion model.
[0071] 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.
[0072] 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.
[0073] [Fig.3] presents the structure of a generative model 300 of GAN type, according to embodiments of the invention.
[0074] 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.
[0075] In accordance with the structure of a GAN, the GAN 300 comprises a generator module 301 trained to generate synthetic mobility data 311 noted 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 GAN parameters. The real mobility data 312 used as training data may be all or part of the real mobility data from the previous step 202.
[0076] 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.
[0077] 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 having trained the GAN 300 with the real training mobility data 312, optimized local parameters are thus obtained, following successive iterations.
[0078] 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 can be defined in advance and its parameters are not trained. Alternatively, the parameters of the GAN 300 include 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 real training mobility data 312.
[0079] 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.
[0080] The GAN 300 is trained to obtain the optimized local parameters during step 203 by solving a game theory problem, defined as follows: mmmaxV (D, G)
[0081]
[0082] with V(D, G) - EP(data){JogD(x) + EPgiJog( \-D(x) ) Or p(data)(x} 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.
[0083] 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).
[0084] The discriminator module 302 classifies the data received as input into two categories: real or synthetic / false. The real data is classified into a class 1 and the false data is classified into a class 0.
[0085] The generator module 301 is thus trained to generate synthetic data which appears real, from the point of view of the discriminator module 302.
[0086] 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 of subsequent layers.
[0087] [Fig.4] 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.
[0088] 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.
[0089] Such an architecture is given for illustrative purposes, and no restriction is attached to the number of layers or to the number of neurons per layer, of the first neural network forming the generator module 301.
[0090] The parameters defining the generator module 301 are the weights W= [wn1;wi21;w2i 1;w221;w3i1;w321;wh2;wi22] and the biases B=[bi1;b21;bi2], in which: - Wn1 is the weight assigned to the output of node 401 in node 411; - Wi2* is the weight assigned to the output of node 401 in node 412; - w2i* is the weight assigned to the output of node 402 in node 411; - w22* is the weight assigned to the output of node 402 in node 412; - w3i* is the weight assigned to the output of node 403 in node 411; - w32* is the weight assigned to the output of node 403 in node 412; - Wn2 is the weight assigned to the output of node 411 in node 421; - Wi22 is the weight assigned to the output of node 412 in node 421; - bd is the bias added to node 411; - b2* is the bias added to node 412; - bi2 is the bias added to node 421.
[0091] The biases are represented by the dotted arrows in [Fig.4]. It should be noted that the parameters may not include the biases, which are optional, and may only include the respective weights of the nodes of the artificial neural network.
[0092] Thus, the input Z is propagated from the first layer 400 to the second layer 410: let Z;, for i varying from 1 to 3 the respective outputs of the neurons 401 to 403 of the first layer 400. Then, the output yi of the neuron 411 is equal to V3 ..,1, > aH , sigma denoting an activation function, such as a J ] u 1^- + U1 j ReLU function, softmax, or any other activation function.
[0093]
[0094] Similarly, the output y2 of neuron 412 is equal to The output X' is then equal to
[0095] Thus, the synthetic mobility data generative model is initialized with parameters Win and Bin, and, during the training of step 203, the first device 111.1 determines optimized local parameters Wopt and Bopt. The performance of the synthetic data generative model configured with Wopt and Bopt is better than in the initial setting. For this purpose, the training can be based on the gradient descent method, applied by the loss function module 303.
[0096] According to embodiments, the discriminator module 302 is a second network of artificial neurons, 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 WG of the generator module 301, a bias vector BG of the generator module 301, a weight vector WD of the discriminator module 302 and a bias vector BD of the discriminator module 302. In this case, during step 203, the first equipment 111.1 determines the optimized local parameters WGjLopt, WDjLopt, BG>Lopt, BD>Lopt, the GAN 300 being initialized at the start of step 203 with initial parameters WGjin, WDjin, BG>in, BD>in.
[0097] Note that, as previously specified, the generative model may be different. of 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.
[0098] Referring again to [Fig.2], 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.
[0099] 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.
[0100] Indeed, each equipment of the first set can also implement the aforementioned steps 200 to 203. In the following, it is considered that at least the second equipment 111.2 implements the steps 200 to 203 in order to obtain its own optimized local parameters. The optimized local parameters of the second equipment 111.2 are different from those of the first equipment 111.1, insofar as the mobility data collected by the second equipment 111.2 are different from those collected by the first equipment 111.1, and insofar as the resources of the second equipment 111.2 may be different from the resources of the first equipment 111.1. In the following, the optimized local parameters determined during step 203 implemented by the first equipment 111.1 are called first optimized local parameters, while those determined during step 203 implemented by the second equipment 111.2 are called second optimized local parameters. .
[0101] 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.
[0102] In return, the first equipment 111.1 receives from the second equipment 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 equipment 111.2 obtains the second optimized local parameters at a step 203, which is independent of the step 203 implemented by the first equipment 111.1. Step 210 can thus be implemented before step 204, or after step 204.
[0103] At a step 211, subsequent to both step 210 and step 203, the first equipment 111.1 aggregates the first optimized local parameters, the second optimized local parameters, and optionally other optimized local parameters received from other equipment of the first set, in order to obtain optimized global parameters.
[0104] No restriction is attached to the function applied to the optimized local parameters determined during step 203 and received during step 210 (or during 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» WD>Gopt, BG>Gopt, BD>Gopt.
[0105] The determination of the optimized global parameters can be based on an average of each of the optimized local parameters received. For example, for the parameter Wn1 described previously, considering that the parameter WnH was 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+l=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 Wn11 was determined by the first device during step 203, the optimized global parameter Wng,^1 is equal to J.yp y .
[0106] As a variant of 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.
[0107] After obtaining the optimized global parameters, the first equipment 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 WGjGopt, WD,GoPt, BGjGopt, BDjGopt forming the optimized global parameters.
[0108] Following step 212, the first device 111.1 can initiate a new learning cycle of the federated learning:
[0109] - based on new raw mobility data acquired during step 201; and / Or - based on previously acquired raw mobility data, by training lo then, during step 203, the synthetic mobility data generation model, the initialization of which 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.
[0110] The decentralized federated learning can thus comprise several learning cycles which are implemented by iteration of 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.
[0111] The second equipment 111.2 may also implement several learning cycles, the number of which is independent of the number of learning cycles of the first equipment 111.1. For example, if the second equipment 111.2 implements more learning cycles than the first equipment 111.1, the second equipment 111.2 may continue one or more learning cycles with equipment of the second set of equipment other than the first equipment 111.1. Conversely, if the second equipment 111.2 implements fewer learning cycles than the second equipment, the first equipment 111.1 may continue one or more learning cycles with equipment of the first set of equipment other than the second equipment 111.2.
[0112] At a step 213 at the end of the decentralized federated learning (therefore the last learning cycle implemented by the first equipment 111.1), the first equipment 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.
[0113] 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.
[0114] The performance of the synthetic data generation module 301 is evaluated by the loss function implemented by the loss function module 303 described previously. The performance can thus be evaluated by the function V(D,G) described previously.
[0115] 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 in [Fig.2]. 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.
[0116] 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 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 which the first equipment 111.1 accesses. The transmission to step 216 may be immediately following a positive comparison of the evaluated performance with the performance threshold during step 214, or may be further 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 reception of a request for synthetic data from the second equipment or from the equipment 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.
[0117] 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.
[0118] For example, following the reception of the first optimized local parameters during step 204, the second equipment 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 equipment located in the second zone around the second equipment 111.2. As previously specified, the second equipment 111.2 can implement several learning cycles, independently of the learning cycles of the first equipment 111.1. At the end of the learning cycles, the second equipment 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 equipment 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 equipment 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.
[0119] In addition, the first equipment 111.1 can receive synthetic mobility data from other equipment of the first set, having participated in the decentralized federated learning.
[0120] As indicated previously, 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.
[0121] 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, the learning is distributed between the different devices participating in it.
[0122] Furthermore, the fact that federated learning is decentralized (each participating device itself aggregates the optimized local parameters obtained) presents greater robustness compared to federated learning that would be centralized in a server responsible for 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.
[0123] The devices thus collaborate to each construct a global generative model which is specific to them, 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.
[0124] Federated learning allows all participating 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 having the same configuration, even though their parameterizations are distinct. The 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.
[0125] In addition, federated learning accelerates the convergence of generative models of synthetic mobility data implemented locally in the devices, compared to only local learning of the generative model by each of the devices.
[0126] Thus, the synthetic data generated 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.
[0127] Examples of exploitation of synthetic mobility data according to the invention are described below, for illustrative purposes.
[0128] 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.
[0129] 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.
[0130] 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 state of the traffic, a congested state, works), for each position occupied by a piece of equipment. The data represent Traffic quality indicators are thus integrated as metrics into the raw mobility data. Synthetic mobility data are then generated according to the invention and can be used by the equipment on board the vehicles, or by a given server to provide information on traffic at certain positions and / or for traffic planning.
[0131] According to a third example, the synthetic mobility data are used for tourism purposes. The equipment integrates an application capable of providing tourist quality indicators for a route. For example, during a journey, a piece of equipment can collect metrics at given positions on the journey, such as climate, cleanliness, calm, 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 having the best tourist indicators.
[0132] According to a fourth example, the synthetic mobility data are used for environmental purposes. The equipment of the first set may have an application measuring the environmental impact associated with the current journey, the environmental impact being able to be the carbon emissions generated, integrated into the raw mobility data as metrics. The synthetic mobility data are then generated according to the invention, then transmitted to other equipment on board vehicles to raise awareness of taking the most environmentally friendly routes.
Claims
Claims
1. 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.
2. 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.
3. The method of claim 1 or 2, further comprising transmitting (204) the first optimized local parameters to the second device (111.2).
4. 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).
5. 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.
6. 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.
7. A 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).
8. Method according to claim 7, wherein the generator module (301) and / or the discriminator module (302) is an artificial neural network.
9. 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.
10. 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.
11. Equipment (111.1) comprising an interface (115.1) capable of comp-
12.
13.
14. communicate with at least one other device (111.2) and comprising a processor (113.1) configured to: - obtain equipment mobility data; - determine the first optimized local parameters of a synthetic data generation module from the mobility data obtained; - receive second optimized local parameters from the other equipment; - determining 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 executing 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.