Homomorphically encrypted data synthesis
Homomorphic encryption enables secure and accurate synthetic data generation by training machine learning models on encrypted data, addressing bias and ensuring ethical data use and regulatory compliance in data sharing scenarios.
Patent Information
- Application Number
- PCT/EP2025/062614
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-17
- Filing Date
- 2025-05-08
- Publication Date
- 2025-11-20
AI Technical Summary
Existing methods for synthetic data generation are limited by bias and inaccuracy due to non-representative sampling, and there is a need for secure and ethical processing of personal data, especially in scenarios where data sharing and regulatory compliance are required.
A method using homomorphic encryption allows for the training of machine learning models on encrypted data, enabling secure data synthesis by applying homomorphic group operations to encrypted data sets, ensuring that the original data remains secure and allowing processing on remote servers without decryption, thus facilitating ethical data use and regulatory compliance.
This approach enables systematic and accurate generation of synthetic data, maintaining data integrity and privacy, while leveraging computational resources of remote servers for large-scale data processing, and generating more accurate synthetic data sets.
Smart Images

Figure EP2025062614_20112025_PF_FP_ABST
Abstract
Description
HOMOMORPHICALLY ENCRYPTED DATA SYNTHESISFIELD OF THE INVENTION
[0001] The invention relates to the field of data synthesis using trained machine learning models.BACKGROUND
[0002] Synthetic data may refer to a reproduction of data that represents a certain field and is not obtained by direct measurement. For example, synthetic data may refer to data that is artificially generated rather than being collected from real-world events. It is often used in scenarios where real-world data is scarce, sensitive, or expensive to collect. Traditional methods of synthetic data generation have their limitations. For instance, sampling from existing datasets may not always provide a representative sample of the population, leading to biased or inaccurate results.
[0003] Data synthesis describes the procedure of generating synthetic data. Said synthetic data is intended to resemble an original data set from which the synthetic data was generated, wherein said original data set comprises values collected from real-world events. This resemblance can exemplarily be quantified by the matching of a set of properties or characteristics related to the values of attributes and the distribution of said values in an original data set, such that the generated synthetic data resembles the original data set according to this set of properties or characteristics.
[0004] The publication entitled “PrivBayes: Private Data Release via Bayesian Networks” by Zhang et al. published in ACM Transactions on Database Systems, Vol. 42, No. 4, Article 25 in October 2017 describes an algorithm for data synthesis using a machine learning model.
[0005] The publication entitled “Variational Autoencoder Generative Adversarial Network for Synthetic Data Generation in Smart Home” by Razghandi et al. published on the arXiv on the 19.01 .2022 describes a method for the use of generative adversarial networks (GANs) and variational autoencoders (VAEs) for data synthesis.
[0006] The publication entitled “Deep Learning with Differential Privacy” by Abadi et al., published on the arXiv on the 24.10.2016 describes a method for performing stochastic gradient descent in a differentially private manner, called differentially private stochastic gradient descent (DPSGD).
[0007] It is an objective to provide for a method for generating synthetic data in a privacypreserving manner. The invention is described by the features of the independent claims. Example embodiments are provided in the dependent claims.SUMMARY OF THE INVENTION
[0008] The invention is described by the features of the independent claims. Embodiments are provided in the dependent claims.
[0009] Homomorphic encryption (HE) is a method which allows for the processing of encrypted data without requiring a decryption step to be performed first. A homomorphic algorithm is an algorithm capable of being applied to an encrypted data set, said data set having been encrypted using an encryption algorithm compatible with the homomorphic algorithm. The homomorphic algorithm comprises the application of a set of homomorphic group operations. Homomorphic group operations comprise calculations for which a homomorphism exists between operations applied to data in its encrypted form and operations applied to the same data in its unencrypted form. Exemplary embodiments of homomorphic group operations comprise arithmetic operations, such as addition, multiplication and / or the evaluation of more complex mathematical functions such as e.g. polynomials. When the homomorphic algorithm is required to decide between multiple options, for example the evaluation of an if-else statement, the algorithm is said to encounter a branch. When a branch is encountered, the homomorphic algorithm performs calculations for all options of the branch, thus increasing the number of homomorphic group operations to be applied. The application of a homomorphic algorithm yields an encrypted result, such that decryption of the encrypted result yields the same outcome as the application of the same algorithm on the original unencrypted data.
[0010] The implementation of an algorithm as a homomorphic algorithm therefore requires the implementation of every method step of the algorithm and every mathematical or logical operation the algorithm performs on an encrypted data set as a homomorphic group operation. The application of a homomorphic algorithm advantageously allows for the processing of data in encrypted form, without exposing thecontent of the data to the computer system executing the homomorphic algorithm. Therefore, the computational resources available on said computer system can be utilized, without said computer system being able to decrypt the provided data set or to extract information about the unencrypted data contained in the encrypted data set, wherein said information may be used for purposes besides those purposes of the executed homomorphic algorithm.
[0011] In a preferred embodiment, the original data set comprises real-world data, in particular personal data. Therefore, there arises a need for the secure processing of said personal data for applications such as data synthesis. Said secure processing is enabled by the homomorphic data synthesis algorithm of the present subject matter. The present subject matter can therefore advantageously be used for purposes such as data synthesis while ensuring that the generated synthetic data fulfills criteria of data security and anonymization.
[0012] Cloud computing is a method enabling the sharing of data between multiple parties, such as a user possessing a computer device and a server, wherein the server may be a remote server located at a remote location. Said sharing of data further enables shared data processing, wherein in a typical example, the server possesses larger capacities of computational resources than the computer device of the user. Therefore, computationally demanding tasks having a large demand for storage capacity and / or processing power are in a typical example performed on the server. The result of said computationally demanding tasks is then returned to the computer device of the user, where further data processing or other tasks such as statistical evaluation and data visualization may be performed.
[0013] The term “user” may refer to an entity e.g., an individual, a computer, or an application executing on a computer. The shared data is provided by the computer device of the user to the server. The shared data is processed by the server and a result of said data processing is sent to the computer device of the user.
[0014] Embodiments of the present subject matter provide a method for training a machine learning model for the generation of synthetic data, the method comprising: providing an encrypted data set, resulting from encryption of an original data set, to a server, the encrypted data set comprising a set of entries, wherein each entry of the encrypted data set comprises values for a set of attributes Xlt...,Xd, d being the total amount of attributes, followed by application of a homomorphic machine learning algorithm for data synthesis comprising a set of homomorphic group operations on the encrypted data set. Saidhomomorphic machine learning algorithm comprising a set of method steps, including constructing a machine learning model, training the machine learning model by repeated application of a set of homomorphic group operations to the encrypted data set, and obtaining a set of encrypted learnable parameters of the machine learning model after a stop criterion has been reached. In an exemplary embodiment, the generated synthetic data may comprise tabular data, structured in the same manner as the original data set, wherein a table comprises a set of columns representing a set of attributes respectively, wherein the attributes may coincide with the set of d attributes present in the original data set.
[0015] In a preferred embodiment of the present subject matter, the encrypted data set is provided to the server by a user from a computer device of the user. The encrypted data set is generated by the user from an original data set by application of a public-key asymmetric encryption algorithm in accordance with a homomorphic encryption scheme. Advantageously, the present subject matter solves the problem of data sharing and data processing for the purpose of data synthesis without exposing the original data. The use of a homomorphic algorithm thus aids in facilitating ethical data use and enabling regulatory compliance. The original data set is encrypted in accordance with a homomorphic encryption scheme, obtaining an encrypted data set.
[0016] An encryption algorithm is in accordance with a homomorphic encryption scheme if the homomorphic algorithm is capable of processing and applying homomorphic group operations to an encrypted data set encrypted using said encryption algorithm.
[0017] The homomorphic encryption scheme requires the use of a public-key asymmetric encryption algorithm. A public-key asymmetric encryption algorithm comprises the use of a public key and private key. The public key is used for the encryption of the original data set, wherein the public key may be known to all parties, including the user and the server. The public key may be stored on the computer device of the user and / or the server. The private key is used for decryption of the encrypted data set, wherein the private key is known to the user. The private key may be stored on the computer device of the user. The encrypted data set may be shared with other parties, including the server, in such a manner that the server is able to process the encrypted data set by application of a homomorphic algorithm. The server is unable to decrypt the encrypted data set.
[0018] In the present subject matter, the homomorphic algorithm applied to the encrypted data set is a homomorphic machine learning algorithm, wherein a machine learning model is trained on the server using the encrypted data set provided by the computerdevice of the user. The homomorphic machine learning algorithm is used to train a machine learning model on the server, obtaining a set of encrypted learnable parameters of the homomorphic machine learning model. Said encrypted learnable parameters are sent to the computer device of the user from the server. Using the private key stored on the computer device of the user, wherein said private key matches the public key used for encryption of the original data set, the encrypted learnable parameters may be decrypted. The decrypted learnable parameters are stored on the computer device of the user and may be used by the user for generating synthetic data.
[0019] In a preferred embodiment, the server provides the set of encrypted learnable parameters of the trained machine learning model to the user, followed by decryption of the encrypted learnable parameters of the trained machine learning model by the user using a private key stored on the device of the user. In a preferred embodiment, the set of decrypted learnable parameters of the trained machine learning model is used by the user to generate synthetic data on the computer device of the user. When generating synthetic data, the user is not required to alter or further update the learnable parameters of the trained machine learning model. Instead, the user specifies the size of the generated synthetic data set by providing a number of samples to be generated using the trained machine learning model.
[0020] As an advantage of the present subject matter, the scalability of the data synthesis method is improved. Sending the encrypted data set to the server enables the processing of large amounts of data. The processing of large data sets may exceed the capacities of the computer device of a user, whereas the computational resources available on a server enable the processing of such quantities of data.
[0021] As a further advantage of the present subject matter, the use of a homomorphic algorithm further ensures the that the integrity of the original data set is maintained, as the server receiving the encrypted data set is unable to read or modify the original set, which is advantageous for applications wherein the authenticity and reliability of the resulting synthesized data sets is crucial.
[0022] An exemplary embodiment of the homomorphic machine learning algorithm includes the learning of a Bayesian network, wherein nodes of the Bayesian network correspond to attributes of the encrypted data set and edges of the Bayesian network correspond to dependencies among attributes of the encrypted data set. In another embodiment, a parameter k is provided to the server by the user, this parameter determining the degree of the learned Bayesian network.
[0023] In a preferred embodiment of the homomorphic machine learning algorithm, the method steps of the homomorphic machine learning algorithm include a model learning step and a distribution learning step. The model learning step comprises the repeated changing of the structure of the Bayesian network model based on a score function. An exemplary embodiment of the distribution learning step comprises the repeated updating of the learnable parameters of the Bayesian network to approximate the conditional probability distributions of attributes in the encrypted data set based on a score function.
[0024] A preferred embodiment of the score function is the maximal mutual information between pairs (X,, FI,), comprising an attribute Xtof the encrypted data set and the associated parent set of attributes n£of said attribute Xt, wherein the parent set of attributes is a subset of all attributes in the encrypted data set, excluding Xt.
[0025] In an exemplary embodiment, the homomorphic machine learning algorithm includes a homomorphic implementation of the PrivBayes algorithm, such that this algorithm can be applied to the encrypted data set in accordance with a homomorphic encryption scheme.
[0026] An exemplary embodiment of the present subject matter includes a stop criterion for the model learning step and / or the distribution learning step of the homomorphic machine learning algorithm. The stop criterion of the model learning step may be fulfilled by adding a node for every attribute in the encrypted data set to the Bayesian network and fixing the parent set of attributes for each attribute in the encrypted data set. The stop criterion of the distribution learning step may be the execution of a fixed number of iterations, wherein the fixed number of iterations may depend on the number of entries in the original data set and / or the number of attributes d.
[0027] In a preferred embodiment, the computer device of the user may be located at an access-controlled site, wherein access is granted to the user via an access-control device. As an advantage of the present subject matter, homomorphic encryption allows for data synthesis to be performed on the server, wherein the server may be located outside the access-controlled site, wherein the personal data is stored on the computer device of the user inside the access-controlled site without the server being able to read the personal data in its unencrypted form.
[0028] In a preferred embodiment of the present subject matter, a data complexity function is evaluated on the original data set on the computer device of the user, resulting in a data complexity value. The construction and training of the machine learning model isperformed on the computer device of the user using the original data set if the data complexity value does not exceed a complexity threshold.
[0029] Example embodiments provide a computer, wherein the execution of the computer program performs the method for data synthesis. In an exemplary embodiment, the computer program may be installed on a computer system, comprising a server and a set of computer devices. In an alternative embodiment, the computer program may be provided as a downloadable executable file, wherein the execution of the file performs the method for data synthesis.
[0030] It is understood that one or more of the aforementioned examples may be combined as long as the combined examples are not mutually exclusive.BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In the following, examples are described in greater detail making reference to the drawings in which:
[0032] Fig. 1 is a flow chart for the generation of synthetic data in accordance with an example of the present subject matter.
[0033] Fig. 2 is a flow chart for the application of a homomorphic algorithm for the training of a machine learning model for the generation of synthetic data in accordance with an example of the present subject matter.
[0034] Fig. 3 is a flow chart of interactions between the server and a computer device of a user.
[0035] Fig. 4 is a flow chart of a distributed computing approach for the application of the homomorphic machine learning algorithm as described in Fig. 1 , Fig. 2 and Fig. 3.
[0036] Fig. 5 is a diagram of interactions between the server and a computer device of a user located at an access-controlled site.
[0037] Fig. 6 is a block diagram of an exemplary computer system for implementing at least part of the present method in accordance with an example of the present subject matter.DETAILED DESCRIPTION
[0038] In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, interfaces, techniques, etc., in order to provide a thorough understanding of the examples. However, it will be apparent to those skilled in the art that the disclosed subject matter may be practiced in other illustrative examples that depart from these specific details. In some instances, detailed descriptions of well-known devices and / or methods are omitted so as not to obscure the description with unnecessary detail.
[0039] In the following, similar elements are denoted by the same reference numerals.
[0040] The present subject matter may enable a systematic and accurate generation of synthetic data using machine learning models. The present subject matter may enable to generate synthetic data in desired amounts and desired accuracy. For example, a large amount of synthetic data may be used for training a machine learning model (e.g. for performing a classification task or regression task) or performing a reliable data analysis.
[0041] The present subject matter further enables the generation of synthetic data using homomorphic algorithms. Advantageously, homomorphic algorithms for data synthesis can be executed on computer systems without requiring trust of the computer system or the provider of said computer system. Implementing an algorithm as a homomorphic algorithm requires the implementation of each method step of the algorithm as a set applications of homomorphic group operations to the encrypted data set rather than to the original data set. Said homomorphic group operations do not require access to the original data set and do not modify the original data set. As a further advantage of the present subject matter, the computer system executing the homomorphic algorithm may enable faster processing and / or the processing of larger amounts of data than a computer system on which the original data is available in unencrypted form. The present subject matter may also enable the generation of more accurate synthetic data sets.
[0042] Fig.1 is a flowchart for the generation of synthetic data in accordance with an example of the present subject matter. Said flowchart may be read in conjunction with the diagram of interactions shown in Figure 4. The server 101 may be provided with an encrypted data set 100 in step 102. In step 103, the homomorphic machine learning algorithm 104 for data synthesis is applied to the encrypted data set 100. Such a homomorphic algorithm 104 as understood herein encompasses any algorithm the execution of which causes the decrypted results to coincide with the results of applying the same homomorphic group operations on the original data set 300. That is, the homomorphic machine learning algorithm 104 of the present subject matter processesthe encrypted data set 100 in the same manner of a non-homomorphic machine learning algorithm 104.2 for the same purpose of data synthesis, wherein the non-homomorphic machine learning algorithm 104.2 and the homomorphic machine learning algorithm 104 apply the same method steps, wherein the implementation of said method steps differs due to the homomorphic encryption scheme. The non-homomorphic machine learning algorithm 104.2 is not implemented in accordance with a homomorphic encryption scheme and the non-homomorphic machine learning algorithm 104.2 is applied to the original data set 300. In a preferred embodiment, the original data set 300 comprises data in tabular form.
[0043] The application of the homomorphic machine learning algorithm comprises a set of method steps, including: construction a machine learning model; training the machine learning model by repeated application of a set of homomorphic group operations to the encrypted data set 100; obtaining a set of encrypted learnable parameters of the machine learning model after a stop criterion has been reached. An exemplary embodiment of said obtaining comprises the returning of a file, wherein the required format of said file is provided to the server 101. An alternative embodiment of said obtaining comprises the display of the encrypted learnable parameters on an external device 713 of a computer system 702, wherein said external device comprises a graphical display or screen of a desktop computer, tablet or mobile device.
[0044] The machine learning model may have parameters which are learnable.Learnable parameters of the machine learning model may be updated or changed during the application of the homomorphic machine learning algorithm for data synthesis. As the homomorphic algorithm is applied to the encrypted data set, the learnable parameters are available as encrypted learnable parameters 106 on the server 101. The encrypted learnable parameters 106 are updated or changed by the application of homomorphic group operations of the homomorphic machine learning algorithm 103 on the server 101. Said updating or changing of the encrypted learnable parameters 103 during the application of the homomorphic machine learning algorithm 103 is repeated until a stop criterion has been fulfilled. Once the stop criterion of the homomorphic machine learning algorithm of step 103 has been fulfilled, the encrypted learnable parameters 106 are provided by the homomorphic machine learning algorithm in step 105.
[0045] An embodiment of the providing step 105 of the encrypted learnable parameters comprises the output of an encrypted output containing the encrypted learnable parameters file from the server 101. Exemplary embodiments of said file comprise a text (.txt) file, a comma separated values (.csv) file or a tab separated values (.tsv) file,wherein the information encoded in said file is in its encrypted form. In step 107, the encrypted learnable parameters 106 may then be decrypted using a private key 108, wherein said private key 108 matches the encryption key used for encrypting the encrypted data set provided in step 102. The private key 108 is stored on the computer device 301 of the user 302, allowing the user 302 to perform the decryption step on the computer device 301 , obtaining decrypted learnable parameters. In step 109, the decrypted learnable parameters may be used by the user 302 for generating a synthetic data set on the computer device 301 . That is, while the step 103 is performed on encrypted data and returns encrypted learnable parameters, the generation of the synthetic data set in step 109 is performed in a non-homomorphically encrypted manner.
[0046] Exemplary embodiments of the synthetic data set generated in step 109 comprise a number of entries and / or a number of attributes d specified by the user 302. The synthetic dataset which is generated using the decrypted learnable parameters of the homomorphic machine learning model in step 109 may have records having a set of attributes, wherein the set of attributes comprise attributes present in the encrypted data set. Each record of the synthetic dataset may comprise values of the set of attributes.
[0047] The user 302 is able to apply further data analysis, data evaluation and / or data visualization steps to the synthetic data set generated in step 109. The user 302 is able to send the synthetic data set generated in step 109 to other computer devices 301 of other users 302. Said other users 302 can be located inside the same access-controlled site 500 as the user 302 sending the synthetic data set generated in step 109, inside another access-controlled site 500 or outside of an access-controlled site 500.
[0048] Fig 2. is a flow chart diagram of the application 103 of the homomorphic machine learning algorithm for data synthesis 104 to the encrypted data set 100 as shown in Fig.1. In a preferred embodiment, this algorithm creates a machine learning model comprising a Bayesian network 200.
[0049] A Bayesian network is a probabilistic graphical model comprising a set of attributes A on a data set D, wherein the data set D comprises the original data set 300 or the encrypted data set 100. The total number of attributes is denoted as d. In case of the homomorphic machine learning algorithm comprising a Bayesian network, the data set / ) comprises the encrypted data set 100, denoted as Dencr. The Bayesian network 200 comprises a description of the distribution of the attributes A in the data set Dencr. Exemplary embodiments of the entries for the attributes in the data set comprise integervalues, floating point numbers, Boolean values, text values and / or categorical values. If the data set is the original data set 300, said values are present in their unencrypted form. If the data set is the encrypted data set 100, said values are present in their encrypted form. The Bayesian network 200 comprises a set of nodes and a set of edges. The edges of the Bayesian network 200 are directed edges. The directed edges are constrained in such a manner that the resulting Bayesian network 200 is a directed acyclic graph (DAG). The Bayesian network 200 is a directed acyclic graph if there exist no cycles among the directed edges. In a preferred embodiment, the nodes of the Bayesian network 200 correspond to attributes in the encrypted data set 100. In a preferred embodiment, the edges of the Bayesian network correspond to dependencies between attributes in the encrypted data set Dencr. The requirement that the Bayesian network 200 is a directed acyclic graph ensures that no circular dependencies exist between attributes A in the data set Dencr.
[0050] The probability distributions associated with a particular attribute Xtis given by the marginal probability distribution Pr [ . Said marginal probability distribution describes the probabilities for the attribute Xtto take on some value without reference to any specific range of values of any other attributes besides X
[0051] The probability for an attribute Xtto take on some value may in general depend on other attributes besides X The dependencies between attributes are specified by conditional probability distributions. If an attribute Xtdepends on an attribute X;, then the attribute Xj is denoted to be a parent of XL. The set of all parents of an attribute is denoted the parent set of said attribute. For example, the conditional probability distribution Pr[ ; | n for the attribute Xt, wherein fl; denotes the parent set of attribute Xt, wherein every attribute in the parent set is denoted as a parent of the attribute Xt. The tuple ( fli) of an attribute and its parent set is denoted as an attribute-parent (AP) pair. The dependencies between attributes and parents are denoted as attribute-parent relations. The presence of a parent in the parent set of an attribute Xtindicates that the probability distribution of said attribute Xtis conditional on, and thereby at least in part determined by, the parent attribute. Such conditional dependencies are represented by directed edges in the Bayesian network, wherein the edges point from the parent attribute to the attribute X
[0052] In case that the machine learning model comprises a Bayesian network 200, the learnable parameters of the homomorphic machine learning model comprise the set of attributes corresponding to nodes in the Bayesian network 200, the marginal probabilitydistributions of said set of attributes and the conditional probability distributions of said set of attributes.
[0053] In step 102, the encrypted data set Dencr100 is provided to the server 101. In a preferred embodiment of the homomorphic machine learning model comprising a Bayesian network 200, the model learning step of the Bayesian network may be a network learning step 201 comprising the iterative addition of nodes corresponding to attributes to the Bayesian network 200. Said network learning step 201 comprises a repeated iteration of operations. In said network learning step, the structure of the Bayesian network 200 is repeatedly updated or changed. Said updating or changing comprises the addition of nodes and the addition of edges to the Bayesian network 200, wherein the addition of nodes corresponds to the addition of attributes in the encrypted data set Dencr100 comprising marginal probability distributions for the added nodes, and wherein the addition of edges corresponds to the addition of dependencies between attributes in the encrypted data set Dencrf QQ comprising conditional marginal probability distributions. Said conditional probability distributions comprise dependencies on any number of nodes present in the structure of the Bayesian network 200 at the current iteration of the network learning step 201.
[0054] In an exemplary embodiment, the server 101 may be provided with a parameter k, wherein the parameter k denotes the degree of the Bayesian network 200 and can take on integer values ranging up to the total number of attributes d. Given the parameter k, the Bayesian network learned in the network learning step 201 may be a Bayesian network of degree k. A Bayesian network of degree k denotes a Bayesian network 200 wherein the parent set of each attribute in the Bayesian network 200 may comprise up to k parent attributes.
[0055] In case that the parameter k is not provided to the server, the value of the parameter k may exemplarily be set to a default value, e.g. k = d. An increase of the parameter k increases the number of possible dependencies between attributes in the encrypted data set Dencrdescribed in the Bayesian network 200. Said increase in the number of possible dependencies advantageously increases the accuracy of the resulting generated synthetic data 109 at the cost of a higher demand for computational resources in the application of the homomorphic machine learning algorithm 104. In one embodiment, if the parameter k is not provided to the server 101 , the value of the parameter k is set depending on the available computational resources on the server 101.
[0056] In step 201 , the Bayesian network 200 of degree k is learned. In the first iteration of the network learning step 201 , an attribute Xtis randomly selected and added to the Bayesian network as a node, wherein the parent set of said attribute selected in the first iteration is the empty set. In each following iteration of the network learning step, a single additional attribute is included in the Bayesian network by addition of a corresponding node. In the next step of the same iteration, the parent set of the added attribute is fixed. The attribute-parent pairs are chosen such that the resulting Bayesian network 200 is a directed acyclic graph. The attribute-parent pair included in the Bayesian network is selected among a set of possible attribute- pa re nt pairs based on the evaluation of a score function 202.
[0057] The score function 202 is a function used for determining an optimal node corresponding to an attribute and / or an optimal edge corresponding to a dependency between attributes that is to be included in the Bayesian network 200 in the next iteration of the network learning step 201 .
[0058] In an exemplary embodiment, the score function 202 that is evaluated for the selection of attribute- pa re nt pairs is the maximum of the mutual information / (X,, fl;) among all attributes Xtnot yet added as nodes to the Bayesian network 200.
[0059] After every iteration of the network learning step 201 , a stop criterion is evaluated in step 203. In an exemplary embodiment, said stop criterion may be fulfilled when all attributes X1;...,Xdof the d attributes in the encrypted data set Dencr100 have been added as nodes in the Bayesian network 200 and when all attribute-parent pair relations in the network structure have been fixed. In case the stop criterion 203 is not fulfilled, e.g. if not all attributes are included as nodes in the Bayesian network or not all attributeparent pair relations in the network structure have been fixed, the structure of the machine learning model may be updated or changed.
[0060] If the stop criterion 203 has been fulfilled, the learning step 205 of the homomorphic machine learning algorithm 104 is performed. The learning step 205 comprises a repeated iteration of operations. Embodiments in which the homomorphic machine learning algorithm 104 comprises a Bayesian network 200, the learning step 205 is a distribution learning step 205. In said distribution learning step 205, the marginal and / or conditional probability distributions associated with each attribute-parent pair may be updated or changed.
[0061] After every iteration of the learning step 205, a stop criterion is evaluated in step 207. In an exemplary embodiment, said stop criterion may comprise the evaluation of a fixed number of iterations.
[0062] If the stop criterion 207 has been fulfilled, a low-dimensional representation Pencrof the marginal and / or conditional probability distributions describing the encrypted data set 100 is created in step 209. Noise is then injected into the machine learning model, said machine learning model here comprising the Bayesian network 200, the noise then being used in conjunction with the low-dimensional representation Pencrfor the following steps of the application 103 of the homomorphic machine learning algorithm.Advantageously, said injection of noise enables privacy for the resulting generated synthetic data while not requiring the server to access or modify the original data set 300. Said injection of noise leads to a synthetic data set generated in step 109 resembling the original data 300, wherein the synthetic data set does not allow for the inference of characteristic properties of the original data set 300.
[0063] In an exemplary embodiment, the learning step may be performed using a private or a non-private method. The learning step may comprise the generation of a lowdimensional representation Pencrof the marginal and / or conditional probability distributions associated with the Bayesian network 200. If the chosen method for the learning step is a private method, the generation of this low-dimensional representation may further comprise the injection of noise into the Bayesian network 200 in step 209.
[0064] In an exemplary embodiment, said noise injected in step 209 may be Laplace noise, wherein Laplace noise denotes noise sampled from a Laplace distribution.
[0065] After the noise has been injected into the homomorphic machine learning model 104, the server 101 provides 106 the encrypted learnable parameters 105, including pencr,of the homomorphic machine learning model. In case that the homomorphic machine learning model comprises a Bayesian network 200, said encrypted learnable parameters 105 include the set of nodes and edges of the Bayesian network 200 and the marginal and conditional probability distributions associated with said nodes and edges.
[0066] In a preferred embodiment, the homomorphic machine learning algorithm implements an algorithm for private data release as described by Zhang et al. in such a manner that the algorithm can receive encrypted data as input and process the data in its encrypted form in accordance with a homomorphic encryption scheme.
[0067] In an alternative exemplary embodiment, the homomorphic machine learning algorithm 104 comprises a homomorphic implementation of a variational autoencoder neural network. In a further exemplary embodiment, the homomorphic machine learning algorithm 104 combines a variational autoencoder and a generative adversarial network, in particular a combination wherein generative adversarial network comprises an encoder module, a generator module and a discriminator module, wherein the generator module comprises the variational autoencoder. Advantageously, said combination may be used to overcome the mode collapse problem present in generative adversarial networks, wherein the generator module generates examples from a small number of outputs relative to the number of outputs possible given the original data set 300, therefore not accurately representing the original data set 300.
[0068] In a further exemplary embodiment, the homomorphic machine learning algorithm 104 comprises a differentially private stochastic gradient descent (DPSGD) algorithm. In an exemplary embodiment, said DPSGD algorithm comprises the following method steps: training of a neural network, the calculation of a gradient for the minimization of a loss function, wherein the loss function depends on parameters of the neural network, and the injection of noise to ensure differential privacy, wherein said method steps are performed in accordance with a homomorphic encryption scheme.
[0069] In a preferred embodiment, the stop criterion of the homomorphic machine learning algorithm is specified by the execution of a fixed number of iterations of the method steps of the algorithm.
[0070] Fig. 3 is a flow chart of interactions between the server 101 and a computer device 301 of a user 302.
[0071] In step 303, an original data set 300 may be provided. The original data set 300 comprises multiple data records having a set of attributes. Each record of the original data set may comprise values of the set of attributes (or fields). The attribute, may for example, be of a type such as numeric type, string type, or Boolean type. The original data set 300 comprises data collected from real-world events, referred to as real-world data, e.g. measurement data, sensor data, and / or personal data. The original data set 300 may comprise sensitive data, such as personal data. Each record of the original data set 300 may represent a respective entity, e.g., the records of personal data may represent students where the set of attributes may comprise, age, student’s address, student’s ID, or the records may represent bank accounts, where the set of attributes may comprise amount of money, account holder, the name of the bank etc. The personal datamay represent medical data, e.g. the records may represent patients where the set of attributes may comprise, age, gender, expression values of biomarkers, the presence of cancer etc. The original data set 300 may, for example, comprise a table having a set of columns representing the set of attributes respectively. The original data set 300 may represent a field such as finance field, medical field or any other field that can be represented with the set of attributes. The terms “data record” and “record” are interchangeably used.
[0072] The original data set 300 provided in step 303 may be provided to the server 101 from a computer device 301 of a user 302. The term “user” may refer to an entity e.g., an individual, a computer, or an application executing on a computer. The computer device refer to a desktop computer, laptop, tablet or mobile device.
[0073] The present subject matter may provide different preprocessing techniques for providing the original data set 300. This may enable to improve the training process of the homomorphic machine learning algorithm 104. Exemplary embodiments of said preprocessing techniques comprise the reformatting of entries in the original data set 300, the normalization values in the original data set 300 and / or the conversion of the file format the original data set 300 is provided in into another file format.
[0074] In one example, records of the original data set 300 may be obtained from records which are received from one or more data sources. The data sources may, for example, be databases. For example, a query may be sent by the computer system to the one or more data sources and in response to the query, the computer system may receive records of the original data set 300. The computer system may create the table out of the received records. Alternatively, or additionally, records of the original data set 300 may be obtained from records which are derived or created by processing unstructured data such as web pages and PDF files.
[0075] In step 305, a data complexity function 305 is evaluated using the original data set 300 provided in step 303. In a preferred embodiment, the data complexity function 305 comprises a function dependent on the size and / or complexity of the original data set. For example, the data complexity function 305 may depend on the number of attributes d and / or the number of records in the original data set 300. In step 307, a data complexity value is received. In step 309, a switch criterion is evaluated based on the comparison of the data complexity value 307 and a complexity threshold 308. In case that the data complexity value 307 exceeds the complexity threshold 308, the original data set 300 isencrypted in step 311 using a public-key asymmetric encryption algorithm, wherein said public-key asymmetric encryption algorithm is compatible with a homomorphic encryption scheme. That is, an encrypted data set resulting from the encryption in step 311 can be processed by a homomorphic machine learning algorithm as described in step 103. The public-key asymmetric encryption algorithm of step 311 includes a public key used for encrypted the original data set 300 and obtaining the encrypted data 100, wherein said public key is available both the user 302 as well as the server 101. The encryption of step 311 further comprises a private key 108, wherein said private key 108 is stored on the computer device 301 of the user 302. After the encryption step 311 , the encrypted data set 100 is provided 102 to the server 101 and the homomorphic machine learning algorithm is applied in step 103 on the server 101. The encrypted learnable parameters 105 provided in step 106 are received by the computer device 301 of the user 302 from the server 101. In step 107, the user 302 decrypts the received encrypted learnable parameters 105 using the private key 108 stored on the computer device 301 of the user 302. The decrypted learnable parameters are then used in step 109 to generate synthetic data on the computer device 301 of the user 302.
[0076] In case the data complexity value 307 does not exceed the complexity threshold 308, the original data set 300 is not encrypted. In that case, the training of the machine learning model is performed on the computer device 301 of the user 302 using the unencrypted original data set 300 by application 103.2 of non-homomorphic machine learning algorithm 104.2 for data synthesis. An exemplary embodiment of said non- homomorphic machine learning algorithm for data synthesis is the PrivBayes algorithm. The user 302 is provided 313 the unencrypted learnable parameters of the machine learning model and use the unencrypted learnable parameters of the machine learning model to generate synthetic data 109 on the computer device 301 of the user 302.
[0077] Fig. 4 is a flowchart of the distributed computing approach 400, specifying the interactions between the server 101 and the computer device 301 of the user 302 given a maximum branch depth. In an exemplary embodiment, the maximum branch depth is provided by the computer device 301 of the user 302 to the server 102 in step 102 together with the providing of the encrypted data set 100 to the server 101. In an alternative embodiment, the maximum branch depth is set by the server 101 based on the available computational resources on the server 101. The application 103 of the homomorphic machine learning algorithm may be performed in a distributed manner, wherein intermediate results are sent to the computer device 301 of the user 302, a choice for a preferred branch is determined on the computer device 301 of the user, and theintermediate results of said preferred branch are subsequently further processed by the server 101 in their encrypted form. The distributed computing approach 400 is applicable at any step of the homomorphic machine learning algorithm 104, for example during the network learning step 201 and / or the distribution learning step 205 of a Bayesian network 200.
[0078] In step 103, the homomorphic group operations comprised by the application 103 of the homomorphic machine learning algorithm for data synthesis are performed as previously specified in Fig. 1 , Fig. 2 and Fig. 3. When the homomorphic machine learning algorithm 104 requires a decision, for example the evaluation of an if-else statement, the homomorphic machine learning algorithm 104 is said to encounter a branch. Said decision cannot be performed on the encrypted data set 100. Therefore, the application 103 of the homomorphic machine learning algorithm proceeds, wherein both options of the branch are evaluated, doubling the amount of operations. Exemplarily, if the following calculations lead to a further branch, the server 101 again evaluates both options of the branch. The amount of operations doubles again, thus increasing the total operations to be performed by a factor of 4. The resulting tree of possible options is referred to as a decision tree.
[0079] A parameter denoted as the maximum branch depth denotes a maximal value of branches to be evaluated simultaneously on the server 101. A parameter denoted as the branch depth is initialized to the value 0 when then encrypted data is provided to the server in step 102. The branch depth and maximum branch depth can take on arbitrary positive integer values, wherein the branch depth take also take on the value 0. In step 401 , when encountering a branch, it is first checking if this maximum branch depth has been reached. If the maximum branch depth has not been reached, the branch depth is incremented by 1 in step 403 and the application 103 of the homomorphic machine learning algorithm continues on the server 101 , proceeding to evaluate both options of the branch.
[0080] If the maximum branch depth has been reached, further calculations required for the homomorphic machine learning algorithm 104 are stopped, wherein the state of the computation on the encrypted data set 100 at the time at which the calculation is stopped is denoted as intermediate results. In step 405, said encrypted intermediate results for all branches of the computation are sent to the computer device 301 of the user 302. For a branch depth of b, there will computations performed on the server 101 for a total of 2bbranches. Exemplarily, for a maximum branch depth of 6, the encrypted intermediate results of all 26= 64 branches are sent to the computer device 301 of the user 302.
[0081] In step 407, the encrypted intermediate results of all branches sent to the computer device 301 of the user 302 in step 405 are decrypted, yielding decrypted intermediate results. In step 409, a preferred branch is determined from among the 2bbranches of the decision tree given by the intermediate results on the computer device 301 of the user 302. In an exemplary embodiment, the preferred branch may be determined based on the evaluation of the conditional statements in the respective decision tree. After the preferred branch has been determined, the intermediate results of said preferred branch are encrypted in step 411. In step 413, said encrypted intermediate results of the preferred branch are provided to the server 101 , wherein the application 103 of the homomorphic machine learning algorithm continues. In an exemplary embodiment, the remaining number of iterations to perform on the server 101 may be adapted and provided to the server 101 in step 413, to deviate from an originally provided number of iterations, for example the number of attributes d.
[0082] After the maximum branch depth has been reached, the branch depth is reset to a value of 0. This reset may be performed at any time after the execution of step 401 and before the further application 103 of the homomorphic machine learning algorithm after step 413.
[0083] Fig. 5 is a diagram of interactions between the server 101 and the computer device 301 of the user 302 located at an access-controlled site 500.
[0084] The computer device 301 of the user 302 may be located at an access-controlled site 500. An access-controlled site 500 may refer to any location for which access is limited to users able to verify their identity by interaction with an access-control device 502. In an exemplary embodiment, the access-controlled site 500 may refer to a government facility or ministery. In another exemplary embodiment, the access-controlled site 500 may refer to a hospital or clinic. In a further exemplary embodiment, the access-controlled site 500 may refer to a university, institute of higher education, research facility and / or corporate office.
[0085] In a preferred embodiment, the access-control device 502 may be required in order to ensure regulatory compliance, to adhere to data protection laws and / or to limit access to confidential, sensitive and / or personal data stored on the computer device 301. Exemplary embodiments of the access-control device 502 comprise a key, an identity card scanner and / or a fingerprint scanner. An identity card presented to an identity card scanner in said embodiment of the access-control device 502 may comprise a government-issuedidentity card, a corporate-issued identity card, an employee card, a membership card, a passport or a driver's license.
[0086] Fig. 6 is a block diagram of an exemplary computer system for implementing the present method in accordance with an example of the present subject matter. The computer system may include the computer device 301 of the user 302, wherein the computer device 301 may refer to a desktop computer, laptop, tablet or mobile device. The computer system may alternatively refer to the server 101 .
[0087] In a preferred embodiment, the computer system 702 includes the server 101 , the computer device 301 or the joint system of the server 101 and the computer device 301 . In operation, the computer system 702 may be configured to execute the interactions and the performance of the homomorphic machine learning algorithm as described in the preceding figures Fig. 1 to Fig. 5.
[0088] The components of the computer system 702 may include, but are not limited to, one or more processors or processing units 703, a storage system 711 , a memory unit 705, and a bus 707 that couples various system components including memory unit 705 to processor 703. The storage system 711 may include for example a hard disk drive (HDD). The memory unit 705 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory.
[0089] The computer system 702 may also communicate with one or more external devices such as a keyboard, a pointing device, a display 713, etc.; one or more devices that enable a user to interact with computer system 702; and / or any devices (e.g., network card, modem, etc.) that enable the computer system 702 to communicate with one or more other computing devices. Such communication can occur via I / O interface(s) 719. Still yet, the computer system 702 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet) via a network adapter 709. As depicted, the network adapter 709 communicates with the other components of the client system 702 via bus 707.
[0090] The memory unit 705 is configured to store applications that are executable on the processor 703. For example, the memory unit 705 may comprise an operating system as well as one or more application programs. The application programs comprise instructions that when executed enable to perform the method described with reference to Fig. 2.
[0091] As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as an apparatus, method, computer program or computer program product.Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer executable code embodied thereon. A computer program comprises the computer executable code or "program instructions".
[0092] The term “computer system” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also be or further include special purpose logic circuitry, e.g., a central processing unit (CPU), a FPGA (field programmable gate array), or an ASIC (application specific integrated circuit). In some implementations, the data processing apparatus and / or special purpose logic circuitry may be hardware-based and / or software-based. The apparatus can optionally include code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, for example LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS or any other suitable conventional operating system.
[0093] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable storage medium. A ‘computer- readable storage medium’ as used herein encompasses any tangible storage medium which may store instructions which are executable by a processor of a computing device. The computer-readable storage medium may be referred to as a computer-readable non- transitory storage medium. The computer-readable storage medium may also be referred to as a tangible computer readable medium. In some embodiments, a computer-readable storage medium may also be able to store data which is able to be accessed by the processor of the computing device.
[0094] ‘Computer memory’ or ‘memory’ is an example of a computer-readable storage medium. Computer memory is any memory which is directly accessible to a processor. ‘Computer storage’ or ‘storage’ is a further example of a computer-readable storage medium. Computer storage is any non-volatile computer-readable storage medium. In some embodiments computer storage may also be computer memory or vice versa.
[0095] A ‘processor’ as used herein encompasses an electronic component which is able to execute a program or machine executable instruction or computer executable code. References to the computing device comprising “a processor” should be interpreted as possibly containing more than one processor or processing core. The processor may for instance be a multi-core processor. A processor may also refer to a collection of processors within a single computer system or distributed amongst multiple computer systems. The term computing device should also be interpreted to possibly refer to a collection or network of computing devices each comprising a processor or processors. The computer executable code may be executed by multiple processors that may be within the same computing device or which may even be distributed across multiple computing devices.
[0096] Computer executable code may comprise machine executable instructions or a program which causes a processor to perform an aspect of the present invention. Computer executable code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages and compiled into machine executable instructions. In some instances the computer executable code may be in the form of a high level language or in a pre-compiled form and be used in conjunction with an interpreter which generates the machine executable instructions on the fly.
[0097] Generally, the program instructions can be executed on one processor or on several processors. In the case of multiple processors, they can be distributed over several different entities. Each processor could execute a portion of the instructions intended for that entity. Thus, when referring to a system or process involving multiple entities, the computer program or program instructions are understood to be adapted to be executed by a processor associated or related to the respective entity.
[0098] While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the invention is not limited to the disclosed examples.REFERENCE SIGNS LIST100 Encrypted data set101 Server102 Providing encrypted data set to server103 Application of a homomorphic machine learning algorithm for data synthesis103.2 Application of a non-homomorphic machine learning algorithm for data synthesis104 Homomorphic machine learning algorithm104.2 Non-homomorphic machine learning algorithm105 Encrypted learnable parameters106 Providing encrypted learnable parameters107 Decryption of encrypted learnable parameters108 Private key109 Generation of synthetic data200 Bayesian network201 Performing network learning step202 Score function203 Checking stop criterion of network learning step205 Performing learning step207 Checking stop criterion of distribution learning step209 Creating low-dimensional representation300 Original data set301 Computer device302 User303 Providing original data set305 Evaluating data complexity function307 Receiving data complexity value308 Complexity threshold309 Switch criterion311 Encryption of original data set313 Providing unencrypted learnable parameters400 Distributed computing approach401 Checking branch depth403 Incrementing branch depth405 Sending intermediate results of all branches407 Decryption of intermediate results of all branches409 Determining the preferred branch411 Encryption of intermediate results of preferred branch413 Providing encrypted intermediate results of preferred branch and number of iterations500 Access-controlled site502 Access-control device702 Computer system703 Processors 705 Memory unit707 Bus709 Network adapter711 Storage system713 External devices 719 I / O interface
Claims
CLAIMS1 . A method for training a machine learning model for generating synthetic data, the method comprising:Providing (102) an encrypted data set (100), resulting from encryption (311) of an original data set (300), to a server (101), the encrypted data set (100) comprising a set of entries, wherein each entry of the encrypted data set comprises values for a set of attributes Xlt...,Xd, d being the total amount of attributes,- Application (103) of a homomorphic machine learning algorithm for data synthesis (104) comprising a set of homomorphic group operations on the encrypted data set (100), such a homomorphic algorithm as understood herein encompasses any algorithm the execution of which causes the decrypted results to coincide with the results of applying the same homomorphic group operations on the original data set (300), the homomorphic machine learning algorithm comprising a set of method steps, including: o Constructing a machine learning model, o Training the machine learning model by repeated application of a set of homomorphic group operations to the encrypted data set, o Obtaining a set of encrypted learnable parameters of the machine learning model after a stop criterion has been reached.
2. The method according to claim 1 , wherein the encrypted data set (100) is provided to the server (101) by a user (302) from a computer device (301) of the user.
3. The method according to any of the preceding claims, wherein the encrypted data set (100) is generated by the user (302) from an original data set (300) by application of a public-key asymmetric encryption algorithm (311 ) in accordance with a homomorphic encryption scheme.
4. The method according to any of the preceding claims, wherein the server (101) provides (105) the set of encrypted learnable parameters (106) of the trained machine learning model to the user (302), followed by decryption (107) of the encrypted learnable parameters (106) of the trained machine learning model by the user (302) using a private key (108) stored on the device of the user.
5. The method according to any of the preceding claims, wherein the set of decrypted learnable parameters of the trained machine learning model is used by the user (302) to generate (109) synthetic data on the computer device (301) of the user (302), wherein the user (302) specifies the size of the generated synthetic data by providing a number of samples to be generated using the trained machine learning model.
6. The method according to any of the preceding claims, wherein the homomorphic machine learning algorithm (104) includes the learning of a Bayesian network (200), wherein nodes of the Bayesian network (200) correspond to attributes of the encrypted data set (100) and edges of the Bayesian network (200) correspond to dependencies among attributes of the encrypted data set (100).
7. A method according to any of the preceding claims, wherein a parameter k is provided to the server (101) by the user (302), this parameter determining the degree of the learned Bayesian network (200).
8. The method according to any of the preceding claims, wherein the method steps of the homomorphic machine learning algorithm (104) include a model learning step (201) and a distribution learning step (205).
9. The method according to any of the preceding claims, wherein the model learning step (201) comprises the repeated changing of the structure of the Bayesian network (200) model based on a score function (202).
10. The method according to any of the preceding claims, wherein the distribution learning step (205) comprises the repeated updating of the learnable parameters of the Bayesian network (200) to approximate the conditional probability distributions of attributes in the encrypted data set (100) based on a score function (202).11 . The method according to any of the preceding claims, wherein the score function (202) is the maximal mutual information between pairs (X,, FI,), comprising anattribute X, of the encrypted data set (100) and the associated parent set of attributes fit of said attribute XL, wherein the parent set of attributes is a subset of all attributes in the encrypted data set (100), excluding12. The method according to any of the preceding claims, wherein the homomorphic machine learning algorithm (104) comprises at least one of the following homomorphic algorithms for data synthesis: a homomorphic implementation of the PrivBayes algorithm; a homomorphic implementation of a variational autoencoder (VAE) algorithm; a homomorphic implementation of a generative adversarial network (GAN) algorithm; a homomorphic implementation of a differentially private stochastic gradient descent (DPSGD) algorithm; such that said algorithm can be applied to the encrypted data set (100) in accordance with a homomorphic encryption scheme.
13. The method according to any of the preceding claims, wherein a stop criterion (203) of the model learning step (201) may be fulfilled by adding a node for every attribute in the encrypted data set (100) to the Bayesian network and fixing the parent set of attributes for each attribute in the encrypted data set (100).
14. The method according to any of the preceding claims, wherein a stop criterion (207) of the distribution learning step (205) may be the execution of a fixed number of iterations, wherein the fixed number of iterations may depend on the number of entries in the original data set and / or the number of attributes d.
15. The method according to any of the preceding claims, wherein the application of the homomorphic machine learning model (103) is performed using a distributed computing approach (400), said distributed computing approach comprising:Providing (102) an encrypted data set (100), resulting from encryption (311) of an original data set (300), to a server (101),- Application (103) of the homomorphic machine learning algorithm for data synthesis,When encountering a branch in said application (103) of the homomorphic machine learning algorithm for data synthesis, checking (401) if a maximum branch depth has been reached,if the maximum branch depth has not been reached, incrementing (403) a branch depth by one, and continuing the application (103) of the homomorphic machine learning algorithm for data synthesis, if the maximum branch depth has been reached, sending (405) encrypted intermediate results of all branches to the computer device (301) of the user (302), decryption (407) of the encrypted intermediate results of all branches on the computer device (301) of the user (302), determining (409) a preferred branch, encrypting (411) intermediate results of the preferred branch, providing (413) encrypted intermediate results of the preferred branch to the server (101).
16. The method according to any of the preceding claims, wherein the providing (413) of the encrypted intermediate results of the preferred branch further comprise the providing of a number of iterations to be performed on the server (101).
17. The method according to any of the preceding claims, wherein the original data set(300) comprises real-world data, in particular personal data, and in particular wherein said personal data is provided as tabular data.
18. The method according to any of the preceding claims, wherein the computer device(301) of the user (302) may be located at an access-controlled site (500), wherein access is granted to the user (302) via an access-control device (502).
19. The method according to any of the preceding claims, wherein a data complexity function is evaluated (305) on the original data set (300) on the computer device (301) of the user (302), resulting in a data complexity value (307).
20. The method according to any of the preceding claims, wherein the construction and training of the machine learning model is performed on the computer device (301) of the user (302) using the original data set (300) if the data complexity value (307) does not exceed a complexity threshold (308).
21. A computer program stored on a computer system (702), wherein the execution of the computer program performs the method according to any of the preceding claims.
Citation Information
Patent Citations
Ai based system and method for secure data processing - applications in clinical workflow deployment and model training
EP3716122A1
Method and apparatus for generating synthetic data
EP3985540B1
Data model generation using generative adversarial networks
US20200065221A1