| CPC G06N 20/00 (2019.01) | 18 Claims |

|
1. A system, the system comprising:
at least one processor programmed or configured to:
perform an unadversarial training procedure to train a machine learning model to provide a trained machine learning model, wherein, when performing the unadversarial training procedure, the at least one processor is programmed or configured to:
receive a training dataset comprising a plurality of training samples;
generate a noise vector for the plurality of training samples based on a first uniform distribution;
perturb each training sample of the plurality of training samples based on the noise vector to provide a plurality of perturbed training samples;
obtain a gradient between a first output of the machine learning model that results from inputting each training sample of the plurality of training samples and a second output of the machine learning model that results from inputting each perturbed training sample of the plurality of perturbed training samples;
generate an updated noise vector based on the gradient;
perturb each training sample of the plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples; and
update a model weight of the machine learning model based on the second plurality of perturbed training samples to provide the trained machine learning model;
wherein, the trained machine learning model is a first trained machine learning model that exploits bias features of the training dataset to make predictions, and wherein the at least one processor is further programmed or configured to:
train a second machine learning model using a Product of Experts (POE) procedure based on the first trained machine learning model to provide improved predictions as compared to the first trained machine learning model.
|