Improved synthetic-data-generating system

WO2026175691A1PCT designated stage Publication Date: 2026-08-27ORANGE SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2026/053315
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-18
Filing Date
2026-02-09
Publication Date
2026-08-27

Smart Images

  • Figure EP2026053315_27082026_PF_FP_ABST
    Figure EP2026053315_27082026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a synthetic-datum-generating system (10) comprising a noising module (102), able to apply statistical noise to a training datum, iteratively for T iterations, in order to obtain a noisy datum based on which a generation module (103) is able to generate a synthetic datum by applying a generation model defined by first parameters. A partial noising module (104) is able to obtain a partially noisy synthetic datum based on the generated synthetic datum. A discriminator module (105) is able to determine a classification result for a set of data comprising a partially noisy datum issuing from the noising module after fewer than T iterations or the partially noisy synthetic datum issuing from the partial noising module. The first parameters of the generation model are modified according to the classification result.
Need to check novelty before this filing date? Find Prior Art

Description

Improved synthetic data generation system Scope of the invention

[0001] The field of the invention is that of the generation of synthetic data by a synthetic data generation system comprising a model for generating a generative adversarial network, derived from machine learning. Previous art

[0002] In many fields, it is desirable to have data representative of user behavior. However, the collection, analysis, and sharing of real-world data may be limited by regulatory constraints, particularly when the data collected includes confidential or sensitive information.

[0003] There is therefore a need to replace real data with synthetic data, which does not include any confidential or sensitive user data, in order to facilitate its analysis and sharing.

[0004] For this purpose, it is known to use real data as training data for synthetic data generation models through machine learning. Several types of generative models are known for this purpose.

[0005] A first type of generative model includes generative adversarial networks, also called GANs for "Generative Adversarial Network" in English.

[0006] According to the principle of a GAN, two neural networks are placed in competition in a game theory scenario. The first network is a generator network, which generates synthetic data, for example an image, while its opponent, the discriminator network, tries to distinguish whether a piece of data is real or generated (synthetic).

[0007] The generator network thus produces synthetic data with the aim of deceiving the discriminator network. The discriminator network, for its part, seeks to correctly classify the input data into two categories: real or synthetic.

[0008] During an iterative learning phase, the parameters of the generator and the discriminator are updated in order to improve the overall performance of the model.

[0009] A second type of generative model includes variational auto-encoders, or VAEs, which are based on approximating the distribution of training data to a normal distribution. .

[0010] A third type of generative model includes diffusion models, which are inspired by thermodynamic systems, in which particles, information, or energy move from an area of ​​high concentration to an area of ​​lower concentration to reach equilibrium. In the context of synthetic data generation, this concept implies a probabilistic diffusion model, which follows a parameterized Markov chain, transforming a simple distribution, such as a Gaussian distribution, into a target distribution that constitutes the synthetic data. During a model training phase, an initial process called forward diffusion is implemented to iteratively add Gaussian noise to the training data until it is completely noisy.A second inverse diffusion process aims to progressively eliminate the added noise, step by step, until synthetic data resembling real data is obtained, with learning focusing on the parameters of this second denoising or inverse diffusion process.

[0011] However, the types of models identified above all have different disadvantages.

[0012] The first type of model (GAN) suffers from several limitations: - mode collapse: the generating network produces limited synthetic data, focusing on a subset of the modes present in the real training data and neglecting less frequent modes. For example, in the case of training data such as mobility data, if it mainly comprises "long" type (or mode) trips and a minority of "short" type trips, mode collapse means that the GAN model is only capable of generating synthetic "long" type trips. Alternatively, the modes corresponding to mobility data can distinguish between commuting trips and tourist trips. The modes corresponding to mobility data can also be the means of transport associated with the mobility data.In other areas, such as human face generation, mode collapse prevents the generation of synthetic faces with varied modes, such as age, ethnicity, or facial expression; and divergence: it is difficult to achieve stable convergence, especially with multimodal training data. Sometimes, the discriminator network converges while the generator network fails to produce diverse, high-quality synthetic data—that is, data containing little or no noise—and which preserves the structure and characteristics of the real data in such a way as to be "realistic."

[0013] Regarding the second type of model, if the training data is multimodal, these models have difficulty approximating this data to a normal distribution, and they struggle to generate quality synthetic data.

[0014] Finally, the third type of model has the limitation of being slow in generating synthetic data, as it may require thousands of iterations in the inverse denoising process to produce a single synthetic data point, which limits its practical application, particularly in applications where rapid generation of synthetic data is required.

[0015] Thus, no model allows for the generation of high-quality synthetic data quickly and with a diversity of synthetic data modes.

[0016] Among the models mentioned, diffusion models are identified as the most promising. However, as previously indicated, they have the disadvantage of being slow compared to other generative models, which limits their ability to generate a large amount of synthetic data over a given period. Object and summary of the invention

[0017] One of the aims of the invention is to remedy at least one of the drawbacks of the aforementioned prior art by proposing a new technique for generating synthetic data of high quality, with greater speed than conventional diffusion models.

[0018] To this end, an object of the present invention relates to a synthetic data generation system comprising: - a noise module, capable of applying statistical noise, iteratively, for T iterations, T being an integer greater than or equal to 2, to a training data to obtain noisy data; - a generation module capable of generating synthetic data from the noisy data, by applying a synthetic data generation model defined by first parameters; - a partial noise module, capable of obtaining partially noisy synthetic data from the generated synthetic data;- a discriminator module capable of determining a classification result for a dataset received by the discriminator module from a classification model defined by second parameters, the dataset comprising a partially noisy data source from the noise module after strictly fewer than T iterations, or the partially noisy synthetic data source from the partial noise module. The generation system is further configured to modify the first parameters of the generation model according to a loss function evaluated from the classification result and to modify the second parameters of the classification model according to another loss function evaluated from the classification result.

[0019] Thus, the synthetic data generation system according to the invention includes a noise module, the noise module being capable of performing a forward diffusion process typically implemented by a diffusion model: the architecture of the generation system is therefore based on the principles of a diffusion model, which enables the generation of high-quality synthetic data. Furthermore, in the system according to the invention, the inverse diffusion process of a conventional diffusion model is replaced by a generative adversarial network (GAN) generation module. Synthetic data generation by a GAN generation module is significantly faster than an iterative inverse diffusion process, which can involve hundreds or even thousands of iterations. The system according to the invention thus makes it possible to generate high-quality synthetic data more quickly than a diffusion model comprising an iterative inverse diffusion process.

[0020] No restrictions are attached to the statistical noise, which can be Gaussian noise or, alternatively, noise based on a Poisson distribution or any other statistical distribution. Gaussian noise is particularly well-suited to a forward diffusion process and closely resembles most real-world statistical distributions. Furthermore, introducing Gaussian noise into the forward diffusion process facilitates denoising by the generation module.

[0021] According to some embodiments, the generation module may be able to apply the synthetic data generation model to noisy data and random data, to generate synthetic data.

[0022] The generation model is thus able to receive random data as input, which allows for the generation of varied synthetic data.

[0023] According to some embodiments, the dataset received by the discriminator module may also include noisy data from the noise module.

[0024] Thus, the discriminator module can classify a pair of data, including a partially noisy data point and a noisy data point. The category into which the pair is classified depends on a comparison of the noise level between the partially noisy synthetic data point, or the partially noisy data point (real, from the training data), and the noisy data point: a pair is considered real if the partially noisy data point (synthetic or real) is less noisy than the noisy data point. The generation module is therefore trained to synthesize high-quality synthetic data, containing little or no noise.

[0025] In addition, the partial noise module can be capable of: - adding noise to the synthetic data to obtain noisy synthetic data; - determining the partially noisy synthetic data based on the noisy synthetic data and the synthetic data, the partially noisy synthetic data being less noisy than the noisy synthetic data.

[0026] Thus, partially noisy synthetic data intuitively represents partially noisy data that would be obtained during the implementation of a reverse diffusion process with iterative denoising of the noisy data into the synthetic data. However, the iterative denoising is not implemented according to the invention, as it is replaced by the generation model. The discriminator model can compare the noise level in the received data pair to classify the pair and indicate whether it is synthetic or not.

[0027] According to some embodiments, the synthetic data generation system is also capable of iteratively training the classification model and the generation model on a plurality of training data until at least one convergence criterion is reached.

[0028] Thus, the generation module can be trained using training data, which can be varied (in terms of modes), enabling the learning of a generation model capable of rapidly generating diverse, high-quality synthetic data. For example, in the case of generating synthetic mobility data, the training data can consist of varied mobility data according to different modes, such as modes of transport, distances and / or journey times, the regions or types of cities to which the journeys correspond, etc. The modes of the mobility data can also distinguish between urban and rural mobility data.

[0029] According to some embodiments, the synthetic data generation system may be capable of, when modifying the second parameters of the discriminator module: - determining a gradient function of the other loss function as a function of the data set; - adding statistical noise to the gradient function; - modifying the second parameters of the discriminator module from the noisy gradient function.

[0030] Introducing statistical noise, such as Gaussian noise, into the gradient function ensures that individual gradients are masked, thus preventing any leakage of sensitive information. The confidentiality of the training data is therefore guaranteed.

[0031] In addition, the generation system may also be able to clip the gradient function with a threshold value, before adding statistical noise to the gradient function, and the second parameters of the discriminator module may be modified from the clipped noisy gradient function.

[0032] This allows control over the sensitivity of trained models to variations in training data, which ensures that individual training data does not significantly affect the trained models (especially the generation model), and which improves the confidentiality of sensitive training data.

[0033] According to some embodiments, the synthetic data generation system may further include a conditioning module capable of generating random noisy data, and the generation module may be capable, after optimization of the first parameters, of determining new synthetic data as a function of the random noisy data from the conditioning module.

[0034] Thus, during an inference phase implemented after the model training phase, particularly for the generation model, new synthetic data can be generated, then stored and / or shared for analysis and processing. The generation model enables the generation of high-quality, multimodal synthetic data more quickly than an inverse diffusion process with iterative denoising implemented by a classical diffusion model.

[0035] According to some embodiments, the training data can be a trajectory comprising a set of positions associated with respective times.

[0036] Thus, the invention can be advantageously applied to the generation of synthetic mobility data, which makes it possible to analyze user behavior with regard to their movements, without basing such analysis on sensitive personal data.

[0037] According to a functional aspect, the invention relates to a method for training a synthetic data generation system comprising the following steps: - application of statistical noise, iteratively, for T iterations, T being an integer greater than or equal to 2, to a training data to obtain noisy data; - generation of synthetic data from the noisy data by application of a generation model defined by first parameters; - obtaining partially noisy synthetic data from the generated synthetic data; - determination of a classification result of a dataset from a classification model defined by second parameters, the dataset comprising partially noisy data obtained by applying the statistical noise for strictly less than T iterations, or the partially noisy synthetic data;- modification of the first parameters of the generation model according to a loss function evaluated from the classification result and modification of the second parameters of the classification model according to another loss function evaluated from the classification result.;

[0038] According to another functional aspect, the invention relates to a method for generating new synthetic data implemented by the generation module of the synthetic data generation system according to the invention, the generation method comprising the following steps: - receiving random noisy data; - determining new synthetic data by applying the generation model to the random noisy data obtained.

[0039] The invention also relates to a computer program comprising instructions for implementing the synthetic data generation method according to the invention, when said program is executed by a processor.

[0040] Such instructions can be stored permanently in a non-transient memory medium of the resource management device implementing the resource management process according to the invention.

[0041] This program can use any programming language, and be in the form of source code, object code, or code somewhere between source code and object code, such as in a partially compiled form, or in any other desirable form.

[0042] The invention also relates to a recording medium or information medium readable by a computer, and comprising instructions for a computer program as mentioned above.

[0043] The recording medium can be any entity or device capable of storing the program. For example, the medium can include a storage means, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a mobile device, a hard drive or an SSD.

[0044] On the other hand, the recording medium can be a transmissible medium such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio, or by other means, so that the computer program it contains can be executed remotely. The program according to the invention can, in particular, be uploaded to a network, for example, an Internet-type network.

[0045] Alternatively, the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned resource management process.

[0046] In an example implementation, the present technique is implemented using software and / or hardware components. In this context, the term "device" or "module" may refer in this document to a software component, a hardware component, or a set of hardware and software components.

[0047] Other features and advantages will become apparent upon reading particular embodiments of the invention, given by way of illustrative and non-limiting examples, and the accompanying drawings, among which:

[0048] Lare represents a synthetic data generation system according to an embodiment of the invention;

[0049] Lare represents the steps of a training method for a synthetic data generation system, according to an embodiment of the invention; Lare represents the sub-steps of a parameter optimization step of a discrimination module, in a training method for a synthetic data generation system, according to an embodiment of the invention;

[0050] Lare represents the steps of a synthetic data generation process by a synthetic data generation system, according to an embodiment of the invention;

[0051] Lare represents the structure of a synthetic data generation module according to an embodiment of the invention; Lare represents the structure of a discriminator module of a synthetic data generation system according to an embodiment of the invention.

[0052] Detailed description of an embodiment of the invention

[0053] Lare represents a synthetic data generation system 10 according to an embodiment of the invention.

[0054] The generation system 10 according to the invention comprises a training database 101 storing a set of training data x 0,i , i being an index varying between 1 and N, N being an integer representing the number of training data.

[0055] According to the invention, training data consists of real data, collected for example from a set of sensors or user devices. There are no restrictions on the format of training data, which can be: - an image, namely a set of values ​​representing pixels of an image of a given resolution; - an array containing sequential data; - a time series; - any other data format.

[0056] Moreover, there are no restrictions attached to the type of training data, which can be user mobility data (for example, user trajectories), data representative of the operation of a telecommunications network (KPI type indicators, for example, for "Key Performance Indicators"), user images, etc.

[0057] In what follows, it is considered, for illustrative purposes only, that training data is user mobility data, such as trajectories.

[0058] Training data thus represents actual user movements, which poses challenges in terms of privacy and data management. The invention aims to generate synthetic data, in the same format as training data, and similar but not identical to it. This facilitates the processing of mobility data (or other types of data) by applying such processing to synthetic data from the generation system 10, as detailed below.

[0059] In the example considered, each training data x 0,i stored in the training database is mobility data such as a user's trajectory over a given period.

[0060] The generation system 10 also includes a noise module 102, capable of applying statistical noise, such as Gaussian noise for example, to a training data x 0,i received at the input of the noise module 102, iteratively, for T iterations, T being an integer greater than or equal to 2. In what follows, it is considered for illustrative purposes only that the statistical noise applied by the noise module 102 is Gaussian noise.

[0061] Thus, the noise module 102 applies Gaussian noise to the training data x 0,i received as input, during a first iteration to obtain a first partially noisy data point x1 ,i The first partially noisy data point is submitted as input to the noise module 102 to implement a second iteration of the noise process. At an t-th iteration, the noise module 102 applies Gaussian noise to a noisy data point x t -1 ,i from iteration t-1, to obtain a partially noisy t-th data point x t ,i .

[0062] The noise function applied by the noise module 102 thus allows us to estimate a distribution q(x t ,i x t -1 ,i ) corresponding to the partially noisy data x t ,i .

[0063] At a final (T-th) iteration, a T-1-th partially noisy data point x T - 1 ,i is noisy using noise module 102 to obtain noisy data x T ,i .

[0064] Such an iterative noise-making process is used as a forward diffusion process in a diffusion model. The principle of a diffusion model comprises three processes: a forward diffusion process, an inverse diffusion process, and a sampling process. The forward diffusion process iteratively adds noise to training data to obtain noisy data, and the inverse diffusion process is trained to predict the training data by iteratively denoising the noisy data. The inverse diffusion process can be based on a denoising model, whose parameters are trained during the training of the diffusion model. Training consists of processing training data and optimizing the parameters of the denoising model based on an estimated loss between the synthetic predicted data and the input training data.The sampling process is implemented during an inference phase, during which new data (synthetic data) are generated from noisy random data submitted as input to the denoising model of the inverse diffusion process.

[0065] In the present invention, during the reverse diffusion process, the iterative denoising model used in the diffusion models is replaced by a generation module 103 of a generative adversarial network further comprising a discriminator module 105.

[0066] The generation module 103 implements a synthetic data generation model according to the invention, which is trained during a training phase implemented by the generation system 10, described below. No restrictions are attached to the generation model implemented by the generation module 103, which may be an artificial neural network, such as a U-Net convolutional neural network. Alternatively, the generation model may be a recurrent neural network (RNN), which may include a gated recurrent unit (GRU) or a long short-term memory (LSTM) instead of convolutional layers of the RNN. As a further alternative, the generation model may be of the transformer type.

[0067] During the training phase, generation module 103 is capable of: - receiving noisy data as input, specifically noisy data x t ,i resulting from the forward diffusion process implemented by the noise model 102, as conditioning data, and optionally a random data z from a random generation module 106 of the generation system 10; - apply the generation model defined by initial current parameters (the initial parameters being optimized during the training phase) to the noisy data x t,i and to the random data z, to obtain a synthetic data x' 0,i, qui est partiellement bruitée pendant la phase d’entraînement (les premiers paramètres courants étant différents des paramètres optimaux obtenus à l’issue de la phase d’entraînement).

[0068] During the inference phase, implemented after the training phase, once the first optimal parameters of the generation model have been determined, the generation model of generation module 103 is capable of generating new synthetic data x' j, different from the x0 training data ,i , from random noisy data x j derived from a conditioning module 110 of the generation system 10, and optionally from a random data z from the random generation module 106. The new synthetic data x' j thus generated can be stored in a second database 111, for later use, in particular to apply additional processing to them.

[0069] No restrictions are attached to the random data z or to the random generation module 106: the use of a random data z and a conditioning data allows for diversification of the synthetic data output from the generation module 103. The random data z can, for example, be a random noise vector, in which case the random generation module 106 is capable of generating such a noise vector randomly.

[0070] The random data z can be submitted as input to the generation model, or it can be introduced as a latent variable in the generation model implemented by the generation module 103. The random data z allows for diversification of the synthetic data generated by the generation model, compared to a classic GAN. In some embodiments, the random data z is introduced as a latent variable in adaptive normalization layers of the generation model (for example, in adaptive group normalization layers) to dynamically influence the internal transformations of the generation model.

[0071] The first parameters defining the generation model are denoted θ in what follows, and the generation model is denoted f θ ().

[0072] Thus, during the training phase, x' 0,i = fθ(xT,i, T, z).

[0073] The invention thus enables the generation of synthetic data in a single pass, directly from the generation model, instead of the reverse diffusion process with iterative denoising of prior art diffusion models, which significantly accelerates synthetic data generation. Furthermore, by submitting noisy data from a forward diffusion process and a random variable z as conditioning data, the multimodal denoising capability is improved compared to prior art GAN generation models, which are mostly unimodal.

[0074] In what follows, θ denotes the set of first parameters defining the generation model implemented by the generation module 103, parameters which are therefore subject to optimization during the learning phase, and which are optimized from a loss function evaluated from the result at the output of the discriminator module 105, then after application of a gradient descent method, in accordance with the principle of training generative adversarial networks.

[0075] The generation system 10 according to the invention further comprises a partial noise module 104, capable of receiving as input the synthetic data x' 0,i derived from generation module 103, and to predict a partially noisy synthetic data x' T-1 ,i .

[0076] To this end, according to embodiments of the invention, the partial noise module 104 is capable of: - completely noiseizing the synthetic data x'0 ,iin order to obtain a noisy synthetic data x' T ,i comparable to noisy training data x T ,i ; then- estimate the partially noisy synthetic data x' T-1 ,i from the noisy synthetic data x' T ,i and the synthetic data x'0 ,i , by determining a distribution q(x' T - 1 ,i | x' T ,i , x'0 ,i The distribution q(x' T-1 ,i | x' T ,i , x'0 ,i ) intuitively represents the distribution of x' T-1 ,i during the denoising process of x' T ,i towards x'0 ,i and such a distribution maintains a Gaussian shape, regardless of the size of the diffusion process (the number of iterations T) or the complexity of the training data distribution.

[0077] Alternatively, the partial noise module 104 can apply Gaussian noise, based on the synthetic data x' 0,i , iteratively for T-1 iterations, until the partially noisy synthetic data x' is obtained T-1 ,i .

[0078] Thus, the set formed by the generation module 103 and the partial noise module 104 is capable of determining the partially noisy synthetic data x' T- 1 ,i from a distribution p θ (x' T-1 ,i | x T ,i ) such as :p θ (x' T-1 ,i | x T ,i ) = q(x' T-1 ,i | x' T ,i , x'0 ,i = fθ(xT,i, T, z)).

[0079] The partially noisy synthetic data x' T- 1 ,i is then submitted as input to the discriminator module 105, in association with the noisy training data x T,iresulting from the sound module 102 at the end of the forward diffusion process.

[0080] The discriminator module 105 implements a classification model capable of taking as input a dataset, specifically a pair of data comprising a partially noisy data point and a noisy data point, and capable of predicting a classification result, specifically a classification score, indicating whether the partially noisy data point is synthetic (when the classification score is close to 0, for example) or real data (when the classification score is close to 1, for example). The classification model implemented by the discriminator module 105 can be an artificial neural network defined by a set of second parameters α.

[0081] According to the principle of training a generative adversarial network, the generation module 103 and the discriminator module 105 are trained jointly, optimizing the parameters θ and α as described below.

[0082] To this end, the discriminator module 105 aims to determine a classification result indicating whether the partially noisy data of a pair of data received as input is synthetic data or real training data, and the classification result must be close to a label indicating whether the partially noisy data submitted as input is real or synthetic.

[0083] Thus, the discriminator module 105 can receive: - either the pair (x' T- 1 ,i ; x T ,i ) including the partially noisy synthetic data x' T-1 ,i In this case, the label indicates that the partially noisy data is synthetic, and the discriminator module 105 aims to determine a classification result close to 0, i.e., the pair (x T- 1 ,i ; x T ,i ) including the partially noisy training data x T-1 ,i In this case, the label indicates that the partially noisy data is real, and the discriminator module 105 aims to predict a classification score close to 1.

[0084] As described below, the discriminator module 105 is capable of determining, based on the classification result and the label: - a first loss function for itself (the discriminator module 105), which depends on the label and the classification score; - a second loss function for the generation module 103, which also depends on the label and the classification score from the discriminator module 105, but which differs from the first loss function because the generation module 103 has an objective contrary to that of the discriminator module 105, which is to produce synthetic data, from which partially noisy synthetic data are obtained (by the partial noise module 104) which are classified by the discriminator module as real (score close to 1) when they are not. The generation module 103 thus seeks to deceive the discriminator module 105.

[0085] The discriminator module 105 can then: - optimize the second parameters α of the classification model implemented by the discriminator module 105 by a backpropagation gradient method based on a first error calculated from the first loss function; - optimize the first parameters θ of the generation model implemented by the generation module 103, by the backpropagation gradient method based on a second error calculated from the second loss function.

[0086] Presents the steps of a training method for the synthetic data generation system 10, according to embodiments of the invention.

[0087] The training process thus corresponds to the training phase described previously.

[0088] At step 200, the sound module 102 obtains a training data x 0,ifrom training database 101, where i is the index of the training data in the training database. The value i can be initialized to 1, for example.

[0089] At step 201, the noise module 102 initializes the index t to 1, applies statistical noise, for example Gaussian, to the training data x 0,i and obtains the first partially noisy data point x1 ,i previously described.

[0090] At step 202, the noise module 102 compares the index t to T. If t is equal to T, the process continues with step 203 described below. If t is strictly less than T, the process returns to step 201, and the noise module 102 iteratively applies Gaussian noise to the (t-1)th partially noisy data point x. t-1 ,i to obtain the t-th partially noisy data point x t ,i , until the noisy data x is obtained T,i at the end of the T-th iteration.

[0091] Steps 201 and 202 thus form a forward diffusion process as previously described.

[0092] At step 203, the random generation module 106 generates the random data z, as previously described.

[0093] At step 204, the generation module 103 generates the synthetic data x'0 ,i from the random data z and from the noisy data x T ,i , as previously described, by applying the generation model defined by f θ (). Note that during the processing of the first training data x 0, 1, the first parameters θ of the generation model have not yet been optimized, and can be initialized randomly for example.

[0094] At step 205, the partial noise module 104 determines the partially noisy synthetic data x' T- 1 , i from the synthetic data x'0 ,i As previously mentioned, step 205 can include two sub-steps: - a first sub-step for determining the noisy synthetic data x' T , i from the synthetic data x'0 , i , then - a second sub-step of determining the partially noisy synthetic data x' T-1 , i from the noisy synthetic data x' T , i .

[0095] At step 206, the discriminator module receives a pair P as input i including the partially noisy synthetic data x' T- 1 , i and the noisy data x T , i , in order to predict a classification result R i (in the form of a classification score, for example, between 0 and 1).

[0096] Note that, as an alternative, during step 206, the pair P i can include the partially noisy data x' T- 1 , i (real, therefore not synthetic) and the noisy data x T,i, afin de prédire le résultat de classification Ri.

[0097] At step 207, the discriminator module 105 determines a first error by applying a first loss function to the classification result R i , and to the label of the P pair i (the label indicating if the pair P i includes synthetic data or not).

[0098] At step 208 following step 207, the discriminator module 105 optimizes its second parameters α by the backpropagation of the gradient method from the first error determined in step 207, or from several first errors evaluated for several pairs P iof indices i consecutive to several steps 207. In order to allow the protection of sensitive data during the training phase, step 208 may include the substeps described below with reference to the.

[0099] At step 209, the discriminator module 105, or another module of the generation system 10, determines a second error by applying the second loss function to the classification result R i , and to the label of the P pair i .

[0100] At a step 210 following step 209, the discriminator module 105, or the other module, optimizes the first parameters θ of the generation model implemented by the generation module 103 by the backpropagation method of the gradient from the second error determined in step 209, or from several second errors evaluated for several pairs P i of indices i consecutive to several stages 209.

[0101] Thus, during steps 208 and 210, the GAN parameters are optimized.

[0102] At step 211, a module of the generation system 10 can determine whether a convergence criterion for the GAN (specifically, the generation model) has been met. There are no restrictions attached to the convergence criterion, which can be: - based on the number of training data points for which steps 200 to 210 have been applied (i.e., the number of iterations of steps 200 to 210). For example, the training phase can continue until a predefined number K of training data points from the training database 101 have been processed; - based on the second error (the one associated with the generation module 103), or on the last values ​​evaluated for the second error.

[0103] If the convergence criterion is met, the training phase ends at step 212.

[0104] If the convergence criterion is not met, the process returns to step 200, incrementing the value i by 1 to process a new training data point x 0,i .

[0105] Laillustre des sous-steps de la step de optimisation des deuxième parameters du module discriminateur 105 du system de génération 10 de données synthetics, selon des embodiments de l'invention.

[0106] The sub-steps are thus part of step 208 described in reference to the.

[0107] At substep 300, the discriminator module 105 determines the gradient associated with the first error determined for the classification result R i obtained for pair P i The gradient determination function can be denoted g(), and step 300 therefore includes the following calculation: g(P i )= ∇ α L(α, P i ).

[0108] The function g(P i) is therefore the gradient of the first loss function as the parameters α vary, for a pair P i submitted as input to discriminator module 105,

[0109] where L is the first loss function.

[0110] At substep 301, the discriminator module 105 clips the function g(P i ) of gradient, so as to ensure that the function g(P i ) does not exceed a ceiling C. Such a substep allows control of the sensitivity of the classification model of the discriminator module 105 to variations in the input data (the P pairs i ) and to ensure that a gradient cannot individually dominate the training (have too large a role in the optimization of the second parameters α). It is thus a clipping parameter.

[0111] The gradient g(Pi) can be clipped using the following formula:

[0112] in which represents the Euclidean norm.

[0113] At substep 302, the discriminator module 105 adds Gaussian noise to the clipped function , in order to obtain the following noisy clipped gradient function:

[0114] representing the normal distribution.

[0115] In the formula above, the Gaussian noise is centered, with controlled variance.

[0116] Introducing Gaussian noise is a valuable way to preserve the confidentiality of training data. It ensures that individual gradients are masked, thus preventing any leakage of sensitive information. In the formula above, σ is a parameter determining the level of Gaussian noise introduced and is the identity matrix.

[0117] At substep 303, the discriminator module 105 updates the second parameters α of the classification model implemented in the discriminator module 105, by the backpropagation, or gradient descent, method, from the noisy clipped gradient function , in the following manner:

[0118]

[0119] in which represents a learning rate of the P-pair classification i .

[0120] The learning rate allows us to adjust the second parameters α of the classification model to minimize the prediction error associated with the classification of the P pair i .

[0121] The learning rate can be fixed, or it can be dynamically adjusted according to the learning iteration (i.e., the P pair). i). For example, the learning rate can vary dynamically, according to an exponential decay or according to an Adam type approach or a "Root Mean Square Propagation" type approach, RMSprop, to accelerate the convergence of the classification model and stabilize the optimization of the second parameters α.

[0122] Steps 300 to 303 allow for the introduction of differential confidentiality in the discriminator module 105.

[0123] As an alternative to introducing noise into the gradient function, other techniques can be implemented according to the invention to ensure the confidentiality of the training data: the training data can be anonymized before being stored in the training database 101. Such a method can be used to mask any personally identifiable information (PII) in the training data, which in this example is mobility data. For example, the training data could be series of GPS coordinates (Global Positioning System), and these series could be replaced by spatial approximations (geographic zoning) in the training data stored in the training database 101.The temporal identifiers associated with the spatial approximations of the series can be aggregated into time ranges (one range for the morning and one for the evening, for example), instead of the exact values ​​of temporal identifiers; - the training data can be distributed between several servers or devices (several training databases 101). Training systems 10 are also distributed between the several servers or devices: each training system 10 determines parameters of the classification model and the generation model, and the locally optimized parameters are transmitted to a central server to obtain global optimal parameters. The global optimal parameters are then transmitted to the servers and devices to update the generation model, in particular, in order to implement local inference phases; - the discriminator module 105, upon receipt of a P pair. i, applies a secret sharing technique. The P pairs i The data are divided into several mathematical fragments, and these fragments are submitted separately to the classification model. The fragments are then used to train the discriminator module 105 in a distributed manner. Reconstructing the complete data is impossible until all the fragments are combined.

[0124] Furthermore, to model complex dependencies in data, particularly those of a sequential or spatial nature, the discriminator module 105 can incorporate spatiotemporal attention blocks. This technique enhances the classification model's ability to capture complex correlations and patterns, thus enabling a better understanding and generation of structured synthetic data.

[0125] Presents the steps of a synthetic data generation process by a synthetic data generation system 10, according to embodiments of the invention.

[0126] The synthetic data generation process thus corresponds to the inference phase described previously, implemented after the training phase described in reference to the.

[0127] At step 400, the conditioning module 110 generates a random noisy data point x j , in the same format as the noisy x data t,i described previously. The index j can be initialized to 1, for example.

[0128] In parallel, at a 401 step, the random number generation module 106 generates a random data z, as previously described.

[0129] At step 402, the generation module 103, parameterized with the first optimal parameters θ from the learning phase, generates a new synthetic data x'j , by applying the trained generation model to the random data z generated in step 401, and to the noisy random data x j generated at step 400.

[0130] At step 403, the new synthetic data x' j can be stored in the second database 111. Steps 400 to 403 can then be iterated to store a new synthetic dataset x' j The new synthetic data thus obtained and stored can then be used by applying additional processing to it.

[0131] This presents the structure of the generation module 103 of the synthetic data generation system 10, according to embodiments of the invention.

[0132] The generation 103 module can thus be implemented in hardware form and can therefore include a processor 501 and a memory 502. Alternatively, the generation 103 module is a software module implemented by a hardware device in charge of implementing all the modules of the generation 10 system described above.

[0133] The 501 processor is configured to communicate unidirectionally or bidirectionally, via one or more buses or via a direct wired connection, with the 502 memory, which can be a Random Access Memory (RAM), a Read Only Memory (ROM), or any other type of memory (Flash, EEPROM, etc.). Alternatively, the 502 memory may contain several of the aforementioned types.

[0134] Memory 502 includes at least one non-volatile memory in which the data used and / or generated during the implementation of the learning and inference phases described above are stored temporarily or permanently. Specifically, memory 502 can store the generation model as well as the initial parameters θ defining the generation model.

[0135] The processor 501 is capable of executing instructions, stored in memory 502, to apply the generation model parameterized by the first parameters θ, to data received on interfaces described below, to generate synthetic data, at step 204 during the training phase and at step 402 during the inference phase.

[0136] The generation module 103 further includes a first receiving interface 503 capable of receiving the random data z from the random generation module 106 described previously.

[0137] The generation module 103 further includes a second receiving interface 504 capable of receiving noisy data x T,i from the noise module 102 during the learning phase, and the random noisy data x jdepuis le module de conditionnement 110 pendant la phase d’inférence.

[0138] The generation module 103 further includes a third transmission interface 503 capable of transmitting the synthetic data x' 0,i to the partial noise module 104 during the training phase, and to transmit the new synthetic data x' jà la deuxième base de données 111 lors de la phase d’inférence.

[0139] Laillustrates the structure of the discriminator module 105 of the synthetic data generation system 10, according to embodiments of the invention.

[0140] The discriminator module 105 can thus be implemented in hardware form and can therefore include a processor 511 and a memory 512. Alternatively, the discriminator module 105 is a software module implemented by a hardware device in charge of implementing all the modules of the generation system 10 described previously.

[0141] The 511 processor is configured to communicate unidirectionally or bidirectionally, via one or more buses or via a direct wired connection, with the 512 memory, which can be a Random Access Memory (RAM), a Read Only Memory (ROM), or any other type of memory (Flash, EEPROM, etc.). Alternatively, the 512 memory may contain several of the aforementioned types.

[0142] Memory 512 includes at least one non-volatile memory in which the data used and / or resulting from the implementation of the previously described learning phase are stored temporarily or permanently. In particular, memory 512 can store the classification model as well as the second parameters α defining the classification model.

[0143] The processor 511 is capable of executing instructions, stored in memory 512, to apply the classification model parameterized by the second parameters α, to data received on interfaces described below, to generate a classification result at step 206 described previously in connection with the, and to optimize the parameters α and θ of the classification and generation models during steps 207 to 210 described previously, in connection with the.

[0144] The discriminator module 105 further includes a first reception interface 513 capable of receiving the Pi pairs described above, comprising: - either the pair (x' T- 1 ,i ; x T ,i ) including the partially noisy synthetic data x' T-1 ,i ;- either the pair (x T-1 ,i ; x T ,i ) including the partially noisy training data x T-1 ,i .

[0145] The discriminator module 105 further includes a second interface 514 capable of controlling the generation module 103 to optimize the first parameters θ of the generation model during step 210 described previously, in connection with the.

[0146] Thus, the Generation 10 system with a generative adversarial network, which can be conditional multimodal, used for the denoising process, as described previously, significantly reduces the number of steps required to generate synthetic data, thereby improving the speed associated with synthetic data generation. Unlike known generative adversarial networks, the Generation 10 system breaks down the generation task into several conditional steps implemented in the generation model, simplifying the modeling process at each step and improving the stability of the learning. The combination of the forward diffusion process and the conditional generative adversarial network ensures better mode coverage, guaranteeing increased diversity in the generated synthetic data.In addition, differential confidentiality, when implemented in the discriminator module 105, helps to protect sensitive training data from leaks, thereby strengthening the confidentiality of the data processed.

[0147] As previously stated, the invention enables the generation of synthetic data from real multimodal training data, in particular for training data in the form of images, sequential tabular data or time series, for any type of application (mobility, telecommunications network management, images, etc.), particularly in applications where it is not possible to share real data, for reasons of confidentiality.

[0148] During the processing of mobility data, incorporating spatial and temporal characteristics, subjected to the forward diffusion process (iterative noiseing applied by the noiseing module 102), the generation model accurately captures the complex dynamics of mobility during its training and produces synthetic trajectories that closely resemble the actual training data, both spatially and temporally. This makes it possible to reconcile high-quality synthetic data, broad modal diversity, and fast inference speed—criteria that models identified in the prior art cannot simultaneously meet. Furthermore, embodiments of the invention ensure the confidentiality of the training data.

[0149] The invention can in particular be applied to synthesize the movements of individuals in various spatial contexts, for example in an urban environment.

[0150] Indeed, in this context, data representing individual trajectories contains sensitive personal information, which imposes strict restrictions on its use. These constraints limit the possibility of sharing this data, particularly for scientific research. Furthermore, the inherently noisy and highly multimodal nature of real-world mobility data adds complexity to its analysis and understanding. The heterogeneity of real-world data reflects the variety of individual behaviors. Synthetic data offers an alternative to the use of real-world data.

[0151] The generation system according to the invention has been tested on training data (on the order of a million training data) in the form of sequences of positions, each position comprising a latitude and a longitude, with varying time steps.

[0152] Synthetic data can be evaluated from one or more of the following metrics: - density error: such a metric evaluates, globally, the spatial distribution between the set of synthetic trajectories and the real trajectories, for example by using the Jenson-Shannon divergence between these two trajectory distributions; - path error: such a metric is evaluated to measure the correlation between the starting points and the ending points of the synthetic trajectories.More specifically, this metric can calculate the probability distribution of starting and ending points in real and synthetic trajectories, using the Henson-Shannon divergence to measure the difference between them; length error: such a metric evaluates the differences in distances traveled in real and synthetic trajectories, based on the distribution of distances traveled. Each distance traveled in a trajectory can be calculated using the Euclidean distance between consecutive points on the trajectory; pattern score: such a metric semantically identifies the most frequently traversed grids in trajectories, when the space is decomposed into grids.

[0153] The performance of the generation 10 system surpasses all known generation models, namely diffusion models, generative adversarial networks and variational autoencoders, on most of the metrics described above.

[0154] In addition, the generation 10 system allows for significant acceleration during the inference phase, and is several orders of magnitude faster than known diffusion models.

Claims

Synthetic data generation system (10) comprising: - a noise module (102), capable of applying statistical noise, iteratively, for T iterations, T being an integer greater than or equal to 2, to a training data to obtain noisy data; - a generation module (103) capable of generating synthetic data from the noisy data by applying a synthetic data generation model defined by first parameters; - a partial noise module (104), capable of obtaining partially noisy synthetic data from the generated synthetic data;- a discriminator module (105) capable of determining a classification result of a dataset received by the discriminator module, from a classification model defined by second parameters, the dataset comprising a partially noisy data source from the noise module after strictly fewer than T iterations or the partially noisy synthetic data source from the partial noise module; the generation system being further configured to modify the first parameters of the generation model according to a loss function evaluated from the classification result and to modify the second parameters of the classification model according to another loss function evaluated from the classification result.; Synthetic data generation system according to claim 1, wherein the generation module is capable of applying the synthetic data generation model to noisy data and random data, to generate synthetic data. Synthetic data generation system according to claim 1 or 2, wherein the data set received by the discriminator module (105) further includes the noisy data from the noise module (102). Synthetic data generation system according to claim 3, wherein the partial noise module (104) is capable of:- adding noise to the synthetic data to obtain noisy synthetic data;- determining the partially noisy synthetic data as a function of the noisy synthetic data and the synthetic data, the partially noisy synthetic data being less noisy than the noisy synthetic data. Synthetic data generation system according to claim 1 or 2, capable of iteratively training the classification model and the generation model based on a plurality of training data, until at least one convergence criterion is reached. Synthetic data generation system according to any one of the preceding claims, capable of, when modifying the second parameters of the discriminator module:- determining (300) a gradient function of the other loss function as a function of the data set;- adding (302) statistical noise to the gradient function;- modifying (303) the second parameters of the discriminator module from the noisy gradient function. Synthetic data generation system according to claim 6, capable of clipping (301) the gradient function with a threshold value, before adding statistical noise to the gradient function, and wherein the second parameters of the discriminator module are modified from the clipped noisy gradient function. Synthetic data generation system according to any one of the preceding claims, further comprising a conditioning module (110) capable of generating random noisy data, and in which the generation module (103) is capable, after optimization of the first parameters, of determining new synthetic data as a function of the random noisy data from the conditioning module. Synthetic data generation system according to any one of the preceding claims, wherein the training data is a trajectory comprising a set of positions associated with respective times. Method for training a synthetic data generation system comprising the following steps:- application (201; 202) of statistical noise, iteratively, for T iterations, T being an integer greater than or equal to 2, to a training data to obtain noisy data;- generation (204) of synthetic data from the noisy data and random data by application of a generation model defined by first parameters;- obtaining (205) of partially noisy synthetic data from the generated synthetic data;- determination (206) of a classification result of a dataset from a classification model defined by second parameters, the dataset comprising partially noisy data obtained by applying the statistical noise for strictly less than T iterations or the partially noisy synthetic data;- modification (210) of the first parameters of the generation model as a function of a loss function evaluated (209) from the classification result and modification (208) of the second parameters of the classification model as a function of another loss function evaluated (207) from the classification result.; Method for generating new synthetic data implemented by the generation module (103) of the synthetic data generation system (10) according to any one of claims 1 to 9, the generation method comprising the following steps:- receiving random noisy data;- determining (402) new synthetic data by applying the generation model to the received random noisy data. Computer program comprising program code instructions for implementing the synthetic data generation method according to claim 11, when the instructions are executed by a processor (501). Computer-readable information carrier, and comprising instructions for a computer program according to claim 12.