Systems and methods for generating synthetic tabular data for machine learning and other applications
Systems and methods for generating synthetic tabular data for machine learning and other applications are provided. In some embodiments, a variational autoencoder is trained to learn inter-feature correlations found in tabular data collected from real data sources. The trained variational autoencoder is used to train a generator model of a Generative Adversarial Network (GAN) to generate synthetic tabular data that exhibits the inter-feature correlation distribution found in the tabular data collected from real data sources. In some embodiments, processing devices perform operations comprising: receiving a set of tabular data records, each record comprising a plurality of features; training a first machine learning model using the tabular data records to learn correlations between the plurality of features; and training a second machine learning model, using the first machine learning model, to generate a synthetic tabular data records based at least on the one or more correlations between the plurality of features.
1 . A system comprising:
a memory component; and
one or more processing devices coupled to the memory component, the one or more processing devices to perform operations comprising:
receiving a set of tabular data records, each tabular data record of the set of tabular data records comprising a plurality of features;
training a first machine learning model using the set of tabular data records to learn one or more correlations between the plurality of features, the first machine learning model comprising a variational autoencoder; and
training a second machine learning model, using the first machine learning model, to generate a set of synthetic tabular data records based at least on the one or more correlations between the plurality of features, the second machine learning model comprising a generative adversarial network that includes a generator model and a critic model, the variational autoencoder coupled between the generator model and the critic model.
2 . The system of claim 1 , wherein the first machine learning model comprises the variational autoencoder, the operations further comprising:
training the variational autoencoder to learn the one or more correlations between the plurality of features by iteratively:
producing a noised tabular data record sample by introducing a noise to a first tabular data record of the set of tabular data records, wherein the noise masks a feature of the first tabular data record;
generating a denoised tabular data record sample based on the noised tabular data record sample, wherein the denoised tabular data record sample comprises a prediction of the feature masked by the noise; and
adjusting the variational autoencoder based on a reconstruction loss computed from a difference between the denoised tabular data record sample and the first tabular data record of the set of tabular data records.
3 . The system of claim 1 , wherein the first machine learning model comprises the variational autoencoder and the second machine learning model comprises a generative adversarial network that includes a generator model and a critic model, the operations further comprising:
training the generative adversarial network using the variational autoencoder to generate the set of synthetic tabular data records by iteratively:
generating an initial synthetic tabular data record sample with the generator model, the initial synthetic tabular data record sample comprising the plurality of features;
producing a noised synthetic tabular data record sample by introducing a noise to the initial synthetic tabular data record sample, wherein the noise masks a feature of the initial synthetic tabular data record sample;
generating a denoised synthetic tabular data record sample using the variational autoencoder based on the noised synthetic tabular data record sample, wherein the denoised synthetic tabular data record sample comprises a prediction of the feature of the initial synthetic tabular data record sample masked by the noise; and
adjusting one or both of the generator model and the critic model based on a reconstruction loss computed from a difference between the denoised synthetic tabular data record sample and the initial synthetic tabular data record sample.
4 . The system of claim 3 , the operations further comprising:
adjusting the generator model based on a condition vector; and
generating the initial synthetic tabular data record sample by conditioning a first feature of the plurality of features based at least on the condition vector.
5 . The system of claim 4 , the operations further comprising:
computing the condition vector based at least in part on a distribution of the plurality of features within the set of tabular data records.
6 . The system of claim 3 , the operations further comprising:
storing the denoised synthetic tabular data record sample to a set of denoised synthetic tabular data records; and
determining the reconstruction loss at least in part based on a Pearson coefficient matrix computed based on the set of tabular data records and the set of denoised synthetic tabular data records.
7 . The system of claim 3 , the operations further comprising:
storing the denoised synthetic tabular data record sample to a set of denoised synthetic tabular data records;
determining a first distribution characteristic based on the set of tabular data records and determining a second distribution characteristic based on the set of denoised synthetic tabular data records, wherein the critic model computes a realness score using the first distribution characteristic and the second distribution characteristic; and
adjusting one or both of the generator model and the critic model based on a generator loss computed from the realness score.
8 . The system of claim 1 , wherein the second machine learning model comprises a generative adversarial network that includes a generator model and a critic model, the operations further comprising:
generating the set of synthetic tabular data records with the generator model; and
training a third machine model using the set of synthetic tabular data records.
9 . A method comprising:
producing a variational autoencoder by training an encoder-decoder machine learning model to learn one or more correlations between a plurality of features of a set of tabular data records based on noised tabular data record samples derived from the set of tabular data records;
producing a generative adversarial network that comprises a generator model, a critic model, and the variational autoencoder, wherein the variational autoencoder is coupled between the generator model and the critic model; and
training the generator model to generate a set of synthetic tabular data records based at least on the one or more correlations between the plurality of features using a first loss computed from an output of the variational autoencoder and a second loss computed from an output of the critic model.
10 . The method of claim 9 , further comprising:
training the encoder-decoder machine learning model to learn the one or more correlations between the plurality of features by iteratively:
producing a noised tabular data record sample by introducing a noise to a first tabular data record of the set of tabular data records, wherein the noise masks a feature of the first tabular data record;
generating a denoised tabular data record sample based on the noised tabular data record sample, wherein the denoised tabular data record sample comprises a prediction of the feature masked by the noise; and
adjusting the encoder-decoder machine learning model based on a reconstruction loss computed from a difference between the denoised tabular data record sample and the first tabular data record of the set of tabular data records.
11 . The method of claim 10 , further comprising:
designating a first feature of the plurality of features as a protected feature; and
wherein the first feature is not masked by the noise when training the encoder-decoder machine learning model.
12 . The method of claim 9 , further comprising:
training the generative adversarial network using the variational autoencoder to generate the set of synthetic tabular data records by iteratively:
generating an initial synthetic tabular data record sample with the generator model, the initial synthetic tabular data record sample comprising the plurality of features;
producing a noised synthetic tabular data record sample by introducing a noise to the initial synthetic tabular data record sample, wherein the noise masks a feature of the initial synthetic tabular data record sample;
generating a denoised synthetic tabular data record sample using the variational autoencoder based on the noised synthetic tabular data record sample, wherein the denoised synthetic tabular data record sample comprises a prediction of the feature of the initial synthetic tabular data record sample masked by the noise; and
adjusting one or both of the generator model and the critic model based on a reconstruction loss computed from a difference between the denoised synthetic tabular data record sample and the initial synthetic tabular data record sample.
13 . The method of claim 12 , further comprising:
storing the denoised synthetic tabular data record sample to a set of denoised synthetic tabular data records; and
determining the reconstruction loss at least in part based on a Pearson coefficient matrix computed based on the set of tabular data records and the set of denoised synthetic tabular data records.
14 . The method of claim 12 , further comprising:
storing the denoised synthetic tabular data record sample to a set of denoised synthetic tabular data records;
determining a first distribution characteristic based on the set of tabular data records and determining a second distribution characteristic based on the set of denoised synthetic tabular data records, wherein the critic model computes a realness score using the first distribution characteristic and the second distribution characteristic; and
adjusting one or both of the generator model and the critic model based on a generator loss computed from the realness score.
15 . The method of claim 12 , further comprising:
adjusting the generator model based on a condition vector; and
generating the initial synthetic tabular data record sample by conditioning a first feature of the plurality of features based at least on the condition vector.
16 . The method of claim 15 , further comprising:
computing the condition vector based at least in part on a distribution of the plurality of features within the set of tabular data records.
17 . A system comprising:
a memory component; and
one or more processing devices coupled to the memory component, the one or more processing devices to perform operations comprising:
executing a generator model, wherein the generator model was trained using a generative adversarial network architecture comprising the generator model, a critic model, and a denoising variational autoencoder coupled between the generator model and the critic model;
generating, using the generator model, a first set of synthetic tabular data records, wherein respective synthetic tabular data records individually comprise a plurality of features and having a first correlation between features of the plurality of features, the first correlation based at least in part on a second correlation between features of a second set of tabular data records, the generator model further trained to learn the second correlation based on a loss determined using the denoising variational autoencoder; and
storing the first set of synthetic tabular data records to a data store.
18 . The system of claim 17 , the operations further comprising:
executing a machine learning model training application to train a second machine learning model based at least on the first set of synthetic tabular data records.
19 . The system of claim 17 , the operations further comprising:
adjusting the generator model using a condition vector; and
generating the first set of synthetic tabular data records by conditioning a feature of the plurality of features based at least on the condition vector.