Systems, methods, and computer program products for reducing dataset bias in natural language inference tasks using non-adversarial training
By using non-adversarial training methods and expert product procedures to perturb training samples and update model weights, the problem of dataset bias affecting machine learning models during training is solved, thereby improving the model's generalization ability and accuracy.
Patent Information
- Application Number
- CN202380039492.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-10
- Filing Date
- 2023-05-10
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2043-05-10
AI Technical Summary
Machine learning models are susceptible to dataset bias during training, which can lead to a decrease in generalization ability outside the dataset and reduce the model's accuracy.
A non-adversarial training method is adopted, which generates noise vectors to perturb the training samples, calculates the gradient and updates the model weights, and combines the expert product (POE) procedure and the logits function to reduce dataset bias.
It effectively reduces dataset bias and improves the generalization ability and accuracy of machine learning models outside the dataset.
Smart Images

Figure CN119404233B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 340,132, filed May 10, 2022, the disclosure of which is incorporated herein by reference in its entirety. Background Technology 1. Technical Field
[0004] This disclosure generally relates to machine learning models, and in some non-limiting embodiments or aspects, to systems, methods, and computer program products for reducing dataset bias in natural language reasoning tasks using non-adversarial training.
[0005] 2. Technical considerations
[0006] Machine learning can refer to the field of computer science that uses statistical techniques to enable computer systems to learn a task (e.g., progressively improve the performance of a task) using a given dataset, without requiring the computer system to be programmed to perform the task. In some cases, machine learning models can be created for a specific dataset, allowing the machine learning model to perform tasks on that dataset (e.g., classification tasks).
[0007] Machine learning bias (e.g., algorithmic bias, artificial intelligence (AI) bias, etc.) refers to the phenomenon that occurs when a machine learning algorithm produces results that are systematically compromised due to flawed assumptions made during the generation of the machine learning model. Machine learning bias can stem from problems introduced by individuals who design (e.g., build, train, validate, etc.) machine learning systems that use the machine learning models. In some cases, individuals may create algorithms that reflect unintended cognitive biases and / or real-life prejudices, or in other cases, machine learning bias may be introduced because individuals use incomplete, flawed, and / or biased datasets to train and / or validate the machine learning system.
[0008] In some cases, machine learning models (such as natural language processing models) can be trained to perform tasks (e.g., natural language inference tasks) using a dataset. However, the dataset used to train such a machine learning model may contain dataset bias (e.g., machine learning bias present in the dataset), which can be detrimental during the training of the machine learning model. For example, dataset bias may cause the model to learn spurious correlations between instances in the dataset (e.g., false correlations, incorrect correlations, unimportant correlations, etc.), thus preventing the machine learning model from correctly learning the task. This can make it difficult for the machine learning model to generalize outside the dataset used to train the model, which reduces the accuracy of the machine learning model. Summary of the Invention
[0009] Therefore, systems, devices, products, apparatuses and / or methods for mitigating dataset bias while generating machine learning models for classification tasks using non-adversarial training are disclosed.
[0010] According to some non-limiting embodiments or aspects, a system is provided for generating machine learning models for a classification task using non-adversarial training. The system includes at least one processor programmed or configured to execute a non-adversarial training procedure to train the machine learning model to provide a trained machine learning model, wherein, when executing the non-adversarial training procedure, the at least one processor is further programmed and / or configured to receive a training dataset comprising a plurality of training samples. The at least one processor is further programmed and / or configured to generate noise vectors for the plurality of training samples based on a uniform distribution. The at least one processor is further programmed and / or configured to perturb each of the plurality of training samples based on the noise vectors to provide a plurality of perturbed training samples. The at least one processor is further programmed and / or configured to obtain a gradient between a first output of the machine learning model generated from inputs to each of the plurality of training samples and a second output of the machine learning model generated from inputs to each of the plurality of perturbed training samples. The at least one processor is further programmed and / or configured to generate an updated noise vector based on the gradient. At least one processor is further programmed and / or configured to perturb each of a plurality of training samples based on an updated noise vector to provide a second plurality of perturbated training samples. At least one processor is further programmed and / or configured to update the model weights of a machine learning model based on the second plurality of perturbated training samples to provide a trained machine learning model.
[0011] In some non-limiting embodiments or aspects, when generating noise vectors for multiple training samples, at least one processor is programmed and / or configured to initialize the noise vectors using a first uniform distribution. In some non-limiting embodiments or aspects, when initializing the noise vectors, at least one processor is programmed and / or configured to multiply the first uniform distribution by a predefined radius to provide a second uniform distribution. In some non-limiting embodiments or aspects, when initializing the noise vectors, at least one processor is programmed and / or configured to divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide initial values for the noise vectors.
[0012] In some non-limiting embodiments or aspects, when generating the updated noise vector, at least one processor is programmed and / or configured to multiply the gradient by the step size.
[0013] In some non-limiting embodiments or aspects, at least one processor is programmed and / or configured to limit the value of the updated noise vector based on a predefined radius to provide a second updated noise vector. In some non-limiting embodiments or aspects, when perturbing each of a plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples, at least one processor is programmed and / or configured to perturble each of the plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0014] In some non-limiting embodiments or aspects, the trained machine learning model is a first trained machine learning model. In some non-limiting embodiments or aspects, the processor is programmed and / or configured to train a second machine learning model based on the first trained machine learning model using a Product of Experts (POE) procedure.
[0015] In some non-limiting embodiments or aspects, when training a second machine learning model using a POE procedure, at least one processor is further programmed and / or configured to generate unnormalized output from a first trained machine learning model based on multiple training samples from the training dataset. In some non-limiting embodiments or aspects, when training a second machine learning model using a POE procedure, at least one processor is further programmed and / or configured to generate unnormalized output from a second machine learning model based on multiple training samples from the training dataset. In some non-limiting embodiments or aspects, when training a second machine learning model using a POE procedure, at least one processor is further programmed and / or configured to combine the unnormalized output from the first trained machine learning model and the unnormalized output from the second machine learning model to provide a combined unnormalized output. In some non-limiting embodiments or aspects, when training a second machine learning model using a POE procedure, at least one processor is further programmed and / or configured to update the model weights of the second machine learning model based on the combined unnormalized output to provide the second trained machine learning model.
[0016] In some non-limiting embodiments or aspects, when a first trained machine learning model generates a non-normalized output based on multiple training samples from a training dataset, at least one processor is programmed and / or configured to generate the output of the first trained machine learning model using a first logits function based on the multiple training samples from the training dataset. In some non-limiting embodiments or aspects, when a second machine learning model generates a non-normalized output based on multiple training samples from a training dataset, at least one processor is programmed and / or configured to generate the output of a second trained machine learning model using a second logits function based on the multiple training samples from the training dataset. In some non-limiting embodiments or aspects, when combining the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide a combined non-normalized output, at least one processor is programmed and / or configured to combine the output of the first trained machine learning model using the first logits function based on multiple training samples from the training dataset and the output of the second machine learning model using the second logits function based on multiple training samples from the training dataset to provide a combined output. In some non-limiting embodiments or aspects, when the model weights of the second machine learning model are updated based on the combined nonnormalized output to provide a second trained machine learning model, at least one processor is further programmed or configured to update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0017] According to a non-limiting embodiment or aspect, a computer-implemented method is provided for generating a machine learning model for a classification task using non-adversarial training. The method includes executing a non-adversarial training procedure by at least one processor to train the machine learning model to provide a trained machine learning model. In some non-limiting embodiments or aspects, the method further includes receiving a training dataset comprising a plurality of training samples. The method further includes generating a noise vector for the plurality of training samples based on a uniform distribution. The method further includes perturbing each of the plurality of training samples based on the noise vector to provide a plurality of perturbed training samples. The method further includes obtaining a gradient between a first output of the machine learning model generated from each of the plurality of training samples and a second output of the machine learning model generated from each of the plurality of perturbed training samples. The method further includes generating an updated noise vector based on the gradient. The method further includes perturbing each of the plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples. The method further includes updating the model weights of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0018] In some non-limiting embodiments or aspects, where the method generates a noise vector for multiple training samples, the method further includes initializing the noise vector using a uniform distribution. In some non-limiting embodiments or aspects, where the method initializes the noise vector, the method further includes multiplying a first uniform distribution by a predefined radius to provide a second uniform distribution; and dividing the second uniform distribution by the square root of the input embedding size of the machine learning model to provide initial values for the noise vector.
[0019] In some non-limiting embodiments or aspects, when generating the updated noise vector, the method further includes multiplying the gradient by a step size.
[0020] In some non-limiting embodiments or aspects, the method further includes limiting the value of the updated noise vector based on a predefined radius to provide a second updated noise vector; wherein when perturbing each of a plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples, the method further includes: perturbing each of a plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0021] In some non-limiting embodiments or aspects, the trained machine learning model is a first trained machine learning model, and the method further includes using a POE procedure to train a second machine learning model based on the first trained machine learning model.
[0022] In some non-limiting embodiments or aspects, wherein when training a second machine learning model using a POE procedure, the method further includes: generating a non-normalized output from a first trained machine learning model based on a plurality of training samples from a training dataset; generating a non-normalized output from a second machine learning model based on a plurality of training samples from a training dataset; combining the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide a combined non-normalized output; and updating the model weights of the second machine learning model based on the combined non-normalized output to provide a second trained machine learning model.
[0023] In some non-limiting embodiments or aspects, wherein when a plurality of training samples based on a training dataset generate a non-normalized output from a first trained machine learning model, the method further includes generating the output of the first trained machine learning model using a first logits function based on the plurality of training samples based on the training dataset.
[0024] In some non-limiting embodiments or aspects, where the method further includes generating a non-normalized output from a second machine learning model based on multiple training samples from the training dataset using a second logits function, the method further includes generating the output of the second machine learning model based on the multiple training samples from the training dataset.
[0025] In some non-limiting embodiments or aspects, wherein when combining the non-normalized output from a first trained machine learning model and the non-normalized output from a second machine learning model to provide a combined non-normalized output, the method further includes combining the output of the first trained machine learning model using a first logits function on a plurality of training samples from the training dataset and the output of the second machine learning model using a second logits function on a plurality of training samples from the training dataset to provide a combined output.
[0026] In some non-limiting embodiments or aspects, wherein when the model weights of the second machine learning model are updated based on the combined nonnormalized output to provide a second trained machine learning model, the method further includes updating the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0027] According to a non-limiting embodiment or aspect, a computer program product is provided for generating a machine learning model for a classification task using non-adversarial training. The computer program product includes at least one non-transitory computer-readable medium, the at least one non-transitory computer-readable medium including one or more instructions, which, when executed by at least one processor, cause the at least one processor to perform a non-adversarial training procedure to train the machine learning model to provide a trained machine learning model. In some non-limiting embodiments or aspects, when executing the non-adversarial training procedure, the one or more instructions further cause the at least one processor to receive a training dataset comprising a plurality of training samples; and generate a noise vector for the plurality of training samples based on a uniform distribution. In some non-limiting embodiments or aspects, when executing the non-adversarial training procedure, the one or more instructions further cause the at least one processor to perturb each of the plurality of training samples based on the noise vector to provide a plurality of perturbed training samples. In some non-limiting embodiments or aspects, when executing the non-adversarial training procedure, the one or more instructions further cause the at least one processor to obtain a gradient between a first output of the machine learning model generated from inputs to each of the plurality of training samples and a second output of the machine learning model generated from inputs to each of the plurality of perturbed training samples. In some non-limiting embodiments or aspects, when performing a non-adversarial training procedure, one or more instructions further cause at least one processor to generate an updated noise vector based on gradients; and to perturb each of a plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples. In some non-limiting embodiments or aspects, when performing a non-adversarial training procedure, one or more instructions further cause at least one processor to update the model weights of a machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0028] In some non-limiting embodiments or aspects, wherein when generating a noise vector for a plurality of training samples, one or more instructions further cause at least one processor to: initialize the noise vector using a uniform distribution, wherein, when initializing the noise vector, one or more instructions cause at least one processor to: multiply a first uniform distribution by a predefined radius to provide a second uniform distribution; and divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
[0029] In some non-limiting embodiments or aspects, when generating the updated noise vector, one or more instructions further cause at least one processor to multiply the gradient by the step size.
[0030] In some non-limiting embodiments or aspects, wherein one or more instructions further cause at least one processor to: limit the value of the updated noise vector based on a predefined radius to provide a second updated noise vector; and wherein when each of a plurality of training samples is perturbed based on the updated noise vector to provide a second plurality of perturbed training samples, one or more instructions cause at least one processor to: perturb each of a plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0031] In some non-limiting embodiments or aspects, the trained machine learning model is a first trained machine learning model, and one or more instructions further cause at least one processor to: train a second machine learning model based on the first trained machine learning model using a POE procedure. In some non-limiting embodiments or aspects, wherein when training the second machine learning model using a POE procedure, one or more instructions further cause at least one processor to: generate unnormalized outputs from the first trained machine learning model based on a plurality of training samples from the training dataset; generate unnormalized outputs from the second machine learning model based on a plurality of training samples from the training dataset; combine the unnormalized outputs from the first trained machine learning model and the unnormalized outputs from the second machine learning model to provide a combined unnormalized output; and update the model weights of the second machine learning model based on the combined unnormalized output to provide the second trained machine learning model.
[0032] In some non-limiting embodiments or aspects, wherein when a plurality of training samples based on a training dataset generate a non-normalized output from a first trained machine learning model, one or more instructions further cause at least one processor to: generate the output of the first trained machine learning model using a first logits function based on the plurality of training samples from the training dataset. In some non-limiting embodiments or aspects, wherein when a plurality of training samples based on a training dataset generate a non-normalized output from a second machine learning model, one or more instructions further cause at least one processor to: generate the output of a second machine learning model using a second logits function based on the plurality of training samples from the training dataset. In some non-limiting embodiments or aspects, wherein when combining the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide a combined non-normalized output, one or more instructions further cause at least one processor to: combine the output of the first trained machine learning model using the first logits function based on the plurality of training samples from the training dataset and the output of the second machine learning model using the second logits function based on the plurality of training samples from the training dataset to provide a combined output. In some non-limiting embodiments or aspects, wherein when the model weights of the second machine learning model are updated based on the combined nonnormalized output to provide a second trained machine learning model, one or more instructions further cause at least one processor to: update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0033] Other non-restrictive implementation schemes or aspects are set forth in the following numbered clauses:
[0034] Clause 1: A system comprising: at least one processor programmed or configured to: execute a non-adversarial training procedure to train a machine learning model to provide a trained machine learning model, wherein, when executing the non-adversarial 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 uniform distribution; perturb each 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 a machine learning model generated from inputs to each of the plurality of training samples and a second output of a machine learning model generated from inputs to each of the plurality of perturbed training samples; generate an updated noise vector based on the gradient; perturb each of the plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples; and update the model weights of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0035] Clause 2: The system of Clause 1, wherein when generating a noise vector for a plurality of training samples, at least one processor is programmed or configured to: initialize the noise vector with a uniform distribution, wherein when initializing the noise vector, at least one processor is programmed or configured to: multiply a first uniform distribution by a predefined radius to provide a second uniform distribution; and divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
[0036] Clause 3: A system as described in Clause 1 or 2, wherein when generating an updated noise vector, at least one processor is programmed or configured to multiply the gradient by the step size.
[0037] Clause 4: A system as described in any one of Clauses 1 to 3, wherein at least one processor is further programmed or configured to: limit the value of an updated noise vector based on a predefined radius to provide a second updated noise vector; and wherein when each of a plurality of training samples is perturbed based on the updated noise vector to provide a second plurality of perturbed training samples, at least one processor is programmed or configured to: perturb each of a plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0038] Clause 5: A system as described in any of Clauses 1 to 4, wherein the trained machine learning model is a first trained machine learning model, and wherein at least one processor is further programmed or configured to train a second machine learning model based on the first trained machine learning model using an expert product (POE) procedure.
[0039] Clause 6: A system as described in any one of Clauses 1 to 5, wherein, when training a second machine learning model using a POE procedure, at least one processor is further programmed or configured to: generate unnormalized outputs from a first trained machine learning model based on a plurality of training samples from a training dataset; generate unnormalized outputs from a second machine learning model based on a plurality of training samples from a training dataset; combine the unnormalized outputs from the first trained machine learning model and the unnormalized outputs from the second machine learning model to provide a combined unnormalized output; and update the model weights of the second machine learning model based on the combined unnormalized outputs to provide the second trained machine learning model.
[0040] Clause 7: A system as described in any one of Clauses 1 to 6, wherein when multiple training samples from a first trained machine learning model generate a non-normalized output based on a training dataset, at least one processor is programmed or configured to: generate the output of the first trained machine learning model using a first logits function based on the multiple training samples from the training dataset; wherein when multiple training samples from a second machine learning model generate a non-normalized output based on a training dataset, at least one processor is programmed or configured to: generate the output of a second machine learning model using a second logits function based on the multiple training samples from the training dataset; wherein when combining the non-normalized output from the first trained machine learning model and the non-normalized output from the second trained machine learning model... When the nonnormalized output of a machine learning model is used to provide a combined nonnormalized output, at least one processor is programmed or configured to: combine the output of a first trained machine learning model using a first logits function on a plurality of training samples from a training dataset and the output of a second machine learning model using a second logits function on a plurality of training samples from a training dataset to provide a combined output; and wherein, when the model weights of the second machine learning model are updated based on the combined nonnormalized output to provide a second trained machine learning model, at least one processor is further programmed or configured to: update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0041] Clause 8: A computer-implemented method comprising: executing a non-adversarial training procedure by at least one processor to train a machine learning model to provide a trained machine learning model, wherein executing the non-adversarial training procedure includes: receiving a training dataset comprising a plurality of training samples; generating a noise vector for the plurality of training samples based on a uniform distribution; perturbing each of the plurality of training samples based on the noise vector to provide a plurality of perturbed training samples; obtaining a gradient between a first output of a machine learning model generated from inputs to each of the plurality of training samples and a second output of a machine learning model generated from inputs to each of the plurality of perturbed training samples; generating an updated noise vector based on the gradient; perturbing each of the plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples; and updating the model weights of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0042] Clause 9: The computer-implemented method of Clause 8, wherein generating a noise vector for a plurality of training samples comprises: initializing the noise vector using a uniform distribution, wherein initializing the noise vector comprises: multiplying a first uniform distribution by a predefined radius to provide a second uniform distribution; and dividing the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
[0043] Clause 10: A computer-implemented method as described in Clause 8 or 9, wherein generating the updated noise vector comprises multiplying the gradient by a step size.
[0044] Clause 11: A computer-implemented method as described in any of Clauses 8 to 10, further comprising: limiting the value of an updated noise vector based on a predefined radius to provide a second updated noise vector; wherein perturbing each of a plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples comprises: perturbing each of a plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0045] Clause 12: A computer-implemented method as described in any of Clauses 8 to 11, wherein the trained machine learning model is a first trained machine learning model, and wherein said method further comprises: training a second machine learning model based on the first trained machine learning model using an expert product (POE) procedure.
[0046] Clause 13: A computer-implemented method as described in any of Clauses 8 to 12, wherein using a POE procedure to train a second machine learning model comprises: generating a nonnormalized output from a first trained machine learning model based on a plurality of training samples from a training dataset; generating a nonnormalized output from a second machine learning model based on a plurality of training samples from a training dataset; combining the nonnormalized output from the first trained machine learning model and the nonnormalized output from the second machine learning model to provide a combined nonnormalized output; and updating the model weights of the second machine learning model based on the combined nonnormalized output to provide a second trained machine learning model.
[0047] Clause 14: A computer-implemented method as described in any of Clauses 8 to 13, wherein generating a non-normalized output from a first trained machine learning model based on a plurality of training samples from a training dataset comprises: generating the output of the first trained machine learning model using a first logits function based on the plurality of training samples from the training dataset; wherein generating a non-normalized output from a second machine learning model based on a plurality of training samples from a training dataset comprises: generating the output of a second trained machine learning model using a second logits function based on the plurality of training samples from the training dataset; wherein combining the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide a combined non-normalized output comprises: combining the output of the first trained machine learning model using the first logits function based on the plurality of training samples from the training dataset and the output of the second machine learning model using the second logits function based on the plurality of training samples from the training dataset to provide a combined output; and wherein updating the model weights of the second machine learning model based on the combined non-normalized output to provide a second trained machine learning model comprises: updating the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0048] Clause 15: A computer program product comprising at least one non-transitory computer-readable medium, the at least one non-transitory computer-readable medium comprising one or more instructions, which, when executed by at least one processor, cause at least one processor to: perform a non-adversarial training procedure to train a machine learning model to provide a trained machine learning model, wherein, when performing the non-adversarial training procedure, the one or more instructions cause at least one processor to: receive a training dataset comprising a plurality of training samples; generate a noise vector for the plurality of training samples based on a uniform distribution; perturb each 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 a machine learning model generated from inputs to each of the plurality of training samples and a second output of a machine learning model generated from inputs to each of the plurality of perturbed training samples; generate an updated noise vector based on the gradient; and perturb each of the plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples; and update the model weights of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0049] Clause 16: A computer program product as described in Clause 15, wherein when generating a noise vector for a plurality of training samples, one or more instructions cause at least one processor to: initialize the noise vector with a uniform distribution, wherein when initializing the noise vector, one or more instructions cause at least one processor to: multiply a first uniform distribution by a predefined radius to provide a second uniform distribution; and divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
[0050] Clause 17: A computer program product as described in Clause 15 or 16, wherein, when generating an updated noise vector, one or more instructions cause at least one processor to multiply the gradient by a step size.
[0051] Clause 18: A computer program product of any of Clauses 15 to 17, wherein one or more instructions further cause at least one processor to: limit the value of an updated noise vector based on a predefined radius to provide a second updated noise vector; and wherein when each of a plurality of training samples is perturbed based on the updated noise vector to provide a second plurality of perturbed training samples, one or more instructions cause at least one processor to: perturb each of a plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0052] Clause 19: A computer program product of any of Clauses 15 to 18, wherein the trained machine learning model is a first trained machine learning model, and wherein one or more instructions cause at least one processor to: train a second machine learning model based on the first trained machine learning model using an Expert Product (POE) procedure; wherein when the second machine learning model is trained using the POE procedure, one or more instructions cause at least one processor to: generate a non-normalized output from the first trained machine learning model based on a plurality of training samples from a training dataset; generate a non-normalized output from the second machine learning model based on a plurality of training samples from a training dataset; combine the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide a combined non-normalized output; and update the model weights of the second machine learning model based on the combined non-normalized output to provide the second trained machine learning model.
[0053] Clause 20: A computer program product of any one of Clauses 15 to 19, wherein, when a plurality of training samples based on a training dataset generate a non-normalized output from a first trained machine learning model, one or more instructions cause at least one processor to: generate the output of the first trained machine learning model using a first logits function based on the plurality of training samples based on the training dataset; wherein, when a plurality of training samples based on a training dataset generate a non-normalized output from a second machine learning model, one or more instructions cause at least one processor to: generate the output of a second trained machine learning model using a second logits function based on the plurality of training samples based on the training dataset; wherein, when combining the non-normalized output from the first trained machine learning model... When providing a combined nonnormalized output from a second machine learning model, one or more instructions cause at least one processor to: combine the output of a first trained machine learning model using a first logits function on a plurality of training samples from a training dataset and the output of a second trained machine learning model using a second logits function on a plurality of training samples from a training dataset to provide a combined output; and wherein, when updating the model weights of the second machine learning model based on the combined nonnormalized output to provide a second trained machine learning model, one or more instructions cause at least one processor to: update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0054] These and other features and characteristics of this disclosure, as well as the operational methods and manufacturing economies of combinations of related structural elements and parts, will become more apparent when considered in conjunction with the accompanying drawings, all of which form part of this specification, wherein similar reference numerals in the drawings denote corresponding parts. However, it should be clearly understood that the drawings are for illustrative and descriptive purposes only and are not intended to be construed as limiting the scope of this disclosure. Unless the context clearly requires otherwise, the singular forms “a” and “described” as used in this specification and claims include plural indicators. Attached Figure Description
[0055] Additional advantages and details of this disclosure are explained in more detail below with reference to exemplary embodiments illustrated in the accompanying drawings, in which:
[0056] Figure 1 A diagram showing a non-limiting embodiment or aspect of an environment in which the systems, devices, products, apparatuses and / or methods described herein can be implemented based on the principles of this disclosure;
[0057] Figure 2 yes Figure 1 A diagram of a non-limiting embodiment or aspect of a component of one or more devices;
[0058] Figure 3 A flowchart is a non-limiting implementation or aspect of a process for mitigating dataset bias while generating machine learning models for classification tasks; and
[0059] Figures 4A to 4O It is a diagram of a non-restrictive implementation or aspect of a process for mitigating dataset bias while generating machine learning models for classification tasks. Detailed Implementation
[0060] For descriptive purposes, the terms “end,” “upper,” “lower,” “right,” “left,” “vertical,” “horizontal,” “top,” “bottom,” “lateral,” “longitudinal,” and their derivatives are intended to refer to the orientation of this disclosure as shown in the accompanying drawings. However, it should be understood that this disclosure may take various alternative variations and sequences of steps, except where expressly specified otherwise. It should also be understood that the specific devices and processes illustrated in the drawings and described in the following description are merely exemplary embodiments or aspects of this disclosure. Therefore, unless otherwise indicated, specific dimensions and other physical characteristics relating to embodiments or aspects of embodiments disclosed herein should not be considered limiting.
[0061] The terms aspect, component, element, structure, action, step, function, instruction, etc., used herein should not be construed as critical or necessary unless explicitly stated otherwise. Furthermore, as used herein, the article “a” is intended to include one or more items and may be used interchangeably with “one or more” and “at least one.” Additionally, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and may be used interchangeably with “one or more” or “at least one.” The term “a” or similar language is used where only one item is intended. Moreover, as used herein, the term “having” and / or its equivalents are intended to be open-ended terms. Additionally, unless explicitly stated otherwise, the phrase “based on” is intended to mean “at least partially based on.” Where appropriate, the phrase “based on” may also mean “in response to.”
[0062] As used herein, the terms "communication" and "transmission" can refer to the receiving, sending, transmitting, or providing of information (e.g., data, signals, messages, instructions, commands, etc.). Communication between one unit (e.g., a device, system, component of a device or system, or a combination thereof) and another unit means that the first unit is able to receive information directly or indirectly from and / or transmit (e.g., send) information to the other unit. This can refer to a direct or indirect connection that is inherently wired and / or wireless. Furthermore, although the transmitted information may be modified, processed, relayed, and / or routed between the first and second units, the two units can also communicate with each other. For example, the first unit can communicate with the second unit even if it passively receives information and does not actively send information to the second unit. As another example, the first unit can communicate with the second unit if at least one intermediate unit (e.g., a third unit located between the first and second units) processes information received from the first unit and sends the processed information to the second unit. In some non-limiting embodiments or aspects, a message can refer to a network packet (e.g., a data packet, etc.) that includes data.
[0063] As used herein, the term "transaction service provider" can refer to an entity that receives transaction authorization requests from merchants or other entities and, in some cases, provides payment guarantees through an agreement between the transaction service provider and the issuing entity. For example, a transaction service provider may include payment networks such as Visa®, MasterCard®, American Express®, or any other entity that processes transactions. As used herein, the term "transaction service provider system" can refer to one or more computer systems operated by or on behalf of the transaction service provider, such as a transaction service provider system executing one or more software applications. A transaction service provider system may include one or more processors and, in some non-limiting embodiments or aspects, may be operated by or on behalf of the transaction service provider.
[0064] As used herein, the terms "client" and "client device" can refer to one or more computing devices, such as processors, storage devices, and / or similar computer components that access services that can be provided by a server. In some non-limiting embodiments or aspects, a client device can include computing devices configured to communicate with one or more networks and / or facilitate transactions, such as, but not limited to, one or more desktop computers, one or more portable computers (e.g., tablet computers), one or more mobile devices (e.g., cellular phones, smartphones, personal digital assistants, wearable devices such as watches, glasses, lenses, and / or clothing), and / or other similar devices. Furthermore, the term "client" can also refer to an entity that owns, uses, and / or operates a client device to facilitate transactions with another entity.
[0065] As used herein, the term "server" can refer to one or more computing devices, such as processors, storage devices, and / or similar computer components, that communicate with client devices and / or other computing devices on a network such as the Internet or a private network, and in some examples, facilitate communication between other servers and / or client devices.
[0066] As used herein, the term "system" may refer to one or more computing devices or combinations of computing devices, such as, but not limited to, processors, servers, client devices, software applications, and / or other similar components. Furthermore, as used herein, references to "server" or "processor" may refer to the server and / or processor previously stated to perform the preceding steps or functions, different servers and / or processors, and / or combinations of servers and / or processors. For example, as used in the specification and claims, a first server and / or first processor stated to perform a first step or function may refer to the same or different servers and / or processors stated to perform a second step or function.
[0067] Systems, methods, and computer program products are provided for mitigating dataset bias while generating machine learning models for classification tasks. Non-limiting embodiments or aspects of this disclosure may include a system comprising: at least one processor programmed or configured to: execute a non-adversarial training procedure to train a machine learning model to provide a trained machine learning model, wherein, when executing the non-adversarial training procedure, the processor is programmed or configured to: receive a training dataset comprising a plurality of training samples; generate noise vectors for the plurality of training samples based on a uniform distribution; perturb each of the plurality of training samples based on the noise vectors to provide a plurality of perturbed training samples; obtain a gradient between a first output of the machine learning model generated from each of the plurality of training samples and a second output of the machine learning model generated from each of the plurality of perturbed training samples; generate an updated noise vector based on the gradient; perturble each of the plurality of training samples based on the updated noise vectors to provide a second plurality of perturbed training samples; and update the model weights of the machine learning model based on the second plurality of perturbed training samples to provide a trained machine learning model.
[0068] In some non-limiting embodiments or aspects, when generating noise vectors for multiple training samples, at least one processor is programmed or configured to initialize the noise vectors using a uniform distribution. In some non-limiting embodiments or aspects, when initializing the noise vectors, at least one processor is programmed or configured to multiply a first uniform distribution by a predefined radius to provide a second uniform distribution; and divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide initial values for the noise vectors.
[0069] In some non-limiting embodiments or aspects, when generating the updated noise vector, at least one processor is programmed or configured to multiply the gradient by the step size.
[0070] In some non-limiting embodiments or aspects, at least one processor is further programmed or configured to limit the value of the updated noise vector based on a predefined radius to provide a second updated noise vector. In some non-limiting embodiments or aspects, when perturbing each of a plurality of training samples based on the updated noise vector to provide a second plurality of perturbed training samples, at least one processor is programmed or configured to perturb each of the plurality of training samples based on the second updated noise vector to provide a second plurality of perturbed training samples.
[0071] In some non-limiting embodiments or aspects, the trained machine learning model is a first trained machine learning model, and at least one processor is further programmed or configured to train a second machine learning model based on the first trained machine learning model using an expert product (POE) procedure.
[0072] In some non-limiting embodiments or aspects, when training a second machine learning model using a POE procedure, at least one processor is further programmed or configured to: generate unnormalized outputs from a first trained machine learning model based on a plurality of training samples from a training dataset; generate unnormalized outputs from a second machine learning model based on a plurality of training samples from a training dataset; combine the unnormalized outputs from the first trained machine learning model and the unnormalized outputs from the second machine learning model to provide a combined unnormalized output; and update the model weights of the second machine learning model based on the combined unnormalized outputs to provide the second trained machine learning model.
[0073] In some non-limiting embodiments or aspects, when a first trained machine learning model generates a non-normalized output based on multiple training samples from a training dataset, at least one processor is programmed or configured to generate the output of the first trained machine learning model using a first logits function based on the multiple training samples from the training dataset. In some non-limiting embodiments or aspects, when a second machine learning model generates a non-normalized output based on multiple training samples from a training dataset, at least one processor is programmed or configured to generate the output of a second trained machine learning model using a second logits function based on the multiple training samples from the training dataset. In some non-limiting embodiments or aspects, when combining the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide a combined non-normalized output, at least one processor is programmed or configured to combine the output of the first trained machine learning model using the first logits function based on multiple training samples from the training dataset and the output of the second trained machine learning model using the second logits function based on multiple training samples from the training dataset to provide a combined output. In some non-limiting embodiments or aspects, when updating the model weights of the second machine learning model based on the combined nonnormalized output to provide a second trained machine learning model, at least one processor is further programmed or configured to update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0074] In this manner, non-limiting embodiments or aspects of this disclosure use non-adversarial training to generate biased machine learning models. By applying non-adversarial training, the machine learning model can learn from the biases in the training dataset and utilize the bias features of the training dataset for prediction. Compared to machine learning models trained using adversarial training, machine learning models trained using non-adversarial training may rely more on the dataset biases contained in the training dataset. Furthermore, applying non-adversarial training to multiple training samples of the training dataset can strengthen the correct behavior of the machine learning model and enhance the characteristics that help the machine learning model make accurate predictions. Additionally, combining non-adversarial training with a PoE procedure can produce a more robust and accurate second-trained machine learning model by improving the performance of the second-trained machine learning model (e.g., a student model). Training the student model using a PoE procedure (e.g., using the first-trained machine learning model as guidance for training the second machine learning model) can improve the second machine learning model by making its predictions more accurate.
[0075] Now for reference Figure 1 A diagram illustrating an exemplary environment 100 in which the devices, systems, and / or methods described herein may be implemented. Figure 1As shown, environment 100 includes machine learning model system 102, database 108, user equipment 110, and communication network 112. Machine learning model system 102, database 108, and / or user equipment 110 can be interconnected (e.g., establishing connections for communication) via wired connections, wireless connections, or a combination of wired and wireless connections.
[0076] Machine learning model system 102 may include one or more devices configured to communicate with database 108 and / or user equipment 110 via communication network 112. For example, machine learning model system 102 may include servers, server clusters, and / or other similar devices. In some non-limiting embodiments or aspects, machine learning model system 102 may be associated with a transaction service provider system, as described herein.
[0077] In some non-limiting embodiments or aspects, the machine learning model system 102 may include a teacher model 104 and / or a student model 106. In some non-limiting embodiments or aspects, the teacher model 104 may include one or more machine learning models. In some non-limiting embodiments or aspects, the teacher model 104 may include one or more machine learning models that can be trained and subsequently used to teach (e.g., trained using transfer learning, knowledge distillation, etc.) the student model 106 using various techniques such as PoE, defocus loss, and example reweighting. The trained teacher model can be used to teach the student model 106 to make the same predictions as the trained teacher model.
[0078] In some non-limiting embodiments or aspects, the machine learning model system 102 can generate (e.g., train, validate, retrain, etc.), store, and / or implement (e.g., operate, provide inputs to one or more machine learning models, and / or outputs from one or more machine learning models, etc.) one or more machine learning models. For example, the machine learning model system 102 can generate, store, and / or implement teacher model 104 and / or student model 106. In some non-limiting embodiments or aspects, the machine learning model system 102 can communicate with a data storage device, which can be local or remote. In some non-limiting embodiments or aspects, the machine learning model system 102 is capable of receiving information from database 108, storing information in database 108, transmitting information to database 108, and / or searching for information stored in database 108.
[0079] Database 108 may include one or more devices configured to communicate with machine learning model system 102 and / or user equipment 110 via communication network 112. For example, database 108 may include computing devices such as servers, server clusters, and / or other similar devices. In some non-limiting embodiments or aspects, database 108 may be associated with the transaction service provider system discussed herein.
[0080] User equipment 110 may include computing devices configured to communicate with machine learning model system 102 and / or database 108 via communication network 112. For example, user equipment 110 may include computing devices such as desktop computers, portable computers (e.g., tablet computers, laptop computers, etc.), mobile devices (e.g., cellular phones, smartphones, personal digital assistants, wearable devices, etc.) and / or other similar devices. In some non-limiting embodiments or aspects, user equipment 110 may be associated with a user (e.g., an individual operating user equipment 110).
[0081] The communication network 112 may include one or more wired and / or wireless networks. For example, the communication network 112 may include cellular networks (e.g., Long Term Evolution (LTE) networks, third-generation (3G) networks, fourth-generation (4G) networks, fifth-generation (5G) networks, Code Division Multiple Access (CDMA) networks, etc.), Public Land Mobile Networks (PLMN), Local Area Networks (LAN), Wide Area Networks (WAN), Metropolitan Area Networks (MAN), Telephone Networks (e.g., Public Switched Telephone Network (PSTN), etc.), Private Networks, Ad Hoc Networks, Intranets, the Internet, Fiber-based Networks, Cloud Computing Networks, etc., and / or combinations of some or all of these or other types of networks.
[0082] supply Figure 1 The number and arrangement of devices and networks shown are for illustrative purposes only. It is possible that... Figure 1 The devices and / or networks shown are those that, compared to additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks arranged differently. Furthermore, Figure 1 The two or more devices shown can be implemented within a single device, or Figure 1 The single device shown may be implemented as multiple distributed devices. Alternatively, a group of devices in environment 100 (e.g., one or more devices) may perform one or more functions described as being performed by another group of devices in environment 100.
[0083] Now for reference Figure 2The diagram illustrates exemplary components of device 200. Device 200 may correspond to machine learning model system 102 (e.g., one or more devices of machine learning model system 102), database 108 (e.g., one or more devices of database 108), and / or user device 110. In some non-limiting embodiments or aspects, machine learning model system 102, database 108, and / or user device 110 may include at least one device 200 and / or at least one component of device 200. Figure 2 As shown, device 200 may include bus 202, processor 204, memory 206, storage unit 208, input unit 210, output unit 212 and communication interface 214.
[0084] Bus 202 may include components that enable communication between parts of device 200. In some non-limiting embodiments or aspects, processor 204 may be implemented in hardware, software, or a combination of hardware and software. For example, processor 204 may include processors (e.g., central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), etc.), microprocessors, digital signal processors (DSPs), and / or any processing unit that can be programmed to perform functions (e.g., field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), etc.). Memory 206 may include random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static memory (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by processor 204.
[0085] Storage component 208 may store information and / or software related to the operation and use of device 200. For example, storage component 208 may include hard disk (e.g., magnetic disk, optical disk, magneto-optical disk, solid-state disk, etc.), compressed optical disk (CD), digital versatile optical disk (DVD), floppy disk, cassette tape, magnetic tape and / or another type of computer-readable medium, and corresponding drives.
[0086] Input component 210 may include components that allow device 200 to receive information, such as via user input (e.g., touchscreen display, keyboard, keypad, mouse, buttons, switches, microphone, etc.). Alternatively, input component 210 may include sensors for sensing information (e.g., Global Positioning System (GPS) components, accelerometers, gyroscopes, actuators, etc.). Output component 212 may include components that provide output information from device 200 (e.g., display, speaker, one or more light-emitting diodes (LEDs), etc.).
[0087] Communication interface 214 may include transceiver components (e.g., a transceiver, a separate receiver, and a transmitter) that enable device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 214 may allow device 200 to receive information from another device and / or provide information to another device. For example, communication interface 214 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi® interface, a cellular network interface, etc.
[0088] Device 200 can perform one or more of the processes described herein. Device 200 can perform these processes based on software instructions stored in a computer-readable medium, such as memory 206 and / or storage unit 208, executed by processor 204. A computer-readable medium (e.g., a non-transitory computer-readable medium) is defined herein as a non-transitory memory device. A non-transitory memory device includes memory space located within a single physical storage device or memory space distributed across multiple physical storage devices.
[0089] Software instructions can be read from another computer-readable medium or from another device into memory 206 and / or storage unit 208 via communication interface 214. When executed, the software instructions stored in memory 206 and / or storage unit 208 can cause processor 204 to perform one or more processes described herein. Alternatively or additionally, hard-wired circuitry can be used in place of or in combination with the software instructions to perform one or more processes described herein. Therefore, the embodiments or aspects described herein are not limited to any particular combination of hardware circuitry and software.
[0090] supply Figure 2 The number and arrangement of components shown are for illustrative purposes only. In some non-limiting embodiments or aspects, device 200 may include components related to... Figure 2 The components shown are compared to additional components, fewer components, different components, or components arranged differently. Alternatively, a group of components (e.g., one or more components) of device 200 may perform one or more functions described as being performed by another group of components of device 200.
[0091] Now for reference Figure 3This is a flowchart of a non-limiting embodiment or aspect of a process 300 for mitigating dataset bias while generating a machine learning model for a classification task. In some non-limiting embodiments or aspects, one or more steps of process 300 may be performed (e.g., entirely, partially, etc.) by the machine learning model system 102 (e.g., one or more devices of the machine learning model system 102). In some non-limiting embodiments or aspects, one or more steps of process 300 may be performed (e.g., entirely, partially, etc.) by another device or group of devices separate from or including the machine learning model system 102 (e.g., one or more devices of the machine learning model system 102), the database 108 (e.g., one or more devices of the database 108), and / or the user device 110.
[0092] like Figure 3 As shown, at step 302, process 300 includes receiving a training dataset. For example, machine learning model system 102 may receive (e.g., from database 108) a training dataset for training one or more machine learning models. In some non-limiting embodiments or aspects, the training dataset may include dataset bias. In some non-limiting embodiments or aspects, the training dataset may include multiple training samples. In some non-limiting embodiments or aspects, each of the multiple training samples in the training dataset may be labeled. In some non-limiting embodiments or aspects, the multiple training samples may be multiple input embeddings (e.g., embedding vectors). In some non-limiting embodiments or aspects, the multiple input embeddings may be word embeddings. In some non-limiting embodiments or aspects, the training dataset may be stored in a storage component and / or stored in database 108.
[0093] In some non-limiting embodiments or aspects, when receiving a training dataset, the machine learning model system 102 may provide the training dataset as input to one or more machine learning models. For example, when receiving a training dataset, the machine learning model system 102 may provide the training dataset as input to teacher model 104 and / or student model 106. In some non-limiting embodiments or aspects, the machine learning model system 102 may receive a training dataset corresponding to the outputs from one or more machine learning models. In some non-limiting embodiments or aspects, the machine learning model system 102 may input a training dataset corresponding to the outputs from one or more machine learning models into another one or more machine learning models. For example, the machine learning model system 102 may receive a training dataset corresponding to the outputs of a trained machine learning model, wherein the outputs may be provided as input to teacher model 104 and / or student model 106.
[0094] In some non-limiting embodiments or aspects, the machine learning model system 102 may use machine learning techniques to analyze a training dataset to train and provide trained teacher models and / or trained student models. Machine learning techniques may include, for example, supervised learning, unsupervised learning, adversarial training, non-adversarial training, PoE procedures, defocusing loss, example reweighting, etc. For example, the machine learning model system 102 may use machine learning techniques to analyze a training dataset to train teacher model 104 and / or student model 106 and provide trained teacher models and / or trained student models.
[0095] In some non-limiting embodiments or aspects, the multiple training samples may include one or more sentences (e.g., sentence pairs), one or more images, one or more videos, one or more transactions, etc. In some non-limiting embodiments or aspects, each training sample in the training dataset may represent an institution (e.g., an issuer, bank, merchant, etc.). In some non-limiting embodiments or aspects, each training sample in the training dataset may be associated with an event (e.g., a transaction, account opening, fund transfer, etc.). In some non-limiting embodiments or aspects, each training sample may be received in real-time relative to an event. In some non-limiting embodiments or aspects, each training sample may include transaction data associated with an electronic payment transaction. In some non-limiting embodiments or aspects, the transaction data may include transaction parameters associated with the electronic payment transaction. Transaction parameters may include e-wallet card data associated with an e-card (e.g., e-credit card, e-debit card, e-membership card, etc.), decision data associated with decisions (e.g., decisions to approve or reject transaction authorization requests), authorization data associated with authorization responses (e.g., approved spending limits, approved transaction values, etc.), master account (PAN), authorization code (e.g., personal identification number, etc.), data associated with transaction amount (e.g., approved limits, transaction value, etc.), data associated with transaction date and time, data associated with currency exchange rates, data associated with merchant type (e.g., goods, groceries, fuel, etc.), data associated with the acquiring institution's country, data associated with the identifier of the country associated with the PAN, data associated with response codes, data associated with merchant identifiers (e.g., merchant name, merchant location, etc.), and data associated with the currency type corresponding to the funds stored in association with the PAN, etc. In some non-limiting embodiments or aspects, each of the multiple training samples may be stored and compiled into a training dataset for future training.
[0096] In some non-limiting embodiments or aspects, the machine learning model system 102 can generate multiple input embeddings. For example, the machine learning model system 102 can generate multiple input embedding vectors based on multiple training samples of a training dataset using one or more machine learning models. Additionally or alternatively, the multiple training samples can be input embedding vectors. In some non-limiting embodiments or aspects, each of the multiple input embedding vectors can have an input embedding size (e.g., the length of the input embedding vector). In some non-limiting embodiments or aspects, the input embedding size can be the input embedding size of one or more machine learning models of the machine learning model system 102.
[0097] like Figure 3 As shown, in step 304, process 300 includes generating a noise vector. For example, the machine learning model system 102 may generate a noise vector when receiving a training dataset. In some non-limiting embodiments or aspects, the machine learning model system 102 may generate noise vectors for multiple training samples. For example, the machine learning model system 102 may generate noise vectors for multiple training samples based on a uniform distribution.
[0098] In some non-limiting embodiments or aspects, when generating a noise vector, the machine learning model system 102 can initialize a noise vector for multiple training samples. For example, the machine learning model system 102 can initialize (e.g., randomize using a known cryptographic method) a noise vector for multiple training samples, wherein the magnitude (e.g., length) of the noise vector can be equal to the input embedding size of the machine learning model of the machine learning model system 102. In some non-limiting embodiments or aspects, the machine learning model system 102 can initialize the noise vector using a uniform distribution. For example, when generating a noise vector for multiple training samples, the machine learning model system 102 can initialize the noise vector for multiple training samples using a uniform distribution. In some non-limiting embodiments or aspects, when initializing a noise vector for multiple training samples, the machine learning model system 102 can multiply the uniform distribution by a predefined radius. In some non-limiting embodiments or aspects, the predefined radius can be smaller than the magnitude of the noise vector. For example, the machine learning model system 102 can multiply the uniform distribution by a predefined radius to provide a second uniform distribution for the multiple training samples. In some non-limiting embodiments or aspects, when initializing a noise vector for multiple training samples, the machine learning model system 102 may divide a second uniform distribution by the square root of the input embedding size of the machine learning model. For example, when initializing a noise vector for multiple training samples, the machine learning model system 102 may divide a second uniform distribution by the square root of the input embedding size of the machine learning model to provide initial values for the noise vector.
[0099] In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of a plurality of training samples. In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of a plurality of training samples based on a noise vector. For example, the machine learning model system 102 may perturb each of a plurality of training samples based on a noise vector to provide a plurality of perturbed training samples. In some non-limiting embodiments or aspects, when perturbing each of a plurality of training samples, the machine learning model system 102 may add a noise vector to each of the plurality of training samples.
[0100] like Figure 3 As shown, at step 306, process 300 includes obtaining a gradient. For example, machine learning model system 102 can obtain a gradient. In some non-limiting embodiments or aspects, the gradient can be the derivative (e.g., partial derivative) of a function (e.g., a loss function) having more than one input variable (e.g., multiple training samples and / or multiple perturbed training samples). For example, machine learning model system 102 can obtain (e.g., compute) the gradient of a function (e.g., a loss function), where the input variables can be multiple training samples and / or multiple perturbed training samples. In some non-limiting embodiments or aspects, machine learning model system 102 can obtain a gradient with respect to a noise vector. For example, machine learning model system 102 can obtain a gradient with respect to a noise vector based on multiple training samples and / or multiple perturbed training samples.
[0101] In some non-limiting embodiments or aspects, the machine learning model system 102 can determine the direction of the gradient. In some non-limiting embodiments or aspects, the direction of the gradient can be the direction (e.g., a direction of movement) of a vector that starts from one of a plurality of training samples and ends at a corresponding perturbed training sample in a plurality of perturbed training samples.
[0102] In some non-limiting embodiments or aspects, the machine learning model system 102 can obtain the gradient between a first output and a second output of the machine learning model. In some non-limiting embodiments or aspects, the first output of the machine learning model can be generated by inputting each of a plurality of training samples into the machine learning model. In some non-limiting embodiments or aspects, the second output of the machine learning model can be generated by inputting each of a plurality of perturbed training samples into the machine learning model.
[0103] like Figure 3As shown, in step 308, process 300 includes generating an updated noise vector. For example, machine learning model system 102 can generate an updated noise vector. In some non-limiting embodiments or aspects, machine learning model system 102 can generate the updated noise vector based on gradients.
[0104] In some non-limiting embodiments or aspects, when generating an updated noise vector, the machine learning model system 102 may multiply the gradient by a step size. For example, the machine learning model system 102 may multiply the gradient by a step size to normalize the direction of the gradient. In some non-limiting embodiments or aspects, the value of the step size may be positive or negative. In some non-limiting embodiments or aspects, the value of the step size may be manipulated to minimize or maximize the loss function (e.g., by changing the direction of the gradient). In some non-limiting embodiments or aspects, the step size may be multiplied by -1 to minimize the training loss.
[0105] In some non-limiting embodiments or aspects, the machine learning model system 102 may restrict the value of the updated noise vector. For example, the machine learning model system 102 may restrict (e.g., clamp) the value of the updated noise vector. In some non-limiting embodiments or aspects, the machine learning model system 102 may restrict the value of the updated noise vector based on a predefined radius to provide a second updated noise vector.
[0106] In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of a plurality of training samples based on an updated noise vector. For example, the machine learning model system 102 may perturb each of a plurality of training samples based on an updated noise vector to provide a second plurality of perturbated training samples. In some non-limiting embodiments or aspects, when perturbing each of a plurality of training samples based on an updated noise vector to provide a second plurality of perturbated training samples, the machine learning model system 102 may perturb each of a plurality of training samples based on a second updated noise vector to provide a second plurality of perturbated training samples. In some non-limiting embodiments or aspects, the machine learning model system 102 may perturb each of a plurality of training samples by adding an updated noise vector to the plurality of training samples.
[0107] like Figure 3As shown, in step 310, process 300 includes updating the model weights of the machine learning model. For example, machine learning model system 102 may update the model weights of teacher model 104 based on a second plurality of perturbed training samples to provide trained machine learning. In some non-limiting embodiments or aspects, the trained machine learning model may be a first trained machine learning model. In some non-limiting embodiments or aspects, the first trained machine learning model may be teacher model 104.
[0108] In some non-limiting embodiments or aspects, the machine learning model system 102 may use a PoE procedure to train a second machine learning model. The PoE procedure may be an ensemble method for combining predictions from at least two models (e.g., a first biased model (e.g., a teacher model) and a second biased model (e.g., a student model) with less bias than the first biased model). The PoE procedure may use the predictions of the first trained model (e.g., teacher model 104) as guidance for training the second model (e.g., student model 106). In some non-limiting embodiments or aspects, the machine learning model system 102 may use a PoE procedure to train a second machine learning model based on the first trained machine learning model. For example, the machine learning model system 102 may use a PoE procedure to train the student model 106 based on the trained teacher model 104.
[0109] In some non-limiting embodiments or aspects, when training a second machine learning model using the POE procedure, the machine learning model system 102 can generate non-normalized outputs from the first trained machine learning model. For example, when training a student model 106 using the POE procedure, the machine learning model system 102 can generate non-normalized outputs from the trained teacher model 104 based on multiple training samples from the training dataset.
[0110] In some non-limiting embodiments or aspects, when training a second machine learning model using a POE procedure, the machine learning model system 102 can generate non-normalized output from the second machine learning model. For example, when training a student model 106 using a POE procedure, the machine learning model system 102 can generate non-normalized output from the student model 106 based on multiple training samples from the training dataset.
[0111] In some non-limiting embodiments or aspects, the machine learning model system 102 may combine the non-normalized output from a first trained machine learning model and the non-normalized output from a second machine learning model to provide a combined non-normalized output. For example, the machine learning model system 102 may combine the non-normalized output from a trained teacher model 104 and the non-normalized output from a student model 106 to provide a combined non-normalized output.
[0112] In some non-limiting embodiments or aspects, the machine learning model system 102 can update the model weights of the second machine learning model. For example, the machine learning model system 102 can update the model weights of the student model 106 based on the combined non-normalized output to provide a trained student model 106.
[0113] In some non-limiting embodiments or aspects, when a first trained machine learning model generates a non-normalized output based on multiple training samples from the training dataset, the machine learning model system 102 can use a first logits function to generate the output of the first trained machine learning model. For example, when a trained teacher model 104 generates a non-normalized output based on multiple training samples from the training dataset, the machine learning model system 102 can use the first logits function to generate the output of the trained teacher model 104 based on multiple training samples from the training dataset.
[0114] In some non-limiting embodiments or aspects, when a second machine learning model generates a non-normalized output based on multiple training samples from the training dataset, the machine learning model system 102 can use a second logits function to generate the output of the second trained machine learning model. For example, when a student model 106 generates a non-normalized output based on multiple training samples from the training dataset, the machine learning model system 102 can use the second logits function to generate the output of the student model 106 based on the multiple training samples from the training dataset.
[0115] In some non-limiting embodiments or aspects, when combining the unnormalized output from a first trained machine learning model and the unnormalized output from a second machine learning model to provide a combined unnormalized output, the machine learning model system 102 may combine the output of the first trained machine learning model using a first logits function on multiple training samples from the training dataset and the output of the second machine learning model using a second logits function on multiple training samples from the training dataset to provide a combined output. For example, when combining the unnormalized output from a trained teacher model 104 and the unnormalized output from a student model 106 to provide a combined unnormalized output, the machine learning model system 102 may combine the output of the trained teacher model 104 using a first logits function on multiple training samples from the training dataset and the output of the student model 106 using a second logits function on multiple training samples from the training dataset to provide a combined output.
[0116] In some non-limiting embodiments or aspects, when updating the model weights of a second machine learning model based on the combined non-normalized output to provide a second trained machine learning model, the machine learning model system 102 may update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model. For example, when updating the model weights of student model 106 based on the combined non-normalized output to provide a trained student model 106, the machine learning model system 102 may update the model weights of student model 106 based on the combined output to provide a trained student model 106.
[0117] In some non-limiting embodiments or aspects, the machine learning model system 102 can train one or more machine learning models to perform one or more tasks. For example, the machine learning model system 102 can train teacher model 104 and / or student model 106 to perform one or more tasks. In some non-limiting embodiments or aspects, one or more tasks may include natural language reasoning processing tasks. For example, the machine learning model system 102 can train teacher model 104 and / or student model 106 to determine a reasoning relation between a pair of sentences (e.g., premises and assumptions). In some non-limiting embodiments or aspects, the reasoning relation may be one of implication (e.g., premises and assumptions are similar), contradiction (e.g., premises and assumptions are dissimilar), and / or neutral (e.g., premises and assumptions are neither similar nor contradictory).
[0118] In some non-limiting embodiments or aspects, the machine learning model system 102 may use transformer-based machine learning techniques for natural language processing to train one or more machine learning models. In some non-limiting embodiments or aspects, the machine learning model system 102 may use non-adversarial training techniques to train the teacher model 104. In some non-limiting embodiments or aspects, the machine learning model system 102 may use a PoE procedure to train the student model 106. In some non-limiting embodiments or aspects, the teacher model 104 and / or the student model 106 may be bidirectional encoder representations from transformers (BERT) models. In some non-limiting embodiments or aspects, the BERT model may be trained on two natural language processing tasks, such as masked language modeling and next-sentence prediction.
[0119] In some non-limiting embodiments or aspects, the machine learning model system 102 can validate one or more machine learning models. For example, after training one or more machine learning models, the machine learning model system 102 can validate one or more machine learning models. In some non-limiting embodiments or aspects, the machine learning model system 102 can validate one or more machine learning models based on a validation threshold.
[0120] In some non-limiting embodiments or aspects, the machine learning model system 102 may store one or more trained machine learning models. For example, the machine learning model system 102 may store trained teacher models and / or trained student models in a data structure (e.g., a database). The data structure may be located within the machine learning model system 102 or outside the machine learning model system 102 (e.g., remotely from the machine learning model system).
[0121] Now for reference Figures 4A to 4O A diagram illustrates an implementation 400 of a process (e.g., process 300) for mitigating dataset bias while generating machine learning models for classification tasks. Figures 4A to 4O As shown, implementation 400 may include one or more steps of the execution process of the machine learning model system 102 (e.g., one or more devices of the machine learning model system 102). In some non-limiting embodiments or aspects, the machine learning model system 102 may use non-adversarial training to train one or more machine learning models. For example, the machine learning model system 102 may be as follows: Figures 4B to 4I The diagram illustrates the use of non-adversarial training to train one or more machine learning models. In some non-limiting embodiments or aspects, the machine learning model system 102 may use a PoE procedure to train one or more machine learning models. For example, the machine learning model system 102 may be as follows: Figures 4J to 4O The example shows the use of the POE program to train one or more machine learning models.
[0122] like Figure 4A As shown, in step 410, the machine learning model system 102 may receive a training dataset (e.g., [x1, x2… xm]). In some non-limiting embodiments or aspects, the training dataset may be a multi-genre natural language inference (MNLI) dataset. In some non-limiting embodiments or aspects, the machine learning model system 102 may receive the training dataset [x1, x2… xm] from the database 108.
[0123] In some non-limiting implementations or aspects, a training dataset [x1, x2… xm] can be used to train one or more machine learning models.
[0124] In some non-limiting embodiments or aspects, one or more machine learning models may be defined by a function f having parameters θ. In some non-limiting embodiments or aspects, the training dataset may include multiple training samples (e.g., xi). In some non-limiting embodiments or aspects, multiple training samples may be labeled. In some non-limiting embodiments or aspects, the multiple training samples xi may be input embedding vectors. For example, the multiple training samples may be word embeddings. In some non-limiting embodiments or aspects, the multiple training samples may have an input embedding size Li (e.g., the vector length of xi).
[0125] In some non-limiting embodiments or aspects, the machine learning model system 102 may use non-adversarial training techniques to analyze the training dataset [x1, x2… xm]. In some non-limiting embodiments or aspects, the non-adversarial training techniques may be based on known adversarial training techniques. For example, a known adversarial training procedure may be mimicked to perturb training samples of the training dataset (e.g., in a first direction) to increase the training loss. A non-adversarial training procedure may perturb multiple training samples of the training dataset (e.g., in a second direction) to reduce the training loss.
[0126] In some non-limiting embodiments or aspects, the machine learning model system 102 can perform a non-adversarial training procedure to train one or more machine learning models. For example, the machine learning model system 102 can perform a non-adversarial training procedure to train a teacher model 104 and provide a trained teacher model. Non-limiting embodiments or aspects of the non-adversarial training procedure for training the teacher model 104 include... Figures 4B to 4I As shown in the image.
[0127] like Figure 4B As shown, in step 412, the machine learning model system 102 can generate noise vectors for multiple training samples based on a uniform distribution. In some non-limiting embodiments or aspects, when generating noise vectors for multiple training samples, the machine learning model system 102 can initialize the noise vectors using a uniform distribution. For example, for each training sample xi in the multiple training samples, the machine learning model system 102 can initialize the noise vector δ using a uniform distribution. In some non-limiting embodiments or aspects, the size of the noise vector δ can be the same as the size Li of the input embedding. In some non-limiting embodiments or aspects, initializing the noise vector δ may include multiplying the uniform distribution by a predefined radius. This provides a second uniform distribution. In some non-limiting embodiments or aspects, initializing the noise vector δ may include dividing the second uniform distribution by the square root of the size of the input embedding Li. In some non-limiting embodiments or aspects, the noise vector δ may be initialized using a uniform distribution as follows:
[0128]
[0129] like Figure 4C As shown, in step 414, the machine learning model system 102 can perturb each training sample. For example, the machine learning model system 102 can perturb each training sample xi among multiple training samples based on a noise vector δ to provide multiple perturbated training samples. In some non-limiting embodiments or aspects, multiple training samples xi can be perturbed by adding a noise vector δ.
[0130] like Figure 4D As shown, in step 416, the machine learning model system 102 can obtain a gradient. For example, the machine learning model system 102 can obtain a gradient with respect to the noise vector δ. In some non-limiting embodiments or aspects, the machine learning model system 102 can obtain a gradient between a first output of the machine learning model generated from each of a plurality of training samples as input and a second output of the machine learning model generated from each of a plurality of perturbed training samples as input. For example, the gradient can be the difference between the loss obtained from the perturbed input (e.g., a plurality of training samples perturbed by a noise vector) and the plurality of training samples (e.g., labeled training samples).
[0131] like Figure 4E As shown, in step 418, the machine learning model system 102 can generate an updated noise vector. For example, the machine learning model system 102 can generate an updated noise vector δ based on the obtained gradient. In some non-limiting embodiments or aspects, the machine learning model system 102 can generate the noise vector δ by multiplying the gradient by a step size α. In some non-limiting embodiments or aspects, to minimize the training loss, the step size α can be multiplied by -1. In some non-limiting embodiments or aspects, the machine learning model system 102 can generate the updated noise vector δ based on the following (yi is the correct label (e.g., the label of the training sample)):
[0132]
[0133] like Figure 4F As shown, in step 420, the machine learning model system 102 can limit the value of the updated noise vector. For example, the machine learning system 102 can limit the value based on a predefined radius. To limit (e.g., clamp) the value of the updated noise vector δ to provide a second updated noise vector δ. In some non-limiting embodiments or aspects, the second updated noise vector may be generated based on:
[0134]
[0135] like Figure 4G As shown, in step 422, the machine learning model system 102 can perturb each training sample to provide a second plurality of perturbated training samples. For example, the machine learning model system 102 can perturb each training sample xi in the plurality of training samples based on the updated noise vector δ to provide a second plurality of perturbated training samples x. i. In some non-limiting embodiments or aspects, each training sample xi among multiple training samples can be updated based on the following by adding an updated noise vector δ:
[0136]
[0137] like Figure 4H As shown, in step 424, the machine learning model system 102 can update the model weights of the machine learning model. For example, the machine learning model system 102 can update the model weights based on a second set of perturbed training samples x. The model weights of the machine learning model are updated using the `i` parameter to provide the trained machine learning model. In some non-limiting implementations or aspects, the model weights of the machine learning model may be updated based on the following:
[0138]
[0139] like Figure 4I As shown, in step 426, the machine learning model system 102 can provide a first trained machine learning model. For example, the machine learning model system 102 can provide the first trained machine learning model based on updating the model weights of the machine learning model. In some non-limiting embodiments or aspects, the first trained machine learning model can be a teacher model 104.
[0140] like Figure 4J As shown, in step 428, the machine learning model system 102 can train a second machine learning model using a POE program. For example, the machine learning model system 102 can use a POE program to train one or more machine learning models. In some non-limiting embodiments or aspects, the machine learning model system 102 can use a POE program to train the student model 106 based on the trained teacher model. Figures 4J to 4O The diagram illustrates a non-limiting implementation or aspect of training a student model 106 using the POE procedure.
[0141] like Figure 4K As shown, in step 430, the machine learning model system 102 can generate the non-normalized output of the first trained machine learning model. For example, the machine learning model system 102 can generate the non-normalized output of the trained teacher model 104 based on inputting multiple training samples from the training dataset into the trained teacher model 104. In some non-limiting embodiments or aspects, when generating a non-normalized output from the first trained machine learning model based on multiple training samples from the training dataset, the machine learning model system 102 can generate the output of the first trained machine learning model based on multiple training samples xi from the training dataset using a first logits function (e.g., logitsbias). For example, the machine learning model system 102 can generate the output of the trained teacher model 104 based on the following:
[0142]
[0143] like Figure 4L As shown, in step 432, the machine learning model system 102 can generate the non-normalized output of the second machine learning model. For example, the machine learning model system 102 can generate the non-normalized output of the student model 106. In some non-limiting embodiments or aspects, when generating the non-normalized output from the second machine learning model based on multiple training samples of the training dataset, the machine learning model system 102 can use a second logits function (e.g., logitsbias) to generate the output of the second trained machine learning model based on multiple training samples xi of the training dataset. For example, the machine learning model system 102 can generate the output of the student model 106 based on the following:
[0144]
[0145] like Figure 4MAs shown, in step 434, the machine learning model system 102 can combine the unnormalized outputs. For example, the machine learning model system 102 can combine the unnormalized outputs from a first trained machine learning model and the outputs from a second machine learning model to provide a combined unnormalized output. In some non-limiting embodiments or aspects, when combining the unnormalized outputs from the first trained machine learning model and the second machine learning model to provide a combined unnormalized output, the machine learning model system 102 can combine the outputs of the first trained machine learning model using a first logits function on multiple training samples of the training dataset and the outputs of the second trained machine learning model using a second logits function on multiple training samples of the training dataset to provide a combined output. For example, the machine learning model system 102 can combine the outputs of a trained teacher model 104 using a first logits function (e.g., logitsbias) on multiple training samples of the training dataset and the outputs of a student model 106 using a second logits function (e.g., logitsmain) on multiple training samples of the training dataset to provide a combined output based on the following (e.g., logitscombined):
[0146]
[0147] like Figure 4N As shown, in step 436, the machine learning model system 102 can update the model weights of the second machine learning model. In some non-limiting embodiments or aspects, the machine learning model system 102 can update the weights of the second machine learning model based on the combined non-normalized output (e.g., logitscombined). For example, the machine learning model system 102 can update the weights of the student model 106 based on:
[0148]
[0149] like Figure 4O As shown, in step 438, the machine learning model system 102 can provide a second trained machine learning model. For example, the machine learning model system 102 can provide a trained student model 106. In some non-limiting embodiments or aspects, when updating the model weights of the second machine learning model based on the combined non-normalized output to provide a second trained machine learning model, the machine learning model system 102 can update the model weights of the second machine learning model based on the combined output to provide a second trained machine learning model.
[0150] In some non-limiting embodiments or aspects, the first machine learning model (e.g., the teacher model) and the second machine learning model (e.g., the student model) can be a transformer-based bidirectional encoder representation (BERT) model. In some non-limiting embodiments or aspects, the biased model (e.g., the teacher model) can be a BERT model with at least two layers and a hidden size of 128 (e.g., 128 hidden layers).
[0151] Although the above systems, methods, and computer program products have been described in detail for illustrative purposes based on embodiments currently considered most practical and preferred, it should be understood that such details are for the purposes described only, and this disclosure is not limited to the described embodiments. Rather, this disclosure is intended to cover modifications and equivalent arrangements that fall within the spirit and scope of the appended claims. For example, it should be understood that this disclosure contemplates, as far as possible, that one or more features of any embodiment or aspect may be combined with one or more features of any other embodiment or aspect.
Claims
1. A system for reducing dataset bias in natural language reasoning tasks using non-adversarial training, the system comprising: At least one processor, said at least one processor being programmed or configured to: A non-adversarial training procedure is executed to train a machine learning model to provide a trained machine learning model, wherein, when the non-adversarial training procedure is executed, the at least one processor is programmed or configured to: Receive a training dataset comprising multiple training samples, each of which includes transaction data associated with electronic payment transactions; Noise vectors are generated for the plurality of training samples based on a first uniform distribution; Each of the plurality of training samples is perturbed based on the noise vector to provide a plurality of perturbed training samples; Obtain the gradient between the first output of the machine learning model generated from each of the plurality of training samples and the second output of the machine learning model generated from each of the plurality of perturbed training samples; An updated noise vector is generated based on the gradient; Based on the updated noise vector, each of the plurality of training samples is perturbed to provide a second plurality of perturbed training samples; and The model weights of the machine learning model are updated based on the second plurality of perturbed training samples to provide the trained machine learning model.
2. The system as claimed in claim 1, wherein, When generating the noise vector for the plurality of training samples, the at least one processor is programmed or configured to: The noise vector is initialized using a uniform distribution, wherein, when initializing the noise vector, the at least one processor is programmed or configured to: Multiply the first uniform distribution by a predefined radius to provide a second uniform distribution; and Divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
3. The system as described in claim 1, wherein, When generating the updated noise vector, the at least one processor is programmed or configured to: Multiply the gradient by the step size.
4. The system of claim 1, wherein the at least one processor is further programmed or configured to: The updated noise vector is constrained based on a predefined radius to provide a second updated noise vector; and in, When each of the plurality of training samples is perturbed based on the updated noise vector to provide the second plurality of perturbed training samples, the at least one processor is programmed or configured to: Each of the plurality of training samples is perturbed based on the second updated noise vector to provide the second plurality of perturbed training samples.
5. The system of claim 1, wherein the trained machine learning model is a first trained machine learning model, and wherein the at least one processor is further programmed or configured to: A second machine learning model is trained using the expert product POE procedure based on the first trained machine learning model.
6. The system of claim 5, wherein when the second machine learning model is trained using the POE program, the at least one processor is further programmed or configured to: Based on the training dataset, the plurality of training samples generate nonnormalized outputs from the first trained machine learning model; The second machine learning model generates a nonnormalized output based on the plurality of training samples from the training dataset; The unnormalized output from the first trained machine learning model and the unnormalized output from the second machine learning model are combined to provide a combined unnormalized output; as well as The model weights of the second machine learning model are updated based on the non-normalized output of the combination to provide a second trained machine learning model.
7. The system of claim 6, wherein, When the at least one processor generates the non-normalized output from the first trained machine learning model based on the plurality of training samples of the training dataset, the at least one processor is programmed or configured to: The output of the first trained machine learning model is generated using the first logits function based on the plurality of training samples in the training dataset. Wherein, when the non-normalized output is generated from the second machine learning model based on the plurality of training samples of the training dataset, the at least one processor is programmed or configured to: The output of the second machine learning model is generated using the second logits function based on the plurality of training samples in the training dataset. Wherein, when the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model are combined to provide the combined non-normalized output, the at least one processor is programmed or configured to: The output of the first trained machine learning model using the first logits function on the plurality of training samples based on the training dataset and the output of the second machine learning model using the second logits function on the plurality of training samples based on the training dataset are combined to provide a combined output; and Wherein, when the model weights of the second machine learning model are updated based on the non-normalized output of the combination to provide the second trained machine learning model, the at least one processor is further programmed or configured to: The model weights of the second machine learning model are updated based on the combined output to provide the second trained machine learning model.
8. A computer-implemented method for reducing dataset bias in natural language reasoning tasks using non-adversarial training, the method comprising: A non-adversarial training procedure is executed by at least one processor to train a machine learning model to provide a trained machine learning model, wherein executing the non-adversarial training procedure includes: Receive a training dataset comprising multiple training samples, each of which includes transaction data associated with electronic payment transactions; Noise vectors are generated for the plurality of training samples based on a first uniform distribution; Each of the plurality of training samples is perturbed based on the noise vector to provide a plurality of perturbed training samples; Obtain the gradient between the first output of the machine learning model generated from each of the plurality of training samples and the second output of the machine learning model generated from each of the plurality of perturbed training samples; An updated noise vector is generated based on the gradient; Based on the updated noise vector, each of the plurality of training samples is perturbed to provide a second plurality of perturbed training samples; and The model weights of the machine learning model are updated based on the second plurality of perturbed training samples to provide the trained machine learning model.
9. The computer-implemented method of claim 8, wherein generating the noise vector for the plurality of training samples comprises: The noise vector is initialized using a uniform distribution, wherein initializing the noise vector includes: Multiply the first uniform distribution by a predefined radius to provide a second uniform distribution; and Divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
10. The computer-implemented method of claim 8, wherein generating the updated noise vector comprises: Multiply the gradient by the step size.
11. The computer-implemented method of claim 8, further comprising: The value of the updated noise vector is limited based on a predefined radius to provide a second updated noise vector; The perturbation of each of the plurality of training samples based on the updated noise vector to provide the second plurality of perturbated training samples includes: Each of the plurality of training samples is perturbed based on the second updated noise vector to provide the second plurality of perturbed training samples.
12. The computer-implemented method of claim 8, wherein the trained machine learning model is a first trained machine learning model, and wherein the method further comprises: A second machine learning model is trained using the expert product POE procedure based on the first trained machine learning model.
13. The computer-implemented method of claim 12, wherein training the second machine learning model using the POE program comprises: Based on the training dataset, the plurality of training samples generate nonnormalized outputs from the first trained machine learning model; The second machine learning model generates a nonnormalized output based on the plurality of training samples from the training dataset; The unnormalized output from the first trained machine learning model and the unnormalized output from the second machine learning model are combined to provide a combined unnormalized output; as well as The model weights of the second machine learning model are updated based on the non-normalized output of the combination to provide a second trained machine learning model.
14. The computer-implemented method of claim 13, wherein generating the non-normalized output from the first trained machine learning model based on the plurality of training samples of the training dataset comprises: The output of the first trained machine learning model is generated using the first logits function based on the plurality of training samples in the training dataset. The generation of the nonnormalized output from the second machine learning model based on the plurality of training samples in the training dataset includes: The output of the second machine learning model is generated using the second logits function based on the plurality of training samples in the training dataset. The combination of the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model to provide the combined non-normalized output includes: The output of the first trained machine learning model using the first logits function on the plurality of training samples based on the training dataset and the output of the second machine learning model using the second logits function on the plurality of training samples based on the training dataset are combined to provide a combined output; and The process of updating the model weights of the second machine learning model based on the non-normalized output of the combination to provide the second trained machine learning model includes: The model weights of the second machine learning model are updated based on the combined output to provide the second trained machine learning model.
15. A computer program product for reducing dataset bias in natural language reasoning tasks using non-adversarial training, the computer program product comprising at least one non-transitory computer-readable medium, the at least one non-transitory computer-readable medium comprising one or more instructions, the one or more instructions causing the at least one processor, when executed by at least one processor, to: A non-adversarial training procedure is performed to train a machine learning model to provide a trained machine learning model, wherein, When the non-adversarial training program is executed, the one or more instructions cause the at least one processor to: Receive a training dataset comprising multiple training samples, each of which includes transaction data associated with electronic payment transactions; Noise vectors are generated for the plurality of training samples based on a first uniform distribution; Each of the plurality of training samples is perturbed based on the noise vector to provide a plurality of perturbed training samples; Obtain the gradient between the first output of the machine learning model generated from each of the plurality of training samples and the second output of the machine learning model generated from each of the plurality of perturbed training samples; An updated noise vector is generated based on the gradient; Based on the updated noise vector, each of the plurality of training samples is perturbed to provide a second plurality of perturbed training samples; as well as The model weights of the machine learning model are updated based on the second plurality of perturbed training samples to provide the trained machine learning model.
16. The computer program product of claim 15, wherein, When generating the noise vector for the plurality of training samples, the one or more instructions cause the at least one processor to: The noise vector is initialized using a uniform distribution, wherein, when the noise vector is initialized using the uniform distribution, the one or more instructions cause the at least one processor to: Multiply the first uniform distribution by a predefined radius to provide a second uniform distribution; and Divide the second uniform distribution by the square root of the input embedding size of the machine learning model to provide an initial value for the noise vector.
17. The computer program product of claim 15, wherein, When generating the updated noise vector, the one or more instructions cause the at least one processor to: Multiply the gradient by the step size.
18. The computer program product of claim 15, wherein the one or more instructions further cause the at least one processor to: The updated noise vector is constrained based on a predefined radius to provide a second updated noise vector; and Wherein, when each of the plurality of training samples is perturbed based on the updated noise vector to provide the second plurality of perturbed training samples, the one or more instructions cause the at least one processor to: Each of the plurality of training samples is perturbed based on the second updated noise vector to provide the second plurality of perturbed training samples.
19. The computer program product of claim 15, wherein the trained machine learning model is a first trained machine learning model, and wherein the one or more instructions cause the at least one processor to: The second machine learning model is trained based on the first trained machine learning model using the expert product POE procedure. in, When the second machine learning model is trained using the POE program, the one or more instructions cause the at least one processor to: Based on the training dataset, the plurality of training samples generate nonnormalized outputs from the first trained machine learning model; The second machine learning model generates a nonnormalized output based on the plurality of training samples from the training dataset; The unnormalized output from the first trained machine learning model and the unnormalized output from the second machine learning model are combined to provide a combined unnormalized output; as well as The model weights of the second machine learning model are updated based on the non-normalized output of the combination to provide a second trained machine learning model.
20. The computer program product of claim 19, wherein, When the plurality of training samples based on the training dataset generate the non-normalized output from the first trained machine learning model, the one or more instructions cause the at least one processor to: The output of the first trained machine learning model is generated using the first logits function based on the plurality of training samples in the training dataset. Wherein, when the non-normalized output is generated from the second machine learning model based on the plurality of training samples of the training dataset, the one or more instructions cause the at least one instruction to: The output of the second machine learning model is generated using the second logits function based on the plurality of training samples in the training dataset. Wherein, when the non-normalized output from the first trained machine learning model and the non-normalized output from the second machine learning model are combined to provide the combined non-normalized output, the one or more instructions cause the at least one processor to: The output of the first trained machine learning model using the first logits function on the plurality of training samples based on the training dataset and the output of the second machine learning model using the second logits function on the plurality of training samples based on the training dataset are combined to provide a combined output; and Wherein, when the model weights of the second machine learning model are updated based on the non-normalized output of the combination to provide the second trained machine learning model, the one or more instructions cause the at least one processor to: The model weights of the second machine learning model are updated based on the combined output to provide the second trained machine learning model.
Citation Information
Patent Citations
Universal adversarial disturbance construction method and system for voice voiceprint recognition based on meta-learning
CN114023312A
Method and system for learning joint potential adversarial training
CN114332551A